計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件_第1頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件_第2頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件_第3頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件_第4頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)Motorola公司的MC88110:

10個(gè)操作部件

兩個(gè)寄存器堆:整數(shù)部件通用寄存器堆,32個(gè)32位寄存器;浮點(diǎn)部件擴(kuò)展寄存器堆,32個(gè)80位寄存器。每個(gè)寄存器堆有8個(gè)端口,分別與8條內(nèi)部總線相連接,有一個(gè)緩沖深度為4的先行讀數(shù)棧和一個(gè)緩沖深度為3的后行寫數(shù)棧。

兩個(gè)獨(dú)立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式,

轉(zhuǎn)移目標(biāo)指令Cache,在有兩路分支時(shí),存放其中一路分支上的指令Motorola公司的MC88110:

10個(gè)操作部件

整數(shù)

部件整數(shù)

部件位

操作浮點(diǎn)加乘法

部件除法

部件圖形

部件圖形

部件內(nèi)部總線讀數(shù)存

數(shù)部件通用寄

存器堆擴(kuò)展寄

存器堆目標(biāo)

指令指令分配

轉(zhuǎn)移部件數(shù)據(jù)Cache(8KB)指令Cache(8KB)系統(tǒng)總線32位地址總線32位數(shù)據(jù)總線超標(biāo)量處理機(jī)MC88110的結(jié)構(gòu)整數(shù)

部件整數(shù)

部件位

操作浮點(diǎn)乘法

部件除法

部件圖形

部5.3.2單發(fā)射與多發(fā)射單發(fā)射處理機(jī):

每個(gè)周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個(gè)運(yùn)算結(jié)果

取指部件和譯碼部件各設(shè)置一套

可以只設(shè)置一個(gè)多功能操作部件,也可以設(shè)置多個(gè)獨(dú)立的操作部件

操作部件中可以采用流水線結(jié)構(gòu),也可以不采用流水線結(jié)構(gòu)

設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行一條指令,ILP的期望值15.3.2單發(fā)射與多發(fā)射IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWRIFIDEXWRIFIDEXWR123456單發(fā)射處理機(jī)的指令流水線時(shí)空圖IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWRIFIDEXWRIIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WR來自指

令Cache通用寄存器后行寫數(shù)棧IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法多發(fā)射處理機(jī):

每個(gè)周期同時(shí)取多條指令、同時(shí)譯碼多條指令,同時(shí)執(zhí)行多條指令,同時(shí)寫回多個(gè)運(yùn)算結(jié)果

需要多個(gè)取指令部件,多個(gè)指令譯碼部件和多個(gè)寫結(jié)果部件

設(shè)置多個(gè)指令執(zhí)行部件,復(fù)雜的指令執(zhí)行部件一般采用流水線結(jié)構(gòu)

設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行多條指令,ILP的期望值大于1多發(fā)射處理機(jī):

每個(gè)周期同時(shí)取多條指令、同時(shí)譯碼多條指令,IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456多發(fā)射處理機(jī)的指令流水線時(shí)空圖I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456多發(fā)射IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WRIFIDWRIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法超標(biāo)量處理機(jī):

一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)稱為超標(biāo)量處理機(jī)

必須有兩條或兩條以上能夠同時(shí)工作的指令流水線先行指令窗口:

能夠從指令Cache中預(yù)取多條指令

能夠?qū)Υ翱趦?nèi)的指令進(jìn)行數(shù)據(jù)相關(guān)性分析和功能部件沖突的檢測

窗口的大?。阂话銥?至8條指令

采用目前的指令調(diào)度技術(shù),每個(gè)周期發(fā)射2至4條指令比較合理超標(biāo)量處理機(jī):

一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)例如:

Intel公司的i860、i960、Pentium處理機(jī),Motolora公司的MC88110處理機(jī),IBM公司的Power6000處理機(jī)等每個(gè)周期都發(fā)射兩條指令

TI公司生產(chǎn)的SuperSPARC處理機(jī)以及Intel的PentiumIII處理機(jī)等每個(gè)周期發(fā)射三條指令

