第十章安騰高性能ppt課件_第1頁
第十章安騰高性能ppt課件_第2頁
第十章安騰高性能ppt課件_第3頁
第十章安騰高性能ppt課件_第4頁
第十章安騰高性能ppt課件_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第十章安騰高性能第十章安騰高性能處理機體系結(jié)構(gòu)處理機體系結(jié)構(gòu)前往本章學(xué)習(xí)要求:l了解高性能處理機體系結(jié)構(gòu)的發(fā)展過程;l理解安騰體系結(jié)構(gòu)的基本設(shè)計思想。第十章安騰高性能處理機體系結(jié)構(gòu)第十章安騰高性能處理機體系結(jié)構(gòu)l高性能處理機體系結(jié)構(gòu)的演變l安騰體系結(jié)構(gòu)的基本設(shè)計思想l安騰指令系統(tǒng)結(jié)構(gòu)l指令級并行機制l雙核安騰處理機的組成10.1高性能處理機體系結(jié)構(gòu)的演變高性能處理機體系結(jié)構(gòu)的演變一、IA體系結(jié)構(gòu)的歷史演變二、英特爾64位處理機的兩種體系結(jié)構(gòu)10.1高性能處理機體系結(jié)構(gòu)的演變高性能處理機體系結(jié)構(gòu)的演變一、IA體系結(jié)構(gòu)的歷史演變IA32體系結(jié)構(gòu):IA32家族中的第一款32位微處理機流水技術(shù)IA32

2、體系結(jié)構(gòu)仍是基于CISC架構(gòu)的處理機。Pentium體系結(jié)構(gòu):CISC外殼加RISC內(nèi)核的結(jié)構(gòu)10.1高性能處理機體系結(jié)構(gòu)的演變高性能處理機體系結(jié)構(gòu)的演變二、英特爾64位處理機的兩種體系結(jié)構(gòu)1、64T(英特爾64):基于顯式并行指令計算EPICExplicitly Parallel Instruction Computing技術(shù)的IA64體系結(jié)構(gòu),不與IA32指令系統(tǒng)的兼容性。2、安騰體系結(jié)構(gòu):與IA32指令系統(tǒng)的兼容性。10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想l安騰體系結(jié)構(gòu)脫離了IA32 CISC體系結(jié)構(gòu)的束縛,但并沒有完全照搬RISC處理機的設(shè)計思想。EPIC既不是RI

3、SC,也不是CISC,而是一種吸收了CISC和RISC兩者長處的全新的體系結(jié)構(gòu)。主要體現(xiàn)在以下幾個方面:l顯式并行指令計算(EPIC)技術(shù)l超長指令字(VLIW)技術(shù)l分支推斷技術(shù)l推測技術(shù)l軟件流水技術(shù)l寄存器堆棧技術(shù)10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想1、顯式并行指令計算(EPIC)技術(shù)安騰的指令中設(shè)計了屬性字段,用于指明哪些指令可以并行執(zhí)行。這些屬性信息并不是在指令執(zhí)行過程中由處理機判定后獲得的,而是由編譯程序在編譯時通過對源代碼的分析獲取指令級的并行性信息,并填寫到執(zhí)行代碼中。這就是所謂顯式并行的概念。EPIC技術(shù)則充分利用現(xiàn)代編譯程序強大的對程序執(zhí)行過程的調(diào)度

4、能力,由專用的EPIC編譯器首先分析源代碼,根據(jù)指令之間的依賴關(guān)系最大限度地挖掘指令級的并行性,從而確定哪些指令可以并行執(zhí)行,然后把并行指令放在一起并重新排序,提取并調(diào)度其指令級的并行,并將這種并行性通過屬性字段“顯式地告知指令執(zhí)行部件。 10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想2、超長指令字(VLIW)技術(shù)超長指令字(VLIW)技術(shù)是提高計算機系統(tǒng)并行性的有效手段。VLIW系統(tǒng)中指令字長可多達幾百位,編譯器經(jīng)過優(yōu)化,能將多條能夠并行執(zhí)行的指令合并成一個具有多個操作碼的超長指令字,控制多個獨立的功能部件工作。EPIC是基于超長指令字的設(shè)計。 通過將多條指令放入一個超長指令字

