好文档 - 专业文书写作范文服务资料分享网站

AMD与INTEL的不同

天下 分享 时间: 加入收藏 我要投稿 点赞

英特尔与AMD 系统架构的深入探讨(转自微型计算机) 2008/04/01 02:15 P.M.

英特尔与AMD 系统架构的深入探讨(转自微型计算机)

长期以来,我们讨论计算机性能总是将注意力放在各个子系统的技术参数上。例如微处理器的速度、内存规范、用何种等级的GPU等,而没有意识到这些部件的协同效率会对系统产生怎样的影响,对于系统连接的探讨也仅限于总线技术层面。这种惯有的模式导致了人们对计算平台的技术水准难以产生明确的认知,同时也产生了一个概念上的模糊空间,让用户在厂商的宣传中无所适从。本文所要探讨的对象便在于此:计算机的连接架构。

一辆法拉利跑车可以轻松达到300公里以上的时速,但在普通公路上它却可能无法超过80公里—道路不够宽阔、路上的行车和弯道太多等都是影响速度的因素。如果想让它发挥应有的潜能,那么就应该提供一个专用的赛道。其实对于计算机系统,情况同样如此。计算机系统的性能取决于微处理器、内存、图形、硬盘等子系统,但即便配备顶尖的硬件,也未必能保证它们以最高的效率运行。事实上,微处理器、内存、图形、硬盘只能决定自身的性能,它们的协作效率则由总线技术以及连接架构所掌管—总线技术决定带宽,类似于道路的宽敞以及平整程度,允许数据在上面跑得多快;连接架构则定义了两点间的连接方式,是直道或者弯道,路径最短则最优,数据传达的效率自然最高。

谁在说谎?“微架构”与“连接架构”的迷思

英特尔宣称Core架构远远领先于对手,理由是指令性能更优越;AMD也声称K8架构更科学,理由是更高效的内存调用和更富弹性的连接。双方的宣传都给出足够多的理由,并且有充分的技术解释。对于这种各执一词的说法,如果你对处理器技术稍有了解,便会知道双方的论点都没错,但这就导致一个矛盾的问题:究竟哪一个平台在架构上更具优势?

事实上,英特尔与AMD都没有对公众做出详尽的解释,他们给用户留下一个模糊的认知空间,回避了对方之长,宣扬自身的优点。公正的说法应该是:英特尔“Core”处理器的微架构胜于对手,而AMD K8处理器家族则拥有更胜一筹的连接架构。在这里,你会发现处理器架构的概念一分为二:其一是“微架构”,其二就是“连接架构”,两者是完全不同的概念,它们从不同的角度影响着系统的性能与扩展性。

“微架构”通常是我们在衡量微处理器设计细节时最先接触到的概念,它描述的是处理器最基础的指令执行部分,包括执行的方式和运算单元的构成等—它就好比是法拉利跑车的引擎和车体框架,引擎决定了跑车所具有的速度,车体框架则让跑车能够在高速状态下保持稳定。

正常来说,处理器的微架构通常都是非常稳定的,寿命可在5年以上,而每一种微架构往往都对应着一个处理器家族—例如Pentium Ⅱ~Pentium Ⅲ都基于P6微架构,Pentium 4家族基于Netburst微架构,现行的Core 2 Duo/Quad则基于“Core”微架构;AMD Athlon 64/X2、Opteron系列、Turion 64/X2系列则隶属于K8微架构。

在x86领域,英特尔的Core微架构无疑是佼佼者,它的特点在于具有四发射能力,即每个周期可以同时对4条x86指令进行解码,Core微架构还结合了微指令融合和宏指令融合两项优化技术,同时可以对多达5~6条指令进行处理。显然,在频率相同的情况下,处理器的指令并行度越高,实际性能就越强。正因为这方面的优势,Core 2 Duo处理器才能够在较低的频率下保有超越高频Pentium 4的卓越性能。

相比之下,AMD K8微架构实际上只是承袭于K7体系,它同时只能对3条指令进行解码,也没有任何指令优化技术,K8与K7的主要区别仅在于集成内存控制器和64位支持—若单单从指令执行的角度来衡量,我们可以认为K8与K7隶属于相同的技术体系,两者都只能同时解码3条指令,并行能力远逊于英特尔的“Core”以及Pentium M家族所采用的“P6增强”微架构。

