|

很多人一定从386时代就知道了字长是衡量处理器性能的重要指标,(那时我们可以称作8088是准16位处理器,是因为8088内部数据总线都是16位,外部数据总线是8位.),而80386处理器则是80X86系列中的第一种32位微处理器,那时很多的人都是从这款处理器开始接触PC的.,这两款处理器之间的性能差距我想是每一个了解PC的人都有目共睹的。
虽然通过提高处理位数可以显著的提升性能,但是更长的字长意为着能够处理相应长度位数的寄存器和能够处理相应位数的内部总线,(包括数据总线,控制总线和地址总线,)仅仅就是早期的8088处理器,所要涉及到的改动也是非常巨大的,而通过提高运行频率,增加新的指令集和寄存器在当时是明显是比较明智的一个做法,因为这样既可以减少处理器的开发周期(从1971年的第一块处理器开始,发展到后来的32位处理器,花费了10年的时间)也可以降低成本,让大众更容易接受。
但是时间的车轮一刻也不会停歇,当年的32位处理器的架构最终还是成为了影响处理器性能提升的瓶颈,很多公司都看到了64位处理器的美丽前程,这其中当然包括处理器制造界的两大巨头,INTEL和AMD.如果用下面这幅图来说明这两个公司对于64位处理器和用户之间的关系则是最恰当不过的了,以前的32位处理器时代,就是我们现在正在使用的这个PC的平台,而河对岸则是将来肯定要过去的64位处理器的世界,当我们今天这个32位的处理器的世界资源已经被开发到极限以后,INTEL和AMD就会带领我们过到那个64位的平台中去,但是具体过去的方法确不一样,从目前两个公司发布的情况来看,INTEL做出了斩断慧根,抛弃已往一切情缘的做法,也就是你PC中的硬件和软件将都不能转移到新的架构中使用,而AMD则采用了较为柔和升级方式,也就是在64位处理器可以兼容就有的32位的模式.俗话说有利必有弊.INTEL虽然抛弃了一切,但是理论上来讲这样做可以为新的架构提供更有利的发展,而AMD就要顾及两方面的兼容性,在新处理器的性能上是否会受到束缚就很难说了。
根据我们从AMD公司得到的最新的资料来看,AMD在Hammer处理器中加入了两个非常大胆的技术革新.
通过下面这幅图我们可以非常清楚地看到,AMD的Hammer架构中继承了DDR内存控制器和Hyper Transport两个模块单元.
我们首先来看CPU内部集成DDR内存控制器的意义和弊端在什么地方.
在整个的PC架构中,我们可以看到目前系统性能的瓶颈目前集中在了CPU与内存之间交换信息的数据总线上,虽然内存可以马不停蹄的升级,提高频率.(恰恰从这一点上我们看到了更换性能更好的内存上可以得到更大的系统性能的提升)内存和CPU之间交换数据用的通道的限制是十分致命的,也是真正制约系统进一步提高性能的元凶,目前最高规格的DDR
333内存所提供的带宽可以这样算每个模块带宽为64bit(8字节)乘以内存模块的速率(以MHz计):(8字节)×(333MHz)=
2,667MB每秒也就是相当于2.7GB/S。但是266MHZ频率下的EV6前端总线仅可以提供的2.1GB/S的带宽,这样CPU和北桥芯片之间的266MHZ频率下的EV6总线就成为了DDR333内存和CPU传输数据的瓶颈,出现了CPU和北桥芯片的频率带宽落后于内存的局面,除非提高系统的前端总线的频率(也意味着提高CPU的外频)否则就会造成内存带宽浪费.
虽然AMD暂时还没有推出正式执持166x2=333MHZ外频的处理器,但是我们看到了VIA
的KT333芯片组已经出现了正式支持333MHZ前端总线的芯片组,加上已经上市有一段时间的DDR 333内存,相信AMD不久就会推出正式支持333MHZ前端总线的Athlon
xp处理器,摆脱目前的尴尬局面(有消息说: AMD有可能于今年第三季度会正式启用166MHz 外频(333MHz前端总线)。而在此之前Thoroughbred核心AthlonXP的最高型号会到2500+。)
进一步而言就算是我们升级到了333MHZ的EV6总线,也不能彻底的解决这个彼此互相拖累得问题,我们会陷入主板和CPU彼此迁就而频繁升级的陷阱中去.而劳民伤财的频繁的升级也是我们所不愿看到的.而且既然问题出现了,那么最好可以从根部解决,解决的办法就是动一次大的手术,既然要改来改去的彼此适应对方,不如索性将内存控制器将北桥中解放出来,直接和处理器进行交流,这样既可以提高处理器和内存之间的带宽,又可以享用独立的数据总线.Hammer处理器的好处就在于可以通过处理器内部预先集成高规格的内存控制器的方式来得道使用更高规格内存的便利.
说道独立式的数据通道,我们不得不说现在的共享式总线的弊端.本身北桥和CPU之间的带宽就捉襟见肘,在加上北桥芯片和CPU交换数据的总线又是和AGP总线,南桥芯片传送给CPU的数据使用的共用的共享性质的总线,当系统满负荷运转的时候,北桥芯片和CPU之间的数据带宽就成为了非常重要的瓶颈,一些数据和设备就不能避免出现等待和延迟的现象,拖累整个系统,虽然这个问题比较棘手,但是其实解决的办法很简单既然我们可以将显卡从南桥芯片掌管的PCI总线直接移植给北桥照管,那么为什么不能将现在的内存控制器直接交给CPU照管呢?何况目前CPU和内存之间的带宽直接影响到系统的整体性能.
综上所述,这次Hammer处理器将内存控制器集成到处理器内部的最大优势有两点,第一:可以得到独立的CPU-内存的数据总线,第二:减少因北桥芯片造成的CPU和内存之间的瓶颈的可能.
从我个人的角度而言,我认为这项技术如果应用在多处理器上的服务器上则明显会更加具有优势,因为每个CPU都带有自己的内存控制器,则相当于并行方式处理数据,不再共用北桥芯片的内存控制器,如果从理论上而言则会成倍地提高处理能力.但是处理器之间的配合难度恐怕也会有所增加.
我们首先可以肯定AMD这样大胆而也是非常富有实用意义的设计思路,但是这样做并不是代表这项技术就完全没有副作用,我们首先看一下,这次AMD在Hammer处理器中集成的是DDR
内存控制器,从目前的情况来看DDR内存储器的的确确是有最大发展前途的内存,但是如果内存的规格发生变化(变化已经超出了CPU集成的内存控制器可以接受的变化范围,),
那么我们还是无法避免更换CPU的局面,但是有一点可以值得欣慰的是,至少这比更换主板方便多了.
(DDR
SDRAM(Dual
Date Rate SDRSM),其特点就是在时钟触发沿的上、下沿都能进行数据传输(SDRAM仅能在上升沿传输数据),所以能将内存的传输速率提高一倍,工作频率为133MHz的时候,内存带宽可达到2.1GB(也就是常说的PC2100)。在生产成本方面,以前用于生产SDRAM的生产线只要稍微经过改造即可用于生产DDR SDRAM,在制造技术和原料消耗方面基本相同(仅仅多了两道工序而已)。DDR与普通SDRAM的另一个比较明显的不同点在于电压,普通SDRAM的额定电压为3.3V,而DDR则为2.5V,更低的电压意味着更低的功耗和更小的发热量,符合越来越注重“绿色、环保‘的时代潮流)
第二点,如果将内存控制器集成到处理器里面,那么比如我们的DMA设备将会通过CPU和内存交换数据,不过在这一点上AMD可以承诺,DMA设备依然有自己的独立交换方式可以不通过CPU进行也不会增加CPU的占有率.
第三点,目前处理器的发热量和风扇的结构已经让很多人感到恐慌和不安了,那么集成了内存控制器的处理器的发热量和面积和成本是否可以给我们一个满意的答案呢?我想这些问题只有等到Hammer处理器真正出现在我们面前的时候才可以知道了.
Hyper Transport潜力可以达到12.8GB/S的高速总线
在Hammer的体系结构中,我们看到了名称为Hyper
Transport的新型高速总线,那么什么Hyper Transport呢?它到底可以给我们带来什么呢?
就象当年PCI总线最终淘汰ISA总线一样,目前带宽只有133MB/S带宽的PCI总线早晚会被淘汰,问题是由谁来接替它的位置,从目前的情况来看,从PCI总线上升级为PCI
2.2规范(133MHZ,1.1GB/S带宽)的意义不大,因为你必须升级PCI设备才能够达到理想的效果而目前的大部分PCI设备(比如声卡等)又没有对带宽过份的要求,而IDE设备受限制的又是其自身的内部带宽,短期内想要提高是不太可能的.而且现在我们需要的不光是一个PCI总线的带宽的提升而是真正制约系统的(PCI设备共享资源冲突也是一个需要被解决的问题,还有只能支持有限数量的设备和无法连接外部设备等限制),南北桥芯片和CPU到北桥芯片之间的总线带宽的提升,我们目前所说的千兆到桌面的千兆网就面临着受南北桥之间的数据总线带宽过小而受到限制和被扼制的命运.归根到底我们是需要一种系统内总线的全面升级,于是INTEL和AMD等技术前沿厂商分别提出了各自倡导的新一代总线规范.
INTEL的3GIO总线技术
在3GIO技术中,保持对PCI总线的全面兼容是一大特色,
目前的PCI
2.2设备可以在3GIO提供的低带宽模式下运行,不会出现类似PCI插卡无法在ISA或者VLB插槽上使用的问题..在升级硬件系统的时候,如何降低我们损失一直是我们非常着急要解决的问题.对于这一点Intel也表示,3GIO并非要取代PCI,而是对其进行完善和优化。3GIO是面向多平台的,可以支持多个市场领域和新兴应用。比如面向台式机、移动设备、服务器、通信平台、工作站和嵌入式设备的统一的I/O架构。
AMD的Hyper Transport
Hyper Transport是一种可支持集成电路进行高速、高性能点对点通讯的全新网络联接技术。可用于电脑芯片、网络及通信器件,从理论上来讲可以比目前的连接技术快24倍的速度左右。
Hyper Transport技术可支持6.4Gbps的带宽并且具有菊花链(daisy-chainable)连接的特性,可将多个Hyper
Transport输入/输出桥接芯片连接至一条通道。Hyper
Transport可支持每通道高达32颗芯片,并可因应不同的总线带宽及速度而搭配不同器件。
Hyper Transport在数据传输率上达到了惊人的12.8GB/s,这个数值比3GIO技术的最初理论传输率高出了很多(3GIO早期产品的带宽设计为2.5GB/s,远景规划为10GB/s)。
总线形式,
目前PC内部的总线形式无非是共享式和独立式两种 ,共享式总线的弊端和独立式总线的优势非常的明显,在新一代的总线架构中,intel和AMD都使用了点对点式的总线结构,但是Hyper Transport是在同一个并行总线中模拟出两个独立数据链进行数据传输,而3GIO则是实现真实存在的串行独立数据链实现数据的传输.对于实际的效果而言因为我们并没有拿到实际的测试样品所以暂时不能定论.
在外接模式上3GIO可以实现PC与外设直接连接,这样就可以避免了USB或者IEEE1394的数据传输率不够的问题.
按照目前的发展方向,我们最不愿意看到这两个公司分别使用各自的总线技术,这将对我们使用者带来不必要的麻烦,不过好在前一段时期有国外的媒体报道,两家公司正在为总线的兼容性问题展开交流,希望可以就某些问题达成共识.
除了Hyper Transport和3GIO外还有VIA的V-Link,SiS的MuTIOL技术Motorola提出的Rapid技术,前两者没有做出更大的改变,而后者主要面向网络和通信,及有可能出现在PC内部中的就可能是3GIO或者Hyper Transport总线了.
在芯片组方面,AMD为Hammer开发了8151和8131两套芯片组,通过上面的图片我们也很容易看到其中的区别.在面对市场的问题上AMD承诺Hammer会有不同版本的产品以面对不同的市场.此外在兼容性的问题上,Hammer也得到大部分软硬件厂商的支持,相信这款处理器过不了多久就会出现在我们的面前.
在这篇文章将要结束时候,我们看到了一家捷克硬件网站最近替一些即将面世或已经面世的CPU进行了一番性能评估,结果AMD的Hammer处理器可以说是以大比分的优势抛离了所有的竞争对手。
回忆篇:
IA64 VS X86-64
INTEL 的IA-64是一个全新处理架构,由于抛弃了为了兼容原来的32位,16位程序的一部分硬件机构,所以在发热量和执行速度方面都会有很大的进步,但是INTEL放弃原来的用户和市场是要冒很大的风险,他自己也意识到了这一点,于是采用了软件模拟的方式使原来的软件可以继续运行,但是效率会大打折扣。