5、,能有效提高處理機內(nèi)各個執(zhí)行部件的利用率。 10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想3、分支推斷技術(shù)技術(shù)能將傳統(tǒng)的“ifthenelse分支結(jié)構(gòu)轉(zhuǎn)變?yōu)闊o分支的順序/并行代碼,以避免由于錯誤預(yù)測分支而付出代價。當(dāng)處理機在運行中遇到分支時,它并不是進行傳統(tǒng)的分支預(yù)測并選擇可能性最大的一個分支執(zhí)行,而是按分支的所有可能的后續(xù)路徑開始并行執(zhí)行多段代碼并暫存各段代碼的執(zhí)行結(jié)果,直到處理機能夠確認(rèn)分支轉(zhuǎn)移與否的條件是真是假時,處理機再把應(yīng)該選擇的路徑上的指令執(zhí)行結(jié)果保留下來。 采用了推斷技術(shù)后,原有的轉(zhuǎn)移指令被轉(zhuǎn)換成條件執(zhí)行指令。原有的轉(zhuǎn)移指令的所有的分支都被并行執(zhí)行,無論哪條分支將被

6、命中,都不會出現(xiàn)流水線斷流現(xiàn)象,故消除了因分支預(yù)測失誤而重新裝載流水線導(dǎo)致的低效率現(xiàn)象。更進一步,以前由于程序分支和指令依賴等因素不能并行執(zhí)行的許多指令現(xiàn)在完全可以并行執(zhí)行,從而提高了處理機的執(zhí)行效率。 10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想4、推測技術(shù)推測技術(shù),包括控制推測和數(shù)據(jù)推測,以減少存儲器訪問響應(yīng)時間的影響??刂仆茰y技術(shù)和數(shù)據(jù)推測技術(shù)允許提前執(zhí)行從內(nèi)存單元至通用寄存器的取數(shù)指令。當(dāng)程序中有分支時,控制推測技術(shù)將位于分支指令之后的取數(shù)指令提前若干周期執(zhí)行,以此消除訪存延時,提高指令執(zhí)行的并行度。而數(shù)據(jù)推測技術(shù)則用于解決提前取數(shù)指令后的數(shù)據(jù)相關(guān)性問題。推測技術(shù)避免了

7、cache命中失敗而導(dǎo)致訪存延遲的損失,消除了因處理機空閑而導(dǎo)致的并行性降低的缺憾。 10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想5、軟件流水技術(shù)安騰體系結(jié)構(gòu)提供了很強的硬件支持,使循環(huán)執(zhí)行過程中一次循環(huán)的代碼執(zhí)行與下一次循環(huán)代碼的執(zhí)行在時間上部分重疊,也即下一個循環(huán)步可以在上一個循環(huán)步結(jié)束前開始執(zhí)行。 安騰體系結(jié)構(gòu)引入了新機制來支持軟件流水,包括自動寄存器重命名、推斷執(zhí)行和特殊的循環(huán)終止指令。因此,安騰處理機能夠通過旋轉(zhuǎn)寄存器機制為每個循環(huán)步提供自己的寄存器,并且不需要把循環(huán)擴展開來。安騰體系結(jié)構(gòu)中硬件對編譯器管理軟件流水線的支持使得編譯器能夠生成精簡的代碼,以高度并行的方式

8、實現(xiàn)循環(huán)操作。 10.2安騰體系結(jié)構(gòu)的基本設(shè)計思想安騰體系結(jié)構(gòu)的基本設(shè)計思想6、寄存器堆棧技術(shù)安騰處理機利用128個通用寄存器中的96個堆棧寄存器實現(xiàn)寄存器堆棧,并在處理機內(nèi)部設(shè)置一個寄存器堆棧引擎RSE來管理寄存器堆棧。當(dāng)96個堆棧寄存器不夠用時,寄存器堆棧引擎能夠自動將寄存器堆棧與內(nèi)存儲器對接,將寄存器堆棧溢出的數(shù)據(jù)轉(zhuǎn)移到內(nèi)存儲器中保存,或在寄存器堆棧彈出數(shù)據(jù)時執(zhí)行反向操作。這樣,編譯器將看到一個容量沒有限制的寄存器堆??臻g。 10.3安騰指令系統(tǒng)結(jié)構(gòu)安騰指令系統(tǒng)結(jié)構(gòu)一、執(zhí)行單元與指令類型 為提高并行處理能力,安騰處理機內(nèi)部設(shè)置了多個執(zhí)行單元。這些執(zhí)行單元被分為四類:I單元:整數(shù)執(zhí)行單元,

