計(jì)算機(jī)硬件技術(shù)基礎(chǔ)-第七章3課件_第1頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)-第七章3課件_第2頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)-第七章3課件_第3頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)-第七章3課件_第4頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)-第七章3課件_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第七章控制器第七章控制器17.5硬布線控制器硬布線控制器的基本原理是根據(jù)指令的要求、當(dāng)前的時(shí)序及外部和內(nèi)部的狀態(tài)情況,按時(shí)間的順序發(fā)送一系列微操作控制信號。它由復(fù)雜的組合邏輯門電路和一些觸發(fā)器構(gòu)成,因此又稱為組合邏輯控制器,或常規(guī)邏輯控制器。7.5硬布線控制器硬布線控制器的基本原理是根據(jù)指令的要求2二、硬布線控制器的結(jié)構(gòu)

二、硬布線控制器的結(jié)構(gòu)31、指令信息Im用于指出當(dāng)前是哪一條指令的指令周期。2、機(jī)器周期信號Mn和時(shí)鐘周期信號Tn指出當(dāng)前處于哪一個(gè)機(jī)器周期和哪一個(gè)節(jié)拍。3、狀態(tài)信號Sx指出運(yùn)算器的結(jié)果狀態(tài)及機(jī)器內(nèi)部的其他狀態(tài),以決定某些操作信號是否發(fā)送。4、外部控制、狀態(tài)信號Ej指出和傳遞CPU外部各部件的狀態(tài)和控制信號。1、指令信息Im用于指出當(dāng)前是哪一條指令的指令周期。4微操作控制信號Ci一部分送到CPU外部構(gòu)成系統(tǒng)總線的控制總線;另一部分則送到CPU內(nèi)部供使用。從邏輯函數(shù)的角度來看,輸出微操作控制信號Ci是5種輸入信號的函數(shù):Ci=fi(Im,Mn,Tn,Sx,Ej)設(shè)計(jì)硬布線控制器的過程,也就是求出每個(gè)微操作控制信號Ci的邏輯函數(shù)fi的過程。微操作控制信號Ci5三、硬布線控制器的設(shè)計(jì)方法

硬布線控制器的設(shè)計(jì)步驟:1、確定指令系統(tǒng),包括指令系統(tǒng)中每條指令的格式、功能和尋址方式。2、圍繞著指令系統(tǒng)的實(shí)現(xiàn),確定CPU的內(nèi)部結(jié)構(gòu),包括運(yùn)算器的功能和組成,控制器的組成及它們的連接方式和數(shù)據(jù)通路,同時(shí)也確定時(shí)序系統(tǒng)的構(gòu)成。3、分析每條指令的執(zhí)行過程,按機(jī)器周期順序,寫出所必需發(fā)送的微操作控制信號序列。4、綜合每個(gè)微操作控制信號的邏輯函數(shù),化簡和優(yōu)化。5、用邏輯電路實(shí)現(xiàn)。三、硬布線控制器的設(shè)計(jì)方法6例如:設(shè)計(jì)實(shí)現(xiàn)ADD和JMP指令的硬布線控制器ADD指令的第一個(gè)字是操作碼和寄存器地址,第二個(gè)字是立即數(shù)。ADD和JMP指令均為二字節(jié)指令。OPRiDATAJMP指令第一個(gè)字是操作碼,第二個(gè)字是轉(zhuǎn)移的直接地址。OPXXA例如:設(shè)計(jì)實(shí)現(xiàn)ADD和JMP指令的硬布線控制器ADD指令的71、首先列出ADD和JMP指令的執(zhí)行過程如下:ADD指令:M0:PC→AR,PC+1→PC;(取指令地址)M1:RAM→IR,J1#;(取指令并譯碼)ADD·M2:PC→AR,PC+1→PC;(取指令第二字地址)ADD·M3:RAM→ALU;(取數(shù)據(jù))ADD·M4:Ri→ALU;(送寄存器數(shù)據(jù))ADD·M5:ALU(+)→Ri;(計(jì)算并存結(jié)果)OPRiDATA1、首先列出ADD和JMP指令的執(zhí)行過程如下:OPRi8JMP指令:M0:PC→AR,PC+1→PC;(取指令地址)M1:RAM→IR,J1#;(取指令并譯碼)JMP·M2:PC→AR,PC+1→PC;(取指令第二字地址)JMP·M3:RAM→PC;(取轉(zhuǎn)移地址,執(zhí)行轉(zhuǎn)移)OPXXAJMP指令:OPXXA92、對應(yīng)的每個(gè)機(jī)器周期所必需發(fā)送的微操作控制信號序列如下:ADD指令:M0:PC-B#,B→AR,PC+1;M1:M-R#(內(nèi)存讀),B-IR,J1#;ADD·M2:PC-B#,B-AR,PC+1;ADD·M3:M-R#,B-DA1;ADD·M4:DR-B#,B-DA2;ADD·M5:ALU(F=A+B),B-DR;JMP指令:M0:PC-B#,B→AR,PC+1;M1:M-R#(內(nèi)存讀),B-IR,J1#;JMP·M2:PC-B#,B→AR,PC+1;

