青島科技大學(xué)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)Chapter 5_第1頁
青島科技大學(xué)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)Chapter 5_第2頁
青島科技大學(xué)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)Chapter 5_第3頁
青島科技大學(xué)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)Chapter 5_第4頁
青島科技大學(xué)計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)Chapter 5_第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第5章章 中央處理器(中央處理器(CPU)Central Processing Unit 5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.3 指令執(zhí)行過程指令執(zhí)行過程 5.4 控制器的功能和工作原理控制器的功能和工作原理 5.5 指令流水線指令流水線 中央處理器(中央處理器(Central Processing Unit,簡稱,簡稱CPU)是計(jì)算機(jī)的核心部件,主要負(fù)責(zé)程序的執(zhí)行和各種是計(jì)算機(jī)的核心部件,主要負(fù)責(zé)程序的執(zhí)行和各種數(shù)據(jù)處理。數(shù)據(jù)處理。 本章從分析本章從分析CPU的功能結(jié)構(gòu)入手,詳細(xì)介紹的功能結(jié)構(gòu)入手,詳細(xì)介紹CPU的的

2、構(gòu)成和指令的執(zhí)行過程,對兩種常見的控制器工作構(gòu)成和指令的執(zhí)行過程,對兩種常見的控制器工作原理進(jìn)行了闡述。此外還介紹了為提高指令執(zhí)行速原理進(jìn)行了闡述。此外還介紹了為提高指令執(zhí)行速度而采取的流水線技術(shù)度而采取的流水線技術(shù) 。 本章主要論述本章主要論述CPU組成原理組成原理 通過本章學(xué)習(xí)通過本章學(xué)習(xí): 掌握在計(jì)算機(jī)運(yùn)行過程中各個(gè)掌握在計(jì)算機(jī)運(yùn)行過程中各個(gè)硬件部件的作用硬件部件的作用; CPU中各個(gè)部件的中各個(gè)部件的操作過程及其實(shí)現(xiàn)方法原理操作過程及其實(shí)現(xiàn)方法原理。 本章將重點(diǎn)講述本章將重點(diǎn)講述: 程序是如何執(zhí)行的程序是如何執(zhí)行的; 計(jì)算機(jī)計(jì)算機(jī)怎樣實(shí)現(xiàn)各條指令的功能怎樣實(shí)現(xiàn)各條指令的功能; 如何保證

3、逐條如何保證逐條指令的連續(xù)執(zhí)行過程指令的連續(xù)執(zhí)行過程。5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 對對馮馮諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu)計(jì)算機(jī),計(jì)算機(jī)對信息進(jìn)行處理計(jì)算機(jī),計(jì)算機(jī)對信息進(jìn)行處理(或計(jì)算或計(jì)算)是通過是通過程序程序執(zhí)行而實(shí)現(xiàn)的。執(zhí)行而實(shí)現(xiàn)的。 程序是完成某個(gè)確定算法的指令序列,要預(yù)先存放程序是完成某個(gè)確定算法的指令序列,要預(yù)先存放在在存儲器存儲器中。中。 將程序?qū)懭氪鎯ζ骱螅憧捎捎?jì)算機(jī)自動完成指令將程序?qū)懭氪鎯ζ骱?,便可由?jì)算機(jī)自動完成指令的執(zhí)行,的執(zhí)行,控制器控制器的主要任務(wù)就是完成此項(xiàng)工作的,的主要任務(wù)就是完成此項(xiàng)工作的,它負(fù)責(zé)協(xié)調(diào)并控制計(jì)算機(jī)各部

4、件執(zhí)行程序的指令序它負(fù)責(zé)協(xié)調(diào)并控制計(jì)算機(jī)各部件執(zhí)行程序的指令序列,并對數(shù)據(jù)進(jìn)行加工,其基本功能是列,并對數(shù)據(jù)進(jìn)行加工,其基本功能是取指令、分取指令、分析指令和執(zhí)行指令析指令和執(zhí)行指令 。5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 1取指令取指令:當(dāng)程序已在存儲器中時(shí),首先根據(jù)程序入口取:當(dāng)程序已在存儲器中時(shí),首先根據(jù)程序入口取出第一條指令,為此要發(fā)出指令地址及控制信號。然后不出第一條指令,為此要發(fā)出指令地址及控制信號。然后不斷取出第斷取出第2,3,條指令條指令 2分析指令分析指令:對當(dāng)前取得的指令進(jìn)行分析,指出它要求作:對當(dāng)前取得的指令進(jìn)行分析,指出它要求作

5、什么操作,產(chǎn)生相應(yīng)操作控制命令,若參與操作數(shù)據(jù)在存什么操作,產(chǎn)生相應(yīng)操作控制命令,若參與操作數(shù)據(jù)在存儲器中,還需形成操作數(shù)地址儲器中,還需形成操作數(shù)地址 3執(zhí)行指令執(zhí)行指令:根據(jù)分析指令時(shí)產(chǎn)生的:根據(jù)分析指令時(shí)產(chǎn)生的“操作命令操作命令”和和“操操作數(shù)地址作數(shù)地址”形成相應(yīng)操作控制信號序列,通過形成相應(yīng)操作控制信號序列,通過CPU及輸入及輸入輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令功能,還包括對運(yùn)算結(jié)果輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令功能,還包括對運(yùn)算結(jié)果的處理及下條指令地址形成的處理及下條指令地址形成 計(jì)算機(jī)不斷計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作重復(fù)順序執(zhí)行上述三種基本操作:取指、分析、:取指、分析、執(zhí)行

6、;再取指、再分析、再執(zhí)行執(zhí)行;再取指、再分析、再執(zhí)行,如此循環(huán),直到遇,如此循環(huán),直到遇到停機(jī)指令或外來的干預(yù)為止到停機(jī)指令或外來的干預(yù)為止 5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 此外,程序和數(shù)據(jù)要輸入機(jī)器,運(yùn)算結(jié)果要輸出,機(jī)器運(yùn)此外,程序和數(shù)據(jù)要輸入機(jī)器,運(yùn)算結(jié)果要輸出,機(jī)器運(yùn)行過程中出現(xiàn)的某些異常情況或請求要進(jìn)行處理,人與機(jī)行過程中出現(xiàn)的某些異常情況或請求要進(jìn)行處理,人與機(jī)器之間要進(jìn)行對話,控制器還應(yīng)具有以下功能:器之間要進(jìn)行對話,控制器還應(yīng)具有以下功能: 4控制程序和數(shù)據(jù)的輸入與結(jié)果輸出控制程序和數(shù)據(jù)的輸入與結(jié)果輸出:根據(jù)程序安排或人:根據(jù)程序安

