首 頁
解決方案
傳統平台
小(xiǎo)型機集群
雙活存儲方案
服務器集群
高性能計算
數據保護
刀片系統
新興平台
雲計算
基礎構架(IAAS)
軟件定義的存儲SDS
軟件定義的網絡
軟件定義的數據中(zhōng)心
平台(PAAS)
軟件(SAAS)
數據庫
大(dà)數據
産品
小(xiǎo)型機
IBM小(xiǎo)型機
ORACLE小(xiǎo)型機
HP小(xiǎo)型機
X86服務器
存儲
網絡
安全
數據庫
虛拟化
備份
公司資訊
關于興迪
公司簡介
辦公一(yī)角
加盟我(wǒ)(wǒ)們
合作夥伴
聯系我(wǒ)(wǒ)們
企業資質
興迪資訊科技有限公司
New Design Information Technologies Ltd.
IBM Power6與安騰走上了同一(yī)道
來源:
|
作者:
pro46dade
|
發布時間:
2016-12-19
|
811
次浏覽
|
分(fēn)享到:
Power6這個特立獨行的架構爲了提高時鍾頻率,從無序執行改爲有序執行。從有序技術到無序技術
直到大(dà)約15年前,大(dà)多數CPU一(yī)次隻能處理一(yī)條指令。那時,如果采用流水線設計,譬如摩托羅拉68040或者英特爾80486,那麽可以同時在不同執行階段處理不同的條指令。
到了1991年和1992年,出現了MIPS R4000、Alpha 21064和奔騰這些處理器,它們屬于面向通用市場的第一(yī)批“超标量”處理器:每個CPU周期可以處理(讀取、執行及退出)兩條指令。
後來1995年出現了Alpha 21164,我(wǒ)(wǒ)們就有了每個周期能處理四條指令的第一(yī)個CPU,時鍾頻率達到300MHz,這個速度在當時十分(fēn)驚人。Alpha21664在微處理器論壇上一(yī)亮相,就引來了台下(xià)觀衆一(yī)片贊歎,其中(zhōng)包括英特爾和IBM的設計者,更不用說設計Sun SPARC的設計者了。遺憾的是,Alpha最後沒有成功。
不管怎樣,所有這些廠商(shāng)當時采用了有條不紊的有序技術(In Order):程序指令流程執行時,按順序讀取、執行及引退操作碼,每次執行兩條或者四條指令。
現在,不同指令需要不同的執行資源,而且程序流程往往是這樣:執行需要等資源被釋放(fàng)出來,或者指令依賴性(dependency)得到解決,才能繼續執行下(xià)一(yī)條指令。更糟的是,每出現新一(yī)代CPU,就需要重新編譯代碼,針對新CPU進行優化,不然讀/寫指令之間很可能會出現太多氣泡(bubble)即空閑時間,導緻性能提升幅度不大(dà),與競争産品相比優勢也不大(dà)。
這時候,無序執行(out of order execution)出場了。CPU硬件本身在讀取指令後重新安排指令的執行順序,根據現有資源情況,提供更多的執行單元、重新命名寄存器、處理好指令依賴性等等。所以,Pentium Pro和Alpha 21264之後的幾乎所有新款CPU都是采用無序執行的處理器。
在多數情況下(xià),無序執行可以加快芯片的運行速度,有時候加速明顯。21264的速度就是21164的将近兩倍,而Pentium Pro的速度也比奔騰快了一(yī)大(dà)截。經過重大(dà)改進的最新MIPS架構R10000也采用了無序執行。
從安騰到Power6
無序執行一(yī)直風閘發良好,直到後來英特爾推出了一(yī)種全新的技術。意義重大(dà)的安騰處理器擁有真正獨一(yī)無二的引擎,并使用了重要的顯式并行指令計算(EPIC)技術。先不說安騰處理器的超過100種的指令格式組合、龐大(dà)的慢(màn)速寄存器組等,它實際上重新采用了有序執行技術。所以,編譯器不得不完成所有工(gōng)作,以确保執行單元始終處于忙碌狀态。除了浮點處理密集型應用外(wài),做到這一(yī)點并非易事,隻要看看安騰系統的基準測試結果就會明白(bái)。
在後續的發展中(zhōng),安騰架構的這以做法從來沒有變過。相反,Sun一(yī)度改用了富士通公司使用無序技術的SPARC64,而不是它自己的使用有序技術的UltraSparc IV。其他的重要架構如X86則繼續采用無序技術,使用了Core 2和K10等新引擎,并進一(yī)步改進了這種方案,以便充分(fēn)利用每MHz。
如果你出于某種原因而需要AIX,那麽Power的重要性就不言而喻了。Power4和Power5都是高速、但複雜的采用無序技術的RISC機器,它結合了四路超标量執行機制和非常高的系統帶寬。不過,Power6卻回到了有序技術時代。原因何在?
一(yī)個答案就是,如果Power6的同步多線程效果好,那麽對單一(yī)線程浪費執行資源就不用太擔心:在這種情況下(xià),隻要同步運行兩個線程就行。另外(wài),爲了進一(yī)步大(dà)幅提升性能,頻率提高一(yī)倍、二級高速緩存增加一(yī)倍、縮短算術邏輯單元(ALU)的延遲等方面恐怕更要緊。即使那樣,浮點處理部件還剩有一(yī)定的無序功能――這是通用處理器中(zhōng)首次引入十進制浮點處理單元(FPU) “同步雙線程執行、負荷預測機制以及增強的數據和指令預取功能,提升了有序執行超标量核心的性能。”IBM就是這麽評價其新芯片的。
Power5+的五路無序執行被Power6的七路有序執行所取代,但即使如此,也有幾個地方要注意:Power5+一(yī)個線程每個周期最多隻有五條指令,而Power6一(yī)個線程增加了二條指令,這對計算型線程和内存搜尋型線程組合來說更有優勢。Power5+更關注内部資源,而Power6在大(dà)部分(fēn)時候等待内存,所以每個周期兩次操作完全夠了。那麽性能方面有什麽提升呢?看一(yī)下(xià)基準測試specfp2006,頻率爲2.2GHz的Power5+在這方面能達到14.9,當然是在經過改動的Power5機器上實現的;而頻率爲4.7GHz的Power6能達到22.3,時鍾頻率提高了一(yī)倍多,性能提升卻不到一(yī)半。
所以,Power6的7.9億個晶體管分(fēn)布在尺寸比較大(dà)的341平方毫米上,超過了Barcelona/Agena的283平方毫米,僅比尺寸龐大(dà)的安騰小(xiǎo)了一(yī)點,它确實大(dà)幅提升了性能,盡管沒有了無序技術。雖然高速緩存和内存帶寬随着時鍾頻率的提高都水漲船高,但是仍然可以說,在時鍾頻率相同情況下(xià),重新使用有序技術會在處理單線程任務時導緻性能下(xià)降30%左右。
爲此,我(wǒ)(wǒ)們不得不等待更新的Power6系統以及下(xià)一(yī)版本AIX在編譯器方面的進展,以減少這種性能損耗。不過對Power6來說,采用有序技術确實明顯提升了處理器的性能。安騰同樣采用有序技術,但是至少到現在還沒有看到明顯的成效。X86恐怕再也不會出現有序技術。
不過,處理器技術的發展一(yī)日千裏,Power6設計者不會坐井觀天。再過一(yī)段時間,英特爾公司的3.6GHz的Harpertown“Penryn”和AMD公司3GHz Barcelona處理器就會陸續面試,都會對IBM Power6構成重大(dà)挑戰。IBM還必須牢記:對采用有序技術的這類處理器而言,随着每一(yī)代後續CPU的問世,在編譯器方面需要做的工(gōng)作更多。同時,并不是每個人都會有時間重新編譯自己的應用程序。
上一(yī)篇:
戴爾戰略開始大(dà)改變 ......
下(xià)一(yī)篇:
微軟下(xià)周發布安全公告......