IA64采用了EPIC(清晰并行指令)设计,每个指令周期可执行20条指令,大概是RISC(精简指令结构)指令集的4倍,是CISC(复杂指令结构)指令集的5倍。下图是EPIC的硬件微型体系结构图

EPIC 和CISC
,RISC,VLIW架构的关系

实际上IA64和X86-64都属于VLIW架构,VLIW的架构简单,他将超标量芯片的协调并行工作所必需的一部分控制电路交由编译器处理从而简化了CPU的结构。
由于ITANIUM是纯64位的处理器,为了兼容32位的程序,INTEL不得不在其中嵌入了一个32位的处理模块,下图是ITANIUM为了兼容IA-32而设计的嵌入式模块结构。
AMD公司则选用了更有利于升级者和老计算机用户的一套方案,也就是仍然保留兼容原来的32位和16位程序的硬件结构,在此基础之上再加入一套处理64位程序的硬件结构,这就是AMD推崇的X86-64架构。
接下来,我们来看一下AMD公司的相应处理方案
X86-64架构。
X86-64也属于VILW架构,但是他本身并不是一个全新的处理器结构,他实际上是现在32位处理器的扩展,采用这种结构的好处是可以完全兼容原来的软件程序,对使用者来说升级到这种架构不会造成太大的损失。下图是AMD
的X86-64和RISC 指令集的关系。

