版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、6.6.4 4 硬布線控制的計算機硬布線控制的計算機 在運算控制器邏輯圖,在運算控制器邏輯圖, “時序控制信號形成部件時序控制信號形成部件”產(chǎn)生產(chǎn)生控制計算機各部分操作所需的控制信號,這個部件組成有兩種控制計算機各部分操作所需的控制信號,這個部件組成有兩種方式:方式:(1 1)微程序控制方式)微程序控制方式(2 2)硬布線控制方式)硬布線控制方式硬布線控制方式:硬布線控制方式: 通過邏輯電路直接連線而產(chǎn)生的,所以又稱為組合邏通過邏輯電路直接連線而產(chǎn)生的,所以又稱為組合邏輯控制方式。輯控制方式。至于控制器的其他組成部分,諸如時鐘、啟停電路、程序至于控制器的其他組成部分,諸如時鐘、啟停電路、程序計
2、數(shù)器、指令寄存器以及電路配合問題等等,則不因控制方式計數(shù)器、指令寄存器以及電路配合問題等等,則不因控制方式而異。而異。u與微程序控制相比,硬布線控制的速度較快。其原因是微程序控制中每條微指令都要從控存中讀取一次,影響了速度,而硬布線控制主要取決于電路延遲。因此,近年來在某些超高速新型計算機結(jié)構(gòu)中,又選用了硬布線控制,或與微程序控制器混合使用。6.4.1 6.4.1 時序與節(jié)拍時序與節(jié)拍 一條指令的實現(xiàn)可分成一條指令的實現(xiàn)可分成: :取指、計算地址、取數(shù)及執(zhí)行取指、計算地址、取數(shù)及執(zhí)行等幾個步驟。在微程序控制方式中,每一步由一條微指令實等幾個步驟。在微程序控制方式中,每一步由一條微指令實現(xiàn),而現(xiàn)
3、,而硬布線控制方式則由指令的操作碼直接控制并產(chǎn)生實硬布線控制方式則由指令的操作碼直接控制并產(chǎn)生實現(xiàn)上述各步驟所需的控制信號?,F(xiàn)上述各步驟所需的控制信號。一條指令的每一步由一個機一條指令的每一步由一個機器周期實現(xiàn),如何區(qū)分一條指令的四個機器周期呢器周期實現(xiàn),如何區(qū)分一條指令的四個機器周期呢? ? 可考慮的可考慮的方法有:方法有: 1. 1. 兩位計數(shù)器的譯碼輸出產(chǎn)生的四個狀態(tài)來表示當前所兩位計數(shù)器的譯碼輸出產(chǎn)生的四個狀態(tài)來表示當前所處的機器周期,(處的機器周期,(2 24 4譯碼器)如圖譯碼器)如圖6 62222所示;所示; 2. 2. 用四位觸發(fā)器來分別表示四個周期,當機器處于某一用四位觸發(fā)器
4、來分別表示四個周期,當機器處于某一周期時,相應(yīng)的觸發(fā)器處于周期時,相應(yīng)的觸發(fā)器處于“1 1”狀態(tài),而其余三個觸發(fā)器狀態(tài),而其余三個觸發(fā)器則處于則處于“0 0”狀態(tài),四位移位寄存器即可實現(xiàn)此功能。狀態(tài),四位移位寄存器即可實現(xiàn)此功能。兩位計數(shù)兩位計數(shù)器器譯碼輸出譯碼輸出4 4位位圖6.22用計數(shù)器譯碼器形成機器周期信號由于每條指令的功能不同,機器周期數(shù)和長短有所不同由于每條指令的功能不同,機器周期數(shù)和長短有所不同, ,計計數(shù)器或移位寄存器的工作時序發(fā)生變化的規(guī)律與指令有關(guān)。數(shù)器或移位寄存器的工作時序發(fā)生變化的規(guī)律與指令有關(guān)。A A指令需指令需4 4個機器周期個機器周期B B指令需指令需3 3個機器
5、周期個機器周期當前周當前周期計數(shù)期計數(shù)狀態(tài)狀態(tài)下一周下一周期計數(shù)期計數(shù)狀態(tài)狀態(tài)A A指令指令: :cyAcyA=cyA cyB+cyA cyB=cyA cyB+cyA cyB; cyBcyB=cyA cyB+cyA cyB=cyB=cyA cyB+cyA cyB=cyB。B B指令指令: :cyAcyA=cyA cyB+cyA cyB=cyB=cyA cyB+cyA cyB=cyB; cyBcyB=cyA cyB=cyA cyB。A A指令指令: :cyAcyA=cyA cyB+cyA cyB=cyA cyB+cyA cyB; cyBcyB=cyA cyB+cyA cyB=cyB=cyA cy
6、B+cyA cyB=cyB。B B指令指令: :cyAcyA=cyA cyB+cyA cyB=cyB=cyA cyB+cyA cyB=cyB; cyBcyB=cyA cyB=cyA cyB。根據(jù)邏輯表達式根據(jù)邏輯表達式畫出邏輯圖畫出邏輯圖(僅有僅有兩條指令兩條指令)如下:如下:6.4.2 6.4.2 操作控制信號的產(chǎn)生操作控制信號的產(chǎn)生 1 1操作碼譯碼器操作碼譯碼器 指令指令: :操作碼操作碼+ +地址碼地址碼 在機器內(nèi)設(shè)置一個指令譯碼器在機器內(nèi)設(shè)置一個指令譯碼器輸入輸入: :操作碼操作碼 輸出輸出: :反映出當前正在執(zhí)行的指令反映出當前正在執(zhí)行的指令。 由譯碼器的輸出和機器周期狀態(tài)由譯碼器
7、的輸出和機器周期狀態(tài)cycyl lcycy4 4作為輸入,使作為輸入,使用邏輯電路產(chǎn)生操作控制信號。用邏輯電路產(chǎn)生操作控制信號。7 7位位OPOP 2 2操作控制信號的產(chǎn)生操作控制信號的產(chǎn)生 “組合邏輯電路組合邏輯電路”究竟是由什么組成的究竟是由什么組成的? ? 以加法指令為例,如以加法指令為例,如6.16.1一條加法指令的功能是由四個機一條加法指令的功能是由四個機器周期器周期cycyl lcycy4 4完成的,分別為取指、計算有效地址、取操作完成的,分別為取指、計算有效地址、取操作數(shù)、進行加法運算并送結(jié)果。數(shù)、進行加法運算并送結(jié)果。 取指令周期取指令周期: :控制信號的邏輯式為:控制信號的邏
8、輯式為: PCAB=PCAB=加法指令加法指令 cy1 cy1 ADS= ADS=加法指令加法指令 cy1 cy1 T1 T1 M MIO=IO=加法指令加法指令 cy1 cy1 W WR=R=加法指令加法指令 cy1 cy1 DBIR= DBIR=加法指令加法指令 cy1 cy1 PC+1= PC+1=加法指令加法指令 cy1cy1在計算地址周期在計算地址周期cycy2 2, , 列出邏輯表達式列出邏輯表達式 rslGR=rslGR=加法指令加法指令 cycy2 2 (rsl)ALU=rsl)ALU=加法指令加法指令 cycy2 2 ALUAR= ALUAR=加法指令加法指令 cycy2 2
9、對每一條指令都進行同樣的分析,得出邏輯表達式。對每一條指令都進行同樣的分析,得出邏輯表達式。圖6.25 實現(xiàn)rs1GR,(rs1)ALU的邏輯圖(1 1)取指周期)取指周期cycy1 1的信號對所有指令均相同。的信號對所有指令均相同。主要結(jié)論:主要結(jié)論:(2 2)同一控制信號可能在多個指令中運用。)同一控制信號可能在多個指令中運用。如:如:+ += = 加法指令加法指令cy2+ cy2+ 加法指令加法指令cy4 + cy4 + 減法指減法指令令cy2+ cy2+ 轉(zhuǎn)移指令轉(zhuǎn)移指令cy2+cy2+設(shè)某機有設(shè)某機有7 7位操作碼位操作碼(OP0(OP0OP6)OP6),已知加法指令的操作碼為,已知
10、加法指令的操作碼為00011000001100,則形成加法指令信號的邏輯表達式為:,則形成加法指令信號的邏輯表達式為:加法指令加法指令OP0OP0OP1OP1OP2OP2OP3OP3OP4OP4OP5OP5OP6OP6。(3 3)同種類型的指令所需要的控制信號大部分相同。)同種類型的指令所需要的控制信號大部分相同。如:所有的算術(shù)邏輯運算指令僅在如:所有的算術(shù)邏輯運算指令僅在ALUALU的操作命令及是的操作命令及是否置狀態(tài)位上不同,其他均完全相同。否置狀態(tài)位上不同,其他均完全相同。(4 4)在確定指令操作碼時,要認真做好分類。)在確定指令操作碼時,要認真做好分類。例如,某機有例如,某機有1281
11、28條指令,條指令,7 7位操作碼位操作碼(OP0(OP0OP6)OP6),其中,其中有十六條算術(shù)邏輯運算指令,那么可以令這些指令的三有十六條算術(shù)邏輯運算指令,那么可以令這些指令的三位操作碼完全相等位操作碼完全相等( (例如例如OP0OP0OP2OP2為為001)001),而,而OP3OP3OP6OP6分別表示分別表示1616條指令,設(shè)命令條指令,設(shè)命令A(yù) A是所有算術(shù)邏輯指令在是所有算術(shù)邏輯指令在cy2cy2周期中都需產(chǎn)生的,則:周期中都需產(chǎn)生的,則:A A加法指令加法指令cy2+cy2+減法指令減法指令cy2+cy2+邏輯加指令邏輯加指令cy2+cy2+( (加法指令加法指令+ +減法指令
12、減法指令+ +邏輯加指令邏輯加指令+ +)cy2)cy2OP0OP0OP1OP1OP2OP2cy2cy26.4.3 6.4.3 硬布線控制器的組成硬布線控制器的組成圖6.26控制器總框圖 程序計數(shù)器的輸入程序計數(shù)器的輸入: :有四種來源有四種來源。 (1) (1)開機后的開機后的resetreset信號,將信號,將PCPC置以初始地址;置以初始地址; (2) (2)順序執(zhí)行指令順序執(zhí)行指令: :由由PC+1PC+1形成下一條指令地址;形成下一條指令地址; (3) (3)轉(zhuǎn)移轉(zhuǎn)移: :由由ALUALU送來轉(zhuǎn)移地址送來轉(zhuǎn)移地址( (通過通過ALUALU部件計部件計 算有效地址算有效地址) ) (4
13、) (4)外來中斷請求信號外來中斷請求信號: :若若CPUCPU響應(yīng)中斷,則由響應(yīng)中斷,則由 中斷控制邏輯部件產(chǎn)生中斷入口地址。中斷控制邏輯部件產(chǎn)生中斷入口地址。1 1程序計數(shù)器和中斷控制邏輯程序計數(shù)器和中斷控制邏輯2 2硬布線邏輯的實現(xiàn)途徑硬布線邏輯的實現(xiàn)途徑 硬布線邏輯可硬布線邏輯可用用PLAPLA(可編程邏輯陣列,地址與存儲(可編程邏輯陣列,地址與存儲區(qū)或均可編程)、區(qū)或均可編程)、PALPAL(可編程陣列邏輯,與可編程、(可編程陣列邏輯,與可編程、或不可編程、增加三態(tài)輸出器件及記憶元件)、或不可編程、增加三態(tài)輸出器件及記憶元件)、GALGAL(通用陣列邏輯,與或均可編程、輸出邏輯宏單元
14、)(通用陣列邏輯,與或均可編程、輸出邏輯宏單元)或半定制電路門陣列(或半定制電路門陣列(GAGA)來實現(xiàn)。)來實現(xiàn)。166.4.4 6.4.4 硬布線控制邏輯設(shè)計中的若干問題硬布線控制邏輯設(shè)計中的若干問題u中央處理器中央處理器CPUCPU是整個計算機的核心??刂茊卧钦麄€計算機的核心。控制單元CONCON(時序控(時序控制信號形成部件)是控制器的核心。制信號形成部件)是控制器的核心。 u控制單元的輸入包括:控制單元的輸入包括:時序信號時序信號機器指令操作碼機器指令操作碼各部件的狀態(tài)反饋信號等各部件的狀態(tài)反饋信號等輸出的微操作控制信號有兩個去向:輸出的微操作控制信號有兩個去向:CPUCPU內(nèi)部的
15、控制信號,用于控制寄存器之間的數(shù)據(jù)傳送、以內(nèi)部的控制信號,用于控制寄存器之間的數(shù)據(jù)傳送、以及實現(xiàn)及實現(xiàn)CPUCPU功能的其它操作。功能的其它操作。CPUCPU外部的控制信號,即送往主存或外設(shè)的控制信號,用于外部的控制信號,即送往主存或外設(shè)的控制信號,用于控制控制CPUCPU與主存和外設(shè)的數(shù)據(jù)交換。與主存和外設(shè)的數(shù)據(jù)交換。硬布線控制邏輯設(shè)計中的若干問題硬布線控制邏輯設(shè)計中的若干問題1 1指令操作碼的代碼分配指令操作碼的代碼分配 主要目標:簡化控制部分的電路,減少延遲時間。主要目標:簡化控制部分的電路,減少延遲時間。主要難點:主要難點:(1)(1)CISCCISC不定長操作碼的譯碼困難;不定長操作
16、碼的譯碼困難;(2)(2)為后續(xù)升級系統(tǒng)預(yù)留指令位置困難。為后續(xù)升級系統(tǒng)預(yù)留指令位置困難。2.2. 確定機器周期、節(jié)拍與主頻確定機器周期、節(jié)拍與主頻 保證大部分指令在一個周期內(nèi)完成,部分指令通過如保證大部分指令在一個周期內(nèi)完成,部分指令通過如“readyready” ”信號等方式來增加機器周期來完成。信號等方式來增加機器周期來完成。 3 3、 根據(jù)指令功能,確定每一條指令所需的機器周期數(shù)以根據(jù)指令功能,確定每一條指令所需的機器周期數(shù)以及每一周期所完成的操作及每一周期所完成的操作如:如:“+ +” = = 加法指令加法指令(cy2+cy4cy2+cy4)+ +減法指令減法指令cy2+cy2+轉(zhuǎn)移
17、指轉(zhuǎn)移指令令cy2+cy2+ “讀讀” = = cy1+cy1+加法指令加法指令cy3+cy3+減法指令減法指令cy3+cy3+對于復(fù)雜的操作,如乘法,采用加法與移位操作,每對于復(fù)雜的操作,如乘法,采用加法與移位操作,每一位乘執(zhí)行一個周期等方法。一位乘執(zhí)行一個周期等方法。微操作信號微操作信號 = = 指令名指令名機器周期機器周期 節(jié)拍節(jié)拍 條件條件4.4. 綜合所有指令的每一個操作命令(寫出邏輯表達式,綜合所有指令的每一個操作命令(寫出邏輯表達式,并化簡之)并化簡之)硬布線控制與微程序控制的比較硬布線控制與微程序控制的比較 . . 實現(xiàn)實現(xiàn) 微程序控制通過控制存儲器內(nèi)的代碼來實現(xiàn),調(diào)試、修微程
18、序控制通過控制存儲器內(nèi)的代碼來實現(xiàn),調(diào)試、修改方便;改方便; 硬布線控制通過組合電路實現(xiàn),調(diào)試、修改復(fù)雜。硬布線控制通過組合電路實現(xiàn),調(diào)試、修改復(fù)雜。 2. 2. 性能性能 微程序控制速度較慢;微程序控制速度較慢; 硬布線控制速度很快,主要用于高速和硬布線控制速度很快,主要用于高速和RISCRISC機器中。機器中。6.4.5 6.4.5 控制器的控制方式控制器的控制方式 每條指令和每個微操作所需的執(zhí)行時間不相同,如何每條指令和每個微操作所需的執(zhí)行時間不相同,如何形成控制不同微操作序列的時序控制信號就有多種方法,形成控制不同微操作序列的時序控制信號就有多種方法,稱為控制器的控制方式,常用的有稱為
19、控制器的控制方式,常用的有同步控制方式、異步控同步控制方式、異步控制方式和聯(lián)合控制方式制方式和聯(lián)合控制方式等。等。1 1同步控制方式同步控制方式所有指令的執(zhí)行都受相同時間節(jié)拍(機器周期)的控制。所有指令的執(zhí)行都受相同時間節(jié)拍(機器周期)的控制。機器有統(tǒng)一的時鐘信號機器有統(tǒng)一的時鐘信號微操作與時鐘信號同步微操作與時鐘信號同步微操作必須在一個時鐘周期內(nèi)完成微操作必須在一個時鐘周期內(nèi)完成同步控制方式同步控制方式信號寬度確定信號寬度確定, , 有時間浪費有時間浪費 CLOCK 微操作 1 微操作 2 微操作 i 微操作 3 2.2. 異步控制方式異步控制方式 所有指令的執(zhí)行都只受本指令自己的時間需求來
20、控制,所有指令的執(zhí)行都只受本指令自己的時間需求來控制, 執(zhí)行完成后通過應(yīng)答信號告知執(zhí)行完成后通過應(yīng)答信號告知CPUCPU。各個部件之間沒有統(tǒng)一的時鐘,各部件有自己的時鐘各個部件之間沒有統(tǒng)一的時鐘,各部件有自己的時鐘有的異步控制甚至不需要時鐘,采用有的異步控制甚至不需要時鐘,采用“命令微操作回答命令微操作回答”方式方式u異步控制方式異步控制方式命令 1微操作 1回答 1(命令 2)微操作 2回答 2(命令 3)微操作 33. 3. 聯(lián)合控制方式聯(lián)合控制方式 大部分指令的執(zhí)行都受相同時間節(jié)拍(機器周期)的控制,大部分指令的執(zhí)行都受相同時間節(jié)拍(機器周期)的控制,少數(shù)不規(guī)整指令的執(zhí)行通過應(yīng)答信號控制
21、。少數(shù)不規(guī)整指令的執(zhí)行通過應(yīng)答信號控制。4. 4. 人工控制人工控制 resetreset按鍵、連續(xù)或單條轉(zhuǎn)換開關(guān)、符合停機(設(shè)斷點)。按鍵、連續(xù)或單條轉(zhuǎn)換開關(guān)、符合停機(設(shè)斷點)。 各條指令在執(zhí)行過程中,機器的各部分在某些周期內(nèi)各條指令在執(zhí)行過程中,機器的各部分在某些周期內(nèi)在進行操作,而在某些周期內(nèi)是空閑的在進行操作,而在某些周期內(nèi)是空閑的。 如果控制器調(diào)度恰當,讓各個部件緊張工作,可提高如果控制器調(diào)度恰當,讓各個部件緊張工作,可提高計算機運行速度計算機運行速度-從而產(chǎn)生了流水線結(jié)構(gòu)。從而產(chǎn)生了流水線結(jié)構(gòu)。6.5 6.5 流水線工作原理流水線工作原理1 1流水線基本工作原理流水線基本工作原理
22、 (1 1)順序串執(zhí)行過程:)順序串執(zhí)行過程:計算機執(zhí)行程序是按順序的方計算機執(zhí)行程序是按順序的方式進行的,即程序中各條機器指令是按順序串行執(zhí)行式進行的,即程序中各條機器指令是按順序串行執(zhí)行的。的。 如按指令部件和執(zhí)行部件順序操作來考慮可將程序如按指令部件和執(zhí)行部件順序操作來考慮可將程序的執(zhí)行過程表示成:的執(zhí)行過程表示成:優(yōu)點:控制簡單缺點:機器各部分利用率不高。優(yōu)點:控制簡單缺點:機器各部分利用率不高。(2 2)兩級流水線)兩級流水線: :假如每個部件完成操作所需的時間假如每個部件完成操作所需的時間為為T T,那么盡管每條指令的執(zhí)行時間為,那么盡管每條指令的執(zhí)行時間為2 2T T,但當?shù)谝粭l
23、,但當?shù)谝粭l指令處理完后,每隔指令處理完后,每隔T T時間就能得到一條指令的處理結(jié)時間就能得到一條指令的處理結(jié)果,相當于把處理速度提高一倍。果,相當于把處理速度提高一倍。(3 3)四級流水線)四級流水線兩條指令在時間上兩條指令在時間上重疊重疊圖6.27指令重疊執(zhí)行情況例如,執(zhí)行浮點加法運算,可以分成例如,執(zhí)行浮點加法運算,可以分成“對階對階”,“尾數(shù)加尾數(shù)加”及及“結(jié)果規(guī)格化結(jié)果規(guī)格化”三段,每一段設(shè)置有專門的邏輯電路完成三段,每一段設(shè)置有專門的邏輯電路完成指定操作,并將其輸出保存在鎖存器中,作為下一段的輸入指定操作,并將其輸出保存在鎖存器中,作為下一段的輸入. .圖6.28運算操作流水線2
24、2流水線中的相關(guān)問題流水線中的相關(guān)問題 當?shù)诙l指令的操作數(shù)地址當?shù)诙l指令的操作數(shù)地址 = = 第一條指令第一條指令的保存結(jié)果地址時,出現(xiàn)流水線阻塞;的保存結(jié)果地址時,出現(xiàn)流水線阻塞;此時可通過設(shè)置相關(guān)專用通路來解決(第二此時可通過設(shè)置相關(guān)專用通路來解決(第二條指令操作數(shù)直接從數(shù)據(jù)處理部件得到);條指令操作數(shù)直接從數(shù)據(jù)處理部件得到);相關(guān)分為相關(guān)分為存儲器數(shù)據(jù)相關(guān)和寄存器數(shù)據(jù)相關(guān)存儲器數(shù)據(jù)相關(guān)和寄存器數(shù)據(jù)相關(guān)。流水線相關(guān)引起的阻塞流水線相關(guān)引起的阻塞 流水線相關(guān)引起的阻塞的解決流水線相關(guān)引起的阻塞的解決 (專用專用通路)通路) 圖6.29流水線阻塞情況3 3程序轉(zhuǎn)移對流水線的影響程序轉(zhuǎn)移對流
25、水線的影響(1(1)遇到轉(zhuǎn)移指令時,下條指令不再預(yù)取(流水)。)遇到轉(zhuǎn)移指令時,下條指令不再預(yù)取(流水)。(2)(2)用猜測法選定分支中的一個,繼續(xù)流水。若猜測用猜測法選定分支中的一個,繼續(xù)流水。若猜測正確,流水線繼續(xù)執(zhí)行;若不正確,返回分支點。正確,流水線繼續(xù)執(zhí)行;若不正確,返回分支點。(3(3)中斷處理方法:不精確斷點法,將中斷發(fā)生時已)中斷處理方法:不精確斷點法,將中斷發(fā)生時已入流水線的指令繼續(xù)執(zhí)行完后再進入中斷處理子程入流水線的指令繼續(xù)執(zhí)行完后再進入中斷處理子程序。精確斷點法,即刻進入中斷處理子程序。序。精確斷點法,即刻進入中斷處理子程序。 4. 4. 指令預(yù)取和亂序執(zhí)行指令預(yù)取和亂序
26、執(zhí)行u指令預(yù)?。禾崆皬拇鎯ζ魅〕鲋噶睿瑫捍嬖谥噶铑A(yù)?。禾崆皬拇鎯ζ魅〕鲋噶?,暫存在CPUCPU的指的指令預(yù)取部件中;指令取出后可預(yù)先分析,可提前取令預(yù)取部件中;指令取出后可預(yù)先分析,可提前取出該指令所需的操作數(shù)。出該指令所需的操作數(shù)。這樣,當指令進入流水線后,取指和取數(shù)都在這樣,當指令進入流水線后,取指和取數(shù)都在CPUCPU內(nèi)部進行,提高了速度。內(nèi)部進行,提高了速度。u亂序執(zhí)行:對取出的指令預(yù)分析,亂序執(zhí)行:對取出的指令預(yù)分析,CPUCPU將多條指令不將多條指令不按程序規(guī)定的順序執(zhí)行(無數(shù)據(jù)相關(guān)、硬件有空)按程序規(guī)定的順序執(zhí)行(無數(shù)據(jù)相關(guān)、硬件有空)6.6.1 RISC的CPU本節(jié)主要以本節(jié)主
27、要以 Sun Sun 微系統(tǒng)公司的微系統(tǒng)公司的 SPARC SPARC 結(jié)構(gòu)為結(jié)構(gòu)為例來說明例來說明CPU(RISC)CPU(RISC)的構(gòu)成,并進一步講述一些基的構(gòu)成,并進一步講述一些基本原理。本原理。SPARC SPARC 指令系統(tǒng)已在第指令系統(tǒng)已在第5 5章中介紹過。章中介紹過。在在RISCRISC機的指令系統(tǒng)已確定的前提下,為了達機的指令系統(tǒng)已確定的前提下,為了達到高速運算的目的,在硬件實施方面采取流水線到高速運算的目的,在硬件實施方面采取流水線組織盡量使大多數(shù)指令在一個機器周期內(nèi)完成,組織盡量使大多數(shù)指令在一個機器周期內(nèi)完成,并盡量縮短機器周期時間。并盡量縮短機器周期時間。6.6 C
28、PU舉例舉例圖圖6.306.30是是Fujitsu Fujitsu 公司于公司于19891989年生產(chǎn)的基于年生產(chǎn)的基于 SPARC SPARC 的的MB86901MB86901芯片的邏輯框圖,主頻為芯片的邏輯框圖,主頻為25MHz25MHz。圖圖6.306.30的右半部分基本上是運算器,左半部分為的右半部分基本上是運算器,左半部分為控制器。中間有控制器。中間有4 4個專用寄存器。個專用寄存器。1. SPARC 的邏輯圖圖6.30 MB86901 邏輯框圖Y寄存器用來配合進行乘法運算TBR 提供中斷程序入口地址的高位部分PSR 為程序狀態(tài)寄存器WIM 中存放與寄存器組有關(guān)的窗口寄存器編號流水線
29、上三條指令的地址四級流水線:四條指令同時執(zhí)行(最后一條正從存儲器?。┲噶罹彌_寄存器對齊電路:字節(jié)、半字等在寄存器中靠低位存放(存儲器只是邊界對準的)與存儲器交換數(shù)據(jù)通過結(jié)果寄存器PSR為程序狀態(tài)寄存器,共有32位3 31 12 28 82 27 72 24 42 23 32 20 01 19 91 14 41 13 31 12 21 11 18 8 7 7 6 6 5 5 4 40 0IMPLverN Z V C保留ECEFPILSPSETCWPIMPL和ver在某些SPARC芯片中恒為0EC:是否有協(xié)處理器EF:是否有浮點處理器PIL:當前處理器中斷級別(高于此級別中斷才響應(yīng))S:管理方式(
30、系統(tǒng)方式、特權(quán)指令)還是用戶方式PS:產(chǎn)生陷阱Trap時,保存以前的S值ET:是否允許響應(yīng)中斷CWP:當前窗口寄存器,current window pointer據(jù)統(tǒng)計,在據(jù)統(tǒng)計,在CISCCISC中,當程序運行時,訪問存儲中,當程序運行時,訪問存儲器的指令占總數(shù)一半以上器的指令占總數(shù)一半以上( (有時達有時達70%)70%),增加寄存,增加寄存器數(shù)可減少訪存次數(shù)。器數(shù)可減少訪存次數(shù)。如對于調(diào)用如對于調(diào)用(Call)(Call)和返回和返回(Return)(Return)指令,指令,SPARC SPARC 利用寄存器組而不是存儲器(堆棧)利用寄存器組而不是存儲器(堆棧)來完來完成上述的傳遞參數(shù)
31、和保留、恢復(fù)現(xiàn)場工作,并采成上述的傳遞參數(shù)和保留、恢復(fù)現(xiàn)場工作,并采用改變窗口指針的辦法而省略了在寄存器之間傳用改變窗口指針的辦法而省略了在寄存器之間傳送的操作,因此使速度大為加快。送的操作,因此使速度大為加快。2. RISC 的通用寄存器CPUCPU內(nèi)存在的實際寄存器又稱為內(nèi)存在的實際寄存器又稱為物理寄存器物理寄存器(如(如MB86901MB86901的的120120個寄存器)。個寄存器)。SPARC SPARC 機指令的寄存器地機指令的寄存器地址碼字段長度為址碼字段長度為5 5位,允許訪問位,允許訪問3232個寄存器,稱之為個寄存器,稱之為邏邏輯寄存器輯寄存器。計算機運行時,有些數(shù)據(jù)是整個
32、程序都要用到的,計算機運行時,有些數(shù)據(jù)是整個程序都要用到的,稱為全局數(shù)據(jù)。有些數(shù)據(jù)限于當前程序段所用稱為全局數(shù)據(jù)。有些數(shù)據(jù)限于當前程序段所用( (類似類似 PASCAL PASCAL 程序中的過程或函數(shù)程序中的過程或函數(shù)) )稱為局部數(shù)據(jù);同樣,稱為局部數(shù)據(jù);同樣,所有程序段都能訪問的寄存器稱為所有程序段都能訪問的寄存器稱為全局寄存器全局寄存器,限于,限于一個程序段所用的寄存器稱為一個程序段所用的寄存器稱為局部寄存器局部寄存器。SPARC SPARC 機將機將3232個邏輯寄存器分成兩部分:其中個邏輯寄存器分成兩部分:其中8 8個個稱為全局寄存器稱為全局寄存器 ( (邏輯地址邏輯地址0 07)
33、7),和其余,和其余2424個寄存器個寄存器( (邏輯地址邏輯地址8 831)31)組成一個窗口組成一個窗口(window)(window)。SPARCSPARC允許設(shè)置允許設(shè)置6 63232個窗口,個窗口,MB86901MB86901的寄存器組的寄存器組內(nèi)有內(nèi)有120120個寄存器,分成個寄存器,分成7 7個窗口。個窗口。有一個指針指出當前程序所訪問的窗口號,在指有一個指針指出當前程序所訪問的窗口號,在指令地址所指出的令地址所指出的3232個邏輯寄存器中:個邏輯寄存器中:r r0 0r r7 7為全局寄存器為全局寄存器r r8 8r r3131為一個窗口中的其他為一個窗口中的其他2424個寄
34、存器個寄存器 分成:分成:輸入輸入 ins(rins(r2424r r3131) )局部局部 locals(rlocals(r1616r r2323) )輸出輸出 outs (routs (r8 8r r1515) )圖6.31 寄存器窗口過程調(diào)用A A、B B、C C過程調(diào)用時,通過重疊寄存器傳遞參數(shù)(平均16個寄存器)表表6.5 6.5 重疊寄存器窗口的物理寄存器分配重疊寄存器窗口的物理寄存器分配 過程過程邏輯寄存器邏輯寄存器物理寄存器物理寄存器A Ar r8 8r r3131r r4040r r6363B Br r8 8r r3131r r2424r r4747C Cr r8 8r r3
35、131r r8 8r r3131MB86901MB86901有有7 7個窗口(個窗口(1616 7 7+8=120+8=120),由),由CWPCWP(current window pointercurrent window pointer)記錄當前程序所用的窗口。)記錄當前程序所用的窗口。窗口不夠用時,按先進先出原則,將保存時間最窗口不夠用時,按先進先出原則,將保存時間最長的一個窗口(用長的一個窗口(用WIMWIM指示)的內(nèi)容調(diào)入內(nèi)存保存。指示)的內(nèi)容調(diào)入內(nèi)存保存。所謂流水線實際上是將一條指令的實現(xiàn)過程分所謂流水線實際上是將一條指令的實現(xiàn)過程分成成時間上大體相等時間上大體相等的幾個階段,然后
36、使幾條指令的的幾個階段,然后使幾條指令的不同階段在時間上重疊起來進行。不同階段在時間上重疊起來進行。1) 1) 取指、譯碼、執(zhí)行等操作所需時間的分析取指、譯碼、執(zhí)行等操作所需時間的分析(1)(1)取指時間。對所有指令、取指操作的實現(xiàn)是相同取指時間。對所有指令、取指操作的實現(xiàn)是相同的。的。由于主存儲器容量的讀由于主存儲器容量的讀/ /寫操作速度明顯低于寫操作速度明顯低于運算和邏輯電路。在微機中,經(jīng)常插入等待周期,運算和邏輯電路。在微機中,經(jīng)常插入等待周期,以匹配兩者的時間差距。以匹配兩者的時間差距。為減少或消除等待時間為減少或消除等待時間,無論是無論是CISCCISC或或RISCRISC可可以采
37、取以采取指令預(yù)取指令預(yù)取或或cachecache存儲器存儲器兩種方法。兩種方法。 3. 流水線組織(2)(2)指令譯碼時間指令譯碼時間RISCRISC指令系統(tǒng)指令格式固定,譯碼時間較短。大部指令系統(tǒng)指令格式固定,譯碼時間較短。大部分控制信號經(jīng)過一級與門和一級或門即可形成,所以譯碼分控制信號經(jīng)過一級與門和一級或門即可形成,所以譯碼不一定獨占流水線的一段,可以與其他操作一起安排在流不一定獨占流水線的一段,可以與其他操作一起安排在流水線的某一段內(nèi)。水線的某一段內(nèi)。SPARC SPARC 將將譯碼譯碼和和“從寄存器取數(shù)從寄存器取數(shù)”安排安排在同一段內(nèi)在同一段內(nèi)。(3)(3)執(zhí)行時間執(zhí)行時間在在 RIS
38、C RISC 中,利用中,利用 ALU ALU 進行運算的指令,基本上進行運算的指令,基本上分成兩類:一類是分成兩類:一類是算術(shù)邏輯運算算術(shù)邏輯運算指令,對寄存器中的指令,對寄存器中的操作操作數(shù)進行運算數(shù)進行運算后,結(jié)果仍送回寄存器;另一類是后,結(jié)果仍送回寄存器;另一類是訪問存儲器訪問存儲器的的 Load/Store Load/Store 指令或轉(zhuǎn)移指令,需要對指令或轉(zhuǎn)移指令,需要對地址進行計算地址進行計算,但不處理數(shù)據(jù)。但不處理數(shù)據(jù)。當當 ALU ALU 運算結(jié)束后,假如出現(xiàn)一些錯誤,例如運算結(jié)束后,假如出現(xiàn)一些錯誤,例如數(shù)據(jù)溢出、地址越界等,則要求中斷當前程序,進入數(shù)據(jù)溢出、地址越界等,則
39、要求中斷當前程序,進入陷阱陷阱(Trap) (Trap) 進行處理。進行處理。一般要求執(zhí)行段在一個機器周期內(nèi)完成一般要求執(zhí)行段在一個機器周期內(nèi)完成 ALU ALU 運運算及對結(jié)果的判斷算及對結(jié)果的判斷( (包括由此產(chǎn)生的一些控制信號包括由此產(chǎn)生的一些控制信號) )。在流水線機器中,這可能是時間最長的一個階段,同在流水線機器中,這可能是時間最長的一個階段,同時又是情況最復(fù)雜的階段時又是情況最復(fù)雜的階段( (每條指令都有它的特定操作每條指令都有它的特定操作需要執(zhí)行需要執(zhí)行) )。這往往是。這往往是確定機器周期的依據(jù)確定機器周期的依據(jù)。對于一些更為復(fù)雜的操作,例如乘法運算、存取對于一些更為復(fù)雜的操作
40、,例如乘法運算、存取雙字等,或者增加機器周期,或者增設(shè)硬件解決之。雙字等,或者增加機器周期,或者增設(shè)硬件解決之。在在 SPARC SPARC 處理器中,設(shè)計了兩個處理器中,設(shè)計了兩個 ALU ALU 部件,部件,分別進行數(shù)據(jù)和地址計算分別進行數(shù)據(jù)和地址計算( (圖圖6.406.40中的中的 ALUALU和地址生和地址生成器成器) )。這樣增加硬件,實現(xiàn)取數(shù)和執(zhí)行運算的分離。這樣增加硬件,實現(xiàn)取數(shù)和執(zhí)行運算的分離,以實現(xiàn)流水線。,以實現(xiàn)流水線。SPARC SPARC 與存儲器之間的數(shù)據(jù)傳送寬度為與存儲器之間的數(shù)據(jù)傳送寬度為3232位,所位,所以一次訪存能取出一條指令或存取一個以一次訪存能取出一條
41、指令或存取一個3232位的數(shù)據(jù)。位的數(shù)據(jù)。在存儲系統(tǒng)中只設(shè)置一個在存儲系統(tǒng)中只設(shè)置一個cachecache,因此取指和存取數(shù)據(jù),因此取指和存取數(shù)據(jù)不能同時進行。不能同時進行。SPARC SPARC 的大部分指令按四級流水線工作,每個周的大部分指令按四級流水線工作,每個周期完成一條指令,稱為單周期流水線。期完成一條指令,稱為單周期流水線。 2) SPARC 指令流水線分析圖6.32 單周期流水線指令在W寄存器。將結(jié)果寫回目的寄存器,并置狀態(tài)位。指令在E寄存器。執(zhí)行段所需時間較長。指令在D寄存器中。譯碼并完成從寄存器取源操作數(shù)。從cache中取指令Load/Store 指令需要存/取數(shù)據(jù),因此這類
42、指令通過流水線的時間超過4個周期(從存儲器取數(shù)及向寄存器寫,各需一個周期,共5個周期)。為雙周期流水線。 在總線上出現(xiàn)的代碼順序:第n條指令第n+1條指令第n+2條指令數(shù)據(jù)第n+3條指令 LOAD譯碼計算地址 取數(shù) 存入寄存器將取出的數(shù)據(jù)寫入寄存器譯出Load指令后,生成Help指令送入D,下以條指令送入指令緩沖寄存器B1Help指令的譯碼周期和執(zhí)行周期不執(zhí)行實際操作。訪存操作,從存儲器取出數(shù)據(jù)計算存儲單元地址(1) (1) 數(shù)據(jù)相關(guān)問題數(shù)據(jù)相關(guān)問題 當執(zhí)行單周期指令時當執(zhí)行單周期指令時( (如算術(shù)邏輯運算指令如算術(shù)邏輯運算指令) ),如第如第n+1n+1條指令要取的源操作數(shù)是第條指令要取的源
43、操作數(shù)是第n n條指令的運算結(jié)條指令的運算結(jié)果,則通過圖果,則通過圖6.406.40邏輯圖中的邏輯圖中的Bypass-1Bypass-1直接將直接將ALUALU的的輸出送到輸出送到A A或或B B寄存器,第寄存器,第n n條指令仍為單周期指令;條指令仍為單周期指令;如第如第n+2n+2條指令要取的源操作數(shù)是第條指令要取的源操作數(shù)是第n n條指令的運算結(jié)條指令的運算結(jié)果,則通過果,則通過Bypass-2Bypass-2將第將第n n條指令的運算結(jié)果直接送條指令的運算結(jié)果直接送到到A A或或B B寄存器。寄存器。(2) cache (2) cache 不命中不命中在訪存時,如在訪存時,如 cach
44、e cache 不命中,則通過雙方不命中,則通過雙方“握握手手”信號讓信號讓 CPU CPU 等待。等待。 在程序執(zhí)行時可能會遇到的幾個問題在程序執(zhí)行時可能會遇到的幾個問題(3) (3) 產(chǎn)生故障陷阱產(chǎn)生故障陷阱(trap)(trap) 如下圖如下圖6.346.34產(chǎn)生產(chǎn)生traptrap時的流水線。執(zhí)行第時的流水線。執(zhí)行第n n條指條指令出現(xiàn)錯誤,取消令出現(xiàn)錯誤,取消“W W、E E、D D”操作及操作及n+3n+3取指,進取指,進入入traptrap程序入口。程序入口。在條件轉(zhuǎn)移情況下,在條件轉(zhuǎn)移情況下,RISCRISC依靠編譯優(yōu)化,在轉(zhuǎn)依靠編譯優(yōu)化,在轉(zhuǎn)移指令移指令(n)(n)的后面插入
45、一條必執(zhí)行的指令的后面插入一條必執(zhí)行的指令(n+1)(n+1),其,其流水線如下圖流水線如下圖6.356.35所示。所示。 流水線計算機中,條件轉(zhuǎn)移和中斷處理等均會影流水線計算機中,條件轉(zhuǎn)移和中斷處理等均會影響機器運行速度。響機器運行速度。(4) (4) 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令Branch指令在譯碼階段,計算轉(zhuǎn)移地址(PC+Disp)插入一條后面執(zhí)行的指令(n+1),等待計算轉(zhuǎn)移地址轉(zhuǎn)移到 t 指令圖6.36 Pentium微處理器邏輯框圖6.6.2 Pentium微處理器微處理器lU、V兩條整數(shù)流水線l一個浮點部件l8KB的指令cache和數(shù)據(jù)cachel32位地址總線和64位數(shù)據(jù)總線6.
46、7 計算機的供電計算機的直流電源是由交流電源經(jīng)過整流、穩(wěn)壓計算機的直流電源是由交流電源經(jīng)過整流、穩(wěn)壓而得到的。而得到的。一般邏輯電路需要一般邏輯電路需要+5V+5V直流電壓。為了滿足動態(tài)直流電壓。為了滿足動態(tài)存儲器、磁盤驅(qū)動器、通信適配器等電路的需要,通常存儲器、磁盤驅(qū)動器、通信適配器等電路的需要,通常還要提供還要提供-5V-5V,+12V+12V和和-12V-12V等直流電流。等直流電流。為了減少機器功耗,電源朝著降低電壓值方向發(fā)為了減少機器功耗,電源朝著降低電壓值方向發(fā)展,例如將展,例如將+5V+5V降低到降低到3.5V3.5V、1.8V1.8V。大部分計算機是依靠市電供電的,市電可能會大
47、部分計算機是依靠市電供電的,市電可能會因負載不同而有波動;也可能因大型用電設(shè)備開啟因負載不同而有波動;也可能因大型用電設(shè)備開啟或關(guān)斷、以及遇到雷電等情況而引起瞬間電壓脈沖或關(guān)斷、以及遇到雷電等情況而引起瞬間電壓脈沖,甚至斷電。上述市電問題會引起計算機數(shù)據(jù)出現(xiàn),甚至斷電。上述市電問題會引起計算機數(shù)據(jù)出現(xiàn)錯誤、死機甚至損壞設(shè)備。錯誤、死機甚至損壞設(shè)備。如何解決這些市電問題,給計算機提供連續(xù)的如何解決這些市電問題,給計算機提供連續(xù)的、穩(wěn)定的交流正弧波電源:、穩(wěn)定的交流正弧波電源:不間斷電源不間斷電源(uninterrupted power supply(uninterrupted power supply,簡稱,簡稱UPSUPS) )UPSUPSUPS基本上可分成后備式和在線式兩類:基本上可分成后備式和在線式兩類:后備式后備式UPSUPS主要用于主要用于PCPC,價格便宜。逆變器(直流,價格便宜。逆變器(直流電變?yōu)榻涣麟姡┲挥性谑须姴徽r工作電變?yōu)榻涣麟姡┲挥性谑须姴徽r工作; ;在線式在線式UPSUPS主要用于大型計算機網(wǎng)絡(luò)通信設(shè)備、控
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育信息化資源建設(shè)與運維合同3篇
- 2025版寧波環(huán)保企業(yè)員工綠色生產(chǎn)責(zé)任勞動合同4篇
- 二零二五年度新能源電動汽車研發(fā)與銷售合同3篇
- 2025版新型城鎮(zhèn)化抹灰分項工程勞務(wù)供應(yīng)合同4篇
- 2025年度個人車輛租賃給單位使用規(guī)范合同2篇
- 2025年度個人知識產(chǎn)權(quán)擔(dān)保合同模板8篇
- 2025年度泥水工程勞務(wù)分包合同范本(含材料供應(yīng))4篇
- 2025年度大型養(yǎng)殖場生豬養(yǎng)殖技術(shù)合作合同協(xié)議書4篇
- 2025年度二零二五年度獼猴桃種植農(nóng)戶利益聯(lián)結(jié)合同4篇
- 2024年度青海省公共營養(yǎng)師之四級營養(yǎng)師能力測試試卷B卷附答案
- TB 10012-2019 鐵路工程地質(zhì)勘察規(guī)范
- 新蘇教版三年級下冊科學(xué)全冊知識點(背誦用)
- 鄉(xiāng)鎮(zhèn)風(fēng)控維穩(wěn)應(yīng)急預(yù)案演練
- 腦梗死合并癲癇病人的護理查房
- 蘇教版四年級上冊脫式計算300題及答案
- 犯罪現(xiàn)場保護培訓(xùn)課件
- 扣款通知單 采購部
- 電除顫操作流程圖
- 湖北教育出版社三年級下冊信息技術(shù)教案
- 設(shè)計基礎(chǔ)全套教學(xué)課件
- IATF16949包裝方案評審表
評論
0/150
提交評論