7、排或人的干預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè)備發(fā)出一些相應(yīng)的命的干預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè)備發(fā)出一些相應(yīng)的命令來完成令來完成I/O功能功能 5對異常情況和某些請求的處理對異常情況和某些請求的處理:當(dāng)機(jī)器出現(xiàn)某些異常情:當(dāng)機(jī)器出現(xiàn)某些異常情況,發(fā)出:(況,發(fā)出:(1) “中斷請求中斷請求”信號信號。CPU執(zhí)行完當(dāng)前指令執(zhí)行完當(dāng)前指令后,響應(yīng)該請求,中止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷程后,響應(yīng)該請求,中止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷程序。處理完畢后,再返回原程序繼續(xù)運(yùn)行。序。處理完畢后,再返回原程序繼續(xù)運(yùn)行。(2) DMA請請求信號求信號。等。等CPU完成當(dāng)前機(jī)器周期操作后,暫停工作,讓完成當(dāng)前機(jī)器周

8、期操作后,暫停工作,讓出總線給出總線給I/O設(shè)備,在完成設(shè)備,在完成I/O設(shè)備與存儲器之間的傳送數(shù)設(shè)備與存儲器之間的傳送數(shù)據(jù)操作后,據(jù)操作后,CPU從暫時(shí)中止的機(jī)器周期開始繼續(xù)執(zhí)行指令從暫時(shí)中止的機(jī)器周期開始繼續(xù)執(zhí)行指令5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 總之,總之,CPU必須具有控制程序的順序執(zhí)行(稱必須具有控制程序的順序執(zhí)行(稱指令指令控制控制)、產(chǎn)生完成每條指令所需的控制命令(稱)、產(chǎn)生完成每條指令所需的控制命令(稱操操作控制作控制)、對各種操作加以時(shí)間上的控制(稱)、對各種操作加以時(shí)間上的控制(稱時(shí)間時(shí)間控制控制)、對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)

9、算()、對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算(數(shù)據(jù)加數(shù)據(jù)加工工)以及)以及處理中斷處理中斷等功能等功能 5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.2 CPU的基本結(jié)構(gòu)的基本結(jié)構(gòu) 根據(jù)根據(jù)CPU的功能,要取指令,必須有的功能,要取指令,必須有存儲器存儲器用于存放當(dāng)前用于存放當(dāng)前指令地址;要分析指令,必須有指令地址;要分析指令,必須有存放當(dāng)前指令的寄存器存放當(dāng)前指令的寄存器和和對指令進(jìn)行對指令進(jìn)行譯碼的部件譯碼的部件;要執(zhí)行指令,必須有一個(gè)能發(fā)出;要執(zhí)行指令,必須有一個(gè)能發(fā)出各種操作命令序列的各種操作命令序列的控制部件控制部件CU;要完成算術(shù)運(yùn)算和邏輯;要完成算術(shù)運(yùn)算和邏輯運(yùn)算,必須有運(yùn)算,

10、必須有存放操作數(shù)的寄存器存放操作數(shù)的寄存器和實(shí)現(xiàn)運(yùn)算功能的部件和實(shí)現(xiàn)運(yùn)算功能的部件ALU;為了處理異常情況和特殊請求,還必須有;為了處理異常情況和特殊請求,還必須有中斷中斷系統(tǒng)。系統(tǒng)。 因此,因此,CPU一般可由寄存器、控制部件、一般可由寄存器、控制部件、ALU和中斷系統(tǒng)和中斷系統(tǒng)四部分組成四部分組成,如圖,如圖5-1所示所示 有關(guān)有關(guān)ALU的內(nèi)容第的內(nèi)容第2章已經(jīng)介紹了,控制部件章已經(jīng)介紹了,控制部件CU是是CPU最最復(fù)雜的部分,后面將重點(diǎn)介紹復(fù)雜的部分,后面將重點(diǎn)介紹 5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.2 CPU的基本結(jié)構(gòu)的基本結(jié)構(gòu)寄存器中斷系統(tǒng)ALUCPUCU圖5-

11、1 CPU的基本結(jié)構(gòu)數(shù)據(jù)總線控制總線地址總線2022-6-10105.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 16位微處理器8086功能結(jié)構(gòu)圖2022-6-10115.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 32位微處理器Pentium功能結(jié)構(gòu)圖5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.1 數(shù)據(jù)通路的功能數(shù)據(jù)通路的功能 數(shù)據(jù)通路是數(shù)據(jù)通路是CPU中算術(shù)邏輯單元(中算術(shù)邏輯單元(ALU)、控制)、控制單元(單元(CU)以及寄存器之間的連接線路。)以及寄存器之間的連接線路。 CPU取回指令并進(jìn)行指令譯碼之后,就會根據(jù)操作取回指令并進(jìn)行指令譯碼之后,就會根據(jù)操作碼來進(jìn)

12、行指定的操作,比如取數(shù)據(jù)碼來進(jìn)行指定的操作,比如取數(shù)據(jù)-運(yùn)算運(yùn)算-符號判符號判斷斷-存儲等過程,通過數(shù)據(jù)通路可看出數(shù)據(jù)在被處存儲等過程,通過數(shù)據(jù)通路可看出數(shù)據(jù)在被處理的過程中依次經(jīng)過各種器件的次序和方向。理的過程中依次經(jīng)過各種器件的次序和方向。 不同計(jì)算機(jī)的數(shù)據(jù)通路差別很大,只有明確了機(jī)器不同計(jì)算機(jī)的數(shù)據(jù)通路差別很大,只有明確了機(jī)器的數(shù)據(jù)通路,才能確定相應(yīng)的微操作控制信號的數(shù)據(jù)通路,才能確定相應(yīng)的微操作控制信號 5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu) 圖圖5-2為為CPU數(shù)據(jù)通路的基本結(jié)構(gòu)。圖中主要包括數(shù)據(jù)通路的基本結(jié)構(gòu)。圖中

13、主要包括運(yùn)算器、控制器和寄存器等主要部件和運(yùn)算器、控制器和寄存器等主要部件和CPU片內(nèi)總片內(nèi)總線、計(jì)算機(jī)內(nèi)部總線。在第線、計(jì)算機(jī)內(nèi)部總線。在第2章中已經(jīng)介紹了運(yùn)算章中已經(jīng)介紹了運(yùn)算器的功能結(jié)構(gòu),這里介紹寄存器、控制器和總線器的功能結(jié)構(gòu),這里介紹寄存器、控制器和總線 。2022-6-10145.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu)5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu)1. 寄存器:寄存器: CPU中的寄存器用來中的寄存器用來暫時(shí)保存運(yùn)算和控制過程中的暫時(shí)保存運(yùn)算和

14、控制過程中的中間結(jié)果、最終結(jié)果以及控制、狀態(tài)信息中間結(jié)果、最終結(jié)果以及控制、狀態(tài)信息。寄存器。寄存器的功能十分重要,的功能十分重要,CPU對存儲器中的數(shù)據(jù)進(jìn)行處理對存儲器中的數(shù)據(jù)進(jìn)行處理時(shí),往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處時(shí),往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處理。它可分為理。它可分為通用寄存器通用寄存器和和專用寄存器專用寄存器兩大類。兩大類。 通用寄存器可用來存放原始數(shù)據(jù)和運(yùn)算結(jié)果,有的通用寄存器可用來存放原始數(shù)據(jù)和運(yùn)算結(jié)果,有的還可作為變址寄存器、地址指針等。比如還可作為變址寄存器、地址指針等。比如8086CPU包含包含4個(gè)個(gè)16位通用寄存器:位通用寄存器:AX、BX、CX和和

