安騰並行處理技術

安騰的指令中設計了屬性欄位,用於指明哪些指令可以並行執行。這些屬性信息並不是在指令執行過程中由處理機判定後獲得的,而是由編譯程式在編譯時通過對原始碼的分析獲取指令級的並行性信息,並填寫到執行代碼中。這就是所謂顯式並行的概念。

安騰體系結構雖然脫離了IA-32 CISC體系結構的束縛,卻並沒有完全照搬RISC處理機的設計思想。EPIC既不是RISC,也不是CISC,而是一種吸收了CISC和RISC兩者長處的全新的體系結構。主要體現在以下幾個方面:
1:顯式並行指令計算(EPIC)技術
2:超長指令字(VLIW)技術
3:分支推斷技術
4: 推測技術
5: 軟體流水技術
6: 暫存器堆疊技術
顯式並行指令計算(EPIC)技術:安騰的指令中設計了屬性欄位,用於指明哪些指令可以並行執行。這些屬性信息並不是在指令執行過程中由處理機判定後獲得的,而是由編譯程式在編譯時通過對原始碼的分析獲取指令級的並行性信息,並填寫到執行代碼中。這就是所謂顯式並行的概念。
EPIC技術則充分利用現代編譯程式強大的對程式執行過程的調度能力,由專用的EPIC編譯器首先分析原始碼,根據指令之間的依賴關係最大限度地挖掘指令級的並行性,從而確定哪些指令可以並行執行,然後把並行指令放在一起並重新排序,提取並調度其指令級的並行,並將這種並行性通過屬性欄位“顯式”地告知指令執行部件。
超長指令字(VLIW)技術:超長指令字(VLIW)技術是提高計算機系統並行性的有效手段。VLIW系統中指令字長可多達幾百位,編譯器經過最佳化,能將多條能夠並行執行的指令合併成一個具有多個操作碼的超長指令字,控制多個獨立的功能部件工作。
線面給你介紹一下安騰其它的技術
分支推斷技術:推斷技術能將傳統的“if then else”分支結構轉變為無分支的順序/並行代碼,以避免由於錯誤預測分支而付出代價。當處理機在運行中遇到分支時,它並不是進行傳統的分支預測並選擇可能性最大的一個分支執行,而是按分支的所有可能的後續路徑開始並行執行多段代碼並暫存各段代碼的執行結果,直到處理機能夠確認分支轉移與否的條件是真是假時,處理機再把應該選擇的路徑上的指令執行結果保留下來。
採用了推斷技術後,原有的轉移指令被轉換成條件執行指令。原有的轉移指令的所有的分支都被並行執行,無論哪條分支將被命中,都不會出現流水線斷流現象,故消除了因分支預測失誤而重新裝載流水線導致的低效率現象。更進一步,以前由於程式分支和指令依賴等因素不能並行執行的許多指令現在完全可以並行執行,從而提高了處理機的執行效率。
推測技術:推測技術,包括控制推測和數據推測,以減少存儲器訪問回響時間的影響。 控制推測技術和數據推測技術允許提前執行從記憶體單元至通用暫存器的取數指令。當程式中有分支時,控制推測技術將位於分支指令之後的取數指令提前若干周期執行,以此消除訪存延時,提高指令執行的並行度。而數據推測技術則用於解決提前取數指令後的數據相關性問題。 推測技術避免了cache命中失敗而導致訪存延遲的損失,消除了因處理機空閒而導致的並行性降低的缺憾。
軟體流水技術:安騰體系結構提供了很強的硬體支持,使循環執行過程中一次循環的代碼執行與下一次循環代碼的執行在時間上部分重疊,也即下一個循環步可以在上一個循環步結束前開始執行。 這種實現並行性的方式稱為軟體流水。
安騰體系結構引入了新機制來支持軟體流水,包括自動暫存器重命名、推斷執行和特殊的循環終止指令。因此,安騰處理機能夠通過旋轉暫存器機制為每個循環步提供自己的暫存器,並且不需要把循環擴展開來。
安騰體系結構中硬體對編譯器管理軟體流水線的支持使得編譯器能夠生成精簡的代碼,以高度並行的方式實現循環操作。

相關詞條

熱門詞條

聯絡我們