长期以来,我们讨论计算机性能总是将注意力放在各个子系统的技术参数上。例如微处理器的速度、内存规范、用何种等级的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增强”微架构。
一辆法拉利跑车可以轻松达到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增强”微架构。


