計(jì)算機(jī)組成原理5_第1頁(yè)
計(jì)算機(jī)組成原理5_第2頁(yè)
計(jì)算機(jī)組成原理5_第3頁(yè)
計(jì)算機(jī)組成原理5_第4頁(yè)
計(jì)算機(jī)組成原理5_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 5.1 CPU的功能和組成的功能和組成 5.2 指令周期指令周期 5.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 5.4 微程序控制器微程序控制器 5.5 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 5.6 硬連線控制器硬連線控制器 5.7 流水流水CPU 5.8 RISC CPU 5.9 多媒體多媒體CPU 5.10 CPU性能評(píng)價(jià)性能評(píng)價(jià) 2 5.1.1 CPU的功能的功能 5.1.2 CPU的基本組成的基本組成 5.1.3 CPU中的主要寄存器中的主要寄存器 5.1.4 操作控制器與時(shí)序產(chǎn)生器操作控制器與時(shí)序產(chǎn)生器 3 一旦把程序裝入內(nèi)存儲(chǔ)器,就可一旦把程序裝入內(nèi)存儲(chǔ)器,就可 以由計(jì)算機(jī)來(lái)自動(dòng)完

2、成以由計(jì)算機(jī)來(lái)自動(dòng)完成取出指令取出指令 和執(zhí)行指令和執(zhí)行指令的任務(wù)的任務(wù) 專門用來(lái)完成此項(xiàng)工作的計(jì)算機(jī)專門用來(lái)完成此項(xiàng)工作的計(jì)算機(jī) 部件稱為部件稱為中央處理器中央處理器,通常簡(jiǎn)稱,通常簡(jiǎn)稱 CPU 4 CPU具有如下四方面的基本功能:具有如下四方面的基本功能: 指令控制指令控制 程序的程序的順序控制順序控制,稱為指令控制,稱為指令控制 保證機(jī)器按順序執(zhí)行程序是保證機(jī)器按順序執(zhí)行程序是CPU的首要任務(wù)的首要任務(wù) 操作控制操作控制 CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號(hào)操作信號(hào), 把各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部把各種操作信號(hào)送往相應(yīng)的部件,從而

3、控制這些部 件按指令的要求進(jìn)行動(dòng)作件按指令的要求進(jìn)行動(dòng)作 時(shí)間控制時(shí)間控制 對(duì)各種操作實(shí)施時(shí)間上的對(duì)各種操作實(shí)施時(shí)間上的定時(shí)定時(shí),稱為時(shí)間控制,稱為時(shí)間控制 數(shù)據(jù)加工數(shù)據(jù)加工 數(shù)據(jù)加工就是對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算算術(shù)運(yùn)算和邏輯運(yùn)算處理處理 完成數(shù)據(jù)的加工處理,是完成數(shù)據(jù)的加工處理,是CPU的根本任務(wù)的根本任務(wù) 5 CPU由由運(yùn)算器、運(yùn)算器、cache和控制和控制 器器三大部分組成三大部分組成 CPU模型:模型: P128圖圖5.1 6 控制器控制器 由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn) 生器和操作控制器組成生器和操作

4、控制器組成 完成完成協(xié)調(diào)和指揮協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作整個(gè)計(jì)算機(jī)系統(tǒng)的操作 控制器的主要功能有:控制器的主要功能有: 1.從內(nèi)存中取出從內(nèi)存中取出一條一條指令指令,并指出下一條指令在內(nèi)存中的位置,并指出下一條指令在內(nèi)存中的位置 2.對(duì)對(duì)指令指令進(jìn)行進(jìn)行譯碼或測(cè)試譯碼或測(cè)試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便 啟動(dòng)規(guī)定的動(dòng)作啟動(dòng)規(guī)定的動(dòng)作 3.指揮并控制指揮并控制CPU、內(nèi)存和輸入、內(nèi)存和輸入/輸出設(shè)備之間輸出設(shè)備之間數(shù)據(jù)流動(dòng)數(shù)據(jù)流動(dòng)的的方向方向 7 運(yùn)算器運(yùn)算器 由算術(shù)邏輯單元由算術(shù)邏輯單元(ALU)、累加寄存器、數(shù)據(jù)緩沖寄、累加寄存器、數(shù)據(jù)緩沖寄 存器和狀態(tài)

