第4章 中央處理器_第1頁(yè)
第4章 中央處理器_第2頁(yè)
第4章 中央處理器_第3頁(yè)
第4章 中央處理器_第4頁(yè)
第4章 中央處理器_第5頁(yè)
已閱讀5頁(yè),還剩181頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 第第4 4章章 控制器控制器本章主要討論:本章主要討論:運(yùn)算器運(yùn)算器 控制器控制器數(shù)據(jù)通路結(jié)構(gòu)數(shù)據(jù)通路結(jié)構(gòu)與外部的連接與外部的連接指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程,微命令序列的形成微命令序列的形成CPUCPU邏輯邏輯組成組成CPUCPU工作原理工作原理2運(yùn)算器運(yùn)算器 控制器控制器數(shù)據(jù)通路結(jié)構(gòu)數(shù)據(jù)通路結(jié)構(gòu)與外部的連接與外部的連接指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程,微命令序列的形成微命令序列的形成CPUCPU邏輯邏輯組成組成CPUCPU工作原理工作原理u CPU由哪些部件組成由哪些部件組成?u 各部件之間如何交換信息各部件之間如何交換信息?u CPU如何建立與外部的連接如何建立與外部的連接?u CPU如

2、何形成微命令序列如何形成微命令序列, 來(lái)控制指來(lái)控制指令的執(zhí)行令的執(zhí)行?3CPU的基本組成的基本組成l 運(yùn)算部件組織和運(yùn)算方法的實(shí)現(xiàn)運(yùn)算部件組織和運(yùn)算方法的實(shí)現(xiàn)l 通過(guò)一個(gè)通過(guò)一個(gè)CPU模型模型,討論討論CPU數(shù)據(jù)通路結(jié)數(shù)據(jù)通路結(jié)構(gòu)和指令的執(zhí)行過(guò)程構(gòu)和指令的執(zhí)行過(guò)程.1. 從從寄存器傳送級(jí)寄存器傳送級(jí)分析指令的分步執(zhí)行分析指令的分步執(zhí)行流程流程.2. 從從微操作控制級(jí)微操作控制級(jí)闡述寄存器傳送的具闡述寄存器傳送的具體實(shí)現(xiàn)體實(shí)現(xiàn).4* * 概述概述* * CPU CPU的基本組成的基本組成 通常通常,CPU,CPU包含運(yùn)算部件、寄存器組、微命令包含運(yùn)算部件、寄存器組、微命令產(chǎn)生部件、時(shí)序系統(tǒng)等主

3、要部件,這些部件由產(chǎn)生部件、時(shí)序系統(tǒng)等主要部件,這些部件由CPUCPU內(nèi)內(nèi)部的總線連接起來(lái),實(shí)現(xiàn)它們之間的信號(hào)交換。其部的總線連接起來(lái),實(shí)現(xiàn)它們之間的信號(hào)交換。其中運(yùn)算部件和一部分寄存器屬于傳統(tǒng)運(yùn)算器部分,中運(yùn)算部件和一部分寄存器屬于傳統(tǒng)運(yùn)算器部分,另一部分寄存器、微命令產(chǎn)生部件、時(shí)序系統(tǒng)等屬另一部分寄存器、微命令產(chǎn)生部件、時(shí)序系統(tǒng)等屬于傳統(tǒng)控制器部分。于傳統(tǒng)控制器部分。5運(yùn)算部件運(yùn)算部件 寄存器寄存器 寄存器寄存器控制部件控制部件運(yùn)算器運(yùn)算器控制器控制器運(yùn)算器和一部分運(yùn)算器和一部分R 另一部分另一部分R 微命令產(chǎn)生部件微命令產(chǎn)生部件 時(shí)序系統(tǒng)時(shí)序系統(tǒng)由由CPU內(nèi)總線連接這內(nèi)總線連接這些部件些

4、部件.6運(yùn)算部件運(yùn)算部件 寄存器寄存器 寄存器寄存器控制部件控制部件運(yùn)算器運(yùn)算器控制器控制器微型機(jī)微型機(jī): CPU集成運(yùn)算器和控制器集成運(yùn)算器和控制器大巨型計(jì)算機(jī)大巨型計(jì)算機(jī): 運(yùn)算器仍需由多塊芯片構(gòu)成運(yùn)算器仍需由多塊芯片構(gòu)成,與控制器保持相對(duì)獨(dú)立與控制器保持相對(duì)獨(dú)立.71. 運(yùn)算部件運(yùn)算部件對(duì)數(shù)據(jù)進(jìn)行加工處理。對(duì)數(shù)據(jù)進(jìn)行加工處理。(1)輸入邏輯)輸入邏輯(2)ALU(3)輸出邏輯)輸出邏輯移位器移位器ALUALU選擇器通用寄通用寄存器組存器組選擇器運(yùn)算部件的檔次運(yùn)算部件的檔次:n 只有一個(gè)只有一個(gè)ALUn 一個(gè)一個(gè)ALU,配合時(shí)序控制配合時(shí)序控制n 一個(gè)一個(gè)ALU,有定點(diǎn)乘除部件和浮點(diǎn)運(yùn)算部

5、件有定點(diǎn)乘除部件和浮點(diǎn)運(yùn)算部件n 設(shè)置多種運(yùn)算部件設(shè)置多種運(yùn)算部件82. 寄存器組寄存器組寄存器:寄存器:CPU在處理信息的過(guò)程中,用來(lái)暫時(shí)在處理信息的過(guò)程中,用來(lái)暫時(shí)存放各種信息。存放各種信息。(1)通用寄存器組)通用寄存器組 用戶可通過(guò)編程訪問(wèn)的寄存器,在指令系用戶可通過(guò)編程訪問(wèn)的寄存器,在指令系統(tǒng)中為它們分配了相應(yīng)的編號(hào)。指令中以統(tǒng)中為它們分配了相應(yīng)的編號(hào)。指令中以寄存寄存器號(hào)器號(hào)來(lái)指示。來(lái)指示。 通用寄存器通過(guò)編程,可以實(shí)現(xiàn)多種功能,通用寄存器通過(guò)編程,可以實(shí)現(xiàn)多種功能,如提供操作數(shù),存放運(yùn)算結(jié)果,用作地址指針,如提供操作數(shù),存放運(yùn)算結(jié)果,用作地址指針,作基址寄存器、變址寄存器等等。作

6、基址寄存器、變址寄存器等等。9獨(dú)立結(jié)構(gòu)獨(dú)立結(jié)構(gòu)小型存儲(chǔ)器結(jié)構(gòu)小型存儲(chǔ)器結(jié)構(gòu)單口單口雙口雙口寄存器組構(gòu)成形式寄存器組構(gòu)成形式 通用寄存器的命名可以是簡(jiǎn)單地取名為通用寄存器的命名可以是簡(jiǎn)單地取名為R0、R1、R2等。也可以根據(jù)各寄存器的基本任等。也可以根據(jù)各寄存器的基本任務(wù)來(lái)命名,如累加器務(wù)來(lái)命名,如累加器AX、基址寄存器、基址寄存器BX、計(jì)數(shù)、計(jì)數(shù)寄存器寄存器CX、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器DX等等。等等。10(2)暫存器)暫存器 暫存器對(duì)編程者來(lái)說(shuō)是透明的,即在程序暫存器對(duì)編程者來(lái)說(shuō)是透明的,即在程序中不會(huì)出現(xiàn)。中不會(huì)出現(xiàn)。作用作用:暫時(shí)存放:暫時(shí)存放CPU處理過(guò)程中的臨時(shí)信息,處理過(guò)程中的臨時(shí)信

7、息,避免破壞通用寄存器的內(nèi)容。避免破壞通用寄存器的內(nèi)容。例如,實(shí)現(xiàn)從內(nèi)存的單元例如,實(shí)現(xiàn)從內(nèi)存的單元A傳送數(shù)據(jù)到另一個(gè)傳送數(shù)據(jù)到另一個(gè)單元單元B。從單元。從單元A讀出的數(shù)據(jù)先送到讀出的數(shù)據(jù)先送到CPU中的中的一個(gè)暫存器,然后再?gòu)臅捍嫫魉腿雴卧粋€(gè)暫存器,然后再?gòu)臅捍嫫魉腿雴卧狟。11(3)指令寄存器)指令寄存器IR作用作用:用來(lái)存放當(dāng)前正在執(zhí)行的指令。控制:用來(lái)存放當(dāng)前正在執(zhí)行的指令??刂破鞲鶕?jù)其內(nèi)容(操作碼以及地址信息)產(chǎn)生器根據(jù)其內(nèi)容(操作碼以及地址信息)產(chǎn)生所需要的各種微命令。所需要的各種微命令。 為了提高計(jì)算機(jī)的處理速度,現(xiàn)代計(jì)算為了提高計(jì)算機(jī)的處理速度,現(xiàn)代計(jì)算機(jī)一般將指令寄存器擴(kuò)充