9、用于執(zhí)行整數(shù)算術(shù)運算、邏輯運算、移位和比特處理等指令,以及32位數(shù)據(jù)和指針操作。M單元:存儲器執(zhí)行單元,用于執(zhí)行通用寄存器、浮點寄存器和存儲器之間的取數(shù)load)指令、存數(shù)(store)指令以及某些整數(shù)ALU運算指令。B單元:轉(zhuǎn)移執(zhí)行單元,用于執(zhí)行轉(zhuǎn)移分支類指令。F單元:浮點執(zhí)行單元,用于執(zhí)行浮點運算指令。相應(yīng)地,安騰指令系統(tǒng)中的所有指令被分成六種類型,每種指令使用一種或多種執(zhí)行單元。10.3安騰指令系統(tǒng)結(jié)構(gòu)安騰指令系統(tǒng)結(jié)構(gòu)二、安騰寄存器結(jié)構(gòu)與RISC體系結(jié)構(gòu)類似,安騰體系結(jié)構(gòu)大量使用寄存器操作;見下一頁圖只有取數(shù)load和存數(shù)store指令才能夠訪問內(nèi)存,所有其他指令都在寄存器上操作。在以安

10、騰為基礎(chǔ)的處理機內(nèi),用戶可直接使用的寄存器數(shù)量甚至大大超過了主流RISC處理機。一方面可以加快數(shù)據(jù)存取的速度,減少訪存延遲,另一方面可以更好地支持并行操作。安騰的主要寄存器10.3安騰指令系統(tǒng)結(jié)構(gòu)安騰指令系統(tǒng)結(jié)構(gòu)三、安騰指令格式典型指令格式:安騰的每條指令占41位。對于寄存器操作數(shù),需要7位選擇128個通用寄存器或浮點寄存器。故一條典型的RRR型安騰指令需要21位來標(biāo)識兩個源寄存器操作數(shù)和一個目標(biāo)寄存器操作數(shù)。大多數(shù)指令還需要一個6位字段選擇64個推斷寄存器之一,用于支持推斷執(zhí)行、軟件流水等功能。指令束格式安騰體系結(jié)構(gòu)采用超長指令字技術(shù),利用集束指令合成;10.3安騰指令系統(tǒng)結(jié)構(gòu)安騰指令系統(tǒng)結(jié)

11、構(gòu)l指令組l指令組將相互之間沒有讀后寫相關(guān),寫后寫相關(guān),可以并行執(zhí)行的一組指令集合。l指令束模版l模版字段正是為實現(xiàn)EPIC的設(shè)計思想服務(wù)的:一方面,編譯器可以通過5位模版字段指明每個指令槽中的指令使用哪一個執(zhí)行單元;另一方面,編譯器可以通過模板字段明確給出指令束內(nèi)或指令束間的依賴關(guān)系。l 10.3安騰指令系統(tǒng)結(jié)構(gòu)安騰指令系統(tǒng)結(jié)構(gòu)四、安騰匯編語言格式qpMnemonic. Comp1. Comp2 dest=srcmnemonic為指令助記符。dest為目標(biāo)操作數(shù),指明存放運算結(jié)果的寄存器。src為源操作數(shù),給出若干個寄存器操作數(shù)或立即數(shù)。qp選擇64個推斷寄存器之一。在指令執(zhí)行時,如果選定的

12、一比特推斷寄存器的當(dāng)前值為1,則該指令的執(zhí)行結(jié)果最終會被硬件采用;否則,該指令的執(zhí)行結(jié)果將被硬件放棄。對于不需要推斷寄存器的指令,在機器指令中將默認(rèn)指定推斷寄存器0,該寄存器的值固定為0。因此,所有的指令都可以看作是條件執(zhí)行的。p1. Comp2 為指令完成符,用于進一步限定指令所需完成的操作。例例1:下面給出一些匯編指令下面給出一些匯編指令add rl=r2,r3 /簡單指令:r2+r3=r1(P4)add rl=r2,r3 /推斷指令,指定推斷寄存器4add r1=r2,r3, /立即尋址指令cmpeq P3,P5=0,r4 /帶指令完成符的指令:將r4寄存器的值與0比較,若相等則置推斷寄