5、條件寄存器組成存器和狀態(tài)條件寄存器組成 是是數(shù)據(jù)加工處理數(shù)據(jù)加工處理部件部件 運(yùn)算器接受控制器的命令而進(jìn)行動(dòng)作,是執(zhí)行部件運(yùn)算器接受控制器的命令而進(jìn)行動(dòng)作,是執(zhí)行部件 運(yùn)算器有兩個(gè)主要功能:運(yùn)算器有兩個(gè)主要功能: 1.執(zhí)行所有的執(zhí)行所有的算術(shù)運(yùn)算算術(shù)運(yùn)算 2.執(zhí)行所有的執(zhí)行所有的邏輯運(yùn)算邏輯運(yùn)算,并進(jìn)行邏輯,并進(jìn)行邏輯測(cè)試測(cè)試 8 1數(shù)據(jù)緩沖寄存器(數(shù)據(jù)緩沖寄存器(DR) 2指令寄存器(指令寄存器(IR) 3程序計(jì)數(shù)器(程序計(jì)數(shù)器(PC) 4地址寄存器(地址寄存器(AR) 5通用寄存器(通用寄存器(R0-R3) 6狀態(tài)條件寄存器(狀態(tài)條件寄存器(PSW) 9 在在CPU中至少要有六類寄存器:中

6、至少要有六類寄存器: 指令寄存器(指令寄存器(IR) 程序計(jì)數(shù)器(程序計(jì)數(shù)器(PC) 地址寄存器(地址寄存器(AR) 數(shù)據(jù)緩沖寄存器(數(shù)據(jù)緩沖寄存器(DR) 通用寄存器(通用寄存器(R0-R3) 狀態(tài)條件寄存器(狀態(tài)條件寄存器(PSW) 這些寄存器用來(lái)這些寄存器用來(lái)暫存一個(gè)計(jì)算機(jī)字暫存一個(gè)計(jì)算機(jī)字 根據(jù)需要,可以擴(kuò)充其數(shù)目根據(jù)需要,可以擴(kuò)充其數(shù)目 10 數(shù)據(jù)緩沖寄存器用來(lái)數(shù)據(jù)緩沖寄存器用來(lái)暫時(shí)存放暫時(shí)存放由內(nèi)存儲(chǔ)器由內(nèi)存儲(chǔ)器 讀出的讀出的一條指令或一個(gè)數(shù)據(jù)字一條指令或一個(gè)數(shù)據(jù)字 反之,當(dāng)向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù)反之,當(dāng)向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù) 字時(shí),也暫時(shí)將它們存放在數(shù)據(jù)緩沖寄存字時(shí),

7、也暫時(shí)將它們存放在數(shù)據(jù)緩沖寄存 器中器中 11 指令寄存器用來(lái)指令寄存器用來(lái)保存當(dāng)前正在執(zhí)行的一條指令保存當(dāng)前正在執(zhí)行的一條指令 當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到緩沖寄存當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到緩沖寄存 器中,然后再傳送至指令寄存器器中,然后再傳送至指令寄存器 為了執(zhí)行任何給定的指令,必須對(duì)為了執(zhí)行任何給定的指令,必須對(duì)操作碼操作碼進(jìn)行進(jìn)行測(cè)測(cè) 試試,以便識(shí)別所要求的操作,以便識(shí)別所要求的操作,指令譯碼器指令譯碼器就是做就是做 這項(xiàng)工作的這項(xiàng)工作的 操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體 操作的特定信號(hào)操作的特定信號(hào) 12 通常又稱為通

8、常又稱為指令計(jì)數(shù)器指令計(jì)數(shù)器 在程序開(kāi)始執(zhí)行前,在程序開(kāi)始執(zhí)行前,PC的內(nèi)容即是從內(nèi)存的內(nèi)容即是從內(nèi)存 提取的提取的第一條指令的地址第一條指令的地址 當(dāng)執(zhí)行指令時(shí),當(dāng)執(zhí)行指令時(shí),CPU將將自動(dòng)修改自動(dòng)修改PC的內(nèi)容,的內(nèi)容, 以便使其保持的總是將要執(zhí)行的以便使其保持的總是將要執(zhí)行的下一條指下一條指 令的地址令的地址 13 地址寄存器用來(lái)保存當(dāng)前地址寄存器用來(lái)保存當(dāng)前CPU所訪問(wèn)的所訪問(wèn)的內(nèi)內(nèi) 存單元的地址存單元的地址 由于在內(nèi)存和由于在內(nèi)存和CPU之間存在著操作速度上之間存在著操作速度上 的差別,所以必須使用地址寄存器來(lái)保持的差別,所以必須使用地址寄存器來(lái)保持 地址信息,直到內(nèi)存的讀地址信息,

9、直到內(nèi)存的讀/寫(xiě)操作完成為止寫(xiě)操作完成為止 14 其功能是:當(dāng)運(yùn)算器的算術(shù)邏輯單元其功能是:當(dāng)運(yùn)算器的算術(shù)邏輯單元(ALU) 執(zhí)行算術(shù)或邏輯運(yùn)算時(shí),為執(zhí)行算術(shù)或邏輯運(yùn)算時(shí),為ALU提供一個(gè)提供一個(gè) 工作區(qū),工作區(qū),暫時(shí)存放暫時(shí)存放ALU運(yùn)算的結(jié)果信息運(yùn)算的結(jié)果信息 15 狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指 令運(yùn)行或測(cè)試的結(jié)果建立的各種令運(yùn)行或測(cè)試的結(jié)果建立的各種條件碼條件碼內(nèi)內(nèi) 容,這些容,這些標(biāo)志位標(biāo)志位通常分別由通常分別由 1位觸發(fā)器保存位觸發(fā)器保存 狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀狀 態(tài)態(tài)等信息等信息 因此,狀態(tài)

10、條件寄存器是一個(gè)由各種因此,狀態(tài)條件寄存器是一個(gè)由各種狀態(tài)狀態(tài) 條件標(biāo)志條件標(biāo)志拼湊而成的寄存器拼湊而成的寄存器 16 通常把許多寄存器之間傳送信息的通路稱通常把許多寄存器之間傳送信息的通路稱 為為數(shù)據(jù)通路數(shù)據(jù)通路 在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是 由稱為由稱為操作控制器操作控制器的部件來(lái)完成的的部件來(lái)完成的 操作控制器的操作控制器的功能功能,就是根據(jù)指令操作碼,就是根據(jù)指令操作碼 和時(shí)序信號(hào),和時(shí)序信號(hào),產(chǎn)生產(chǎn)生各種各種操作控制信號(hào)操作控制信號(hào),以,以 便正確地建立數(shù)據(jù)通路,從而完成取指令便正確地建立數(shù)據(jù)通路,從而完成取指令 和執(zhí)行指令的控制和執(zhí)行指令

11、的控制 17 根據(jù)設(shè)計(jì)方法不同,操作控制器可分為根據(jù)設(shè)計(jì)方法不同,操作控制器可分為時(shí)時(shí) 序邏輯型、存儲(chǔ)邏輯型、時(shí)序邏輯與存儲(chǔ)序邏輯型、存儲(chǔ)邏輯型、時(shí)序邏輯與存儲(chǔ) 邏輯結(jié)合型邏輯結(jié)合型三種三種 第一種稱為第一種稱為硬布線控制器硬布線控制器,它是采用時(shí)序邏,它是采用時(shí)序邏 輯技術(shù)來(lái)實(shí)現(xiàn)的;輯技術(shù)來(lái)實(shí)現(xiàn)的; 第二種稱為第二種稱為微程序控制器微程序控制器,它是采用存儲(chǔ)邏,它是采用存儲(chǔ)邏 輯來(lái)實(shí)現(xiàn)的;輯來(lái)實(shí)現(xiàn)的; 第三種是前兩種方式的組合第三種是前兩種方式的組合 18 操作控制器產(chǎn)生的控制信號(hào)必須操作控制器產(chǎn)生的控制信號(hào)必須定時(shí)定時(shí),還,還 必須有必須有時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)序產(chǎn)生器的作用,就是對(duì)各種

12、操作實(shí)施時(shí)序產(chǎn)生器的作用,就是對(duì)各種操作實(shí)施 時(shí)間上的控制時(shí)間上的控制 19 5.2.1 指令周期的基本概念指令周期的基本概念 5.2.2 CLA指令的指令周期指令的指令周期 5.2.3 ADD指令的指令周期指令的指令周期 5.2.4 STA指令的指令周期指令的指令周期 5.2.5 NOP指令和指令和JMP指令的指令周期指令的指令周期 5.2.6 用方框圖語(yǔ)言表示指令周期用方框圖語(yǔ)言表示指令周期 20 取指令取指令-執(zhí)行指令序列執(zhí)行指令序列 CPU從存放程序的內(nèi)存里取出一條指令并執(zhí)行這條指令;緊接著從存放程序的內(nèi)存里取出一條指令并執(zhí)行這條指令;緊接著 又是取指令,執(zhí)行指令又是取指令,執(zhí)行指令,

13、如此周而復(fù)始,構(gòu)成了一個(gè)封閉的,如此周而復(fù)始,構(gòu)成了一個(gè)封閉的 循環(huán)循環(huán) 除非遇到停機(jī)指令,否則這個(gè)循環(huán)將一直繼續(xù)下去除非遇到停機(jī)指令,否則這個(gè)循環(huán)將一直繼續(xù)下去 其過(guò)程如其過(guò)程如P160圖圖5.2所示所示 21 指令周期指令周期 CPU每取出并執(zhí)行一條指令,都要完成一系每取出并執(zhí)行一條指令,都要完成一系 列的操作,這一系列操作所需的時(shí)間通常叫列的操作,這一系列操作所需的時(shí)間通常叫 做一個(gè)指令周期做一個(gè)指令周期 指令周期是指令周期是取出并執(zhí)行一條指令的時(shí)間取出并執(zhí)行一條指令的時(shí)間 各種指令的指令周期是不盡相同的各種指令的指令周期是不盡相同的 22 CPU周期周期 指令周期常常用若干個(gè)指令周期常

14、常用若干個(gè)CPU周期數(shù)來(lái)表示周期數(shù)來(lái)表示 CPU周期也稱為周期也稱為機(jī)器周期機(jī)器周期 由于由于CPU內(nèi)部的操作速度較快,而內(nèi)部的操作速度較快,而CPU訪問(wèn)訪問(wèn) 一次內(nèi)存所花的時(shí)間較長(zhǎng),因此通常用一次內(nèi)存所花的時(shí)間較長(zhǎng),因此通常用內(nèi)存內(nèi)存 讀取一條指令字的最短時(shí)間讀取一條指令字的最短時(shí)間來(lái)規(guī)定來(lái)規(guī)定CPU周期周期 一條指令的取出階段(通常稱為一條指令的取出階段(通常稱為取指取指)需要需要 一個(gè)一個(gè)CPU周期時(shí)間周期時(shí)間 23 時(shí)鐘周期時(shí)鐘周期 一個(gè)一個(gè)CPU周期時(shí)間包含有若干個(gè)時(shí)鐘周期周期時(shí)間包含有若干個(gè)時(shí)鐘周期 時(shí)鐘周期(通常稱為時(shí)鐘周期(通常稱為節(jié)拍脈沖或節(jié)拍脈沖或T周期周期)是)是 處理操

15、作的處理操作的最基本單位最基本單位 這些時(shí)鐘周期的總和則規(guī)定了一個(gè)這些時(shí)鐘周期的總和則規(guī)定了一個(gè)CPU周周 期的時(shí)間寬度期的時(shí)間寬度 24 采用定長(zhǎng)采用定長(zhǎng)CPU周期的指令周期示意圖周期的指令周期示意圖 P160圖圖5.3 25 取出和執(zhí)行任何一條指令所需的最短時(shí)間取出和執(zhí)行任何一條指令所需的最短時(shí)間 為兩個(gè)為兩個(gè)CPU周期周期 任何一條指令,它的指令周期至少需要兩個(gè)任何一條指令,它的指令周期至少需要兩個(gè) CPU周期周期 而復(fù)雜一些的指令周期,則需要更多的而復(fù)雜一些的指令周期,則需要更多的CPU 周期周期 26 五條典型指令組成的一個(gè)五條典型指令組成的一個(gè)程序程序 程序:程序: P161表表5

16、.1 取指和執(zhí)行過(guò)程:取指和執(zhí)行過(guò)程: 27 在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可采用在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可采用方框圖語(yǔ)言方框圖語(yǔ)言 來(lái)表示一條指令的指令周期來(lái)表示一條指令的指令周期 方框方框 代表一個(gè)代表一個(gè)CPU周期周期,方框中的內(nèi)容表示數(shù)據(jù)通路,方框中的內(nèi)容表示數(shù)據(jù)通路 的的操作操作或某種控制操作或某種控制操作 菱形菱形 表示某種表示某種判別或測(cè)試判別或測(cè)試,不過(guò)時(shí)間上它依附于緊接,不過(guò)時(shí)間上它依附于緊接 它的前面一個(gè)方框的它的前面一個(gè)方框的CPU周期,而周期,而不單獨(dú)占用一不單獨(dú)占用一 個(gè)個(gè)CPU周期周期 28 公操作符號(hào)公操作符號(hào)“” 表示一條表示一條指令指令已經(jīng)已經(jīng)執(zhí)行完畢執(zhí)行完畢,轉(zhuǎn)入公操作轉(zhuǎn)

17、入公操作 所謂所謂公操作公操作,就是一條指令執(zhí)行完畢后,就是一條指令執(zhí)行完畢后,CPU所所 開(kāi)始進(jìn)行的一些操作,這些操作主要是開(kāi)始進(jìn)行的一些操作,這些操作主要是CPU對(duì)外對(duì)外 設(shè)請(qǐng)求的處理設(shè)請(qǐng)求的處理 如果外圍設(shè)備沒(méi)有向如果外圍設(shè)備沒(méi)有向CPU請(qǐng)求交換數(shù)據(jù),那么請(qǐng)求交換數(shù)據(jù),那么 CPU又轉(zhuǎn)向內(nèi)存取下一條指令又轉(zhuǎn)向內(nèi)存取下一條指令 29 用方框圖語(yǔ)言表示機(jī)器指令周期用方框圖語(yǔ)言表示機(jī)器指令周期 把前面的五條典型指令加以歸納,用方框圖語(yǔ)言表示把前面的五條典型指令加以歸納,用方框圖語(yǔ)言表示 指令周期指令周期 P169圖圖5.14,CAI演示演示 30 P169例例1 31 【例例1 1】如圖所示為

18、如圖所示為雙總線雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IRIR為指令寄存器,為指令寄存器,PCPC為為 程序計(jì)數(shù)器程序計(jì)數(shù)器( (具有具有自增自增功能功能) ),M M為主存為主存( (受受R/ R/ 信號(hào)控制信號(hào)控制) ),ARAR為地址為地址 寄存器,寄存器,DRDR為數(shù)據(jù)緩沖寄存器,為數(shù)據(jù)緩沖寄存器,ALUALU由加、減控制信號(hào)決定完成何種由加、減控制信號(hào)決定完成何種 操作,控制信號(hào)操作,控制信號(hào)G G控制的是一個(gè)門電路??刂频氖且粋€(gè)門電路。 另外,另外,線上標(biāo)注有控制信號(hào)線上標(biāo)注有控制信號(hào),例如,例如y yi i表示表示y y寄存器的寄存器的輸入輸入控制信號(hào),控制信號(hào), R1R

19、1o o為寄存器為寄存器R1R1的的輸出輸出控制信號(hào),未標(biāo)字符的線為控制信號(hào),未標(biāo)字符的線為直通線直通線,不受控制。,不受控制。 “ADD R2“ADD R2,R0”R0”指令完成指令完成(R0)+(R2)R0(R0)+(R2)R0的功能操作,畫(huà)出其的功能操作,畫(huà)出其指令周指令周 期流程圖期流程圖,假設(shè)該指令的地址已放入,假設(shè)該指令的地址已放入PCPC中。并列出相應(yīng)的中。并列出相應(yīng)的微操作控制微操作控制 信號(hào)序列信號(hào)序列。 W 32 【解解】 “ADD R2,R0”指令是一條加指令是一條加 法指令,參與運(yùn)算的兩個(gè)數(shù)放法指令,參與運(yùn)算的兩個(gè)數(shù)放 在寄存器在寄存器R2和和R0中,指令周期中,指令周

20、期 流程圖包括取指令階段和執(zhí)行流程圖包括取指令階段和執(zhí)行 指令階段兩部分。指令階段兩部分。 根據(jù)給定的數(shù)據(jù)通路圖,根據(jù)給定的數(shù)據(jù)通路圖, “ADD R2,R0”指令的詳細(xì)指令的詳細(xì)指指 令周期流程圖令周期流程圖如圖所示,圖的如圖所示,圖的 右邊部分標(biāo)注了每一個(gè)機(jī)器周右邊部分標(biāo)注了每一個(gè)機(jī)器周 期中用到的期中用到的微操作控制信號(hào)序微操作控制信號(hào)序 列列。 33 5.3.1 時(shí)序信號(hào)的作用和體制時(shí)序信號(hào)的作用和體制 5.3.2 時(shí)序信號(hào)產(chǎn)生器時(shí)序信號(hào)產(chǎn)生器 5.3.3 控制方式控制方式 34 CPU中有一個(gè)中有一個(gè)時(shí)序信號(hào)產(chǎn)生器時(shí)序信號(hào)產(chǎn)生器,發(fā)出時(shí)序信號(hào)發(fā)出時(shí)序信號(hào) 機(jī)器一旦被啟動(dòng),即機(jī)器一旦被

21、啟動(dòng),即CPU開(kāi)始取指令并執(zhí)行指令開(kāi)始取指令并執(zhí)行指令 時(shí),時(shí),操作控制器操作控制器就利用定時(shí)脈沖的順序和不同的就利用定時(shí)脈沖的順序和不同的 脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作,脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作, 給計(jì)算機(jī)各部分給計(jì)算機(jī)各部分提供提供工作所需的工作所需的時(shí)間標(biāo)志時(shí)間標(biāo)志 計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志時(shí)間標(biāo)志則則 是用時(shí)序信號(hào)來(lái)體現(xiàn)的是用時(shí)序信號(hào)來(lái)體現(xiàn)的 35 時(shí)序信號(hào)產(chǎn)生器的時(shí)序信號(hào)產(chǎn)生器的功能功能是是用邏輯電路來(lái)實(shí)現(xiàn)時(shí)序用邏輯電路來(lái)實(shí)現(xiàn)時(shí)序 硬布線控制器硬布線控制器的時(shí)序電路比較的時(shí)序電路比較復(fù)雜復(fù)雜,而,而微程序控微

22、程序控 制器制器的時(shí)序電路比較的時(shí)序電路比較簡(jiǎn)單簡(jiǎn)單 1時(shí)鐘源時(shí)鐘源 2環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器 3節(jié)拍脈沖和存儲(chǔ)器讀節(jié)拍脈沖和存儲(chǔ)器讀/寫(xiě)時(shí)序的譯碼寫(xiě)時(shí)序的譯碼 4啟??刂七壿媶⑼?刂七壿?36 控制不同操作序列時(shí)序信號(hào)控制不同操作序列時(shí)序信號(hào)的方法,稱為的方法,稱為 控制器的控制方式控制器的控制方式 常用的有同步控制、異步控制、聯(lián)合控制常用的有同步控制、異步控制、聯(lián)合控制 三種方式,其三種方式,其實(shí)質(zhì)反映了時(shí)序信號(hào)的定時(shí)實(shí)質(zhì)反映了時(shí)序信號(hào)的定時(shí) 方式方式 37 (1)(1)同步控制同步控制 定義:定義: 特點(diǎn):特點(diǎn): 有明顯時(shí)序時(shí)間劃分,有明顯時(shí)序時(shí)間劃分, 優(yōu)缺點(diǎn):優(yōu)缺點(diǎn): 時(shí)序關(guān)系

23、簡(jiǎn)單,時(shí)序劃分規(guī)整,時(shí)序關(guān)系簡(jiǎn)單,時(shí)序劃分規(guī)整, 控制不復(fù)雜;控制不復(fù)雜; 時(shí)間安排不合理。時(shí)間安排不合理。 應(yīng)用場(chǎng)合:應(yīng)用場(chǎng)合: 用于用于CPUCPU內(nèi)部、設(shè)備內(nèi)部、系內(nèi)部、設(shè)備內(nèi)部、系 統(tǒng)總線操作統(tǒng)總線操作 控制邏輯易于集中,便于管理??刂七壿嬕子诩?,便于管理。 時(shí)鐘周期時(shí)時(shí)鐘周期時(shí) 間固定,間固定, 各步操作的銜接、各部件之間的數(shù)各步操作的銜接、各部件之間的數(shù) 據(jù)傳送受嚴(yán)格同步定時(shí)控制。據(jù)傳送受嚴(yán)格同步定時(shí)控制。 各項(xiàng)操作受統(tǒng)一時(shí)序控制。各項(xiàng)操作受統(tǒng)一時(shí)序控制。在任何情況下,在任何情況下, 已定的已定的指令指令在執(zhí)行時(shí)所需的在執(zhí)行時(shí)所需的機(jī)器周期數(shù)和時(shí)鐘周期數(shù)都固定不變機(jī)器周期數(shù)和時(shí)鐘

24、周期數(shù)都固定不變 由由CPUCPU或其他設(shè)備提供或其他設(shè)備提供 38 (2 2)異步控制)異步控制 各項(xiàng)操作按不同需要安排時(shí)間,不各項(xiàng)操作按不同需要安排時(shí)間,不 受統(tǒng)一時(shí)序控制。受統(tǒng)一時(shí)序控制。 特點(diǎn)是:每條指令、每個(gè)操作控制信號(hào)需特點(diǎn)是:每條指令、每個(gè)操作控制信號(hào)需 要多少時(shí)間就占用多少時(shí)間要多少時(shí)間就占用多少時(shí)間 這意味著每條指令的指令周期可由多少不這意味著每條指令的指令周期可由多少不 等的機(jī)器周期數(shù)組成等的機(jī)器周期數(shù)組成 定義:定義: 39 特點(diǎn):特點(diǎn): 無(wú)統(tǒng)一時(shí)鐘周期劃分,無(wú)統(tǒng)一時(shí)鐘周期劃分, 各操作間的各操作間的 銜接和各部件之間的信息交換采用異步應(yīng)答銜接和各部件之間的信息交換采用異

25、步應(yīng)答 方式。方式。 40 時(shí)間安排緊湊、合理;時(shí)間安排緊湊、合理; 控制復(fù)雜。控制復(fù)雜。 優(yōu)缺點(diǎn):優(yōu)缺點(diǎn): 應(yīng)用場(chǎng)合:應(yīng)用場(chǎng)合: 用于異步總線操作用于異步總線操作( (各掛接部各掛接部 件速度差異大,傳送時(shí)間不確定,傳送距離件速度差異大,傳送時(shí)間不確定,傳送距離 較遠(yuǎn)較遠(yuǎn)) )。 41 (3)聯(lián)合聯(lián)合控制方式控制方式 同步控制和異步控制相同步控制和異步控制相結(jié)合結(jié)合 42 5.4.1 微命令和微操作微命令和微操作 5.4.2 微指令和微程序微指令和微程序 5.4.3 微程序控制器原理框圖微程序控制器原理框圖 5.4.4 微程序舉例微程序舉例 5.4.5 CPU周期與微指令周期的關(guān)系周期與微指

26、令周期的關(guān)系 5.4.6 機(jī)器指令與微指令的關(guān)系機(jī)器指令與微指令的關(guān)系 43 微程序控制器微程序控制器具有規(guī)整性、靈活性、可維具有規(guī)整性、靈活性、可維 護(hù)性等一系列優(yōu)點(diǎn),因而在計(jì)算機(jī)設(shè)計(jì)中護(hù)性等一系列優(yōu)點(diǎn),因而在計(jì)算機(jī)設(shè)計(jì)中 逐漸逐漸取代取代了早期采用的了早期采用的硬布線控制器硬布線控制器,并,并 已被廣泛地應(yīng)用已被廣泛地應(yīng)用 在計(jì)算機(jī)系統(tǒng)中,微程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)系統(tǒng)中,微程序設(shè)計(jì)技術(shù)是利用利用 軟件方法來(lái)設(shè)計(jì)硬件軟件方法來(lái)設(shè)計(jì)硬件的一門技術(shù)的一門技術(shù) 44 微程序控制器的微程序控制器的基本思想基本思想 仿照通常的解題程序的方法,仿照通常的解題程序的方法,把操作控制信把操作控制信 號(hào)編成微

27、指令號(hào)編成微指令,存放到一個(gè)只讀存儲(chǔ)器里,存放到一個(gè)只讀存儲(chǔ)器里 當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀出讀出這些這些微指微指 令令,從而,從而產(chǎn)生產(chǎn)生全機(jī)所需要的各種全機(jī)所需要的各種操作控制信操作控制信 號(hào)號(hào),使相應(yīng)部件執(zhí)行所規(guī)定的操作,使相應(yīng)部件執(zhí)行所規(guī)定的操作 45 微命令和微操作微命令和微操作 微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā) 出的各種控制命令。出的各種控制命令。 微操作:執(zhí)行部件接受微命令后所進(jìn)行的操微操作:執(zhí)行部件接受微命令后所進(jìn)行的操 作。作。 相容性的微操作:是指在同時(shí)或同一個(gè)相容性的微操作:是指在同時(shí)或同一個(gè)CPU

28、周期內(nèi)可以并行執(zhí)行的微操作。周期內(nèi)可以并行執(zhí)行的微操作。 相斥性的微操作:是指不能在同時(shí)或同一個(gè)相斥性的微操作:是指不能在同時(shí)或同一個(gè) CPU周期內(nèi)可以并行執(zhí)行的微操作。周期內(nèi)可以并行執(zhí)行的微操作。 46 微指令周期等于讀出微命令的時(shí)間加上執(zhí)行微指令周期等于讀出微命令的時(shí)間加上執(zhí)行 改微指令的時(shí)間。為保證整個(gè)機(jī)器控制信改微指令的時(shí)間。為保證整個(gè)機(jī)器控制信 號(hào)的同步,一般將微指令周期的時(shí)間設(shè)計(jì)號(hào)的同步,一般將微指令周期的時(shí)間設(shè)計(jì) 的恰好與的恰好與CPU周期時(shí)間相等。周期時(shí)間相等。 47 微指令與微程序微指令與微程序 一條機(jī)器指令一條機(jī)器指令是由是由若干條微指令若干條微指令組成的序列組成的序列 來(lái)

29、實(shí)現(xiàn)的,這個(gè)來(lái)實(shí)現(xiàn)的,這個(gè)微指令序列微指令序列通常叫做通常叫做微程序微程序 一條機(jī)器指令一條機(jī)器指令對(duì)應(yīng)著對(duì)應(yīng)著一個(gè)微程序一個(gè)微程序,而,而微程序微程序 的總和的總和便可實(shí)現(xiàn)整個(gè)的便可實(shí)現(xiàn)整個(gè)的指令系統(tǒng)指令系統(tǒng) 48 1基本思想基本思想 2指令執(zhí)行流程指令執(zhí)行流程 3微操作控制信號(hào)的產(chǎn)生微操作控制信號(hào)的產(chǎn)生 49 基本思想基本思想 硬布線控制器是硬布線控制器是早期早期設(shè)計(jì)計(jì)算機(jī)的一種方法設(shè)計(jì)計(jì)算機(jī)的一種方法 這種方法是把控制部件看作為產(chǎn)生專門固定時(shí)序控這種方法是把控制部件看作為產(chǎn)生專門固定時(shí)序控 制信號(hào)的制信號(hào)的邏輯電路邏輯電路,而此邏輯電路以使用最少元件,而此邏輯電路以使用最少元件 和取得最

30、高操作速度為設(shè)計(jì)目標(biāo)和取得最高操作速度為設(shè)計(jì)目標(biāo) 一旦控制部件構(gòu)成后,除非重新設(shè)計(jì)和物理上對(duì)它一旦控制部件構(gòu)成后,除非重新設(shè)計(jì)和物理上對(duì)它 重新布線,否則要想增加新的控制功能是不可能的重新布線,否則要想增加新的控制功能是不可能的 這種邏輯電路是一種這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜由門電路和觸發(fā)器構(gòu)成的復(fù)雜 樹(shù)形邏輯網(wǎng)絡(luò)樹(shù)形邏輯網(wǎng)絡(luò),故稱之為,故稱之為硬布線硬布線控制器控制器 50 特點(diǎn)特點(diǎn) 與微程序控制相比,硬布線控制的與微程序控制相比,硬布線控制的速度較快速度較快, 主要取決于邏輯電路的延遲主要取決于邏輯電路的延遲 因此,近年來(lái)在某些超高速新型計(jì)算機(jī)結(jié)構(gòu)因此,近年來(lái)在某些超高速新

31、型計(jì)算機(jī)結(jié)構(gòu) 中,又選用了硬布線控制器,或與微程序控中,又選用了硬布線控制器,或與微程序控 制器混合使用制器混合使用 51 5.7.1 并行處理技術(shù)并行處理技術(shù) 5.7.2 流水流水CPU的結(jié)構(gòu)的結(jié)構(gòu) 5.7.3 流水線中的主要問(wèn)題流水線中的主要問(wèn)題 5.7.4 奔騰奔騰 CPU 52 早期的計(jì)算機(jī)采用的是早期的計(jì)算機(jī)采用的是串行處理串行處理,計(jì)算機(jī)的各個(gè),計(jì)算機(jī)的各個(gè) 操作只能串行地完成,即操作只能串行地完成,即任一時(shí)刻只能進(jìn)行一個(gè)任一時(shí)刻只能進(jìn)行一個(gè) 操作操作 而而并行處理并行處理則使得以上則使得以上各個(gè)操作能同時(shí)進(jìn)行各個(gè)操作能同時(shí)進(jìn)行,從,從 而大大提高了計(jì)算機(jī)的速度而大大提高了計(jì)算機(jī)的

32、速度 廣義地講,廣義地講,并行性并行性有著兩種含義:有著兩種含義: 一是一是同時(shí)性同時(shí)性,指兩個(gè)以上事件在,指兩個(gè)以上事件在同一時(shí)刻同一時(shí)刻發(fā)生發(fā)生 二是二是并發(fā)性并發(fā)性,指兩個(gè)以上事件在,指兩個(gè)以上事件在同一時(shí)間間隔內(nèi)同一時(shí)間間隔內(nèi)發(fā)生發(fā)生 53 計(jì)算機(jī)的并行處理技術(shù)概括起計(jì)算機(jī)的并行處理技術(shù)概括起 來(lái)主要有三種形式:來(lái)主要有三種形式: 時(shí)間并行時(shí)間并行 空間并行空間并行 時(shí)間并行時(shí)間并行+空間并行空間并行 54 指指時(shí)間重疊時(shí)間重疊 讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi),讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi),輪流重疊輪流重疊 地使用地使用同一套同一套硬件硬件設(shè)備的各個(gè)部分,以加快硬設(shè)備的各個(gè)部分,以加

33、快硬 件周轉(zhuǎn)而贏得速度件周轉(zhuǎn)而贏得速度 時(shí)間并行性概念的實(shí)現(xiàn)方式就是采用時(shí)間并行性概念的實(shí)現(xiàn)方式就是采用流水處理流水處理 部件部件 是一種非常經(jīng)濟(jì)而實(shí)用的并行技術(shù),能保證計(jì)算機(jī)是一種非常經(jīng)濟(jì)而實(shí)用的并行技術(shù),能保證計(jì)算機(jī) 系統(tǒng)具有較高的性能價(jià)格比系統(tǒng)具有較高的性能價(jià)格比 目前的高性能微型機(jī)幾乎無(wú)一例外地使用了流目前的高性能微型機(jī)幾乎無(wú)一例外地使用了流 水技術(shù)水技術(shù) 55 指指資源重復(fù)資源重復(fù) 以以“數(shù)量取勝數(shù)量取勝” 為原則來(lái)大幅度提高計(jì)算為原則來(lái)大幅度提高計(jì)算 機(jī)的處理速度機(jī)的處理速度 空間并行技術(shù)主要體現(xiàn)在空間并行技術(shù)主要體現(xiàn)在多處理器系統(tǒng)和多處理器系統(tǒng)和 多計(jì)算機(jī)系統(tǒng)多計(jì)算機(jī)系統(tǒng) 56

34、指指時(shí)間重疊和資源重復(fù)時(shí)間重疊和資源重復(fù)的綜合應(yīng)用的綜合應(yīng)用 既采用時(shí)間并行性又采用空間并行性,帶既采用時(shí)間并行性又采用空間并行性,帶 來(lái)的高速效益是最好的來(lái)的高速效益是最好的 奔騰奔騰CPU采用了采用了超標(biāo)量流水超標(biāo)量流水技術(shù),在一個(gè)技術(shù),在一個(gè) 機(jī)器周期中同時(shí)執(zhí)行兩條指令,因而既具機(jī)器周期中同時(shí)執(zhí)行兩條指令,因而既具 有時(shí)間并行性,又具有空間并行性有時(shí)間并行性,又具有空間并行性 57 1流水計(jì)算機(jī)的系統(tǒng)組成流水計(jì)算機(jī)的系統(tǒng)組成 2流水流水CPU的時(shí)空?qǐng)D的時(shí)空?qǐng)D 3流水線分類流水線分類 58 現(xiàn)代流水計(jì)算現(xiàn)代流水計(jì)算 機(jī)的系統(tǒng)組成機(jī)的系統(tǒng)組成 原理示意圖原理示意圖 P192圖圖5.33 59

35、 CPU按流水線方式組織,通常按流水線方式組織,通常 由三部分組成:由三部分組成: 指令部件指令部件 指令隊(duì)列指令隊(duì)列 執(zhí)行部件執(zhí)行部件 這三個(gè)功能部件可以組成一個(gè)這三個(gè)功能部件可以組成一個(gè) 3級(jí)流水線級(jí)流水線 60 指令部件指令部件 指令部件本身又構(gòu)成一個(gè)流水線,即指令部件本身又構(gòu)成一個(gè)流水線,即指令流水線指令流水線, 由取指令、指令譯碼、計(jì)算操作數(shù)地址、取操作數(shù)由取指令、指令譯碼、計(jì)算操作數(shù)地址、取操作數(shù) 等幾個(gè)過(guò)程段組成等幾個(gè)過(guò)程段組成 指令隊(duì)列指令隊(duì)列 指令隊(duì)列是一個(gè)先進(jìn)先出(指令隊(duì)列是一個(gè)先進(jìn)先出(FIFO)的)的寄存器棧寄存器棧, 用于存放經(jīng)過(guò)譯碼的指令和取來(lái)的操作數(shù),也是由用于存

36、放經(jīng)過(guò)譯碼的指令和取來(lái)的操作數(shù),也是由 若干個(gè)過(guò)程段組成的若干個(gè)過(guò)程段組成的流水線流水線 執(zhí)行部件執(zhí)行部件 執(zhí)行部件可以具有多個(gè)執(zhí)行部件可以具有多個(gè)算術(shù)邏輯運(yùn)算部件算術(shù)邏輯運(yùn)算部件,這些部,這些部 件本身又用件本身又用流水線流水線方式構(gòu)成方式構(gòu)成 61 為了使存儲(chǔ)器的存取時(shí)間能與為了使存儲(chǔ)器的存取時(shí)間能與 流水線的其他各過(guò)程段的速度流水線的其他各過(guò)程段的速度 相匹配,一般都采用相匹配,一般都采用多體交叉多體交叉 存儲(chǔ)器存儲(chǔ)器 62 執(zhí)行段的執(zhí)行段的速度匹配速度匹配問(wèn)題問(wèn)題 通常采用通常采用并行的運(yùn)算部件并行的運(yùn)算部件以及以及部件流水線部件流水線的工作方的工作方 式來(lái)解決式來(lái)解決 一般采用的方法

37、包括:一般采用的方法包括: 1.將執(zhí)行部件分為將執(zhí)行部件分為定點(diǎn)執(zhí)行部件和浮點(diǎn)執(zhí)行部件定點(diǎn)執(zhí)行部件和浮點(diǎn)執(zhí)行部件兩個(gè)兩個(gè) 可并行執(zhí)行的部分,分別處理定點(diǎn)運(yùn)算指令和浮點(diǎn)可并行執(zhí)行的部分,分別處理定點(diǎn)運(yùn)算指令和浮點(diǎn) 運(yùn)算指令運(yùn)算指令 2.在浮點(diǎn)執(zhí)行部件中,又有在浮點(diǎn)執(zhí)行部件中,又有浮點(diǎn)加法部件和浮點(diǎn)乘浮點(diǎn)加法部件和浮點(diǎn)乘/除除 部件部件,它們也可以同時(shí)執(zhí)行不同的指令,它們也可以同時(shí)執(zhí)行不同的指令 3.浮點(diǎn)運(yùn)算部件都以浮點(diǎn)運(yùn)算部件都以流水線流水線方式工作方式工作 63 為了實(shí)現(xiàn)流水,首先把輸入的為了實(shí)現(xiàn)流水,首先把輸入的任務(wù)任務(wù)(或過(guò)程或過(guò)程) 分割為分割為一系列一系列子任務(wù)子任務(wù),并,并使各子任務(wù)

38、能在使各子任務(wù)能在 流水線的各個(gè)階段并發(fā)地執(zhí)行流水線的各個(gè)階段并發(fā)地執(zhí)行 當(dāng)任務(wù)連續(xù)不斷地輸入流水線時(shí),在流水當(dāng)任務(wù)連續(xù)不斷地輸入流水線時(shí),在流水 線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果,線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果, 從而實(shí)現(xiàn)了子任務(wù)級(jí)的并行性從而實(shí)現(xiàn)了子任務(wù)級(jí)的并行性 64 流水計(jì)算機(jī)的時(shí)空?qǐng)D流水計(jì)算機(jī)的時(shí)空?qǐng)D P193圖圖5.34 CAI演示演示 65 圖圖5.34(a)表示流水表示流水CPU中中一個(gè)指令周期的任務(wù)分解一個(gè)指令周期的任務(wù)分解 假設(shè)指令周期包含取指令(假設(shè)指令周期包含取指令(IF)、指令譯碼()、指令譯碼(ID)、執(zhí))、執(zhí) 行運(yùn)算(行運(yùn)算(EX)、結(jié)果寫(xiě)回()、結(jié)果寫(xiě)回(

39、WB)四個(gè)子過(guò)程(過(guò)程段)四個(gè)子過(guò)程(過(guò)程段) 一個(gè)流水線由一系列串聯(lián)的過(guò)程段組成一個(gè)流水線由一系列串聯(lián)的過(guò)程段組成 各個(gè)過(guò)程段之間設(shè)有各個(gè)過(guò)程段之間設(shè)有高速緩沖寄存器高速緩沖寄存器,以暫時(shí)保存上一,以暫時(shí)保存上一 過(guò)程段子任務(wù)處理的結(jié)果過(guò)程段子任務(wù)處理的結(jié)果 在在統(tǒng)一的時(shí)鐘信號(hào)統(tǒng)一的時(shí)鐘信號(hào)控制下,數(shù)據(jù)從一個(gè)過(guò)程段流向相鄰控制下,數(shù)據(jù)從一個(gè)過(guò)程段流向相鄰 的過(guò)程段的過(guò)程段 66 圖圖5.34(b)表示表示非流水計(jì)算機(jī)非流水計(jì)算機(jī)的時(shí)空?qǐng)D的時(shí)空?qǐng)D 上一條指令的四個(gè)子過(guò)程全部執(zhí)行完畢后才能開(kāi)始下上一條指令的四個(gè)子過(guò)程全部執(zhí)行完畢后才能開(kāi)始下 一條指令一條指令 每隔每隔4個(gè)機(jī)器時(shí)鐘周期才有一個(gè)輸出