15、DX和和4個(gè)個(gè)16位指針寄存器堆棧指針位指針寄存器堆棧指針SP、基址指針、基址指針BP、源、源變址寄存器變址寄存器SI和目的變址寄存器和目的變址寄存器DI 5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu) 專用寄存器專用寄存器是專門用來完成某一種特殊功能的寄存器:是專門用來完成某一種特殊功能的寄存器: (1)程序計(jì)數(shù)器(程序計(jì)數(shù)器(PC):存放正在執(zhí)行的指令地址或接著:存放正在執(zhí)行的指令地址或接著要執(zhí)行的下一條指令地址,既可能通過程序計(jì)數(shù)器加要執(zhí)行的下一條指令地址,既可能通過程序計(jì)數(shù)器加1形成形成下一條指令地址,也可能由轉(zhuǎn)移類指令形成轉(zhuǎn)

16、移地址送到下一條指令地址,也可能由轉(zhuǎn)移類指令形成轉(zhuǎn)移地址送到程序計(jì)數(shù)器,作為下一條指令地址。程序計(jì)數(shù)器,作為下一條指令地址。 (2)指令寄存器(指令寄存器(IR):存放從存儲器中取出的指令,以:存放從存儲器中取出的指令,以便在指令執(zhí)行過程中,控制完成一條指令的全部功能。便在指令執(zhí)行過程中,控制完成一條指令的全部功能。 (3)數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(DR):暫時(shí)存放由主存讀出的指令或:暫時(shí)存放由主存讀出的指令或數(shù)據(jù)字,當(dāng)向主存寫入指令或數(shù)據(jù)字時(shí),也暫時(shí)存放在存數(shù)據(jù)字,當(dāng)向主存寫入指令或數(shù)據(jù)字時(shí),也暫時(shí)存放在存儲器數(shù)據(jù)寄存器。儲器數(shù)據(jù)寄存器。5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu)

17、 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu) 專用寄存器專用寄存器是專門用來完成某一種特殊功能的寄存器:是專門用來完成某一種特殊功能的寄存器: (4)地址寄存器(地址寄存器(AR):保存當(dāng)前:保存當(dāng)前CPU所訪問的主存單所訪問的主存單元的地址。由于主存和元的地址。由于主存和CPU之間存在著操作速度上的差別,之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到主存的讀所以必須使用地址寄存器來保持地址信息,直到主存的讀寫操作完成為止寫操作完成為止 (5)程序狀態(tài)寄存器(程序狀態(tài)寄存器(PSR):存放程序狀態(tài)字,用于反:存放程序狀態(tài)字,用于反映映CPU內(nèi)部狀態(tài)及控制內(nèi)部狀態(tài)及

18、控制CPU某些部件的行為而設(shè)置的。如某些部件的行為而設(shè)置的。如ALU的運(yùn)算結(jié)果是否為零,可由狀態(tài)標(biāo)志寄存器中的標(biāo)志的運(yùn)算結(jié)果是否為零,可由狀態(tài)標(biāo)志寄存器中的標(biāo)志位表示。這些狀態(tài)的保存和使用為后續(xù)指令提供了方便,位表示。這些狀態(tài)的保存和使用為后續(xù)指令提供了方便,是參與控制程序的重要依據(jù)之一。后續(xù)指令可以在判斷上是參與控制程序的重要依據(jù)之一。后續(xù)指令可以在判斷上條指令運(yùn)算狀態(tài)的基礎(chǔ)上實(shí)現(xiàn)程序的轉(zhuǎn)移等操作。條指令運(yùn)算狀態(tài)的基礎(chǔ)上實(shí)現(xiàn)程序的轉(zhuǎn)移等操作。 5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu)2. 控制器:控制器: 控制器中除包含程序計(jì)

19、數(shù)器、指令寄存器外,還包括:控制器中除包含程序計(jì)數(shù)器、指令寄存器外,還包括:(1)指令譯碼器指令譯碼器:對指令寄存器中的操作碼進(jìn)行分析解釋,:對指令寄存器中的操作碼進(jìn)行分析解釋,產(chǎn)生相應(yīng)的控制信號。產(chǎn)生相應(yīng)的控制信號。(2)脈沖源及啟停線路脈沖源及啟停線路:形成有一定時(shí)序關(guān)系的操作控制信:形成有一定時(shí)序關(guān)系的操作控制信號序列。脈沖源產(chǎn)生一定頻率的脈沖信號作為整個(gè)機(jī)器的號序列。脈沖源產(chǎn)生一定頻率的脈沖信號作為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周期和工作脈沖的基準(zhǔn)信號,機(jī)器剛加時(shí)鐘脈沖,是機(jī)器周期和工作脈沖的基準(zhǔn)信號,機(jī)器剛加電時(shí),還應(yīng)產(chǎn)生一個(gè)復(fù)位信號電時(shí),還應(yīng)產(chǎn)生一個(gè)復(fù)位信號(reset)。啟停線路保證

20、可靠地。啟停線路保證可靠地送出或封鎖時(shí)鐘脈沖,控制時(shí)序信號發(fā)生或停止,從而啟送出或封鎖時(shí)鐘脈沖,控制時(shí)序信號發(fā)生或停止,從而啟動機(jī)器工作或使之停機(jī)。動機(jī)器工作或使之停機(jī)。(3)時(shí)序控制信號形成部件時(shí)序控制信號形成部件:當(dāng)機(jī)器啟動后,在:當(dāng)機(jī)器啟動后,在CLK時(shí)鐘作時(shí)鐘作用下,根據(jù)當(dāng)前正在執(zhí)行的指令需要,產(chǎn)生相應(yīng)時(shí)序控制用下,根據(jù)當(dāng)前正在執(zhí)行的指令需要,產(chǎn)生相應(yīng)時(shí)序控制信號,并根據(jù)被控功能部件的反饋信號調(diào)整時(shí)序控制信號。信號,并根據(jù)被控功能部件的反饋信號調(diào)整時(shí)序控制信號。 5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu)3. 總線:總線:

21、 CPU內(nèi)部各部件通過內(nèi)部各部件通過片內(nèi)總線片內(nèi)總線進(jìn)行信息交換。進(jìn)行信息交換。 CPU和計(jì)算機(jī)內(nèi)的其他部件,如存儲器、和計(jì)算機(jī)內(nèi)的其他部件,如存儲器、IO設(shè)備,設(shè)備,通過計(jì)算機(jī)通過計(jì)算機(jī)內(nèi)部總線內(nèi)部總線連接。連接。 內(nèi)部總線包括內(nèi)部總線包括數(shù)據(jù)總線、地址總線和控制總線數(shù)據(jù)總線、地址總線和控制總線。 一般數(shù)據(jù)總線可以一般數(shù)據(jù)總線可以雙向雙向傳輸數(shù)據(jù),地址總線是傳輸數(shù)據(jù),地址總線是單向單向的,一般由的,一般由“主設(shè)備主設(shè)備”送出地址,送出地址,“從設(shè)備從設(shè)備”接收接收地址,比如地址,比如CPU送出地址(指令地址或數(shù)據(jù)地址),送出地址(指令地址或數(shù)據(jù)地址),存儲器接收地址,存儲器接收地址,IO設(shè)備

22、有可能發(fā)送地址,也可設(shè)備有可能發(fā)送地址,也可能接收地址能接收地址 。 圖圖5-2 CPU數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu)5.2 數(shù)據(jù)通路的功能和基本結(jié)構(gòu)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) 5.2.2 數(shù)據(jù)通路的基本結(jié)構(gòu)數(shù)據(jù)通路的基本結(jié)構(gòu) 隨著隨著VLSI的發(fā)展,的發(fā)展,計(jì)算機(jī)結(jié)構(gòu)計(jì)算機(jī)結(jié)構(gòu)有了很大發(fā)展,如在有了很大發(fā)展,如在CPU中,中,往往有一個(gè)往往有一個(gè)指令預(yù)取隊(duì)列指令預(yù)取隊(duì)列,可預(yù)取出若干條指令,存放在,可預(yù)取出若干條指令,存放在由寄存器組成的隊(duì)列中,當(dāng)執(zhí)行程序需要取指令時(shí),可從由寄存器組成的隊(duì)列中,當(dāng)執(zhí)行程序需要取指令時(shí),可從速度比主存快得多的寄存器中得到,縮短程序運(yùn)行時(shí)間。速度比主存快得多

23、的寄存器中得到,縮短程序運(yùn)行時(shí)間。為了提高速度,當(dāng)一條指令還未執(zhí)行完時(shí),就提前執(zhí)行第為了提高速度,當(dāng)一條指令還未執(zhí)行完時(shí),就提前執(zhí)行第二條指令,這就是二條指令,這就是流水線技術(shù)流水線技術(shù)。另外。另外CPU中還應(yīng)包括中還應(yīng)包括“中中斷處理斷處理”的內(nèi)容。的內(nèi)容。 控制器在實(shí)現(xiàn)一條指令的功能時(shí),總要把每條指令分解成控制器在實(shí)現(xiàn)一條指令的功能時(shí),總要把每條指令分解成為一系列時(shí)間上先后有序的最基本、最簡單的微操作,即為一系列時(shí)間上先后有序的最基本、最簡單的微操作,即微操作序列微操作序列,微操作序列是與,微操作序列是與CPU的內(nèi)部數(shù)據(jù)通路密切相的內(nèi)部數(shù)據(jù)通路密切相關(guān)的,不同的數(shù)據(jù)通路就有不同的微操作序列