8、為指令隊(duì)列(指令機(jī)一般將指令寄存器擴(kuò)充為指令隊(duì)列(指令棧)。形成了指令流水線處理方式棧)。形成了指令流水線處理方式.指令流水線指令流水線:一次預(yù)取多條指令,增加指令間一次預(yù)取多條指令,增加指令間執(zhí)行的銜接速度和并行處理能力。執(zhí)行的銜接速度和并行處理能力。12(4)程序計(jì)數(shù)器)程序計(jì)數(shù)器PC也叫指令計(jì)數(shù)器或指令指針。也叫指令計(jì)數(shù)器或指令指針。作用作用:指示指令在存儲(chǔ)器中的存放位置。:指示指令在存儲(chǔ)器中的存放位置。程序順序執(zhí)行時(shí)程序順序執(zhí)行時(shí),每當(dāng)從主存中取出一條指,每當(dāng)從主存中取出一條指令后,令后,PC內(nèi)容就自動(dòng)增量計(jì)數(shù)內(nèi)容就自動(dòng)增量計(jì)數(shù)(pc=pc+1),指向下一條指令。指向下一條指令。程序發(fā)

9、生轉(zhuǎn)移時(shí)程序發(fā)生轉(zhuǎn)移時(shí),將轉(zhuǎn)移地址送入,將轉(zhuǎn)移地址送入PC,使,使其指向轉(zhuǎn)移目的地的指令地址。其指向轉(zhuǎn)移目的地的指令地址。13(5)程序狀態(tài)字寄存器)程序狀態(tài)字寄存器PSW作用作用:記錄現(xiàn)行程序的:記錄現(xiàn)行程序的運(yùn)行狀態(tài)運(yùn)行狀態(tài)和指示程序的和指示程序的工作方式工作方式。PSW包括特征狀態(tài)位和方式控制位兩部分。包括特征狀態(tài)位和方式控制位兩部分。特征位特征位:進(jìn)位位:進(jìn)位位C、溢出位、溢出位V、零值位、零值位Z、符號(hào)、符號(hào)位位S、奇偶位、奇偶位P等。等。方式控制位方式控制位:跟蹤位:跟蹤位T、中斷允許位、中斷允許位I、程序優(yōu)、程序優(yōu)先級(jí)字段、工作方式字段等。先級(jí)字段、工作方式字段等。14(6)地址

10、寄存器)地址寄存器MAR作用作用:CPU訪問(wèn)主存時(shí),暫時(shí)存放所訪問(wèn)單元訪問(wèn)主存時(shí),暫時(shí)存放所訪問(wèn)單元地址。地址。CPU取指令時(shí)取指令時(shí),先將,先將PC的內(nèi)容送入的內(nèi)容送入MAR,再,再由由MAR將指令的存放地址送往主存譯碼。將指令的存放地址送往主存譯碼。CPU存取數(shù)據(jù)時(shí)存取數(shù)據(jù)時(shí),將數(shù)據(jù)的存放地址先送到,將數(shù)據(jù)的存放地址先送到MAR,再送往主存進(jìn)行地址譯碼。,再送往主存進(jìn)行地址譯碼。PCPCMARMARM,M,譯碼譯碼數(shù)據(jù)存放地址數(shù)據(jù)存放地址MARMARM,M,譯碼譯碼15(7)數(shù)據(jù)緩沖寄存器)數(shù)據(jù)緩沖寄存器MBR作用作用:存放:存放CPU與主存之間交換的數(shù)據(jù)。與主存之間交換的數(shù)據(jù)。 由由CP

11、U寫(xiě)入主存的數(shù)據(jù)先送入寫(xiě)入主存的數(shù)據(jù)先送入MBR,主,主存地址譯碼找到指定單元后,再將數(shù)據(jù)從存地址譯碼找到指定單元后,再將數(shù)據(jù)從MBR送入到該單元。送入到該單元。數(shù)據(jù)數(shù)據(jù)MBRMBR該單元該單元譯碼譯碼, ,尋址尋址寫(xiě)入寫(xiě)入16 從主存中讀出的數(shù)據(jù),先送入從主存中讀出的數(shù)據(jù),先送入MBR,然后,然后再送到指定的再送到指定的CPU內(nèi)部某寄存器。內(nèi)部某寄存器。 MAR和和MBR是連接是連接CPU與主存的橋梁,它們與主存的橋梁,它們可使可使CPU與主存之間的數(shù)據(jù)通路變得比較單一。與主存之間的數(shù)據(jù)通路變得比較單一。這兩個(gè)寄存器不能編程訪問(wèn),即對(duì)用戶透明。這兩個(gè)寄存器不能編程訪問(wèn),即對(duì)用戶透明。主存數(shù)據(jù)

12、主存數(shù)據(jù)MBRMBR某某R R譯碼譯碼, ,尋址尋址讀出讀出174.1 控制器分類、功能和組成控制器分類、功能和組成 在計(jì)算機(jī)內(nèi)部,程序的執(zhí)行過(guò)程體現(xiàn)為信息在計(jì)算機(jī)內(nèi)部,程序的執(zhí)行過(guò)程體現(xiàn)為信息的傳送,即在計(jì)算機(jī)中形成的傳送,即在計(jì)算機(jī)中形成控制流控制流和和數(shù)據(jù)流數(shù)據(jù)流。這些信息的傳送需要靠各種微命令來(lái)控制。這些信息的傳送需要靠各種微命令來(lái)控制。181、控制器的分類:、控制器的分類: 微命令產(chǎn)生部件可以是由一些組合微命令產(chǎn)生部件可以是由一些組合邏輯電路組成,也可以由專門(mén)的存儲(chǔ)邏邏輯電路組成,也可以由專門(mén)的存儲(chǔ)邏輯組成。它們分別對(duì)應(yīng)了輯組成。它們分別對(duì)應(yīng)了組合邏輯控制組合邏輯控制方式方式和和微程