40、結(jié)果個(gè)機(jī)器時(shí)鐘周期才有一個(gè)輸出結(jié)果 67 圖圖5.34(c)表示表示流水計(jì)算機(jī)流水計(jì)算機(jī)的時(shí)空?qǐng)D的時(shí)空?qǐng)D 上一條指令與下一條指令的四個(gè)子過(guò)程在時(shí)間上可以重上一條指令與下一條指令的四個(gè)子過(guò)程在時(shí)間上可以重 疊執(zhí)行疊執(zhí)行 當(dāng)流水線滿載時(shí),每一個(gè)時(shí)鐘周期就可以輸出一個(gè)結(jié)果當(dāng)流水線滿載時(shí),每一個(gè)時(shí)鐘周期就可以輸出一個(gè)結(jié)果 68 圖圖5.34(d)表示表示超標(biāo)量流水計(jì)算機(jī)超標(biāo)量流水計(jì)算機(jī)的時(shí)空?qǐng)D的時(shí)空?qǐng)D 一般的流水計(jì)算機(jī)只有一般的流水計(jì)算機(jī)只有一條指令流水線一條指令流水線,稱為,稱為標(biāo)量流標(biāo)量流 水水計(jì)算機(jī)計(jì)算機(jī) 所謂所謂超標(biāo)量流水超標(biāo)量流水,是指它具有,是指它具有兩條以上的指令流水線兩條以上的指令流水