amd 的X86-64架构加入了两个特色功能用以来实现其64位扩展的目的。
1 长模式
LONG MODE
长模式由两个基本的模式组成,64位模式和兼容模式。兼容模式支持64位操作系统下的32位和16位的应用程序,除了长模式之外,该体系还提供了一个纯X86原始模式,此种模式不但支持16位和32位的应用程序还而且还支持16位和32位的操作系统。
64位模式支持如下新特性:
64位实地址模式,
利用(REX)前缀来实现寄存器的扩展,其中包括:
添加8个GPRS(通用寄存器)
(从R8到R15)
扩展GPRS(通用寄存器)到64位
添加8个128位数据流单指令多数据扩展(Streaming SIMD
Extension, SSE) 寄存
器 (XMM8到XMM15)
64位指令指针(RIP)
新的RIP相对数据寻址模式
具有单代码、数据及堆栈空间的平面地址空间
,缺省的地址宽度是64位,缺省的操作数的宽度是32位。可通过前缀对每个指令逐一改动。新的REX前缀规定了 64位的操作数大小以及新的寄存器。操作系统会按照个别代码区段启动这个模式。
寄存器的扩展
新的寄存器扩展是通过新的REX前缀来添加8个64位通用寄存器(R8-R15),8个128位的多指令多数据流扩展(SSE)寄存器(XMM8-XMM15),并且将所有的通用寄存器都扩展为64位,新的REX前缀也提供了一个增强通用寄存器对字节操作的能力,可以使程序编译器对BYTE(字节寄存器),WORD(字寄存器),DWORD(双字寄存器),QWORD(四字寄存器)进行更合理的分配。