13、序控制方式。微程序控制方式。192、控制器的功能:、控制器的功能: CPU中設(shè)置了微命令產(chǎn)生部件,它中設(shè)置了微命令產(chǎn)生部件,它根據(jù)指令提供的信息產(chǎn)生出各指令所需根據(jù)指令提供的信息產(chǎn)生出各指令所需要的各種微命令序列。要的各種微命令序列。203 3、控制器的組成:、控制器的組成:由寄存器、由寄存器、指令譯碼器、地址形成部件、微指令譯碼器、地址形成部件、微命令產(chǎn)生部件時(shí)序系統(tǒng)和中斷控命令產(chǎn)生部件時(shí)序系統(tǒng)和中斷控制邏輯部件等組成。(制邏輯部件等組成。(P93P93) 21一條指令的讀取與執(zhí)行一條指令的讀取與執(zhí)行,需要分步需要分步: 取指令取指令 取源操作數(shù)取源操作數(shù) 取目的操作數(shù)取目的操作數(shù) 執(zhí)行運(yùn)算

14、操作執(zhí)行運(yùn)算操作 存放結(jié)果存放結(jié)果每個(gè)階段再分為若干步每個(gè)階段再分為若干步, 微命令也是分步產(chǎn)生微命令也是分步產(chǎn)生224. 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 計(jì)算機(jī)能夠有條不紊地自動(dòng)執(zhí)行程序,計(jì)算機(jī)能夠有條不紊地自動(dòng)執(zhí)行程序,很重要的一個(gè)原因就是它有一個(gè)提供精確時(shí)很重要的一個(gè)原因就是它有一個(gè)提供精確時(shí)間信號(hào)的時(shí)序系統(tǒng)。間信號(hào)的時(shí)序系統(tǒng)。 時(shí)序系統(tǒng)產(chǎn)生計(jì)算機(jī)所需要的各種時(shí)間信時(shí)序系統(tǒng)產(chǎn)生計(jì)算機(jī)所需要的各種時(shí)間信息,如息,如周期周期、節(jié)拍節(jié)拍、工作脈沖工作脈沖等。這些信號(hào)等。這些信號(hào)的產(chǎn)生依據(jù)是一個(gè)頻率穩(wěn)定的振蕩器,以及的產(chǎn)生依據(jù)是一個(gè)頻率穩(wěn)定的振蕩器,以及計(jì)數(shù)分頻器或倍頻器。計(jì)數(shù)分頻器或倍頻器。23CPU基本組

15、成基本組成 (整體框架圖整體框架圖)5. CPU內(nèi)部的數(shù)據(jù)通路結(jié)構(gòu)內(nèi)部的數(shù)據(jù)通路結(jié)構(gòu) CPU內(nèi)部各部件之間需要傳送信息,如寄存器將操作數(shù)送到ALU進(jìn)行運(yùn)算,ALU將結(jié)果送到寄存器存放。如何將這些部件連接起來(lái),為信息提供通路?這就涉及CPU內(nèi)部的數(shù)據(jù)結(jié)構(gòu),這是CPU組成的核心問(wèn)題。24 通常,內(nèi)部較簡(jiǎn)單的CPU 中,只設(shè)置一組數(shù)據(jù)傳送總線,用來(lái)連接CPU內(nèi)的寄存器與ALU部件,在微處理器中常將這組總線稱為ALU總線。在較復(fù)雜的CPU中,為了提高工作速度,可能設(shè)置了幾組數(shù)據(jù)總線,同時(shí)傳送多個(gè)數(shù)據(jù)。25 有的CPU中還包含了用于控制的存儲(chǔ)邏輯部件、管理內(nèi)存的地址變換部件,這樣除了數(shù)據(jù)線外,還有傳送地

16、址信息的地址總線。26 現(xiàn)在的CPU結(jié)構(gòu)都較復(fù)雜。例如,設(shè)置指令棧(稱為指令隊(duì)列),以便預(yù)取若干條指令;相應(yīng)的操作數(shù)棧;專用ROM(稱為控制存儲(chǔ)器)以存放微程序,用于存儲(chǔ)管理的段地址運(yùn)算和頁(yè)地址運(yùn)算的多個(gè)運(yùn)算部件;片內(nèi)高速Cache等。2728特點(diǎn)特點(diǎn):l 移位器只能向內(nèi)部總線發(fā)送數(shù)據(jù)移位器只能向內(nèi)部總線發(fā)送數(shù)據(jù),不能直接不能直接從內(nèi)總線上接收數(shù)據(jù)從內(nèi)總線上接收數(shù)據(jù)l 寄存器只能從內(nèi)總線上接收數(shù)據(jù)寄存器只能從內(nèi)總線上接收數(shù)據(jù),而不能直而不能直接向內(nèi)總線發(fā)送數(shù)據(jù)接向內(nèi)總線發(fā)送數(shù)據(jù)l ALU既是運(yùn)算部件既是運(yùn)算部件,又是又是CPU內(nèi)數(shù)據(jù)傳送通內(nèi)數(shù)據(jù)傳送通路的中心路的中心.4.2 時(shí)序控制與信息傳送

17、 我們知道:計(jì)算機(jī)在執(zhí)行指令時(shí)是分步進(jìn)行的,因此在微命令的形成邏輯中引入了時(shí)間標(biāo)志-時(shí)序信號(hào),這樣,計(jì)算機(jī)的操作能在不同的時(shí)間段中有序地完成。而操作是受時(shí)序信號(hào)同步控制的。當(dāng)然,計(jì)算機(jī)機(jī)中也有一些操作,如系統(tǒng)總線上的一些數(shù)據(jù)傳送則不受時(shí)序信號(hào)同步控制。 通常,把時(shí)序信號(hào)分為同步控制和異步控制兩大類。29 1、同步控制方式、同步控制方式 指用統(tǒng)一發(fā)出的時(shí)序信號(hào)對(duì)各項(xiàng)操作進(jìn)行同步控制。這里的時(shí)序信號(hào)就是指具有周期、節(jié)拍、脈沖等信號(hào)。 在同步控制中,操作時(shí)間被劃分為許多長(zhǎng)度固定的時(shí)間段,一個(gè)時(shí)間段就是一個(gè)節(jié)拍(時(shí)鐘周期)。每個(gè)時(shí)間周期完成一步操作。不同的計(jì)算機(jī)有不同的安排。30 如CPU內(nèi)部數(shù)據(jù)通路

18、的一次傳送操作安排在一個(gè)時(shí)鐘周期內(nèi)完成,因而時(shí)鐘周期較短;而訪問(wèn)一次存儲(chǔ)器的時(shí)間作為一個(gè)時(shí)鐘周期時(shí)間,則時(shí)鐘周期較長(zhǎng)。 時(shí)鐘周期是基本的時(shí)序單位,一旦確定便固定不變,這就是同步控制方式的主要特點(diǎn)。 31 CPU根據(jù)統(tǒng)一的時(shí)鐘周期為指令的執(zhí)行安排嚴(yán)格的時(shí)間表,各操作必須按時(shí)間表執(zhí)行,即在規(guī)定的時(shí)鐘周期內(nèi)完成本步操作,時(shí)鐘周期一結(jié)束,本步操作也結(jié)束,并開(kāi)始下一步操作。各步操作間的銜接由時(shí)鐘周期自動(dòng)切換來(lái)控制。32 有許多操作要求在約定的時(shí)刻同步定時(shí)執(zhí)行。例如加法運(yùn)算中,由于進(jìn)位傳遞的延遲,加法器各位形成穩(wěn)定的結(jié)果需要一段時(shí)間,而將結(jié)果送入目的寄存器的時(shí)刻則是嚴(yán)格定時(shí)的,這就需要產(chǎn)生一種統(tǒng)一的同步打

19、入(送入)脈沖,在脈沖的上升沿時(shí)刻打入運(yùn)算結(jié)果。33 時(shí)鐘周期提供加法運(yùn)算的時(shí)間段。同步打入脈沖決定打入運(yùn)算結(jié)果的時(shí)刻。在一個(gè)CPU中可能同時(shí)有幾個(gè)數(shù)據(jù)傳送操作,如將寄存器R0的內(nèi)容同時(shí)送入寄存器、,一般需要將它們的打入脈沖同步定時(shí)在同一時(shí)刻。34 通常,在CPU內(nèi)部有一組時(shí)序信號(hào)系統(tǒng),產(chǎn)生統(tǒng)一的時(shí)序信號(hào)來(lái)控制CPU內(nèi)部的各項(xiàng)操作各部件之間的數(shù)據(jù)傳送。在一個(gè)計(jì)算機(jī)系統(tǒng)中,主存、各外部設(shè)備都有自己的時(shí)序系統(tǒng),產(chǎn)生相應(yīng)的時(shí)序信號(hào)控制設(shè)備內(nèi)的操作。這里就存在一個(gè)問(wèn)題: CPU、主存與外部設(shè)備之間的數(shù)據(jù)傳送怎樣協(xié)調(diào)控制?35 在同步控制方式中,一般由CPU提供統(tǒng)一的時(shí)序信號(hào)來(lái)控制它們的操作。例如:由C

20、PU提供時(shí)鐘周期,發(fā)出輸入脈沖或輸出脈沖,在一個(gè)或多個(gè)時(shí)鐘周期內(nèi)完成數(shù)據(jù)在總線上的傳送,用輸入脈沖或輸出脈沖對(duì)數(shù)據(jù)的接收進(jìn)行定時(shí)。36 同步控制方式優(yōu)點(diǎn):1、時(shí)序關(guān)系簡(jiǎn)單2、時(shí)序劃分規(guī)整3、控制結(jié)構(gòu)易于集中,設(shè)計(jì)方便。 所以,在CPU內(nèi)部、主存、外設(shè)等均廣泛采用同步控制方式。37 同步控制方式缺點(diǎn):1、時(shí)間安排不合理。2、時(shí)間的利用不經(jīng)濟(jì)。 所以,在系統(tǒng)總線上的信息傳送可采用異步控制方式。38 2、異步控制方式、異步控制方式 是指各項(xiàng)操作不受統(tǒng)一時(shí)序信號(hào)(如時(shí)鐘周期)的約束,而是根據(jù)實(shí)際需要安排不同的時(shí)間。各操作之間的銜接、各部件之間的數(shù)據(jù)傳送均采用異步應(yīng)答方式。 由于時(shí)序系統(tǒng)不為操作預(yù)先安排

21、固定時(shí)間,異步控制方式中采用應(yīng)答方式(申請(qǐng)、響應(yīng)、詢問(wèn)和回答)來(lái)了解操作時(shí)間的開(kāi)始和結(jié)束。 39 應(yīng)答的雙方分別稱為主設(shè)備和從設(shè)備。主設(shè)備是指申請(qǐng)并掌握總線控制權(quán)的設(shè)備(主動(dòng)的一方),從設(shè)備是指響應(yīng)主設(shè)備要求的設(shè)備(被動(dòng)的一方)從設(shè)備不能掌握總線控制權(quán)。應(yīng)答過(guò)程由主設(shè)備啟動(dòng)。40 3、同步控制在實(shí)際應(yīng)用中的變化、同步控制在實(shí)際應(yīng)用中的變化 一般來(lái)講,在CPU或設(shè)備內(nèi)部的操作中普遍采用同步控制方式。在CPU、主存和外部設(shè)備的系統(tǒng)總線上,有的采用同步控制方式,則有的采用異步控制方式來(lái)控制總線傳送操作。同步控制不復(fù)雜,而異步控制方式則能按需要分配時(shí)間。41 因此,在實(shí)際應(yīng)用中,是把兩種方式的優(yōu)點(diǎn)結(jié)合

22、起來(lái):(1)不同指令安排不同的時(shí)鐘周期數(shù)。(2)總線周期中允許插入延長(zhǎng)周期。(3)同步方式中引入異步應(yīng)答。42 43l 在設(shè)計(jì)CPU時(shí),不僅要考慮主機(jī)內(nèi)部的信息傳遞(如CPU內(nèi)部、CPU與主存間的傳遞),還要考慮主機(jī)與外部設(shè)備間的信息交換。由于VLSI的發(fā)展,CPU已被集成為一塊芯片。人們更為關(guān)心的是CPU與外部的連接、信息傳遞方式等。l 44l一、主機(jī)與外設(shè)連接模式 l 主機(jī)與外設(shè)的信息交換是通過(guò)其間的數(shù)據(jù)傳送通路來(lái)實(shí)現(xiàn)。傳送通路的連接模式可分為:l1、輻射型l2、總線型l3、通道型。 45l 1.1.輻射式輻射式 主機(jī)主機(jī)I/OI/OI/OI/OI/OI/O早期:不易擴(kuò)展早期:不易擴(kuò)展 主

23、機(jī)主機(jī) 接口接口 接口接口I/OI/OI/OI/OI/OI/O現(xiàn)在:便于擴(kuò)展現(xiàn)在:便于擴(kuò)展 46l 2.2.總線式總線式 主機(jī)主機(jī) 接口接口 接口接口 I/OI/O I/OI/O便于擴(kuò)展便于擴(kuò)展總線總線 總線型連接常用于微機(jī)、小型機(jī)。例如Pentium PC機(jī),設(shè)置了三種不同速度的系統(tǒng)總線:CPU總線、PCI總線、ISA總線。CPU總線連接Pentium CPU與主存、片外高速緩存;PCI總線連接高性能顯示卡、高速局網(wǎng)卡、SCSI盤(pán)卡等高速I(mǎi)/O設(shè)備;ISA總線連接打印機(jī)、調(diào)制解調(diào)器等低速I(mǎi)/O設(shè)備。47 48l l I/OI/O3.3.通道式通道式 主機(jī)主機(jī) 通道通道 通道通道I/OI/OI

24、/OI/OI/OI/O并行能力提高并行能力提高 在較大型的計(jì)算機(jī)系統(tǒng)中,由于外設(shè)種類多、數(shù)量大,需要設(shè)置專門(mén)的控制部件來(lái)管理I/O操作-通道。就是把星型與總線型結(jié)合的多級(jí)連接模式。 主機(jī)采用星型方式,通過(guò)多個(gè)獨(dú)立通路與若干通道連接,每個(gè)通道再按總線方式連接多臺(tái)外設(shè),不同速度的外設(shè)接入不同的通道上。49 4.2.5 信息傳遞控制方式信息傳遞控制方式主機(jī)與外設(shè)間是怎樣控制信息的傳送?何時(shí)啟動(dòng)外設(shè)、何時(shí)傳送信息通常,可以通過(guò)三種控制方式完成:50 1、直接程序傳送方式、直接程序傳送方式 就是CPU現(xiàn)行程序中通過(guò)直接執(zhí)行I/O指令來(lái)實(shí)現(xiàn)信息的傳送。由于啟動(dòng)外設(shè)和數(shù)據(jù)交換均在同一段程序中進(jìn)行,因此CPU

25、在啟動(dòng)外設(shè)后只能查詢外設(shè)的狀態(tài),等待外設(shè)準(zhǔn)備好或完成一次操作,再用I/O指令與外設(shè)進(jìn)行數(shù)據(jù)交換。也稱為程序查詢方式。 主要是CPU查詢外設(shè)的狀態(tài),根據(jù)外設(shè)狀態(tài)決定需要完成的操作。51 52l 2.2.程序中斷傳送方式程序中斷傳送方式查詢方式查詢方式(1 1)中斷的引入)中斷的引入程序程序并行操作并行操作主機(jī)主機(jī)外設(shè)外設(shè)空閑空閑啟動(dòng)啟動(dòng)等待等待工作工作程序程序交換數(shù)據(jù)交換數(shù)據(jù)中斷:中斷:主機(jī)主機(jī)程序程序外設(shè)外設(shè)空閑空閑啟動(dòng)啟動(dòng)工作工作程序程序請(qǐng)求請(qǐng)求中斷程序中斷程序交換數(shù)據(jù)交換數(shù)據(jù)程序程序 (2)中斷定義)中斷定義 在查詢方式中CPU啟動(dòng)外設(shè)工作后,之所以要查詢等待,是為了確定外設(shè)何時(shí)完成工作。