41、線 當(dāng)流水線滿載時(shí),每一個(gè)時(shí)鐘周期可以執(zhí)行當(dāng)流水線滿載時(shí),每一個(gè)時(shí)鐘周期可以執(zhí)行2條指令條指令 超標(biāo)量流水計(jì)算機(jī)是時(shí)間并行技術(shù)和空間并行技術(shù)的超標(biāo)量流水計(jì)算機(jī)是時(shí)間并行技術(shù)和空間并行技術(shù)的 綜合應(yīng)用綜合應(yīng)用 69 一個(gè)計(jì)算機(jī)系統(tǒng)可以在不同的一個(gè)計(jì)算機(jī)系統(tǒng)可以在不同的 并行等級(jí)上采用流水線技術(shù)并行等級(jí)上采用流水線技術(shù) 常見(jiàn)的流水線形式:常見(jiàn)的流水線形式: 指令流水線指令流水線 算術(shù)流水線算術(shù)流水線 處理機(jī)流水線處理機(jī)流水線 70 指令流水線指令流水線 指指指令步驟的并行指令步驟的并行 將指令流的處理過(guò)程劃分為取指令、譯碼、取將指令流的處理過(guò)程劃分為取指令、譯碼、取 操作數(shù)、執(zhí)行、寫(xiě)回等幾個(gè)并行處