24、關(guān)的,不同的數(shù)據(jù)通路就有不同的微操作序列 。 5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 時(shí)序系統(tǒng)的功能是為指令的執(zhí)行提供各種定時(shí)信號,時(shí)序系統(tǒng)的功能是為指令的執(zhí)行提供各種定時(shí)信號,通常由通常由周期周期(分指令周期和機(jī)器周期兩種)、(分指令周期和機(jī)器周期兩種)、節(jié)拍節(jié)拍和和工作脈沖工作脈沖組成組成 指令周期指令周期:CPU每取出并執(zhí)行一條指令,都要完成每取出并執(zhí)行一條指令,都要完成一些列的操作,這一系列的操作所需要的時(shí)間稱作一些列的操作,這一系列的操作所需要的時(shí)間稱作一個(gè)指令周期。指令周期是執(zhí)行一條指令一個(gè)指令周期。指令周期是執(zhí)行一條指令(包括取包括取指令、分析指令和執(zhí)行指

25、令指令、分析指令和執(zhí)行指令)所需的全部時(shí)間,不所需的全部時(shí)間,不同指令的指令周期是不同的同指令的指令周期是不同的 5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 機(jī)器周期機(jī)器周期:按照指令執(zhí)行的各項(xiàng)不同任務(wù),把一個(gè)指:按照指令執(zhí)行的各項(xiàng)不同任務(wù),把一個(gè)指令周期劃分成若干個(gè)時(shí)間段,每個(gè)時(shí)間段完成一個(gè)基令周期劃分成若干個(gè)時(shí)間段,每個(gè)時(shí)間段完成一個(gè)基本操作,這樣的時(shí)間段稱為機(jī)器周期。本操作,這樣的時(shí)間段稱為機(jī)器周期。 在采用混合控制方式的現(xiàn)代計(jì)算機(jī)中,一般的做法是在采用混合控制方式的現(xiàn)代計(jì)算機(jī)中,一般的做法是定義幾種基本的機(jī)器周期。例如,取指令機(jī)器周期,定義幾種基本的機(jī)器周期。例如,

26、取指令機(jī)器周期,讀存儲器機(jī)器周期,寫存儲器機(jī)器周期和執(zhí)行運(yùn)算機(jī)讀存儲器機(jī)器周期,寫存儲器機(jī)器周期和執(zhí)行運(yùn)算機(jī)器周期等。一個(gè)指令周期可包括不同數(shù)量、不同類型器周期等。一個(gè)指令周期可包括不同數(shù)量、不同類型的幾個(gè)機(jī)器周期,但是任何一條指令的第一個(gè)機(jī)器周的幾個(gè)機(jī)器周期,但是任何一條指令的第一個(gè)機(jī)器周期必須是取指令機(jī)器周期。期必須是取指令機(jī)器周期。 機(jī)器周期又稱作機(jī)器周期又稱作CPU周期周期,通常它是主存儲器的一個(gè),通常它是主存儲器的一個(gè)訪問周期。在微型計(jì)算機(jī)中,訪問周期。在微型計(jì)算機(jī)中,CPU訪問主存就是一次訪問主存就是一次總線傳送,因此也稱為總線傳送,因此也稱為總線周期總線周期。 5.3 指令執(zhí)行過

27、程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 節(jié)拍節(jié)拍:在每個(gè)機(jī)器周期內(nèi)要執(zhí)行若干個(gè)微操作,這:在每個(gè)機(jī)器周期內(nèi)要執(zhí)行若干個(gè)微操作,這些操作可能需要分成幾步完成。應(yīng)把一個(gè)機(jī)器周期些操作可能需要分成幾步完成。應(yīng)把一個(gè)機(jī)器周期分為若干個(gè)相等的時(shí)間段,以便對應(yīng)一個(gè)機(jī)器周期分為若干個(gè)相等的時(shí)間段,以便對應(yīng)一個(gè)機(jī)器周期中規(guī)定的微操作,這樣的每個(gè)時(shí)間段都對應(yīng)一個(gè)電中規(guī)定的微操作,這樣的每個(gè)時(shí)間段都對應(yīng)一個(gè)電位信號,成為節(jié)拍電位信號。位信號,成為節(jié)拍電位信號。 “節(jié)拍節(jié)拍”是計(jì)算機(jī)操作的最小單位時(shí)間,又可稱作是計(jì)算機(jī)操作的最小單位時(shí)間,又可稱作時(shí)鐘周期時(shí)鐘周期或或T周期。周期。 節(jié)拍的寬度節(jié)拍的寬度取決于取

28、決于CPU執(zhí)行一次微操作所需要的時(shí)執(zhí)行一次微操作所需要的時(shí)間,不同的機(jī)器周期內(nèi)所包括的節(jié)拍數(shù)可以是固定間,不同的機(jī)器周期內(nèi)所包括的節(jié)拍數(shù)可以是固定不變的,也可以是可變的。不變的,也可以是可變的。5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 節(jié)拍的選取一般有如下節(jié)拍的選取一般有如下4種方法:種方法:(1) 統(tǒng)一節(jié)拍法統(tǒng)一節(jié)拍法。以最復(fù)雜指令的機(jī)器周期為標(biāo)準(zhǔn),確定節(jié)。以最復(fù)雜指令的機(jī)器周期為標(biāo)準(zhǔn),確定節(jié)拍數(shù),指令有多少微操作,機(jī)器周期就包括多少個(gè)節(jié)拍。拍數(shù),指令有多少微操作,機(jī)器周期就包括多少個(gè)節(jié)拍。節(jié)拍長度為最繁微操作所需時(shí)間。節(jié)拍長度為最繁微操作所需時(shí)間。(2)分散節(jié)拍法分散

29、節(jié)拍法。根據(jù)每條指令的實(shí)際需要安排節(jié)拍數(shù),需。根據(jù)每條指令的實(shí)際需要安排節(jié)拍數(shù),需要多少節(jié)拍,節(jié)拍發(fā)生器就發(fā)出多少節(jié)拍。要多少節(jié)拍,節(jié)拍發(fā)生器就發(fā)出多少節(jié)拍。(3)延長節(jié)拍法延長節(jié)拍法。照顧多數(shù)機(jī)器周期要求,選取適當(dāng)節(jié)拍數(shù)。照顧多數(shù)機(jī)器周期要求,選取適當(dāng)節(jié)拍數(shù)作為基本節(jié)拍,根據(jù)指令需要,每拍可適當(dāng)延長作為基本節(jié)拍,根據(jù)指令需要,每拍可適當(dāng)延長1-2拍。拍。(4)時(shí)鐘周期插入法時(shí)鐘周期插入法。在一些微型機(jī)中,時(shí)序信號中不設(shè)置。在一些微型機(jī)中,時(shí)序信號中不設(shè)置節(jié)拍,而直接使用時(shí)鐘周期信號,即一個(gè)機(jī)器周期中含有節(jié)拍,而直接使用時(shí)鐘周期信號,即一個(gè)機(jī)器周期中含有若干個(gè)時(shí)鐘周期且還可以不斷插入等待周期。

30、若干個(gè)時(shí)鐘周期且還可以不斷插入等待周期。5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 工作脈沖工作脈沖:節(jié)拍電位信號提供了一項(xiàng)操作所需要的:節(jié)拍電位信號提供了一項(xiàng)操作所需要的時(shí)間分段,它是信息的載體,在數(shù)據(jù)通路傳輸中起時(shí)間分段,它是信息的載體,在數(shù)據(jù)通路傳輸中起著開門或關(guān)門的作用,但在一個(gè)節(jié)拍中,有的操作著開門或關(guān)門的作用,但在一個(gè)節(jié)拍中,有的操作還需要嚴(yán)格的定時(shí)脈沖,如將穩(wěn)定的運(yùn)算結(jié)果打入還需要嚴(yán)格的定時(shí)脈沖,如將穩(wěn)定的運(yùn)算結(jié)果打入寄存器、機(jī)器周期狀態(tài)切換等。所以在一個(gè)節(jié)拍之寄存器、機(jī)器周期狀態(tài)切換等。所以在一個(gè)節(jié)拍之內(nèi)往往還需要設(shè)置幾個(gè)工作脈沖,作為各種同步脈內(nèi)往往還需要