26、這種CPU主動(dòng)查詢也可改為由外設(shè)主動(dòng)報(bào)告。這樣,在外設(shè)工作期間,CPU不等待而繼續(xù)執(zhí)行原來(lái)的程序,即CPU與外設(shè)在這段時(shí)間內(nèi)是并行工作。 53 當(dāng)外設(shè)準(zhǔn)備好或完成一次操作后,主動(dòng)向CPU提出請(qǐng)求;CPU收到該請(qǐng)求后便可以與外設(shè)進(jìn)行數(shù)據(jù)傳送。 在CPU執(zhí)行程序期間,外設(shè)何時(shí)提出請(qǐng)求完全是隨機(jī)的,因而不可能將數(shù)據(jù)傳送工作預(yù)先安排在放在另一段程序里(這里所指的程序就是我們常說(shuō)的中斷程序)。54 CPU收到隨機(jī)中斷請(qǐng)求后,收到隨機(jī)中斷請(qǐng)求后,暫時(shí)停止現(xiàn)行程序的執(zhí)行,轉(zhuǎn)暫時(shí)停止現(xiàn)行程序的執(zhí)行,轉(zhuǎn)去執(zhí)行為隨機(jī)事件服務(wù)的中斷去執(zhí)行為隨機(jī)事件服務(wù)的中斷處理程序,處理完畢后自動(dòng)恢處理程序,處理完畢后自動(dòng)恢復(fù)原來(lái)

27、程序的執(zhí)行。復(fù)原來(lái)程序的執(zhí)行。55 這里的隨機(jī)事件泛指故障、某個(gè)到時(shí)的控制信號(hào)、程序執(zhí)行中出現(xiàn)無(wú)法預(yù)測(cè)的隨機(jī)事件等。 中斷方式是通過(guò)執(zhí)行中斷處理程序來(lái)處理隨機(jī)事件的。中斷處理程序又稱為中斷服務(wù)程序或中斷子程序,是按處理過(guò)程事先編制好的。 56 57l 響應(yīng)響應(yīng)邏輯邏輯設(shè)備工作完成設(shè)備工作完成判優(yōu)判優(yōu)邏輯邏輯請(qǐng)求請(qǐng)求邏輯邏輯屏蔽屏蔽邏輯邏輯非屏蔽非屏蔽CPUCPU送屏蔽字送屏蔽字( (動(dòng)態(tài)改變?cè)O(shè)動(dòng)態(tài)改變?cè)O(shè) 備優(yōu)先級(jí)備優(yōu)先級(jí)) )設(shè)備提出請(qǐng)求設(shè)備提出請(qǐng)求判別設(shè)備優(yōu)先級(jí)判別設(shè)備優(yōu)先級(jí)CPUCPU響應(yīng)請(qǐng)求,響應(yīng)請(qǐng)求,并轉(zhuǎn)相應(yīng)服務(wù)并轉(zhuǎn)相應(yīng)服務(wù)程序入口程序入口CPUCPU接口接口注意區(qū)分注意區(qū)分CPUCP

28、U對(duì)請(qǐng)求的對(duì)請(qǐng)求的屏蔽屏蔽和對(duì)請(qǐng)求的和對(duì)請(qǐng)求的響應(yīng)響應(yīng)。送屏蔽字送屏蔽字開(kāi)開(kāi)/ /關(guān)中斷關(guān)中斷CPU禁止禁止/允允許設(shè)備請(qǐng)求許設(shè)備請(qǐng)求 58l l 啟動(dòng)外設(shè)啟動(dòng)外設(shè)一條指令結(jié)束一條指令結(jié)束時(shí)有中斷請(qǐng)求?時(shí)有中斷請(qǐng)求?N NY Y繼續(xù)原程序繼續(xù)原程序(3 3)中斷流程)中斷流程CPUCPU內(nèi)設(shè)置允許中斷標(biāo)志內(nèi)設(shè)置允許中斷標(biāo)志=1 =1 允許響應(yīng)中斷允許響應(yīng)中斷(開(kāi)中斷)(開(kāi)中斷)=0 =0 不允許響應(yīng)中斷不允許響應(yīng)中斷(關(guān)中斷)(關(guān)中斷) 開(kāi)中斷開(kāi)中斷執(zhí)行中斷執(zhí)行中斷服務(wù)程序服務(wù)程序繼續(xù)原程序繼續(xù)原程序響應(yīng)響應(yīng)返回返回 中斷服務(wù)程序可以擴(kuò)充,所以其處理能力很強(qiáng)。它可以處理非常復(fù)雜的隨機(jī)事件。但在

29、中斷服務(wù)程序與原來(lái)執(zhí)行的程序間切換需要一定的時(shí)間,這樣就會(huì)影響到中斷處理的速度。所以,中斷方式更適合于中、低速的I/O操作。59 (4)應(yīng)用場(chǎng)合)應(yīng)用場(chǎng)合 用于中、低速用于中、低速I(mǎi)/O操作或處理復(fù)雜隨機(jī)事操作或處理復(fù)雜隨機(jī)事態(tài)。態(tài)。 對(duì)于高速的如磁盤(pán)等設(shè)備的I/O操作,則采用直接存儲(chǔ)器存?。ㄔL問(wèn))方式-DMA。60 3、DMA傳送方式傳送方式 這是直接依靠硬件在主存與I/O設(shè)備間傳送數(shù)據(jù)的一種工作方式。在傳送期間,不需要CPU執(zhí)行程序進(jìn)行干預(yù)。 6162 早期的計(jì)算機(jī)系統(tǒng)中,由早期的計(jì)算機(jī)系統(tǒng)中,由CPUCPU發(fā)送命發(fā)送命令控制令控制DMADMA傳送,即傳送,即CPUCPU響應(yīng)設(shè)備提出的響應(yīng)

