




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)組成原理,第6章 計(jì)算機(jī)的控制器部件,2,主要學(xué)習(xí)內(nèi)容,控制器的功能、組成部件以及指令執(zhí)行步驟 控制方式和時(shí)序產(chǎn)生 硬連線控制器部件設(shè)計(jì)方法(了解) 微程序控制器部件設(shè)計(jì)方法(重點(diǎn)) 控制器優(yōu)化技術(shù):指令流水線和向量處理機(jī)技術(shù),3,一 控制器的功能概述,馮. 諾依曼結(jié)構(gòu)的計(jì)算機(jī) “存儲(chǔ)程序”計(jì)算機(jī),設(shè)置內(nèi)存,存放程序和數(shù)據(jù) 在程序運(yùn)行之前將程序調(diào)入內(nèi)存,然后執(zhí)行程序 計(jì)算機(jī)的功能是執(zhí)行程序 程序是依次排列起來(lái)的指令序列 計(jì)算機(jī)執(zhí)行程序的基本過(guò)程 從程序首地址開(kāi)始執(zhí)行第一條指令 分步執(zhí)行每一條指令,并形成下一條待執(zhí)行指令地址 自動(dòng)地連續(xù)執(zhí)行指令,直到程序的最后一條指令,4,控制器的功能概述
2、,控制器的功能就是控制指令的執(zhí)行過(guò)程 能夠正確并且自動(dòng)地連續(xù)執(zhí)行指令 按程序中設(shè)定的指令次序執(zhí)行 能夠正確并分步完成每一條指令規(guī)定的功能 讀取指令 分析指令 執(zhí)行指令 能夠在執(zhí)行程序的過(guò)程中響應(yīng)并處理中斷 使計(jì)算機(jī)得以更有效的地兼顧幾項(xiàng)工作 進(jìn)一步講,就是向計(jì)算機(jī)各功能部件 (運(yùn)算器、存儲(chǔ)器、總線、輸入輸出設(shè)備的接口,也包括控制器部件本身) 提供它們每一個(gè)步驟協(xié)調(diào)運(yùn)行所需要的控制信號(hào)。,5,控制器的組成概述, 程序計(jì)數(shù)器 PC 存放指令地址,有 增量 或 接收新值的功能 指令寄存器 IR 存放指令內(nèi)容:操作碼與操作數(shù)地址 指令執(zhí)行步驟標(biāo)記線路 指明每條指令的執(zhí)行步驟和相對(duì)次序關(guān)系 控制信號(hào)產(chǎn)生
3、線路 給出計(jì)算機(jī)各功能部件協(xié)同運(yùn)行所需要的控制信號(hào),主脈沖源與啟??刂凭€路,6,控制器組成和在整機(jī)中的地位,在計(jì)算機(jī)硬件系統(tǒng)中,控制器處于指揮控制地位,7,二 兩種不同類型的控制器,根據(jù)指令步驟標(biāo)記線路和控制信號(hào)產(chǎn)生線路不同的組成和不同的運(yùn)行原理,有兩種不同類型的控制器: 硬連線控制器(組合邏輯控制器): 采用組合邏輯線路、依據(jù)指令及其執(zhí)行步驟直接產(chǎn)生控制信號(hào)。 微程序控制器: 采用存儲(chǔ)器電路把控制信號(hào)存儲(chǔ)起來(lái),依據(jù)指令執(zhí)行的步驟讀出要用到的信號(hào)組合。,8,硬連線vs微程序,微程序其實(shí)質(zhì)是組合邏輯的另一種實(shí)現(xiàn)方式。將組合邏輯的輸出結(jié)果存放在RAM或ROM 內(nèi),將輸入信號(hào)作為ROM或RAM 的地
4、址通過(guò)查表得到邏輯輸出結(jié)果。例子(4輸入與門): 多輸出的情況:n個(gè)輸入,m個(gè)輸出,RAM或ROM 大小為 2n x m bits,9,比較,對(duì)于控制器設(shè)計(jì),控制器有兩種設(shè)計(jì)方法: 硬布線控制器:它是將指令執(zhí)行時(shí)的各個(gè)機(jī)器周期的微操作信號(hào)用時(shí)序邏輯電路來(lái)實(shí)現(xiàn),硬布線控制器速度快,但設(shè)計(jì)復(fù)雜繁瑣,適合于RISC結(jié)構(gòu)。 微程序控制器:它是將機(jī)器指令根據(jù)其執(zhí)行步驟所需的控制信號(hào)當(dāng)前狀態(tài)形成若干條微指令存儲(chǔ)起來(lái),指令執(zhí)行時(shí)從控制存儲(chǔ)器中依次取出這些微指令,發(fā)出指令所需要的全部微操作控制信號(hào),從而完成指令的執(zhí)行。微程序控制器相對(duì)硬布線控制器速度慢,但設(shè)計(jì)比較規(guī)整,易于實(shí)現(xiàn)指令系統(tǒng)修改,適合于CISC結(jié)構(gòu)
5、。 微程序控制器相比較硬連線邏輯實(shí)現(xiàn)的優(yōu)點(diǎn)、缺點(diǎn): 1、改變邏輯功能只需要改變ROM或RAM的內(nèi)容,升級(jí)或更改電路非常方便。 2、采用RAM或ROM實(shí)現(xiàn),查找需要時(shí)間,邏輯實(shí)現(xiàn)速度沒(méi)有硬連線邏輯快。,10,三、指令周期,指令周期:是指計(jì)算機(jī)從內(nèi)存取出一條指令并完成該指令的執(zhí)行所需要的時(shí)間。 不同指令的指令周期可以是不相同的。 一個(gè)指令周期可能由若干個(gè)機(jī)器周期組成。 機(jī)器周期:又稱為CPU周期,用于完成1次內(nèi)存的操作(讀或?qū)懺L問(wèn))或者1次ALU的運(yùn)算,或者1次總線傳送(指令執(zhí)行過(guò)程中的一個(gè)完整功能步驟) 一般規(guī)定為CPU與內(nèi)存交換1次信息(讀或?qū)憙?nèi)存)所需要的時(shí)間。 一個(gè)機(jī)器周期的功能需要多個(gè)時(shí)
6、鐘周期完成。 通常情況下:一條指令的執(zhí)行過(guò)程包括讀指令(取指步驟1)、指令譯碼(取指步驟2)、ALU執(zhí)行(執(zhí)行步驟1)、內(nèi)存讀寫(執(zhí)行步驟2)、數(shù)據(jù)寫回(執(zhí)行步驟3)等5個(gè)步驟組成(不同計(jì)算機(jī)系統(tǒng)或不同指令執(zhí)行步驟可能不同)。一般每個(gè)步驟對(duì)應(yīng)一個(gè)機(jī)器周期。 時(shí)鐘周期:又稱為節(jié)拍周期,是指CPU執(zhí)行一個(gè)微操作命令(即控制信號(hào))的最小時(shí)間單位,也即T周期。 每個(gè)執(zhí)行步驟分解為若干個(gè)微操作命令實(shí)現(xiàn),每個(gè)微操作的執(zhí)行周期為一個(gè)時(shí)鐘周期(節(jié)拍周期)。,11,指令周期、機(jī)器周期、時(shí)鐘周期的關(guān)系,12,節(jié)拍信號(hào)TS1TS4和時(shí)鐘信號(hào)源的關(guān)系,下例中,每四個(gè)節(jié)拍信號(hào)構(gòu)成一個(gè)機(jī)器周期。(TS1,TS2.TS3,
7、TS4信號(hào)控制一個(gè)機(jī)器周期中微操作的執(zhí)行順序),13,全部指令都選用相同執(zhí)行時(shí)間完成的系統(tǒng)被稱為單周期CPU,指令周期取決于用時(shí)最長(zhǎng)的指令,例如每條指令都用 5個(gè)步驟的時(shí)間完成,控制各部件運(yùn)行的信號(hào)在整個(gè)指令周期不變化,因此每個(gè)部件在一個(gè)指令周期中只能執(zhí)行一項(xiàng)操作,系統(tǒng)性能和資源利用率很低,原理正確但不實(shí)用。,單周期CPU,14,依據(jù)不同指令各自的功能需求為其選擇不等的執(zhí)行步驟的系統(tǒng)被稱為多周期CPU 控制各部件運(yùn)行的控制信號(hào)隨著指令執(zhí)行步驟改變,同一個(gè)部件可以在不同的執(zhí)行步驟完成不同的操作,系統(tǒng)性能和資源利用率更高。相鄰指令可以完全串行執(zhí)行,也可能部分時(shí)間重疊,更實(shí)用。,CPU時(shí)鐘,CPI
8、4,多周期CPU,15,四、指令的執(zhí)行過(guò)程,(一)指令執(zhí)行過(guò)程概述 (二)典型指令的執(zhí)行過(guò)程 (三)計(jì)算機(jī)的工作過(guò)程,16,(一)指令執(zhí)行過(guò)程概述,一條指令的執(zhí)行過(guò)程包括取指令、執(zhí)行指令兩大階段,執(zhí)行指令根據(jù)實(shí)際情況可分成多個(gè)階段: 1、取指令 (1)送指令地址:當(dāng)前指令的地址由程序計(jì)數(shù)器PC指出,PC的內(nèi)容送到地址寄存器AR,同時(shí)PC的內(nèi)容遞增以指向下一條指令的地址;即PCAR, PC+1 (2)讀取指令:AR的輸出通過(guò)地址總線送到存儲(chǔ)器的地址端,指明指令所在的地址單元,控制器發(fā)出讀控制信號(hào),控制從存儲(chǔ)器中讀出這條指令;該指令通過(guò)數(shù)據(jù)總線送到指令寄存器IR;即RAM IR,17,(一)指令執(zhí)
9、行過(guò)程概述,(3)指令譯碼:由指令譯碼器對(duì)IR中的指令其進(jìn)行分析譯碼;指令譯碼器首先判斷該指令是什么指令,然后將判斷結(jié)果信息傳遞給操作控制信號(hào)形成部件;即J1# 。 2、執(zhí)行指令 操作控制信號(hào)形成部件根據(jù)指令譯碼信息和時(shí)序周期信號(hào),發(fā)出該指令所需的所有部件的有一定時(shí)序關(guān)系的控制信號(hào)序列,完成指令的執(zhí)行。 執(zhí)行指令的具體操作與指令的功能有很大的關(guān)系,不同的指令,其執(zhí)行指令階段也是不同的。,18,(二)典型指令的執(zhí)行過(guò)程,指令的執(zhí)行過(guò)程舉例:假設(shè)存放在存儲(chǔ)器中的二條指令內(nèi)容為(雙字長(zhǎng)指令),19,模型計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),20,典型指令的指令周期,1、ADD Rd, Data; (Rd)+DataRd
10、 加法指令:寄存器立即數(shù)存入寄存器 尋址方式:源操作數(shù)為立即數(shù)尋址,目的操作數(shù)為寄存器(直接)尋址 指令格式:,21,ADD Rd, Data指令的執(zhí)行過(guò)程,取指令: M1 (送存儲(chǔ)器地址):PCAR, PC+1 M2 (讀存儲(chǔ)器): RAM IR M3(指令譯碼): J1# 執(zhí)行指令: M4(取源操作數(shù)送地址):PCAR, PC+1 M5(取源操作數(shù)讀):RAM DA1 M6(取目的操作數(shù)): RdDA2 M7(計(jì)算并置結(jié)果):DA1+DA2Rd,22,ADD R0, 06H;(R0)+06HR0指令的運(yùn)行過(guò)程,取指令過(guò)程,0101 0000(50H),0000 0101(05H),0000
11、 0100(04H),23,ADD R0, 06H;(R0)+06HR0指令的運(yùn)行過(guò)程,執(zhí)行指令過(guò)程,0000 0110(06H),0000 0101(05H),24,典型指令的指令周期,2、JMP ADDR; ADDRPC 跳轉(zhuǎn)指令:從當(dāng)前指令跳轉(zhuǎn)到目標(biāo)處執(zhí)行 尋址方式:?jiǎn)尾僮鲾?shù)指令,操作數(shù)為直接轉(zhuǎn)移地址,直接尋址 指令格式:,25,JMP ADDR指令的執(zhí)行過(guò)程,取指令: M1 (送存儲(chǔ)器地址):PCAR, PC+1 M2 (讀存儲(chǔ)器): RAMIR M3(指令譯碼): J1# 執(zhí)行指令: M4(取操作數(shù)送地址): PCAR, PC+1 M5(取操作數(shù)讀):RAM PC,26,JMP 04
12、H;04HPC指令的運(yùn)行過(guò)程,取指令過(guò)程,0000 0110(06H),1000 0000(80H),0000 0111(07H),27,JMP 04H;04HPC指令的運(yùn)行過(guò)程,執(zhí)行指令過(guò)程,00000100(04H),0000 0111(07H),28,指令執(zhí)行的流程圖,取指令階段,執(zhí)行指令階段,29,時(shí)序控制 信號(hào) 形成部件,譯碼,IR,PC,節(jié)拍,啟停,.,控制條件,控制器信號(hào),主振,6.2 硬連線控制器部件,地址寄存器,輸出 設(shè)備,輸入 設(shè)備,主 存,運(yùn)算器 部件,數(shù)據(jù)總線,地址總線,控制總線,30,硬連線控制器組成與運(yùn)行原理,硬連線控制器由程序計(jì)數(shù)器PC、指令寄存器IR、節(jié)拍發(fā)生器
13、Timer 和 控制信號(hào)產(chǎn)生部件 4 部分組成。 PC用于提供待讀出指令在主存儲(chǔ)器中的地址, IR 用于保存從主存儲(chǔ)器中讀出的指令內(nèi)容, Timer 用于給出并維護(hù)指令執(zhí)行步驟的編碼, 控制信號(hào)產(chǎn)生部件用于依據(jù)指令內(nèi)容(在IR中)和指令執(zhí)行所處的操作步驟(Timer 提供),用組合邏輯線路產(chǎn)生計(jì)算機(jī)本操作步驟中各個(gè)部件所需要的控制信號(hào)。 劃分指令執(zhí)行步驟,確定各步驟應(yīng)執(zhí)行的功能和步驟之間的銜接關(guān)系,以及確定各部件完成這些功能所需要的控制信號(hào),是控制器設(shè)計(jì)的幾個(gè)關(guān)鍵環(huán)節(jié)。,31,硬布線控制器的結(jié)構(gòu)與原理,經(jīng)指令譯碼器譯碼產(chǎn)生的指令信息Im 時(shí)序系統(tǒng)產(chǎn)生的機(jī)器周期信號(hào)Mn和節(jié)拍信號(hào)Tn,用于指出當(dāng)
14、前處于哪一個(gè)機(jī)器周期和哪一個(gè)節(jié)拍。 狀態(tài)寄存器的狀態(tài)信號(hào)Sx 外部控制、狀態(tài)信號(hào)Ej,硬布線控制器的組成,32,硬布線控制器的結(jié)構(gòu)與原理,微操作控制信號(hào)Ci 一部分送到CPU外部構(gòu)成系統(tǒng)總線的控制總線; 另一部分則送到CPU內(nèi)部供使用。 從邏輯函數(shù)的角度來(lái)看,輸出微操作控制信號(hào)Ci是5種輸入信號(hào)的函數(shù): Ci=fi(Im,Mn,Tn,Sx,Ej) 設(shè)計(jì)硬布線控制器的過(guò)程,也就是求出每個(gè)微操作控制信號(hào)Ci的邏輯函數(shù)fi的過(guò)程。,33,硬連線控制器特點(diǎn),用與-或兩級(jí)構(gòu)成的邏輯電路生成控制信號(hào) 線路延時(shí)小,指令執(zhí)行性能好 適合實(shí)現(xiàn)比較精簡(jiǎn)的指令系統(tǒng)(早期) 常用于實(shí)現(xiàn) RISC 機(jī) (當(dāng)前) 較容易
15、實(shí)現(xiàn)并行 可擴(kuò)展性差,制作系列機(jī)時(shí)較難實(shí)現(xiàn),34,6.3 微程序控制器-基本組成框圖,控制存儲(chǔ)器 (存放微程序),微指令字,微指令寄存器,下地址邏輯,控存地址,下地址字段,微命令字段,指令寄存器 IR,程序計(jì)數(shù)器 PC,影射,指令操作碼,條件信號(hào),Clock,微命令 (控制信號(hào)),35,微程序控制器的基本組成, 程序計(jì)數(shù)器 PC 存放指令地址,有 增量 或 接收新值的功能 指令寄存器 IR 存放指令內(nèi)容:包括指令操作碼與操作數(shù)地址兩部分 微指令下地址邏輯 形成并提供出讀控制存儲(chǔ)器要使用的微指令的地址,其作用與硬連線控制器的節(jié)拍發(fā)生器有些類同。 控制存儲(chǔ)器和微指令寄存器 控制存儲(chǔ)器用于保存由全部
16、微指令構(gòu)成的微程序,讀控制存儲(chǔ)器得到的微指令將首先存入微指令寄存器,之后才能送到各被控制部件,這一部分的作用與硬連線控制器的控制信號(hào)產(chǎn)生部件有些類同。,幾個(gè)重要概念:,微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種 控制命令 (信號(hào)級(jí):比如讀/寫信號(hào)) 微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作 微指令:同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作 微程序:一組微指令的集合 微地址:微指令在CM(控制存儲(chǔ)器)中的地址 微周期:讀出并執(zhí)行一條微指令的時(shí)間,36,37,微程序控制器的基礎(chǔ)知識(shí),用多條微指令“解釋執(zhí)行”每條機(jī)器指令的執(zhí)行過(guò)程。一條微指令控制各部件執(zhí)行指令的一個(gè)執(zhí)行步驟應(yīng)完成的功能,執(zhí)行一條微指
17、令所用的時(shí)間被稱為一個(gè)微周期。 微指令需要具備如下兩項(xiàng)功能: 提供機(jī)器指令的一個(gè)執(zhí)行步驟所需要的控制信號(hào) (微命令),以控制各部件執(zhí)行該步驟的操作功能; 提供下一條待用微指令的地址,以便自動(dòng)有序地讀出后續(xù)的一條微指令,解決指令各執(zhí)行步驟之間正確的銜接關(guān)系。為此微指令中要有兩部分信息。 全部微指令的集合構(gòu)成一臺(tái)計(jì)算機(jī)的完整的微程序,保存在控制存儲(chǔ)器中。,38,把微程序安排到控制存儲(chǔ)器中,最簡(jiǎn)單的原理性辦法 取指用的微指令 譯碼,按指令操作碼分支 解釋 指令0 的微程序 解釋 指令1 的微程序 解釋 指令n 的微程序 檢查中斷請(qǐng)求的微程序 響應(yīng)中斷請(qǐng)求的微程序,無(wú),有,適當(dāng)優(yōu)化設(shè)計(jì) 找出多條指令用
18、到的相同內(nèi)容的微指令或微程序段, 歸并為一條共用,減少控存字?jǐn)?shù); 設(shè)計(jì)更好的下地址信息組成,提供盡可能多的微指令銜接方式; 用不同的微命令字段控制不同的對(duì)象,提高各部件并行運(yùn)行能力,通過(guò)譯碼產(chǎn)生互斥命令,縮短微指令字長(zhǎng)。,順序方式,功能分支,條件轉(zhuǎn)移,無(wú)條件轉(zhuǎn)移,無(wú) 條 件 轉(zhuǎn) 移,39,下地址的形成方式和必要信息,有多種得到下條微指令地址的方式: 順序執(zhí)行時(shí),下地址為本條微指令地址1; 無(wú)條件轉(zhuǎn)移時(shí),可以在微指令的下地址字段直接給出這一轉(zhuǎn)移地址; 條件轉(zhuǎn)移時(shí),按條件選擇順序執(zhí)行或轉(zhuǎn)向某一地址,下地址字段要給出轉(zhuǎn)移條件和微轉(zhuǎn)移地址; 多路轉(zhuǎn)移時(shí),下地址要從多個(gè)微指令地址中選擇; 微子程序調(diào)用與
19、返回,要使用到微堆棧; 根據(jù)指令操作碼分支時(shí),一般通過(guò)專門硬件映射指令操作碼為該指令對(duì)應(yīng)的微程序入口地址實(shí)現(xiàn)。 綜上所述,需要在下地址字段中提供得到下地址的方式,用到的微轉(zhuǎn)移判斷條件,微指令的地址值等信息,要和下地址邏輯的硬件線路組成相吻合。,40,8 位微下地址字段可以訪問(wèn) 256個(gè)字 的控存空間 ,用于直接給出下一條微指令的地址,如微指令的轉(zhuǎn)移地址 等,微指令中的下地址字段的信息,例如可以分成 3 個(gè)子字段,總共提供 16位 的信息,4 位的形成下地址方式編碼可以給出 16種 選擇,如順序執(zhí)行、條件轉(zhuǎn)移、微子程序調(diào)用與返回、從某一固定地址開(kāi)始、循環(huán)執(zhí)行與結(jié)束、按照指令操作碼進(jìn)行功能分支 等
20、。,4 位的轉(zhuǎn)移條件可給出 16種 不同的條件或組合,用于指出微指令轉(zhuǎn)移所依據(jù)的條件,為真則轉(zhuǎn)移、否則順序執(zhí)行,微指令字的下地址字段有多種組織方案,各有長(zhǎng)短,,41,微命令字段用于向計(jì)算機(jī)各個(gè)部件提供它們運(yùn)行所需要的控制信號(hào),這些信號(hào)的組成是由被控制部件 (運(yùn)算器、存儲(chǔ)器和 IO 接口、總線等) 運(yùn)行需求決定的。以教學(xué)計(jì)算機(jī)為例,同樣的指令系統(tǒng),類同的執(zhí)行部件組成,會(huì)要求微程序控制器與硬連線控制器二者提供基本相同的控制信號(hào)。對(duì)控制器部件本身的控制則有很大不同,硬連線控制器主要是控制節(jié)拍發(fā)生器的狀態(tài)轉(zhuǎn)換,微程序控制器主要表現(xiàn)為控制微指令的下地址邏輯線路。 微命令字段的信息位數(shù)可能較多,又有不同的
21、使用要求,相應(yīng)的就有多種處理和組合這些控制信號(hào)的方案,適當(dāng)減少微指令字長(zhǎng)、提高微指令并發(fā)控制能力是需要重點(diǎn)解決的問(wèn)題之一。,微指令中微命令字段的內(nèi)容,42,直接控制法 直接用微指令字的一位作一個(gè)控制信號(hào),簡(jiǎn)單且速度快,但會(huì)使微指令字變得很長(zhǎng)。,微指令格式和字段劃分設(shè)計(jì),微指令字,下地址字段,微命令字段,控制信號(hào),常數(shù)源字段 有點(diǎn)類似于指令中的立即數(shù)字段,位數(shù)不多,提供一個(gè)常數(shù)值,用來(lái)控制微程序循環(huán)次數(shù)等。,常數(shù)值,43,微指令格式和字段劃分設(shè)計(jì),微指令字,控制信號(hào),下地址字段,微命令字段,字段直接編譯法 把互斥的控制信號(hào)分在一組加以編碼,經(jīng)譯碼器給出控制信號(hào),確保互斥,速度會(huì)稍慢,但可大大減短
22、微指令字長(zhǎng)度。,譯 碼 器,字段間接編譯法 微命令的一個(gè)字段的某些微命令還受另一字段制約,是對(duì)直接譯碼的一種改進(jìn),可進(jìn)一步縮短微指令字長(zhǎng)度。,44,微程序控制器特點(diǎn),采用 ROM 存儲(chǔ)控制信號(hào) 可擴(kuò)展性好,系列機(jī)的兼容性易實(shí)現(xiàn) 容易實(shí)現(xiàn)復(fù)雜的指令系統(tǒng) 性能比較低 并行性不太好 主要用在 CISC 中,45,控制 存儲(chǔ)器,映射,IR,PC,接口 輸出 設(shè)備,主存 儲(chǔ)器,運(yùn)算器 部件,下地址邏輯,啟停,地址寄存器,數(shù)據(jù)總線,地址總線,控制總線,.,控制條件,微指令寄存器,主振,選用微程序控制器的教學(xué)機(jī)組成,接口 輸入 設(shè)備,微命令,下地址,46,組合邏輯與微程序控制器比較,相同點(diǎn) 完成相同的控制功
23、能,控制信號(hào)基本相同 組成部分都有程序計(jì)數(shù)器 PC,指令寄存器 IR 都分成幾個(gè)步驟完成一條指令的具體功能 不同點(diǎn) 控制信號(hào)生成方式不同 組合邏輯:由組合邏輯電路直接給出所需要的控制信號(hào) 微程序: 需要的控制信號(hào)是從控制存儲(chǔ)器中讀出來(lái)的,并經(jīng)過(guò)一個(gè)微指令寄存器送到被控制部件 指令步驟標(biāo)記實(shí)現(xiàn)方式不同 組合邏輯:節(jié)拍發(fā)生器狀態(tài)指明指令執(zhí)行步驟 微程序: 通過(guò)微指令的地址來(lái)解決指令執(zhí)行步驟 性能和設(shè)計(jì)實(shí)現(xiàn)難度不同 組合邏輯:優(yōu)點(diǎn)是運(yùn)行速度快,缺點(diǎn)是設(shè)計(jì)與實(shí)現(xiàn)復(fù)雜 微程序: 缺點(diǎn)是運(yùn)行速度慢,優(yōu)點(diǎn)是設(shè)計(jì)與實(shí)現(xiàn)簡(jiǎn)單,47,6.4 控制器優(yōu)化技術(shù):指令流水線的概念和實(shí)現(xiàn)技術(shù),掌握: 指令流水線的基本概念
24、 影響流水線性能的因素 1 結(jié)構(gòu)相關(guān) 2 數(shù)據(jù)相關(guān) 3 控制相關(guān),48,流水線的基本概念,什么是計(jì)算機(jī)中的流水線? 把一個(gè)重復(fù)的過(guò)程分解為若干個(gè)子過(guò)程,每個(gè)子過(guò)程與其他子過(guò)程并行進(jìn)行。由于這種工作方式與工廠中的生產(chǎn)流水線十分相似,因此稱其為流水線技術(shù)。 提高處理機(jī)內(nèi)部的并行性 時(shí)間并行性,就是采用流水線技術(shù),此時(shí)只需增加少量硬件就能把計(jì)算機(jī)的運(yùn)算速度提高幾倍,成為計(jì)算機(jī)中普遍使用的一種并行處理技術(shù)。 空間并行性,即在一個(gè)處理機(jī)內(nèi)設(shè)置多個(gè)獨(dú)立的操作部件,并且使這些部件并行工作。 計(jì)算機(jī)各個(gè)部分幾乎都可以采用流水線技術(shù) 計(jì)算機(jī)指令的執(zhí)行過(guò)程可以采用流水線,稱其為指令流水線。 運(yùn)算器中的操作部件,如
25、浮點(diǎn)加法器、浮點(diǎn)乘法器等可以采用流水線,稱其為操作部件流水線。 多個(gè)計(jì)算機(jī)之間,通過(guò)存儲(chǔ)器連接,也可以采用流水線技術(shù),稱其為宏流水線。,49,流水線的基本概念-時(shí)間重疊,指令的幾種執(zhí)行方式,每個(gè)執(zhí)行步驟時(shí)間為 t,則執(zhí)行 n 條指令的用時(shí) T 為:,T = 3nt,T = (1+2n) t,T = (2+n) t,以每條指令用 3個(gè)步驟完成為例,50,流水線的表示方法,流水線的每一個(gè)階段完成一條指令的一部分功能,不同階段并行完成不同指令的不同部分的功能。 流水線中每一個(gè)階段稱為一個(gè)流水階段、流水節(jié)拍、流水步、流水段、功能段、流水級(jí)等。一個(gè)流水階段與另一個(gè)流水階段相連接形成流水線。 指令從流水線
26、的一端進(jìn)入,經(jīng)過(guò)流水線的處理,從另一端流出。目前大部分處理機(jī)的指令流水線在 312 段之間。 流水線最常用的表示方法: 流水線時(shí)空?qǐng)D表示法,直觀描述流水線工作過(guò)程。,51,流水線的表示方法,流水線時(shí)空?qǐng)D表示法 橫坐標(biāo)表示時(shí)間,也就是輸入到流水線中的各個(gè)任務(wù)在流水線中所經(jīng)過(guò)的時(shí)間。縱坐標(biāo)表示空間,即流水線的每一個(gè)流水段。,52,流水線的特點(diǎn),第一,把一個(gè)任務(wù)(一條指令或一個(gè)操作)分解為幾個(gè)有聯(lián)系的子任務(wù), 每個(gè)子任務(wù)由一個(gè)專門的功能部件來(lái)實(shí)現(xiàn)。 第二,流水線每一個(gè)功能段部件后面都要設(shè)置緩沖寄存器,或稱為鎖存器,其作用是保存本流水段的結(jié)果。,53,流水線的特點(diǎn),第三,流水線中各功能段的時(shí)間應(yīng)盡量相
27、等,否則將引起堵塞、斷流,做不到時(shí)怎么辦? 要求流水線的時(shí)鐘周期不能快于最慢的流水段。 第四,只有連續(xù)不斷地提供同一種任務(wù)時(shí)才能發(fā)揮流水線的效率,所以在流水線中處理的必須是連續(xù)任務(wù)。 第五,流水線需要有裝入時(shí)間和排空時(shí)間。裝入時(shí)間是指第一個(gè)任務(wù)進(jìn)入流水線到輸出流水線的時(shí)間。排空時(shí)間是指第 n 個(gè)(最后一個(gè))任務(wù)進(jìn)入流水線到輸出流水線的時(shí)間。,54,流水線的相關(guān)問(wèn)題,什么是流水線中的“相關(guān)”? 在流水線中經(jīng)常有一些被稱為“相關(guān)”的情況發(fā)生,使得指令序列中下一條或幾條指令無(wú)法按設(shè)計(jì)的時(shí)鐘周期執(zhí)行,將會(huì)降低流水線運(yùn)行性能。 流水線中的相關(guān)可以分為以下三種類型 第一種是結(jié)構(gòu)相關(guān),是指在指令重疊執(zhí)行的過(guò)
28、程中,遇到了因硬件資源資源部不足而不能正常流水的沖突。 第二種是數(shù)據(jù)相關(guān),是指在同時(shí)重疊執(zhí)行的幾條指令中,遇到了后續(xù)指令用到前面指令的執(zhí)行結(jié)果,但前面指令尚不能提供的沖突。 第三種是控制相關(guān),它是指流水線中的分支指令或者其他需要改寫PC的指令時(shí),遇到了不能及時(shí)確定應(yīng)該取哪一條指令的矛盾。 解決流水線中“相關(guān)”問(wèn)題的重要性 流水線相關(guān)問(wèn)題是流水線執(zhí)行過(guò)程中的主要障礙,會(huì)給流水線中順利通暢地執(zhí)行指令序列帶來(lái)不利影響。處理不好可能影響流水線的性能,甚至產(chǎn)生錯(cuò)誤的結(jié)果。,55,結(jié)構(gòu)相關(guān)和相應(yīng)解決方法,因硬件資源沖突而無(wú)法使用某種指令組合被稱為流水線中遇到了結(jié)構(gòu)相關(guān)。例如:指令和數(shù)據(jù)都共用一個(gè)存儲(chǔ)器,在
29、某個(gè)時(shí)鐘周期內(nèi),就不能同時(shí)到存儲(chǔ)器既訪問(wèn)數(shù)據(jù)又讀取指令,此時(shí)就遇到了結(jié)構(gòu)相關(guān)問(wèn)題。,56,結(jié)構(gòu)相關(guān)和相應(yīng)解決方法,解決結(jié)構(gòu)相關(guān)的基本方法 結(jié)構(gòu)相關(guān)的起因是資源爭(zhēng)用,因此可以考慮采用資源重復(fù)設(shè)置的方法來(lái)避免結(jié)構(gòu)相關(guān),也可以采用等待方式處理,但會(huì)降低系統(tǒng)性能。 例如:解決存儲(chǔ)器爭(zhēng)用沖突的辦法 (1) 設(shè)置兩個(gè)存儲(chǔ)器,其中一個(gè)作為數(shù)據(jù)存儲(chǔ)器,另一個(gè)作為指令存儲(chǔ)器。 (2) 如果指令和數(shù)據(jù)放在同一個(gè)存儲(chǔ)器,可使用雙端口存儲(chǔ)器,其中一個(gè)端口存取數(shù)據(jù),另一個(gè)端口取指令。 上述兩種方案中,取指令和訪問(wèn)數(shù)據(jù)可以并行進(jìn)行,不會(huì)發(fā)生結(jié)構(gòu)相關(guān)。,57,數(shù)據(jù)相關(guān)和相應(yīng)解決方法,流水線通過(guò)指令的重疊執(zhí)行來(lái)加大指令的執(zhí)行
30、流量,可能導(dǎo)致幾條指令使用數(shù)據(jù)的沖突,例如:,58,數(shù)據(jù)相關(guān)的解決方法,采用定向(旁路)技術(shù)解決數(shù)據(jù)相關(guān),其基本思想是:不在前條指令的計(jì)算結(jié)果寫回之后再去讀出,而是直接從這個(gè)計(jì)算結(jié)果產(chǎn)生的線路之處將它傳送給后續(xù)指令。,59,數(shù)據(jù)相關(guān)的解決方法,通過(guò)暫停來(lái)解決數(shù)據(jù)相關(guān),60,數(shù)據(jù)相關(guān)的解決方法,正確地檢測(cè)數(shù)據(jù)相關(guān)是重要的,可以通過(guò)引入“流水線互鎖”部件完成,當(dāng)檢測(cè)到上述的數(shù)據(jù)相關(guān)后就暫停流水線,直到可以通過(guò)定向技術(shù)解決數(shù)據(jù)相關(guān)為止。,61,控制相關(guān)和相應(yīng)解決方法,流水線的控制相關(guān)是因程序執(zhí)行轉(zhuǎn)移類指令而引起的相關(guān),如無(wú)條件轉(zhuǎn)移、條件轉(zhuǎn)移、子程序調(diào)用指令等,它們屬于分支指令,運(yùn)行中可能改變指令執(zhí)行
31、的次序,從而造成流水線斷流。 控制相關(guān)會(huì)使流水線的連續(xù)流動(dòng)受到破壞。當(dāng)執(zhí)行條件轉(zhuǎn)移指令時(shí),有兩種可能結(jié)果: 如發(fā)生轉(zhuǎn)移,將 PC 的內(nèi)容改變成轉(zhuǎn)移目標(biāo)地址 如不發(fā)生轉(zhuǎn)移,已經(jīng) 加上一個(gè)增量 PC 保持不變 數(shù)據(jù)相關(guān)影響到的僅僅是本條指令附近少數(shù)幾條指令,所以稱為局部相關(guān)。而控制相關(guān)影響的范圍要大得多,它會(huì)引起程序執(zhí)行段落的改變,使流水線損失更多的性能,所以稱為全局相關(guān)。,62,控制相關(guān)的解決方法,控制相關(guān)簡(jiǎn)單解決方法 一旦發(fā)現(xiàn)分支指令就暫停流水線,即暫停該指令之后的所有指令,直到分支指令達(dá)到已經(jīng)能夠確定新的 PC 值為止。 在發(fā)現(xiàn)它是分支指令之前是不愿意暫停流水線的,因此暫停在 ID 段之后才
32、會(huì)發(fā)生,下圖所示的流水線時(shí)空?qǐng)D就描述了這種出來(lái)方法。,63,控制相關(guān)的解決方法,簡(jiǎn)單方法處理時(shí)空?qǐng)D 流水線處理分支指令時(shí)減少暫停周期數(shù)的思路: 在流水線中盡早判斷出分支轉(zhuǎn)移是否成功; 盡早計(jì)算出分支成功轉(zhuǎn)移時(shí)的PC值(分支的目標(biāo)地址),64,指令級(jí)并行技術(shù)簡(jiǎn)介,多指令發(fā)射技術(shù) 超標(biāo)量 (Superscalar) 處理機(jī) 超流水線 (Superpipelining) 處理機(jī) 超標(biāo)量超流水線 (Superscalar Superpipeling) 處理機(jī) 超長(zhǎng)指令字 (Very Long Instruction Word)處理機(jī),65,指令級(jí)并行技術(shù)簡(jiǎn)介,超標(biāo)量處理機(jī) 通常把一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)
33、發(fā)射多條指令的處理機(jī)稱為超標(biāo)量處理機(jī)。 為了能夠在一個(gè)時(shí)鐘周期內(nèi)同時(shí)發(fā)射多條指令,超標(biāo)量處理機(jī)必須有兩條或兩條以上能夠同時(shí)工作的指令流水線。 高性能超標(biāo)量處理機(jī)一般還有一個(gè)先行指令窗口,它能夠從指令 Cache 中預(yù)取多條指令,而且能夠?qū)@些指令進(jìn)行數(shù)據(jù)相關(guān)性分析和功能部件沖突檢測(cè)。 超標(biāo)量處理機(jī)開(kāi)發(fā)空間并行性,在每個(gè)時(shí)鐘周期可以平均執(zhí)行完成多條指令。如果一臺(tái)超標(biāo)量處理機(jī)每個(gè)時(shí)鐘周期同時(shí)發(fā)射 m 條指令,則它的指令級(jí) 并行度ILP 的期望值就為m。但由于資源沖突、數(shù)據(jù)相關(guān)、控制相關(guān)等原因,實(shí)際的 ILP 不可能達(dá)到 m,通常是 1ILPm。,66,指令級(jí)并行技術(shù)簡(jiǎn)介,超標(biāo)量處理機(jī),67,指令級(jí)
34、并行技術(shù)簡(jiǎn)介,超流水線處理機(jī) 一般把在一個(gè)時(shí)鐘周期內(nèi)能夠分時(shí)發(fā)射多條指令的處理機(jī)稱為超流水線處理機(jī)。另外,也把指令流水線的段數(shù)大于等于8的流水線處理機(jī)稱為超流水線處理機(jī)。 超標(biāo)量處理機(jī)是通過(guò)重復(fù)設(shè)置多個(gè)部件,并且讓這些部件能夠同時(shí)工作來(lái)提高指令的執(zhí)行速度;而超流水線處理機(jī)則只是通過(guò)增加少量硬件,通過(guò)各部分硬件的充分重疊工作來(lái)提高處理機(jī)的性能。 超標(biāo)量處理機(jī)采用的是空間并行性,而超流水線處理機(jī)是開(kāi)發(fā)時(shí)間并行性,通過(guò)各部分硬件的充分重疊來(lái)提高機(jī)器性能。一臺(tái) 并行度ILP 為n 的超流水線處理機(jī),它在一個(gè)時(shí)鐘周期內(nèi)能夠發(fā)射 n條指令。但是 n條指令不是同時(shí)發(fā)射,而是每隔 1n 個(gè)時(shí)鐘周期發(fā)射一條指令
35、。,68,指令級(jí)并行技術(shù)簡(jiǎn)介,超流水線處理機(jī),69,指令級(jí)并行技術(shù)簡(jiǎn)介,超標(biāo)量超流水線處理機(jī) 可以把超標(biāo)量技術(shù)與超流水線技術(shù)結(jié)合在一起,這就是超標(biāo)量超流水線處理機(jī)。它在一個(gè)時(shí)鐘周期內(nèi)要發(fā)射指令m次,每次發(fā)射指令n條,故每個(gè)時(shí)鐘周期中總共發(fā)射指令mn條。(見(jiàn)下圖) 超標(biāo)量超流水線處理機(jī)既開(kāi)發(fā)空間并行性,又開(kāi)發(fā)時(shí)間并行性。前者在重復(fù)設(shè)置的操作部件上同時(shí)執(zhí)行多個(gè)操作來(lái)提高程序的執(zhí)行速度,后者在同一操作部件上重疊多個(gè)操作,通過(guò)使用較快時(shí)鐘周期的深度流水線來(lái)加快程序的執(zhí)行速度。其并行度期望值為mn。,70,指令級(jí)并行技術(shù)簡(jiǎn)介,超標(biāo)量超流水線處理機(jī),71,指令級(jí)并行技術(shù)簡(jiǎn)介,四種不同類型處理機(jī)的性能比較,72,超長(zhǎng)指令字處理機(jī) 超長(zhǎng)指令字(VLIW)處理機(jī)基于以下思路:由編譯程序在編譯時(shí)找出指令間潛在的并行性,進(jìn)行適當(dāng)調(diào)度安排,把多個(gè)能并行執(zhí)行的操作組合在一起,成為一條具有多個(gè)操作段的超長(zhǎng)指令。由這條超長(zhǎng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)電產(chǎn)業(yè)知識(shí)與教育深度融合的未來(lái)趨勢(shì)研究
- 海洋氫能領(lǐng)域突破:電解槽陣列行業(yè)的市場(chǎng)分析與可行性研究
- 2025至2030落地扇行業(yè)市場(chǎng)深度調(diào)研及供需格局及有效策略與實(shí)施路徑評(píng)估報(bào)告
- 職場(chǎng)女性的性健康管理與維護(hù)
- 藝術(shù)教育培訓(xùn)行業(yè)發(fā)展報(bào)告及市場(chǎng)現(xiàn)狀調(diào)研
- 2025至2030燃?xì)馄囆袠I(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)自行車外設(shè)行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國(guó)自動(dòng)拖鞋機(jī)行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國(guó)自動(dòng)去毛刺行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)自動(dòng)催化鍍行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 暑期社區(qū)教育活動(dòng)方案
- 法醫(yī)職稱考試試題及答案
- 2025年人工智能教育應(yīng)用專業(yè)考試試題及答案
- 銀行保密知識(shí)培訓(xùn)課件
- 高校學(xué)科重塑路徑研究
- DB12T 1444-2025 博物館消防安全管理導(dǎo)則
- 硫化氫題庫(kù)及答案
- 2025年房地產(chǎn)銷售經(jīng)理季度工作總結(jié)及年度計(jì)劃
- 學(xué)堂在線 管理溝通的藝術(shù) 期末考試答案
- 低壓培訓(xùn)課件
- 教師團(tuán)隊(duì)協(xié)作與溝通能力
評(píng)論
0/150
提交評(píng)論