31、設(shè)置幾個(gè)工作脈沖,作為各種同步脈沖的來源。沖的來源。 通常觸發(fā)器采用電位通常觸發(fā)器采用電位-脈沖工作模式,節(jié)拍電位送脈沖工作模式,節(jié)拍電位送D觸發(fā)器的觸發(fā)器的D輸入端,工作脈沖送輸入端,工作脈沖送CP輸入端。兩者的輸入端。兩者的配合關(guān)系如圖配合關(guān)系如圖5.3所示所示 。5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時(shí)序系統(tǒng)時(shí)序系統(tǒng)QQDCP邏輯電路邏輯電路信息Ti打入條件Pi節(jié)拍電位Ti工作脈沖Pi圖5-3節(jié)拍電位和工作脈沖的配合關(guān)系 5.3.2 指令的執(zhí)行過程指令的執(zhí)行過程 一條指令運(yùn)行過程可一條指令運(yùn)行過程可分為分為3個(gè)階段個(gè)階段:取指令階段、分析指令:取指令階段、分析指令階段和執(zhí)行指令階

32、段階段和執(zhí)行指令階段 取指令階段取指令階段:取指令階段的任務(wù)是將現(xiàn)行指令從存儲器中:取指令階段的任務(wù)是將現(xiàn)行指令從存儲器中取出來并送至指令寄存器中去。具體操作如下:取出來并送至指令寄存器中去。具體操作如下: (1)將程序計(jì)數(shù)器()將程序計(jì)數(shù)器(PC)中的內(nèi)容送至存儲器地址寄存器)中的內(nèi)容送至存儲器地址寄存器(MAR),并送地址總線(),并送地址總線(AB);); (2)由控制單元)由控制單元(CU)經(jīng)控制總線經(jīng)控制總線(CB)向存儲器發(fā)讀命令;向存儲器發(fā)讀命令; (3)從主存中取出的指令通過數(shù)據(jù)總線)從主存中取出的指令通過數(shù)據(jù)總線(DB)送到存儲器數(shù)送到存儲器數(shù)據(jù)寄存器據(jù)寄存器(MDR); (

33、4)將)將MDR的內(nèi)容送至指令寄存器的內(nèi)容送至指令寄存器(IR)中;中; (5)將)將PC的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備。的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備。 以上這些操作對任何一條指令來說都是必須要執(zhí)行的操作,以上這些操作對任何一條指令來說都是必須要執(zhí)行的操作,所以稱為公共操作所以稱為公共操作 。 5.3.2 指令的執(zhí)行過程指令的執(zhí)行過程 分析指令階段分析指令階段:取出指令后,指令譯碼器:取出指令后,指令譯碼器(ID)可識可識別和區(qū)分出不同的指令類型。此時(shí)計(jì)算機(jī)進(jìn)入分析別和區(qū)分出不同的指令類型。此時(shí)計(jì)算機(jī)進(jìn)入分析取數(shù)階段,以獲取操作數(shù)。由于各條指令功能不同,取數(shù)階段,以獲取操作數(shù)。由于各

34、條指令功能不同,尋址方式也不同,所以分析取數(shù)階段的操作是各不尋址方式也不同,所以分析取數(shù)階段的操作是各不相同的相同的 。 指令執(zhí)行階段指令執(zhí)行階段:執(zhí)行階段完成指令規(guī)定的各種操作,:執(zhí)行階段完成指令規(guī)定的各種操作,形成穩(wěn)定的運(yùn)算結(jié)果,并將其存儲起來。形成穩(wěn)定的運(yùn)算結(jié)果,并將其存儲起來。 計(jì)算機(jī)的基本工作過程計(jì)算機(jī)的基本工作過程就是取指令、分析取數(shù)、執(zhí)就是取指令、分析取數(shù)、執(zhí)行指令,然后再取下一條指令,如此周而復(fù)始,直行指令,然后再取下一條指令,如此周而復(fù)始,直至遇到停機(jī)指令或外來的干預(yù)為止至遇到停機(jī)指令或外來的干預(yù)為止 。5.3.3. 指令執(zhí)行過程舉例指令執(zhí)行過程舉例 首先將圖首先將圖5-2給

35、出的給出的CPU基本結(jié)構(gòu)具體化,列出相基本結(jié)構(gòu)具體化,列出相應(yīng)的控制信號,圖應(yīng)的控制信號,圖5-4是對應(yīng)的是對應(yīng)的CPU邏輯框圖邏輯框圖 。 在圖在圖5.4中中ALU可以進(jìn)行加、減、邏輯加、邏輯乘可以進(jìn)行加、減、邏輯加、邏輯乘四種運(yùn)算。圖中的控制信號用符號四種運(yùn)算。圖中的控制信號用符號1,2,3,表示,表示,其意義見表其意義見表5.1。2022-6-1031圖圖5.4 CPU邏輯框圖邏輯框圖2022-6-1032表表5.1 控制信號一覽表控制信號一覽表序號序號控制信號控制信號功能功能序號序號控制信號控制信號功能功能1PCAB指令地址送地址總線指令地址送地址總線13+ALU進(jìn)行加法運(yùn)算進(jìn)行加法運(yùn)

36、算2ALUPC轉(zhuǎn)移地址送轉(zhuǎn)移地址送PC14-ALU進(jìn)行減法運(yùn)算進(jìn)行減法運(yùn)算3PC+1程序計(jì)數(shù)器加程序計(jì)數(shù)器加115ALU進(jìn)行邏輯乘運(yùn)算進(jìn)行邏輯乘運(yùn)算4imm(disp)ALU立即數(shù)或位移量送立即數(shù)或位移量送ALU16ALU進(jìn)行邏輯加運(yùn)算進(jìn)行邏輯加運(yùn)算5DBIR取指到指令寄存器取指到指令寄存器17ALUGRALU運(yùn)算結(jié)果送通用寄存器運(yùn)算結(jié)果送通用寄存器6DBDR數(shù)據(jù)總線上的數(shù)據(jù)送數(shù)據(jù)數(shù)據(jù)總線上的數(shù)據(jù)送數(shù)據(jù)寄存器寄存器18ALUDRALU運(yùn)算結(jié)果送數(shù)據(jù)寄存器運(yùn)算結(jié)果送數(shù)據(jù)寄存器7DRDB數(shù)據(jù)寄存器中的數(shù)據(jù)送數(shù)數(shù)據(jù)寄存器中的數(shù)據(jù)送數(shù)據(jù)總線據(jù)總線19ALUARALU計(jì)算得的有效地址送地計(jì)算得的有效地址

37、送地址寄存器址寄存器8rs1GR寄存器地址送通用寄存器寄存器地址送通用寄存器20ARAB地址寄存器內(nèi)容送地址總線地址寄存器內(nèi)容送地址總線9rs,rdGR寄存器地址送通用寄存器寄存器地址送通用寄存器21ADS地址總線上地址有效地址總線上地址有效10(rs1)ALU寄存器內(nèi)容送寄存器內(nèi)容送ALU22M/IO訪問存儲器或訪問存儲器或I/O11(rs)ALU寄存器內(nèi)容送寄存器內(nèi)容送ALU23W/R寫或讀寫或讀12DRALU數(shù)據(jù)寄存器內(nèi)容送數(shù)據(jù)寄存器內(nèi)容送ALU2022-6-10335.3.3. 指令執(zhí)行過程舉例指令執(zhí)行過程舉例1. 加法指令的執(zhí)行過程加法指令的執(zhí)行過程 假設(shè)假設(shè)CPU的邏輯框圖如圖的邏

