● 4、HyperTransport总线
HyperTransport(简称HT,超传输),是AMD为K8开发的一种双向的“点对点”高速数据传输总线,运行于处理器与芯片组或芯片组间其它部分的连接中。HyperTransport的发展历史可回溯到1999年,它原名为“LDT总线”(Lightning Data Transport,闪电数据传输)。2001年7月,这项技术正式推出,AMD同时将它更名为HyperTransport。随后,Broadcom、Cisco、Sun、NVIDIA、ALi、ATI、Apple、Transmeta等许多企业均决定采用这项新型总线技术,而AMD也借此组建HyperTransport开放联盟,从而将HyperTransport推向产业界。
在基础原理上,HyperTransport与目前的PCI Express非常相似,都是采用点对点的单双工传输线路,引入抗干扰能力强的LVDS信号技术,命令信号、地址信号和数据信号共享一个数据路径,支持DDR双沿触发技术等等,但两者在用途上截然不同—PCI Express作为计算机的系统总线,而HyperTransport则被设计为两枚芯片间的连接,连接对象可以是处理器与处理器、处理器与芯片组、芯片组的南北桥、路由器控制芯片等等,属于计算机系统的内部总线范畴。
在SMP架构中,处理器间也是通过内建额外的HT控制器进行连接的,AMD将这称为“glue less”(免中介)方式。
有效频率 MHz |
总线宽度 (number of pins) | ||||
|
2 |
4 |
8 |
16 |
32 |
600 |
150MB/sec |
300MB/sec |
400MB/sec |
800MB/sec |
1600MB/sec |
800 |
200MB/sec |
400MB/sec |
600MB/sec |
1200MB/sec |
2400MB/sec |
1000 |
2500MB/sec |
500MB/sec |
800MB/sec |
1600MB/sec |
4000MB/sec |
1200 |
300MB/sec |
600MB/sec |
1000MB/sec |
2000MB/sec |
4800MB/sec |
1600 |
400MB/sec |
800MB/sec |
1600MB/sec |
3200MB/sec |
6400MB/sec |
HT本身具有很多的优点:高速、低延迟时间、结构紧凑。该总线最大可以提供6.4GB/s的带宽,通过简单的设定总线位宽(2位到32位)和工作频率(400MHz到1600MHz)来灵活改变总线的带宽(100MB/s到6.4GB/s)。
上图表示的是K7时代多路CPU与芯片组连接的方式,它采用同为点对点传输的EV6前端总线技术,前端总线数据传输率为总线运行频率的2倍,即200×2=400MHz。多CPU间不仅共享前端总线,同时还必须共享集成在北桥里的内存控制器,这个带宽必须做到很大才可以提供足够的数据量来满足CPU,这是很困难的。传统的连接方式缺陷有两方面,其一是由于前端总线和内存控制器外置,导致CPU同内存进行数据交换时的延迟较大;其二是由于AGP显卡等I/O设备和内存一起共享前端总线同单CPU或多CPU交流,特别是在多处理器的环境下,由于前端总线为多处理器共享,造成前端总线“交通拥挤”,效率不佳。
新的K8使用了全新的北桥架构,把北桥一分为二,将传统北桥的内存控制器和北桥总线接口内置到CPU核心中,而传统北桥中的AGP控制器以及同南桥进行数据交换的接口界面则仍然外置。新的北桥架构通过外置HyperTransport总线将北桥的内置部分同外置部分的AGP控制器等连接在一起。这样做还透露出AMD一个更长远的打算,那就是优化SMP的结构性能,如图。
这张图中,我们看到的是K8的专业版——Opteron,它是AMD为服务器和工作站设计的优化支持SMP的CPU。它区别于Athlon 64的一个重要特点就是集成了3个HT控制器。如图,每个大方框就是一颗Opteron,它包括一个CPU核心,一个系统请求对列(SRQ)中,一个内存控制器(MCT),一个切换控制器(XBar,负责管理内存控制组、CPU核心、以及3个HyperTransport端口之间的数据传输)。4颗Opteron利用自身的优势不需芯片组特别支持,便组成了一个高效的SMP系统,如下图。
在SMP架构中,多颗CPU同时执行程序的单一副本,须调用同一内存。但由于Opteron内置了内存控制器,使得每颗Opteron处理器都有独立的内存通道,并且是双通道DDR内存(PC2700),可提供最高2.7×2GB/s=5.4GB/s的带宽。这说明了一个重要的问题:每颗CPU不用再与其他CPU共享带宽,而独享内存提供的带宽。这对于SMP架构是又一次革命。直到Intel最新的Itanium2,都是4颗CPU用同一总线与CPU连接,共享6.4GB/s的带宽,平均单颗1.6GB/s,不能与单颗Opteron的5.4GB/s相提并论。这一切都应归功于上面的两项技术。如果CPU没有集成内存控制器,每颗CPU都必须要与北桥芯片相连并得到可怜的带宽,在64位运算下,这样的带宽是显然不够用的。在上图所示的模型中,系统能够支持多达32个DIMM,在使用PC2700内存时可以提供高达21.3GB/s的系统有效带宽。
如上表,AMD为我们列出了所有Opteron处理器所具有的特性和优势。x68-64计算技术,集成DDR内存控制器和HyperTransport总线设计功不可没。