30、設(shè)備提出的DMADMA請(qǐng)求之后,在一個(gè)周期內(nèi)暫停執(zhí)行程請(qǐng)求之后,在一個(gè)周期內(nèi)暫停執(zhí)行程序(不進(jìn)行程序切換),實(shí)現(xiàn)序(不進(jìn)行程序切換),實(shí)現(xiàn)DMADMA傳送。傳送。這個(gè)周期稱為這個(gè)周期稱為DMADMA周期。這種方式稱為周周期。這種方式稱為周期挪用或周期竊取。期挪用或周期竊取。 在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,是通過(guò)設(shè)置一種專用的控制器-DMA控制器,即DMA控制器。CPU響應(yīng)DMA請(qǐng)求后,暫停使用系統(tǒng)總線和訪存,由DMA控制器掌握總線權(quán),在DMA周期中發(fā)出命令,實(shí)現(xiàn)主存與I/O設(shè)備間的DMA傳送。CPU僅暫停執(zhí)行程序而不是切換程序,因而不必保存斷點(diǎn)、現(xiàn)場(chǎng)等信息,響應(yīng)速度大為提高。63 在DMA操作前,還必須

31、確定:從主存的哪個(gè)單元開(kāi)始傳送?數(shù)據(jù)量有多大?是從主存?zhèn)魍庠O(shè)還是外設(shè)傳主存?與外設(shè)的什么地址交換數(shù)據(jù)?這些問(wèn)題無(wú)法直接通過(guò)硬件解決,需由程序事先準(zhǔn)備相關(guān)控制信息-DMA的初始化操作。另外:一批數(shù)據(jù)傳送后如何判斷是否正確,也需通過(guò)中斷方式處理。也就是說(shuō):DMA傳送前和傳送后都需要CPU執(zhí)行程序來(lái)干預(yù)。64 傳送方向傳送方向:即是輸入還是輸出。該信息可以包括在控制字中,由程序送到DMA控制器中的有關(guān)控制邏輯。主存緩沖區(qū)首地址主存緩沖區(qū)首地址:為了與主存進(jìn)行數(shù)據(jù)傳送,需在主存中劃一個(gè)對(duì)應(yīng)于外設(shè)的緩沖區(qū),從緩沖區(qū)向外設(shè)輸出數(shù)據(jù)或由外設(shè)向緩沖區(qū)輸入數(shù)據(jù)。65 為此,在DMA 控制器中設(shè)置一個(gè)地址計(jì)數(shù)器,

32、初始化時(shí)將主存緩沖區(qū)首地址送入該計(jì)數(shù)器,以后每傳一個(gè)數(shù)據(jù)便修改該計(jì)數(shù)值,使它指向下一個(gè)數(shù)據(jù)所對(duì)應(yīng)的主存地址。66 交換數(shù)據(jù)量交換數(shù)據(jù)量:通常,啟動(dòng)一次DMA要傳送一批數(shù)據(jù),每次DMA初始化后將要傳送一個(gè)或幾個(gè)數(shù)據(jù)塊。這樣,就必須給出起始地址、傳送量(如字節(jié)數(shù)或數(shù)據(jù)塊數(shù))。DMA控制器中也設(shè)置一 個(gè)計(jì)數(shù)器來(lái)控制傳送數(shù)據(jù)的結(jié)束。外設(shè)尋址信息外設(shè)尋址信息:這是如磁盤(pán)驅(qū)動(dòng)器號(hào)、磁道號(hào)、磁頭號(hào)、起始數(shù)據(jù)塊號(hào)等。這些信息通常由程序送入DMA接口的相應(yīng)邏輯中。67 CPU在完成初始化后,啟動(dòng)有關(guān)外部設(shè)備(如磁盤(pán)存儲(chǔ)器;然后CPU可以繼續(xù)執(zhí)行自己的程序。當(dāng)外部設(shè)備準(zhǔn)備好傳送一 個(gè)數(shù)據(jù)的條件,就向CPU提出請(qǐng)求

33、。 CPU響應(yīng)后進(jìn)入DMA周期,由DMA控制器接管系統(tǒng)總線權(quán),在主存緩沖區(qū)和磁盤(pán)接口間進(jìn)行一次傳送。當(dāng)準(zhǔn)備好下一個(gè)數(shù)據(jù)的傳送,外設(shè)再次向CPU提出請(qǐng)求。若干次DMA請(qǐng)求,占用數(shù)次DMA周期來(lái)完成所要求的數(shù)據(jù)傳送。68 在DMA傳送期間,CPU程序并不干預(yù)。如果傳送中存在錯(cuò)誤,將由有關(guān)的狀態(tài)字記錄下來(lái),留待DMA批量傳送結(jié)束后再作善后處理。通常,在批量傳送結(jié)束時(shí),由外設(shè)接口向CPU發(fā)出中斷請(qǐng)求,CPU通過(guò)調(diào)用中斷處理程序進(jìn)行處理。所以,DMA傳送是:DMA方式實(shí)現(xiàn)快速的數(shù)據(jù)直接傳送,中斷方式處理復(fù)雜的事態(tài)(如善后處理)。 后面給出DMA方式才流程圖。69 70l DMADMA初始化初始化啟動(dòng)啟動(dòng)

34、I/OI/O設(shè)備設(shè)備DMADMA請(qǐng)求請(qǐng)求DMADMA請(qǐng)求請(qǐng)求中斷請(qǐng)求中斷請(qǐng)求響應(yīng)響應(yīng)返回返回結(jié)束處理結(jié)束處理(DMADMA傳送)傳送)DMADMA方式的程序組織方式的程序組織 響應(yīng)DMA請(qǐng)求后的DMA傳送是在DMA控制器硬件控制下實(shí)現(xiàn)的,并不是執(zhí)行程序(指令);編制程序時(shí)無(wú)需考慮,所以圖中以括號(hào)標(biāo)注的程序并不存在硬件隱指令操作。71 綜上所述,DMA實(shí)現(xiàn)的思想:由CPU通過(guò)執(zhí)行程序?qū)MA進(jìn)行初始化,將有關(guān)控制信息發(fā)給DMA控制器,CPU不再干預(yù);以后以響應(yīng)隨機(jī)請(qǐng)求方式,由DMA控制器實(shí)現(xiàn)DMA傳送;批量結(jié)束時(shí),CPU以響應(yīng)中斷請(qǐng)求方式進(jìn)行結(jié)束處理。72 73l (2 2)硬件設(shè)置)硬件設(shè)置

35、操作類型操作類型 地址計(jì)數(shù)地址計(jì)數(shù)控制傳送方向控制傳送方向DMADMA控制器控制器接口接口提供主存地址提供主存地址 交換量計(jì)數(shù)交換量計(jì)數(shù)控制傳送次數(shù)控制傳送次數(shù) 請(qǐng)求請(qǐng)求DMADMA中斷中斷 數(shù)據(jù)緩沖數(shù)據(jù)緩沖傳遞請(qǐng)求傳遞請(qǐng)求暫存交換數(shù)據(jù)暫存交換數(shù)據(jù) 外設(shè)尋址外設(shè)尋址提供外設(shè)地址提供外設(shè)地址初始化信息初始化信息 74l 啟動(dòng)外設(shè)啟動(dòng)外設(shè) 一個(gè)總線周期結(jié)一個(gè)總線周期結(jié) 束時(shí)有束時(shí)有DMADMA請(qǐng)求?請(qǐng)求?N NY Y 繼續(xù)程序繼續(xù)程序傳送初始化:傳送操作類型、傳送初始化:傳送操作類型、主存首址、交換量、外設(shè)尋主存首址、交換量、外設(shè)尋址信息址信息一次一次DMADMA傳送傳送 地址地址+ +1 交換量

36、交換量- -1 一條指令結(jié)束一條指令結(jié)束 時(shí)有中斷請(qǐng)求?時(shí)有中斷請(qǐng)求?中斷處理中斷處理Y Y交換量交換量=0=0?N NY Y申請(qǐng)中斷申請(qǐng)中斷N N響應(yīng)響應(yīng) 75l 主程序主程序?qū)崿F(xiàn)初始化。實(shí)現(xiàn)初始化。DMADMA傳送的三個(gè)階段:傳送的三個(gè)階段:程序準(zhǔn)備:程序準(zhǔn)備:DMADMA傳送:傳送:善后處理:善后處理:硬件硬件實(shí)現(xiàn)實(shí)現(xiàn)M MI/OI/O。中斷處理程序中斷處理程序判斷傳送的正誤。判斷傳送的正誤。 DMA DMA方式只占用系統(tǒng)總線,不切換程序,不方式只占用系統(tǒng)總線,不切換程序,不需要保存和恢復(fù)斷點(diǎn)、保護(hù)和恢復(fù)現(xiàn)場(chǎng)等操需要保存和恢復(fù)斷點(diǎn)、保護(hù)和恢復(fù)現(xiàn)場(chǎng)等操作。因此能進(jìn)行快速處理。作。因此能進(jìn)行