38、輯框圖如圖5.4所示。所示。 運(yùn)算器由運(yùn)算器由8個(gè)通用寄存器個(gè)通用寄存器GR及及1個(gè)算邏運(yùn)算部件個(gè)算邏運(yùn)算部件ALU組成,并有組成,并有4個(gè)記憶運(yùn)算結(jié)果狀態(tài)的個(gè)記憶運(yùn)算結(jié)果狀態(tài)的標(biāo)志觸發(fā)標(biāo)志觸發(fā)器器N,Z,V和和C。 N(負(fù)數(shù)負(fù)數(shù)):當(dāng)運(yùn)算結(jié)果為負(fù)數(shù)時(shí),當(dāng)運(yùn)算結(jié)果為負(fù)數(shù)時(shí),N=1,否則,否則N=0; Z(零零): 當(dāng)運(yùn)算結(jié)果為零時(shí),當(dāng)運(yùn)算結(jié)果為零時(shí),Z1,否則,否則Z0; V(溢出溢出):當(dāng)運(yùn)算結(jié)果溢出時(shí),當(dāng)運(yùn)算結(jié)果溢出時(shí),V1,否則,否則V0; C(進(jìn)位進(jìn)位): 當(dāng)加法運(yùn)算產(chǎn)生進(jìn)位信號或減法運(yùn)算產(chǎn)生當(dāng)加法運(yùn)算產(chǎn)生進(jìn)位信號或減法運(yùn)算產(chǎn)生借位信號時(shí),借位信號時(shí),C1,否則,否則C0。設(shè)指令格式設(shè)

39、指令格式:rs,rd,rs1為通用寄存器地址;為通用寄存器地址;imm(或或disp)為立即數(shù)為立即數(shù)(或位移量或位移量)。加法指令功能:將寄存器加法指令功能:將寄存器(rs)中的一個(gè)數(shù)與存儲器中中的一個(gè)數(shù)與存儲器中的一個(gè)數(shù)的一個(gè)數(shù)(其地址為其地址為(rs1)+disp)相加,結(jié)果放在寄存相加,結(jié)果放在寄存器器rd中,中,rs與與rd為同一寄存器。即為同一寄存器。即 (rs)+(rs1)+disp rs操作碼rs, rdrs1imm(或 disp) 加法指令完成以下操作加法指令完成以下操作 從存儲器取指令,送入指令寄存器,并進(jìn)行操作碼譯碼從存儲器取指令,送入指令寄存器,并進(jìn)行操作碼譯碼(分析指

40、令分析指令)。 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: PC AB, W/R=0, M/IO=1; DB IR; PC+1; ADS=1 計(jì)算數(shù)據(jù)地址,將計(jì)算得到的有效地址送地址寄存器計(jì)算數(shù)據(jù)地址,將計(jì)算得到的有效地址送地址寄存器AR 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: rs1 GR , (rs1) ALU, disp ALU, “+” , ALU AR 到存儲器取數(shù)到存儲器取數(shù) 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: AR AB, W/R=0, M/IO=1; DB DR ; ADS=1 進(jìn)行加法運(yùn)算,結(jié)果送寄存器,根據(jù)運(yùn)算結(jié)果置狀態(tài)位進(jìn)行加法運(yùn)算,結(jié)果送寄存器,根據(jù)運(yùn)

41、算結(jié)果置狀態(tài)位 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: rs GR, (rs) ALU, DR ALU, “+”, rd GR, ALU rd 以上操作需要四個(gè)機(jī)器周期,其時(shí)間安排如下以上操作需要四個(gè)機(jī)器周期,其時(shí)間安排如下 : 其中取指令和取數(shù)周期通過總線訪問存儲器;計(jì)算地址和其中取指令和取數(shù)周期通過總線訪問存儲器;計(jì)算地址和運(yùn)算送結(jié)果周期在運(yùn)算送結(jié)果周期在CPU內(nèi)部進(jìn)行操作,此時(shí)總線空閑。內(nèi)部進(jìn)行操作,此時(shí)總線空閑。 CPU內(nèi)部的寄存器,如程序計(jì)數(shù)器內(nèi)部的寄存器,如程序計(jì)數(shù)器(PC)、指令寄存器、指令寄存器(IR)、通用寄存器通用寄存器(GR)等都是在一個(gè)周期的末尾接受信息的,即等都

42、是在一個(gè)周期的末尾接受信息的,即在在T2時(shí),利用時(shí),利用CLK時(shí)鐘的下降沿打入寄存器。大部分計(jì)算時(shí)鐘的下降沿打入寄存器。大部分計(jì)算機(jī)機(jī)CPU中的觸發(fā)器、寄存器都是利用與時(shí)鐘同步的脈沖打中的觸發(fā)器、寄存器都是利用與時(shí)鐘同步的脈沖打入的。入的。 加法指令時(shí)序圖見下頁。加法指令時(shí)序圖見下頁。t4取指令計(jì)算地址取數(shù)運(yùn)算送結(jié)果0t1t2t3 加法指令加法指令時(shí)序圖時(shí)序圖 (2) 轉(zhuǎn)移指令的執(zhí)行過程轉(zhuǎn)移指令的執(zhí)行過程 指令功能:指令功能:根據(jù)運(yùn)算結(jié)果,決定是否轉(zhuǎn)移。如轉(zhuǎn)移條根據(jù)運(yùn)算結(jié)果,決定是否轉(zhuǎn)移。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序執(zhí)行下

43、一條指令。執(zhí)行下一條指令。 本條指令完成以下操作本條指令完成以下操作: 從存儲器從存儲器取指令取指令,送入指令寄存器,并進(jìn)行操作碼,送入指令寄存器,并進(jìn)行操作碼譯碼。譯碼。 如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式計(jì)算有計(jì)算有效地址效地址,轉(zhuǎn)移指令經(jīng)常采用,轉(zhuǎn)移指令經(jīng)常采用相對尋址相對尋址方式,轉(zhuǎn)移地址方式,轉(zhuǎn)移地址(PC)+disp。 PC是指本條指令地址,而在上一機(jī)器是指本條指令地址,而在上一機(jī)器周期已執(zhí)行周期已執(zhí)行(PC)+1操作,計(jì)算時(shí)應(yīng)取原操作,計(jì)算時(shí)應(yīng)取原PC值,或?qū)\(yùn)值,或?qū)\(yùn)算進(jìn)行修正。最后將轉(zhuǎn)移地址送算進(jìn)行修正。最后將轉(zhuǎn)移地址送PC。 本條

44、指令只需兩個(gè)機(jī)器周期,如轉(zhuǎn)移條件成立,本條指令只需兩個(gè)機(jī)器周期,如轉(zhuǎn)移條件成立,在第二機(jī)器周期增加一個(gè)在第二機(jī)器周期增加一個(gè)ALUPC信號;如為信號;如為相對轉(zhuǎn)移,則用相對轉(zhuǎn)移,則用PCALU信號取代加法指令第信號取代加法指令第二周期中的二周期中的(rs1)ALU信號,其他信號與加法信號,其他信號與加法指令的前兩個(gè)機(jī)器周期中的信號相同。指令的前兩個(gè)機(jī)器周期中的信號相同。 某些計(jì)算機(jī)對條件轉(zhuǎn)移指令的功能規(guī)定:先進(jìn)某些計(jì)算機(jī)對條件轉(zhuǎn)移指令的功能規(guī)定:先進(jìn)行比較運(yùn)算,根據(jù)運(yùn)算行比較運(yùn)算,根據(jù)運(yùn)算(比較比較)結(jié)果置條件碼,結(jié)果置條件碼,并根據(jù)條件碼決定是否轉(zhuǎn)移。要完成這樣的功并根據(jù)條件碼決定是否轉(zhuǎn)移。

45、要完成這樣的功能顯然要增加周期數(shù)。能顯然要增加周期數(shù)。 其他指令其他指令的控制信號也按同樣方法分析,根據(jù)的控制信號也按同樣方法分析,根據(jù)每條指令的功能確定所需機(jī)器周期數(shù),得出每每條指令的功能確定所需機(jī)器周期數(shù),得出每個(gè)機(jī)器周期所需的控制信號,最后將所有控制個(gè)機(jī)器周期所需的控制信號,最后將所有控制信號進(jìn)行綜合化簡。信號進(jìn)行綜合化簡。 控制器的功能就是按每條指令的要求產(chǎn)生所需的控控制器的功能就是按每條指令的要求產(chǎn)生所需的控制信號。因此在設(shè)計(jì)控制器時(shí)要求系統(tǒng)設(shè)計(jì)師提供制信號。因此在設(shè)計(jì)控制器時(shí)要求系統(tǒng)設(shè)計(jì)師提供一個(gè)完整的無二義性的指令系統(tǒng)說明書。一個(gè)完整的無二義性的指令系統(tǒng)說明書。 到此為止,只講到