操作部件的個(gè)數(shù)多于每個(gè)周期發(fā)射的指令條數(shù)。4個(gè)至16個(gè)操作部件

超標(biāo)量處理機(jī)的指令級并行度:1<ILP<m;m為每個(gè)周期發(fā)射的指令條數(shù)。例如:

Intel公司的i860、i960、PentiumIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WRIFIDWRIFID先行指

令窗口IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標(biāo)量處理機(jī)5.4超流水線處理機(jī)5.5超標(biāo)量超流水線處理機(jī)第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.4超流水線處理機(jī)兩種定義:

一個(gè)周期內(nèi)能夠分時(shí)發(fā)射多條指令的處理機(jī)稱為超流水線處理機(jī)

指令流水線有8個(gè)或更多功能段的流水線處理機(jī)稱為超流水線處理機(jī)提高處理機(jī)性能的不同方法:

超標(biāo)量處理機(jī)是通過增加硬件資源為代價(jià)來換取處理機(jī)性能的

超流水線處理機(jī)則通過各硬件部件充分重疊工作來提高處理機(jī)性能5.4超流水線處理機(jī)兩種不同并行性:

超標(biāo)量處理機(jī)采用的是空間并行性

超流水線處理機(jī)采用的是時(shí)間并行性兩種不同并行性:

超標(biāo)量處理機(jī)采用的是空間并行性

超流水線處5.4.1指令執(zhí)行時(shí)序每隔1/n個(gè)時(shí)鐘周期發(fā)射一條指令,流水線周期為1/n個(gè)時(shí)鐘周期在超標(biāo)量處理機(jī)中,流水線的有些功能段還可以進(jìn)一步細(xì)分例如:ID功能段可以再細(xì)分為譯碼、讀第一操作數(shù)和讀第二操作數(shù)三個(gè)流水段。也有些功能段不能再細(xì)分,如WR功能段一般不再細(xì)分。因此有超流水線的另外一種定義:有8個(gè)或8個(gè)以上流水段的處理機(jī)稱為超流水線處理機(jī)5.4.1指令執(zhí)行時(shí)序IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456每個(gè)時(shí)鐘周期分時(shí)發(fā)送3條指令的超流水線I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456每個(gè)時(shí)5.4.2典型處理機(jī)結(jié)構(gòu)MIPSR4000處理機(jī)每個(gè)時(shí)鐘周期包含兩個(gè)流水段,是一種很標(biāo)準(zhǔn)的超流水線處理機(jī)結(jié)構(gòu)。指令流水線有8個(gè)流水段有兩個(gè)Cache,指令Cache和數(shù)據(jù)Cache的容量各8KB,每個(gè)時(shí)鐘周期可以訪問Cache兩次,因此在一個(gè)時(shí)鐘周期內(nèi)可以從指令Cache中讀出兩條指令,從數(shù)據(jù)Cache中讀出或?qū)懭雰蓚€(gè)數(shù)據(jù)。主要運(yùn)算部件有整數(shù)部件和浮點(diǎn)部件5.4.2典型處理機(jī)結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件指令CacheMIPSR4000處理機(jī)的流水線操作IF:取第一條指令 IS:取第二條指令

RF:讀寄存器堆,指令譯碼

EX:執(zhí)行指令 DF:取第一個(gè)數(shù)據(jù)

DS:取第二個(gè)數(shù)據(jù) TC:數(shù)據(jù)標(biāo)志

校驗(yàn);WB:寫回結(jié)果指令

譯碼讀寄

存器堆ALU數(shù)據(jù)Cache標(biāo)志檢驗(yàn)寄存器堆IFISRFEXDFDSWBTC指令MIPSR4000處理機(jī)的流水線操作IF:取第一條指令I(lǐng)F流水線周期當(dāng)前CPU周期ISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWB主時(shí)

周期MIPSR4000正常指令流水線工作時(shí)序IF流水線周期當(dāng)前CPU周期ISRFEXDFDSTCWBIF如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX流水級使用這個(gè)數(shù)據(jù),則指令流水線要暫停一個(gè)時(shí)鐘周期