13、存器P3為1,P5為0;否則置推斷寄存器P3為0,P5為1ld8 r1=r7 /從寄存器r7指向的存儲器空間讀取連續(xù)8個字節(jié),裝入寄存器r1add r6=r9,r8; /與上一條指令不存在相關(guān)性,故可放在一個指令組中sub r3=r1,r4 /第一條指令的目標(biāo)操作數(shù)是本指令的源操作數(shù),故需重新開始一個指令組st8 r6=r10 /將寄存器r10的內(nèi)容存入寄存器r6指向的存儲器單元10.4指令級并行機制指令級并行機制一、推斷執(zhí)行技術(shù)1、分支對系統(tǒng)性能的影響分支是在兩個指令序列中根據(jù)判定條件選擇其中一個序列執(zhí)行。為了判定最終選擇哪一個指令序列執(zhí)行,必須等待一些條件判斷指令的執(zhí)行結(jié)果。指令執(zhí)行一旦遇

14、到分支轉(zhuǎn)移,在執(zhí)行判定操作之前,多個功能部件由于無法確定程序的執(zhí)行方向而空閑等待,使系統(tǒng)性能明顯下降。分支預(yù)測并不能充分利用處理機流水線的功能部件10.4指令級并行機制指令級并行機制2、安騰的推斷技術(shù)原理推斷技術(shù)處理分支的方法是利用多個功能部件并行執(zhí)行各個分支,然后根據(jù)判定結(jié)果選取某一分支的運行結(jié)果,因而可消除大部分的轉(zhuǎn)移,使得整個系統(tǒng)的運行速度得到提高。采用顯式并行指令計算技術(shù)的安騰處理機將處理機的多個功能部件的并行處理能力與編譯器的強大功能相結(jié)合,允許在編譯時讓編譯器對程序進行優(yōu)化,消除轉(zhuǎn)移,提高效率。安騰處理機的指令系統(tǒng)允許在每條指令中都指定一個推斷寄存器。10.4指令級并行機制指令級并

15、行機制3、推斷執(zhí)行的實現(xiàn)例2考察下面的一個典型的if-then-else結(jié)構(gòu):If (x=0) then m=m+1 else m=m-1 在傳統(tǒng)的超標(biāo)量流水線體系結(jié)構(gòu)中,完成上述判斷通常要首先安排一條比較語句,將x與0進行比較。得到比較結(jié)果后,再選擇執(zhí)行then分支或else分支。 相應(yīng)的匯編語句大致如下所示:cmp x,0;比較x和0je L1;若相等則轉(zhuǎn)移至標(biāo)號L1sub m,1;m=m-1jmp L2;無條件轉(zhuǎn)移至標(biāo)號L2L1:add m,1;m=m+lL2:10.4指令級并行機制例指令級并行機制例2續(xù)續(xù) 而安騰處理機可以通過編譯優(yōu)化消除條件語句中的分支指令,將該結(jié)構(gòu)轉(zhuǎn)化成順序的推測執(zhí)

16、行結(jié)構(gòu):cmpeq P1,P2=0,x;/無條件執(zhí)行:將r4寄存器的值與0比較,若相等則置推斷寄存器P1為1,P2為0,否則置推斷寄存器P1為0,P2為1 (P1)add m=1,m /若P1為1,則m+1送m(P2)add m=-1,m /若P2為1,則m-1送m從判定流程上,似乎上面的三條語句并沒有從邏輯上改變if-then-else結(jié)構(gòu)的執(zhí)行過程。但如果我們能夠把這個例子和安騰體系結(jié)構(gòu)結(jié)合起來,還是可以從這個簡單的例子中體會到安騰處理機的設(shè)計思想。10.4指令級并行機制指令級并行機制4、安騰處理機設(shè)計思想首先,安騰指令系統(tǒng)中的每條指令都能夠支持推斷執(zhí)行,所以第二條指令和第三條指令中的條件

