AMD64 ISA(x86-64)的基本架构原理
在了解这个架构之前,弄清楚一个问题是十分重要的——为什么需要64位处理器?需要64位处理器的原因十分简单,当今软件的迅速发展对硬件资源提出了很高的要求,高性能的处理器和大容量的物理(虚拟)内存寻址空间成为必须。4GB内存在今天已不是什么天文数字。而32位处理器最多仅能支持32位寻址,所以目前的32位x86架构系统的内存容量被限制在4GB,而32-bit操作系统一般只能管理2GB左右的内存,这也意味着应用程序所能使用的最大内存数量其实并不如人们想象的那样充裕。尽管Xeon可以模拟36位寻址,最大内存容量可以达到64GB,但另一方面也会导致性能的下降。考虑到种种制约,人们开始考虑发展64位处理器。
AMD64 ISA是AMD专门为AMD64平台开发的64位架构。与目前Itanium使用的64位IA64架构不同,AMD64 ISA是基于目前的x86-32架构的。这就意味着AMD64处理器可以畅通无阻地运行目前的32位应用程序,而且不需要像Itanium那样进行模拟转换,AMD64处理器可以实现全速运行,因此我们使用AMD64处理器的时候时也不需要等待软件厂商为新平台开发专用软件。Hammer在继承了K7系列的优点的同时灌注众多先进技术。
为了实现64位运算,Hammer处理器在寄存器阵列中新增了寄存器,以实现对现有架构的扩展。
从图中可以看到,使用64位架构后,新增了R8-R15 8个通用寄存器,原有的SSE单元也新增了8个寄存器使其能够支持SSE2。
18年前,i386开启了32位时代,当时CPU的寄存器从i286的16位AX寄存器扩展为32位的EAX寄存器。而现在要进入64位时代,EAX寄存器又需要扩充32位而成为RAX寄存器。从结构上看,Hammer对32位程序的兼容程度是不需要怀疑的,尽管运行32位程序时并不是满负荷运行。
为了能够同时支持32位及64位程序,x86-64架构允许处理器有两种工作模式:包括两种子模式(64位模式和兼容模式)的“长模式”和传统模式。
工作模式 |
操作系统 |
是否需要再编译 |
默认 |
地址长度 |
操作数位数 |
附加寄存器 |
通用寄存器位数 |
长模式 |
64位模式 |
64bit |
需要 |
64 |
32 |
需要 |
64 |
兼容模式 |
不需要 |
64 |
不需要 |
32 |
传统模式 |
32bit 或 64bit |
不需要 |
32 |
32 |
不需要 |
32 |
16 |
16 |
工作模式操作系统是否需要再编译默认地址长度操作数位数附加寄存器通用寄存器位数长模式64位模式64bit需要64 32需要64 兼容模式不需要64不需要32 传统模式32bit或64bit不需要32 32不需要32 16 16
64位模式支持以下功能:64位虚拟地址通用寄存器扩展到64位(包括旧有的“EAX”,“EBX”等)新增8个64位通用寄存器64位程序指针新的程序指针实现相对寻址单一的指令,数据和堆栈空间组成连续的地址空间兼容模式提供了64位操作系统对现有的16位和32位应用程序的支持。该模式有其独立的代码处理方式,称为保护模式。在这种模式下,应用程序会将处理器当作标准的x86处理器;但操作系统则会对这种机制进行地址变换,将中断、异常及系统数据结构当作64位长模式来处理。除了长模式之外,x86-64支持传统模式以兼容16位和32位操作系统。在这种模式下,Hammer就是一个标准的32位x86处理器,使用32位的内存段,32位的通用寄存器和程序指针。这种模式并不牵涉任何64位架构模式,所以保证它有绝对的兼容性。
从上面可以看到,Hammer可以完全支持64位长模式的操作系统。目前微软的WindowsXP Professional,Windows2003 Server以及Windows Media Center都为AMD64提供了64bit版本,主流桌面平台和工作站平台的操作系统应该不存在什么问题了;而高端服务器方面SuSE Linux会是一个不错的选择。因此我们不必再担心AMD64处理器的操作系统支持问题,反倒是64位应用软件目前还比较贫乏,但相信不少软件商都愿意往64位平台靠拢。
全新构思:CPU内整合内存控制器
AMD64处理器技术上最大的变革在于CPU核心整合内存控制器。Transmeta的Crusoe处理器就是采用这种架构,而AMD则打算进一步扩展这一架构。CPU内建内存控制器的主要优点在于内存控制器可以以CPU频率运行,比起传统上位于北桥的内存控制器有更小的延时;而且CPU的频率越高,延时就越小。
这样做的另一个好处就是AMD不再需要依赖主板厂商的内存控制器。由于主板内存控制器性能不佳而导致内存性能低下并不是什么新鲜的事情,这样做不但AMD64处理器的性能更有保障,而且主板厂商也可以避免出现内存兼容性的问题。由于内存和CPU之间的数据传输再不需要经过CPU总线,所以可以避免瓶颈的出现。
要了解AMD64处理器内存控制器的工作原理,请看下图:
图中可以看到,处理器内封装了内存控制器(MCT)和DRAM控制器(DCT)。MCT是处理器核心和DCT之间的连接界面,它不因为外部内存的类型而改变。相反DCT则是专门针对DRAM的内存连接界面,系统使用不同类型的内存可以通过改变这一部分来实现支持。由于这一部分只是整个处理当中很小的一部分,所以要作出修改以支持不断发展的内存标准并不需要花费太大的力气。
AMD64处理器整合的内存控制器提供了64位和128位界面,目前整合的DCT支持PC1600/2100/2700/3200的DDR内存标准,也就说可以支持单通道和双通道的DDR内存。另外鉴于AMD64处理器要主攻服务器市场,所以支持ECC内存也是顺理成章的事。
在目前已推出的AMD64处理器当中,Opteron和Athlon64 FX-51都整合了双通道DDR内存控制器,内存峰值带宽可达6.4GB/s,而Athlon64则只支持单通道DDR内存,配搭PC3200时内存带宽为3.2GB/s。AMD声称其内存控制器可以支持未来的内存标准,所以随后DDRII或其他内存标准推出以后,相信AMD会作出相应的修改。
Hammer整合了内存控制器之后,主板厂商很有可能会推出单一芯片的芯片组。因为传统意义上的北桥在省缺了内存控制器之后就只剩下了AGP控制器,而这一部分又很容易整合到南桥芯片中。nForce3 Pro150便是这样一款单一芯片的芯片组。Hammer整合内存控制器的设计简化了主板的设计,也降低主板成本,更有利于配套主板的普及和市场推广。
扫除瓶颈:HyperTransport超级总线
HyperTransport是AMD公司最新开发的一种新型、高速、高性能的为主板上的集成电路互联而设计的端到端总线技术,该技术设计的目的是解决32位和64位处理器系统中的输入输出瓶颈问题。HyperTransport可以提供比PCI、PCI-X和AGP等输入输出总线体系结构高一个数量级的总线数据处理量,并且可以广泛应用到服务器、工作站、网络转换器以及嵌入式应用设备当中。
HyperTransprot特性及功能概要 |
总线类型 |
双点对点单向链路 |
连接位宽 |
2,4,8,16或32位 |
协议 |
基于4字节(32位)数据包传输,数据包包括请求、响应、广播三种类型,每种类型的包都可以提供命令、地址或数据信息 |
带宽 |
100-6400MB/s |
数据信号频率 |
400MHz-1.6GHz |
工作频率 |
400,600,800,1000,1200和1600百万次传输/秒 |
双工 |
全双工 |
最大负载包或突发数据长度 |
64Bytes |
电源管理 |
ACPI兼容 |
信号 |
使用100欧姆终端电阻的1.2V低电压差分信号(LVDS) |
HyperTransprot特性及功能概要总线类型双点对点单向链路连接位宽2,4,8,16或32位协议基于4字节(32位)数据包传输,数据包包括请求、响应、广播三种类型,每种类型的包都可以提供命令、地址或数据信息
带宽100-6400MB/s 数据信号频率400MHz-1.6GHz 工作频率400,600,800,1000,1200和1600百万次传输/秒双工全双工最大负载包或突发数据长度64Bytes 电源管理ACPI兼容信号使用100欧姆终端电阻的1.2V低电压差分信号(LVDS)
在AMD64平台当中,HyperTransport总线用于连接处理器和芯片组或芯片组之间。对于多路处理器系统,每一个处理器都使用了额外的HyperTransport控制器以实现处理器之间的互联。究竟HyperTransport总线有什么优点呢?简单来说,它有着高速度,低延时,结构简单等优点。虽然每路HyperTransport总线仅由两条端到端的单向数据传输路径组成(一条为输入、一条为输出),但极限数据传输率竟可以达到惊人的6400MB/s,可以通过设置2,4,8,16或32bit的位宽和400,600,800,1000,1200,1600MHz的工作频率来得到从100MB/s到6400MB/s的数据传输率。举个例子,用于连接多路Hammer处理器系统的HyperTransport总线可以提供每路3200MB/s的带宽。
由于HyperTransport标准是开放的,所以其他生产商业可以参与到产品的研发中来。当要在系统中实现新功能或增加总线带宽时,只要增加额外的HyperTransport接口就可以了。
事实上AMD就是这样做的,在现有的处理器当中,较低端的Athlon64仅有一个HyperTransport接口,而Opteron和Athlon64 FX-51则具有3个HyperTransport接口,这些接口除了用于连接芯片组之外,还可以在多路处理器系统中用于CPU之间的互连通信。
由于系统总线的瓶颈问题已经由来以久,HyperTransport总线的应用能很好地解决处理器之间,桥芯片之间以及处理器与桥芯片之间的高速互连问题,因此AMD64平台除了具备优秀的总线效能之外,在周边设备的配搭上更具灵活性。
正是由于AMD64处理器具有如此突出的技术优势,所以各大厂商和众多个人用户才在它身上寄予了深切的期望。究竟AMD真能凭借它们的新产品给Intel以沉重打击吗?我们的评测或许会帮助大家解答这个问题。
<上一页><下一页>
文章内容:
第一页:千呼万唤始出来 Athlon 64 发展历程
第二页:AMD 64 核心构架详解
第三页:AMD 64 基本构架与原理
第四页:产品介绍——Athlon 64与Athlon 64 FX
第五页:测试平台介绍
第六页:测试平台与测试说明
第七页:CPU性能与内存性能测试
第八页:图形子系统性能测试,多媒体与综合应用测试
第九页:64位Windows平台应用测试,测试总结——仍然期待的Athlon 64
|