如图:AX寄存器,AL是低八位,AH是高八位。
EAX扩展到32位。
RAX扩展到64位。
指令指针寄存器也被扩展为64位:

由于64位模式支持一个64位的实地址空间,它需要一个64位的操作数系统和工具链,一个新的指令代码和前缀字节能被重新定义为允许的寄存器扩展和64位寻址。
兼容模式:
兼容模式允许系统与现有的16位和32位的应用程序兼容,在64位操作系统下的长模式中这些应用程序可直接编译。在兼容模式下,应用程序对虚拟地址空间的首4GB进行操作。标准的
x86指令对寄存器的操作也要限制于16位和32 位的地址宽度及操作数长度。
和64位模式的情况一样,兼容模式是操作系统为适应个别代码区段的需要而建立起来的。
但与 64位模式不同的是
兼容模式采用的是16位或 32位的保护模式。从应用程序的角度来看,兼容模式沿用了旧的
x86 保护模式。从操作系统的角度来看,内存寻址、中断和逆项操作、以及系统数据结构均采用
了64位的长模式。
3.传统模式LEGACY
MODE:
当
LMA=0的时候,处理器便会采用传统模式进行操作,无法执行
64位功能,只能作为一个标准的
x86 处理器。传统模式可与
x86 架构现有的 32位结构完全兼容,其中包括可支持最新技术像存储器分段、以及32位通用寄存器和指令指针寄存器分段等。综上所述,AMD Hammer处理器将给我们带来一种全新的理念,究竟实际表现如何,等正式产品出来后再拭目以待吧!
【作者:小熊在线—SKY 北京】 版权作品
未经许可 请勿转载
|