17、判斷并不需要使用專門的判斷指令。雖然后面兩條指令是條件執(zhí)行的,但整體條件判斷結(jié)構(gòu)不再需要分支指令。其次,指令中的推斷操作的安排是由編譯器在編譯過程中完成的,不需要處理機在執(zhí)行指令的非常短的時間內(nèi)動態(tài)安排各條指令的條件執(zhí)行。最后,每條指令中雖然可以指定推斷寄存器,但取指令、指令譯碼和執(zhí)行操作并不需要等到推斷寄存器的取值確定后再進行。 下面可以看一下傳統(tǒng)流水線與安騰處理機比較。傳統(tǒng)流水線與安騰處理機比較10.4指令級并行機制指令級并行機制二、推測技術(shù)1、存儲器訪問延遲與指令級并行在現(xiàn)代計算機體系結(jié)構(gòu)中,多級存儲體系能夠有效提高存儲系統(tǒng)的性能價格比。但是,在多個功能單元實現(xiàn)并行處理的處理機中,執(zhí)行指

18、令的速度仍然受到存儲器訪問速度的制約?,F(xiàn)代RISC處理機用專用指令訪問內(nèi)存,取數(shù)指令往往成為影響處理機性能的瓶頸。見下圖看一下取數(shù)指令對處理機并行執(zhí)行指令的影響。取數(shù)指令對處理機并行執(zhí)行指令的影響給出的實例顯示了取數(shù)指令對處理機并行執(zhí)行指令的影響。現(xiàn)利用具有四個并行執(zhí)行單元的超標(biāo)量處理機完成如下的指令序列:load(a)/從內(nèi)存單元取數(shù)至寄存器ak=k+1i=i-1n=n+3q=q+a假設(shè)所有的算術(shù)運算指令可以在一個時鐘周期中完成,而訪存指令需要三個時鐘周期。前四條指令可以分別安排在四個執(zhí)行單元中并行執(zhí)行。如果load指令所要訪問的內(nèi)存單元并沒有被調(diào)入cache,那么load指令直接訪問內(nèi)存需

19、要三個時鐘周期才能執(zhí)行完畢。而第五條指令依賴于load指令取得的操作數(shù),所以在執(zhí)行第五條指令之前需要等待兩個時鐘周期,從而所有的執(zhí)行單元都必須閑置兩個時鐘周期,這就大大降低了執(zhí)行效率。10.4指令級并行機制指令級并行機制2、控制推測解決處理機訪存延遲的辦法就是將訪存操作盡可能提前執(zhí)行。在安騰處理機中,控制推測技術(shù)用于解決上述與取數(shù)指令有關(guān)的控制相關(guān)問題。10.4指令級并行機制指令級并行機制3、數(shù)據(jù)推測控制推測技術(shù)能夠解決分支和取數(shù)操作中的控制相關(guān),但在指令優(yōu)化過程中還可能存在數(shù)據(jù)相關(guān)?!纠纠?】考察下面包含分支與取數(shù)指令的程序段:】考察下面包含分支與取數(shù)指令的程序段: if(r3=0) th

20、en r2=r2+1 else r1=r3其功能是判斷指針寄存器r3的值是否為零:若是則將寄存器r2加1;否則將r3指向的內(nèi)存單元的內(nèi)容加載到寄存器r1中。其原始匯編代碼如下:cmpeq P1,P2=0,r3;/無條件執(zhí)行:將r3寄存器的值與0比較,若相等則置推斷寄存器P1為1,P2為0,否則置推斷寄存器P1為0,P2為1(P1) add r2=1,r2 /若P1為1,則r2+1送r2 (P2)ld8 r1=r3/若P2為1,則以r3的內(nèi)容為地址訪存.,8字節(jié)操作數(shù)被加載至寄存器r1.為了減少訪存延遲,希望將第3條取數(shù)指令提前至第1條指令的前面,或是更早的位置。但第3條指令是推斷執(zhí)行的,其實際

