欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

彻底玩转主板之了解寄存器

程序员文章站 2022-06-18 22:51:20
彻底玩转主板之了解寄存器当一个主板芯片被设计出来以后,工程师们就会不断的开发新的主板驱动,不断的挖掘主板芯片的潜在的性能。那么工程师们调节的是哪里呢?同样的主板芯片,一些主板厂商的独门绝技中,往... 09-04-21...
当一个主板芯片被设计出来以后,工程师们就会不断的开发新的主板驱动,不断的挖掘主板芯片的潜在的性能。那么工程师们调节的是哪里呢?同样的主板芯片,一些主板厂商的独门绝技中,往往有惊人的调节功能,比如降温,打开pat等,这些其实都是主板芯片本来就支持的。那么这些主板厂商是如何打开这些隐蔽的功能的呢?这就是寄存器的调节。在玩转主板的一系列文章里,我们将一步一步,让大家从了解寄存器,到使用工具调节寄存器,再到编写寄存器调节插件,完成从一个diy到高手的跨越。
  本文将从寄存器的概念说起,让大家了解寄存器。
  所谓寄存器(register),就是一种时序逻辑电路,用来暂时存放参与运算的数据和运算结果。这种时序逻辑电路只包含存储电路,由锁存器或触发器构成,一个触发器能存储1位二进制数,由n个锁存器或触发器可以构成n位寄存器。通过修改寄存器(register)的偏移量(offset),我们便可以对整个系统进行优化。从底层对硬件进行修改,可以打开芯片本身却被屏蔽的功能单元,使pc系统获得更高的性能。
  传统主板的南北桥架构和北桥寄存器。
彻底玩转主板之了解寄存器
 传统意义上的南、北桥是以前制程的相对落后的产物。如果两桥合在一起,面积太大。这样,封装难度大,良品率也无法保证。于是北桥芯片负责cpu、内存总线、agp总线和pci总线,南桥则负责ide、usb甚至集成sata、ide raid控制等外围功能。
  如下图,南、北桥架构一个简单模型
彻底玩转主板之了解寄存器
 目前,南、北桥之间采用的pci总线,越来越成为系统数据交换的瓶颈。为了pci总线的数据延迟,很多厂商采用了新的思路,开发出了新的高速连接方式。如amd芯片组的hypertransport芯片连接技术,via芯片组的v-link芯片连接技术,sis芯片组使用的mutiol芯片连接技术等。
 pci express采用的点对点的串行连接(serial interface)技术,支持每个设备的独享带宽。pci express串行连接内嵌时钟技术(8b/10b模式),时钟信号被直接植入数据流中,而不是作为独立信号存在。一个pci express连接包含多个管线,每一个管线包含基本连接的两组差分驱动电缆(发送与接收),并且每条管线相互独立。pci express的出现,在很大程度了缓解了带宽不足的压力。
  从以上可以看出,厂商的在南、北桥上为解决数据延迟提高带宽所做的努力。但这并没有涉及到南北桥架构的改变。如果单纯的做为一个模型,从理想的状态考虑,所有芯片完全整合多一个芯片内部,这样数据延迟是最小的。当然这是不可能实现的。正是基于这个思路。一些厂商对传统意义上的南、北桥的功能模块做了重新的分配。
  intel针对代号为potomac的xeon mp处理器的芯片组twin castle,是intel第一次采用内存桥与北桥芯片分离的核心逻辑部件结构。twin castel包括3种芯片:tnb(north bridge , psb controller,),xnb(memory bridge , connects tnb to memory channels)和ich5(i/o controller)。在内存连接上,采用了fb-dimm(fully buffered,全缓冲)技术,将内存通道做为一个串行接口,用一个存储缓冲器来代替dimm寄存器。可以增加服务器系统可用内存通道,并兼容ddr-ii。
  这种内存控制器与北桥分离的设计,是一种灵活的有弹性的设计方案,可以很轻松的支持新规格的内存,而不必从新设计北桥芯片。同时减小了北桥的集成度。
  intel的做法是基于灵活性来考虑的,虽然在降低南北桥的延迟方面没有直接的优势。但是可以通过搭配不同的xnb芯片来灵活的采用最新工艺的内存芯片,这样通过提高带宽进而降低了系统的延迟。
  与之思路截然相反,amd的hammer处理器的athlon64/ athlonfx处理器则直接将内存控制器(memory controller)、传统北桥总线接口直接集成到cpu内部。而传统北桥的agp控制器、与南桥进行连接的接口界面则整合到新的北桥中。新的北桥通过hypertransport总线(最大位宽16bit,最大运行频率800mhz,双向传输,峰值带宽6.4gb/s)与cpu连接。
彻底玩转主板之了解寄存器
 目前athlon64最高整合了单通道ddr400控制器,64/128位宽。athlonfx则支持双通道registered ddr400内存。在2004年底,amd将在opteron甚至在athlon64系列中整合ddr ii内存控制器。
  这样的设计思路,大大降低了cpu访问内存的延迟,消除了传统北桥对内存支持的限制,同时cpu和内存之间不用经过处理器总线进行数据传输,这样hypertransport总线可以有更多带宽提供给新的北桥。
  cpu内部集成了内存控制器,不可避免的就失去了,cpu与内存搭配的灵活性。传统意义上,只要更改北桥芯片就可以了,cpu不必做更大的改动。但是对于k8来说,在cpu内部做改动比起长期以来以来与其他的厂商在北桥做修改更方便的多。
  如下图。k8与内存控制器部分。
  彻底玩转主板之了解寄存器
 memory controller(mct)就是内存控制器。作为hammer处理器核心和dram controller(dct)联系的桥梁。dct决定所用内存的种类。通过改进dtc电路设计就可以提供对新的内存模组的支持。如此一来,只要更换新的cpu就可以了支持新的内存模块,同时简化的北桥设计方案降低了主板厂商的开发难度,让南北桥实现整合成为可能。事实上,sis在设计支持k7的sis730芯片时,就将南桥和北桥整合到了一起,之间采用了multi-threaded i/o link技术,带宽1.2gb/s。nvidia的nforce3 pro 150,同样采用了一体化设计,支持athlon 64 fx/opteron。这样可以加快芯片组的开发进度,同时也降低了成本。
  从上面我们对于南、北桥的架构和发展趋势作的介绍中可以看出来,无论是传统的南北桥架构,还是未来的新的南北桥设计方案。北桥芯片都起着绝对的控制作用。掌握了北桥芯片,被掌握了系统的控制权。那么北桥是如何控制的呢?答案就是北桥寄存器!
  北桥寄存器是北桥中的存储单元,是一些基于ram的控制寄存器,在系统启动时,由bios来进行设置。我们在bios中进行设置的更改,一般都能体现到北桥(即host bridge)的寄存器数值的变化。基于这样的思路,我们可以直接修改寄存器的设置,来打开bios中由于某种原因屏蔽的功能,进而达到优化我们系统的目的。