版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5 5章章 中央處理器中央處理器本章內(nèi)容:本章內(nèi)容:vCPUCPU的組成和功能的組成和功能v指令周期指令周期v時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式v微程序控制器微程序控制器v微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù)v硬布線控制器硬布線控制器v傳統(tǒng)和現(xiàn)代傳統(tǒng)和現(xiàn)代CPUCPU介紹介紹5.1 CPU的功能和組成的功能和組成vCPUCPU的功能的功能 程序是存放在內(nèi)存儲(chǔ)器中能夠解決某個(gè)問(wèn)題的一組指令序程序是存放在內(nèi)存儲(chǔ)器中能夠解決某個(gè)問(wèn)題的一組指令序列,計(jì)算機(jī)中能夠完成列,計(jì)算機(jī)中能夠完成自動(dòng)自動(dòng)取出指令取出指令并并執(zhí)行指令執(zhí)行指令的部件稱為的部件稱為中中央處理器央處理器,簡(jiǎn)稱,簡(jiǎn)稱CPUCPU。CPU
2、CPU有如下基本功能:有如下基本功能: 指令控制:保證機(jī)器按順序執(zhí)行程序指令控制:保證機(jī)器按順序執(zhí)行程序 操作控制:操作控制:把指令的各種操作信號(hào)送往相應(yīng)的部件,從而把指令的各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。控制這些部件按指令的要求進(jìn)行動(dòng)作。 時(shí)間控制:保證指令的各種操作信號(hào)按照嚴(yán)格的時(shí)序關(guān)系時(shí)間控制:保證指令的各種操作信號(hào)按照嚴(yán)格的時(shí)序關(guān)系送往相應(yīng)的部件,送往相應(yīng)的部件, 使計(jì)算機(jī)有條不紊的按序工作。使計(jì)算機(jī)有條不紊的按序工作。 數(shù)據(jù)加工:數(shù)據(jù)加工:數(shù)據(jù)加工就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算數(shù)據(jù)加工就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理,這是處理,這是CPUCPU
3、的基本功能。的基本功能。 vCPUCPU的基本組成的基本組成傳統(tǒng)傳統(tǒng)CPUCPU基本組成:運(yùn)算器、控制器。基本組成:運(yùn)算器、控制器。( (在諾曼機(jī)的定義中在諾曼機(jī)的定義中) ) 現(xiàn)代現(xiàn)代CPUCPU基本組成:運(yùn)算器、控制器、浮點(diǎn)運(yùn)算器和基本組成:運(yùn)算器、控制器、浮點(diǎn)運(yùn)算器和CacheCache。 控制器的組成:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、控制器的組成:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器。時(shí)序產(chǎn)生器和操作控制器。 控制器的主要功能:控制器的主要功能: 1)1)從內(nèi)存中取出指令,并指出下一條指令在內(nèi)存中的位置。從內(nèi)存中取出指令,并指出下一條指令在內(nèi)存中的位置。 2)
4、2)對(duì)指令進(jìn)行譯碼并產(chǎn)生相應(yīng)的控制信號(hào)啟動(dòng)規(guī)定的動(dòng)作。對(duì)指令進(jìn)行譯碼并產(chǎn)生相應(yīng)的控制信號(hào)啟動(dòng)規(guī)定的動(dòng)作。 3)3)控制控制CPUCPU與內(nèi)存或與內(nèi)存或CPUCPU與輸入與輸入/ /輸出設(shè)備之間數(shù)據(jù)傳遞。輸出設(shè)備之間數(shù)據(jù)傳遞。 運(yùn)算器的組成:算術(shù)邏輯單元運(yùn)算器的組成:算術(shù)邏輯單元(ALU)(ALU)、通用寄存器、數(shù)據(jù)緩、通用寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)寄存器。沖寄存器和狀態(tài)寄存器。 運(yùn)算器的主要功能:運(yùn)算器的主要功能:1)1)執(zhí)行所有的算術(shù)運(yùn)算。執(zhí)行所有的算術(shù)運(yùn)算。2)2)執(zhí)行所有的邏輯運(yùn)算。執(zhí)行所有的邏輯運(yùn)算。vCPUCPU內(nèi)部的主要寄存器內(nèi)部的主要寄存器程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC用來(lái)確定下
5、一條待執(zhí)行的用來(lái)確定下一條待執(zhí)行的指令在指令存儲(chǔ)器中的地址,順序?qū)ぶ分噶钤谥噶畲鎯?chǔ)器中的地址,順序?qū)ぶ稰C+1-PCPC+1-PC;跳躍尋址將指令中的地址碼;跳躍尋址將指令中的地址碼裝入。裝入。數(shù)據(jù)緩沖寄存器用來(lái)暫存數(shù)據(jù)緩沖寄存器用來(lái)暫存ALU的運(yùn)算結(jié)的運(yùn)算結(jié)果或者由內(nèi)存讀出或者向內(nèi)存寫(xiě)入的數(shù)果或者由內(nèi)存讀出或者向內(nèi)存寫(xiě)入的數(shù)據(jù)或者指令據(jù)或者指令狀態(tài)寄存器用來(lái)保存上次算術(shù)或邏輯結(jié)狀態(tài)寄存器用來(lái)保存上次算術(shù)或邏輯結(jié)果的某些特性,例如運(yùn)算結(jié)果是否有進(jìn)果的某些特性,例如運(yùn)算結(jié)果是否有進(jìn)位、運(yùn)算結(jié)果是否溢出等。位、運(yùn)算結(jié)果是否溢出等。指令譯碼器對(duì)指令的操作碼進(jìn)行測(cè)試,指令譯碼器對(duì)指令的操作碼進(jìn)行測(cè)試,
6、向操作控制器發(fā)送具體操作的信號(hào)。向操作控制器發(fā)送具體操作的信號(hào)。通用寄存器組,暫存參加運(yùn)算的操作數(shù)通用寄存器組,暫存參加運(yùn)算的操作數(shù)或運(yùn)算結(jié)果,為或運(yùn)算結(jié)果,為ALUALU提供工作區(qū)。目前提供工作區(qū)。目前的的CPUCPU中有中有1616個(gè)、個(gè)、3232個(gè)或者更多的累加個(gè)或者更多的累加寄存器構(gòu)成通用寄存器組。寄存器構(gòu)成通用寄存器組??刂破骺刂破鬟\(yùn)算器運(yùn)算器數(shù)據(jù)地址寄存器用來(lái)保存數(shù)據(jù)地址寄存器用來(lái)保存CPU所訪問(wèn)的所訪問(wèn)的數(shù)據(jù)存儲(chǔ)器單元的地址,在數(shù)據(jù)存儲(chǔ)器單元的地址,在CPU讀寫(xiě)數(shù)讀寫(xiě)數(shù)據(jù)存儲(chǔ)器的期間驅(qū)動(dòng)數(shù)據(jù)地址總線上的據(jù)存儲(chǔ)器的期間驅(qū)動(dòng)數(shù)據(jù)地址總線上的地址信息。地址信息。Cache指令寄存器保存
7、當(dāng)前執(zhí)行的指令,是指指令寄存器保存當(dāng)前執(zhí)行的指令,是指令譯碼器的輸入。令譯碼器的輸入。CPU取指時(shí)通過(guò)指令取指時(shí)通過(guò)指令總線將指令送指令寄存器。總線將指令送指令寄存器。v操作控制器與時(shí)序產(chǎn)生器操作控制器與時(shí)序產(chǎn)生器 在在CPU中有很多寄存器,信息從什么地方開(kāi)始,中間經(jīng)過(guò)中有很多寄存器,信息從什么地方開(kāi)始,中間經(jīng)過(guò)哪個(gè)寄存器,最后傳送到哪個(gè)寄存器,都要加以控制。在各寄哪個(gè)寄存器,最后傳送到哪個(gè)寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),這是由稱為存器之間建立數(shù)據(jù)通路的任務(wù),這是由稱為操作控制器操作控制器的部件的部件來(lái)完成的。來(lái)完成的。操作控制器的功能:根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各
8、種操操作控制器的功能:根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行作控制號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。指令的控制。 根據(jù)設(shè)計(jì)方法不同,操作控制器可分為:根據(jù)設(shè)計(jì)方法不同,操作控制器可分為:1)1)采用時(shí)序邏輯技術(shù)實(shí)現(xiàn)的采用時(shí)序邏輯技術(shù)實(shí)現(xiàn)的硬布線控制器硬布線控制器 2)2)采用存儲(chǔ)邏輯實(shí)現(xiàn)的采用存儲(chǔ)邏輯實(shí)現(xiàn)的微程序控制器微程序控制器3)3)前兩種方式的組合的控制器前兩種方式的組合的控制器操作控制器對(duì)各部件產(chǎn)生的控制信號(hào)必須嚴(yán)格遵守時(shí)序關(guān)操作控制器對(duì)各部件產(chǎn)生的控制信號(hào)必須嚴(yán)格遵守時(shí)序關(guān)系,這是由系,這是由時(shí)序產(chǎn)生器時(shí)序
9、產(chǎn)生器的部件完成的。的部件完成的。時(shí)序產(chǎn)生器的功能:對(duì)各種操作實(shí)施時(shí)間上的限制。時(shí)序產(chǎn)生器的功能:對(duì)各種操作實(shí)施時(shí)間上的限制。5.2 指令周期指令周期 CPU從內(nèi)存取出一條指令并執(zhí)行該指令;緊接著又是取指從內(nèi)存取出一條指令并執(zhí)行該指令;緊接著又是取指令,執(zhí)行指令令,執(zhí)行指令,如此周而復(fù)始構(gòu)成了一個(gè)封閉的循環(huán)。除,如此周而復(fù)始構(gòu)成了一個(gè)封閉的循環(huán)。除非遇到停機(jī)指令,否則這個(gè)循環(huán)將一直繼續(xù)下去,所以計(jì)算機(jī)非遇到停機(jī)指令,否則這個(gè)循環(huán)將一直繼續(xù)下去,所以計(jì)算機(jī)能夠自動(dòng)的工作下去。能夠自動(dòng)的工作下去。開(kāi)始開(kāi)始取指令取指令執(zhí)行指令執(zhí)行指令 指令和數(shù)據(jù)都以二進(jìn)制的指令和數(shù)據(jù)都以二進(jìn)制的形式存放在內(nèi)存形式存
10、放在內(nèi)存中,中,CPU能夠能夠準(zhǔn)確的判斷哪些是指令,哪些準(zhǔn)確的判斷哪些是指令,哪些是數(shù)據(jù)并送往相應(yīng)的寄存器并是數(shù)據(jù)并送往相應(yīng)的寄存器并進(jìn)行相應(yīng)的操作,這是計(jì)算機(jī)進(jìn)行相應(yīng)的操作,這是計(jì)算機(jī)自動(dòng)工作的前提。本節(jié)討論一自動(dòng)工作的前提。本節(jié)討論一些典型指令的工作周期,加深些典型指令的工作周期,加深對(duì)對(duì)CPUCPU工作過(guò)程的理解。工作過(guò)程的理解。v指令周期的概念指令周期的概念時(shí)鐘周期:時(shí)鐘周期:時(shí)鐘周期是時(shí)鐘周期是CPUCPU的基本時(shí)間計(jì)量單位,的基本時(shí)間計(jì)量單位,它是它是CPUCPU一一切操作的計(jì)時(shí)標(biāo)準(zhǔn)和基本控制信號(hào)切操作的計(jì)時(shí)標(biāo)準(zhǔn)和基本控制信號(hào),它由計(jì)算機(jī)的主頻決定。,它由計(jì)算機(jī)的主頻決定。 808
11、68086的主頻為的主頻為5MHZ5MHZ,則一個(gè)時(shí)鐘周期為,則一個(gè)時(shí)鐘周期為200ns200ns 80486 80486主頻為主頻為100MHZ100MHZ,則一個(gè)時(shí)鐘周期為,則一個(gè)時(shí)鐘周期為10ns10ns機(jī)器周期機(jī)器周期(CPU(CPU周期周期) ):CPUCPU通過(guò)總線從內(nèi)存讀取一個(gè)機(jī)器字通過(guò)總線從內(nèi)存讀取一個(gè)機(jī)器字的時(shí)間稱為一個(gè)的時(shí)間稱為一個(gè)CPUCPU周期,一般需要周期,一般需要4 4個(gè)時(shí)鐘周期,分別稱為個(gè)時(shí)鐘周期,分別稱為T1T1、T2T2、T3T3、T4T4狀態(tài)。狀態(tài)。機(jī)器周期機(jī)器周期 T1T2T3T4CLK時(shí)鐘周期時(shí)鐘周期CLK該機(jī)器周期讀取的一個(gè)機(jī)器字可以是指令也可以該機(jī)器
12、周期讀取的一個(gè)機(jī)器字可以是指令也可以是數(shù)據(jù)。如果是指令,該機(jī)器周期稱是數(shù)據(jù)。如果是指令,該機(jī)器周期稱取指周期取指周期指令周期:指令周期:執(zhí)行一條指令需要經(jīng)過(guò)讀取指令,指令譯碼及指執(zhí)行一條指令需要經(jīng)過(guò)讀取指令,指令譯碼及指令執(zhí)行的過(guò)程,把執(zhí)行一條指令所需要的時(shí)間稱為指令周期。令執(zhí)行的過(guò)程,把執(zhí)行一條指令所需要的時(shí)間稱為指令周期。 不同指令的指令周期是不等長(zhǎng)的,最短時(shí)間為兩個(gè)機(jī)器周不同指令的指令周期是不等長(zhǎng)的,最短時(shí)間為兩個(gè)機(jī)器周期,一個(gè)機(jī)器周期取指令,一個(gè)機(jī)器周期執(zhí)行指令;有的復(fù)雜期,一個(gè)機(jī)器周期取指令,一個(gè)機(jī)器周期執(zhí)行指令;有的復(fù)雜的指令需要更多機(jī)器周期。的指令需要更多機(jī)器周期。CLK機(jī)器周期
13、機(jī)器周期 機(jī)器周期機(jī)器周期 機(jī)器周期機(jī)器周期 (取指令)(取指令) (取有效地址)(取有效地址) (執(zhí)行指令)(執(zhí)行指令) 指令周期指令周期T1T2T3T4T1T2T3T4T1T2T3T4非訪存非訪存指令指令T1T2T3T4T1T2T3T4機(jī)器周期機(jī)器周期(取指令)(取指令)指令周期指令周期機(jī)器周期機(jī)器周期 (執(zhí)行指令)(執(zhí)行指令) 訪存訪存指令指令 下面給出下面給出6條指令組成的一個(gè)程序,通過(guò)每一條指令的取指條指令組成的一個(gè)程序,通過(guò)每一條指令的取指階段和執(zhí)行階段的分解動(dòng)作,了解指令的指令周期和階段和執(zhí)行階段的分解動(dòng)作,了解指令的指令周期和CPU執(zhí)行執(zhí)行程序的過(guò)程。程序的過(guò)程。 內(nèi)存地址內(nèi)存
14、地址 助記符助記符 說(shuō)明說(shuō)明 101 101 MOV R0,R1 MOV R0,R1 傳送指令:非訪存指令傳送指令:非訪存指令 102102 LAD R1,6 LAD R1,6 取數(shù)指令:取數(shù)指令:訪存指令訪存指令 103 103 ADD R1,R2 ADD R1,R2 加法指令:非訪存指令加法指令:非訪存指令 104104 STO R2,(R3) STO R2,(R3) 存數(shù)指令:訪存指令存數(shù)指令:訪存指令 105 105 JMP 101 JMP 101 跳轉(zhuǎn)指令:程序控制指令跳轉(zhuǎn)指令:程序控制指令 106 106 AND R1,R3 AND R1,R3 與與指令:指令: 非訪存指令非訪存指
15、令指令存儲(chǔ)器指令存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 內(nèi)存地址內(nèi)存地址 數(shù)據(jù)數(shù)據(jù) 說(shuō)明說(shuō)明 5 5 * * * * 6 6 100 100 LADLAD指令的操作數(shù)指令的操作數(shù) 7 7 * * * * 8 8 * * * * 30 30 40 40 STOSTO指令的操作數(shù)指令的操作數(shù)vMOVMOV指令的指令周期指令的指令周期 MOVMOV是一條典型的是一條典型的RRRR指令,屬于非訪存指令,它需要兩個(gè)指令,屬于非訪存指令,它需要兩個(gè)機(jī)器周期,其中取指令階段需要一個(gè)機(jī)器周期,執(zhí)行指令階段機(jī)器周期,其中取指令階段需要一個(gè)機(jī)器周期,執(zhí)行指令階段需要一個(gè)機(jī)器周期。需要一個(gè)機(jī)器周期。第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期
16、( (取指令取指令) ): - -從指存取出指令從指存取出指令 - -程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC加加1 1 - -對(duì)操作碼譯碼并測(cè)試對(duì)操作碼譯碼并測(cè)試第二個(gè)機(jī)器周期第二個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 操作控制器按照指令的要操作控制器按照指令的要求發(fā)出控制信號(hào),完成指令要求發(fā)出控制信號(hào),完成指令要求的操作求的操作, ,在在R0R0和和R1R1之間傳遞之間傳遞數(shù)據(jù)。數(shù)據(jù)。MOVMOV指令取值周期指令取值周期102102+1+100101011012030MOV R0,R1MOV R0,R110040MOVMOV指令執(zhí)行周期指令執(zhí)行周期10210200102030MOV R0,R1MOV
17、 R0,R1101010040vLADLAD指令的指令周期指令的指令周期 LADLAD是一條是一條RSRS型訪存指令,它需要三個(gè)機(jī)器周期,其中取型訪存指令,它需要三個(gè)機(jī)器周期,其中取指令階段需要一個(gè)機(jī)器周期,過(guò)程與指令階段需要一個(gè)機(jī)器周期,過(guò)程與MOVMOV指令完全相同,執(zhí)行指令完全相同,執(zhí)行指令階段需要兩個(gè)機(jī)器周期。指令階段需要兩個(gè)機(jī)器周期。第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期( (取指令取指令) ): - -從指存取出指令從指存取出指令 - -程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC加加1 1 - -對(duì)操作碼譯碼并測(cè)試對(duì)操作碼譯碼并測(cè)試第二個(gè)機(jī)器周期第二個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 將指令中的地址
18、碼將指令中的地址碼6 6送數(shù)據(jù)送數(shù)據(jù)地址寄存器驅(qū)動(dòng)數(shù)存。地址寄存器驅(qū)動(dòng)數(shù)存。第三個(gè)機(jī)器周期第三個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 從數(shù)存從數(shù)存6 6單元取數(shù)并送寄存單元取數(shù)并送寄存器器R1R1。LADLAD指令取值周期指令取值周期103103+1+110101021022030LAD R1,6LAD R1,610040LADLAD指令執(zhí)行周期指令執(zhí)行周期10310310102030LAD R1,6LAD R1,6610040100100vADDADD指令的指令周期指令的指令周期 ADDADD是一條是一條RRRR型非訪存指令,它需要兩個(gè)機(jī)器周期,其中型非訪存指令,它需要兩個(gè)機(jī)器周期,其中取
19、指令階段需要一個(gè)機(jī)器周期,過(guò)程與取指令階段需要一個(gè)機(jī)器周期,過(guò)程與MOVMOV指令完全相同,執(zhí)指令完全相同,執(zhí)行指令階段需要一個(gè)機(jī)器周期。行指令階段需要一個(gè)機(jī)器周期。第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期( (取指令取指令) ): - -將將PCPC寄存器中的寄存器中的103103送指令地址總線送指令地址總線, ,啟動(dòng)讀命令啟動(dòng)讀命令 - -所選指存所選指存103103單元的單元的ADDADD指令經(jīng)指令總線送入指令寄存器指令經(jīng)指令總線送入指令寄存器IRIR - -程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC加加1 1,變?yōu)?,變?yōu)?04104,為下一條指令做好準(zhǔn)備,為下一條指令做好準(zhǔn)備 - -指令寄存器的操作碼指令寄存器
20、的操作碼(OP)(OP)送指令譯碼器被譯碼測(cè)試送指令譯碼器被譯碼測(cè)試第二個(gè)機(jī)器周期第二個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): - -選中選中R1R1和和R2R2通用寄存器,通用寄存器,R1R1為源寄存器,為源寄存器,R2R2為目標(biāo)寄存器為目標(biāo)寄存器 -ALU-ALU做做R1R1和和R2R2的加法運(yùn)算的加法運(yùn)算 -ALU-ALU送結(jié)果送結(jié)果120120到數(shù)據(jù)總線到數(shù)據(jù)總線 - -將數(shù)據(jù)總線的數(shù)據(jù)打入緩沖寄存器將數(shù)據(jù)總線的數(shù)據(jù)打入緩沖寄存器DRDR,運(yùn)算結(jié)果特征位保存在狀態(tài)寄存,運(yùn)算結(jié)果特征位保存在狀態(tài)寄存器器PSWPSW中中 - -將緩沖寄存器將緩沖寄存器DRDR中的數(shù)據(jù)打入中的數(shù)據(jù)打入R2R
21、2,R2R2的內(nèi)容變?yōu)榈膬?nèi)容變?yōu)?20120ADDADD指令執(zhí)行周期指令執(zhí)行周期1041041002030ADD R1,R2ADD R1,R21201010040120vSTOSTO指令的指令周期指令的指令周期 ST0ST0是一條是一條RSRS型訪存指令,它需要三個(gè)機(jī)器周期,其中取指型訪存指令,它需要三個(gè)機(jī)器周期,其中取指令階段需要一個(gè)機(jī)器周期,整個(gè)過(guò)程與令階段需要一個(gè)機(jī)器周期,整個(gè)過(guò)程與MOVMOV指令完全相同,執(zhí)行指令完全相同,執(zhí)行指令階段需要兩個(gè)機(jī)器周期。指令階段需要兩個(gè)機(jī)器周期。第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期( (取指令取指令) ): - -從指存取出指令從指存取出指令 - -程序計(jì)數(shù)器
22、程序計(jì)數(shù)器PCPC加加1 1 - -對(duì)操作碼譯碼并測(cè)試對(duì)操作碼譯碼并測(cè)試第二個(gè)機(jī)器周期第二個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 將通用寄存器將通用寄存器R3R3中的地址碼中的地址碼3030送數(shù)據(jù)地址寄存器驅(qū)動(dòng)數(shù)存。送數(shù)據(jù)地址寄存器驅(qū)動(dòng)數(shù)存。第三個(gè)機(jī)器周期第三個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 從寄存器從寄存器R2R2中的數(shù)據(jù)中的數(shù)據(jù)120120送數(shù)送數(shù)據(jù)總線寫(xiě)入數(shù)存據(jù)總線寫(xiě)入數(shù)存3030單元。單元。STOSTO指令執(zhí)行周期指令執(zhí)行周期10510510030STO R2,(R3)STO R2,(R3)101004030120120vJMPJMP指令的指令周期指令的指令周期 JMPJMP
23、是一條程序控制指令,需要兩個(gè)機(jī)器周期,其中取指令是一條程序控制指令,需要兩個(gè)機(jī)器周期,其中取指令階段需要一個(gè)機(jī)器周期,執(zhí)行指令階段需要一個(gè)機(jī)器周期。階段需要一個(gè)機(jī)器周期,執(zhí)行指令階段需要一個(gè)機(jī)器周期。第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期( (取指令取指令) ): - -從指存取出指令從指存取出指令 - -程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC加加1 1 - -對(duì)操作碼譯碼并測(cè)試對(duì)操作碼譯碼并測(cè)試第二個(gè)機(jī)器周期第二個(gè)機(jī)器周期( (執(zhí)行指令執(zhí)行指令) ): 將將JMPJMP指令的地址碼指令的地址碼101101送送程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC。JMPJMP指令執(zhí)行周期指令執(zhí)行周期10610610030JMP 101J
24、MP 10110100120120101101v用方框圖語(yǔ)言表示指令周期用方框圖語(yǔ)言表示指令周期 方框代表一個(gè)方框代表一個(gè)CPUCPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作?;蚰撤N控制操作。 菱形表示某種判別或測(cè)試,不過(guò)時(shí)間上它依附于緊接它的菱形表示某種判別或測(cè)試,不過(guò)時(shí)間上它依附于緊接它的前面一個(gè)方框的前面一個(gè)方框的CPUCPU周期,而不單獨(dú)占用一個(gè)周期,而不單獨(dú)占用一個(gè)CPUCPU周期。周期。 符號(hào)是公操作符號(hào),表示一條指令已經(jīng)執(zhí)行完畢而轉(zhuǎn)入符號(hào)是公操作符號(hào),表示一條指令已經(jīng)執(zhí)行完畢而轉(zhuǎn)入公操作公操作(CPU(CPU每執(zhí)行完一條指令,都要測(cè)試
25、外部設(shè)備有無(wú)中斷請(qǐng)每執(zhí)行完一條指令,都要測(cè)試外部設(shè)備有無(wú)中斷請(qǐng)求,求,DMADMA控制器有無(wú)控制器有無(wú)DMADMA請(qǐng)求,這些操作稱為公操作請(qǐng)求,這些操作稱為公操作) )。如果沒(méi)。如果沒(méi)有公操作,有公操作,CPUCPU轉(zhuǎn)入下一條指令的執(zhí)行。轉(zhuǎn)入下一條指令的執(zhí)行。 DBUSDBUS表示數(shù)據(jù)總線表示數(shù)據(jù)總線 IBUSIBUS表示指令總線表示指令總線 ABUS(D)ABUS(D)表示數(shù)據(jù)地址總線表示數(shù)據(jù)地址總線 ABUS(I)ABUS(I)表示指令地址總線表示指令地址總線 RD(I)RD(I)表示讀指存表示讀指存, RD(D), RD(D)表示讀數(shù)存表示讀數(shù)存, , WE(D)WE(D)表示寫(xiě)數(shù)存表示
26、寫(xiě)數(shù)存取指周期取指周期MOVMOVLADLADADDADDSTOSTOJMPJMPR1-ALUR1-ALUALU-DRALU-DRDR-R0DR-R0IR-PCIR-PC IR-AR IR-ARAR-ABUS(D)AR-ABUS(D)M-DRM-DRDR-R1DR-R1RD(D)RD(D)R1-ALUR1-ALUR2-ALUR2-ALUALU-DRALU-DRDR-R2DR-R2執(zhí)執(zhí)行行周周期期WE(D)WE(D)R3-ARR3-ARR2-MR2-MPC-ABUS(I)PC-ABUS(I)M-IBUS-IRM-IBUS-IRPC+1-PCPC+1-PC譯碼測(cè)試譯碼測(cè)試RD(I)RD(I)例:某
27、計(jì)算機(jī)有如下部件:例:某計(jì)算機(jī)有如下部件:ALUALU,主存,主存M M,數(shù)據(jù)寄存器,數(shù)據(jù)寄存器DRDR,地址寄存器,地址寄存器ARAR,程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC,指令寄存器,指令寄存器IRIR,通用寄存器,通用寄存器R0R3 R0R3 ,暫存器,暫存器C C和和D D。1 1)請(qǐng)將各邏輯部件組成一個(gè)計(jì)算機(jī)的數(shù)據(jù)通路,并標(biāo)明數(shù)據(jù)流向。)請(qǐng)將各邏輯部件組成一個(gè)計(jì)算機(jī)的數(shù)據(jù)通路,并標(biāo)明數(shù)據(jù)流向。2 2)畫(huà)出)畫(huà)出“ADD R1ADD R1,(R2)”(R2)”指令的指令周期流程圖,指令功能是將指令的指令周期流程圖,指令功能是將R1R1中的數(shù)中的數(shù)據(jù)和據(jù)和R2R2所指內(nèi)存單元的數(shù)據(jù)相加結(jié)果送所指
28、內(nèi)存單元的數(shù)據(jù)相加結(jié)果送R1(R1(假設(shè)該指令地址已在假設(shè)該指令地址已在PCPC中中) )。移位器移位器D DC CPCPCIRIR R R3 3 R R2 2 R R1 1 R R0 0ARARM MDRDRALU ALU +1+1移位器移位器D DC CPCPCIRIR R R3 3 R R2 2 R R1 1 R R0 0ARARM MDRDRALU ALU +1+1ADD R1ADD R1,R2R2指令的指令周指令的指令周期流程圖如下所示,該指令期流程圖如下所示,該指令功能是將功能是將R1R1中的數(shù)據(jù)和中的數(shù)據(jù)和R2R2所所指內(nèi)存單元的數(shù)據(jù)相加結(jié)果指內(nèi)存單元的數(shù)據(jù)相加結(jié)果送送R1R1。
29、MDRIRMDRIR(R R1 1)C C(R R2 2)ARARMDRD MDRD (C C)+ +(D D)R R1 1 譯碼譯碼(PCPC) ARAR,(,(PCPC)+ 1+ 1送當(dāng)前指令地址到送當(dāng)前指令地址到ARAR,PC+1PC+1取當(dāng)前指令到取當(dāng)前指令到IRIR,指令譯碼,指令譯碼取取R1R1操作數(shù)操作數(shù)C C暫存器暫存器R2R2中的內(nèi)容是內(nèi)存地址中的內(nèi)容是內(nèi)存地址從內(nèi)存取出數(shù)從內(nèi)存取出數(shù)D D暫存器暫存器暫存器暫存器C C和和D D中的數(shù)相加后送中的數(shù)相加后送R1R1例:某例:某3232位位CPUCPU其內(nèi)部結(jié)構(gòu)如下圖所示,其中一個(gè)累加寄存器其內(nèi)部結(jié)構(gòu)如下圖所示,其中一個(gè)累加寄
30、存器ACAC,一個(gè)狀態(tài),一個(gè)狀態(tài)條件寄存器和其它四個(gè)寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表?xiàng)l件寄存器和其它四個(gè)寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。標(biāo)出示信息傳送方向。標(biāo)出A AD D四個(gè)寄存器的名稱。寫(xiě)出四個(gè)寄存器的名稱。寫(xiě)出CPUCPU從內(nèi)存中讀取指令從內(nèi)存中讀取指令的全過(guò)程。的全過(guò)程。CPUCPU主存儲(chǔ)器主存儲(chǔ)器M MA AC CACACB BD DALUALU狀態(tài)寄存器狀態(tài)寄存器指令譯碼器指令譯碼器+1+15.3 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器v時(shí)序信號(hào)的理解時(shí)序信號(hào)的理解 CPUCPU從內(nèi)存取出的指令送指令寄存器,取出的數(shù)據(jù)送累計(jì)從內(nèi)存取出的指令送指令寄存器,取出的
31、數(shù)據(jù)送累計(jì)器器ACAC或運(yùn)算器或運(yùn)算器ALUALU,但指令和數(shù)據(jù)都是以二進(jìn)制形式存放在存,但指令和數(shù)據(jù)都是以二進(jìn)制形式存放在存儲(chǔ)器中,儲(chǔ)器中,CPUCPU如何知道取得的是指令還是數(shù)據(jù)?如何知道取得的是指令還是數(shù)據(jù)? CPUCPU識(shí)別指令和數(shù)據(jù)的方法:從時(shí)間上來(lái)說(shuō),取指令事件識(shí)別指令和數(shù)據(jù)的方法:從時(shí)間上來(lái)說(shuō),取指令事件發(fā)生在指令周期的第一個(gè)發(fā)生在指令周期的第一個(gè)CPUCPU周期中,即發(fā)生在周期中,即發(fā)生在“取指令取指令”階階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)CPUCPU周期中,即周期中,即發(fā)生在發(fā)生在“執(zhí)行指令執(zhí)行指令”階段。階段。 不僅如此,不僅
32、如此,CPUCPU還將一個(gè)機(jī)器周期分為分為若干個(gè)更小的還將一個(gè)機(jī)器周期分為分為若干個(gè)更小的時(shí)間段時(shí)間段(1(1個(gè)機(jī)器周期一般等于個(gè)機(jī)器周期一般等于4 4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期) ),同時(shí)規(guī)定在,同時(shí)規(guī)定在1 1個(gè)個(gè)時(shí)間段內(nèi)時(shí)間段內(nèi)CPUCPU的動(dòng)作。這種時(shí)間的約束對(duì)的動(dòng)作。這種時(shí)間的約束對(duì)CPU來(lái)說(shuō)是必要的而來(lái)說(shuō)是必要的而且非常嚴(yán)格,這種時(shí)間約束就是時(shí)序控制,是由時(shí)序產(chǎn)生器的且非常嚴(yán)格,這種時(shí)間約束就是時(shí)序控制,是由時(shí)序產(chǎn)生器的時(shí)序信號(hào)來(lái)控制的。時(shí)序信號(hào)來(lái)控制的。CLKT1T2T3T4時(shí)鐘周期時(shí)鐘周期機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期T1T2T3T4T1T2T3T4時(shí)序產(chǎn)生器如何生成規(guī)律的時(shí)序產(chǎn)生
33、器如何生成規(guī)律的T1,T2,T3,T4T1,T2,T3,T4信號(hào)和其他信號(hào)序列呢?信號(hào)和其他信號(hào)序列呢?v時(shí)序產(chǎn)生器的構(gòu)成時(shí)序產(chǎn)生器的構(gòu)成 時(shí)序信號(hào)產(chǎn)生器由:時(shí)鐘源、環(huán)形脈沖發(fā)生器、節(jié)拍脈沖時(shí)序信號(hào)產(chǎn)生器由:時(shí)鐘源、環(huán)形脈沖發(fā)生器、節(jié)拍脈沖和讀寫(xiě)時(shí)序譯碼邏輯、啟停控制邏輯等部分組成。和讀寫(xiě)時(shí)序譯碼邏輯、啟??刂七壿嫷炔糠纸M成。 環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源時(shí)鐘脈沖源節(jié)拍脈沖和讀寫(xiě)時(shí)序譯碼邏輯節(jié)拍脈沖和讀寫(xiě)時(shí)序譯碼邏輯RDRDWEWE啟??刂七壿媶⑼?刂七壿婻DRD0 0WEWE0 0T1T10 0T3T30 0T2T20 0T4T40 0啟動(dòng)啟動(dòng)停止停止RDRDWEWET1T1T3T
34、3T2T2T4T4C1C1C2C2C3C3C4C4時(shí)鐘周期時(shí)鐘周期CLKCLK時(shí)鐘源時(shí)鐘源 時(shí)鐘源用來(lái)為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的時(shí)鐘源用來(lái)為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)。它通常由石英晶體振蕩器和與非門組成的方波時(shí)鐘脈沖信號(hào)。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環(huán)形脈沖發(fā)生器。正反饋振蕩電路組成,其輸出送至環(huán)形脈沖發(fā)生器。 設(shè)時(shí)鐘源的頻率為設(shè)時(shí)鐘源的頻率為5MHZ5MHZ,則時(shí)鐘源的脈沖周期為,則時(shí)鐘源的脈沖周期為1/5M1/5M200ns200ns時(shí)鐘周期是時(shí)鐘周期是CPUCPU的基本時(shí)間計(jì)量單位的基本時(shí)間計(jì)量單位環(huán)形脈沖發(fā)
35、生器環(huán)形脈沖發(fā)生器 環(huán)形脈沖發(fā)生器的作用是產(chǎn)生一組有序的間隔相等或不等環(huán)形脈沖發(fā)生器的作用是產(chǎn)生一組有序的間隔相等或不等的脈沖序列,通過(guò)譯碼電路來(lái)產(chǎn)生最后所需的節(jié)拍脈沖。為了的脈沖序列,通過(guò)譯碼電路來(lái)產(chǎn)生最后所需的節(jié)拍脈沖。為了在節(jié)拍脈沖上不帶干擾毛刺,環(huán)形脈沖發(fā)生器通常采用循環(huán)移在節(jié)拍脈沖上不帶干擾毛刺,環(huán)形脈沖發(fā)生器通常采用循環(huán)移位寄存器形式。位寄存器形式。 CLKCLK0123457689C C4 4C C1 1C C2 2C C3 3時(shí)鐘周期在環(huán)形脈沖發(fā)生器的作用下,時(shí)鐘周期在環(huán)形脈沖發(fā)生器的作用下,4 4個(gè)個(gè)D D型觸發(fā)器的輸出分別如下:型觸發(fā)器的輸出分別如下:節(jié)拍脈沖譯碼節(jié)拍脈沖譯
36、碼 為了在一個(gè)機(jī)器周期內(nèi)產(chǎn)生為了在一個(gè)機(jī)器周期內(nèi)產(chǎn)生4 4個(gè)等間隔的節(jié)拍脈沖,我們給個(gè)等間隔的節(jié)拍脈沖,我們給出譯碼邏輯如下:出譯碼邏輯如下:T1T10 0C1C2C1C2T2T20 0C2C3C2C3T3T30 0C3C3T4T40 0C1C1C C4 4C C1 1C C2 2C C3 3T1T10 0C1C2C1C2T1T10 0T2T20 0C2C3C2C3T2T20 0CLKCLK0123457689C C4 4C C1 1C C2 2C C3 3T3T30 0C3C3T3T30 0T4T40 0C1C1T4T40 0CLKCLK0123457689 在譯碼電路的作用下,一個(gè)機(jī)器周期
37、內(nèi)產(chǎn)生在譯碼電路的作用下,一個(gè)機(jī)器周期內(nèi)產(chǎn)生4個(gè)等間隔的個(gè)等間隔的節(jié)拍脈沖。節(jié)拍脈沖。T1T10 0T2T20 0T3T30 0T4T40 0機(jī)器周期機(jī)器周期CLKCLK0123457689注意:注意:T1T10 0、T2T20 0 、T3T30 0 、T4T40 0信號(hào)在機(jī)器加電后,即時(shí)鐘脈沖信號(hào)在機(jī)器加電后,即時(shí)鐘脈沖源接通電源后便按照順序周而復(fù)始的產(chǎn)生機(jī)器需要的原始的源接通電源后便按照順序周而復(fù)始的產(chǎn)生機(jī)器需要的原始的機(jī)器周期序列。機(jī)器周期序列。 其中其中RDRD0 0,WEWE0 0是經(jīng)過(guò)譯碼邏輯產(chǎn)生的對(duì)存儲(chǔ)器進(jìn)行讀是經(jīng)過(guò)譯碼邏輯產(chǎn)生的對(duì)存儲(chǔ)器進(jìn)行讀/ /寫(xiě)操寫(xiě)操作的時(shí)序信號(hào)。作的時(shí)序
38、信號(hào)。RDRD和和WEWE是來(lái)自控制器的控制信號(hào),他們的是來(lái)自控制器的控制信號(hào),他們的持續(xù)時(shí)間都是一個(gè)機(jī)器周期。持續(xù)時(shí)間都是一個(gè)機(jī)器周期。RDRDCLKCLK0123457689C C2 2C C3 3WEWE讀寫(xiě)信號(hào)譯碼讀寫(xiě)信號(hào)譯碼 存儲(chǔ)器的讀存儲(chǔ)器的讀/ /寫(xiě)信號(hào)必須符合時(shí)序的要求,下面給出讀寫(xiě)寫(xiě)信號(hào)必須符合時(shí)序的要求,下面給出讀寫(xiě)信號(hào)的譯碼邏輯:信號(hào)的譯碼邏輯: RDRD0 0=(C2C3)RD=(C2C3)RD WEWE0 0=(C2C3)WE=(C2C3)WERDRD 0 0WEWE0 0啟??刂七壿媶⑼?刂七壿?由于由于T1T10 0T4T40 0信號(hào)在機(jī)器加電后便按照順序周而復(fù)始
39、的產(chǎn)生,然而只有信號(hào)在機(jī)器加電后便按照順序周而復(fù)始的產(chǎn)生,然而只有在啟動(dòng)機(jī)器運(yùn)行的時(shí)候才需要在啟動(dòng)機(jī)器運(yùn)行的時(shí)候才需要CPUCPU工作的機(jī)器周期信號(hào)。利用工作的機(jī)器周期信號(hào)。利用啟停電路控制啟停電路控制T1T10 0T4T40 0的發(fā)送,經(jīng)過(guò)啟停電路的的發(fā)送,經(jīng)過(guò)啟停電路的T1T10 0T4T40 0我們記做我們記做T1T1、T2T2、T3T3、T4T4。這是。這是CPUCPU工作時(shí)需要的機(jī)器周期的工作時(shí)需要的機(jī)器周期的4 4個(gè)個(gè)T T狀態(tài)。狀態(tài)。 讀寫(xiě)信號(hào)一般為低電平有效,所以讀寫(xiě)信號(hào)一般為低電平有效,所以啟??刂七壿嬤€要啟??刂七壿嬤€要將將RDRD0 0和和WEWE0 0轉(zhuǎn)化轉(zhuǎn)化為為RDR
40、D和和WE.WE.這才是讀寫(xiě)存儲(chǔ)器的信號(hào)。這才是讀寫(xiě)存儲(chǔ)器的信號(hào)。T1T1T2T2T3T3T4T4CLKCLK0123457689RDRDWEWEv控制方式控制方式 機(jī)器指令的指令周期是由數(shù)目不等的機(jī)器周期組成,一條機(jī)器指令的指令周期是由數(shù)目不等的機(jī)器周期組成,一條指令使用的機(jī)器周期的多少反映了指令動(dòng)作的復(fù)雜程度;指令使用的機(jī)器周期的多少反映了指令動(dòng)作的復(fù)雜程度; 對(duì)一個(gè)機(jī)器周期而言,由數(shù)目不等的操作控制信號(hào)組成,對(duì)一個(gè)機(jī)器周期而言,由數(shù)目不等的操作控制信號(hào)組成,操作控制信號(hào)所需的時(shí)間也不相同。操作控制信號(hào)所需的時(shí)間也不相同。 不同操作控制信號(hào)的時(shí)序控制方法稱為控制器的控制方式不同操作控制信號(hào)
41、的時(shí)序控制方法稱為控制器的控制方式同步控制方式同步控制方式 指令執(zhí)行的機(jī)器周期數(shù)固定不變,稱為同步控制方式。同指令執(zhí)行的機(jī)器周期數(shù)固定不變,稱為同步控制方式。同步控制方式有下面三種選擇方案:步控制方式有下面三種選擇方案:1)1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。以控制信號(hào)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。以控制信號(hào)最復(fù)雜繁瑣的指令的機(jī)器周期作為標(biāo)準(zhǔn),意味著對(duì)簡(jiǎn)單的操作最復(fù)雜繁瑣的指令的機(jī)器周期作為標(biāo)準(zhǔn),意味著對(duì)簡(jiǎn)單的操作和指令有時(shí)間的浪費(fèi)。和指令有時(shí)間的浪費(fèi)。2)2)采用不定長(zhǎng)機(jī)器周期。對(duì)簡(jiǎn)單指令用較短的機(jī)器周期完成。采用不定長(zhǎng)機(jī)器周期。對(duì)簡(jiǎn)單指令用較短的機(jī)器周期完成。對(duì)較復(fù)雜
42、的指令利用較長(zhǎng)的機(jī)器周期完成。對(duì)較復(fù)雜的指令利用較長(zhǎng)的機(jī)器周期完成。 機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取指令)(執(zhí)行指令)(執(zhí)行指令)指令周期指令周期T1T2T3T4T1T2T3機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取指令)(執(zhí)行指令)(執(zhí)行指令)T1T2T3T4T1T2T3T4TT延長(zhǎng)延長(zhǎng)3)3) 采用中央控制和局部控制的方式。大部分指令安排在固定的采用中央控制和局部控制的方式。大部分指令安排在固定的機(jī)器周期內(nèi)完成。對(duì)復(fù)雜的指令利用較長(zhǎng)的機(jī)器周期。機(jī)器周期內(nèi)完成。對(duì)復(fù)雜的指令利用較長(zhǎng)的機(jī)器周期。 異步控制方式異步控制方式 沒(méi)有嚴(yán)格的時(shí)鐘周期和機(jī)器周期,沒(méi)有嚴(yán)格的時(shí)鐘周期和機(jī)
43、器周期,每條指令、每個(gè)操作控每條指令、每個(gè)操作控制信號(hào)需要多少時(shí)間就占用多少時(shí)間,當(dāng)控制器發(fā)出某一操作制信號(hào)需要多少時(shí)間就占用多少時(shí)間,當(dāng)控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操作后發(fā)控制信號(hào)后,等待執(zhí)行部件完成操作后發(fā)“回答回答”信號(hào),再開(kāi)信號(hào),再開(kāi)始新的操作。始新的操作。聯(lián)合控制方式聯(lián)合控制方式 該方式為同步控制和異步控制相結(jié)合的方式。該方式為同步控制和異步控制相結(jié)合的方式。1)1)大部分指令安排在固定的機(jī)器周期中,對(duì)某些時(shí)間難以確定大部分指令安排在固定的機(jī)器周期中,對(duì)某些時(shí)間難以確定的操作則以執(zhí)行部件的的操作則以執(zhí)行部件的“回答回答”信號(hào)作為本次操作的結(jié)束;信號(hào)作為本次操作的結(jié)束
44、;2)2)機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。目前廣泛采用,一個(gè)機(jī)器周期有數(shù)不固定。目前廣泛采用,一個(gè)機(jī)器周期有4 4個(gè)節(jié)拍脈沖,即個(gè)節(jié)拍脈沖,即4 4個(gè)個(gè)T T狀態(tài),指令周期可能是狀態(tài),指令周期可能是2 2、3 3或者或者4 4個(gè)機(jī)器周期。個(gè)機(jī)器周期。5.4 微程序控制器微程序控制器根據(jù)設(shè)計(jì)方法不同,操作控制器可分為:根據(jù)設(shè)計(jì)方法不同,操作控制器可分為:1)1)采用時(shí)序邏輯技術(shù)實(shí)現(xiàn)的采用時(shí)序邏輯技術(shù)實(shí)現(xiàn)的硬布線控制器硬布線控制器( (組合邏輯控制器組合邏輯控制器) ) 2)2)采用存儲(chǔ)邏輯實(shí)現(xiàn)的采用存儲(chǔ)邏輯實(shí)現(xiàn)的微
45、程序控制器微程序控制器優(yōu)點(diǎn):優(yōu)點(diǎn):微程序控制器同硬布線控制器相比較具有規(guī)整性、靈活微程序控制器同硬布線控制器相比較具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點(diǎn),因而在計(jì)算機(jī)設(shè)計(jì)中逐漸取代了性、可維護(hù)性等一系列優(yōu)點(diǎn),因而在計(jì)算機(jī)設(shè)計(jì)中逐漸取代了早期采用的硬布線控制器,并已被廣泛地應(yīng)用。早期采用的硬布線控制器,并已被廣泛地應(yīng)用?;舅枷耄夯舅枷耄何⒊绦蛟O(shè)計(jì)技術(shù)是利用軟件方法來(lái)設(shè)計(jì)硬件的一門微程序設(shè)計(jì)技術(shù)是利用軟件方法來(lái)設(shè)計(jì)硬件的一門技術(shù)。即仿照通常的解題程序的方法,把操作控制信號(hào)編成所技術(shù)。即仿照通常的解題程序的方法,把操作控制信號(hào)編成所謂的謂的“微指令微指令”,存放到一個(gè)只讀存儲(chǔ)器里。當(dāng)機(jī)器運(yùn)行時(shí)
46、一,存放到一個(gè)只讀存儲(chǔ)器里。當(dāng)機(jī)器運(yùn)行時(shí)一條又條又條地讀出這些條地讀出這些“微指令微指令”,從而產(chǎn)生全機(jī)所需要的各種,從而產(chǎn)生全機(jī)所需要的各種操作控制信號(hào),使相應(yīng)部件執(zhí)行所規(guī)定的操作。操作控制信號(hào),使相應(yīng)部件執(zhí)行所規(guī)定的操作。v微命令和微操作微命令和微操作 一臺(tái)計(jì)算機(jī)分為兩個(gè)部分,控制部件和執(zhí)行部件,控制器一臺(tái)計(jì)算機(jī)分為兩個(gè)部分,控制部件和執(zhí)行部件,控制器就是控制部件,而運(yùn)算器,存儲(chǔ)器,外圍設(shè)備對(duì)控制器來(lái)說(shuō)就就是控制部件,而運(yùn)算器,存儲(chǔ)器,外圍設(shè)備對(duì)控制器來(lái)說(shuō)就是執(zhí)行部件。是執(zhí)行部件。 控制部件和執(zhí)行部件的聯(lián)系:控制部件和執(zhí)行部件的聯(lián)系:1)1)控制部件通過(guò)控制總線向執(zhí)行部件發(fā)送的各種控制信號(hào)
47、稱為控制部件通過(guò)控制總線向執(zhí)行部件發(fā)送的各種控制信號(hào)稱為微命令微命令,執(zhí)行部件接受信號(hào)后所進(jìn)行的操作稱為,執(zhí)行部件接受信號(hào)后所進(jìn)行的操作稱為微操作。微操作。2)2)執(zhí)行部件通過(guò)反饋線向控制部件反映操作的情況,使控制部執(zhí)行部件通過(guò)反饋線向控制部件反映操作的情況,使控制部件根據(jù)執(zhí)行部件的件根據(jù)執(zhí)行部件的“狀態(tài)狀態(tài)”下達(dá)新的微命令。下達(dá)新的微命令。 由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作可以分為兩類:由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作可以分為兩類:1)1)相容性微操作,指在同時(shí)或同一個(gè)相容性微操作,指在同時(shí)或同一個(gè)CPUCPU周期內(nèi)可以并行執(zhí)行周期內(nèi)可以并行執(zhí)行的微操作。的微操作。 2)2)相斥性微操作,指不能
48、在同時(shí)或不能在同一個(gè)相斥性微操作,指不能在同時(shí)或不能在同一個(gè)CPUCPU周期內(nèi)并周期內(nèi)并行執(zhí)行的微操作。行執(zhí)行的微操作。 相相斥斥操操作作相容操作相容操作相相斥斥操操作作相相斥斥操操作作v微指令微指令 在機(jī)器的一個(gè)在機(jī)器的一個(gè)CPUCPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合,構(gòu)周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合,構(gòu)成一條成一條微指令微指令。微指令字長(zhǎng)微指令字長(zhǎng)2323位位11微指令中如果操作控制字段的某一位的信息為微指令中如果操作控制字段的某一位的信息為“1 1”時(shí),表示發(fā)出微命令,為時(shí),表示發(fā)出微命令,為“0 0”時(shí),表示時(shí),表示不發(fā)出微命令。不發(fā)出微命令。某條微指令的二進(jìn)制編
49、碼是:某條微指令的二進(jìn)制編碼是: 100 110 000 100 00000 100 110 000 100 00000 * * * * * * * *完成的四個(gè)微操作是:完成的四個(gè)微操作是: R1-X R3-Y + LDR1R1-X R3-Y + LDR1運(yùn)算器完成了運(yùn)算器完成了R1+R3-R1R1+R3-R1的操作。的操作。 非訪存指令非訪存指令A(yù)DD R1ADD R1,R3R3的執(zhí)行周期:的執(zhí)行周期:PC-AR-ABUSPC-AR-ABUSDBUS-DR-IRDBUS-DR-IRPC+1-PCPC+1-PC開(kāi)始開(kāi)始譯碼測(cè)試譯碼測(cè)試R1-ALUR1-ALUR3-ALUR3-ALUALU-R
50、1ALU-R1ADDADD 為了在第二個(gè)機(jī)器周期執(zhí)行該指令,為了在第二個(gè)機(jī)器周期執(zhí)行該指令,微指令給出微指令給出R1-XR1-X的選通信號(hào)的選通信號(hào)44,R3-YR3-Y的選通信號(hào)的選通信號(hào)55,ALUALU的加信號(hào)的加信號(hào)+和和R1R1的選通信號(hào)的選通信號(hào)11,它們都在一個(gè)機(jī)器周期內(nèi)有,它們都在一個(gè)機(jī)器周期內(nèi)有效,但這效,但這4 4個(gè)信號(hào)的到來(lái)有嚴(yán)格的時(shí)間順序關(guān)系,由時(shí)序信號(hào)個(gè)信號(hào)的到來(lái)有嚴(yán)格的時(shí)間順序關(guān)系,由時(shí)序信號(hào)T1,T2,T3,T4T1,T2,T3,T4來(lái)控制。來(lái)控制。微指令:微指令:100 110 000 100 00000 100 110 000 100 00000 * * *
51、* * * * *T1T2T3T4CLK45+145+1設(shè)設(shè)4=T14,5=T15,+=(T2T34=T14,5=T15,+=(T2T3)+,1=T41+,1=T41微指令的操作控制字段決定給出的微命令,時(shí)序產(chǎn)生器決定微命令的時(shí)序關(guān)系微指令的操作控制字段決定給出的微命令,時(shí)序產(chǎn)生器決定微命令的時(shí)序關(guān)系 一條微指令就能完成一條機(jī)器指令嗎?一條微指令就能完成一條機(jī)器指令嗎? 考慮考慮ADD R2,30ADD R2,30的執(zhí)行過(guò)程,的執(zhí)行過(guò)程,ADDADD指令需要三個(gè)機(jī)器周期組成,第一個(gè)指令需要三個(gè)機(jī)器周期組成,第一個(gè)是取指周期,后兩個(gè)是執(zhí)行周期,微操作如下所示:是取指周期,后兩個(gè)是執(zhí)行周期,微操作
52、如下所示:取指周期:取指周期:PC-AR AR-ABUS RAM-DR DR-IR PC+1-PCPC-AR AR-ABUS RAM-DR DR-IR PC+1-PC第一個(gè)執(zhí)行周期:第一個(gè)執(zhí)行周期: IR-AR IR-AR (指令的地址碼送地址寄存器)(指令的地址碼送地址寄存器)第二個(gè)執(zhí)行周期:第二個(gè)執(zhí)行周期: AR-ABUSAR-ABUS RAM-DR RAM-DR DR-ALU(X DR-ALU(X端端) ) R2-ALU(Y R2-ALU(Y端端) ) ALU ALU完成加運(yùn)算完成加運(yùn)算 ALU-R2 ALU-R2 微指令微指令 010 000 110 100 00000 010 000
53、 110 100 00000 * * * * * * * *完成完成v微程序微程序 一條機(jī)器指令的功能是用許多條微指令組成的序列來(lái)實(shí)現(xiàn)的,這個(gè)微一條機(jī)器指令的功能是用許多條微指令組成的序列來(lái)實(shí)現(xiàn)的,這個(gè)微指令序列通常叫做指令序列通常叫做微程序微程序。 完成完成一條機(jī)器指令一條機(jī)器指令微操作命令微操作命令 1微操作命令微操作命令 2微操作命令微操作命令 n微指令微指令 110100000微程序微程序00010010微操作命令微操作命令 n+1微指令微指令 nv微程序控制器的結(jié)構(gòu)微程序控制器的結(jié)構(gòu) 微程序控制器主要由控制存儲(chǔ)器、微地址寄存器、微命令微程序控制器主要由控制存儲(chǔ)器、微地址寄存器、微命令
54、寄存器和地址轉(zhuǎn)移邏輯構(gòu)成。寄存器和地址轉(zhuǎn)移邏輯構(gòu)成。 將微程序存入到高速的只讀存儲(chǔ)器中,機(jī)器指令的解釋執(zhí)行通過(guò)讀取對(duì)將微程序存入到高速的只讀存儲(chǔ)器中,機(jī)器指令的解釋執(zhí)行通過(guò)讀取對(duì)應(yīng)的微程序來(lái)完成,存儲(chǔ)邏輯實(shí)現(xiàn)的控制器稱為微程序控制器。應(yīng)的微程序來(lái)完成,存儲(chǔ)邏輯實(shí)現(xiàn)的控制器稱為微程序控制器。 微指令的微指令的操作控制部分操作控制部分決定給出的微命令,決定給出的微命令,順序控制部分順序控制部分決定下一條微決定下一條微指令在只讀存儲(chǔ)器中的地址,由指令在只讀存儲(chǔ)器中的地址,由P P測(cè)試字段測(cè)試字段和和后續(xù)直接地址后續(xù)直接地址構(gòu)成。如果判別構(gòu)成。如果判別測(cè)試字段全為測(cè)試字段全為0 0,后續(xù)直接地址給出下
55、一條微指令的地址;否則修改后續(xù)直,后續(xù)直接地址給出下一條微指令的地址;否則修改后續(xù)直接地址作為下一條微指令的地址。接地址作為下一條微指令的地址??刂拼鎯?chǔ)器:存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀型存儲(chǔ)器??刂拼鎯?chǔ)器:存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀型存儲(chǔ)器。要求速度快,讀出周期短。要求速度快,讀出周期短。 微地址寄存器:存放讀出微指令的直接地址,決定要讀取的下一條微指令微地址寄存器:存放讀出微指令的直接地址,決定要讀取的下一條微指令的地址。的地址。微命令寄存器:保存讀出微指令的操作控制字段和判別測(cè)試字段的信息。微命令寄存器:保存讀出微指令的操作控制字段和判別測(cè)試字段的信息。 地址
56、轉(zhuǎn)移邏輯:承擔(dān)自動(dòng)完成修改微地址的任務(wù)。地址轉(zhuǎn)移邏輯:承擔(dān)自動(dòng)完成修改微地址的任務(wù)??刂谱侄慰刂谱侄?P字段字段 直接地址直接地址 微指令微指令地址轉(zhuǎn)移邏輯:地址轉(zhuǎn)移邏輯:P1=0P1=0,P2=0P2=0,不修改微地址寄存器中的直接地址,是下一條微指令地址。,不修改微地址寄存器中的直接地址,是下一條微指令地址。P1=1P1=1,P2=0P2=0,則指令寄存器中的指令的操作碼的后四位修改微地址寄存器,則指令寄存器中的指令的操作碼的后四位修改微地址寄存器的四位地址,給出的四位地址,給出1616路分支。如某條指令的操作碼是路分支。如某條指令的操作碼是0000101000001010,則下一條,則下
57、一條微指令的地址是微指令的地址是10101010。P1P1稱為操作碼測(cè)試。稱為操作碼測(cè)試。P1=0P1=0,P2=1P2=1,則利用進(jìn)位標(biāo)志,則利用進(jìn)位標(biāo)志CYCY求反修改微地址寄存器的最后一位。求反修改微地址寄存器的最后一位。v微程序舉例微程序舉例 下面以一個(gè)下面以一個(gè)“十進(jìn)制十進(jìn)制”加法的機(jī)器指令來(lái)說(shuō)明微程序以及加法的機(jī)器指令來(lái)說(shuō)明微程序以及微程序的控制。微程序的控制?!笆M(jìn)制十進(jìn)制”加法指令就是利用加法指令就是利用BCDBCD碼讓運(yùn)算器碼讓運(yùn)算器完成十進(jìn)制的加法運(yùn)算。完成十進(jìn)制的加法運(yùn)算。4 4位位2 2進(jìn)制數(shù)進(jìn)制數(shù)BCDBCD碼碼000000000 0000100011 1001000
58、102 2001100113 3010001004 4010101015 5011001106 6011101117 7100010008 8100110019 9在計(jì)算機(jī)中,可以用在計(jì)算機(jī)中,可以用4 4位二進(jìn)位二進(jìn)制數(shù)表示制數(shù)表示1 1位十進(jìn)制數(shù),這種位十進(jìn)制數(shù),這種代碼稱為代碼稱為BCDBCD碼。碼。BCDBCD碼只有碼只有0 09 9十種編碼,對(duì)十種編碼,對(duì)于二進(jìn)制數(shù)于二進(jìn)制數(shù)1010101011111111在在BCDBCD碼中無(wú)意義碼中無(wú)意義BCDBCD碼調(diào)整原理碼調(diào)整原理 0000 1000 0000 1000+0000 0111+0000 0111 0000 1111 0000
59、1111(0F0F)例如:例如:8+78+71515BCDBCD碼是逢碼是逢1010進(jìn)進(jìn)1 1,4 4位二進(jìn)制位二進(jìn)制數(shù)是逢數(shù)是逢1616進(jìn)進(jìn)1 1,如果,如果1 1位位BCDBCD碼碼所對(duì)應(yīng)的所對(duì)應(yīng)的4 4位二進(jìn)制數(shù)超過(guò)位二進(jìn)制數(shù)超過(guò)9 9,可以補(bǔ)加一個(gè)可以補(bǔ)加一個(gè)6 6。+0000 0110+0000 0110 0001 01010001 0101(1515)運(yùn)算器進(jìn)行運(yùn)算器進(jìn)行BCDBCD碼的加法運(yùn)算時(shí),將被加數(shù)、加數(shù)相加后再加碼的加法運(yùn)算時(shí),將被加數(shù)、加數(shù)相加后再加6 6,如果低,如果低4 4位向高位向高4 4位有進(jìn)位,不需要調(diào)整;否則得到的和減位有進(jìn)位,不需要調(diào)整;否則得到的和減6
60、6。 0000 0111 0000 0111+0000 0110+0000 0110 0000 1101 0000 1101(0D0D)例如:例如:7+67+61313+0000 0110+0000 0110 0001 00110001 0011(1313)有進(jìn)位有進(jìn)位正確正確 0000 0011 0000 0011+0000 0101+0000 0101 0000 1000 0000 1000(0808)例如:例如:3+53+58 8+0000 0110+0000 0110 0000 11100000 1110(0E0E)無(wú)進(jìn)位無(wú)進(jìn)位不正確不正確-0000 0110-0000 0110 00
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度排水設(shè)施保險(xiǎn)合同4篇
- 二零二五版飯店蔬菜肉類產(chǎn)地直供合作合同2篇
- 二零二五年度全新科技項(xiàng)目居間合作費(fèi)合同模板下載2篇
- 二零二五年度內(nèi)蒙古肉牛產(chǎn)業(yè)鏈人才培養(yǎng)與引進(jìn)合同
- 2025年度汽車銷售促銷活動(dòng)執(zhí)行合同模板
- 二零二五年度學(xué)校室內(nèi)外體育設(shè)施一體化采購(gòu)合同范本3篇
- 2025年度民間借貸合同監(jiān)督與委托管理服務(wù)合同4篇
- 2025年度面粉加工企業(yè)二零二五年度綠色有機(jī)面粉采購(gòu)合同4篇
- 2025年度新能源汽車抵押擔(dān)保服務(wù)合同
- 二零二五年度公共綠地養(yǎng)護(hù)管理合同范本3篇
- 廣東省茂名市電白區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 2024版?zhèn)€人私有房屋購(gòu)買合同
- 2024爆炸物運(yùn)輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護(hù)保密協(xié)議與信息安全風(fēng)險(xiǎn)評(píng)估合同3篇
- 《食品與食品》課件
- 讀書(shū)分享會(huì)《白夜行》
- 光伏工程施工組織設(shè)計(jì)
- DB4101-T 121-2024 類家庭社會(huì)工作服務(wù)規(guī)范
- 化學(xué)纖維的鑒別與測(cè)試方法考核試卷
- 2024-2025學(xué)年全國(guó)中學(xué)生天文知識(shí)競(jìng)賽考試題庫(kù)(含答案)
- 自動(dòng)駕駛汽車道路交通安全性探討研究論文
評(píng)論
0/150
提交評(píng)論