42、理的過(guò)程段操作數(shù)、執(zhí)行、寫(xiě)回等幾個(gè)并行處理的過(guò)程段 算術(shù)流水線算術(shù)流水線 指指運(yùn)算操作步驟的并行運(yùn)算操作步驟的并行 處理機(jī)流水線處理機(jī)流水線 又稱為又稱為宏流水線宏流水線,指,指程序步驟的并行程序步驟的并行 由一串級(jí)聯(lián)的處理機(jī)構(gòu)成流水線的各個(gè)過(guò)程段,由一串級(jí)聯(lián)的處理機(jī)構(gòu)成流水線的各個(gè)過(guò)程段, 每臺(tái)處理機(jī)負(fù)責(zé)某一特定的任務(wù)每臺(tái)處理機(jī)負(fù)責(zé)某一特定的任務(wù) 應(yīng)用在應(yīng)用在多機(jī)系統(tǒng)多機(jī)系統(tǒng)中中 71 要使流水線具有良好的性能,必須使流水要使流水線具有良好的性能,必須使流水 線暢通流動(dòng),線暢通流動(dòng),不發(fā)生斷流不發(fā)生斷流 但由于流水過(guò)程中會(huì)出現(xiàn)以下三種相關(guān)沖但由于流水過(guò)程中會(huì)出現(xiàn)以下三種相關(guān)沖 突,實(shí)現(xiàn)流水線