JMP·M3:M-R#,B-PC,PC+1;….2、對應(yīng)的每個(gè)機(jī)器周期所必需發(fā)送的微操作控制信號序列如下:103、對所有的微操作控制信號進(jìn)行綜合:即對于某一個(gè)微操作控制信號,將上述列表中,凡是在冒號“:”右邊出現(xiàn)該信號的機(jī)器周期,把其左邊的條件(與項(xiàng))作為一個(gè)或項(xiàng),全部進(jìn)行或運(yùn)算,即得到該微操作控制信號的邏輯函數(shù)。PC-B#=(M0+ADD·M2+JMP·M2+……)B-AR=(M0+ADD·M2+JMP·M2+……)PC+1=(M0+ADD·M2+JMP·M2+JMP·M3+……)M-R#=m1+ADD·M3+JMP·M3+……B-IR=(M1+……)B-DA1=ADD·M3+ADD·M4+JMP·M3+……DR-B#=ADD·M4+……B-DR=ADD·M5+…………3、對所有的微操作控制信號進(jìn)行綜合:即對于某一個(gè)微操作控制信11若某個(gè)微操作控制信號必須在某個(gè)機(jī)器周期內(nèi)的Tn時(shí)刻有效,則該信號表達(dá)式還要與上Tn時(shí)鐘周期信號4、最后,對邏輯函數(shù)優(yōu)化和簡化,使得邏輯電路最簡,用硬件電路實(shí)現(xiàn)即可。若某個(gè)微操作控制信號必須在某個(gè)機(jī)器周期內(nèi)的Tn時(shí)刻有效,則該12例如:采用計(jì)數(shù)器輸出譯碼方式產(chǎn)生機(jī)器周期信號。假設(shè)某機(jī)器的指令系統(tǒng)有兩條指令:指令A(yù)包含三個(gè)機(jī)器周期,計(jì)數(shù)器的計(jì)數(shù)變化狀態(tài)如圖7-27;指令B包含四個(gè)機(jī)器周期。計(jì)數(shù)器的變化狀態(tài)如圖7-28;例如:采用計(jì)數(shù)器輸出譯碼方式產(chǎn)生機(jī)器周期信號。13表7-7列出了產(chǎn)生兩條指令所需的機(jī)器周期信號時(shí)的計(jì)數(shù)器狀態(tài)。其中Q1,Q2表示當(dāng)前周期計(jì)數(shù)器狀態(tài)輸出,Q’1,Q’2表示下一個(gè)周期計(jì)數(shù)器狀態(tài)輸出。表7-7列出了產(chǎn)生兩條指令所需的機(jī)器周期信號時(shí)的計(jì)數(shù)器狀態(tài)。14根據(jù)表7-7的真值表列出計(jì)數(shù)器的輸出表達(dá)式,對于指令A(yù),其表達(dá)式為對于指令B,其表達(dá)式為所以:根據(jù)表7-7的真值表列出計(jì)數(shù)器的輸出表達(dá)式,對于指令A(yù),其表15根據(jù)表達(dá)式畫出邏輯電路圖當(dāng)執(zhí)行指令A(yù)時(shí),產(chǎn)生機(jī)器周期信號M0、M1、M2;而當(dāng)執(zhí)行指令B時(shí),產(chǎn)生機(jī)器周期信號M0、M1、M2、M3。根據(jù)表達(dá)式畫出邏輯電路圖當(dāng)執(zhí)行指令A(yù)時(shí),產(chǎn)生機(jī)器周期信號M16四、硬布線控制器與微程序控制器的比較

