




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(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)是計算機的核心部件,主要負(fù)責(zé)程序的執(zhí)行和各種是計算機的核心部件,主要負(fù)責(zé)程序的執(zhí)行和各種數(shù)據(jù)處理。數(shù)據(jù)處理。 本章從分析本章從分析CPU的功能結(jié)構(gòu)入手,詳細(xì)介紹的功能結(jié)構(gòu)入手,詳細(xì)介紹CPU的的
2、構(gòu)成和指令的執(zhí)行過程,對兩種常見的控制器工作構(gòu)成和指令的執(zhí)行過程,對兩種常見的控制器工作原理進行了闡述。此外還介紹了為提高指令執(zhí)行速原理進行了闡述。此外還介紹了為提高指令執(zhí)行速度而采取的流水線技術(shù)度而采取的流水線技術(shù) 。 本章主要論述本章主要論述CPU組成原理組成原理 通過本章學(xué)習(xí)通過本章學(xué)習(xí): 掌握在計算機運行過程中各個掌握在計算機運行過程中各個硬件部件的作用硬件部件的作用; CPU中各個部件的中各個部件的操作過程及其實現(xiàn)方法原理操作過程及其實現(xiàn)方法原理。 本章將重點講述本章將重點講述: 程序是如何執(zhí)行的程序是如何執(zhí)行的; 計算機計算機怎樣實現(xiàn)各條指令的功能怎樣實現(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)計算機,計算機對信息進行處理計算機,計算機對信息進行處理(或計算或計算)是通過是通過程序程序執(zhí)行而實現(xiàn)的。執(zhí)行而實現(xiàn)的。 程序是完成某個確定算法的指令序列,要預(yù)先存放程序是完成某個確定算法的指令序列,要預(yù)先存放在在存儲器存儲器中。中。 將程序?qū)懭氪鎯ζ骱?,便可由計算機自動完成指令將程序?qū)懭氪鎯ζ骱螅憧捎捎嬎銠C自動完成指令的執(zhí)行,的執(zhí)行,控制器控制器的主要任務(wù)就是完成此項工作的,的主要任務(wù)就是完成此項工作的,它負(fù)責(zé)協(xié)調(diào)并控制計算機各部
4、件執(zhí)行程序的指令序它負(fù)責(zé)協(xié)調(diào)并控制計算機各部件執(zhí)行程序的指令序列,并對數(shù)據(jù)進行加工,其基本功能是列,并對數(shù)據(jù)進行加工,其基本功能是取指令、分取指令、分析指令和執(zhí)行指令析指令和執(zhí)行指令 。5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 1取指令取指令:當(dāng)程序已在存儲器中時,首先根據(jù)程序入口?。寒?dāng)程序已在存儲器中時,首先根據(jù)程序入口取出第一條指令,為此要發(fā)出指令地址及控制信號。然后不出第一條指令,為此要發(fā)出指令地址及控制信號。然后不斷取出第斷取出第2,3,條指令條指令 2分析指令分析指令:對當(dāng)前取得的指令進行分析,指出它要求作:對當(dāng)前取得的指令進行分析,指出它要求作
5、什么操作,產(chǎn)生相應(yīng)操作控制命令,若參與操作數(shù)據(jù)在存什么操作,產(chǎn)生相應(yīng)操作控制命令,若參與操作數(shù)據(jù)在存儲器中,還需形成操作數(shù)地址儲器中,還需形成操作數(shù)地址 3執(zhí)行指令執(zhí)行指令:根據(jù)分析指令時產(chǎn)生的:根據(jù)分析指令時產(chǎn)生的“操作命令操作命令”和和“操操作數(shù)地址作數(shù)地址”形成相應(yīng)操作控制信號序列,通過形成相應(yīng)操作控制信號序列,通過CPU及輸入及輸入輸出設(shè)備的執(zhí)行,實現(xiàn)每條指令功能,還包括對運算結(jié)果輸出設(shè)備的執(zhí)行,實現(xiàn)每條指令功能,還包括對運算結(jié)果的處理及下條指令地址形成的處理及下條指令地址形成 計算機不斷計算機不斷重復(fù)順序執(zhí)行上述三種基本操作重復(fù)順序執(zhí)行上述三種基本操作:取指、分析、:取指、分析、執(zhí)行
6、;再取指、再分析、再執(zhí)行執(zhí)行;再取指、再分析、再執(zhí)行,如此循環(huán),直到遇,如此循環(huán),直到遇到停機指令或外來的干預(yù)為止到停機指令或外來的干預(yù)為止 5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 此外,程序和數(shù)據(jù)要輸入機器,運算結(jié)果要輸出,機器運此外,程序和數(shù)據(jù)要輸入機器,運算結(jié)果要輸出,機器運行過程中出現(xiàn)的某些異常情況或請求要進行處理,人與機行過程中出現(xiàn)的某些異常情況或請求要進行處理,人與機器之間要進行對話,控制器還應(yīng)具有以下功能:器之間要進行對話,控制器還應(yīng)具有以下功能: 4控制程序和數(shù)據(jù)的輸入與結(jié)果輸出控制程序和數(shù)據(jù)的輸入與結(jié)果輸出:根據(jù)程序安排或人:根據(jù)程序安
7、排或人的干預(yù),在適當(dāng)?shù)臅r候向輸入輸出設(shè)備發(fā)出一些相應(yīng)的命的干預(yù),在適當(dāng)?shù)臅r候向輸入輸出設(shè)備發(fā)出一些相應(yīng)的命令來完成令來完成I/O功能功能 5對異常情況和某些請求的處理對異常情況和某些請求的處理:當(dāng)機器出現(xiàn)某些異常情:當(dāng)機器出現(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ù)運行。序。處理完畢后,再返回原程序繼續(xù)運行。(2) DMA請請求信號求信號。等。等CPU完成當(dāng)前機器周期操作后,暫停工作,讓完成當(dāng)前機器周
8、期操作后,暫停工作,讓出總線給出總線給I/O設(shè)備,在完成設(shè)備,在完成I/O設(shè)備與存儲器之間的傳送數(shù)設(shè)備與存儲器之間的傳送數(shù)據(jù)操作后,據(jù)操作后,CPU從暫時中止的機器周期開始繼續(xù)執(zhí)行指令從暫時中止的機器周期開始繼續(xù)執(zhí)行指令5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 5.1.1 CPU的功能的功能 總之,總之,CPU必須具有控制程序的順序執(zhí)行(稱必須具有控制程序的順序執(zhí)行(稱指令指令控制控制)、產(chǎn)生完成每條指令所需的控制命令(稱)、產(chǎn)生完成每條指令所需的控制命令(稱操操作控制作控制)、對各種操作加以時間上的控制(稱)、對各種操作加以時間上的控制(稱時間時間控制控制)、對數(shù)據(jù)進行算術(shù)運算和邏輯運
9、算()、對數(shù)據(jù)進行算術(shù)運算和邏輯運算(數(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)前指令的寄存器和和對指令進行對指令進行譯碼的部件譯碼的部件;要執(zhí)行指令,必須有一個能發(fā)出;要執(zhí)行指令,必須有一個能發(fā)出各種操作命令序列的各種操作命令序列的控制部件控制部件CU;要完成算術(shù)運算和邏輯;要完成算術(shù)運算和邏輯運算,必須有運算,
10、必須有存放操作數(shù)的寄存器存放操作數(shù)的寄存器和實現(xiàn)運算功能的部件和實現(xià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ù)雜的部分,后面將重點介紹復(fù)雜的部分,后面將重點介紹 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ù)總線控制總線地址總線5.1 CPU的功能和基本結(jié)構(gòu)的功能和基本結(jié)構(gòu) 16位微處理器8086功能結(jié)構(gòu)圖5.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ù)操作取回指令并進行指令譯碼之后,就會根據(jù)操作碼來進行指定的操作,比如取數(shù)據(jù)碼來進行指定的操作,
12、比如取數(shù)據(jù)-運算運算-符號判符號判斷斷-存儲等過程,通過數(shù)據(jù)通路可看出數(shù)據(jù)在被處存儲等過程,通過數(shù)據(jù)通路可看出數(shù)據(jù)在被處理的過程中依次經(jīng)過各種器件的次序和方向。理的過程中依次經(jīng)過各種器件的次序和方向。 不同計算機的數(shù)據(jù)通路差別很大,只有明確了機器不同計算機的數(shù)據(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、算器、控制器和寄存器等主要部件和CPU片內(nèi)總片內(nèi)總線、計算機內(nèi)部總線。在第線、計算機內(nèi)部總線。在第2章中已經(jīng)介紹了運算章中已經(jīng)介紹了運算器的功能結(jié)構(gòu),這里介紹寄存器、控制器和總線器的功能結(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)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中的寄存器用來中的寄存器用來暫時保存運算和控制過程中的暫時保存運算和控制過程中的中間結(jié)果、最終結(jié)果以及控制、狀態(tài)信息中間結(jié)果、最終結(jié)果
14、以及控制、狀態(tài)信息。寄存器。寄存器的功能十分重要,的功能十分重要,CPU對存儲器中的數(shù)據(jù)進行處理對存儲器中的數(shù)據(jù)進行處理時,往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處時,往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處理。它可分為理。它可分為通用寄存器通用寄存器和和專用寄存器專用寄存器兩大類。兩大類。 通用寄存器可用來存放原始數(shù)據(jù)和運算結(jié)果,有的通用寄存器可用來存放原始數(shù)據(jù)和運算結(jié)果,有的還可作為變址寄存器、地址指針等。比如還可作為變址寄存器、地址指針等。比如8086CPU包含包含4個個16位通用寄存器:位通用寄存器:AX、BX、CX和和DX和和4個個16位指針寄存器堆棧指針位指針寄存器堆棧指針SP、基
15、址指針、基址指針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)程序計數(shù)器(程序計數(shù)器(PC):存放正在執(zhí)行的指令地址或接著:存放正在執(zhí)行的指令地址或接著要執(zhí)行的下一條指令地址,既可能通過程序計數(shù)器加要執(zhí)行的下一條指令地址,既可能通過程序計數(shù)器加1形成形成下一條指令地址,也可能由轉(zhuǎn)移類指令形成轉(zhuǎn)移地址送到下一條指令地址,也可能由轉(zhuǎn)移類指令形成轉(zhuǎn)移地址送到程序計
16、數(shù)器,作為下一條指令地址。程序計數(shù)器,作為下一條指令地址。 (2)指令寄存器(指令寄存器(IR):存放從存儲器中取出的指令,以:存放從存儲器中取出的指令,以便在指令執(zhí)行過程中,控制完成一條指令的全部功能。便在指令執(zhí)行過程中,控制完成一條指令的全部功能。 (3)數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(DR):暫時存放由主存讀出的指令或:暫時存放由主存讀出的指令或數(shù)據(jù)字,當(dāng)向主存寫入指令或數(shù)據(jù)字時,也暫時存放在存數(shù)據(jù)字,當(dāng)向主存寫入指令或數(shù)據(jù)字時,也暫時存放在存儲器數(shù)據(jù)寄存器。儲器數(shù)據(jù)寄存器。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) 專用寄存器專用
17、寄存器是專門用來完成某一種特殊功能的寄存器:是專門用來完成某一種特殊功能的寄存器: (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)及控制CPU某些部件的行為而設(shè)置的。如某些部件的行為而設(shè)置的。如AL
18、U的運算結(jié)果是否為零,可由狀態(tài)標(biāo)志寄存器中的標(biāo)志的運算結(jié)果是否為零,可由狀態(tài)標(biāo)志寄存器中的標(biāo)志位表示。這些狀態(tài)的保存和使用為后續(xù)指令提供了方便,位表示。這些狀態(tài)的保存和使用為后續(xù)指令提供了方便,是參與控制程序的重要依據(jù)之一。后續(xù)指令可以在判斷上是參與控制程序的重要依據(jù)之一。后續(xù)指令可以在判斷上條指令運算狀態(tài)的基礎(chǔ)上實現(xiàn)程序的轉(zhuǎn)移等操作。條指令運算狀態(tài)的基礎(chǔ)上實現(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. 控制器:控制器: 控制器中除包含程序計數(shù)器、指令寄存器外,還包括:控制器中除包含程序計數(shù)器、指令寄存器外
19、,還包括:(1)指令譯碼器指令譯碼器:對指令寄存器中的操作碼進行分析解釋,:對指令寄存器中的操作碼進行分析解釋,產(chǎn)生相應(yīng)的控制信號。產(chǎn)生相應(yīng)的控制信號。(2)脈沖源及啟停線路脈沖源及啟停線路:形成有一定時序關(guān)系的操作控制信:形成有一定時序關(guān)系的操作控制信號序列。脈沖源產(chǎn)生一定頻率的脈沖信號作為整個機器的號序列。脈沖源產(chǎn)生一定頻率的脈沖信號作為整個機器的時鐘脈沖,是機器周期和工作脈沖的基準(zhǔn)信號,機器剛加時鐘脈沖,是機器周期和工作脈沖的基準(zhǔn)信號,機器剛加電時,還應(yīng)產(chǎn)生一個復(fù)位信號電時,還應(yīng)產(chǎn)生一個復(fù)位信號(reset)。啟停線路保證可靠地。啟停線路保證可靠地送出或封鎖時鐘脈沖,控制時序信號發(fā)生或停
20、止,從而啟送出或封鎖時鐘脈沖,控制時序信號發(fā)生或停止,從而啟動機器工作或使之停機。動機器工作或使之停機。(3)時序控制信號形成部件時序控制信號形成部件:當(dāng)機器啟動后,在:當(dāng)機器啟動后,在CLK時鐘作時鐘作用下,根據(jù)當(dāng)前正在執(zhí)行的指令需要,產(chǎn)生相應(yīng)時序控制用下,根據(jù)當(dāng)前正在執(zhí)行的指令需要,產(chǎn)生相應(yīng)時序控制信號,并根據(jù)被控功能部件的反饋信號調(diào)整時序控制信號。信號,并根據(jù)被控功能部件的反饋信號調(diào)整時序控制信號。 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. 總線:總線: CPU內(nèi)部各部件通過內(nèi)部各部件通過片內(nèi)總線片內(nèi)總線進行信息交換。
21、進行信息交換。 CPU和計算機內(nèi)的其他部件,如存儲器、和計算機內(nèi)的其他部件,如存儲器、IO設(shè)備,設(shè)備,通過計算機通過計算機內(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è)備有可能發(fā)送地址,也可設(shè)備有可能發(fā)送地址,也可能接收地址能接收地址
22、。 圖圖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ā)展,計算機結(jié)構(gòu)計算機結(jié)構(gòu)有了很大發(fā)展,如在有了很大發(fā)展,如在CPU中,中,往往有一個往往有一個指令預(yù)取隊列指令預(yù)取隊列,可預(yù)取出若干條指令,存放在,可預(yù)取出若干條指令,存放在由寄存器組成的隊列中,當(dāng)執(zhí)行程序需要取指令時,可從由寄存器組成的隊列中,當(dāng)執(zhí)行程序需要取指令時,可從速度比主存快得多的寄存器中得到,縮短程序運行時間。速度比主存快得多的寄存器中得到,縮短程序運行時間。為了提高速度,當(dāng)一條指令還未執(zhí)行
23、完時,就提前執(zhí)行第為了提高速度,當(dāng)一條指令還未執(zhí)行完時,就提前執(zhí)行第二條指令,這就是二條指令,這就是流水線技術(shù)流水線技術(shù)。另外。另外CPU中還應(yīng)包括中還應(yīng)包括“中中斷處理斷處理”的內(nèi)容。的內(nèi)容。 控制器在實現(xiàn)一條指令的功能時,總要把每條指令分解成控制器在實現(xiàn)一條指令的功能時,總要把每條指令分解成為一系列時間上先后有序的最基本、最簡單的微操作,即為一系列時間上先后有序的最基本、最簡單的微操作,即微操作序列微操作序列,微操作序列是與,微操作序列是與CPU的內(nèi)部數(shù)據(jù)通路密切相的內(nèi)部數(shù)據(jù)通路密切相關(guān)的,不同的數(shù)據(jù)通路就有不同的微操作序列關(guān)的,不同的數(shù)據(jù)通路就有不同的微操作序列 。 5.3 指令執(zhí)行過程
24、指令執(zhí)行過程 5.3.1 時序系統(tǒng)時序系統(tǒng) 時序系統(tǒng)的功能是為指令的執(zhí)行提供各種定時信號,時序系統(tǒng)的功能是為指令的執(zhí)行提供各種定時信號,通常由通常由周期周期(分指令周期和機器周期兩種)、(分指令周期和機器周期兩種)、節(jié)拍節(jié)拍和和工作脈沖工作脈沖組成組成 指令周期指令周期:CPU每取出并執(zhí)行一條指令,都要完成每取出并執(zhí)行一條指令,都要完成一些列的操作,這一系列的操作所需要的時間稱作一些列的操作,這一系列的操作所需要的時間稱作一個指令周期。指令周期是執(zhí)行一條指令一個指令周期。指令周期是執(zhí)行一條指令(包括取包括取指令、分析指令和執(zhí)行指令指令、分析指令和執(zhí)行指令)所需的全部時間,不所需的全部時間,不同
25、指令的指令周期是不同的同指令的指令周期是不同的 5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時序系統(tǒng)時序系統(tǒng) 機器周期機器周期:按照指令執(zhí)行的各項不同任務(wù),把一個指:按照指令執(zhí)行的各項不同任務(wù),把一個指令周期劃分成若干個時間段,每個時間段完成一個基令周期劃分成若干個時間段,每個時間段完成一個基本操作,這樣的時間段稱為機器周期。本操作,這樣的時間段稱為機器周期。 在采用混合控制方式的現(xiàn)代計算機中,一般的做法是在采用混合控制方式的現(xiàn)代計算機中,一般的做法是定義幾種基本的機器周期。例如,取指令機器周期,定義幾種基本的機器周期。例如,取指令機器周期,讀存儲器機器周期,寫存儲器機器周期和執(zhí)行運算機讀存
26、儲器機器周期,寫存儲器機器周期和執(zhí)行運算機器周期等。一個指令周期可包括不同數(shù)量、不同類型器周期等。一個指令周期可包括不同數(shù)量、不同類型的幾個機器周期,但是任何一條指令的第一個機器周的幾個機器周期,但是任何一條指令的第一個機器周期必須是取指令機器周期。期必須是取指令機器周期。 機器周期又稱作機器周期又稱作CPU周期周期,通常它是主存儲器的一個,通常它是主存儲器的一個訪問周期。在微型計算機中,訪問周期。在微型計算機中,CPU訪問主存就是一次訪問主存就是一次總線傳送,因此也稱為總線傳送,因此也稱為總線周期總線周期。 5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時序系統(tǒng)時序系統(tǒng) 節(jié)拍節(jié)拍:在每個機器
27、周期內(nèi)要執(zhí)行若干個微操作,這:在每個機器周期內(nèi)要執(zhí)行若干個微操作,這些操作可能需要分成幾步完成。應(yīng)把一個機器周期些操作可能需要分成幾步完成。應(yīng)把一個機器周期分為若干個相等的時間段,以便對應(yīng)一個機器周期分為若干個相等的時間段,以便對應(yīng)一個機器周期中規(guī)定的微操作,這樣的每個時間段都對應(yīng)一個電中規(guī)定的微操作,這樣的每個時間段都對應(yīng)一個電位信號,成為節(jié)拍電位信號。位信號,成為節(jié)拍電位信號。 “節(jié)拍節(jié)拍”是計算機操作的最小單位時間,又可稱作是計算機操作的最小單位時間,又可稱作時鐘周期時鐘周期或或T周期。周期。 節(jié)拍的寬度節(jié)拍的寬度取決于取決于CPU執(zhí)行一次微操作所需要的時執(zhí)行一次微操作所需要的時間,不同
28、的機器周期內(nèi)所包括的節(jié)拍數(shù)可以是固定間,不同的機器周期內(nèi)所包括的節(jié)拍數(shù)可以是固定不變的,也可以是可變的。不變的,也可以是可變的。5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時序系統(tǒng)時序系統(tǒng) 節(jié)拍的選取一般有如下節(jié)拍的選取一般有如下4種方法:種方法:(1) 統(tǒng)一節(jié)拍法統(tǒng)一節(jié)拍法。以最復(fù)雜指令的機器周期為標(biāo)準(zhǔn),確定節(jié)。以最復(fù)雜指令的機器周期為標(biāo)準(zhǔn),確定節(jié)拍數(shù),指令有多少微操作,機器周期就包括多少個節(jié)拍。拍數(shù),指令有多少微操作,機器周期就包括多少個節(jié)拍。節(jié)拍長度為最繁微操作所需時間。節(jié)拍長度為最繁微操作所需時間。(2)分散節(jié)拍法分散節(jié)拍法。根據(jù)每條指令的實際需要安排節(jié)拍數(shù),需。根據(jù)每條指令的實際需
29、要安排節(jié)拍數(shù),需要多少節(jié)拍,節(jié)拍發(fā)生器就發(fā)出多少節(jié)拍。要多少節(jié)拍,節(jié)拍發(fā)生器就發(fā)出多少節(jié)拍。(3)延長節(jié)拍法延長節(jié)拍法。照顧多數(shù)機器周期要求,選取適當(dāng)節(jié)拍數(shù)。照顧多數(shù)機器周期要求,選取適當(dāng)節(jié)拍數(shù)作為基本節(jié)拍,根據(jù)指令需要,每拍可適當(dāng)延長作為基本節(jié)拍,根據(jù)指令需要,每拍可適當(dāng)延長1-2拍。拍。(4)時鐘周期插入法時鐘周期插入法。在一些微型機中,時序信號中不設(shè)置。在一些微型機中,時序信號中不設(shè)置節(jié)拍,而直接使用時鐘周期信號,即一個機器周期中含有節(jié)拍,而直接使用時鐘周期信號,即一個機器周期中含有若干個時鐘周期且還可以不斷插入等待周期。若干個時鐘周期且還可以不斷插入等待周期。5.3 指令執(zhí)行過程指令執(zhí)
30、行過程 5.3.1 時序系統(tǒng)時序系統(tǒng) 工作脈沖工作脈沖:節(jié)拍電位信號提供了一項操作所需要的:節(jié)拍電位信號提供了一項操作所需要的時間分段,它是信息的載體,在數(shù)據(jù)通路傳輸中起時間分段,它是信息的載體,在數(shù)據(jù)通路傳輸中起著開門或關(guān)門的作用,但在一個節(jié)拍中,有的操作著開門或關(guān)門的作用,但在一個節(jié)拍中,有的操作還需要嚴(yán)格的定時脈沖,如將穩(wěn)定的運算結(jié)果打入還需要嚴(yán)格的定時脈沖,如將穩(wěn)定的運算結(jié)果打入寄存器、機器周期狀態(tài)切換等。所以在一個節(jié)拍之寄存器、機器周期狀態(tài)切換等。所以在一個節(jié)拍之內(nèi)往往還需要設(shè)置幾個工作脈沖,作為各種同步脈內(nèi)往往還需要設(shè)置幾個工作脈沖,作為各種同步脈沖的來源。沖的來源。 通常觸發(fā)器采
31、用電位通常觸發(fā)器采用電位-脈沖工作模式,節(jié)拍電位送脈沖工作模式,節(jié)拍電位送D觸發(fā)器的觸發(fā)器的D輸入端,工作脈沖送輸入端,工作脈沖送CP輸入端。兩者的輸入端。兩者的配合關(guān)系如圖配合關(guān)系如圖5.3所示所示 。5.3 指令執(zhí)行過程指令執(zhí)行過程 5.3.1 時序系統(tǒng)時序系統(tǒng)QQDCP邏輯電路邏輯電路信息Ti打入條件Pi節(jié)拍電位Ti工作脈沖Pi圖5-3節(jié)拍電位和工作脈沖的配合關(guān)系 5.3.2 指令的執(zhí)行過程指令的執(zhí)行過程 一條指令運行過程可一條指令運行過程可分為分為3個階段個階段:取指令階段、分析指令:取指令階段、分析指令階段和執(zhí)行指令階段階段和執(zhí)行指令階段 取指令階段取指令階段:取指令階段的任務(wù)是將現(xiàn)
32、行指令從存儲器中:取指令階段的任務(wù)是將現(xiàn)行指令從存儲器中取出來并送至指令寄存器中去。具體操作如下:取出來并送至指令寄存器中去。具體操作如下: (1)將程序計數(shù)器()將程序計數(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); (4)將)將MDR的內(nèi)容送至指令寄存器的內(nèi)容送至指令寄存器(IR)中
33、;中; (5)將)將PC的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備。的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備。 以上這些操作對任何一條指令來說都是必須要執(zhí)行的操作,以上這些操作對任何一條指令來說都是必須要執(zhí)行的操作,所以稱為公共操作所以稱為公共操作 。 5.3.2 指令的執(zhí)行過程指令的執(zhí)行過程 分析指令階段分析指令階段:取出指令后,指令譯碼器:取出指令后,指令譯碼器(ID)可識可識別和區(qū)分出不同的指令類型。此時計算機進入分析別和區(qū)分出不同的指令類型。此時計算機進入分析取數(shù)階段,以獲取操作數(shù)。由于各條指令功能不同,取數(shù)階段,以獲取操作數(shù)。由于各條指令功能不同,尋址方式也不同,所以分析取數(shù)階段的操作是各不尋址方
34、式也不同,所以分析取數(shù)階段的操作是各不相同的相同的 。 指令執(zhí)行階段指令執(zhí)行階段:執(zhí)行階段完成指令規(guī)定的各種操作,:執(zhí)行階段完成指令規(guī)定的各種操作,形成穩(wěn)定的運算結(jié)果,并將其存儲起來。形成穩(wěn)定的運算結(jié)果,并將其存儲起來。 計算機的基本工作過程計算機的基本工作過程就是取指令、分析取數(shù)、執(zhí)就是取指令、分析取數(shù)、執(zhí)行指令,然后再取下一條指令,如此周而復(fù)始,直行指令,然后再取下一條指令,如此周而復(fù)始,直至遇到停機指令或外來的干預(yù)為止至遇到停機指令或外來的干預(yù)為止 。5.3.3. 指令執(zhí)行過程舉例指令執(zhí)行過程舉例 首先將圖首先將圖5-2給出的給出的CPU基本結(jié)構(gòu)具體化,列出相基本結(jié)構(gòu)具體化,列出相應(yīng)的控
35、制信號,圖應(yīng)的控制信號,圖5-4是對應(yīng)的是對應(yīng)的CPU邏輯框圖邏輯框圖 。 在圖在圖5.4中中ALU可以進行加、減、邏輯加、邏輯乘可以進行加、減、邏輯加、邏輯乘四種運算。圖中的控制信號用符號四種運算。圖中的控制信號用符號1,2,3,表示,表示,其意義見表其意義見表5.1。圖圖5.4 CPU邏輯框圖邏輯框圖表表5.1 控制信號一覽表控制信號一覽表序號序號控制信號控制信號功能功能序號序號控制信號控制信號功能功能1PCAB指令地址送地址總線指令地址送地址總線13+ALU進行加法運算進行加法運算2ALUPC轉(zhuǎn)移地址送轉(zhuǎn)移地址送PC14-ALU進行減法運算進行減法運算3PC+1程序計數(shù)器加程序計數(shù)器加1
36、15ALU進行邏輯乘運算進行邏輯乘運算4imm(disp)ALU立即數(shù)或位移量送立即數(shù)或位移量送ALU16ALU進行邏輯加運算進行邏輯加運算5DBIR取指到指令寄存器取指到指令寄存器17ALUGRALU運算結(jié)果送通用寄存器運算結(jié)果送通用寄存器6DBDR數(shù)據(jù)總線上的數(shù)據(jù)送數(shù)據(jù)數(shù)據(jù)總線上的數(shù)據(jù)送數(shù)據(jù)寄存器寄存器18ALUDRALU運算結(jié)果送數(shù)據(jù)寄存器運算結(jié)果送數(shù)據(jù)寄存器7DRDB數(shù)據(jù)寄存器中的數(shù)據(jù)送數(shù)數(shù)據(jù)寄存器中的數(shù)據(jù)送數(shù)據(jù)總線據(jù)總線19ALUARALU計算得的有效地址送地計算得的有效地址送地址寄存器址寄存器8rs1GR寄存器地址送通用寄存器寄存器地址送通用寄存器20ARAB地址寄存器內(nèi)容送地址總
37、線地址寄存器內(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)容送ALU5.3.3. 指令執(zhí)行過程舉例指令執(zhí)行過程舉例1. 加法指令的執(zhí)行過程加法指令的執(zhí)行過程 假設(shè)假設(shè)CPU的邏輯框圖如圖的邏輯框圖如圖5.4所示。所示。 運算器由運算器由8個通用寄存器個通用寄存器GR及及1個算邏運算部件個算邏運算部件ALU組成,并有組成,
38、并有4個記憶運算結(jié)果狀態(tài)的個記憶運算結(jié)果狀態(tài)的標(biāo)志觸發(fā)標(biāo)志觸發(fā)器器N,Z,V和和C。 N(負(fù)數(shù)負(fù)數(shù)):當(dāng)運算結(jié)果為負(fù)數(shù)時,當(dāng)運算結(jié)果為負(fù)數(shù)時,N=1,否則,否則N=0; Z(零零): 當(dāng)運算結(jié)果為零時,當(dāng)運算結(jié)果為零時,Z1,否則,否則Z0; V(溢出溢出):當(dāng)運算結(jié)果溢出時,當(dāng)運算結(jié)果溢出時,V1,否則,否則V0; C(進位進位): 當(dāng)加法運算產(chǎn)生進位信號或減法運算產(chǎn)生當(dāng)加法運算產(chǎn)生進位信號或減法運算產(chǎn)生借位信號時,借位信號時,C1,否則,否則C0。設(shè)指令格式設(shè)指令格式:rs,rd,rs1為通用寄存器地址;為通用寄存器地址;imm(或或disp)為立即數(shù)為立即數(shù)(或位移量或位移量)。加法指令
39、功能:將寄存器加法指令功能:將寄存器(rs)中的一個數(shù)與存儲器中中的一個數(shù)與存儲器中的一個數(shù)的一個數(shù)(其地址為其地址為(rs1)+disp)相加,結(jié)果放在寄存相加,結(jié)果放在寄存器器rd中,中,rs與與rd為同一寄存器。即為同一寄存器。即 (rs)+(rs1)+disp rs操作碼rs, rdrs1imm(或 disp) 加法指令完成以下操作加法指令完成以下操作 從存儲器取指令,送入指令寄存器,并進行操作碼譯碼從存儲器取指令,送入指令寄存器,并進行操作碼譯碼(分析指令分析指令)。 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: PC AB, W/R=0, M/IO=1; DB IR; PC+1;
40、ADS=1 計算數(shù)據(jù)地址,將計算得到的有效地址送地址寄存器計算數(shù)據(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 進行加法運算,結(jié)果送寄存器,根據(jù)運算結(jié)果置狀態(tài)位進行加法運算,結(jié)果送寄存器,根據(jù)運算結(jié)果置狀態(tài)位 控制器應(yīng)發(fā)出的信號有:控制器應(yīng)發(fā)出的信號有: rs GR, (rs) ALU, DR ALU, “+”, rd GR
41、, ALU rd 以上操作需要四個機器周期,其時間安排如下以上操作需要四個機器周期,其時間安排如下 : 其中取指令和取數(shù)周期通過總線訪問存儲器;計算地址和其中取指令和取數(shù)周期通過總線訪問存儲器;計算地址和運算送結(jié)果周期在運算送結(jié)果周期在CPU內(nèi)部進行操作,此時總線空閑。內(nèi)部進行操作,此時總線空閑。 CPU內(nèi)部的寄存器,如程序計數(shù)器內(nèi)部的寄存器,如程序計數(shù)器(PC)、指令寄存器、指令寄存器(IR)、通用寄存器通用寄存器(GR)等都是在一個周期的末尾接受信息的,即等都是在一個周期的末尾接受信息的,即在在T2時,利用時,利用CLK時鐘的下降沿打入寄存器。大部分計算時鐘的下降沿打入寄存器。大部分計算機
42、機CPU中的觸發(fā)器、寄存器都是利用與時鐘同步的脈沖打中的觸發(fā)器、寄存器都是利用與時鐘同步的脈沖打入的。入的。 加法指令時序圖見下頁。加法指令時序圖見下頁。t4取指令計算地址取數(shù)運算送結(jié)果0t1t2t3 加法指令加法指令時序圖時序圖 (2) 轉(zhuǎn)移指令的執(zhí)行過程轉(zhuǎn)移指令的執(zhí)行過程 指令功能:指令功能:根據(jù)運算結(jié)果,決定是否轉(zhuǎn)移。如轉(zhuǎn)移條根據(jù)運算結(jié)果,決定是否轉(zhuǎn)移。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序執(zhí)行下一條指令。執(zhí)行下一條指令。 本條指令完成以下操作本條指令完成以下操作: 從存儲器從存儲器取指令取指令,送入指令寄存器,并進行操作碼,
43、送入指令寄存器,并進行操作碼譯碼。譯碼。 如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式計算有計算有效地址效地址,轉(zhuǎn)移指令經(jīng)常采用,轉(zhuǎn)移指令經(jīng)常采用相對尋址相對尋址方式,轉(zhuǎn)移地址方式,轉(zhuǎn)移地址(PC)+disp。 PC是指本條指令地址,而在上一機器是指本條指令地址,而在上一機器周期已執(zhí)行周期已執(zhí)行(PC)+1操作,計算時應(yīng)取原操作,計算時應(yīng)取原PC值,或?qū)\值,或?qū)\算進行修正。最后將轉(zhuǎn)移地址送算進行修正。最后將轉(zhuǎn)移地址送PC。 本條指令只需兩個機器周期,如轉(zhuǎn)移條件成立,本條指令只需兩個機器周期,如轉(zhuǎn)移條件成立,在第二機器周期增加一個在第二機器周期增加一個ALUP
44、C信號;如為信號;如為相對轉(zhuǎn)移,則用相對轉(zhuǎn)移,則用PCALU信號取代加法指令第信號取代加法指令第二周期中的二周期中的(rs1)ALU信號,其他信號與加法信號,其他信號與加法指令的前兩個機器周期中的信號相同。指令的前兩個機器周期中的信號相同。 某些計算機對條件轉(zhuǎn)移指令的功能規(guī)定:先進某些計算機對條件轉(zhuǎn)移指令的功能規(guī)定:先進行比較運算,根據(jù)運算行比較運算,根據(jù)運算(比較比較)結(jié)果置條件碼,結(jié)果置條件碼,并根據(jù)條件碼決定是否轉(zhuǎn)移。要完成這樣的功并根據(jù)條件碼決定是否轉(zhuǎn)移。要完成這樣的功能顯然要增加周期數(shù)。能顯然要增加周期數(shù)。 其他指令其他指令的控制信號也按同樣方法分析,根據(jù)的控制信號也按同樣方法分析,
45、根據(jù)每條指令的功能確定所需機器周期數(shù),得出每每條指令的功能確定所需機器周期數(shù),得出每個機器周期所需的控制信號,最后將所有控制個機器周期所需的控制信號,最后將所有控制信號進行綜合化簡。信號進行綜合化簡。 控制器的功能就是按每條指令的要求產(chǎn)生所需的控控制器的功能就是按每條指令的要求產(chǎn)生所需的控制信號。因此在設(shè)計控制器時要求系統(tǒng)設(shè)計師提供制信號。因此在設(shè)計控制器時要求系統(tǒng)設(shè)計師提供一個完整的無二義性的指令系統(tǒng)說明書。一個完整的無二義性的指令系統(tǒng)說明書。 到此為止,只講到到此為止,只講到為什么需要控制信號及需要什么為什么需要控制信號及需要什么樣的控制信號樣的控制信號,下一節(jié)下一節(jié)將說明將說明如何產(chǎn)生控
46、制信號如何產(chǎn)生控制信號。 產(chǎn)生控制信號一般有產(chǎn)生控制信號一般有微程序控制微程序控制和和硬布線控制硬布線控制兩種兩種方法方法 。5.4 控制器的功能和工作原理控制器的功能和工作原理 計算機各個部件所需要的微操作控制信號均由控制計算機各個部件所需要的微操作控制信號均由控制器的器的“時序控制信號形成部件時序控制信號形成部件”根據(jù)指令的要求來根據(jù)指令的要求來產(chǎn)生。產(chǎn)生。 “時序控制信號形成部件時序控制信號形成部件”的實現(xiàn)一般由兩種方式,的實現(xiàn)一般由兩種方式,一是采用一是采用組合邏輯組合邏輯來實現(xiàn),即來實現(xiàn),即 “硬布線控制器硬布線控制器”,二是采用二是采用存儲邏輯存儲邏輯來實現(xiàn),即來實現(xiàn),即 “微程序
47、控制器微程序控制器”。 本節(jié)將介紹這兩種控制器的組成和工作原理。本節(jié)將介紹這兩種控制器的組成和工作原理。5.4.1 硬布線控制器硬布線控制器 在硬布線控制器中,由于時序控制信號是通過邏在硬布線控制器中,由于時序控制信號是通過邏輯電路直接連線而產(chǎn)生的,所以又稱為輯電路直接連線而產(chǎn)生的,所以又稱為組合邏輯組合邏輯控制方式控制方式。 至于控制器的其他組成部分,諸如時鐘、啟停電至于控制器的其他組成部分,諸如時鐘、啟停電路、程序計數(shù)器、指令寄存器以及電路配合問題路、程序計數(shù)器、指令寄存器以及電路配合問題等,則不因控制方式而異。等,則不因控制方式而異。 不同計算機(即使是同一系列的計算機)之間控不同計算機
48、(即使是同一系列的計算機)之間控制器的具體組成及控制信號的時序等差別是很大制器的具體組成及控制信號的時序等差別是很大的,這主要取決于設(shè)計技巧以及所選用器件等因的,這主要取決于設(shè)計技巧以及所選用器件等因素,它們的基本原理是相同的素,它們的基本原理是相同的 。5.4.1 硬布線控制器硬布線控制器 1. 時序系統(tǒng)時序系統(tǒng) 一條指令的實現(xiàn)可分成取指、計算地址、取數(shù)及執(zhí)行等步驟。一條指令的實現(xiàn)可分成取指、計算地址、取數(shù)及執(zhí)行等步驟。在硬布線控制器中,由指令的在硬布線控制器中,由指令的操作碼操作碼直接控制并產(chǎn)生實現(xiàn)上直接控制并產(chǎn)生實現(xiàn)上述各步驟所需的控制信號。述各步驟所需的控制信號。 時序系統(tǒng)的功能時序系
49、統(tǒng)的功能就是要產(chǎn)生指令系統(tǒng)的全部指令的各種機器就是要產(chǎn)生指令系統(tǒng)的全部指令的各種機器周期信號和節(jié)拍信號周期信號和節(jié)拍信號 。 大部分情況下,指令執(zhí)行每一步由一個機器周期實現(xiàn),機器大部分情況下,指令執(zhí)行每一步由一個機器周期實現(xiàn),機器周期信號一般可采用周期信號一般可采用計數(shù)器輸出譯碼方式計數(shù)器輸出譯碼方式,例如可用兩位計,例如可用兩位計數(shù)器的譯碼輸出來產(chǎn)生四個周期信號,如圖數(shù)器的譯碼輸出來產(chǎn)生四個周期信號,如圖5.6所示。所示。圖5.6 用計數(shù)器、譯碼器 形成機器周期信號cy1 cy2 cy3 cy4譯碼器cyAcyB計數(shù)器5.4.1 硬布線控制器硬布線控制器 1. 時序系統(tǒng)時序系統(tǒng) 由于每條指令
50、功能不同,所以所需機器周期數(shù)可能不相同,由于每條指令功能不同,所以所需機器周期數(shù)可能不相同,因此某些指令可能缺少某個周期(例如轉(zhuǎn)移指令),而有些因此某些指令可能缺少某個周期(例如轉(zhuǎn)移指令),而有些復(fù)雜指令的某個周期則需要延長(例如乘法指令的執(zhí)行周復(fù)雜指令的某個周期則需要延長(例如乘法指令的執(zhí)行周期),從而使得上述計數(shù)器或移位寄存器的工作時序發(fā)生變期),從而使得上述計數(shù)器或移位寄存器的工作時序發(fā)生變化,其變化規(guī)律與指令有關(guān)?;?,其變化規(guī)律與指令有關(guān)。 例如,執(zhí)行例如,執(zhí)行A指令時需要四個機器周期,因此計數(shù)器的變化指令時需要四個機器周期,因此計數(shù)器的變化規(guī)律是規(guī)律是00011011;而執(zhí)行;而執(zhí)行
51、B指令時僅需要三個機器周指令時僅需要三個機器周期(例如不用計算地址期(例如不用計算地址),則計數(shù)器的變化規(guī)律為,則計數(shù)器的變化規(guī)律為001011,據(jù)此可列出真值表(表據(jù)此可列出真值表(表5.2)。 表表5.2中中cyA,cyB表示當(dāng)前周期的計數(shù)器狀態(tài),表示當(dāng)前周期的計數(shù)器狀態(tài),cyA,cyB表表示下一周期計數(shù)器狀態(tài)示下一周期計數(shù)器狀態(tài) A指令B指令cyA cyBcyA cyBcyA cyBcyA cyB0 00 10 01 00 11 01 01 11 01 11 10 01 10 0表5.2 計數(shù)器狀態(tài)變化A指令表達(dá)式為 B指令表達(dá)式為 cyAcyA cyBcyA cyB cyBcyA cy
52、BcyA cyBcyB cyAcyA cyBcyA cyBcyB cyBcyA cyB 5.4.1 硬布線控制器硬布線控制器 1. 時序系統(tǒng)時序系統(tǒng) 由表達(dá)式得出時序計數(shù)器邏輯圖由表達(dá)式得出時序計數(shù)器邏輯圖5.7,圖,圖5.7為僅有兩條指令的為僅有兩條指令的邏輯圖,實際機器有幾十條到幾百條指令,根據(jù)指令功能列邏輯圖,實際機器有幾十條到幾百條指令,根據(jù)指令功能列出每條指令的機器周期變化規(guī)律,最后歸納出幾種情況,將出每條指令的機器周期變化規(guī)律,最后歸納出幾種情況,將情況相同的指令歸為一類,然后列出表達(dá)式,畫出邏輯圖。情況相同的指令歸為一類,然后列出表達(dá)式,畫出邏輯圖。B指令圖5.7 時序計數(shù)器邏輯
53、圖R cyAR cyB1 1&resetCPcyAcyBcyBcyAA指令A(yù)指令B指令cyAcyBcyBcyB5.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 圖圖5.8是硬布線控制器框圖,由硬布線邏輯是硬布線控制器框圖,由硬布線邏輯(組合邏輯組合邏輯)部件產(chǎn)部件產(chǎn)生全機所需的操作命令生全機所需的操作命令(包括控制電位與打入脈沖包括控制電位與打入脈沖) 。圖5.8 硬布線控制器組成框圖操作碼程序計數(shù)器指令寄存器IR譯碼器硬布線邏輯(組合邏輯)操作控制信號地址碼 中斷控制邏輯中斷信號轉(zhuǎn)移地址+1reset機器周期狀態(tài)節(jié)拍及工作脈沖啟停電路脈沖源cy1 cy
54、2 cy3 cy4T1 T2 CPCLKCLK5.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 時序系統(tǒng):時序系統(tǒng):用來產(chǎn)生指令系統(tǒng)的全部指令的各種機器周期信用來產(chǎn)生指令系統(tǒng)的全部指令的各種機器周期信號和節(jié)拍信號。由脈沖源、啟停電路、節(jié)拍與工作脈沖、機號和節(jié)拍信號。由脈沖源、啟停電路、節(jié)拍與工作脈沖、機器周期狀態(tài)等硬件電路組成。器周期狀態(tài)等硬件電路組成。 程序計數(shù)器和中斷控制邏輯:程序計數(shù)器和中斷控制邏輯:程序計數(shù)器的輸入有四種來源:程序計數(shù)器的輸入有四種來源:開機后的開機后的reset信號,將信號,將PC置以初始地址;當(dāng)順序執(zhí)行指令時,置以初始地址;當(dāng)順序執(zhí)行
55、指令時,由由PC+1形成下條指令地址;當(dāng)程序轉(zhuǎn)移時,由形成下條指令地址;當(dāng)程序轉(zhuǎn)移時,由ALU送來轉(zhuǎn)移送來轉(zhuǎn)移地址地址(通過通過ALU部件計算有效地址部件計算有效地址);當(dāng)有外來中斷請求信號;當(dāng)有外來中斷請求信號時,若時,若CPU響應(yīng)中斷,則由中斷控制邏輯部件產(chǎn)生中斷入口響應(yīng)中斷,則由中斷控制邏輯部件產(chǎn)生中斷入口地址。有的計算機中斷入口地址僅有一個,而有的計算機,地址。有的計算機中斷入口地址僅有一個,而有的計算機,根據(jù)不同的中斷來源,進入不同的中斷處理程序入口,進行根據(jù)不同的中斷來源,進入不同的中斷處理程序入口,進行相應(yīng)的處理,稱為向量中斷。在僅有一個中斷入口地址的情相應(yīng)的處理,稱為向量中斷。
56、在僅有一個中斷入口地址的情況下,況下,CPU響應(yīng)中斷后,首先要查到中斷源,以確定是哪個響應(yīng)中斷后,首先要查到中斷源,以確定是哪個I/O設(shè)備要進行處理,是輸入、輸出還是故障等,然后才能進設(shè)備要進行處理,是輸入、輸出還是故障等,然后才能進入相應(yīng)中斷處理程序進行處理,而當(dāng)具有向量中斷功能時,入相應(yīng)中斷處理程序進行處理,而當(dāng)具有向量中斷功能時,直接進入中斷處理程序,加快了響應(yīng)時間。直接進入中斷處理程序,加快了響應(yīng)時間。5.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 指令寄存器:指令寄存器:用來存放從存儲器中取出的指令,以便在指令用來存放從存儲器中取出的指令,以便在指令
57、執(zhí)行過程中,控制完成一條指令的全部功能。指令寄存器包執(zhí)行過程中,控制完成一條指令的全部功能。指令寄存器包括操作碼和地址碼兩部分括操作碼和地址碼兩部分 。 譯碼器:譯碼器:各條指令所需實現(xiàn)的操作隨指令而異。如操作碼為各條指令所需實現(xiàn)的操作隨指令而異。如操作碼為7位,則允許計算機最多設(shè)置位,則允許計算機最多設(shè)置128條指令,譯碼器的最基本形式條指令,譯碼器的最基本形式為:以為:以7位操作碼為輸入,在輸出的位操作碼為輸入,在輸出的128條線中,在任何時候條線中,在任何時候只有只有1根為高電位,其余均為低電位根為高電位,其余均為低電位(或只有或只有1根為低電位,其根為低電位,其余均為高電位余均為高電位
58、),每,每1根輸出線代表一條指令,因此譯碼器的根輸出線代表一條指令,因此譯碼器的輸出可以反映出當(dāng)前正在執(zhí)行的指令。同種類型指令所需的輸出可以反映出當(dāng)前正在執(zhí)行的指令。同種類型指令所需的控制信號大部分是相同的,在設(shè)計指令系統(tǒng)操作碼時,應(yīng)特控制信號大部分是相同的,在設(shè)計指令系統(tǒng)操作碼時,應(yīng)特別關(guān)注,譯碼器的輸出信號中,還增加有關(guān)指令類型的信號別關(guān)注,譯碼器的輸出信號中,還增加有關(guān)指令類型的信號(如算邏類指令、轉(zhuǎn)移類指令等如算邏類指令、轉(zhuǎn)移類指令等) 5.4.1 硬布線控制器硬布線控制器 2. 硬布線控制器的組成硬布線控制器的組成 硬布線邏輯:硬布線邏輯:當(dāng)機器啟動后,由譯碼器輸出和機器當(dāng)機器啟動后
59、,由譯碼器輸出和機器周期狀態(tài)周期狀態(tài)cy1cy4作為輸入,硬布線邏輯(組合邏作為輸入,硬布線邏輯(組合邏輯)根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的輯)根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的操作控制信號。操作控制信號。 在分析一臺具體計算機的控制器時,可以發(fā)現(xiàn)譯碼在分析一臺具體計算機的控制器時,可以發(fā)現(xiàn)譯碼器與硬布線邏輯的分界線往往是模糊的,這是因為器與硬布線邏輯的分界線往往是模糊的,這是因為兩者都是由最基本的門電路組成的。實際上為簡化兩者都是由最基本的門電路組成的。實際上為簡化邏輯,譯碼器與組合邏輯是結(jié)合在一起設(shè)計的。邏輯,譯碼器與組合邏輯是結(jié)合在一起設(shè)計的。 5.4.1 硬布線控制器硬布
60、線控制器 2. 硬布線控制器的組成硬布線控制器的組成 以加法指令為例,假設(shè)一條加法指令的功能由四個以加法指令為例,假設(shè)一條加法指令的功能由四個機器周期機器周期cy1cy4完成的,分別是取指、計算有效地完成的,分別是取指、計算有效地址、取操作數(shù)、進行加法運算并送結(jié)果。址、取操作數(shù)、進行加法運算并送結(jié)果。 機器邏輯圖仍如圖機器邏輯圖仍如圖5.4所示,所以完成一條指令的操所示,所以完成一條指令的操作所需的操作信號仍如前所示。在取指周期要完成作所需的操作信號仍如前所示。在取指周期要完成從存儲器取出指令送指令寄存器以及將指令計數(shù)器從存儲器取出指令送指令寄存器以及將指令計數(shù)器加加1,為取下一條指令做好準(zhǔn)備。,為取下一條指令做好準(zhǔn)備。
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)電工程管理培訓(xùn)課件
- 風(fēng)電工程培訓(xùn)課件
- 血尿手術(shù)患者護理常規(guī)
- 宮腹腔鏡護理常規(guī)
- 頤和園介紹教學(xué)課件
- 幼兒園常規(guī)教育我愛喝水
- 垃圾分類與中班健康教育
- 《網(wǎng)頁設(shè)計與制作》課件-第6章Flash動畫制作
- 預(yù)防艾滋病的課件
- 預(yù)防校園主題班會課件
- 《思想道德與法治》學(xué)習(xí)通課后章節(jié)答案期末考試題庫2025年
- 清廉講堂活動方案
- 家居落地活動方案
- 2025年醫(yī)保知識考試題庫及答案:醫(yī)保信息化建設(shè)應(yīng)用法律法規(guī)試題
- 環(huán)境現(xiàn)場采樣培訓(xùn)
- 2025年 汕頭市公安局警務(wù)輔助人員招聘考試筆試試卷附答案
- 車輛傷害事故桌面功能演練方案、腳本
- XX公司年產(chǎn)10萬噸陽極銅及5萬噸銅桿項目環(huán)境影響報告書
- 陜西省專業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會精神解讀與高質(zhì)量發(fā)展》20學(xué)時題庫及答案
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級下學(xué)期期末試卷(含答案)
- 環(huán)保設(shè)施安全風(fēng)險評估報告
評論
0/150
提交評論