一台计算机,不管是桌面系统、笔记本电脑还是服务器,都有几个关键部分:CPU、内存、和其他外部设备(如显卡、硬盘和网卡等等)。CPU是计算机的大脑,它负责运行程序指令,而程序指令和其数据放在内存里,计算机通过外部设备获取数据和输出数据。 计算机这几个组成部分之间又是通过什么来通讯呢?传统的计算机结构,如Intel的奔腾三、奔腾四、迅驰、赛扬以及AMD的K7(如独龙)都是基于共享总线结构(下面简称FSB-SHARED FRONT SIDE BUS)。以AMD64(如速龙64、闪龙64、炫龙、皓龙)为代表的第八代CPU则去除了FSB,采取了各部分之间直连直通的结构。下面我将简略地介绍这两种结构的区别。

  什么是共享总线(FSB)呢?顾名思义,那就是所有设备的共享一条数据通道。所有的设备都连在这条总线上,当一个设备需要向另一设备传送数据的时候,它先听是否有人在用这条总线,如果有其他设备在用(忙音),就先默默等待。如果没有,它就发出一个信号,提出占用总线的请求,如果请求被批准,数据传输就可以开始了。总线不能进行双工的数据传输,因此这种传输是单向的。

  举例说明,如果CPU需要从内存里获取它需要执行的下一步指令,那它就在总线上发出读取内存的信号,负责内存管理的内存控制器也一直在总线上监听所有信号(不管有关无关),收到与自己有关的信号,内存控制器就去内存条里取出相关数据,再通过总线发给CPU。在这个期间内,CPU什么也不能做,只能等待。假如在这个时候,网卡收到一个数据包(有人用QQ发信息了),要传给CPU,但总线正在使用中,它会听到一个美妙的声音说:“对不起,线路正忙,请您稍后再试”。当然,总线是很快的,INTEL奔四的总线频率达800兆赫,理论传输速度是每秒 64亿个字节,迅驰的总线频率为400MHZ到533MHZ,也不低。我们网卡上的QQ伙伴不用漫长的等待就轮到了。

  从上可见,所谓前端总线(FSB),其实很简单,就好比几家人通过共享一条电话线来互相通讯一样。大家都一直拿着电话侧耳聆听,听有没有人在用电话,如果没有,要通话的人就对着话筒喊一嗓子;“我找某某”,如果管理电话线的人(MCH)说:“好,开始”,那么这两人之间就可以开始通话了。通话时,当然不能两个人同时开讲,而是你一句我一句,你来我往,不亦乐乎。

  这个通讯系统的特点很明显,简单!低廉!(普通无线对讲机也是这个原理,以太网HUB也是类似)

  但是问题也很明显,如果大家都有大量的衷肠要倾诉,很快带宽就不够了。

  随着CPU速度的不断提高和其他设备,如显卡(现在双显卡已经成潮流了)、网卡(千兆网)、硬盘(SATA II, RAID)等数据量的不断提高,这个结构的缺陷就越来越明显了。一个频率3GHZ的CPU挂在一个800MHZ总线上跟其他设备争抢总线带宽,就如同一头大象通过一个可乐吸管呼吸一样,跑起来不免上气不接下气。特别是在多CPU的服务器上,几个CPU一起争抢这条总线,更是严重大脑缺氧。

  在多CPU服务器上,这个总线的瓶颈问题更为严重。因为总线上每多一个设备就多一个监听者,而监听会给总线带来噪音和干扰,导致总线信号不清澈、频率提不上去。比如在INTEL的双路XEON DP系列,总线频率达800MHZ,但是多路的XEON MP,总线就只有667MHZ。本来多了CPU,要加大总线带宽才对,结果反而减少。这就像一头大象用一根可乐吸管呼吸尚可勉强维持,四头大象却共用一根更细的咖啡吸管呼吸,我们可怜的大象们几乎要奄奄一息了。大象越强壮(CPU越快),这个问题就越严重。

  问题怎么解决?聪明的读者肯定想到了,在每家人之间装上双工专线不就行了?

  对!这就是所谓第八代CPU的结构。这一结构把CPU和内存,CPU和外部设备,CPU和CPU之间互相用每秒传输80亿字节的专线连接起来。在这个结构里,老掉大牙的总线、几十年陪我们风雨兼程的FSB光荣退居二线,行将走入历史教科书。如果说FSB的设计思想跟不上时代的步伐、限制了计算整体性能的发展,第八代结构就让性能的提高获得了解放,使我们在频率几乎已经封顶的情况下能够通过多CPU、多核心等方式继续提高效率,满足复杂度、强度不断增加的应用软件的需要,把人类的计算文明继续推向新的高度。

  从上可见,AMD64结构不仅是引入了64位计算,同样、甚至更为重要的,它解决了计算机系统性能的瓶颈问题。在AMD64结构中,内存控制器被嵌入在CPU内部,CPU的一级高速缓存与内存直接相连,而不是象传统的总线结构那样,通过二级缓存与计算机上的北桥芯片组(CHIPSET)相连。这一革新大大缩短了CPU获取指令和数据的延迟,光这一项就使AMD单CPU性能提高了20%。在输入输出方面,CPU通过另一条高速的80亿字节每秒的超传输连接(HYPERTRANSPORT)与外部设备,如显卡、硬盘、网卡之类相连。而且这个连接是双向的,上下两个方向可以同时传递数据。CPU与CPU之间则通过另外的最多可达3条的CACHE COHERENT HYPERTRANSPORT(cHTT)连接直通。cHTT使8个OPTERON皓龙处理器能够不借助其他芯片直接组成8路的对称多处理机系统,八仙过海、各显神通。AMD的Athlon64和SEMPRON64也都具有第8代结构,实际上是OPTERON服务芯片的简装本。

  AMD64从一开始就是设计成支持多核心结构。在AMD64的双核心结构中,同一个CPU里的两个核心是通过一个CPU内部的交换机连在一起。而在INTEL的双核心结构里,同一个CPU里的两个核心之间的通讯需要跑到外面的总线上进行。以上面几家人通讯的类比为例,本来自家人通话直接开口说就行了,却也都拿着个电话,占了共享的带宽。

  业界专家,如企业计算龙头老大SUN MICROSYSTEM公司的创始人之一,星系(GALAXY)系列服务器的天才设计者ANDY BECHTOLSHEIM指出,INTEL的结构缺陷使它与AMD之间存在5年的技术差距。从目前INTEL的产品蓝图看,它至少到2007年底也没有与AMD64相抗衡的结构出现。

  AMD不但在CPU结构设计上取得了巨大的成就,在生产工艺上也突飞猛进。它使用了业界最先进、最复杂、造价高昂的DSLSSOI(Dual Stress Linear Strained Silicon On Insulator)半导体技术,使其芯片的功耗大大低于竞争对手,这些工艺使其双核心的OPTERON服务器芯片功耗低到55瓦,相比之下,INTEL使用低廉的SS(STRAINED SILICON)工艺生产的单核奔四最高功耗达151瓦。低功耗CPU不但能节省能源,更能够降低计算机的工作温度,延长计算机其他部件的使用寿命。随着其FAB36工厂投入生产,AMD的产量将增加两倍,这将使广大计算机用户进入高性能64位计算的步调大大加快。

  AMD的创新精神值得我们称赞也值得每一个高科技企业借鉴。


评论

该日志第一篇评论

发表评论

评论也有版权!