區(qū)別:微操作控制信號的產(chǎn)生方法不同:前者由組合邏輯電路即時(shí)產(chǎn)生;后者是從控存讀取并送出的。硬布線控制器的電路繁瑣、不規(guī)整,不易修改和擴(kuò)充;微程序控制器由于控制信號存于控存,電路相對規(guī)整,易修改和擴(kuò)充;硬布線控制器執(zhí)行速度快,多應(yīng)用于RISC系統(tǒng)。微程序控制器執(zhí)行速度相對硬布線控制器慢,多應(yīng)用于CISC系統(tǒng)。四、硬布線控制器與微程序控制器的比較177.6流水線的基本原理機(jī)器指令按串行方式執(zhí)行機(jī)器指令按并行方式執(zhí)行7.6流水線的基本原理機(jī)器指令按串行方式執(zhí)行18一、流水線工作方式的特點(diǎn)是:流水線分的工序越多,可同時(shí)運(yùn)行的指令就越多,單位時(shí)間內(nèi)可完成的指令也就越多,速度越快。流水線上每個(gè)階段執(zhí)行時(shí)間必須完全一致。流水線上必須等待一段時(shí)間,才能達(dá)到最大吞吐率,這個(gè)時(shí)間等于一條指令的執(zhí)行時(shí)間,稱為“通過時(shí)間”。當(dāng)編譯形成的程序不能發(fā)揮流水線的作用,或存儲器供應(yīng)不上流動所需的指令和數(shù)據(jù),或遇到程序轉(zhuǎn)移指令等情況時(shí),會造成流水線斷流,使效率下降。例:已知一個(gè)指令系統(tǒng)32條指令,一條指令分取指令2ms,計(jì)算地址2ms,取操作數(shù)2ms,執(zhí)行指令1ms,問采用流水線方式執(zhí)行指令,32條指令執(zhí)行一遍需要()ms.。一、流水線工作方式的特點(diǎn)是:例:19二、流水線需要解決的問題:1、訪問內(nèi)存的沖突解決這個(gè)問題1)采用雙端口存儲器,使取指令和取操作數(shù)可同時(shí)進(jìn)行;2)分離指令Cache和數(shù)據(jù)Cache,使取指令和取操作數(shù)可在Cache這級可以同時(shí)進(jìn)行;3)采用指令隊(duì)列,預(yù)取到指令隊(duì)列中,從而避免與取數(shù)據(jù)發(fā)生沖突。2、計(jì)算地址與運(yùn)算的沖突解決的辦法是增設(shè)部件3、操作數(shù)相關(guān)問題其解決方法是:1)插入氣泡法。該方法較簡單,但降低了指令執(zhí)行效率;2)采用數(shù)據(jù)旁路技術(shù),這種方法效率高但控制復(fù)雜。二、流水線需要解決的問題:204、轉(zhuǎn)移相關(guān)問題解決方法是:1)加入空操作,盡量調(diào)整指令執(zhí)行的先后順序,使轉(zhuǎn)移條件提前建立。前者相當(dāng)于順序操作,后者增加了控制難度。2)采用猜測法,先選定轉(zhuǎn)移分支中的一個(gè),按此分支繼續(xù)取指并處理,假如猜測是正確的,則流水線可以繼續(xù)進(jìn)行;假如猜測錯(cuò)了,則要返回分支點(diǎn),并要保證分支點(diǎn)后已進(jìn)行個(gè)處理不破壞原有現(xiàn)場。5、中斷發(fā)生時(shí)轉(zhuǎn)中斷處理解決方法是:1)不精確斷點(diǎn)法:當(dāng)中斷發(fā)生時(shí),不允許后續(xù)指令進(jìn)入流水線,但已進(jìn)入指令流水線的指令繼續(xù)執(zhí)行直到完畢,然后將中斷處理程序的指令送入指令流水線。2)精確斷點(diǎn)法:當(dāng)中斷發(fā)生時(shí),指令流水線中的指令立即停止執(zhí)行,將中斷處理程序指令送入指令流水線,盡快轉(zhuǎn)入中斷處理。被目前大多數(shù)流水線計(jì)算機(jī)后者。4、轉(zhuǎn)移相關(guān)問題217.6PentiumⅡCPU一、PentiumⅡCPU的技術(shù)性能PentiumⅡCPU——32位微處理器,超標(biāo)量體系結(jié)構(gòu),MMX技術(shù)MMX技術(shù)的基礎(chǔ)是SIMD,可以并行處理8個(gè)8位數(shù)據(jù)或4個(gè)16位數(shù)據(jù)或2個(gè)32位數(shù)據(jù)。MMX技術(shù)新增加了4種數(shù)據(jù)類型:緊縮字節(jié)類型──8個(gè)字節(jié)打包成一個(gè)64位長的數(shù)據(jù)、緊縮字類型、緊縮雙字類型和四字類型,還增加了57條新指令,另外擁有8個(gè)64位的MMX寄存器。PentiumⅡCPU用動態(tài)執(zhí)行技術(shù)和寄存器重命名等RISC類處理器所采用的技術(shù),對每一條x86操作轉(zhuǎn)換成的簡單的微操作進(jìn)行處理。PentiumⅡCPU采用了動態(tài)執(zhí)行技術(shù),通過預(yù)測指令流來調(diào)整指令的執(zhí)行,并且分析程序的數(shù)據(jù)流來選擇指令執(zhí)行的最佳順序。PentiumⅡCPU也使用IA(Intel架構(gòu))指令和寄存器。但配備了40個(gè)內(nèi)部寄存器。采用寄存器重命名技術(shù),將IA指令使用的IA寄存器映射成微操作使用的PentiumⅡ內(nèi)部寄存器,這樣可極大地消除指令的數(shù)據(jù)相關(guān)性。PentiumⅡCPU采用了雙獨(dú)立總線結(jié)構(gòu),其中前端總線FBS主要負(fù)責(zé)與主存儲器的信息傳送操作,后端總線連接到L2Cache上。7.6PentiumⅡCPU一、Pentium22動態(tài)執(zhí)行技術(shù)包括以下幾項(xiàng)技術(shù):1)多路分支預(yù)測:利用先進(jìn)的、預(yù)測正確率高達(dá)90%的分支預(yù)測技術(shù),允許程序的幾個(gè)分支流向同時(shí)在處理器中執(zhí)行。處理器在取指令時(shí),還會在程序中尋找未來要執(zhí)行的指令,加快了向處理器傳遞任務(wù)的過程,并為指令執(zhí)行順序的優(yōu)化提供了可調(diào)度基礎(chǔ)。2)數(shù)據(jù)流分析:處理器讀取指令并經(jīng)過譯碼后,判斷該指令能否與其他指令一起處理,然后處理器分析這些指令的數(shù)據(jù)相關(guān)性和資源可用性,以優(yōu)化的執(zhí)行順序高效率地處理這些指令。3)推測執(zhí)行:將多個(gè)程序流向的指令序列,以調(diào)度好的優(yōu)化順序送至執(zhí)行部件執(zhí)行,盡量使多端口、多功能的執(zhí)行部件保持“忙”狀態(tài)。因?yàn)槌绦蛄飨蚴歉鶕?jù)分支預(yù)測建立的,因此指令序列的執(zhí)行結(jié)果只能作為“預(yù)測結(jié)果”保留。一旦確定分支預(yù)測正確,已提前建立的“預(yù)測結(jié)果”立即變成“最終結(jié)果”并及時(shí)修改機(jī)器的狀態(tài)。顯然,推測執(zhí)行可保證處理器的超標(biāo)量流水線始終處于忙碌,加快了程序執(zhí)行速度,從而全面提高處理器的性能。動態(tài)執(zhí)行技術(shù)包括以下幾項(xiàng)技術(shù):23二、PentiumⅡ的內(nèi)部結(jié)構(gòu)及工作原理二、PentiumⅡ的內(nèi)部結(jié)構(gòu)及工作原理24PentiumⅡ共有三條指令流水線,每條指令流水線共有12級,它們分別是:1)IFU1取指1,由L1代碼Cache取一個(gè)32字節(jié)的行,裝入預(yù)取流式緩沖器。2)IFU2取指2,預(yù)取流式緩沖器中的內(nèi)容以16字節(jié)塊向前傳遞,IFU2在16字節(jié)塊中標(biāo)志指令邊界,并將發(fā)現(xiàn)的轉(zhuǎn)移指令地址交給分支目標(biāo)緩沖區(qū)BTB進(jìn)行動態(tài)預(yù)測。3)IFU3取指3,旋轉(zhuǎn)16字節(jié)塊中的3條指令,使它們能按照復(fù)雜、簡單、簡單或簡單、簡單、簡單的次序同時(shí)遞交到下一級的3個(gè)譯碼器中。PentiumⅡ共有三條指令流水線,每條指令流水線共有12254)DEC1譯碼1,將IA指令譯碼成RISC型的微操作。譯碼器0為復(fù)雜譯碼器,它將一條復(fù)雜指令譯碼成多達(dá)4個(gè)微操作,譯碼器1和譯碼器2均為簡單譯碼器,各只能生成一個(gè)微操作。DEC1把這些微操作提交給微指令序列器。5)DEC2譯碼2,從DEC1出來的微操作,在本級譯碼后指令隊(duì)列DIQ(DecodedInstructionQueue)中按原始的程序順序排隊(duì)。對那些被BTB丟失的轉(zhuǎn)移型的微操作放入靜態(tài)分支預(yù)測機(jī)構(gòu)進(jìn)行再次分支預(yù)測。6)RAT寄存器別名表和分配器。在這一級每次由DIQ按程序的順序取3項(xiàng)微操作,將微操作中的寄存器映射到內(nèi)部寄存器中,然后將其送到ROB。7)ROB指令重排緩沖器。在ROB中的每一個(gè)微操作都有狀態(tài)標(biāo)志,用來登記此微操作的當(dāng)前運(yùn)行狀態(tài)。4)DEC1譯碼1,將IA指令譯碼成RISC型的微操作。268)DIS派遣,微操作放入ROB后,保留站RS能以任何順序?qū)⑽⒉僮髋汕驳较鄳?yīng)的執(zhí)行單元中。9)EX執(zhí)行。執(zhí)行微操作,這一級的多個(gè)執(zhí)行單元并行操作。10)WB寫回。微操作執(zhí)行結(jié)果寫回ROB并進(jìn)行錯(cuò)誤檢查,同時(shí)對從L1數(shù)據(jù)Cache或L2Cache讀入的數(shù)據(jù)進(jìn)行ECC檢查和修正。11)RR回收就緒。在微操作結(jié)果沒有錯(cuò)誤后,本級邏輯判斷它前面的轉(zhuǎn)移指令是否已全面解決。若已全部解決,則按程序順序以IA指令為單位,標(biāo)志其相應(yīng)的微操作已經(jīng)回收就緒。12)RET回收。按程序順序以IA指令為單位,每個(gè)時(shí)鐘回收3個(gè)微操作。把已經(jīng)回收就緒的IA指令對應(yīng)的微操作結(jié)果,最終回寫IA寄存器集以及設(shè)置EFLAGS標(biāo)志;同時(shí)通知存儲器排序緩沖器MOB寫指令實(shí)際完成。這12級分別屬于3個(gè)操作階段。前7級屬于按序取指/譯碼階段,中間3級屬于亂序執(zhí)行階段,最后2級屬于有序退出階段。8)DIS派遣,微操作放入ROB后,保留站RS能以任何順27第七章控制器第七章控制器287.5硬布線控制器硬布線控制器的基本原理是根據(jù)指令的要求、當(dāng)前的時(shí)序及外部和內(nèi)部的狀態(tài)情況,按時(shí)間的順序發(fā)送一系列微操作控制信號。它由復(fù)雜的組合邏輯門電路和一些觸發(fā)器構(gòu)成,因此又稱為組合邏輯控制器,或常規(guī)邏輯控制器。7.5硬布線控制器硬布線控制器的基本原理是根據(jù)指令的要求29二、硬布線控制器的結(jié)構(gòu)