37、快速處理。 76l 應(yīng)用場(chǎng)合應(yīng)用場(chǎng)合用于高速、簡(jiǎn)單、批量數(shù)據(jù)用于高速、簡(jiǎn)單、批量數(shù)據(jù)傳送。傳送。DMADMA與中斷的相同點(diǎn):與中斷的相同點(diǎn):能響應(yīng)隨機(jī)請(qǐng)求;可并行操作。能響應(yīng)隨機(jī)請(qǐng)求;可并行操作。DMADMA與中斷的不同點(diǎn):與中斷的不同點(diǎn):中斷:用程序?qū)崿F(xiàn)中、低速中斷:用程序?qū)崿F(xiàn)中、低速I(mǎi)/OI/O傳送;能處理復(fù)雜傳送;能處理復(fù)雜 一條指令結(jié)束時(shí)響應(yīng)請(qǐng)求。一條指令結(jié)束時(shí)響應(yīng)請(qǐng)求。事態(tài);事態(tài);DMADMA:用硬件實(shí)現(xiàn)高速、簡(jiǎn)單用硬件實(shí)現(xiàn)高速、簡(jiǎn)單I/OI/O傳送;一個(gè)總線傳送;一個(gè)總線 周期結(jié)束時(shí)響應(yīng)請(qǐng)求。周期結(jié)束時(shí)響應(yīng)請(qǐng)求。 程序切換程序切換總線權(quán)切換總線權(quán)切換 DMA的優(yōu)點(diǎn)是傳送速度快、傳送

38、操作簡(jiǎn)單。適合高速外設(shè)與主存間的批量數(shù)據(jù)傳送。 實(shí)際工作中,是采用中斷方式還是DMA方式,要根據(jù)具體情況和環(huán)境來(lái)定。774.4 組合邏輯控制器組合邏輯控制器概述組合邏輯控制器概述 在CPU中,控制器的作用是決定在什么時(shí)間、根據(jù)什么條件、發(fā)什么命令、做什么操作。因此產(chǎn)生微命令的依據(jù)是時(shí)間(如周期、節(jié)拍、脈沖等時(shí)序信號(hào))、指令代碼(如操作碼、尋址方式、寄存器號(hào))、狀態(tài)(如CPU內(nèi)部的程序狀態(tài)字、外設(shè)的狀態(tài))、外部請(qǐng)求(如控制臺(tái)請(qǐng)求、外部中斷請(qǐng)求、DMA請(qǐng)求)等。78 按照微命令的形成方式,控制器分為組合邏輯控制器、微程序控制器。79 這些信息可作為邏輯變量,經(jīng)組合邏輯電路產(chǎn)生微命令序列;也可形成相

39、應(yīng)的微程序地址,通過(guò)執(zhí)行微指令直接產(chǎn)生微命令序列。80 81l 1.1.組合邏輯控制器的時(shí)序劃分組合邏輯控制器的時(shí)序劃分即時(shí)序信號(hào)與操作的關(guān)系即時(shí)序信號(hào)與操作的關(guān)系 采用三級(jí)時(shí)序系統(tǒng):采用三級(jí)時(shí)序系統(tǒng):指令周期指令周期工作周期工作周期1 1工作周期工作周期2 2工作周期工作周期n n時(shí)鐘周期時(shí)鐘周期1 1時(shí)鐘周期時(shí)鐘周期2 2時(shí)鐘周期時(shí)鐘周期m m.工作脈沖工作脈沖1 1工作脈沖工作脈沖2 2工作脈沖工作脈沖k k.( (節(jié)拍節(jié)拍1)1)( (節(jié)拍節(jié)拍2)2)( (節(jié)拍節(jié)拍m)m) 82 2 2、 時(shí)序關(guān)系:時(shí)序關(guān)系:振蕩器輸出振蕩器輸出工作周期工作周期1 1工作周期工作周期2 2工作周期工作

40、周期3 3時(shí)鐘時(shí)鐘T1T1工作脈沖工作脈沖P P時(shí)鐘時(shí)鐘T2T2指令周期指令周期控制不同階段操作時(shí)間控制不同階段操作時(shí)間控制分步操作時(shí)間控制分步操作時(shí)間對(duì)微操作定時(shí)對(duì)微操作定時(shí)取指取指執(zhí)行執(zhí)行取數(shù)取數(shù)取出指令取出指令修改修改PC打入打入IR打入打入PC 3、組合邏輯控制器、組合邏輯控制器 由于每個(gè)微命令的產(chǎn)生都需要邏輯條件和時(shí)間條件,把條件作為輸入,微命令作為輸出,它們之間的關(guān)系可用邏輯表達(dá)式來(lái)表示,并可用組合邏輯電路來(lái)實(shí)現(xiàn)。每種微命令需要一組邏輯電路,全機(jī)所有微命令所需的邏輯電路構(gòu)成了微命令發(fā)生器。 83 執(zhí)行指令時(shí),由組合邏輯電路(微命令發(fā)生器)在相應(yīng)時(shí)間發(fā)出所需的微命令,控制有關(guān)操作。這

41、種產(chǎn)生微命令的方式就是組合邏輯控制方式。84 通常,組合邏輯控制器包括:微命令發(fā)生器、指令寄存器IR、程序計(jì)數(shù)器PC、狀態(tài)寄存器PSW、時(shí)序系統(tǒng)等部件。 微命令發(fā)生器由若干門(mén)電路組成。85 86l 微命令微命令發(fā)生器發(fā)生器微命令序列微命令序列I/OI/O狀態(tài)狀態(tài)控制臺(tái)信息控制臺(tái)信息運(yùn)行狀態(tài)運(yùn)行狀態(tài)譯碼譯碼. PSW PSW 時(shí)序時(shí)序 IR IR地址形成地址形成PCPCD尋尋來(lái)自來(lái)自M送送M或或ALU+1送送M 874.4.時(shí)序控制方式及其變化時(shí)序控制方式及其變化(1 1)同步控制)同步控制各項(xiàng)操作受統(tǒng)一時(shí)序控制。各項(xiàng)操作受統(tǒng)一時(shí)序控制。定義:定義:特點(diǎn):特點(diǎn):有明顯時(shí)序時(shí)間劃分;有明顯時(shí)序時(shí)間

42、劃分;時(shí)鐘周期時(shí)間固定;時(shí)鐘周期時(shí)間固定;各步操作的銜接、各部件之間的數(shù)據(jù)傳各步操作的銜接、各部件之間的數(shù)據(jù)傳 送受?chē)?yán)格同步定時(shí)控制。送受?chē)?yán)格同步定時(shí)控制。各項(xiàng)操作受各項(xiàng)操作受統(tǒng)一時(shí)序統(tǒng)一時(shí)序控制??刂啤S捎蒀PUCPU或或其他設(shè)備其他設(shè)備提供提供優(yōu)缺點(diǎn):優(yōu)缺點(diǎn):控制邏輯易于集中,便于管理。控制邏輯易于集中,便于管理。時(shí)序關(guān)系簡(jiǎn)單,時(shí)序劃分規(guī)整,控制不復(fù)雜;時(shí)序關(guān)系簡(jiǎn)單,時(shí)序劃分規(guī)整,控制不復(fù)雜;但時(shí)間安排不合理。但時(shí)間安排不合理。 88應(yīng)用場(chǎng)合:應(yīng)用場(chǎng)合:用于用于CPUCPU內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作( (各掛接各掛接部件速度相近,傳送時(shí)間確定,傳送距離較近部件

43、速度相近,傳送時(shí)間確定,傳送距離較近) )。(2 2)異步控制)異步控制 各項(xiàng)操作按不同需要安排時(shí)間,不受統(tǒng)各項(xiàng)操作按不同需要安排時(shí)間,不受統(tǒng)一時(shí)序控制。一時(shí)序控制。定義:定義:特點(diǎn):特點(diǎn): 無(wú)統(tǒng)一時(shí)鐘周期劃分;無(wú)統(tǒng)一時(shí)鐘周期劃分;各操作間的銜接和各部件之間的信息交換采各操作間的銜接和各部件之間的信息交換采用異步應(yīng)答方式。用異步應(yīng)答方式。 89l 例例. .總線的異步傳送操作總線的異步傳送操作 主設(shè)備:主設(shè)備:申請(qǐng)并掌握總線權(quán)的設(shè)備。申請(qǐng)并掌握總線權(quán)的設(shè)備??偩€總線主主從從 從設(shè)備:從設(shè)備:響應(yīng)主設(shè)備請(qǐng)求的設(shè)備。響應(yīng)主設(shè)備請(qǐng)求的設(shè)備。發(fā)發(fā)/接接接接/發(fā)發(fā) 90主設(shè)備獲得總線控制權(quán)主設(shè)備獲得總線