43、的不斷流是困難的突,實(shí)現(xiàn)流水線的不斷流是困難的 1資源相關(guān)資源相關(guān) 2數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) 3控制相關(guān)控制相關(guān) 72 所謂所謂資源相關(guān)資源相關(guān),是指,是指多條指令多條指令 進(jìn)入流水線后在同一機(jī)器時(shí)鐘進(jìn)入流水線后在同一機(jī)器時(shí)鐘 周期內(nèi)周期內(nèi)爭(zhēng)用同一個(gè)功能部件爭(zhēng)用同一個(gè)功能部件所所 發(fā)生的沖突發(fā)生的沖突 73 在一個(gè)程序中,如果必須在一個(gè)程序中,如果必須等前一條指令執(zhí)等前一條指令執(zhí) 行完畢后,才能執(zhí)行后一條指令行完畢后,才能執(zhí)行后一條指令,那么這,那么這 兩條指令就是兩條指令就是數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)的的 由于多條指令的重疊處理,當(dāng)后繼指令所由于多條指令的重疊處理,當(dāng)后繼指令所 需的操作數(shù),剛好是前一指令的

44、運(yùn)算結(jié)果需的操作數(shù),剛好是前一指令的運(yùn)算結(jié)果 時(shí),便發(fā)生數(shù)據(jù)相關(guān)沖突時(shí),便發(fā)生數(shù)據(jù)相關(guān)沖突 74 控制相關(guān)控制相關(guān)沖突是由沖突是由轉(zhuǎn)移指令轉(zhuǎn)移指令引起的引起的 當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件的產(chǎn)生當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件的產(chǎn)生 結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn)結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn) 移到新的目標(biāo)地址取指令,從而使流水線移到新的目標(biāo)地址取指令,從而使流水線 發(fā)生斷流發(fā)生斷流 75 【例例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫(xiě)后讀(流水線中有三類數(shù)據(jù)相關(guān)沖突:寫(xiě)后讀(RAW)相關(guān);讀后寫(xiě))相關(guān);讀后寫(xiě) (WAR)相關(guān);寫(xiě)后寫(xiě)()相關(guān);寫(xiě)后寫(xiě)(WAW)相關(guān))相關(guān)。判斷以下三組指令