采用順序發(fā)射方式如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX暫停IFISRFEXDFDSTCWBMIPSR4000正常指令流水線工作時(shí)序ISRFEXDFDSTCWBRFEXDFDSTCWBEXDFDSTCWBEXDFDSTCWBDFDSTCWBIFISRFI1I2I3I4I5I6運(yùn)行運(yùn)行Load指令使用Load數(shù)據(jù)暫停IFISRFEXDFDSTCWBMIPSR4000正常5.4.3超流水線處理機(jī)性能指令級并行度為(1,n)的超流水線處理機(jī),執(zhí)行N條指令所的時(shí)間為:超流水線處理機(jī)相對于單流水線普通標(biāo)量處理機(jī)的加速比為:5.4.3超流水線處理機(jī)性能即:

超流水線處理機(jī)的加速比的最大值為:S(1,n)MAX=n即:

第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標(biāo)量處理機(jī)5.4超流水線處理機(jī)5.5超標(biāo)量超流水線處理機(jī)第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.5超標(biāo)量超流水線處理機(jī)

把超標(biāo)量與超流水線技術(shù)結(jié)合在一起,就成為超標(biāo)量超流水線處理機(jī)

5.5.1指令執(zhí)行時(shí)序5.5.2典型處理機(jī)結(jié)構(gòu)5.5.3超標(biāo)量超流水線處理機(jī)性能5.5.4三種指令級并行性處理機(jī)性能比較5.5超標(biāo)量超流水線處理機(jī)5.5.1指令執(zhí)行時(shí)序

超標(biāo)量超流水線處理機(jī)在一個(gè)時(shí)鐘周期內(nèi)分時(shí)發(fā)射指令n次,每次同時(shí)發(fā)射指令m條,每個(gè)時(shí)鐘周期總共發(fā)射指令mn條。5.5.1指令執(zhí)行時(shí)序IF時(shí)鐘周期指令I(lǐng)1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每時(shí)鐘周期發(fā)射3次,每次3條指令I(lǐng)F時(shí)鐘周期指令I(lǐng)1I2I3IDEXWR12345I4I5I5.5.2典型處理機(jī)結(jié)構(gòu)DEC公司的Alpha處理機(jī)采用超標(biāo)量超流水線結(jié)構(gòu)。主要由四個(gè)功能部件和兩個(gè)Cache組成:整數(shù)部件EBOX、浮點(diǎn)部件FBOX、地址部件ABOX和中央控制部件IBOX。中央控制部件IBOX可以同時(shí)從指令Cache中讀入兩條指令,同時(shí)對讀入的兩條指令進(jìn)行譯碼,并且對這兩條指令作資源沖突檢測,進(jìn)行數(shù)據(jù)相關(guān)性和控制相關(guān)性分析。如果資源和相5.5.2典型處理機(jī)結(jié)構(gòu) 關(guān)性允許,IBOX就把兩條指令同時(shí)發(fā)射給EBOX、ABOX和FBOX三個(gè)指令執(zhí)行部件中的兩個(gè)。指令流水線采用順序發(fā)射亂序完成的控制方式。在指令Cache中有一個(gè)轉(zhuǎn)移歷史表,實(shí)現(xiàn)條件轉(zhuǎn)移的動(dòng)態(tài)預(yù)測。在EBOX內(nèi)還有多條專用數(shù)據(jù)通路,可以把運(yùn)算結(jié)果直接送到執(zhí)行部件。Alpha21064處理機(jī)共有三條指令流水線

