版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章安騰高性能處理機(jī)體系結(jié)構(gòu)10.1高性能處理機(jī)體系結(jié)構(gòu)的演變10.2安騰體系結(jié)構(gòu)的基本設(shè)計(jì)思想10.4指令級(jí)并行機(jī)制10.5雙核安騰處理機(jī)的組成本章小結(jié)10.3安騰指令系統(tǒng)結(jié)構(gòu)第10章安騰高性能處理機(jī)體系結(jié)構(gòu)10.1高性能處理機(jī)16.1單機(jī)系統(tǒng)的總線結(jié)構(gòu)IA32體系結(jié)構(gòu):IA32家族中的第一款32位微處理機(jī)流水技術(shù)IA32體系結(jié)構(gòu)仍是基于CISC架構(gòu)的處理機(jī)。Pentium體系結(jié)構(gòu):CISC外殼加RISC內(nèi)核的結(jié)構(gòu)一、IA體系結(jié)構(gòu)的歷史演變10.1高性能處理機(jī)體系結(jié)構(gòu)的演變二、英特爾64位處理機(jī)的兩種體系結(jié)構(gòu)1、64T(英特爾64):基于顯式并行指令計(jì)算EPIC技術(shù)的IA64體系結(jié)構(gòu),不與IA64指令系統(tǒng)的兼容性。2、安騰體系結(jié)構(gòu):與IA64指令系統(tǒng)的兼容性。6.1單機(jī)系統(tǒng)的總線結(jié)構(gòu)IA32體系結(jié)構(gòu):IA32家族中2安騰體系結(jié)構(gòu)脫離了IA32CISC體系結(jié)構(gòu)的束縛,但并沒(méi)有完全照搬RISC處理機(jī)的設(shè)計(jì)思想。EPIC既不是RISC,也不是CISC,而是一種吸收了CISC
和RISC
兩者長(zhǎng)處的全新的體系結(jié)構(gòu)。顯式并行指令計(jì)算(EPIC)技術(shù)超長(zhǎng)指令字(VLIW)技術(shù)分支推斷技術(shù)推測(cè)技術(shù)軟件流水技術(shù)寄存器堆棧技術(shù)
10.2安騰體系結(jié)構(gòu)的基本設(shè)計(jì)思想主要體現(xiàn)在以下幾個(gè)方面:安騰體系結(jié)構(gòu)脫離了IA32CISC體系結(jié)構(gòu)的束縛,但并沒(méi)有3安騰的指令中設(shè)計(jì)了屬性字段,用于指明哪些指令可以并行執(zhí)行。這些屬性信息并不是在指令執(zhí)行過(guò)程中由處理機(jī)判定后獲得的,而是由編譯程序在編譯時(shí)通過(guò)對(duì)源代碼的分析獲取指令級(jí)的并行性信息,并填寫到執(zhí)行代碼中。這就是所謂顯式并行的概念。1.顯式并行指令計(jì)算(EPIC)技術(shù)總線的特性:EPIC技術(shù)則充分利用現(xiàn)代編譯程序強(qiáng)大的對(duì)程序執(zhí)行過(guò)程的調(diào)度能力,由專用的EPIC
編譯器首先分析源代碼,根據(jù)指令之間的依賴關(guān)系最大限度地挖掘指令級(jí)的并行性,從而確定哪些指令可以并行執(zhí)行,然后把并行指令放在一起并重新排序,提取并調(diào)度其指令級(jí)的并行,并將這種并行性通過(guò)屬性字段“顯式”地告知指令執(zhí)行部件。
安騰的指令中設(shè)計(jì)了屬性字段,用于指明哪些指令可以并行執(zhí)行。這4超長(zhǎng)指令字(VLIW)技術(shù)是提高計(jì)算機(jī)系統(tǒng)并行性的有效手段。VLIW系統(tǒng)中指令字長(zhǎng)可多達(dá)幾百位,編譯器經(jīng)過(guò)優(yōu)化,能將多條能夠并行執(zhí)行的指令合并成一個(gè)具有多個(gè)操作碼的超長(zhǎng)指令字,控制多個(gè)獨(dú)立的功能部件工作。EPIC是基于超長(zhǎng)指令字的設(shè)計(jì)2.超長(zhǎng)指令字(VLIW)技術(shù)通過(guò)將多條指令放入一個(gè)超長(zhǎng)指令字,能有效提高處理機(jī)內(nèi)各個(gè)執(zhí)行部件的利用率。超長(zhǎng)指令字(VLIW)技術(shù)是提高計(jì)算機(jī)系統(tǒng)并行性的有效手段。5(技術(shù)能將傳統(tǒng)的“ifthenelse”分支結(jié)構(gòu)轉(zhuǎn)變?yōu)闊o(wú)分支的順序/并行代碼,以避免由于錯(cuò)誤預(yù)測(cè)分支而付出代價(jià)。當(dāng)處理機(jī)在運(yùn)行中遇到分支時(shí),它并不是進(jìn)行傳統(tǒng)的分支預(yù)測(cè)并選擇可能性最大的一個(gè)分支執(zhí)行,而是按分支的所有可能的后續(xù)路徑開(kāi)始并行執(zhí)行多段代碼并暫存各段代碼的執(zhí)行結(jié)果,直到處理機(jī)能夠確認(rèn)分支轉(zhuǎn)移與否的條件是真是假時(shí),處理機(jī)再把應(yīng)該選擇的路徑上的指令執(zhí)行結(jié)果保留下來(lái)。3、分支推斷技術(shù)采用了推斷技術(shù)后,原有的轉(zhuǎn)移指令被轉(zhuǎn)換成條件執(zhí)行指令。原有的轉(zhuǎn)移指令的所有的分支都被并行執(zhí)行,無(wú)論哪條分支將被命中,都不會(huì)出現(xiàn)流水線斷流現(xiàn)象,故消除了因分支預(yù)測(cè)失誤而重新裝載流水線導(dǎo)致的低效率現(xiàn)象。更進(jìn)一步,以前由于程序分支和指令依賴等因素不能并行執(zhí)行的許多指令現(xiàn)在完全可以并行執(zhí)行,從而提高了處理機(jī)的執(zhí)行效率。(技術(shù)能將傳統(tǒng)的“ifthenelse”分支6控制推測(cè)技術(shù)和數(shù)據(jù)推測(cè)技術(shù)允許提前執(zhí)行從內(nèi)存單元至通用寄存器的取數(shù)指令。當(dāng)程序中有分支時(shí):控制推測(cè)技術(shù)將位于分支指令之后的取數(shù)指令提前若干周期執(zhí)行,以此消除訪存延時(shí),提高指令執(zhí)行的并行度。數(shù)據(jù)推測(cè)技術(shù)則用于解決提前取數(shù)指令后的數(shù)據(jù)相關(guān)性問(wèn)題。
推測(cè)技術(shù)避免了cache命中失敗而導(dǎo)致訪存延遲的損失,消除了因處理機(jī)空閑而導(dǎo)致的并行性降低的缺憾。包括控制推測(cè)和數(shù)據(jù)推測(cè),以減少存儲(chǔ)器訪問(wèn)響應(yīng)時(shí)間的影響。4、推測(cè)技術(shù):控制推測(cè)技術(shù)和數(shù)據(jù)推測(cè)技術(shù)允許提前執(zhí)行從內(nèi)存單元至通用寄存器7安騰體系結(jié)構(gòu)引入了新機(jī)制來(lái)支持軟件流水,包括自動(dòng)寄存器重命名、推斷執(zhí)行和特殊的循環(huán)終止指令。因此,安騰處理機(jī)能夠通過(guò)旋轉(zhuǎn)寄存器機(jī)制為每個(gè)循環(huán)步提供自己的寄存器。安騰體系結(jié)構(gòu)中硬件對(duì)編譯器管理軟件流水線的支持使得編譯器能夠生成精簡(jiǎn)的代碼,以高度并行的方式實(shí)現(xiàn)循環(huán)操作。安騰處理機(jī)利用128個(gè)通用寄存器中的96個(gè)堆棧寄存器實(shí)現(xiàn)寄存器堆棧。并在處理機(jī)內(nèi)部設(shè)置一個(gè)寄存器堆棧引擎RSE來(lái)管理寄存器堆棧。當(dāng)96個(gè)堆棧寄存器不夠用時(shí),寄存器堆棧引擎能夠自動(dòng)將寄存器堆棧與內(nèi)存儲(chǔ)器對(duì)接,將寄存器堆棧溢出的數(shù)據(jù)轉(zhuǎn)移到內(nèi)存儲(chǔ)器中保存,或在寄存器堆棧彈出數(shù)據(jù)時(shí)執(zhí)行反向操作。這樣,編譯器將看到一個(gè)容量沒(méi)有限制的寄存器堆??臻g。6、寄存器堆棧技術(shù)5、軟件流水技術(shù)安騰體系結(jié)構(gòu)引入了新機(jī)制來(lái)支持軟件流水,包括自動(dòng)寄存器重命名8
10.3安騰指令系統(tǒng)結(jié)構(gòu)一、執(zhí)行單元與指令類型為提高并行處理能力,安騰處理機(jī)內(nèi)部設(shè)置了多個(gè)執(zhí)行單元。這些執(zhí)行單元被分為四類:I單元:整數(shù)執(zhí)行單元M單元:存儲(chǔ)器執(zhí)行單元B單元:轉(zhuǎn)移執(zhí)行單元F單元:浮點(diǎn)執(zhí)行單元用于執(zhí)行整數(shù)算術(shù)運(yùn)算、邏輯運(yùn)算、移位和比特處理等指令,以及32位數(shù)據(jù)和指針操作。用于執(zhí)行通用寄存器、浮點(diǎn)寄存器和存儲(chǔ)器之間的取數(shù)指令、存數(shù)指令以及某些整數(shù)ALU運(yùn)算指令。用于執(zhí)行轉(zhuǎn)移分支類指令。用于執(zhí)行浮點(diǎn)運(yùn)算指令。相應(yīng)地,安騰指令系統(tǒng)中的所有指令被分成六種類型10.3安騰指令系統(tǒng)結(jié)構(gòu)一、執(zhí)行單元與指令類型為提高并行處9二、安騰寄存器結(jié)構(gòu)與RISC體系結(jié)構(gòu)類似,安騰體系結(jié)構(gòu)大量使用寄存器操作只有取數(shù)load和存數(shù)store指令才能夠訪問(wèn)內(nèi)存,所有其他指令都在寄存器上操作。用戶可直接使用的寄存器數(shù)量甚至大大超過(guò)了主流RISC處理機(jī)安騰的主要寄存器二、安騰寄存器結(jié)構(gòu)與RISC體系結(jié)構(gòu)類似,安騰體系結(jié)構(gòu)大量使10三、安騰指令格式典型指令格式:安騰的每條指令占41位:故一條典型的R
RR型安騰指令需要21位來(lái)標(biāo)識(shí)兩個(gè)源寄存器操作數(shù)和一個(gè)目標(biāo)寄存器操作數(shù)。大多數(shù)指令還需要一個(gè)6位字段選擇64個(gè)推斷寄存器之一,用于支持推斷執(zhí)行、軟件流水等功能。指令束格式:安騰體系結(jié)構(gòu)采用超長(zhǎng)指令字技術(shù),利用集束指令合成三、安騰指令格式典型指令格式:安騰的每條指令占41位:故一條11指令組:指令組將相互之間沒(méi)有讀后寫相關(guān),寫后寫相關(guān),可以并行執(zhí)行的一組指令集合。指令束模版模版字段正是為實(shí)現(xiàn)EPIC的設(shè)計(jì)思想服務(wù)的:一方面,編譯器可以通過(guò)5位模版字段指明每個(gè)指令槽中的指令使用哪一個(gè)執(zhí)行單元;另一方面,編譯器可以通過(guò)模板字段明確給出指令束內(nèi)或指令束間的依賴關(guān)系。指令組:指令組將相互之間沒(méi)有讀后寫相關(guān),寫后寫相關(guān),可以并行12四、安騰匯編語(yǔ)言格式[qp]Mnemonic[.Comp1][.Comp2]dest=src選擇64個(gè)推斷寄存器之一。在指令執(zhí)行時(shí),如果選定的一比特推斷寄存器的當(dāng)前值為1,則該指令的執(zhí)行結(jié)果最終會(huì)被硬件采用;否則,該指令的執(zhí)行結(jié)果將被硬件放棄。對(duì)于不需要推斷寄存器的指令,在機(jī)器指令中將默認(rèn)指定推斷寄存器0,該寄存器的值固定為0。因此,所有的指令都可以看作是條件執(zhí)行的。為指令助記符為指令完成符用于進(jìn)一步限定指令所需完成的操作源操作數(shù)目標(biāo)操作數(shù)四、安騰匯編語(yǔ)言格式[qp]Mnemonic[.Com13①addrl=r2,r3//簡(jiǎn)單指令:r2+r3=>r1
②(P4)addrl=r2,r3//推斷指令,指定推斷寄存器4
③addr1=r2,r3,//立即尋址指令
④cmpeqP3,P5=0,r4//帶指令完成符的指令:將r4寄存器的值與0比較,若相等則置推斷寄存器P3為1,P5為0;否則置推斷寄存器P3為0,P5為1
⑤ld8r1=[r7]//從寄存器r7指向的存儲(chǔ)器空間讀取連續(xù)8個(gè)字節(jié),裝入寄存器r1
addr6=r9,r8;//與上一條指令不存在相關(guān)性,故可放在一個(gè)指令組中
subr3=r1,r4//第一條指令的目標(biāo)操作數(shù)是本指令的源操作數(shù),故需重新開(kāi)始一個(gè)指令組
st8[r6]=r10//將寄存器r10的內(nèi)容存入寄存器r6指向的存儲(chǔ)器單元例1:下面給出一些匯編指令①addrl=r2,r31410.4指令級(jí)并行機(jī)制一、推斷執(zhí)行技術(shù)1、分支對(duì)系統(tǒng)性能的影響分支是在兩個(gè)指令序列中根據(jù)判定條件選擇其中一個(gè)序列執(zhí)行。為了判定最終選擇哪一個(gè)指令序列執(zhí)行,必須等待一些條件判斷指令的執(zhí)行結(jié)果。指令執(zhí)行一旦遇到分支轉(zhuǎn)移,在執(zhí)行判定操作之前,多個(gè)功能部件由于無(wú)法確定程序的執(zhí)行方向而空閑等待,使系統(tǒng)性能明顯下降。分支預(yù)測(cè)并不能充分利用處理機(jī)流水線的功能部件10.4指令級(jí)并行機(jī)制一、推斷執(zhí)行技術(shù)1、分支對(duì)系統(tǒng)性能的影152、安騰的推斷技術(shù)原理推斷技術(shù)處理分支的方法是利用多個(gè)功能部件并行執(zhí)行各個(gè)分支,然后根據(jù)判定結(jié)果選取某一分支的運(yùn)行結(jié)果,因而可消除大部分的轉(zhuǎn)移,使得整個(gè)系統(tǒng)的運(yùn)行速度得到提高。采用顯式并行指令計(jì)算技術(shù)的安騰處理機(jī)將處理機(jī)的多個(gè)功能部件的并行處理能力與編譯器的強(qiáng)大功能相結(jié)合,允許在編譯時(shí)讓編譯器對(duì)程序進(jìn)行優(yōu)化,消除轉(zhuǎn)移,提高效率。安騰處理機(jī)的指令系統(tǒng)允許在每條指令中都指定一個(gè)推斷寄存器。2、安騰的推斷技術(shù)原理推斷技術(shù)處理分支的方法是利用多個(gè)功能部163、推斷執(zhí)行的實(shí)現(xiàn)例2考察下面的一個(gè)典型的
if-then-else結(jié)構(gòu):
If(x=0)thenm=m+1elsem=m-1
在傳統(tǒng)的超標(biāo)量流水線體系結(jié)構(gòu)中,完成上述判斷通常要首先安排一條比較語(yǔ)句,將x與0進(jìn)行比較。得到比較結(jié)果后,再選擇執(zhí)行then分支或else分支。
相應(yīng)的匯編語(yǔ)句大致如下所示:
cmpx,0;比較x和0
jeL1;若相等則轉(zhuǎn)移至標(biāo)號(hào)L1subm,1
;m=m-1
jmpL2
;無(wú)條件轉(zhuǎn)移至標(biāo)號(hào)L2L1:addm,1
;m=m+lL2:3、推斷執(zhí)行的實(shí)現(xiàn)例2考察下面的一個(gè)典型的if-then174、安騰處理機(jī)設(shè)計(jì)思想首先,安騰指令系統(tǒng)中的每條指令都能夠支持推斷執(zhí)行,所以第二條指令和第三條指令中的條件判斷并不需要使用專門的判斷指令。雖然后面兩條指令是條件執(zhí)行的,但整體條件判斷結(jié)構(gòu)不再需要分支指令。其次,指令中的推斷操作的安排是由編譯器在編譯過(guò)程中完成的,不需要處理機(jī)在執(zhí)行指令的非常短的時(shí)間內(nèi)動(dòng)態(tài)安排各條指令的條件執(zhí)行。最后,每條指令中雖然可以指定推斷寄存器,但取指令、指令譯碼和執(zhí)行操作并不需要等到推斷寄存器的取值確定后再進(jìn)行。下面可以看一下傳統(tǒng)流水線與安騰處理機(jī)比較。4、安騰處理機(jī)設(shè)計(jì)思想首先,安騰指令系統(tǒng)中的每條指令都能夠支18傳統(tǒng)流水線與安騰處理機(jī)比較傳統(tǒng)流水線與安騰處理機(jī)比較19二、推測(cè)技術(shù)1、存儲(chǔ)器訪問(wèn)延遲與指令級(jí)并行在現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中,多級(jí)存儲(chǔ)體系能夠有效提高存儲(chǔ)系統(tǒng)的性能價(jià)格比。但是,在多個(gè)功能單元實(shí)現(xiàn)并行處理的處理機(jī)中,執(zhí)行指令的速度仍然受到存儲(chǔ)器訪問(wèn)速度的制約?,F(xiàn)代RISC處理機(jī)用專用指令訪問(wèn)內(nèi)存,取數(shù)指令往往成為影響處理機(jī)性能的瓶頸。見(jiàn)下圖看一下取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響。二、推測(cè)技術(shù)1、存儲(chǔ)器訪問(wèn)延遲與指令級(jí)并行在現(xiàn)代計(jì)算機(jī)體系結(jié)20取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響①load(a)②k=k+1
③i=i-1
④n=n+3
⑤q=q+a現(xiàn)利用具有四個(gè)并行執(zhí)行單元的超標(biāo)量處理機(jī)完成如下的指令序列:
如上指令序列:
①-⑤假設(shè)所有的算術(shù)運(yùn)算指令可以在一個(gè)時(shí)鐘周期中完成,而訪存指令需要三個(gè)時(shí)鐘周期。前四條指令可以分別安排在四個(gè)執(zhí)行單元中并行執(zhí)行。如果load指令所要訪問(wèn)的內(nèi)存單元并沒(méi)有被調(diào)入cache,那么load指令直接訪問(wèn)內(nèi)存需要3個(gè)時(shí)鐘周期才能執(zhí)行完畢。而第5條指令依賴于load指令取得的操作數(shù),所以在執(zhí)行第五條指令之前需要等待兩個(gè)時(shí)鐘周期,從而所有的執(zhí)行單元都必須閑置2個(gè)時(shí)鐘周期,這就大大降低了執(zhí)行效率。取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響①load(a)現(xiàn)利用具有212、控制推測(cè)
解決處理機(jī)訪存延遲的辦法就是將訪存操作盡可能提前執(zhí)行。在安騰處理機(jī)中,控制推測(cè)技術(shù)用于解決上述與取數(shù)指令有關(guān)的控制相關(guān)問(wèn)題。3、數(shù)據(jù)推測(cè)控制推測(cè)技術(shù)能夠解決分支和取數(shù)操作中的控制相關(guān),但在指令優(yōu)化過(guò)程中還可能存在數(shù)據(jù)相關(guān)。2、控制推測(cè)
解決處理機(jī)訪存延遲的辦法就是將訪存操作盡可能提22【例3】考察下面包含分支與取數(shù)指令的程序段:If(r3=0)thenr2=r2+1elser1=[r3]其原始匯編代碼如下:①cmp.eqP1,P2=0,r3;②(P1)addr2=1,r2//無(wú)條件執(zhí)行:將r3寄存器的值與0比較,若相等則置推斷寄存器P1為1,P2為0,否則置推斷寄存器P1為0,P2為1③(P2)ld8r1=[r3]//若P1為1,則r2+1送r2//若P2為1,則以r3的內(nèi)容為地址訪存,8字節(jié)操作數(shù)被加載至寄存器r1.為了減少訪存延遲,希望將第3條取數(shù)指令提前至第1條指令的前面,或是更早的位置。但第3條指令是推斷執(zhí)行的,其實(shí)際結(jié)果只有在P2為真的情況下才會(huì)被真正存儲(chǔ)。如果第3條指令固執(zhí)行錯(cuò)誤而引起異常處理,但最后發(fā)現(xiàn)該取數(shù)指令實(shí)際上并不需要執(zhí)行,那么將浪費(fèi)大量時(shí)間。【例3】考察下面包含分支與取數(shù)指令的程序段:If(r3=2310.5雙核安騰處理機(jī)的組成一、雙核安騰處理機(jī)的基本特性1、并行處理技術(shù)2、顯式并行指令計(jì)算技術(shù)3、超線程技術(shù)4、三級(jí)大容量高速緩沖存儲(chǔ)器5、硬件輔助虛擬化技術(shù)6、高速緩存安全技術(shù)10.5雙核安騰處理機(jī)的組成一、雙核安騰處理機(jī)的基本特性24虛擬化技術(shù)所謂虛擬化,是指用單個(gè)處理機(jī)模擬多個(gè)處理機(jī)并行工作,而每個(gè)處理機(jī)都可以被看作一個(gè)獨(dú)立的工作環(huán)境,從而在一個(gè)平臺(tái)上同時(shí)運(yùn)行多個(gè)操作系統(tǒng),并且每一個(gè)操作系統(tǒng)中都有多個(gè)程序運(yùn)行。應(yīng)用程序在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率。在雙核安騰處理機(jī)中,英特爾首次把在奔騰4處理機(jī)中采用的超線程(HyperThreading)技術(shù)引進(jìn)到安騰處理器家族中,每個(gè)處理機(jī)支持四個(gè)線程,使其能夠處理的應(yīng)用線程數(shù)是早期單核產(chǎn)品的四倍。虛擬化技術(shù)所謂虛擬化,是指用單個(gè)處理機(jī)模擬多個(gè)處理機(jī)并行工作25超線程技術(shù)2/2超線程技術(shù)在一顆處理機(jī)芯片內(nèi)設(shè)計(jì)多個(gè)邏輯上的處理機(jī)內(nèi)核,這些邏輯上的內(nèi)核共享處理機(jī)內(nèi)的整數(shù)運(yùn)算單元、浮點(diǎn)運(yùn)算單元和二級(jí)cache等資源,但卻被模擬成多個(gè)物理內(nèi)核芯片。從軟件的角度看,系統(tǒng)中好像存在多個(gè)獨(dú)立的處理機(jī)內(nèi)核,因而可以讓單個(gè)處理機(jī)在線程級(jí)實(shí)現(xiàn)并行計(jì)算,支持多線程的操作系統(tǒng)和應(yīng)用軟件。但核心硬件資源實(shí)際上只有一套,故當(dāng)多個(gè)線程同時(shí)訪問(wèn)某一個(gè)資源時(shí),其中一個(gè)線程要暫時(shí)停止并讓出資源,直到這些資源閑置后才能繼續(xù)執(zhí)行。超線程技術(shù)2/2超線程技術(shù)在一顆處理機(jī)芯片內(nèi)設(shè)計(jì)多個(gè)邏輯上的26二、雙核安騰處理機(jī)的組織結(jié)構(gòu)1、指令執(zhí)行單元2、處理機(jī)流水線3、cache組織4、雙核仲裁二、雙核安騰處理機(jī)的組織結(jié)構(gòu)1、指令執(zhí)行單元27雙核安騰處理機(jī)流水線顯示了安騰處理機(jī)的八級(jí)內(nèi)核流水線結(jié)構(gòu)。流水線每個(gè)時(shí)鐘周期可以執(zhí)行最多6條指令。前兩個(gè)流水級(jí)構(gòu)成前端,執(zhí)行取指令操作IPG,指令指針生成,并將指令送入指令旋轉(zhuǎn)級(jí)(ROT)的去耦緩沖器。擴(kuò)展流水級(jí)(EXP)實(shí)現(xiàn)指令分派,REN級(jí)實(shí)現(xiàn)寄存器重命名。寄存器讀操作級(jí)(REG)完成提交操作碼操作,在這一級(jí)訪問(wèn)寄存器文件并在處理完推斷控制后通過(guò)旁路網(wǎng)絡(luò)提交數(shù)據(jù)。最后三級(jí)實(shí)現(xiàn)寬并行執(zhí)行EXE、異常管理(DET)和寫回WRB操作。其中異常檢測(cè)級(jí)實(shí)現(xiàn)分支解析、存儲(chǔ)器異常管理和推測(cè)等功能。雙核安騰處理機(jī)流水線顯示了安騰處理機(jī)的八級(jí)內(nèi)核流水線結(jié)構(gòu)。28雙核仲裁器的方框圖
雙核安騰處理機(jī)配置了兩個(gè)獨(dú)立的處理機(jī)內(nèi)核,但兩個(gè)內(nèi)核之間必須相互協(xié)同工作。兩個(gè)內(nèi)核通過(guò)一個(gè)仲裁器連接到系統(tǒng)接口。仲裁器向每個(gè)內(nèi)核提供低延遲的傳輸路徑,以便對(duì)系統(tǒng)事件做出響應(yīng)。雙核仲裁器的方框圖雙核安騰處理機(jī)配置了兩個(gè)獨(dú)立的處理機(jī)內(nèi)核29第6章小結(jié)物理特性、功能特性電氣特性、機(jī)械特性總線的特性總線帶寬總線本身所能達(dá)到的最高傳輸速率位,(B/s)當(dāng)代流行的標(biāo)準(zhǔn)總線追求與結(jié)構(gòu)、CPU、技術(shù)無(wú)關(guān)的開(kāi)發(fā)標(biāo)準(zhǔn)??偩€內(nèi)部結(jié)構(gòu)數(shù)據(jù)傳送總線(地址線、數(shù)據(jù)線、控制線);(2)仲裁總線;(3)中斷和同步總線;(4)公用線(電源、地線、時(shí)鐘、復(fù)位等信號(hào)線)。第6章小結(jié)物理特性、功能特性電氣特性、機(jī)械特性總線的特性總線30第6章小結(jié)-續(xù)1信息的傳輸方式可采用:(1)并行傳送;(2)串行傳送;(3)復(fù)用傳送。各種外圍設(shè)備必須通過(guò)“接口”與總線相連。接口是指CPU、主存、外圍設(shè)備之間通過(guò)總線進(jìn)行連接的邏輯部件。接口部件在它動(dòng)態(tài)聯(lián)結(jié)的兩個(gè)功能部件起著緩沖器和轉(zhuǎn)換器的作用,以便實(shí)現(xiàn)彼此之間的信息傳送。CPU接口接口第6章小結(jié)-續(xù)1信息的傳輸方式可采用:(1)并行傳送;各種31第6章小結(jié)-續(xù)2為了解決多個(gè)主設(shè)備同時(shí)競(jìng)爭(zhēng)總線控制權(quán),必須具有總線仲裁部件總線仲裁分為集中式仲裁分布式仲裁集中式仲裁方式必有一個(gè)中央仲裁器,它受理所有功能模塊的總線請(qǐng)求,按優(yōu)先原則或公平原則進(jìn)行排隊(duì),然后僅給一個(gè)功能模塊發(fā)出授權(quán)信號(hào)。分布式仲裁不需要中央仲裁器,每個(gè)功能模塊都有自己的仲裁號(hào)和仲裁器。每個(gè)仲裁器將仲裁總線上得到的仲裁號(hào)與自己的仲裁號(hào)進(jìn)行比較,從而獲得總線控制權(quán)。第6章小結(jié)-續(xù)2為了解決多個(gè)主設(shè)備同時(shí)競(jìng)爭(zhēng)總線控制權(quán),必須32總線定時(shí)是總線系統(tǒng)的又一核心問(wèn)題之一為了同步主方、從方的操作,必須制訂定時(shí)協(xié)議。通常采用同步定時(shí)與異步定時(shí)兩種方式。在異步定時(shí)協(xié)議中,后一事件出現(xiàn)在總線上的時(shí)刻取決于前一事件的出現(xiàn),即建立在應(yīng)答式或互鎖機(jī)制基礎(chǔ)上,不需要統(tǒng)一的公共時(shí)鐘信號(hào)。在同步定時(shí)協(xié)議中,事件出現(xiàn)在總線上的時(shí)刻由總線時(shí)鐘信號(hào)來(lái)確定,總線周期的長(zhǎng)度是固定的。第6章小結(jié)-續(xù)3總線定時(shí)是總線系統(tǒng)的又一核心問(wèn)題之一為了同步主方、從方的操33第6章小結(jié)-END當(dāng)代的總線標(biāo)準(zhǔn)大都能支持以下數(shù)據(jù)傳送模式:(1)讀/寫操作;(2)塊傳送操作;(3)寫后讀、讀修改寫操作;(4)廣播、廣集操作。PCI總線是當(dāng)前流行的總線;是一個(gè)高帶寬且與處理器無(wú)關(guān)的標(biāo)準(zhǔn)總線;又是至關(guān)重要的層次總線;它采用同步定時(shí)協(xié)議和集中式仲裁策略;并具有自動(dòng)配置能力。InfiniBand標(biāo)準(zhǔn),瞄準(zhǔn)了高端服務(wù)器市場(chǎng)的最新I/O規(guī)范,它是一種基于開(kāi)關(guān)的體系結(jié)構(gòu),可連接多達(dá)64000個(gè)服務(wù)器、存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)設(shè)備,能替代當(dāng)前服務(wù)器中的PCI總線,數(shù)據(jù)傳輸率高達(dá)30GB/s。因此適合于高成本的較大規(guī)模計(jì)算機(jī)系統(tǒng)。第6章小結(jié)-END當(dāng)代的總線標(biāo)準(zhǔn)大都能支持以下數(shù)據(jù)傳送模34第10章安騰高性能處理機(jī)體系結(jié)構(gòu)10.1高性能處理機(jī)體系結(jié)構(gòu)的演變10.2安騰體系結(jié)構(gòu)的基本設(shè)計(jì)思想10.4指令級(jí)并行機(jī)制10.5雙核安騰處理機(jī)的組成本章小結(jié)10.3安騰指令系統(tǒng)結(jié)構(gòu)第10章安騰高性能處理機(jī)體系結(jié)構(gòu)10.1高性能處理機(jī)356.1單機(jī)系統(tǒng)的總線結(jié)構(gòu)IA32體系結(jié)構(gòu):IA32家族中的第一款32位微處理機(jī)流水技術(shù)IA32體系結(jié)構(gòu)仍是基于CISC架構(gòu)的處理機(jī)。Pentium體系結(jié)構(gòu):CISC外殼加RISC內(nèi)核的結(jié)構(gòu)一、IA體系結(jié)構(gòu)的歷史演變10.1高性能處理機(jī)體系結(jié)構(gòu)的演變二、英特爾64位處理機(jī)的兩種體系結(jié)構(gòu)1、64T(英特爾64):基于顯式并行指令計(jì)算EPIC技術(shù)的IA64體系結(jié)構(gòu),不與IA64指令系統(tǒng)的兼容性。2、安騰體系結(jié)構(gòu):與IA64指令系統(tǒng)的兼容性。6.1單機(jī)系統(tǒng)的總線結(jié)構(gòu)IA32體系結(jié)構(gòu):IA32家族中36安騰體系結(jié)構(gòu)脫離了IA32CISC體系結(jié)構(gòu)的束縛,但并沒(méi)有完全照搬RISC處理機(jī)的設(shè)計(jì)思想。EPIC既不是RISC,也不是CISC,而是一種吸收了CISC
和RISC
兩者長(zhǎng)處的全新的體系結(jié)構(gòu)。顯式并行指令計(jì)算(EPIC)技術(shù)超長(zhǎng)指令字(VLIW)技術(shù)分支推斷技術(shù)推測(cè)技術(shù)軟件流水技術(shù)寄存器堆棧技術(shù)
10.2安騰體系結(jié)構(gòu)的基本設(shè)計(jì)思想主要體現(xiàn)在以下幾個(gè)方面:安騰體系結(jié)構(gòu)脫離了IA32CISC體系結(jié)構(gòu)的束縛,但并沒(méi)有37安騰的指令中設(shè)計(jì)了屬性字段,用于指明哪些指令可以并行執(zhí)行。這些屬性信息并不是在指令執(zhí)行過(guò)程中由處理機(jī)判定后獲得的,而是由編譯程序在編譯時(shí)通過(guò)對(duì)源代碼的分析獲取指令級(jí)的并行性信息,并填寫到執(zhí)行代碼中。這就是所謂顯式并行的概念。1.顯式并行指令計(jì)算(EPIC)技術(shù)總線的特性:EPIC技術(shù)則充分利用現(xiàn)代編譯程序強(qiáng)大的對(duì)程序執(zhí)行過(guò)程的調(diào)度能力,由專用的EPIC
編譯器首先分析源代碼,根據(jù)指令之間的依賴關(guān)系最大限度地挖掘指令級(jí)的并行性,從而確定哪些指令可以并行執(zhí)行,然后把并行指令放在一起并重新排序,提取并調(diào)度其指令級(jí)的并行,并將這種并行性通過(guò)屬性字段“顯式”地告知指令執(zhí)行部件。
安騰的指令中設(shè)計(jì)了屬性字段,用于指明哪些指令可以并行執(zhí)行。這38超長(zhǎng)指令字(VLIW)技術(shù)是提高計(jì)算機(jī)系統(tǒng)并行性的有效手段。VLIW系統(tǒng)中指令字長(zhǎng)可多達(dá)幾百位,編譯器經(jīng)過(guò)優(yōu)化,能將多條能夠并行執(zhí)行的指令合并成一個(gè)具有多個(gè)操作碼的超長(zhǎng)指令字,控制多個(gè)獨(dú)立的功能部件工作。EPIC是基于超長(zhǎng)指令字的設(shè)計(jì)2.超長(zhǎng)指令字(VLIW)技術(shù)通過(guò)將多條指令放入一個(gè)超長(zhǎng)指令字,能有效提高處理機(jī)內(nèi)各個(gè)執(zhí)行部件的利用率。超長(zhǎng)指令字(VLIW)技術(shù)是提高計(jì)算機(jī)系統(tǒng)并行性的有效手段。39(技術(shù)能將傳統(tǒng)的“ifthenelse”分支結(jié)構(gòu)轉(zhuǎn)變?yōu)闊o(wú)分支的順序/并行代碼,以避免由于錯(cuò)誤預(yù)測(cè)分支而付出代價(jià)。當(dāng)處理機(jī)在運(yùn)行中遇到分支時(shí),它并不是進(jìn)行傳統(tǒng)的分支預(yù)測(cè)并選擇可能性最大的一個(gè)分支執(zhí)行,而是按分支的所有可能的后續(xù)路徑開(kāi)始并行執(zhí)行多段代碼并暫存各段代碼的執(zhí)行結(jié)果,直到處理機(jī)能夠確認(rèn)分支轉(zhuǎn)移與否的條件是真是假時(shí),處理機(jī)再把應(yīng)該選擇的路徑上的指令執(zhí)行結(jié)果保留下來(lái)。3、分支推斷技術(shù)采用了推斷技術(shù)后,原有的轉(zhuǎn)移指令被轉(zhuǎn)換成條件執(zhí)行指令。原有的轉(zhuǎn)移指令的所有的分支都被并行執(zhí)行,無(wú)論哪條分支將被命中,都不會(huì)出現(xiàn)流水線斷流現(xiàn)象,故消除了因分支預(yù)測(cè)失誤而重新裝載流水線導(dǎo)致的低效率現(xiàn)象。更進(jìn)一步,以前由于程序分支和指令依賴等因素不能并行執(zhí)行的許多指令現(xiàn)在完全可以并行執(zhí)行,從而提高了處理機(jī)的執(zhí)行效率。(技術(shù)能將傳統(tǒng)的“ifthenelse”分支40控制推測(cè)技術(shù)和數(shù)據(jù)推測(cè)技術(shù)允許提前執(zhí)行從內(nèi)存單元至通用寄存器的取數(shù)指令。當(dāng)程序中有分支時(shí):控制推測(cè)技術(shù)將位于分支指令之后的取數(shù)指令提前若干周期執(zhí)行,以此消除訪存延時(shí),提高指令執(zhí)行的并行度。數(shù)據(jù)推測(cè)技術(shù)則用于解決提前取數(shù)指令后的數(shù)據(jù)相關(guān)性問(wèn)題。
推測(cè)技術(shù)避免了cache命中失敗而導(dǎo)致訪存延遲的損失,消除了因處理機(jī)空閑而導(dǎo)致的并行性降低的缺憾。包括控制推測(cè)和數(shù)據(jù)推測(cè),以減少存儲(chǔ)器訪問(wèn)響應(yīng)時(shí)間的影響。4、推測(cè)技術(shù):控制推測(cè)技術(shù)和數(shù)據(jù)推測(cè)技術(shù)允許提前執(zhí)行從內(nèi)存單元至通用寄存器41安騰體系結(jié)構(gòu)引入了新機(jī)制來(lái)支持軟件流水,包括自動(dòng)寄存器重命名、推斷執(zhí)行和特殊的循環(huán)終止指令。因此,安騰處理機(jī)能夠通過(guò)旋轉(zhuǎn)寄存器機(jī)制為每個(gè)循環(huán)步提供自己的寄存器。安騰體系結(jié)構(gòu)中硬件對(duì)編譯器管理軟件流水線的支持使得編譯器能夠生成精簡(jiǎn)的代碼,以高度并行的方式實(shí)現(xiàn)循環(huán)操作。安騰處理機(jī)利用128個(gè)通用寄存器中的96個(gè)堆棧寄存器實(shí)現(xiàn)寄存器堆棧。并在處理機(jī)內(nèi)部設(shè)置一個(gè)寄存器堆棧引擎RSE來(lái)管理寄存器堆棧。當(dāng)96個(gè)堆棧寄存器不夠用時(shí),寄存器堆棧引擎能夠自動(dòng)將寄存器堆棧與內(nèi)存儲(chǔ)器對(duì)接,將寄存器堆棧溢出的數(shù)據(jù)轉(zhuǎn)移到內(nèi)存儲(chǔ)器中保存,或在寄存器堆棧彈出數(shù)據(jù)時(shí)執(zhí)行反向操作。這樣,編譯器將看到一個(gè)容量沒(méi)有限制的寄存器堆??臻g。6、寄存器堆棧技術(shù)5、軟件流水技術(shù)安騰體系結(jié)構(gòu)引入了新機(jī)制來(lái)支持軟件流水,包括自動(dòng)寄存器重命名42
10.3安騰指令系統(tǒng)結(jié)構(gòu)一、執(zhí)行單元與指令類型為提高并行處理能力,安騰處理機(jī)內(nèi)部設(shè)置了多個(gè)執(zhí)行單元。這些執(zhí)行單元被分為四類:I單元:整數(shù)執(zhí)行單元M單元:存儲(chǔ)器執(zhí)行單元B單元:轉(zhuǎn)移執(zhí)行單元F單元:浮點(diǎn)執(zhí)行單元用于執(zhí)行整數(shù)算術(shù)運(yùn)算、邏輯運(yùn)算、移位和比特處理等指令,以及32位數(shù)據(jù)和指針操作。用于執(zhí)行通用寄存器、浮點(diǎn)寄存器和存儲(chǔ)器之間的取數(shù)指令、存數(shù)指令以及某些整數(shù)ALU運(yùn)算指令。用于執(zhí)行轉(zhuǎn)移分支類指令。用于執(zhí)行浮點(diǎn)運(yùn)算指令。相應(yīng)地,安騰指令系統(tǒng)中的所有指令被分成六種類型10.3安騰指令系統(tǒng)結(jié)構(gòu)一、執(zhí)行單元與指令類型為提高并行處43二、安騰寄存器結(jié)構(gòu)與RISC體系結(jié)構(gòu)類似,安騰體系結(jié)構(gòu)大量使用寄存器操作只有取數(shù)load和存數(shù)store指令才能夠訪問(wèn)內(nèi)存,所有其他指令都在寄存器上操作。用戶可直接使用的寄存器數(shù)量甚至大大超過(guò)了主流RISC處理機(jī)安騰的主要寄存器二、安騰寄存器結(jié)構(gòu)與RISC體系結(jié)構(gòu)類似,安騰體系結(jié)構(gòu)大量使44三、安騰指令格式典型指令格式:安騰的每條指令占41位:故一條典型的R
RR型安騰指令需要21位來(lái)標(biāo)識(shí)兩個(gè)源寄存器操作數(shù)和一個(gè)目標(biāo)寄存器操作數(shù)。大多數(shù)指令還需要一個(gè)6位字段選擇64個(gè)推斷寄存器之一,用于支持推斷執(zhí)行、軟件流水等功能。指令束格式:安騰體系結(jié)構(gòu)采用超長(zhǎng)指令字技術(shù),利用集束指令合成三、安騰指令格式典型指令格式:安騰的每條指令占41位:故一條45指令組:指令組將相互之間沒(méi)有讀后寫相關(guān),寫后寫相關(guān),可以并行執(zhí)行的一組指令集合。指令束模版模版字段正是為實(shí)現(xiàn)EPIC的設(shè)計(jì)思想服務(wù)的:一方面,編譯器可以通過(guò)5位模版字段指明每個(gè)指令槽中的指令使用哪一個(gè)執(zhí)行單元;另一方面,編譯器可以通過(guò)模板字段明確給出指令束內(nèi)或指令束間的依賴關(guān)系。指令組:指令組將相互之間沒(méi)有讀后寫相關(guān),寫后寫相關(guān),可以并行46四、安騰匯編語(yǔ)言格式[qp]Mnemonic[.Comp1][.Comp2]dest=src選擇64個(gè)推斷寄存器之一。在指令執(zhí)行時(shí),如果選定的一比特推斷寄存器的當(dāng)前值為1,則該指令的執(zhí)行結(jié)果最終會(huì)被硬件采用;否則,該指令的執(zhí)行結(jié)果將被硬件放棄。對(duì)于不需要推斷寄存器的指令,在機(jī)器指令中將默認(rèn)指定推斷寄存器0,該寄存器的值固定為0。因此,所有的指令都可以看作是條件執(zhí)行的。為指令助記符為指令完成符用于進(jìn)一步限定指令所需完成的操作源操作數(shù)目標(biāo)操作數(shù)四、安騰匯編語(yǔ)言格式[qp]Mnemonic[.Com47①addrl=r2,r3//簡(jiǎn)單指令:r2+r3=>r1
②(P4)addrl=r2,r3//推斷指令,指定推斷寄存器4
③addr1=r2,r3,//立即尋址指令
④cmpeqP3,P5=0,r4//帶指令完成符的指令:將r4寄存器的值與0比較,若相等則置推斷寄存器P3為1,P5為0;否則置推斷寄存器P3為0,P5為1
⑤ld8r1=[r7]//從寄存器r7指向的存儲(chǔ)器空間讀取連續(xù)8個(gè)字節(jié),裝入寄存器r1
addr6=r9,r8;//與上一條指令不存在相關(guān)性,故可放在一個(gè)指令組中
subr3=r1,r4//第一條指令的目標(biāo)操作數(shù)是本指令的源操作數(shù),故需重新開(kāi)始一個(gè)指令組
st8[r6]=r10//將寄存器r10的內(nèi)容存入寄存器r6指向的存儲(chǔ)器單元例1:下面給出一些匯編指令①addrl=r2,r34810.4指令級(jí)并行機(jī)制一、推斷執(zhí)行技術(shù)1、分支對(duì)系統(tǒng)性能的影響分支是在兩個(gè)指令序列中根據(jù)判定條件選擇其中一個(gè)序列執(zhí)行。為了判定最終選擇哪一個(gè)指令序列執(zhí)行,必須等待一些條件判斷指令的執(zhí)行結(jié)果。指令執(zhí)行一旦遇到分支轉(zhuǎn)移,在執(zhí)行判定操作之前,多個(gè)功能部件由于無(wú)法確定程序的執(zhí)行方向而空閑等待,使系統(tǒng)性能明顯下降。分支預(yù)測(cè)并不能充分利用處理機(jī)流水線的功能部件10.4指令級(jí)并行機(jī)制一、推斷執(zhí)行技術(shù)1、分支對(duì)系統(tǒng)性能的影492、安騰的推斷技術(shù)原理推斷技術(shù)處理分支的方法是利用多個(gè)功能部件并行執(zhí)行各個(gè)分支,然后根據(jù)判定結(jié)果選取某一分支的運(yùn)行結(jié)果,因而可消除大部分的轉(zhuǎn)移,使得整個(gè)系統(tǒng)的運(yùn)行速度得到提高。采用顯式并行指令計(jì)算技術(shù)的安騰處理機(jī)將處理機(jī)的多個(gè)功能部件的并行處理能力與編譯器的強(qiáng)大功能相結(jié)合,允許在編譯時(shí)讓編譯器對(duì)程序進(jìn)行優(yōu)化,消除轉(zhuǎn)移,提高效率。安騰處理機(jī)的指令系統(tǒng)允許在每條指令中都指定一個(gè)推斷寄存器。2、安騰的推斷技術(shù)原理推斷技術(shù)處理分支的方法是利用多個(gè)功能部503、推斷執(zhí)行的實(shí)現(xiàn)例2考察下面的一個(gè)典型的
if-then-else結(jié)構(gòu):
If(x=0)thenm=m+1elsem=m-1
在傳統(tǒng)的超標(biāo)量流水線體系結(jié)構(gòu)中,完成上述判斷通常要首先安排一條比較語(yǔ)句,將x與0進(jìn)行比較。得到比較結(jié)果后,再選擇執(zhí)行then分支或else分支。
相應(yīng)的匯編語(yǔ)句大致如下所示:
cmpx,0;比較x和0
jeL1;若相等則轉(zhuǎn)移至標(biāo)號(hào)L1subm,1
;m=m-1
jmpL2
;無(wú)條件轉(zhuǎn)移至標(biāo)號(hào)L2L1:addm,1
;m=m+lL2:3、推斷執(zhí)行的實(shí)現(xiàn)例2考察下面的一個(gè)典型的if-then514、安騰處理機(jī)設(shè)計(jì)思想首先,安騰指令系統(tǒng)中的每條指令都能夠支持推斷執(zhí)行,所以第二條指令和第三條指令中的條件判斷并不需要使用專門的判斷指令。雖然后面兩條指令是條件執(zhí)行的,但整體條件判斷結(jié)構(gòu)不再需要分支指令。其次,指令中的推斷操作的安排是由編譯器在編譯過(guò)程中完成的,不需要處理機(jī)在執(zhí)行指令的非常短的時(shí)間內(nèi)動(dòng)態(tài)安排各條指令的條件執(zhí)行。最后,每條指令中雖然可以指定推斷寄存器,但取指令、指令譯碼和執(zhí)行操作并不需要等到推斷寄存器的取值確定后再進(jìn)行。下面可以看一下傳統(tǒng)流水線與安騰處理機(jī)比較。4、安騰處理機(jī)設(shè)計(jì)思想首先,安騰指令系統(tǒng)中的每條指令都能夠支52傳統(tǒng)流水線與安騰處理機(jī)比較傳統(tǒng)流水線與安騰處理機(jī)比較53二、推測(cè)技術(shù)1、存儲(chǔ)器訪問(wèn)延遲與指令級(jí)并行在現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中,多級(jí)存儲(chǔ)體系能夠有效提高存儲(chǔ)系統(tǒng)的性能價(jià)格比。但是,在多個(gè)功能單元實(shí)現(xiàn)并行處理的處理機(jī)中,執(zhí)行指令的速度仍然受到存儲(chǔ)器訪問(wèn)速度的制約?,F(xiàn)代RISC處理機(jī)用專用指令訪問(wèn)內(nèi)存,取數(shù)指令往往成為影響處理機(jī)性能的瓶頸。見(jiàn)下圖看一下取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響。二、推測(cè)技術(shù)1、存儲(chǔ)器訪問(wèn)延遲與指令級(jí)并行在現(xiàn)代計(jì)算機(jī)體系結(jié)54取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響①load(a)②k=k+1
③i=i-1
④n=n+3
⑤q=q+a現(xiàn)利用具有四個(gè)并行執(zhí)行單元的超標(biāo)量處理機(jī)完成如下的指令序列:
如上指令序列:
①-⑤假設(shè)所有的算術(shù)運(yùn)算指令可以在一個(gè)時(shí)鐘周期中完成,而訪存指令需要三個(gè)時(shí)鐘周期。前四條指令可以分別安排在四個(gè)執(zhí)行單元中并行執(zhí)行。如果load指令所要訪問(wèn)的內(nèi)存單元并沒(méi)有被調(diào)入cache,那么load指令直接訪問(wèn)內(nèi)存需要3個(gè)時(shí)鐘周期才能執(zhí)行完畢。而第5條指令依賴于load指令取得的操作數(shù),所以在執(zhí)行第五條指令之前需要等待兩個(gè)時(shí)鐘周期,從而所有的執(zhí)行單元都必須閑置2個(gè)時(shí)鐘周期,這就大大降低了執(zhí)行效率。取數(shù)指令對(duì)處理機(jī)并行執(zhí)行指令的影響①load(a)現(xiàn)利用具有552、控制推測(cè)
解決處理機(jī)訪存延遲的辦法就是將訪存操作盡可能提前執(zhí)行。在安騰處理機(jī)中,控制推測(cè)技術(shù)用于解決上述與取數(shù)指令有關(guān)的控制相關(guān)問(wèn)題。3、數(shù)據(jù)推測(cè)控制推測(cè)技術(shù)能夠解決分支和取數(shù)操作中的控制相關(guān),但在指令優(yōu)化過(guò)程中還可能存在數(shù)據(jù)相關(guān)。2、控制推測(cè)
解決處理機(jī)訪存延遲的辦法就是將訪存操作盡可能提56【例3】考察下面包含分支與取數(shù)指令的程序段:If(r3=0)thenr2=r2+1elser1=[r3]其原始匯編代碼如下:①cmp.eqP1,P2=0,r3;②(P1)addr2=1,r2//無(wú)條件執(zhí)行:將r3寄存器的值與0比較,若相等則置推斷寄存器P1為1,P2為0,否則置推斷寄存器P1為0,P2為1③(P2)ld8r1=[r3]//若P1為1,則r2+1送r2//若P2為1,則以r3的內(nèi)容為地址訪存,8字節(jié)操作數(shù)被加載至寄存器r1.為了減少訪存延遲,希望將第3條取數(shù)指令提前至第1條指令的前面,或是更早的位置。但第3條指令是推斷執(zhí)行的,其實(shí)際結(jié)果只有在P2為真的情況下才會(huì)被真正存儲(chǔ)。如果第3條指令固執(zhí)行錯(cuò)誤而引起異常處理,但最后發(fā)現(xiàn)該取數(shù)指令實(shí)際上并不需要執(zhí)行,那么將浪費(fèi)大量時(shí)間。【例3】考察下面包含分支與取數(shù)指令的程序段:If(r3=5710.5雙核安騰處理機(jī)的組成一、雙核安騰處理機(jī)的基本特性1、并行處理技術(shù)2、顯式并行指令計(jì)算技術(shù)3、超線程技術(shù)4、三級(jí)大容量高速緩沖存儲(chǔ)器5、硬件輔助虛擬化技術(shù)6、高速緩存安全技術(shù)10.5雙核安騰處理機(jī)的組成一、雙核安騰處理機(jī)的基本特性58虛擬化技術(shù)所謂虛擬化,是指用單個(gè)處理機(jī)模擬多個(gè)處理機(jī)并行工作,而每個(gè)處理機(jī)都可以被看作一個(gè)獨(dú)立的工作環(huán)境,從而在一個(gè)平臺(tái)上同時(shí)運(yùn)行多個(gè)操作系統(tǒng),并且每一個(gè)操作系統(tǒng)中都有多個(gè)程序運(yùn)行。應(yīng)用程序在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率。在雙核安騰處理機(jī)中,英特爾首次把在奔騰4處理機(jī)中采用的超線程(HyperThreading)技術(shù)引進(jìn)到安騰處理器家族中,每個(gè)處理機(jī)支持四個(gè)線程,使其能夠處理的應(yīng)用線程數(shù)是早期單核產(chǎn)品的四倍。虛擬化技術(shù)所謂虛擬化,是指用單個(gè)處理機(jī)模擬多個(gè)處理機(jī)并行工作59超線程技術(shù)2/2超線程技術(shù)在一顆處理機(jī)芯片內(nèi)設(shè)計(jì)多個(gè)邏輯上的處理機(jī)內(nèi)核,這些邏輯上的內(nèi)核共享處理機(jī)內(nèi)的整數(shù)運(yùn)算單元、浮點(diǎn)運(yùn)算單元和二級(jí)cache等資源,但卻被模擬成多個(gè)物理內(nèi)核芯片。從軟件的角度看,系統(tǒng)中好像存在多個(gè)獨(dú)立的處理機(jī)內(nèi)核,因而可以讓單個(gè)處理機(jī)在線程級(jí)實(shí)現(xiàn)并行計(jì)算,支持多線程的操作系統(tǒng)和應(yīng)用軟件。但核心硬件資源實(shí)際上只有一套,故當(dāng)多個(gè)線程同時(shí)訪問(wèn)某一個(gè)資源時(shí),其中一個(gè)線程要暫時(shí)停止并讓出資源,直到這些資源閑置后才能繼續(xù)執(zhí)行。超線程技
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備監(jiān)理師考試題庫(kù)及答案(歷年真題)
- 別墅澆筑工程施工合同(2篇)
- Unit1Science and Scientists(詞匯短語(yǔ)句式)-2025屆高三人教版英語(yǔ)一輪復(fù)習(xí)闖關(guān)攻略(解析版)
- 2025屆江蘇省淮安市涇口鎮(zhèn)初級(jí)中學(xué)中考生物最后沖刺模擬試卷含解析
- 2024年度天津市公共營(yíng)養(yǎng)師之三級(jí)營(yíng)養(yǎng)師通關(guān)題庫(kù)(附帶答案)
- 2024年度天津市公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師每日一練試卷A卷含答案
- 2024年度四川省公共營(yíng)養(yǎng)師之四級(jí)營(yíng)養(yǎng)師綜合檢測(cè)試卷B卷含答案
- 2024年度四川省公共營(yíng)養(yǎng)師之三級(jí)營(yíng)養(yǎng)師能力檢測(cè)試卷A卷附答案
- 2025關(guān)于貨車掛靠合同范本
- 2024鐵路旅客運(yùn)輸市場(chǎng)前景及投資研究報(bào)告
- 急救、生命支持類醫(yī)學(xué)裝備調(diào)配制度與流程
- 河南省駐馬店市重點(diǎn)中學(xué)2023-2024學(xué)年九年級(jí)上學(xué)期12月月考語(yǔ)文試題(無(wú)答案)
- 江蘇省無(wú)錫市2022-2023學(xué)年上學(xué)期初中學(xué)業(yè)水平調(diào)研測(cè)試九年級(jí)英語(yǔ)期末試題
- 超聲內(nèi)鏡穿刺護(hù)理課件
- 國(guó)家開(kāi)放大學(xué)電大考試《心理學(xué)》課程形成性考核冊(cè)試題及答案(1-4)最全
- 四川省成都市泡桐樹(shù)小學(xué)小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)期末試卷(培優(yōu)篇)
- 教練技術(shù)工具之:平衡輪課件
- 全國(guó)各省市縣統(tǒng)計(jì)表-
- 國(guó)家開(kāi)放大學(xué)電大本科《管理案例分析》2023年期末試題及答案(試卷號(hào):1304)
- 醋酸加尼瑞克注射液
- 中學(xué)查寢記錄
評(píng)論
0/150
提交評(píng)論