45、各存在哪。判斷以下三組指令各存在哪 種類型的數(shù)據(jù)相關(guān)。種類型的數(shù)據(jù)相關(guān)。 (1) I1: ADD R1,R2,R3 ; (R2)+(R3)-R1 I2: SUB R4,R1,R5 ; (R1)-(R5)-R4 (2) I3: STA M(x),R3 ; (R3)-M(x),M(x)是存儲(chǔ)器單元是存儲(chǔ)器單元 I4: ADD R3,R4,R5 ; (R4)+(R5)-R3 (3) I5: MUL R3,R1,R2 ; (R1)(R2)-R3 I6: ADD R3,R4,R5 ;(R4)+(R5)-R3 【解解】 第第(1)組指令中,組指令中,I1指令運(yùn)算結(jié)果應(yīng)先寫(xiě)入指令運(yùn)算結(jié)果應(yīng)先寫(xiě)入R1,然后在

46、,然后在I2指令中讀出指令中讀出R1內(nèi)容。內(nèi)容。 由于由于I2指令進(jìn)入流水線,變成指令進(jìn)入流水線,變成I2指令在指令在I1指令寫(xiě)入指令寫(xiě)入R1前就讀出前就讀出R1內(nèi)容,發(fā)生內(nèi)容,發(fā)生 RAW相關(guān)。相關(guān)。 第第(2)組指令中,組指令中,I3指令應(yīng)先讀出指令應(yīng)先讀出R3內(nèi)容并存入存儲(chǔ)單元內(nèi)容并存入存儲(chǔ)單元M(x),然后在,然后在I4指指 令中將運(yùn)算結(jié)果寫(xiě)入令中將運(yùn)算結(jié)果寫(xiě)入R3。但由于。但由于I4指令進(jìn)入流水線,變成指令進(jìn)入流水線,變成I4指令在指令在I3指令讀指令讀 出出R3內(nèi)容前就寫(xiě)入內(nèi)容前就寫(xiě)入R3,發(fā)生,發(fā)生WAR相關(guān)。相關(guān)。 第第(3)組指令中,如果組指令中,如果I6指令的加法運(yùn)算完成時(shí)