整數(shù)操作流水線和訪問存儲器流水線分為7個(gè)流水段,其中,取指令和分 關(guān)性允許,IBOX就把兩條指令同時(shí)發(fā)射給EBOX、ABOX 析指令為4個(gè)流水段,運(yùn)算2個(gè)流水段,寫結(jié)果1個(gè)流水段。浮點(diǎn)操作流水線分為10個(gè)流水段,其中,浮點(diǎn)執(zhí)行部件FBOX的延遲時(shí)間為6個(gè)流水段。所有指令執(zhí)行部件EBOX、IBOX、ABOX和FBOX中都設(shè)置由專用數(shù)據(jù)通路。 析指令為4個(gè)流水段,運(yùn)算2個(gè)流水段,寫結(jié)果1個(gè)流水段。浮點(diǎn)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件 析指令為4個(gè)流水段,運(yùn)算2個(gè)流水段,寫結(jié)果1個(gè)流水段。浮點(diǎn)操作流水線分為10個(gè)流水段,其中,浮點(diǎn)執(zhí)行部件FBOX的延遲時(shí)間為6個(gè)流水段。所有指令執(zhí)行部件EBOX、IBOX、ABOX和FBOX中都設(shè)置由專用數(shù)據(jù)通路。Alpha21064處理機(jī)的三條指令流水線的平均段數(shù)為8段,每個(gè)時(shí)鐘周期發(fā)射兩條指令。因此,Alpha21064處理機(jī)是超標(biāo)量超流水線處理機(jī)。 析指令為4個(gè)流水段,運(yùn)算2個(gè)流水段,寫結(jié)果1個(gè)流水段。浮點(diǎn)SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測I0

指令譯碼

I1

訪問通用寄存器堆,發(fā)射校驗(yàn)A1

計(jì)算周期1,IBOX計(jì)算新的PC值A(chǔ)2

計(jì)算周期2,查指令快表WR

寫整數(shù)寄存器堆,指令Cache命中檢測17個(gè)流水段的整數(shù)操作流水線IFI0I1A0A1WR234560SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測17個(gè)SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測I0

指令譯碼

I1

訪問通用寄存器堆,發(fā)射校驗(yàn)AC ABOX計(jì)算有效數(shù)據(jù)地址TB

查數(shù)據(jù)快表HM

寫讀數(shù)緩沖棧,數(shù)據(jù)Cache命中/

不命中檢測17個(gè)流水段的訪問存儲器流水線IFI0I1ACTBHM234560SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測17個(gè)SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測I0

指令譯碼

I1

訪問通用寄存器堆,發(fā)射校驗(yàn)F1-F5

浮點(diǎn)計(jì)算流水線FWR

寫回浮點(diǎn)寄存器堆110個(gè)流水段的浮點(diǎn)操作流水線IFI0I1F1F2FWR234560F3F4F5789SWAPIF 取值

SWAP 交換雙發(fā)射指令、轉(zhuǎn)移預(yù)測1105.5.3超標(biāo)量超流水線處理機(jī)性能指令級并行度為(m,n)的超標(biāo)量超流水線處理機(jī),連續(xù)執(zhí)行N條指令所需要的時(shí)間為:

超標(biāo)量超流水線處理機(jī)相對于單流水線標(biāo)量處理機(jī)的加速比為:5.5.3超標(biāo)量超流水線處理機(jī)性能在理想情況下,超標(biāo)量超流水線處理機(jī)加速比的最大值為:S(m,n)MAX=mn計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件本章重點(diǎn)1、指令的重疊執(zhí)行方式及時(shí)空圖表示方法2、線性流水線的性能分析及計(jì)算3、超標(biāo)量處理機(jī)的指令執(zhí)行時(shí)序及性能4、超流水線處理機(jī)的指令執(zhí)行時(shí)序及性能5、超標(biāo)量超流水線處理機(jī)的指令執(zhí)行時(shí)序及性能本章重點(diǎn)練習(xí)題: 5.2 5.65.7 5.8 5.15練習(xí)題:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)Motorola公司的MC88110:

10個(gè)操作部件

兩個(gè)寄存器堆:整數(shù)部件通用寄存器堆,32個(gè)32位寄存器;浮點(diǎn)部件擴(kuò)展寄存器堆,32個(gè)80位寄存器。每個(gè)寄存器堆有8個(gè)端口,分別與8條內(nèi)部總線相連接,有一個(gè)緩沖深度為4的先行讀數(shù)棧和一個(gè)緩沖深度為3的后行寫數(shù)棧。

兩個(gè)獨(dú)立的高速Cache中,各為8KB,采用兩路組相聯(lián)方式,