44、控制權(quán) 操作流程:操作流程: 主設(shè)備詢問(wèn)從設(shè)備主設(shè)備詢問(wèn)從設(shè)備主設(shè)備發(fā)送主設(shè)備發(fā)送/ /接收數(shù)據(jù)接收數(shù)據(jù)主設(shè)備釋放總線控制權(quán)主設(shè)備釋放總線控制權(quán) 從設(shè)備準(zhǔn)備好?從設(shè)備準(zhǔn)備好?YN主設(shè)備輸出端與總線連接主設(shè)備輸出端與總線連接主設(shè)備輸出端與總線斷開(kāi)主設(shè)備輸出端與總線斷開(kāi) 91時(shí)間安排緊湊、合理;時(shí)間安排緊湊、合理;但控制復(fù)雜。但控制復(fù)雜。優(yōu)缺點(diǎn):優(yōu)缺點(diǎn):應(yīng)用場(chǎng)合:應(yīng)用場(chǎng)合: 用于異步總線操作用于異步總線操作( (各掛接部件速度各掛接部件速度差異大,傳送時(shí)間不確定,傳送距離較遠(yuǎn)差異大,傳送時(shí)間不確定,傳送距離較遠(yuǎn)) )。(3 3)同步方式的變化)同步方式的變化指令周期長(zhǎng)度可變,時(shí)鐘周期長(zhǎng)度不變。指令

45、周期長(zhǎng)度可變,時(shí)鐘周期長(zhǎng)度不變。不同指令安排不同時(shí)鐘周期數(shù)不同指令安排不同時(shí)鐘周期數(shù)總線周期中插入延長(zhǎng)周期總線周期中插入延長(zhǎng)周期經(jīng)總線傳送一次數(shù)據(jù)所用的時(shí)間經(jīng)總線傳送一次數(shù)據(jù)所用的時(shí)間( (送地址、讀送地址、讀/ /寫(xiě)寫(xiě)) ) 92總線周期長(zhǎng)度可變,時(shí)鐘周期長(zhǎng)度不變。總線周期長(zhǎng)度可變,時(shí)鐘周期長(zhǎng)度不變??偩€周期總線周期( (4T) )例例. .一個(gè)總線周期包含一個(gè)總線周期包含4 4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期時(shí)鐘時(shí)鐘T1T3T2T4送地址送地址讀讀/寫(xiě)數(shù)據(jù)寫(xiě)數(shù)據(jù) 結(jié)束結(jié)束同步方式同步方式時(shí)鐘時(shí)鐘T1T3T2T4T4T4Tw送地址送地址讀讀/寫(xiě)數(shù)據(jù)寫(xiě)數(shù)據(jù) 結(jié)束結(jié)束總線周期總線周期( (5T) )擴(kuò)展同步

46、方式擴(kuò)展同步方式 93同步方式引入異步應(yīng)答同步方式引入異步應(yīng)答以固定時(shí)鐘周期作為時(shí)序基礎(chǔ),引入應(yīng)答思想以固定時(shí)鐘周期作為時(shí)序基礎(chǔ),引入應(yīng)答思想例例.8088.8088最大模式,用一根最大模式,用一根總線請(qǐng)求總線請(qǐng)求/ /應(yīng)答應(yīng)答線實(shí)現(xiàn)線實(shí)現(xiàn)總線權(quán)的轉(zhuǎn)移。總線權(quán)的轉(zhuǎn)移。設(shè)備請(qǐng)求設(shè)備請(qǐng)求總線權(quán)總線權(quán)RQ/GTRQ/GTCPUCPU使用使用總線總線CPUCPU使用使用總線總線CPUCPU使用使用總線總線設(shè)備使用設(shè)備使用總線總線設(shè)備設(shè)備設(shè)備設(shè)備CPUCPUCPUCPU響應(yīng),響應(yīng),總線權(quán)交設(shè)備總線權(quán)交設(shè)備CPUCPU設(shè)備釋放設(shè)備釋放總線權(quán)總線權(quán)CPUCPU設(shè)備設(shè)備若干時(shí)鐘若干時(shí)鐘若干時(shí)鐘若干時(shí)鐘 94l

47、4.5 微程序控制器微程序控制器l 所謂微程序控制方式,是指微命令是由微指令產(chǎn)生的。一條機(jī)器指令可分若干步執(zhí)行,將每一步操作所需的若干微命令以代碼形式編寫(xiě)在一條微指令中,若干條微指令組成一段微程序,對(duì)應(yīng)一條機(jī)器指令。在設(shè)計(jì)CPU時(shí),根據(jù)指令系統(tǒng)的需要,事先編好各段微程序,并存放在一專用ROM(控制存儲(chǔ)器)中。 95l 微程序控制器與組合邏輯控制器最大的不同之處是微命令產(chǎn)生部件的實(shí)體不是一些組合邏輯電路的集合,而是由一個(gè)控制存儲(chǔ)器CM和相應(yīng)的微指令寄存器等部件。l CM是一個(gè)只讀存儲(chǔ)器,結(jié)構(gòu)比較規(guī)整。對(duì)于不同的指令系統(tǒng),僅改變CM的內(nèi)容和容量。 96l 微地址微地址形成電路形成電路 IR PSW

48、 PC微地址寄存器微地址寄存器 AR控制存儲(chǔ)器控制存儲(chǔ)器CM 譯碼器譯碼器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR控制存儲(chǔ)器控制存儲(chǔ)器CM例題:某微型機(jī)的設(shè)計(jì)下面以一位加法單元說(shuō)明其工作流程。 97加法單元加法單元 i本位操作數(shù)本位操作數(shù)A Ai iB Bi i低位進(jìn)位低位進(jìn)位C Ci-i-1 1本位進(jìn)位本位進(jìn)位 C Ci i本位和本位和 i i圖圖3 316 16 一位加法單元示意圖一位加法單元示意圖*模型機(jī) CPU的設(shè)計(jì) 前面我們討論了CPU組織有關(guān)的內(nèi)容:邏輯組成、時(shí)序控制、運(yùn)算部件、運(yùn)算方法?,F(xiàn)在將把前面的內(nèi)容用于設(shè)計(jì)一臺(tái)模型機(jī),讓同學(xué)們進(jìn)一步建立整機(jī)概念,了

49、解CPU的工作機(jī)制、執(zhí)行指令以及如何產(chǎn)生微命令序列。9899* * *CPUCPU設(shè)計(jì)步驟設(shè)計(jì)步驟設(shè)計(jì)步驟:設(shè)計(jì)步驟:擬定指令系統(tǒng)擬定指令系統(tǒng)確定總體結(jié)構(gòu)確定總體結(jié)構(gòu)安排時(shí)序安排時(shí)序擬定指令流程和微命令序列。擬定指令流程和微命令序列。形成控制邏輯形成控制邏輯格式、尋址方式、格式、尋址方式、指令類型設(shè)置指令類型設(shè)置寄存器、寄存器、ALUALU、數(shù)、數(shù)據(jù)通路設(shè)置據(jù)通路設(shè)置畫(huà)流程圖畫(huà)流程圖( (寄存器傳送級(jí)寄存器傳送級(jí)) )列操作時(shí)間表列操作時(shí)間表組:列邏輯式,形組:列邏輯式,形成邏輯電路成邏輯電路微:按微指令格式微:按微指令格式編寫(xiě)微程序編寫(xiě)微程序100* * *模型機(jī)的指令系統(tǒng)模型機(jī)的指令系統(tǒng)一

50、一. .指令格式指令格式指令字長(zhǎng)指令字長(zhǎng)1616位,采用寄存器型尋址,指令中位,采用寄存器型尋址,指令中給出寄存器號(hào)。給出寄存器號(hào)。 (主存容量為(主存容量為64K64K1616位)位)101雙操作數(shù)指令格式:雙操作數(shù)指令格式:4 6 3 34 6 3 3操作碼操作碼 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式目的地址目的地址源地址源地址單操作數(shù)指令格式:?jiǎn)尾僮鲾?shù)指令格式:操作碼操作碼 (可擴(kuò)展)(可擴(kuò)展) 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式4 3 3 3 34 3 3 3 3目的地址目的地址轉(zhuǎn)移指令格式:轉(zhuǎn)移指令格式: 4 3 3 1 1 1 1 1 4 3 3

51、1 1 1 1 1轉(zhuǎn)移地址轉(zhuǎn)移地址轉(zhuǎn)移條件轉(zhuǎn)移條件操作碼操作碼 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式 方式方式 NZVCNZVC102CPUCPU可編程訪問(wèn)的寄存器:可編程訪問(wèn)的寄存器:尋址方式尋址方式 編碼編碼 助記符助記符 定義定義二二. .尋址方式尋址方式寄存器尋址寄存器尋址通用寄存器通用寄存器R0-R3R0-R3、指令計(jì)數(shù)器、指令計(jì)數(shù)器PCPC、堆棧指針、堆棧指針SPSP、程序狀態(tài)字、程序狀態(tài)字PSWPSW000000R R(R R)為操作數(shù))為操作數(shù)寄存器間址寄存器間址001001(R R)(R R)為操作數(shù)地址)為操作數(shù)地址自減型寄存自減型寄存器間址器間址010010-(R)-(R)