21、結(jié)果只有在P2為真的情況下才會被真正存儲。如果第3條指令固執(zhí)行錯誤而引起異常處理,但最后發(fā)現(xiàn)該取數(shù)指令實際上并不需要執(zhí)行,那么將浪費大量時間。安騰體系結(jié)構(gòu)采用的控制推測技術(shù)對此的解決方案安騰體系結(jié)構(gòu)采用的控制推測技術(shù)對此的解決方案l由編譯器將一條取數(shù)指令分解為兩條指令:(1)推測取數(shù)指令(loads),可以提前到適當(dāng)位置先期執(zhí)行取數(shù)操作,但如果需要進行異常處理時,并不真正調(diào)用操作系統(tǒng)的異常處理例程,而僅僅設(shè)置一個與被裝入寄存器相關(guān)聯(lián)的標(biāo)志。這一標(biāo)志就是每個通用寄存器中64位以外的延遲異常標(biāo)記(NaT)位。(2)推測檢查指令chks), 安排在原來的取數(shù)指令位置,也即真正使用數(shù)據(jù)之前的位置。ch

22、ks指令檢查被裝入的寄存器的延遲異常標(biāo)記位:如果有未被執(zhí)行的異常處理,則轉(zhuǎn)入異常處理程序;否則,處理機將loads指令的執(zhí)行結(jié)果保存,并繼續(xù)執(zhí)行下一條指令?!纠纠?】按照上面的處理方式,安騰的編譯器】按照上面的處理方式,安騰的編譯器將對例將對例3的匯編代碼進行優(yōu)化的匯編代碼進行優(yōu)化1d8.S r1r3/以r3內(nèi)容為地址訪存,推測加載寄存器r1/加載指令被提前若干個周期cmpeq P1,P2=0,r3;/無條件執(zhí)行:將r3寄存器的值與0比較,若相等則置推斷寄存器P1為1,P2為0,否則置推斷寄存器P1為0,P2為1(P1) add r2=1,r2 /若P1為1,則r2+l送r2(P2) chk

23、S r1err_recov /若P2為1,則檢查r1寄存器的NaT標(biāo)記,若NaT=1,則轉(zhuǎn)入err_recov例程,若NaT0,則保存r3到r1【例【例5】研究下面的程序段】研究下面的程序段add r5=4,r0;st4r7=r5; / /將r5的值存入r7指向的內(nèi)存單元ld4 r2=r8;/以r8的內(nèi)容為地址訪存,加載寄存器r2add r6=r2,r5 /r6=r2+r5其中第4條指令需要使用第3條指令取數(shù)的結(jié)果。為了減少訪存延遲,編譯器可以將第3條指令提前到第1條指令之前。但這樣做的風(fēng)險是,假如當(dāng)前寄存器r8的值和r7的值相等,則意味著第三條取數(shù)指令和第二條存數(shù)指令訪問的是同一個內(nèi)存單元。