46、到此為止,只講到為什么需要控制信號及需要什么為什么需要控制信號及需要什么樣的控制信號樣的控制信號,下一節(jié)下一節(jié)將說明將說明如何產(chǎn)生控制信號如何產(chǎn)生控制信號。 產(chǎn)生控制信號一般有產(chǎn)生控制信號一般有微程序控制微程序控制和和硬布線控制硬布線控制兩種兩種方法方法 。5.4 控制器的功能和工作原理控制器的功能和工作原理 計(jì)算機(jī)各個(gè)部件所需要的微操作控制信號均由控制計(jì)算機(jī)各個(gè)部件所需要的微操作控制信號均由控制器的器的“時(shí)序控制信號形成部件時(shí)序控制信號形成部件”根據(jù)指令的要求來根據(jù)指令的要求來產(chǎn)生。產(chǎn)生。 “時(shí)序控制信號形成部件時(shí)序控制信號形成部件”的實(shí)現(xiàn)一般由兩種方式,的實(shí)現(xiàn)一般由兩種方式,一是采用一是采

47、用組合邏輯組合邏輯來實(shí)現(xiàn),即來實(shí)現(xiàn),即 “硬布線控制器硬布線控制器”,二是采用二是采用存儲邏輯存儲邏輯來實(shí)現(xiàn),即來實(shí)現(xiàn),即 “微程序控制器微程序控制器”。 本節(jié)將介紹這兩種控制器的組成和工作原理。本節(jié)將介紹這兩種控制器的組成和工作原理。2022-6-10425.4.1 硬布線控制器硬布線控制器 在硬布線控制器中,由于時(shí)序控制信號是通過邏在硬布線控制器中,由于時(shí)序控制信號是通過邏輯電路直接連線而產(chǎn)生的,所以又稱為輯電路直接連線而產(chǎn)生的,所以又稱為組合邏輯組合邏輯控制方式控制方式。 至于控制器的其他組成部分,諸如時(shí)鐘、啟停電至于控制器的其他組成部分,諸如時(shí)鐘、啟停電路、程序計(jì)數(shù)器、指令寄存器以及電

48、路配合問題路、程序計(jì)數(shù)器、指令寄存器以及電路配合問題等,則不因控制方式而異。等,則不因控制方式而異。 不同計(jì)算機(jī)(即使是同一系列的計(jì)算機(jī))之間控不同計(jì)算機(jī)(即使是同一系列的計(jì)算機(jī))之間控制器的具體組成及控制信號的時(shí)序等差別是很大制器的具體組成及控制信號的時(shí)序等差別是很大的,這主要取決于設(shè)計(jì)技巧以及所選用器件等因的,這主要取決于設(shè)計(jì)技巧以及所選用器件等因素,它們的基本原理是相同的素,它們的基本原理是相同的 。2022-6-10435.4.1 硬布線控制器硬布線控制器 1. 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 一條指令的實(shí)現(xiàn)可分成取指、計(jì)算地址、取數(shù)及執(zhí)行等步驟。一條指令的實(shí)現(xiàn)可分成取指、計(jì)算地址、取數(shù)及執(zhí)行等步驟

49、。在硬布線控制器中,由指令的在硬布線控制器中,由指令的操作碼操作碼直接控制并產(chǎn)生實(shí)現(xiàn)上直接控制并產(chǎn)生實(shí)現(xiàn)上述各步驟所需的控制信號。述各步驟所需的控制信號。 時(shí)序系統(tǒng)的功能時(shí)序系統(tǒng)的功能就是要產(chǎn)生指令系統(tǒng)的全部指令的各種機(jī)器就是要產(chǎn)生指令系統(tǒng)的全部指令的各種機(jī)器周期信號和節(jié)拍信號周期信號和節(jié)拍信號 。 大部分情況下,指令執(zhí)行每一步由一個(gè)機(jī)器周期實(shí)現(xiàn),機(jī)器大部分情況下,指令執(zhí)行每一步由一個(gè)機(jī)器周期實(shí)現(xiàn),機(jī)器周期信號一般可采用周期信號一般可采用計(jì)數(shù)器輸出譯碼方式計(jì)數(shù)器輸出譯碼方式,例如可用兩位計(jì),例如可用兩位計(jì)數(shù)器的譯碼輸出來產(chǎn)生四個(gè)周期信號,如圖數(shù)器的譯碼輸出來產(chǎn)生四個(gè)周期信號,如圖5.6所示。所

50、示。圖5.6 用計(jì)數(shù)器、譯碼器 形成機(jī)器周期信號cy1 cy2 cy3 cy4譯碼器cyAcyB計(jì)數(shù)器2022-6-10445.4.1 硬布線控制器硬布線控制器 1. 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 由于每條指令功能不同,所以所需機(jī)器周期數(shù)可能不相同,由于每條指令功能不同,所以所需機(jī)器周期數(shù)可能不相同,因此某些指令可能缺少某個(gè)周期(例如轉(zhuǎn)移指令),而有些因此某些指令可能缺少某個(gè)周期(例如轉(zhuǎn)移指令),而有些復(fù)雜指令的某個(gè)周期則需要延長(例如乘法指令的執(zhí)行周復(fù)雜指令的某個(gè)周期則需要延長(例如乘法指令的執(zhí)行周期),從而使得上述計(jì)數(shù)器或移位寄存器的工作時(shí)序發(fā)生變期),從而使得上述計(jì)數(shù)器或移位寄存器的工作時(shí)序發(fā)生變化

