<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > IA-64微處理器與HP高性能服務(wù)器體系結(jié)構(gòu)

          IA-64微處理器與HP高性能服務(wù)器體系結(jié)構(gòu)

          作者:武漢數(shù)字工程研究所 曾田 武漢凌久科技有限責(zé)任公司 吳向軍 時間:2002-12-05 來源:電子設(shè)計應(yīng)用 收藏
          IA-64體系結(jié)構(gòu)
          為進一步提高處理器的總體性能,要求處理器不僅要能更快地執(zhí)行指令,而且還要在每個周期中執(zhí)行更多的指令,以處理更多的信息,即通常所說的“并行執(zhí)行”。而傳統(tǒng)IA-32架構(gòu)存在一些基本的性能限制。因此,美國HP和Intel公司幾年前開始合作開發(fā)IA-64架構(gòu)的處理器。通過把RISC和超長指令字VLIW技術(shù)結(jié)合起來,在級上改進性能,以增加指令級上的并行性,這就是采用全新結(jié)構(gòu)的IA-64微處理器Itanium——“安騰”。
          在該構(gòu)架中定義了一種新的被稱作“顯式并行指令計算”的全新系統(tǒng)架構(gòu)技術(shù)。每個指令周期可執(zhí)行20條指令,大致是RISC指令集的4倍,是CISC(復(fù)雜指令結(jié)構(gòu))指令集的5倍。此技術(shù)能在原有的條件下獲得最大限度的并行能力(即并行工作的潛力),并以明顯的方式傳達給硬件。同時,在EPIC技術(shù)的基礎(chǔ)上定義了一種新的64位指令架構(gòu)(ISA)。新的64位ISA采用全新的方式,把顯式并行性能與推理和判斷技術(shù)結(jié)合起來,打破了傳統(tǒng)架構(gòu)的順序執(zhí)行限制和局限性(如錯誤預(yù)測分支、存儲等待等),使并行能力達到了新的水平,圖1、圖2是EPIC的硬件微型體系結(jié)構(gòu)圖。
          從上圖可看出,IA-64很像其他的64位RISC CPU:指令的長度是固定的,由一個指令、兩個輸入和一個輸出寄存器組成;指令只對寄存器操作;超標量,具有多個不同的流水線或執(zhí)行單元,能夠并行執(zhí)行許多指令。具體來說,IA-64主要特性表現(xiàn)在以下幾個方面:
          1.IA-64結(jié)構(gòu)把三種指令捆綁成128位長的單一指令,處理速度更快
          IA-64屬于VLIW(超長指令集)架構(gòu),VLIW的架構(gòu)簡單,他將超標量芯片的協(xié)調(diào)并行工作所必需的一部分控制電路交由編譯器處理,從而簡化了CPU的結(jié)構(gòu)。
          2.位模板控制并行指令的執(zhí)行
          每個128位IA-64捆綁指令包含一個由幾位組成的模板,它通過編譯程序明確告訴CPU可以并行執(zhí)行的指令。因此,CPU就不必倉促分析運行時的指令流來找出隱含的并行性,并把這種信息裝入機器代碼。每一種指令包括三個通用寄存器(GPR)字段,并且這種字段是整數(shù)和浮點(FP)運算指令特有的。這就是說,IA-64處理器將具有128個整數(shù)指令寄存器和128個浮點指令寄存器。所有的寄存器都是可編程的隨機存取寄存器;而x86只有8個整數(shù)指令寄存器和8個浮點指令棧。IA-64處理器由于不存在寄存器不足的問題,指令位更寬,寄存器等候時間更少。
          3.預(yù)測指令消除錯誤預(yù)測
          IA-64編譯程序?qū)⒗妙A(yù)測技術(shù)來消除錯誤預(yù)測分支指令引起的不良后果,并要求跳過超出分支指令的代碼塊。當(dāng)CPU在運行時遇到一個預(yù)測的分支指令,它將沿著分支指令的所有目的地開始執(zhí)行該代碼,從而盡可能多地利用并行性。當(dāng)CPU發(fā)現(xiàn)實際分支指令執(zhí)行結(jié)果時,保存有效結(jié)果而放棄無效結(jié)果。
          4.推測性裝入指令
          IA-64編譯程序掃描源代碼,從寄存器中發(fā)現(xiàn)即將到來的指令裝入,并加上推測裝入指令和推測檢校指令。在運行時,第一個指令在編譯程序要求數(shù)據(jù)之前,推測裝入指令確定從寄存器裝入數(shù)據(jù)。在讓編譯程序使用數(shù)據(jù)之前,推測檢校指令檢查裝入。推測裝入有助于消除存儲器存取時間長的問題,并幫助提高并行性。
          IA-64系統(tǒng)使用基于Infiniband技術(shù)的總線結(jié)構(gòu),它以交換式系統(tǒng)總線代替目前的共享式總線為核心,將NGIO和FutureIO兩種技術(shù)合二為一,使系統(tǒng)總線、內(nèi)存總線帶寬和I/O總線帶寬都將大大提高。IA-64系統(tǒng)帶寬在2Gb/s以上,而目前的IA-32架構(gòu)的典型系統(tǒng)帶寬是1.06Gb/s,PCI帶寬一般是0.4Gb/s。
          另外,IA-64還包括一系列的內(nèi)置特征,以延長計算機的正常運轉(zhuǎn)時間,減少宕機時間。機器檢測體系在內(nèi)存和數(shù)據(jù)路徑中提供了錯誤恢復(fù)和糾錯能力,能讓IA-64平臺從預(yù)先導(dǎo)致系統(tǒng)失敗的錯誤中恢復(fù)過來。
          總之,與傳統(tǒng)的體系結(jié)構(gòu)相比,基于IA-64的處理器可以提供更高的指令級并行性(ILP)。這是通過使用推測和預(yù)測等先進技術(shù),并輔以大量的內(nèi)部硬件資源來實現(xiàn)的。這些技術(shù)使編譯器能夠發(fā)揮最大效能來安排指令執(zhí)行,而同時使處理器亦發(fā)揮最佳效能來執(zhí)行指令。這種編譯器和處理器間的合力也正是IA-64有別于其它體系結(jié)構(gòu)的優(yōu)勢所在。

          HP Superdome服務(wù)器
          體系結(jié)構(gòu)
          HP公司最先推出其支持IA-64的HP 9000 Unix服務(wù)器系列的新成員-Superdome,中文名字“超騰”。它既可支持Intel IA-64芯片體系結(jié)構(gòu),又可支持HP公司的PA-RISC 8600 CPU及其后繼產(chǎn)品,并分別以16、32和64路CPU配置提供產(chǎn)品。
          HP Superdome服務(wù)器采用HP可擴展計算結(jié)構(gòu)(SCA),基于全局共享內(nèi)存,即高速緩存一致性的非一致內(nèi)存訪問體系結(jié)構(gòu)(cc-NUMA),屬于第三代NUMA系統(tǒng)。其內(nèi)存帶寬為61.44Gb/s,I/O帶寬為7.6Gb/s。包括I/O在內(nèi)的所有資源均透明存取,本地節(jié)點保持大量相關(guān)緩存,使本地訪問內(nèi)存的次數(shù)最多,8節(jié)點交叉互聯(lián)支持高達256條內(nèi)存請求,使遠程節(jié)點存取的平均等待時間明顯降低。
          HP Superdome服務(wù)器采用模塊化設(shè)計,由不同的功能模塊構(gòu)成,并以基本節(jié)點中配置2-16路CPU,2-4個基本節(jié)點組成的多節(jié)點系統(tǒng)中配置32或64路CPU的產(chǎn)品形式出現(xiàn)。圖3所示為6路HP Superdome服務(wù)器基本節(jié)點體系結(jié)構(gòu)?;竟?jié)點中的模塊主要是CPU擴展模塊(又稱Cell模塊)、交叉開關(guān)模塊、磁盤存儲器擴展模塊、基本的I/O等模塊;在多節(jié)點系統(tǒng)中,還包括路由器互聯(lián)模塊、PCI擴展模塊、XIO擴展模塊和圖形擴展等模塊。
          HP Superdome其核心采用了HP的Hyper Plane非阻塞8×8縱橫交叉開關(guān)技術(shù)(如圖4),交叉帶寬為61.4Gb/s,可將所有的處理器和存儲器通過交叉開關(guān)連接在一起,實現(xiàn)了從CPU 和I/O管道到存取系統(tǒng)的順利訪問。這些處理器、存儲器和交叉開關(guān)的結(jié)合組成了稱為NUMAlink的互聯(lián)結(jié)構(gòu),并提供最大16路CPU的基本節(jié)點配置。
          為了進一步增強擴展能力,HP Superdome服務(wù)器使用了一種基于共享內(nèi)存的互連技術(shù)——即采用先進的路由芯片,通過使用特殊的傳輸介質(zhì)構(gòu)成具有高帶寬和極低延遲的互聯(lián)網(wǎng)絡(luò)。路由芯片將所有基本節(jié)點上的交叉開關(guān)連接起來,形成一個單一的、連續(xù)的達1Tb的存儲空間。并且處理器和本地以及遠程存儲器之間的通信寬帶(雙向)由原來的1.6Gb/s提高到3.2Gb/s,從而使4個基本節(jié)點連接組合成一個最多可配置4*16=64路CPU的并行服務(wù)器系統(tǒng),以提供對cc-NUMA真正的支持,如圖5。
          目前,HP Superdome服務(wù)器的操作環(huán)境是64位的HP-UX UNIX操作系統(tǒng),該系統(tǒng)提供了完全的64位環(huán)境,包括64位系統(tǒng)內(nèi)核與地址空間,64位文件大小和文件系統(tǒng)大小,64位文件數(shù)據(jù)類型,能夠支持15000個應(yīng)用,與Superdome服務(wù)器的硬件結(jié)構(gòu)協(xié)同,完全可滿足包括電子商務(wù)、數(shù)據(jù)庫、ERP、科學(xué)計算等關(guān)鍵應(yīng)用的要求。

          結(jié)語
          并行處理是高性能計算的核心技術(shù)。其在微處理器這一系統(tǒng)級別的主要特征是盡可能提高指令級并行的能力;在服務(wù)器這樣的計算機系統(tǒng)級別,則主要是提高多個微處理器或微處理器單元協(xié)同工作的效率。而Intel IA-64微處理器和HP Superdome服務(wù)器的體系結(jié)構(gòu)可以說是充分體現(xiàn)了這一趨勢,因此具有了優(yōu)秀的性能,逐漸成為各自領(lǐng)域的領(lǐng)導(dǎo)產(chǎn)品?!?/P>

          參考文獻:
          1. David A. Patterson & John L. Hennessy“Computer Architecture A Quantitative Approach”機械工業(yè)出版社 1999年.
          2. “HP 9000 Enterprise Server Overview”惠普公司內(nèi)部資料.
          3. Tam, S. Et. Al, “Clock Generation & Distribution For the First IA-64 Microprocessor”, IEEE Journal of Solid State Circuits, Vol.35, Issue 11, Nov2000.
          4. Rusu, S. & Singer G, “The First IA-64 Microprocessor”, IEEE Journal of Solid State Circuits, Vol.35, Issue 11, Nov2000.

          作者簡介:
          曾 田:女,武漢數(shù)字工程研究所工程師,研究方向:實用計算機體系結(jié)構(gòu)。
          吳向軍:男,高級工程師,武漢凌久新技術(shù)公司網(wǎng)絡(luò)事業(yè)部,技術(shù)總監(jiān)。



          圖1 IA-64微處理器的硬件體系結(jié)構(gòu)框圖

          圖2 IA-64微處理器EPIC機制圖

          圖3 16路HP Superdome服務(wù)器基本節(jié)點體系結(jié)構(gòu)

          圖4 8×8 Crossbar縱橫交叉互聯(lián)芯片內(nèi)部結(jié)構(gòu)圖

          圖5 64路HP Superdome服務(wù)器結(jié)構(gòu)框圖(4個基本節(jié)點并行)



          關(guān)鍵詞: 微處理器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();