52、-(SP)-(SP)(R)-1(R)-1為操作數(shù)地址為操作數(shù)地址(SP)-1(SP)-1為棧頂?shù)刂窞闂m數(shù)刂?03尋址方式尋址方式 編碼編碼 助記符助記符 定義定義101101(PC)+(PC)+(R)+d(R)+d為有效地址為有效地址(R R)為操作數(shù)地址,)為操作數(shù)地址,立即立即/ /自增型自增型寄存器間址寄存器間址011011(R)+(R)+訪問(wèn)后訪問(wèn)后(R)+1(R)+1(SP)+(SP)+(SP)(SP)為棧頂?shù)刂?,為棧頂?shù)刂?,出棧后出棧?SP)+1(SP)+1(PC)(PC)為立即數(shù)地址,為立即數(shù)地址,取數(shù)后取數(shù)后(PC)+1(PC)+1變址變址X(R)X(R)X(PC)X(PC

53、)(PC)+d(PC)+d為有效地址為有效地址跳步跳步110110SKPSKP跳過(guò)下條指令執(zhí)行跳過(guò)下條指令執(zhí)行104操作碼操作碼 助記符助記符 含義含義三三. .指令類型指令類型用于數(shù)傳、堆棧、用于數(shù)傳、堆棧、I/OI/O操作操作00000000MOVMOV傳送傳送00010001ADDADD加加01010101EOREOR異或異或雙操作數(shù)指令雙操作數(shù)指令01100110COMCOM求反求反10111011SRSR右移右移單操作數(shù)指令單操作數(shù)指令11001100JMPJMP轉(zhuǎn)移轉(zhuǎn)移11001100RSTRST返回返回11011101JSRJSR轉(zhuǎn)子轉(zhuǎn)子1050 0 0 0 0 0 0 0 0

54、0 5 4 3 2 1 0 5 4 3 2 1 0轉(zhuǎn)移地址轉(zhuǎn)移地址無(wú)條件轉(zhuǎn)無(wú)條件轉(zhuǎn)JMP JMP 寄寄 尋尋 方式方式 NZVCNZVC0 0 0 0 0 0 0 0 1 1 無(wú)進(jìn)位無(wú)進(jìn)位轉(zhuǎn)轉(zhuǎn)(C=(C=0 0) )0 0 0 0 0 0 1 1 0 0 無(wú)溢出無(wú)溢出轉(zhuǎn)轉(zhuǎn)(V=(V=0 0) )0 0 0 0 1 1 0 0 0 0 數(shù)非零轉(zhuǎn)數(shù)非零轉(zhuǎn)(Z=(Z=0 0) )0 0 1 1 0 0 0 0 0 0 數(shù)為正轉(zhuǎn)數(shù)為正轉(zhuǎn)(N=(N=0 0) )1 1 0 0 0 0 0 0 1 1 有進(jìn)位有進(jìn)位轉(zhuǎn)轉(zhuǎn)(C=(C=1 1) )1 1 0 0 0 0 1 1 0 0 有溢出有溢出轉(zhuǎn)轉(zhuǎn)(V=(

55、V=1 1) )1 1 0 0 1 1 0 00 0 數(shù)為零轉(zhuǎn)數(shù)為零轉(zhuǎn)(Z=(Z=1 1) )1 1 1 1 0 0 00 0 0 數(shù)為負(fù)轉(zhuǎn)數(shù)為負(fù)轉(zhuǎn)(N=(N=1 1) )條件滿足,轉(zhuǎn)目的地址;條件不滿足,順序執(zhí)行。條件滿足,轉(zhuǎn)目的地址;條件不滿足,順序執(zhí)行。轉(zhuǎn)移指令106隱含約定:轉(zhuǎn)子時(shí)返回地址壓棧保存。隱含約定:轉(zhuǎn)子時(shí)返回地址壓棧保存。子程序入口子程序入口JSR JSR 寄寄 尋尋 方式方式 NZVCNZVC 5 4 3 2 1 0 5 4 3 2 1 0四、四、 CPUCPU總體結(jié)構(gòu)總體結(jié)構(gòu)1.1.寄存器設(shè)置寄存器設(shè)置(1 1)可編程寄存器()可編程寄存器(1616位)位)通用寄存器通用

56、寄存器:R R0 0(000)(000)、R R1 1(001)(001)R R2 2(010)(010)、R R3 3(011)(011)11 9 8 6 5 011 9 8 6 5 0 RSTRST SPSP (SPSP)+ + 轉(zhuǎn)子指令返回指令107允許中斷(開(kāi)中斷)允許中斷(開(kāi)中斷) (可擴(kuò)展)(可擴(kuò)展) I N Z V CI N Z V C 4 3 2 1 0 4 3 2 1 0暫存器暫存器C C(2 2)非編程寄存器()非編程寄存器(1616位)位)堆棧指針堆棧指針:SPSP(100)(100)指令計(jì)數(shù)器指令計(jì)數(shù)器:PCPC(111)(111)程序狀態(tài)字程序狀態(tài)字:PSWPSW(1

57、01)(101): :暫存來(lái)自主存的暫存來(lái)自主存的源地址源地址或或源數(shù)據(jù)源數(shù)據(jù)。暫存器暫存器D D: :暫存來(lái)自主存的暫存來(lái)自主存的目的地址目的地址或或目的數(shù)目的數(shù)。指令寄存器指令寄存器IRIR地址寄存器地址寄存器MARMAR數(shù)據(jù)寄存器數(shù)據(jù)寄存器MDRMDR: :存放現(xiàn)行指令。存放現(xiàn)行指令。實(shí)現(xiàn)實(shí)現(xiàn)CPUCPU與主存的接口與主存的接口108SN74181 4SN74181 4片片SN74182 1SN74182 1片片2.2.算邏部件設(shè)置算邏部件設(shè)置ALUALU移位器移位器: :實(shí)現(xiàn)實(shí)現(xiàn)直送直送、左移左移、右移右移、字節(jié)交換字節(jié)交換(1616位)位)選擇數(shù)據(jù)來(lái)源選擇數(shù)據(jù)來(lái)源選擇器選擇器A A選

58、擇器選擇器B B 109五、模型機(jī)的組成與數(shù)據(jù)通路五、模型機(jī)的組成與數(shù)據(jù)通路 為了使數(shù)據(jù)傳送控制簡(jiǎn)單、集中,采用為了使數(shù)據(jù)傳送控制簡(jiǎn)單、集中,采用以以ALUALU為中心的總線結(jié)構(gòu)為中心的總線結(jié)構(gòu)。(一)部件設(shè)置(一)部件設(shè)置包括四個(gè)部分:包括四個(gè)部分:ALUALU部件、寄存器組、內(nèi)總線、部件、寄存器組、內(nèi)總線、CPUCPU與系統(tǒng)總與系統(tǒng)總線的連接。線的連接。 通常,部件設(shè)置有1、寄存器(包括可編程寄存器、暫存器、指令寄存器IR和與主存的接口寄存器MAR(地址寄存器)、MDR(數(shù)據(jù)寄存器)。2、運(yùn)算部件(包括ALU部件、輸入邏輯、輸出邏輯)110111(2 2)特點(diǎn))特點(diǎn)ALUALU為內(nèi)部數(shù)據(jù)傳

59、送通路的中心;為內(nèi)部數(shù)據(jù)傳送通路的中心; 寄存器寄存器采用采用內(nèi)總線內(nèi)總線采用單向數(shù)據(jù)總線采用單向數(shù)據(jù)總線(16(16位位) );分立結(jié)構(gòu);分立結(jié)構(gòu); R0R3 R0R3 C D C D SP PC PSW MDR A移位器移位器 B ALUR2 R0 R1 MI/OCB內(nèi)總線內(nèi)總線 C R3 DMARMDR IR PC SPPSWABDB控制控制邏輯邏輯 112與系統(tǒng)總線與系統(tǒng)總線的連接通過(guò)的連接通過(guò)MARMAR、MDRMDR實(shí)現(xiàn)。實(shí)現(xiàn)。MDRMDR輸入輸入輸出至輸出至DBDB輸出至輸出至ALUALU的的B B門(mén)門(mén)輸出輸出從內(nèi)總線輸入從內(nèi)總線輸入從從DBDB輸入輸入( (打入打入) )( (

60、置入置入) ) R0R3 R0R3 C D C D SP PC PSW MDR A移位器移位器 B ALUR2 R0 R1 MI/OCB內(nèi)總線內(nèi)總線 C R3 DMARMDR IR PC SPPSWABDB控制控制邏輯邏輯 (二)總線與數(shù)據(jù)通路結(jié)構(gòu)(二)總線與數(shù)據(jù)通路結(jié)構(gòu)在這部分中,主要有:1、內(nèi)總線,它是16根單向數(shù)據(jù)傳送線。2、系統(tǒng)總線,CPU通過(guò)系統(tǒng)總線與外部連接(如與主存、外設(shè)連接)。系統(tǒng)總線分分為地址總線、數(shù)據(jù)總線、控制總線。CPU通過(guò)MAR向地址總線提供地址。CPU通過(guò)MDR向數(shù)據(jù)總線發(fā)送或接收數(shù)據(jù)。CPU及外圍設(shè)備向控制總線發(fā)出有關(guān)控制信號(hào)或接收控制信號(hào)。113114(三)各類信

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論