24、而把取數(shù)指令提前到存數(shù)指令之前將使取數(shù)指令得到存數(shù)之前的值,而不是程序原意要使用的存數(shù)指令執(zhí)行之后的取值。因此,在傳統(tǒng)體系結(jié)構(gòu)中,如果編譯器不能確定存數(shù)和取數(shù)的目標(biāo)地址是否相同(例如在上例中使用指針訪存的情況),則存數(shù)指令之后的取數(shù)指令將不能被移到存數(shù)指令之前.安騰處理機采用數(shù)據(jù)推測技術(shù)安騰處理機采用數(shù)據(jù)推測技術(shù)l解決上述問題。與控制推測技術(shù)的解決辦法類似,由編譯器將一條取數(shù)指令分解為兩條指令:l(1高級取數(shù)指令(loada),可以提前到適當(dāng)位置先期執(zhí)行取數(shù)操作,但該指令執(zhí)行時除了從給定的內(nèi)存單元取數(shù)據(jù)之外,還將被訪問的內(nèi)存單元的地址登記到一個名為高級取數(shù)地址表(ALAT)的硬件數(shù)據(jù)結(jié)構(gòu)中。該

25、地址表中保存了所有已經(jīng)被取數(shù)指令訪問過、且未被存數(shù)指令修改過的內(nèi)存單元的地址、相應(yīng)的寄存器以及存取數(shù)據(jù)的字節(jié)數(shù)。安騰的所有存數(shù)指令在執(zhí)行時均會根據(jù)存數(shù)的目標(biāo)內(nèi)存地址檢索該地址表,如果檢索到地址匹配,則從地址表中刪除該地址。l(2取數(shù)檢查指令(load c), 安排在原來的取數(shù)指令位置,也即真正使用數(shù)據(jù)之前的位置。該指令執(zhí)行時將檢索高級取數(shù)地址表,以便確認(rèn)在高級取數(shù)指令執(zhí)行后、取數(shù)檢查指令執(zhí)行前是否有任何指令修改了高級取數(shù)指令訪問過的內(nèi)存單元:如果檢索到匹配項,則說明沒有任何指令修改過高級取數(shù)指令訪問過的內(nèi)存單元,取數(shù)檢查指令不再執(zhí)行其他操作;如果檢索不成功,則取數(shù)檢查指令重新執(zhí)行一次取數(shù)操作,

26、以便加載到最新的數(shù)據(jù)。例例6按照上面的處理方式,安騰的編按照上面的處理方式,安騰的編譯器將對例譯器將對例5的匯編代碼進行優(yōu)化:的匯編代碼進行優(yōu)化:ld4a r2=r8 /高級取數(shù), /以r8的內(nèi)容為地址訪存add r5=4,r0;st4r7=r5 /將r5的值存入r7 /指向的內(nèi)存單元ld4c r2=r8; /檢查以r8為指針的寄存器 / r2加載操作add r6=r2,r5 /r6=r2+r510.5雙核安騰處理機的組成雙核安騰處理機的組成一、雙核安騰處理機的基本特性1、并行處理技術(shù)2、顯式并行指令計算技術(shù)3、超線程技術(shù)4、三級大容量高速緩沖存儲器5、硬件輔助虛擬化技術(shù)6、高速緩存安全技術(shù)虛

27、擬化技術(shù)虛擬化技術(shù) 所謂虛擬化,是指用單個處理機模擬多個處理機并行工作,而每個處理機都可以被看作一個獨立的工作環(huán)境,從而在一個平臺上同時運行多個操作系統(tǒng),并且每一個操作系統(tǒng)中都有多個程序運行。應(yīng)用程序在相互獨立的空間內(nèi)運行而互不影響,從而顯著提高計算機的工作效率。前往超線程技術(shù)超線程技術(shù)1/2l在雙核安騰處理機中,英特爾首次把在奔騰4處理機中采用的超線程(Hyper Threading)技術(shù)引進到安騰處理器家族中,每個處理機支持四個線程,使其能夠處理的應(yīng)用線程數(shù)是早期單核產(chǎn)品的四倍。前往超線程技術(shù)超線程技術(shù)2/2l超線程技術(shù)在一顆處理機芯片內(nèi)設(shè)計多個邏輯上的處理機內(nèi)核,這些邏輯上的內(nèi)核共享處理

28、機內(nèi)的整數(shù)運算單元、浮點運算單元和二級cache等資源,但卻被模擬成多個物理內(nèi)核芯片。從軟件的角度看,系統(tǒng)中好像存在多個獨立的處理機內(nèi)核,因而可以讓單個處理機在線程級實現(xiàn)并行計算,支持多線程的操作系統(tǒng)和應(yīng)用軟件。但核心硬件資源實際上只有一套,故當(dāng)多個線程同時訪問某一個資源時,其中一個線程要暫時停止并讓出資源,直到這些資源閑置后才能繼續(xù)執(zhí)行。前往10.5雙核安騰處理機的組成雙核安騰處理機的組成二、雙核安騰處理機的組織結(jié)構(gòu)1、指令執(zhí)行單元2、處理機流水線3、cache組織4、雙核仲裁前往雙核安騰處理機流水線雙核安騰處理機流水線 顯示了安騰處理機的八級內(nèi)核流水線結(jié)構(gòu)。流水線每個時鐘周期可以執(zhí)行最多6條指令。前兩個流水級構(gòu)成前端,執(zhí)行取指令操作IPG,指令指針生成,并將指令送入指令旋轉(zhuǎn)級(ROT)的去耦緩沖器。擴展流水級(EXP)實現(xiàn)指令分派,REN級實現(xiàn)寄存器重命名。寄存器讀操作級(REG)完成提交操作碼操作,在這一級訪問寄存器文件并在處理完推斷控制后通過旁路網(wǎng)絡(luò)提交數(shù)據(jù)。最后三級實現(xiàn)寬并行執(zhí)行EXE、異

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論