首 页
解决方案
传统平台
小型机集群
双活存储方案
服务器集群
高性能计算
数据保护
刀片系统
新兴平台
云计算
基础构架(IAAS)
软件定义的存储SDS
软件定义的网络
软件定义的数据中心
平台(PAAS)
软件(SAAS)
数据库
大数据
产品
小型机
IBM小型机
ORACLE小型机
HP小型机
X86服务器
存储
网络
安全
数据库
虚拟化
备份
公司资讯
关于兴迪
公司简介
办公一角
加盟我们
合作伙伴
联系我们
企业资质
兴迪资讯科技有限公司
New Design Information Technologies Ltd.
IBM Power6与安腾走上了同一道
来源:
|
作者:
pro46dade
|
发布时间:
2016-12-19
|
995
次浏览
|
分享到:
Power6这个特立独行的架构为了提高时钟频率,从无序执行改为有序执行。从有序技术到无序技术
直到大约15年前,大多数CPU一次只能处理一条指令。那时,如果采用流水线设计,譬如摩托罗拉68040或者英特尔80486,那么可以同时在不同执行阶段处理不同的条指令。
到了1991年和1992年,出现了MIPS R4000、Alpha 21064和奔腾这些处理器,它们属于面向通用市场的第一批“超标量”处理器:每个CPU周期可以处理(读取、执行及退出)两条指令。
后来1995年出现了Alpha 21164,我们就有了每个周期能处理四条指令的第一个CPU,时钟频率达到300MHz,这个速度在当时十分惊人。Alpha21664在微处理器论坛上一亮相,就引来了台下观众一片赞叹,其中包括英特尔和IBM的设计者,更不用说设计Sun SPARC的设计者了。遗憾的是,Alpha最后没有成功。
不管怎样,所有这些厂商当时采用了有条不紊的有序技术(In Order):程序指令流程执行时,按顺序读取、执行及引退操作码,每次执行两条或者四条指令。
现在,不同指令需要不同的执行资源,而且程序流程往往是这样:执行需要等资源被释放出来,或者指令依赖性(dependency)得到解决,才能继续执行下一条指令。更糟的是,每出现新一代CPU,就需要重新编译代码,针对新CPU进行优化,不然读/写指令之间很可能会出现太多气泡(bubble)即空闲时间,导致性能提升幅度不大,与竞争产品相比优势也不大。
这时候,无序执行(out of order execution)出场了。CPU硬件本身在读取指令后重新安排指令的执行顺序,根据现有资源情况,提供更多的执行单元、重新命名寄存器、处理好指令依赖性等等。所以,Pentium Pro和Alpha 21264之后的几乎所有新款CPU都是采用无序执行的处理器。
在多数情况下,无序执行可以加快芯片的运行速度,有时候加速明显。21264的速度就是21164的将近两倍,而Pentium Pro的速度也比奔腾快了一大截。经过重大改进的最新MIPS架构R10000也采用了无序执行。
从安腾到Power6
无序执行一直风闸发良好,直到后来英特尔推出了一种全新的技术。意义重大的安腾处理器拥有真正独一无二的引擎,并使用了重要的显式并行指令计算(EPIC)技术。先不说安腾处理器的超过100种的指令格式组合、庞大的慢速寄存器组等,它实际上重新采用了有序执行技术。所以,编译器不得不完成所有工作,以确保执行单元始终处于忙碌状态。除了浮点处理密集型应用外,做到这一点并非易事,只要看看安腾系统的基准测试结果就会明白。
在后续的发展中,安腾架构的这以做法从来没有变过。相反,Sun一度改用了富士通公司使用无序技术的SPARC64,而不是它自己的使用有序技术的UltraSparc IV。其他的重要架构如X86则继续采用无序技术,使用了Core 2和K10等新引擎,并进一步改进了这种方案,以便充分利用每MHz。
如果你出于某种原因而需要AIX,那么Power的重要性就不言而喻了。Power4和Power5都是高速、但复杂的采用无序技术的RISC机器,它结合了四路超标量执行机制和非常高的系统带宽。不过,Power6却回到了有序技术时代。原因何在?
一个答案就是,如果Power6的同步多线程效果好,那么对单一线程浪费执行资源就不用太担心:在这种情况下,只要同步运行两个线程就行。另外,为了进一步大幅提升性能,频率提高一倍、二级高速缓存增加一倍、缩短算术逻辑单元(ALU)的延迟等方面恐怕更要紧。即使那样,浮点处理部件还剩有一定的无序功能――这是通用处理器中首次引入十进制浮点处理单元(FPU) “同步双线程执行、负荷预测机制以及增强的数据和指令预取功能,提升了有序执行超标量核心的性能。”IBM就是这么评价其新芯片的。
Power5+的五路无序执行被Power6的七路有序执行所取代,但即使如此,也有几个地方要注意:Power5+一个线程每个周期最多只有五条指令,而Power6一个线程增加了二条指令,这对计算型线程和内存搜寻型线程组合来说更有优势。Power5+更关注内部资源,而Power6在大部分时候等待内存,所以每个周期两次操作完全够了。那么性能方面有什么提升呢?看一下基准测试specfp2006,频率为2.2GHz的Power5+在这方面能达到14.9,当然是在经过改动的Power5机器上实现的;而频率为4.7GHz的Power6能达到22.3,时钟频率提高了一倍多,性能提升却不到一半。
所以,Power6的7.9亿个晶体管分布在尺寸比较大的341平方毫米上,超过了Barcelona/Agena的283平方毫米,仅比尺寸庞大的安腾小了一点,它确实大幅提升了性能,尽管没有了无序技术。虽然高速缓存和内存带宽随着时钟频率的提高都水涨船高,但是仍然可以说,在时钟频率相同情况下,重新使用有序技术会在处理单线程任务时导致性能下降30%左右。
为此,我们不得不等待更新的Power6系统以及下一版本AIX在编译器方面的进展,以减少这种性能损耗。不过对Power6来说,采用有序技术确实明显提升了处理器的性能。安腾同样采用有序技术,但是至少到现在还没有看到明显的成效。X86恐怕再也不会出现有序技术。
不过,处理器技术的发展一日千里,Power6设计者不会坐井观天。再过一段时间,英特尔公司的3.6GHz的Harpertown“Penryn”和AMD公司3GHz Barcelona处理器就会陆续面试,都会对IBM Power6构成重大挑战。IBM还必须牢记:对采用有序技术的这类处理器而言,随着每一代后续CPU的问世,在编译器方面需要做的工作更多。同时,并不是每个人都会有时间重新编译自己的应用程序。
上一篇:
戴尔战略开始大改变 ......
下一篇:
微软下周发布安全公告......