轉(zhuǎn)移目標(biāo)指令Cache,在有兩路分支時(shí),存放其中一路分支上的指令Motorola公司的MC88110:

10個(gè)操作部件

整數(shù)

部件整數(shù)

部件位

操作浮點(diǎn)加乘法

部件除法

部件圖形

部件圖形

部件內(nèi)部總線讀數(shù)存

數(shù)部件通用寄

存器堆擴(kuò)展寄

存器堆目標(biāo)

指令指令分配

轉(zhuǎn)移部件數(shù)據(jù)Cache(8KB)指令Cache(8KB)系統(tǒng)總線32位地址總線32位數(shù)據(jù)總線超標(biāo)量處理機(jī)MC88110的結(jié)構(gòu)整數(shù)

部件整數(shù)

部件位

操作浮點(diǎn)乘法

部件除法

部件圖形

部5.3.2單發(fā)射與多發(fā)射單發(fā)射處理機(jī):

每個(gè)周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個(gè)運(yùn)算結(jié)果

取指部件和譯碼部件各設(shè)置一套

可以只設(shè)置一個(gè)多功能操作部件,也可以設(shè)置多個(gè)獨(dú)立的操作部件

操作部件中可以采用流水線結(jié)構(gòu),也可以不采用流水線結(jié)構(gòu)

設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行一條指令,ILP的期望值15.3.2單發(fā)射與多發(fā)射IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWRIFIDEXWRIFIDEXWR123456單發(fā)射處理機(jī)的指令流水線時(shí)空圖IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWRIFIDEXWRIIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WR來自指

令Cache通用寄存器后行寫數(shù)棧IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法多發(fā)射處理機(jī):

每個(gè)周期同時(shí)取多條指令、同時(shí)譯碼多條指令,同時(shí)執(zhí)行多條指令,同時(shí)寫回多個(gè)運(yùn)算結(jié)果

需要多個(gè)取指令部件,多個(gè)指令譯碼部件和多個(gè)寫結(jié)果部件

設(shè)置多個(gè)指令執(zhí)行部件,復(fù)雜的指令執(zhí)行部件一般采用流水線結(jié)構(gòu)

設(shè)計(jì)目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行多條指令,ILP的期望值大于1多發(fā)射處理機(jī):

每個(gè)周期同時(shí)取多條指令、同時(shí)譯碼多條指令,IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456多發(fā)射處理機(jī)的指令流水線時(shí)空圖I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456多發(fā)射IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WRIFIDWRIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法超標(biāo)量處理機(jī):

一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)稱為超標(biāo)量處理機(jī)

必須有兩條或兩條以上能夠同時(shí)工作的指令流水線先行指令窗口:

能夠從指令Cache中預(yù)取多條指令

能夠?qū)Υ翱趦?nèi)的指令進(jìn)行數(shù)據(jù)相關(guān)性分析和功能部件沖突的檢測

窗口的大小:一般為2至8條指令

采用目前的指令調(diào)度技術(shù),每個(gè)周期發(fā)射2至4條指令比較合理超標(biāo)量處理機(jī):

一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)例如:

Intel公司的i860、i960、Pentium處理機(jī),Motolora公司的MC88110處理機(jī),IBM公司的Power6000處理機(jī)等每個(gè)周期都發(fā)射兩條指令

TI公司生產(chǎn)的SuperSPARC處理機(jī)以及Intel的PentiumIII處理機(jī)等每個(gè)周期發(fā)射三條指令

操作部件的個(gè)數(shù)多于每個(gè)周期發(fā)射的指令條數(shù)。4個(gè)至16個(gè)操作部件

超標(biāo)量處理機(jī)的指令級并行度:1<ILP<m;m為每個(gè)周期發(fā)射的指令條數(shù)。例如:

Intel公司的i860、i960、PentiumIFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法部件乘除法部件定點(diǎn)ALU部件取數(shù)存數(shù)部件WRIFIDWRIFID先行指