二、硬布線控制器的結(jié)構(gòu)301、指令信息Im用于指出當(dāng)前是哪一條指令的指令周期。2、機(jī)器周期信號Mn和時(shí)鐘周期信號Tn指出當(dāng)前處于哪一個(gè)機(jī)器周期和哪一個(gè)節(jié)拍。3、狀態(tài)信號Sx指出運(yùn)算器的結(jié)果狀態(tài)及機(jī)器內(nèi)部的其他狀態(tài),以決定某些操作信號是否發(fā)送。4、外部控制、狀態(tài)信號Ej指出和傳遞CPU外部各部件的狀態(tài)和控制信號。1、指令信息Im用于指出當(dāng)前是哪一條指令的指令周期。31微操作控制信號Ci一部分送到CPU外部構(gòu)成系統(tǒng)總線的控制總線;另一部分則送到CPU內(nèi)部供使用。從邏輯函數(shù)的角度來看,輸出微操作控制信號Ci是5種輸入信號的函數(shù):Ci=fi(Im,Mn,Tn,Sx,Ej)設(shè)計(jì)硬布線控制器的過程,也就是求出每個(gè)微操作控制信號Ci的邏輯函數(shù)fi的過程。微操作控制信號Ci32三、硬布線控制器的設(shè)計(jì)方法