但是,AMD K8家族拥有更出色的连接架构—微架构决定了芯片的指令执行效能,而连接架构则决定系统输送指令的能力。如开篇所述,连接架构就好比是道路,车再好道路不行也跑不快;同理,倘若指令输送能力无法跟上,处理器的执行性能再高都无济于事,因为它不得不浪费很多的时间在等待上面,导致有效工作时间的减少(类似于堵车等待,拖慢了平均速度)。AMD的K7和K8在微架构方面变化极小,指令解码能力没有获得增强,运算单元的数量也未增加,但K8的指令执行性能却远高于K7,关键原因就在于K8系列拥有更出色的连接架构。

现在情况就变得明朗了:英特尔Core平台拥有出色微架构,但连接架构落后于对手;AMD K8平台微架构落后,但它拥有一套非常先进的连接架构。这种情况导致竞争双方各有长处和短处。对于微架构,之前就有过很多探讨,这里就不作过多的论述,本文的重点在于PC的连接架构,我们要解决一些问题:连接架构对系统性能和扩展力有何种程度的影响?PC的连接架构将向什么样的趋势发展?

来自80286时代的架构—前端总线+北桥芯片+南桥I/O芯片

对于英特尔平台,前端总线、北桥芯片、南桥芯片的概念从80286时代至今就没有多少变化。处理器通过前端总线与北桥芯片连接,北桥芯片包括图形接口控制器和内存控制器两个逻辑单元,北桥芯片通过特定的总线与南桥芯片连接,

南桥芯片则负责I/O扩展,包括存储、网络、音频、内部扩展总线(PCI、PCI Express x1)、外部连接总线(并口、串口、USB)等等(图1)。

在过去二十年中,技术提升仅限于各个子系统的规格,例如总线的速度、内存标准、图形接口标准、磁盘接口标准等等,但都没有对这套架构作什么本质性改变。尽管各个子系统的规格升级能够让系统性能获得显著的提升,但僵化的连接架构同时也产生明显的瓶颈,通讯延迟较长的缺点体现得非常明显。

图1 英特尔965系列芯片组基于传统的南北桥连接架构,这套连接在PC诞生之后就没有获得本质性的改变

首先,我们来看处理器与内存的连接。如图2,处理器必须通过“前端总线”与北桥芯片相连,然后再经由单/双通道“内存总线”才能与内存系统实现数据交换,那么这一数据交换工序就涉及到两条不同类型的总线—只有当前端总线的带宽高于内存总线时,处理器才能够充分利用内存资源。在与AMD平台的对比测试中,Core 2 Duo平台内存性能居于明显的下风(搭载相同的内存系统时),原因就在于此。而由于技术上的限制,前端总线难有大幅度提升的空间,这就注定内存瓶颈难以消除。第二个缺陷在于内存的访问延迟——由于需要前端总线和北桥芯片的中转,处理器的内存延迟较长,导致处理器必须浪费很多时间在数据等待上,处理器即便拥有一流的微架构,也难以充分发挥潜能。

图2 计算机传统的连接架构,存在内存访问延迟长、总线带宽瓶颈等弊端 对服务器来说,这套连接架构就显得更加糟糕:倘若服务器中包含两枚以上的处理器,那么它们都必须经过前端总线访问内存控制器,并共同分享内存资源,借此才能够实现多处理器的任务协同。而在实际环境下,多处理器共享内存经常会遭遇资源冲突现象,即两个处理器同时要求对某个内存区域进行读写操作,一旦遇上这种情况,其中的一枚处理器就必须停下等待,然后依顺序完成。系统中处理器的数量越多,冲突几率就越高,性能提升幅度也越来越小,一旦达到极限值后继续增加处理器数量,反而会导致系统性能的大幅度下滑。英特尔自身的Xeon平台一直未能突破八路朝向高性能计算机迈进(IBM EAX系列芯片组除外),主要原因就在于连接架构的限制。

图3 Xeon平台的连接架构,处理器间无法直接通讯,共享内存又会遭遇资源冲

AMD与INTEL的不同

英特尔与AMD系统架构的深入探讨(转自微型计算机)2008/04/0102:15P.M.英特尔与AMD系统架构的深入探讨(转自微型计算机)长期以来,我们讨论计算机性能总是将注意力放在各个子系统的技术参数上。例如微处理器的速度、内存规范、用何种等级的GPU等,而没有意识到这些部件的协同效率会对系统产生怎样的影响,对于系统连接的探讨也仅限于
推荐度:
点击下载文档文档为doc格式
60y7493r4o0ne2d1fb0k
领取福利

微信扫码领取福利

微信扫码分享