令窗口IFIDFA1FA2FA3MD1MD2MD3ALLS浮點(diǎn)加法第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標(biāo)量處理機(jī)5.4超流水線處理機(jī)5.5超標(biāo)量超流水線處理機(jī)第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.4超流水線處理機(jī)兩種定義:

一個(gè)周期內(nèi)能夠分時(shí)發(fā)射多條指令的處理機(jī)稱為超流水線處理機(jī)

指令流水線有8個(gè)或更多功能段的流水線處理機(jī)稱為超流水線處理機(jī)提高處理機(jī)性能的不同方法:

超標(biāo)量處理機(jī)是通過增加硬件資源為代價(jià)來換取處理機(jī)性能的

超流水線處理機(jī)則通過各硬件部件充分重疊工作來提高處理機(jī)性能5.4超流水線處理機(jī)兩種不同并行性:

超標(biāo)量處理機(jī)采用的是空間并行性

超流水線處理機(jī)采用的是時(shí)間并行性兩種不同并行性:

超標(biāo)量處理機(jī)采用的是空間并行性

超流水線處5.4.1指令執(zhí)行時(shí)序每隔1/n個(gè)時(shí)鐘周期發(fā)射一條指令,流水線周期為1/n個(gè)時(shí)鐘周期在超標(biāo)量處理機(jī)中,流水線的有些功能段還可以進(jìn)一步細(xì)分例如:ID功能段可以再細(xì)分為譯碼、讀第一操作數(shù)和讀第二操作數(shù)三個(gè)流水段。也有些功能段不能再細(xì)分,如WR功能段一般不再細(xì)分。因此有超流水線的另外一種定義:有8個(gè)或8個(gè)以上流水段的處理機(jī)稱為超流水線處理機(jī)5.4.1指令執(zhí)行時(shí)序IF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456每個(gè)時(shí)鐘周期分時(shí)發(fā)送3條指令的超流水線I4I5I6IFIDEXWRI7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIF時(shí)鐘

周期指令I(lǐng)1I2I3IDEXWR123456每個(gè)時(shí)5.4.2典型處理機(jī)結(jié)構(gòu)MIPSR4000處理機(jī)每個(gè)時(shí)鐘周期包含兩個(gè)流水段,是一種很標(biāo)準(zhǔn)的超流水線處理機(jī)結(jié)構(gòu)。指令流水線有8個(gè)流水段有兩個(gè)Cache,指令Cache和數(shù)據(jù)Cache的容量各8KB,每個(gè)時(shí)鐘周期可以訪問Cache兩次,因此在一個(gè)時(shí)鐘周期內(nèi)可以從指令Cache中讀出兩條指令,從數(shù)據(jù)Cache中讀出或?qū)懭雰蓚€(gè)數(shù)據(jù)。主要運(yùn)算部件有整數(shù)部件和浮點(diǎn)部件5.4.2典型處理機(jī)結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課件指令CacheMIPSR4000處理機(jī)的流水線操作IF:取第一條指令 IS:取第二條指令

RF:讀寄存器堆,指令譯碼

EX:執(zhí)行指令 DF:取第一個(gè)數(shù)據(jù)

DS:取第二個(gè)數(shù)據(jù) TC:數(shù)據(jù)標(biāo)志

校驗(yàn);WB:寫回結(jié)果指令

譯碼讀寄

存器堆ALU數(shù)據(jù)Cache標(biāo)志檢驗(yàn)寄存器堆IFISRFEXDFDSWBTC指令MIPSR4000處理機(jī)的流水線操作IF:取第一條指令I(lǐng)F流水線周期當(dāng)前CPU周期ISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWBIFISRFEXDFDSTCWB主時(shí)

周期MIPSR4000正常指令流水線工作時(shí)序IF流水線周期當(dāng)前CPU周期ISRFEXDFDSTCWBIF如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX流水級使用這個(gè)數(shù)據(jù),則指令流水線要暫停一個(gè)時(shí)鐘周期