硬布線控制器的設(shè)計(jì)步驟:1、確定指令系統(tǒng),包括指令系統(tǒng)中每條指令的格式、功能和尋址方式。2、圍繞著指令系統(tǒng)的實(shí)現(xiàn),確定CPU的內(nèi)部結(jié)構(gòu),包括運(yùn)算器的功能和組成,控制器的組成及它們的連接方式和數(shù)據(jù)通路,同時(shí)也確定時(shí)序系統(tǒng)的構(gòu)成。3、分析每條指令的執(zhí)行過程,按機(jī)器周期順序,寫出所必需發(fā)送的微操作控制信號序列。4、綜合每個(gè)微操作控制信號的邏輯函數(shù),化簡和優(yōu)化。5、用邏輯電路實(shí)現(xiàn)。三、硬布線控制器的設(shè)計(jì)方法33例如:設(shè)計(jì)實(shí)現(xiàn)ADD和JMP指令的硬布線控制器ADD指令的第一個(gè)字是操作碼和寄存器地址,第二個(gè)字是立即數(shù)。ADD和JMP指令均為二字節(jié)指令。OPRiDATAJMP指令第一個(gè)字是操作碼,第二個(gè)字是轉(zhuǎn)移的直接地址。OPXXA例如:設(shè)計(jì)實(shí)現(xiàn)ADD和JMP指令的硬布線控制器ADD指令的341、首先列出ADD和JMP指令的執(zhí)行過程如下:ADD指令:M0:PC→AR,PC+1→PC;(取指令地址)M1:RAM→IR,J1#;(取指令并譯碼)ADD·M2:PC→AR,PC+1→PC;(取指令第二字地址)ADD·M3:RAM→ALU;(取數(shù)據(jù))ADD·M4:Ri→ALU;(送寄存器數(shù)據(jù))ADD·M5:ALU(+)→Ri;(計(jì)算并存結(jié)果)OPRiDATA1、首先列出ADD和JMP指令的執(zhí)行過程如下:OPRi35JMP指令:M0:PC→AR,PC+1→PC;(取指令地址)M1:RAM→IR,J1#;(取指令并譯碼)JMP·M2:PC→AR,PC+1→PC;(取指令第二字地址)JMP·M3:RAM→PC;(取轉(zhuǎn)移地址,執(zhí)行轉(zhuǎn)移)OPXXAJMP指令:OPXXA362、對應(yīng)的每個(gè)機(jī)器周期所必需發(fā)送的微操作控制信號序列如下:ADD指令:M0:PC-B#,B→AR,PC+1;M1:M-R#(內(nèi)存讀),B-IR,J1#;ADD·M2:PC-B#,B-AR,PC+1;ADD·M3:M-R#,B-DA1;ADD·M4:DR-B#,B-DA2;ADD·M5:ALU(F=A+B),B-DR;JMP指令:M0:PC-B#,B→AR,PC+1;M1:M-R#(內(nèi)存讀),B-IR,J1#;JMP·M2:PC-B#,B→AR,PC+1;