47、間早于指令的加法運(yùn)算完成時(shí)間早于I5指令的乘法運(yùn)算時(shí)間,指令的乘法運(yùn)算時(shí)間, 變成指令變成指令I(lǐng)6在指令在指令I(lǐng)5寫(xiě)入寫(xiě)入R3前就寫(xiě)入前就寫(xiě)入R3,導(dǎo)致,導(dǎo)致R3的內(nèi)容錯(cuò)誤,發(fā)生的內(nèi)容錯(cuò)誤,發(fā)生WAW相相 關(guān)。關(guān)。 76 1Pentium的技術(shù)性能的技術(shù)性能 2奔騰奔騰CPU的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖 77 Pentium是是Intel公司生產(chǎn)的公司生產(chǎn)的超標(biāo)量流水處理器超標(biāo)量流水處理器 CPU內(nèi)部的主要寄存器寬度為內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是位,故認(rèn)為它是 一個(gè)一個(gè)32位微處理器位微處理器,但它通向存儲(chǔ)器的外部數(shù)據(jù),但它通向存儲(chǔ)器的外部數(shù)據(jù) 總線寬度為總線寬度為64位位 CPU外部地址總線寬度是外部地址總線寬度是36位,但一般使用位,但一般使用32位位 CPU內(nèi)部分別設(shè)置內(nèi)部分別設(shè)置指令指令cache和數(shù)據(jù)和數(shù)據(jù)cache,外,外 部還可接部還可接L2 cache 78 CPU采用采用U、V兩條指令流水線兩條指令

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論