采用順序發(fā)射方式如果在LOAD指令之后的兩條指令中,任何一條指令要在它的EX暫停IFISRFEXDFDSTCWBMIPSR4000正常指令流水線工作時(shí)序ISRFEXDFDSTCWBRFEXDFDSTCWBEXDFDSTCWBEXDFDSTCWBDFDSTCWBIFISRFI1I2I3I4I5I6運(yùn)行運(yùn)行Load指令使用Load數(shù)據(jù)暫停IFISRFEXDFDSTCWBMIPSR4000正常5.4.3超流水線處理機(jī)性能指令級并行度為(1,n)的超流水線處理機(jī),執(zhí)行N條指令所的時(shí)間為:超流水線處理機(jī)相對于單流水線普通標(biāo)量處理機(jī)的加速比為:5.4.3超流水線處理機(jī)性能即:

超流水線處理機(jī)的加速比的最大值為:S(1,n)MAX=n即:

第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.2流水線技術(shù)5.3超標(biāo)量處理機(jī)5.4超流水線處理機(jī)5.5超標(biāo)量超流水線處理機(jī)第五章標(biāo)量處理機(jī)5.1先行控制技術(shù)5.5超標(biāo)量超流水線處理機(jī)

把超標(biāo)量與超流水線技術(shù)結(jié)合在一起,就成為超標(biāo)量超流水線處理機(jī)

5.5.1指令執(zhí)行時(shí)序5.5.2典型處理機(jī)結(jié)構(gòu)5.5.3超標(biāo)量超流水線處理機(jī)性能5.5.4三種指令級并行性處理機(jī)性能比較5.5超標(biāo)量超流水線處理機(jī)5.5.1指令執(zhí)行時(shí)序

超標(biāo)量超流水線處理機(jī)在一個(gè)時(shí)鐘周期內(nèi)分時(shí)發(fā)射指令n次,每次同時(shí)發(fā)射指令m條,每個(gè)時(shí)鐘周期總共發(fā)射指令mn條。5.5.1指令執(zhí)行時(shí)序IF時(shí)鐘周期指令I(lǐng)1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每時(shí)鐘周期發(fā)射3次,每次3條指令I(lǐng)F時(shí)鐘周期指令I(lǐng)1I2I3IDEXWR12345I4I5I5.5.2典型處理機(jī)結(jié)構(gòu)DEC公司的Alpha處理機(jī)采用超標(biāo)量超流水線結(jié)構(gòu)。主要由四個(gè)功能部件和兩個(gè)Cache組成:整數(shù)部件EBOX、浮點(diǎn)部件FBOX、地址部件ABOX和中央控制部件IBOX。中央控制部件IBOX可以同時(shí)從指令Cache中讀入兩條指令,同時(shí)對讀入的兩條指令進(jìn)行譯碼,并且對這兩條指令作資源沖突檢測,進(jìn)行數(shù)據(jù)相關(guān)性和控制相關(guān)性分析。如果資源和相5.5.2典型處理機(jī)結(jié)構(gòu) 關(guān)性允許,IBOX就把兩條指令同時(shí)發(fā)射給EBOX、ABOX和FBOX三個(gè)指令執(zhí)行部件中的兩個(gè)。指令流水線采用順序發(fā)射亂序完成的控制方式。在指令Cache中有一個(gè)轉(zhuǎn)移歷史表,實(shí)現(xiàn)條件轉(zhuǎn)移的動(dòng)態(tài)預(yù)測。在EBOX內(nèi)還有多條專用數(shù)據(jù)通路,可以把運(yùn)算結(jié)果直接送到執(zhí)行部件。Alpha21064處理機(jī)共有三條指令流水線

整數(shù)操作流水線和訪問存儲器流水線分為7個(gè)流水段,其中,取指令和分 關(guān)性允許,IBOX就把兩條指令同時(shí)發(fā)射給EBOX、ABOX 析指令為4個(gè)流水段,運(yùn)算2個(gè)流水段,寫結(jié)果1個(gè)流水段。浮點(diǎn)操作流水線分為10個(gè)流水段,其中,浮點(diǎn)執(zhí)行部件FBOX的延遲時(shí)間為6個(gè)流水段。所有指令執(zhí)行部件EBOX、IBOX

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論