JMP·M3:M-R#,B-PC,PC+1;….2、對應(yīng)的每個(gè)機(jī)器周期所必需發(fā)送的微操作控制信號序列如下:373、對所有的微操作控制信號進(jìn)行綜合:即對于某一個(gè)微操作控制信號,將上述列表中,凡是在冒號“:”右邊出現(xiàn)該信號的機(jī)器周期,把其左邊的條件(與項(xiàng))作為一個(gè)或項(xiàng),全部進(jìn)行或運(yùn)算,即得到該微操作控制信號的邏輯函數(shù)。PC-B#=(M0+ADD·M2+JMP·M2+……)B-AR=(M0+ADD·M2+JMP·M2+……)PC+1=(M0+ADD·M2+JMP·M2+JMP·M3+……)M-R#=m1+ADD·M3+JMP·M3+……B-IR=(M1+……)B-DA1=ADD·M3+ADD·M4+JMP·M3+……DR-B#=ADD·M4+……B-DR=ADD·M5+…………3、對所有的微操作控制信號進(jìn)行綜合:即對于某一個(gè)微操作控制信38若某個(gè)微操作控制信號必須在某個(gè)機(jī)器周期內(nèi)的Tn時(shí)刻有效,則該信號表達(dá)式還要與上Tn時(shí)鐘周期信號4、最后,對邏輯函數(shù)優(yōu)化和簡化,使得邏輯電路最簡,用硬件電路實(shí)現(xiàn)即可。若某個(gè)微操作控制信號必須在某個(gè)機(jī)器周期內(nèi)的Tn時(shí)刻有效,則該39例如:采用計(jì)數(shù)器輸出譯碼方式產(chǎn)生機(jī)器周期信號。假設(shè)某機(jī)器的指令系統(tǒng)有兩條指令:指令A(yù)包含三個(gè)機(jī)器周期,計(jì)數(shù)器的計(jì)數(shù)變化狀態(tài)如圖7-27;指令B包含四個(gè)機(jī)器周期。計(jì)數(shù)器的變化狀態(tài)如圖7-28;例如:采用計(jì)數(shù)器輸出譯碼方式產(chǎn)生機(jī)器周期信號。40表7-7列出了產(chǎn)生兩條指令所需的機(jī)器周期信號時(shí)的計(jì)數(shù)器狀態(tài)。其中Q1,Q2表示當(dāng)前周期計(jì)數(shù)器狀態(tài)輸出,Q’1,Q’2表示下一個(gè)周期計(jì)數(shù)器狀態(tài)輸出。表7-7列出了產(chǎn)生兩條指令所需的機(jī)器周期信號時(shí)的計(jì)數(shù)器狀態(tài)。41根據(jù)表7-7的真值表列出計(jì)數(shù)器的輸出表達(dá)式,對于指令A(yù),其表達(dá)式為對于指令B,其表達(dá)式為所以:根據(jù)表7-7的真值表列出計(jì)數(shù)器的輸出表達(dá)式,對于指令A(yù),其表42根據(jù)表達(dá)式畫出邏輯電路圖當(dāng)執(zhí)行指令A(yù)時(shí),產(chǎn)生機(jī)器周期信號M0、M1、M2;而當(dāng)執(zhí)行指令B時(shí),產(chǎn)生機(jī)器周期信號M0、M1、M2、M3。根據(jù)表達(dá)式畫出邏輯電路圖當(dāng)執(zhí)行指令A(yù)時(shí),產(chǎn)生機(jī)器周期信號M43四、硬布線控制器與微程序控制器的比較