51、,其變化規(guī)律與指令有關(guān)?;?,其變化規(guī)律與指令有關(guān)。 例如,執(zhí)行例如,執(zhí)行A指令時(shí)需要四個(gè)機(jī)器周期,因此計(jì)數(shù)器的變化指令時(shí)需要四個(gè)機(jī)器周期,因此計(jì)數(shù)器的變化規(guī)律是規(guī)律是00011011;而執(zhí)行;而執(zhí)行B指令時(shí)僅需要三個(gè)機(jī)器周指令時(shí)僅需要三個(gè)機(jī)器周期(例如不用計(jì)算地址期(例如不用計(jì)算地址),則計(jì)數(shù)器的變化規(guī)律為,則計(jì)數(shù)器的變化規(guī)律為001011,據(jù)此可列出真值表(表據(jù)此可列出真值表(表5.2)。 表表5.2中中cyA,cyB表示當(dāng)前周期的計(jì)數(shù)器狀態(tài),表示當(dāng)前周期的計(jì)數(shù)器狀態(tài),cyA,cyB表表示下一周期計(jì)數(shù)器狀態(tài)示下一周期計(jì)數(shù)器狀態(tài) 2022-6-1045A指令B指令cyA cyBcyA cyBc

52、yA cyBcyA cyB0 00 10 01 00 11 01 01 11 01 11 10 01 10 0表5.2 計(jì)數(shù)器狀態(tài)變化A指令表達(dá)式為 B指令表達(dá)式為 cyAcyA cyBcyA cyB cyBcyA cyBcyA cyBcyB cyAcyA cyBcyA cyBcyB cyBcyA cyB 2022-6-10465.4.1 硬布線控制器硬布線控制器 1. 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 由表達(dá)式得出時(shí)序計(jì)數(shù)器邏輯圖由表達(dá)式得出時(shí)序計(jì)數(shù)器邏輯圖5.7,圖,圖5.7為僅有兩條指令的為僅有兩條指令的邏輯圖,實(shí)際機(jī)器有幾十條到幾百條指令,根據(jù)指令功能列邏輯圖,實(shí)際機(jī)器有幾十條到幾百條指令,根據(jù)指令功

53、能列出每條指令的機(jī)器周期變化規(guī)律,最后歸納出幾種情況,將出每條指令的機(jī)器周期變化規(guī)律,最后歸納出幾種情況,將情況相同的指令歸為一類,然后列出表達(dá)式,畫出邏輯圖。情況相同的指令歸為一類,然后列出表達(dá)式,畫出邏輯圖。B指令圖5.7 時(shí)序計(jì)數(shù)器邏輯圖R cyAR cyB1 1&resetCPcyAcyBcyBcyAA指令A(yù)指令B指令cyAcyBcyBcyB2022-6-10475.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 圖圖5.8是硬布線控制器框圖,由硬布線邏輯是硬布線控制器框圖,由硬布線邏輯(組合邏輯組合邏輯)部件產(chǎn)部件產(chǎn)生全機(jī)所需的操作命令生全機(jī)所需

54、的操作命令(包括控制電位與打入脈沖包括控制電位與打入脈沖) 。圖5.8 硬布線控制器組成框圖操作碼程序計(jì)數(shù)器指令寄存器IR譯碼器硬布線邏輯(組合邏輯)操作控制信號地址碼 中斷控制邏輯中斷信號轉(zhuǎn)移地址+1reset機(jī)器周期狀態(tài)節(jié)拍及工作脈沖啟停電路脈沖源cy1 cy2 cy3 cy4T1 T2 CPCLKCLK2022-6-10485.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 時(shí)序系統(tǒng):時(shí)序系統(tǒng):用來產(chǎn)生指令系統(tǒng)的全部指令的各種機(jī)器周期信用來產(chǎn)生指令系統(tǒng)的全部指令的各種機(jī)器周期信號和節(jié)拍信號。由脈沖源、啟停電路、節(jié)拍與工作脈沖、機(jī)號和節(jié)拍信號。由脈沖源、啟停電

55、路、節(jié)拍與工作脈沖、機(jī)器周期狀態(tài)等硬件電路組成。器周期狀態(tài)等硬件電路組成。 程序計(jì)數(shù)器和中斷控制邏輯:程序計(jì)數(shù)器和中斷控制邏輯:程序計(jì)數(shù)器的輸入有四種來源:程序計(jì)數(shù)器的輸入有四種來源:開機(jī)后的開機(jī)后的reset信號,將信號,將PC置以初始地址;當(dāng)順序執(zhí)行指令時(shí),置以初始地址;當(dāng)順序執(zhí)行指令時(shí),由由PC+1形成下條指令地址;當(dāng)程序轉(zhuǎn)移時(shí),由形成下條指令地址;當(dāng)程序轉(zhuǎn)移時(shí),由ALU送來轉(zhuǎn)移送來轉(zhuǎn)移地址地址(通過通過ALU部件計(jì)算有效地址部件計(jì)算有效地址);當(dāng)有外來中斷請求信號;當(dāng)有外來中斷請求信號時(shí),若時(shí),若CPU響應(yīng)中斷,則由中斷控制邏輯部件產(chǎn)生中斷入口響應(yīng)中斷,則由中斷控制邏輯部件產(chǎn)生中斷入口

56、地址。有的計(jì)算機(jī)中斷入口地址僅有一個(gè),而有的計(jì)算機(jī),地址。有的計(jì)算機(jī)中斷入口地址僅有一個(gè),而有的計(jì)算機(jī),根據(jù)不同的中斷來源,進(jìn)入不同的中斷處理程序入口,進(jìn)行根據(jù)不同的中斷來源,進(jìn)入不同的中斷處理程序入口,進(jìn)行相應(yīng)的處理,稱為向量中斷。在僅有一個(gè)中斷入口地址的情相應(yīng)的處理,稱為向量中斷。在僅有一個(gè)中斷入口地址的情況下,況下,CPU響應(yīng)中斷后,首先要查到中斷源,以確定是哪個(gè)響應(yīng)中斷后,首先要查到中斷源,以確定是哪個(gè)I/O設(shè)備要進(jìn)行處理,是輸入、輸出還是故障等,然后才能進(jìn)設(shè)備要進(jìn)行處理,是輸入、輸出還是故障等,然后才能進(jìn)入相應(yīng)中斷處理程序進(jìn)行處理,而當(dāng)具有向量中斷功能時(shí),入相應(yīng)中斷處理程序進(jìn)行處理,

57、而當(dāng)具有向量中斷功能時(shí),直接進(jìn)入中斷處理程序,加快了響應(yīng)時(shí)間。直接進(jìn)入中斷處理程序,加快了響應(yīng)時(shí)間。2022-6-10495.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 指令寄存器:指令寄存器:用來存放從存儲器中取出的指令,以便在指令用來存放從存儲器中取出的指令,以便在指令執(zhí)行過程中,控制完成一條指令的全部功能。指令寄存器包執(zhí)行過程中,控制完成一條指令的全部功能。指令寄存器包括操作碼和地址碼兩部分括操作碼和地址碼兩部分 。 譯碼器:譯碼器:各條指令所需實(shí)現(xiàn)的操作隨指令而異。如操作碼為各條指令所需實(shí)現(xiàn)的操作隨指令而異。如操作碼為7位,則允許計(jì)算機(jī)最多設(shè)置位,則允

58、許計(jì)算機(jī)最多設(shè)置128條指令,譯碼器的最基本形式條指令,譯碼器的最基本形式為:以為:以7位操作碼為輸入,在輸出的位操作碼為輸入,在輸出的128條線中,在任何時(shí)候條線中,在任何時(shí)候只有只有1根為高電位,其余均為低電位根為高電位,其余均為低電位(或只有或只有1根為低電位,其根為低電位,其余均為高電位余均為高電位),每,每1根輸出線代表一條指令,因此譯碼器的根輸出線代表一條指令,因此譯碼器的輸出可以反映出當(dāng)前正在執(zhí)行的指令。同種類型指令所需的輸出可以反映出當(dāng)前正在執(zhí)行的指令。同種類型指令所需的控制信號大部分是相同的,在設(shè)計(jì)指令系統(tǒng)操作碼時(shí),應(yīng)特控制信號大部分是相同的,在設(shè)計(jì)指令系統(tǒng)操作碼時(shí),應(yīng)特別關(guān)

59、注,譯碼器的輸出信號中,還增加有關(guān)指令類型的信號別關(guān)注,譯碼器的輸出信號中,還增加有關(guān)指令類型的信號(如算邏類指令、轉(zhuǎn)移類指令等如算邏類指令、轉(zhuǎn)移類指令等) 2022-6-10505.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 硬布線邏輯:硬布線邏輯:當(dāng)機(jī)器啟動后,由譯碼器輸出和機(jī)器當(dāng)機(jī)器啟動后,由譯碼器輸出和機(jī)器周期狀態(tài)周期狀態(tài)cy1cy4作為輸入,硬布線邏輯(組合邏作為輸入,硬布線邏輯(組合邏輯)根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的輯)根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的操作控制信號。操作控制信號。 在分析一臺具體計(jì)算機(jī)的控制器時(shí),可以發(fā)現(xiàn)譯碼在分

60、析一臺具體計(jì)算機(jī)的控制器時(shí),可以發(fā)現(xiàn)譯碼器與硬布線邏輯的分界線往往是模糊的,這是因?yàn)槠髋c硬布線邏輯的分界線往往是模糊的,這是因?yàn)閮烧叨际怯勺罨镜拈T電路組成的。實(shí)際上為簡化兩者都是由最基本的門電路組成的。實(shí)際上為簡化邏輯,譯碼器與組合邏輯是結(jié)合在一起設(shè)計(jì)的。邏輯,譯碼器與組合邏輯是結(jié)合在一起設(shè)計(jì)的。 2022-6-10515.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 以加法指令為例,假設(shè)一條加法指令的功能由四個(gè)以加法指令為例,假設(shè)一條加法指令的功能由四個(gè)機(jī)器周期機(jī)器周期cy1cy4完成的,分別是取指、計(jì)算有效地完成的,分別是取指、計(jì)算有效地址、取操作數(shù)、進(jìn)行加法運(yùn)算并送結(jié)果。址、取操作數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論