區(qū)別:微操作控制信號的產(chǎn)生方法不同:前者由組合邏輯電路即時(shí)產(chǎn)生;后者是從控存讀取并送出的。硬布線控制器的電路繁瑣、不規(guī)整,不易修改和擴(kuò)充;微程序控制器由于控制信號存于控存,電路相對規(guī)整,易修改和擴(kuò)充;硬布線控制器執(zhí)行速度快,多應(yīng)用于RISC系統(tǒng)。微程序控制器執(zhí)行速度相對硬布線控制器慢,多應(yīng)用于CISC系統(tǒng)。四、硬布線控制器與微程序控制器的比較447.6流水線的基本原理機(jī)器指令按串行方式執(zhí)行機(jī)器指令按并行方式執(zhí)行7.6流水線的基本原理機(jī)器指令按串行方式執(zhí)行45一、流水線工作方式的特點(diǎn)是:流水線分的工序越多,可同時(shí)運(yùn)行的指令就越多,單位時(shí)間內(nèi)可完成的指令也就越多,速度越快。流水線上每個(gè)階段執(zhí)行時(shí)間必須完全一致。流水線上必須等待一段時(shí)間,才能達(dá)到最大吞吐率,這個(gè)時(shí)間等于一條指令的執(zhí)行時(shí)間,稱為“通過時(shí)間”。當(dāng)編譯形成的程序不能發(fā)揮流水線的作用,或存儲器供應(yīng)不上流動所需的指令和數(shù)據(jù),或遇到程序轉(zhuǎn)移指令等情況時(shí),會造成流水線斷流,使效率下降。例:已知一個(gè)指令系統(tǒng)32條指令,一條指令分取指令2ms,計(jì)算地址2ms,取操作數(shù)2ms,執(zhí)行指令1ms,問采用流水線方式執(zhí)行指令,32條指令執(zhí)行一遍需要()ms.。一、流水線工作方式的特點(diǎn)是:例:46二、流水線需要解決的問題:1、訪問內(nèi)存的沖突解決這個(gè)問題1)采用雙端口存儲器,使取指令和取操作數(shù)可同時(shí)進(jìn)行;2)分離指令Cache和數(shù)據(jù)Cache,使取指令和取操作數(shù)可在Cache這級可以同時(shí)進(jìn)行;3)采用指令隊(duì)列,預(yù)取到指令隊(duì)列中,從而避免與取數(shù)據(jù)發(fā)生沖突。2、計(jì)算地址與運(yùn)算的沖突解決的辦法是增設(shè)部件3、操作數(shù)相關(guān)問題其解決方法是:1)插入氣泡法。該方法較簡單,但降低了指令執(zhí)行效率;2)采用數(shù)據(jù)旁路技術(shù),這種方法效率高但控制復(fù)雜。二、流水線需要解決的問題:474、轉(zhuǎn)移相關(guān)問題解決方法是:1)加入空操作,盡量調(diào)整指令執(zhí)行的先后順序,使轉(zhuǎn)移條件提前建立。前者相當(dāng)于順序操作,后者增加了控制難度。2)采用猜測法,先選定轉(zhuǎn)移分支中的一個(gè),按此分支繼續(xù)取指并處理,假如猜測是正確的,則流水線可以繼續(xù)進(jìn)行;假如猜測錯(cuò)了,則要返回分支點(diǎn),并要保證分支點(diǎn)后已進(jìn)行個(gè)處理不破壞原有現(xiàn)場。5、中斷發(fā)生時(shí)轉(zhuǎn)中斷處理解決方法是:1)不精確斷點(diǎn)法:當(dāng)中斷發(fā)生時(shí),不允許后續(xù)指令進(jìn)入流水線,但已進(jìn)入指令流水線的指令繼續(xù)執(zhí)行直到完畢,然后將中斷處理程序的指令送入指令流水線。2)精確斷點(diǎn)法:當(dāng)中斷發(fā)生時(shí),指令流水線中的指令立即停止執(zhí)行,將中斷處理程序指令送入指令流水線,盡快轉(zhuǎn)入中斷處理。被目前大多數(shù)流水線計(jì)算機(jī)后者。4、轉(zhuǎn)移相關(guān)問題487.6PentiumⅡCPU一、PentiumⅡCPU的技術(shù)性能PentiumⅡCPU——32位微處理器,超標(biāo)量體系結(jié)構(gòu),MMX技術(shù)MMX技術(shù)的基礎(chǔ)是SIMD,可以并行處理8個(gè)8位數(shù)據(jù)或4個(gè)16位數(shù)據(jù)或2個(gè)32位數(shù)據(jù)。MMX技術(shù)新增加了4種數(shù)據(jù)類型:緊縮字節(jié)類型──8個(gè)字節(jié)打包成一個(gè)64位長的數(shù)據(jù)、緊縮字類型、緊縮雙字類型和四字類型,還增加了57條新指令,另外擁有8個(gè)64位的MMX寄存器。PentiumⅡCPU用動態(tài)執(zhí)行技術(shù)和寄存器重命名等RISC類處理器所采用的技術(shù),對每一條x86操作轉(zhuǎn)換成的簡單的微操作進(jìn)行處理。PentiumⅡCPU采用了動態(tài)執(zhí)行技術(shù),通過預(yù)測指令流來調(diào)整指令的執(zhí)行,并且分析程序的數(shù)據(jù)流來選擇指令執(zhí)行的最佳順序。PentiumⅡCPU也使用IA(Intel架構(gòu))指令和寄存器。但配備了40個(gè)內(nèi)部寄存器。采用寄存器重命名技術(shù),將IA指令使用的IA寄存器映射成微操作使用的PentiumⅡ內(nèi)部寄存器,這樣可極大地消除指令的數(shù)據(jù)相關(guān)性。PentiumⅡCPU采用了雙獨(dú)立總線結(jié)構(gòu),其中前端總線FBS主要負(fù)責(zé)與主存儲器的信息傳送操作,后端總線連接到L2Cache上。7.6PentiumⅡCPU一、Pentium49動態(tài)執(zhí)行技術(shù)包括以下幾項(xiàng)技術(shù):1)多路分支預(yù)測:利用先進(jìn)的、預(yù)測正確率高達(dá)90%的分支預(yù)測技術(shù),允許程序的幾個(gè)分支流向同時(shí)在處理器中執(zhí)行。處理器在取指令時(shí),還會在程序中尋找未來要執(zhí)行的指令,加快了向處理器傳遞任務(wù)的過程,并為指令執(zhí)行順序的優(yōu)化提供了可調(diào)度基礎(chǔ)。2)數(shù)據(jù)流分析:處理器讀取指令并經(jīng)過譯碼后,判斷該指令能否與其他指令一起處理,然后處理器分析這些指令的數(shù)據(jù)相關(guān)性和資源可用性,以優(yōu)化的執(zhí)行順序高效率地處理這些指令。3)推測執(zhí)行:將多個(gè)程序流向的指令序列,以調(diào)度好的優(yōu)化順序送至執(zhí)行部件執(zhí)行,盡量使多端口、多功能的執(zhí)行部件保持“忙”狀態(tài)。因?yàn)槌绦蛄飨蚴歉鶕?jù)分支預(yù)測建立的,因此指令序列的執(zhí)行結(jié)果只能作為“預(yù)測結(jié)果”保留。一旦確定分支預(yù)測正確,已提前建立的“預(yù)測結(jié)果”立即變成“最終結(jié)果”并及時(shí)修改機(jī)器的狀態(tài)。顯然,推測執(zhí)行可保證處理器的超標(biāo)量流水線始終

溫馨提示

  • 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

提交評論