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

下載本文檔

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

文檔簡(jiǎn)介

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

2、與外部的連接如何建立與外部的連接? u CPU如何形成微命令序列如何形成微命令序列, 來控制指來控制指 令的執(zhí)行令的執(zhí)行? 3 3 CPU的基本組成的基本組成 l 運(yùn)算部件組織和運(yùn)算方法的實(shí)現(xiàn)運(yùn)算部件組織和運(yùn)算方法的實(shí)現(xiàn) l 通過一個(gè)通過一個(gè)CPU模型模型,討論討論CPU數(shù)據(jù)通路結(jié)數(shù)據(jù)通路結(jié) 構(gòu)和指令的執(zhí)行過程構(gòu)和指令的執(zhí)行過程. 1. 從從寄存器傳送級(jí)寄存器傳送級(jí)分析指令的分步執(zhí)行分析指令的分步執(zhí)行 流程流程. 2. 從從微操作控制級(jí)微操作控制級(jí)闡述寄存器傳送的具闡述寄存器傳送的具 體實(shí)現(xiàn)體實(shí)現(xiàn). 4 4 * * 概述概述 * * CPU CPU的基本組成的基本組成 通常通常,CPU,CPU

3、包含運(yùn)算部件、寄存器組、微命令包含運(yùn)算部件、寄存器組、微命令 產(chǎn)生部件、時(shí)序系統(tǒng)等主要部件,這些部件由產(chǎn)生部件、時(shí)序系統(tǒng)等主要部件,這些部件由CPUCPU內(nèi)內(nèi) 部的總線連接起來,實(shí)現(xiàn)它們之間的信號(hào)交換。其部的總線連接起來,實(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 5 運(yùn)算部件運(yùn)算部件 寄存器 寄存器 寄存器 寄存器 控制部件控制部件 運(yùn)算器運(yùn)算器控制器控制器 運(yùn)算器和一部分運(yùn)算器和一部分R

4、 另一部分另一部分R 微命令產(chǎn)生部件微命令產(chǎn)生部件 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 由由CPU內(nèi)總線連接這內(nèi)總線連接這 些部件些部件. 6 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ú)立. 7 7 1. 運(yùn)算部件運(yùn)算部件 對(duì)數(shù)據(jù)進(jìn)行加工處理。對(duì)數(shù)據(jù)進(jìn)行加工處理。 (1)輸入邏輯)輸入邏輯 (2)ALU (3)輸出邏輯)輸出邏輯 移位器移位器 ALUALU 選擇器 通用寄通用寄 存

5、器組存器組 選擇器 運(yùn)算部件的檔次運(yùn)算部件的檔次: n 只有一個(gè)只有一個(gè)ALU n 一個(gè)一個(gè)ALU,配合時(shí)序控制配合時(shí)序控制 n 一個(gè)一個(gè)ALU,有定點(diǎn)乘除部件和浮點(diǎn)運(yùn)算部件有定點(diǎn)乘除部件和浮點(diǎn)運(yùn)算部件 n 設(shè)置多種運(yùn)算部件設(shè)置多種運(yùn)算部件 8 8 2. 寄存器組寄存器組 寄存器:寄存器:CPU在處理信息的過程中,用來暫時(shí)在處理信息的過程中,用來暫時(shí) 存放各種信息。存放各種信息。 (1)通用寄存器組)通用寄存器組 用戶可通過編程訪問的寄存器,在指令系用戶可通過編程訪問的寄存器,在指令系 統(tǒng)中為它們分配了相應(yīng)的編號(hào)。指令中以統(tǒng)中為它們分配了相應(yīng)的編號(hào)。指令中以寄存寄存 器號(hào)器號(hào)來指示。來指示。

6、通用寄存器通過編程,可以實(shí)現(xiàn)多種功能,通用寄存器通過編程,可以實(shí)現(xiàn)多種功能, 如提供操作數(shù),存放運(yùn)算結(jié)果,用作地址指針,如提供操作數(shù),存放運(yùn)算結(jié)果,用作地址指針, 作基址寄存器、變址寄存器等等。作基址寄存器、變址寄存器等等。 9 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ù)來命名,如累加器務(wù)來命名,如累加器AX、基址寄存器、基址寄存器BX、計(jì)數(shù)、計(jì)數(shù) 寄存器寄存器CX、數(shù)據(jù)寄存器、數(shù)據(jù)

7、寄存器DX等等。等等。 1010 (2)暫存器)暫存器 暫存器對(duì)編程者來說是透明的,即在程序暫存器對(duì)編程者來說是透明的,即在程序 中不會(huì)出現(xiàn)。中不會(huì)出現(xiàn)。 作用作用:暫時(shí)存放:暫時(shí)存放CPU處理過程中的臨時(shí)信息,處理過程中的臨時(shí)信息, 避免破壞通用寄存器的內(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)臅捍嫫魉腿雴卧狟。 1111 (3)指令寄存器)指令寄存器IR 作用作用:用來存放當(dāng)前正在執(zhí)行的指令

8、??刂疲河脕泶娣女?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ò)充為指令隊(duì)列(指令機(jī)一般將指令寄存器擴(kuò)充為指令隊(duì)列(指令 棧)。形成了指令流水線處理方式棧)。形成了指令流水線處理方式. 指令流水線指令流水線:一次預(yù)取多條指令,增加指令間一次預(yù)取多條指令,增加指令間 執(zhí)行的銜接速度和并行處理能力。執(zhí)行的銜接速度和并行處理能力。 1212 (4)程序計(jì)數(shù)器)程序計(jì)數(shù)器PC 也叫指令計(jì)數(shù)器或指令指針。也叫指令計(jì)數(shù)器

9、或指令指針。 作用作用:指示指令在存儲(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ā)生轉(zhuǎn)移時(shí)程序發(fā)生轉(zhuǎn)移時(shí),將轉(zhuǎn)移地址送入,將轉(zhuǎn)移地址送入PC,使,使 其指向轉(zhuǎn)移目的地的指令地址。其指向轉(zhuǎn)移目的地的指令地址。 1313 (5)程序狀態(tài)字寄存器)程序狀態(tài)字寄存器PSW 作用作用:記錄現(xiàn)行程序的:記錄現(xiàn)行程序的運(yùn)行狀態(tài)運(yùn)行狀態(tài)和指示程序的和指示程序的 工作方式工作方式。 PSW包括特征狀態(tài)位和方式控制位兩

10、部分。包括特征狀態(tài)位和方式控制位兩部分。 特征位特征位:進(jìn)位位:進(jìn)位位C、溢出位、溢出位V、零值位、零值位Z、符號(hào)、符號(hào) 位位S、奇偶位、奇偶位P等。等。 方式控制位方式控制位:跟蹤位:跟蹤位T、中斷允許位、中斷允許位I、程序優(yōu)、程序優(yōu) 先級(jí)字段、工作方式字段等。先級(jí)字段、工作方式字段等。 1414 (6)地址寄存器)地址寄存器MAR 作用作用:CPU訪問主存時(shí),暫時(shí)存放所訪問單元訪問主存時(shí),暫時(shí)存放所訪問單元 地址。地址。 CPU取指令時(shí)取指令時(shí),先將,先將PC的內(nèi)容送入的內(nèi)容送入MAR,再,再 由由MAR將指令的存放地址送往主存譯碼。將指令的存放地址送往主存譯碼。 CPU存取數(shù)據(jù)時(shí)存取數(shù)據(jù)

11、時(shí),將數(shù)據(jù)的存放地址先送到,將數(shù)據(jù)的存放地址先送到 MAR,再送往主存進(jìn)行地址譯碼。,再送往主存進(jìn)行地址譯碼。 PCPCMARMARM,M,譯碼譯碼 數(shù)據(jù)存放地址數(shù)據(jù)存放地址MARMARM,M,譯碼譯碼 1515 (7)數(shù)據(jù)緩沖寄存器)數(shù)據(jù)緩沖寄存器MBR 作用作用:存放:存放CPU與主存之間交換的數(shù)據(jù)。與主存之間交換的數(shù)據(jù)。 由由CPU寫入主存的數(shù)據(jù)先送入寫入主存的數(shù)據(jù)先送入MBR,主,主 存地址譯碼找到指定單元后,再將數(shù)據(jù)從存地址譯碼找到指定單元后,再將數(shù)據(jù)從MBR 送入到該單元。送入到該單元。 數(shù)據(jù)數(shù)據(jù)MBRMBR該單元該單元 譯碼譯碼, ,尋址尋址 寫入寫入 1616 從主存中讀出的數(shù)

12、據(jù),先送入從主存中讀出的數(shù)據(jù),先送入MBR,然后,然后 再送到指定的再送到指定的CPU內(nèi)部某寄存器。內(nèi)部某寄存器。 MAR和和MBR是連接是連接CPU與主存的橋梁,它們與主存的橋梁,它們 可使可使CPU與主存之間的數(shù)據(jù)通路變得比較單一。與主存之間的數(shù)據(jù)通路變得比較單一。 這兩個(gè)寄存器不能編程訪問,即對(duì)用戶透明。這兩個(gè)寄存器不能編程訪問,即對(duì)用戶透明。 主存數(shù)據(jù)主存數(shù)據(jù)MBRMBR某某R R 譯碼譯碼, ,尋址尋址 讀出讀出 1717 4.1 控制器分類、功能和組成控制器分類、功能和組成 在計(jì)算機(jī)內(nèi)部,程序的執(zhí)行過程體現(xiàn)為信息在計(jì)算機(jī)內(nèi)部,程序的執(zhí)行過程體現(xiàn)為信息 的傳送,即在計(jì)算機(jī)中形成的傳送

13、,即在計(jì)算機(jī)中形成控制流控制流和和數(shù)據(jù)流數(shù)據(jù)流。 這些信息的傳送需要靠各種微命令來控制。這些信息的傳送需要靠各種微命令來控制。 1818 1、控制器的分類:、控制器的分類: 微命令產(chǎn)生部件可以是由一些組合微命令產(chǎn)生部件可以是由一些組合 邏輯電路組成,也可以由專門的存儲(chǔ)邏邏輯電路組成,也可以由專門的存儲(chǔ)邏 輯組成。它們分別對(duì)應(yīng)了輯組成。它們分別對(duì)應(yīng)了組合邏輯控制組合邏輯控制 方式方式和和微程序控制方式。微程序控制方式。 1919 2、控制器的功能:、控制器的功能: CPU中設(shè)置了微命令產(chǎn)生部件,它中設(shè)置了微命令產(chǎn)生部件,它 根據(jù)指令提供的信息產(chǎn)生出各指令所需根據(jù)指令提供的信息產(chǎn)生出各指令所需 要

14、的各種微命令序列。要的各種微命令序列。 2020 3 3、控制器的組成:、控制器的組成:由寄存器、由寄存器、 指令譯碼器、地址形成部件、微指令譯碼器、地址形成部件、微 命令產(chǎn)生部件時(shí)序系統(tǒng)和中斷控命令產(chǎn)生部件時(shí)序系統(tǒng)和中斷控 制邏輯部件等組成。(制邏輯部件等組成。(P93P93) 2121 一條指令的讀取與執(zhí)行一條指令的讀取與執(zhí)行,需要分步需要分步: 取指令取指令 取源操作數(shù)取源操作數(shù) 取目的操作數(shù)取目的操作數(shù) 執(zhí)行運(yùn)算操作執(zhí)行運(yùn)算操作 存放結(jié)果存放結(jié)果 每個(gè)階段再分為若干步每個(gè)階段再分為若干步, 微命令也是分步產(chǎn)生微命令也是分步產(chǎn)生 2222 4. 時(shí)序系統(tǒng)時(shí)序系統(tǒng) 計(jì)算機(jī)能夠有條不紊地自動(dòng)

15、執(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ù)分頻器或倍頻器。 2323 CPU基本組成基本組成 (整體框架圖整體框架圖) 5. CPU內(nèi)部的數(shù)據(jù)通路結(jié)構(gòu)內(nèi)部的數(shù)據(jù)通路結(jié)構(gòu) CPU內(nèi)部各部件之間需要傳 送信息,如寄存器將操作數(shù)送到 A

16、LU進(jìn)行運(yùn)算,ALU將結(jié)果送到寄 存器存放。如何將這些部件連接 起來,為信息提供通路?這就涉 及CPU內(nèi)部的數(shù)據(jù)結(jié)構(gòu),這是 CPU組成的核心問題。 2424 通常,內(nèi)部較簡(jiǎn)單的CPU 中,只設(shè)置一組數(shù)據(jù)傳送總線, 用來連接CPU內(nèi)的寄存器與ALU 部件,在微處理器中常將這組總 線稱為ALU總線。在較復(fù)雜的 CPU中,為了提高工作速度,可 能設(shè)置了幾組數(shù)據(jù)總線,同時(shí)傳 送多個(gè)數(shù)據(jù)。 2525 有的CPU中還包含了用于控制 的存儲(chǔ)邏輯部件、管理內(nèi)存的地址 變換部件,這樣除了數(shù)據(jù)線外,還 有傳送地址信息的地址總線。 2626 現(xiàn)在的CPU結(jié)構(gòu)都較復(fù)雜。 例如,設(shè)置指令棧(稱為指令隊(duì) 列),以便預(yù)取若

17、干條指令;相 應(yīng)的操作數(shù)棧;專用ROM(稱 為控制存儲(chǔ)器)以存放微程序, 用于存儲(chǔ)管理的段地址運(yùn)算和頁(yè) 地址運(yùn)算的多個(gè)運(yùn)算部件;片內(nèi) 高速Cache等。 2727 2828 特點(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í)序控制與信息傳送 我們知道:計(jì)算機(jī)在執(zhí)行指令時(shí)是分步 進(jìn)行的,因此在微命

18、令的形成邏輯中引入了時(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)分為同步控制和異步 控制兩大類。 2929 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ī)有不同的安排。 3030 如CPU內(nèi)部數(shù)據(jù)通路的一次傳送操作 安排

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

20、需要產(chǎn)生一種統(tǒng)一的同步打入 (送入)脈沖,在脈沖的上升沿時(shí)刻 打入運(yùn)算結(jié)果。 3333 時(shí)鐘周期提供加法運(yùn)算的時(shí)間段。 同步打入脈沖決定打入運(yùn)算結(jié)果的時(shí)刻。 在一個(gè)CPU中可能同時(shí)有幾個(gè)數(shù)據(jù)傳送操作, 如將寄存器R0的內(nèi)容同時(shí)送入寄存器、 ,一般需要將它們的打入脈沖同步定時(shí)在同 一時(shí)刻。 3434 通常,在CPU內(nèi)部有一組時(shí)序信號(hào)系統(tǒng), 產(chǎn)生統(tǒng)一的時(shí)序信號(hào)來控制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è)問題: CPU、主存與外部設(shè)備之間的數(shù)據(jù)傳送 怎樣協(xié)調(diào)控制? 3535 在同步控

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

22、實(shí)際需要安排不同的時(shí) 間。各操作之間的銜接、各部件之間的數(shù)據(jù)傳 送均采用異步應(yīng)答方式。 由于時(shí)序系統(tǒng)不為操作預(yù)先安排固定時(shí)間, 異步控制方式中采用應(yīng)答方式(申請(qǐng)、響應(yīng)、 詢問和回答)來了解操作時(shí)間的開始和結(jié)束。 3939 應(yīng)答的雙方分別稱為主設(shè)備和從設(shè) 備。主設(shè)備是指申請(qǐng)并掌握總線控制權(quán)的 設(shè)備(主動(dòng)的一方),從設(shè)備是指響應(yīng)主 設(shè)備要求的設(shè)備(被動(dòng)的一方)從設(shè)備不 能掌握總線控制權(quán)。應(yīng)答過程由主設(shè)備啟 動(dòng)。 4040 3、同步控制在實(shí)際應(yīng)用中的變化、同步控制在實(shí)際應(yīng)用中的變化 一般來講,在CPU或設(shè)備內(nèi)部的操作中普 遍采用同步控制方式。在CPU、主存和外部設(shè) 備的系統(tǒng)總線上,有的采用同步控制方

23、式,則有 的采用異步控制方式來控制總線傳送操作。同步 控制不復(fù)雜,而異步控制方式則能按需要分配時(shí) 間。 4141 因此,在實(shí)際應(yīng)用中,是把兩種方 式的優(yōu)點(diǎn)結(jié)合起來: (1)不同指令安排不同的時(shí)鐘周期數(shù)。 (2)總線周期中允許插入延長(zhǎng)周期。 (3)同步方式中引入異步應(yīng)答。 4242 4343 l 在設(shè)計(jì)CPU時(shí),不僅要考慮主機(jī)內(nèi)部的信 息傳遞(如CPU內(nèi)部、CPU與主存間的傳 遞),還要考慮主機(jī)與外部設(shè)備間的信息交 換。由于VLSI的發(fā)展,CPU已被集成為一塊 芯片。人們更為關(guān)心的是CPU與外部的連接、 信息傳遞方式等。 l 4444 l一、主機(jī)與外設(shè)連接模式 l 主機(jī)與外設(shè)的信息交換是通過其間

24、的 數(shù)據(jù)傳送通路來實(shí)現(xiàn)。傳送通路的連接 模式可分為: l1、輻射型 l2、總線型 l3、通道型。 4545 l 1.1.輻射式輻射式 主機(jī)主機(jī) I/OI/OI/OI/OI/OI/O 早期:不易擴(kuò)展早期:不易擴(kuò)展 主機(jī)主機(jī) 接口接口 接口接口 I/OI/OI/OI/OI/OI/O 現(xiàn)在:便于擴(kuò)展現(xiàn)在:便于擴(kuò)展 4646 l 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與

25、主存、片外高速緩存;PCI總 線連接高性能顯示卡、高速局網(wǎng)卡、 SCSI盤卡等高速I/O設(shè)備;ISA總線連 接打印機(jī)、調(diào)制解調(diào)器等低速I/O設(shè)備。 4747 4848 l l I/OI/O 3.3.通道式通道式 主機(jī)主機(jī) 通道通道 通道通道 I/OI/OI/OI/OI/OI/O 并行能力提高并行能力提高 在較大型的計(jì)算機(jī)系統(tǒng)中,由于外設(shè) 種類多、數(shù)量大,需要設(shè)置專門的控制部 件來管理I/O操作-通道。就是把星型與總 線型結(jié)合的多級(jí)連接模式。 主機(jī)采用星型方式,通過多個(gè)獨(dú)立通 路與若干通道連接,每個(gè)通道再按總線方 式連接多臺(tái)外設(shè),不同速度的外設(shè)接入不 同的通道上。 4949 4.2.5 信息傳遞

26、控制方式信息傳遞控制方式 主機(jī)與外設(shè)間是怎樣控制信息的傳送? 何時(shí)啟動(dòng)外設(shè)、何時(shí)傳送信息 通常,可以通過三種控制方式完成: 5050 1、直接程序傳送方式、直接程序傳送方式 就是CPU現(xiàn)行程序中通過直接執(zhí)行 I/O指令來實(shí)現(xiàn)信息的傳送。由于啟動(dòng)外設(shè) 和數(shù)據(jù)交換均在同一段程序中進(jìn)行,因此 CPU在啟動(dòng)外設(shè)后只能查詢外設(shè)的狀態(tài), 等待外設(shè)準(zhǔn)備好或完成一次操作,再用I/O 指令與外設(shè)進(jìn)行數(shù)據(jù)交換。也稱為程序查 詢方式。 主要是CPU查詢外設(shè)的狀態(tài),根據(jù)外設(shè) 狀態(tài)決定需要完成的操作。 5151 5252 l 2.2.程序中斷傳送方式程序中斷傳送方式 查詢方式查詢方式 (1 1)中斷的引入)中斷的引入

27、程序程序 并行操作并行操作 主機(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í)完成工作。這種CPU 主動(dòng)查詢也可改為由外設(shè)主動(dòng)報(bào)告。 這樣,在外設(shè)工作期間,CPU不等 待而繼續(xù)執(zhí)行原來的程序,即CPU 與外設(shè)在這段時(shí)間內(nèi)是并行工作。 5353 當(dāng)外設(shè)準(zhǔn)備好或完成一次操作后,主 動(dòng)向CPU提出請(qǐng)求;CPU收到該請(qǐng)求后 便可

28、以與外設(shè)進(jìn)行數(shù)據(jù)傳送。 在CPU執(zhí)行程序期間,外設(shè)何時(shí)提 出請(qǐng)求完全是隨機(jī)的,因而不可能將數(shù)據(jù) 傳送工作預(yù)先安排在放在另一段程序里 (這里所指的程序就是我們常說的中斷程 序)。 5454 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ù)原來程序的執(zhí)行。復(fù)原來程序的執(zhí)行。 5555 這里的隨機(jī)事件泛指故障、某個(gè)到 時(shí)的控制信號(hào)、程序執(zhí)行中出現(xiàn)無(wú)法預(yù)測(cè) 的隨機(jī)事件等。 中斷方式是通過執(zhí)行中斷處理程序 來處理隨機(jī)事件的。中斷處理程序又稱為

29、 中斷服務(wù)程序或中斷子程序,是按處理過 程事先編制好的。 5656 5757 l 響應(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ū)分CPUCPU對(duì)請(qǐng)求的對(duì)請(qǐng)求的屏蔽屏蔽和對(duì)請(qǐng)求的和對(duì)請(qǐng)求的響應(yīng)響應(yīng)。 送屏蔽字送屏蔽字開開/ /關(guān)中斷關(guān)中斷 CPU禁止禁止/允允 許設(shè)備請(qǐng)求許設(shè)備請(qǐng)

30、求 5858 l l 啟動(dòng)外設(shè)啟動(dòng)外設(shè) 一條指令結(jié)束一條指令結(jié)束 時(shí)有中斷請(qǐng)求?時(shí)有中斷請(qǐng)求? N N Y Y 繼續(xù)原程序繼續(xù)原程序 (3 3)中斷流程)中斷流程 CPUCPU內(nèi)設(shè)置允許中斷標(biāo)志內(nèi)設(shè)置允許中斷標(biāo)志 =1 =1 允許響應(yīng)中斷允許響應(yīng)中斷 (開中斷)(開中斷) =0 =0 不允許響應(yīng)中斷不允許響應(yīng)中斷 (關(guān)中斷)(關(guān)中斷) 開中斷開中斷 執(zhí)行中斷執(zhí)行中斷 服務(wù)程序服務(wù)程序 繼續(xù)原程序繼續(xù)原程序 響應(yīng)響應(yīng) 返回返回 中斷服務(wù)程序可以擴(kuò)充,所以 其處理能力很強(qiáng)。它可以處理非常 復(fù)雜的隨機(jī)事件。但在中斷服務(wù)程 序與原來執(zhí)行的程序間切換需要一 定的時(shí)間,這樣就會(huì)影響到中斷處 理的速度。所以

31、,中斷方式更適合 于中、低速的I/O操作。 5959 (4)應(yīng)用場(chǎng)合)應(yīng)用場(chǎng)合 用于中、低速用于中、低速I/O操作或處理復(fù)雜隨機(jī)事操作或處理復(fù)雜隨機(jī)事 態(tài)。態(tài)。 對(duì)于高速的如磁盤等設(shè)備的 I/O操作,則采用直接存儲(chǔ)器存取 (訪問)方式-DMA。 6060 3、DMA傳送方式傳送方式 這是直接依靠硬件在主存與I/O設(shè)備間 傳送數(shù)據(jù)的一種工作方式。在傳送期間, 不需要CPU執(zhí)行程序進(jìn)行干預(yù)。 6161 6262 早期的計(jì)算機(jī)系統(tǒng)中,由早期的計(jì)算機(jī)系統(tǒng)中,由CPUCPU發(fā)送命發(fā)送命 令控制令控制DMADMA傳送,即傳送,即CPUCPU響應(yīng)設(shè)備提出的響應(yīng)設(shè)備提出的 DMADMA請(qǐng)求之后,在一個(gè)周期內(nèi)暫

32、停執(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)中,是通過設(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)速度大 為提高。 6363 在DMA操作前,還必須確定:從主存 的哪個(gè)

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

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

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

36、(如善后處理)。 后面給出DMA方式才流程圖。 6969 7070 l DMADMA初始化初始化 啟動(dòng)啟動(dòng)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)注的程序并不存在硬件 隱指令操作。 7171 綜上所述,DMA實(shí)現(xiàn)的思想:由 CPU通過執(zhí)行程序?qū)MA進(jìn)行初始化, 將有關(guān)控制信息發(fā)給DMA控制器,CPU 不再干預(yù);以后以

37、響應(yīng)隨機(jī)請(qǐng)求方式,由 DMA控制器實(shí)現(xiàn)DMA傳送;批量結(jié)束時(shí), CPU以響應(yīng)中斷請(qǐng)求方式進(jìn)行結(jié)束處理。 7272 7373 l (2 2)硬件設(shè)置)硬件設(shè)置 操作類型操作類型 地址計(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è)地址 初始化信息初始化信息 7474 l 啟動(dòng)外設(shè)啟動(dòng)外設(shè) 一個(gè)總線周期結(jié)一個(gè)總線周期結(jié) 束時(shí)有束時(shí)有DMADMA請(qǐng)求?請(qǐng)求? N N Y

38、 Y 繼續(xù)程序繼續(xù)程序 傳送初始化:傳送操作類型、傳送初始化:傳送操作類型、 主存首址、交換量、外設(shè)尋主存首址、交換量、外設(shè)尋 址信息址信息 一次一次DMADMA傳送傳送 地址地址+ +1 交換量交換量- -1 一條指令結(jié)束一條指令結(jié)束 時(shí)有中斷請(qǐng)求?時(shí)有中斷請(qǐng)求? 中斷處理中斷處理 Y Y交換量交換量=0=0? N N Y Y 申請(qǐng)中斷申請(qǐng)中斷N N 響應(yīng)響應(yīng) 7575 l 主程序主程序?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。 中斷處理程序中斷處理程序判斷

39、傳送的正誤。判斷傳送的正誤。 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)行快速處理。 7676 l 應(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/OI/O傳送;能處理復(fù)雜傳送;能處理復(fù)雜 一條指令結(jié)束時(shí)響應(yīng)請(qǐng)

40、求。一條指令結(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)是傳送速度快、傳送操作 簡(jiǎn)單。適合高速外設(shè)與主存間的批量數(shù)據(jù) 傳送。 實(shí)際工作中,是采用中斷方式還是 DMA方式,要根據(jù)具體情況和環(huán)境來定。 7777 4.4 組合邏輯控制器 組合邏輯控制器概述組合邏輯控制器概述 在CPU中,控制器的作用是決定在什么時(shí)間、 根據(jù)什么條件、發(fā)什么命令、做什么操作。因此 產(chǎn)生微命令的依據(jù)是時(shí)間(如周期、節(jié)拍、脈沖 等時(shí)序信號(hào))、指令代

41、碼(如操作碼、尋址方式、 寄存器號(hào))、狀態(tài)(如CPU內(nèi)部的程序狀態(tài)字、 外設(shè)的狀態(tài))、外部請(qǐng)求(如控制臺(tái)請(qǐng)求、外部 中斷請(qǐng)求、DMA請(qǐng)求)等。 7878 按照微命令的形成方式,控制器分 為組合邏輯控制器、微程序控制器。 7979 這些信息可作為邏輯變量, 經(jīng)組合邏輯電路產(chǎn)生微命令序 列;也可形成相應(yīng)的微程序地 址,通過執(zhí)行微指令直接產(chǎn)生 微命令序列。 8080 8181 l 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 工作周期工作周

42、期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) 8282 2 2、 時(shí)序關(guān)系:時(shí)序關(guān)系: 振蕩器輸出振蕩器輸出 工作周期工作周期1 1 工作周期工作周期2 2 工作周期工作周期3 3 時(shí)鐘時(shí)鐘T1T1 工作脈沖工作脈沖P P 時(shí)鐘時(shí)鐘T2T2 指令周期指令周期 控制不同階段操作時(shí)間控制不同階段操作時(shí)間 控制分步操作時(shí)間控制分步操作時(shí)間 對(duì)微操作定時(shí)對(duì)微操作定時(shí) 取指取指 執(zhí)行執(zhí)行 取數(shù)取數(shù) 取出指令取出指令 修

43、改修改PC 打入打入IR打入打入PC 3、組合邏輯控制器、組合邏輯控制器 由于每個(gè)微命令的產(chǎn)生都需要邏輯條件和時(shí) 間條件,把條件作為輸入,微命令作為輸出, 它們之間的關(guān)系可用邏輯表達(dá)式來表示,并可 用組合邏輯電路來實(shí)現(xiàn)。每種微命令需要一組 邏輯電路,全機(jī)所有微命令所需的邏輯電路構(gòu) 成了微命令發(fā)生器。 8383 執(zhí)行指令時(shí),由組合邏輯 電路(微命令發(fā)生器)在相應(yīng) 時(shí)間發(fā)出所需的微命令,控制 有關(guān)操作。這種產(chǎn)生微命令的 方式就是組合邏輯控制方式。 8484 通常,組合邏輯控制器包括:微 命令發(fā)生器、指令寄存器IR、程序 計(jì)數(shù)器PC、狀態(tài)寄存器PSW、時(shí)序 系統(tǒng)等部件。 微命令發(fā)生器由若干門電路組成

44、。 8585 8686 l 微命令微命令 發(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 地址形成地址形成 PCPC D 尋尋 來自來自M 送送M或或ALU +1 送送M 8787 4.4.時(shí)序控制方式及其變化時(shí)序控制方式及其變化 (1 1)同步控制)同步控制 各項(xiàng)操作受統(tǒng)一時(shí)序控制。各項(xiàng)操作受統(tǒng)一時(shí)序控制。定義:定義: 特點(diǎn):特點(diǎn): 有明顯時(shí)序時(shí)間劃分;有明顯時(shí)序時(shí)間劃分; 時(shí)鐘周期時(shí)間固定;時(shí)鐘周期時(shí)間固定; 各步操作的銜接、各部件之間的數(shù)據(jù)傳各步操作的銜接、各部件之間的數(shù)據(jù)傳 送受嚴(yán)格同

45、步定時(shí)控制。送受嚴(yán)格同步定時(shí)控制。 各項(xiàng)操作受各項(xiàng)操作受統(tǒng)一時(shí)序統(tǒng)一時(shí)序控制。控制。 由由CPUCPU或或其他設(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í)間安排不合理。 8888 應(yīng)用場(chǎng)合:應(yīng)用場(chǎng)合: 用于用于CPUCPU內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作( (各掛接各掛接 部件速度相近,傳送時(shí)間確定,傳送距離較近部件速度相近,傳送時(shí)間確定,傳送距離較近) )。 (2 2)異步控制)異步控制 各項(xiàng)操作按不同需要安排時(shí)

46、間,不受統(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)答方式。 8989 l 例例. .總線的異步傳送操作總線的異步傳送操作 主設(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ā) 9090 主設(shè)備獲得總線控制權(quán)主設(shè)備獲得總線控制權(quán) 操作流程:操作流程: 主設(shè)備詢問從設(shè)備主設(shè)備詢問從設(shè)備 主

47、設(shè)備發(fā)送主設(shè)備發(fā)送/ /接收數(shù)據(jù)接收數(shù)據(jù) 主設(shè)備釋放總線控制權(quán)主設(shè)備釋放總線控制權(quán) 從設(shè)備準(zhǔn)備好?從設(shè)備準(zhǔn)備好? Y N 主設(shè)備輸出端與總線連接主設(shè)備輸出端與總線連接 主設(shè)備輸出端與總線斷開主設(shè)備輸出端與總線斷開 9191 時(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)度不變。指令周期長(zhǎng)度可變,時(shí)鐘周期長(zhǎng)度不變。 不

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

49、式擴(kuò)展同步方式 9393 同步方式引入異步應(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/GT CPUCPU使用使用 總線總線 CPUCPU使用使用 總線總線 CPUCPU使用使用 總線總線 設(shè)備使用設(shè)備使用 總線總線 設(shè)備設(shè)備設(shè)備設(shè)備CPUCPU CPUCPU響應(yīng),響應(yīng), 總線權(quán)交設(shè)備總線權(quán)交設(shè)備 CPUCPU 設(shè)備釋放設(shè)備釋放 總線權(quán)總線權(quán) CPUCPU設(shè)

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

51、的指令系統(tǒng),僅 改變CM的內(nèi)容和容量。 9696 l 微地址微地址 形成電路形成電路 IR PSW PC 微地址寄存器微地址寄存器 AR 控制存儲(chǔ)器控制存儲(chǔ)器CM 譯碼器譯碼器 微命令序列微命令序列 微命令字段微命令字段 微地址字段微地址字段 IR 控制存儲(chǔ)器控制存儲(chǔ)器CM 例題:某微型機(jī)的設(shè)計(jì) 下面以一位加法單元說明其工作流程。 9797 加法單元加法單元 i 本位操作數(shù)本位操作數(shù) A Ai i B 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ì) 前面

52、我們討論了CPU組織有關(guān)的內(nèi) 容:邏輯組成、時(shí)序控制、運(yùn)算部件、運(yùn) 算方法。現(xiàn)在將把前面的內(nèi)容用于設(shè)計(jì)一 臺(tái)模型機(jī),讓同學(xué)們進(jìn)一步建立整機(jī)概念, 了解CPU的工作機(jī)制、執(zhí)行指令以及如 何產(chǎn)生微命令序列。 9898 9999 * * *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è)置 畫流程圖畫流程圖( (寄存器傳送級(jí)寄存器傳送級(jí)

53、) ) 列操作時(shí)間表列操作時(shí)間表 組:列邏輯式,形組:列邏輯式,形 成邏輯電路成邏輯電路 微:按微指令格式微:按微指令格式 編寫微程序編寫微程序 100100 * * *模型機(jī)的指令系統(tǒng)模型機(jī)的指令系統(tǒng) 一一. .指令格式指令格式 指令字長(zhǎng)指令字長(zhǎng)1616位,采用寄存器型尋址,指令中位,采用寄存器型尋址,指令中 給出寄存器號(hào)。給出寄存器號(hào)。 (主存容量為(主存容量為64K64K1616位)位) 101101 雙操作數(shù)指令格式:雙操作數(shù)指令格式: 4 6 3 34 6 3 3 操作碼操作碼 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式 目的地址目的地址源地址源地址 單操

54、作數(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 1 1 1 1 1 轉(zhuǎn)移地址轉(zhuǎn)移地址轉(zhuǎn)移條件轉(zhuǎn)移條件 操作碼操作碼 寄存器號(hào)寄存器號(hào) 尋址方式尋址方式 方式方式 NZVCNZVC 102102 CPUCPU可編程訪問的寄存器:可編程訪問的寄存器: 尋址方式尋址方式 編碼編碼 助記符助記符 定義定義 二二. .尋址方式尋址方式 寄存器尋址寄存器尋址 通用寄存器通用寄存器R0-R3R0-R3、指令計(jì)數(shù)器、指令計(jì)數(shù)

55、器PCPC、堆棧指針、堆棧指針 SPSP、程序狀態(tài)字、程序狀態(tài)字PSWPSW 000000R R(R R)為操作數(shù))為操作數(shù) 寄存器間址寄存器間址001001(R R)(R R)為操作數(shù)地址)為操作數(shù)地址 自減型寄存自減型寄存 器間址器間址 010010-(R)-(R) -(SP)-(SP) (R)-1(R)-1為操作數(shù)地址為操作數(shù)地址 (SP)-1(SP)-1為棧頂?shù)刂窞闂m數(shù)刂?103103 尋址方式尋址方式 編碼編碼 助記符助記符 定義定義 101101 (PC)+(PC)+ (R)+d(R)+d為有效地址為有效地址 (R R)為操作數(shù)地址,)為操作數(shù)地址, 立即立即/ /自增型自增型

56、寄存器間址寄存器間址 011011(R)+(R)+ 訪問后訪問后(R)+1(R)+1 (SP)+(SP)+(SP)(SP)為棧頂?shù)刂罚瑸闂m數(shù)刂罚?出棧后出棧后(SP)+1(SP)+1 (PC)(PC)為立即數(shù)地址,為立即數(shù)地址, 取數(shù)后取數(shù)后(PC)+1(PC)+1 變址變址X(R)X(R) X(PC)X(PC)(PC)+d(PC)+d為有效地址為有效地址 跳步跳步110110SKPSKP跳過下條指令執(zhí)行跳過下條指令執(zhí)行 104104 操作碼操作碼 助記符助記符 含義含義 三三. .指令類型指令類型 用于數(shù)傳、堆棧、用于數(shù)傳、堆棧、 I/OI/O操作操作 00000000MOVMOV傳送傳送

57、 00010001ADDADD加加 01010101EOREOR異或異或 雙操作數(shù)指令雙操作數(shù)指令 01100110COMCOM求反求反 10111011SRSR右移右移 單操作數(shù)指令單操作數(shù)指令 11001100JMPJMP轉(zhuǎn)移轉(zhuǎn)移 11001100RSTRST返回返回 11011101JSRJSR轉(zhuǎn)子轉(zhuǎn)子 105105 0 0 0 0 0 0 0 0 0 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 寄寄 尋尋 方式方式 NZVCNZVC 0 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

58、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=(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í)行

59、。條件滿足,轉(zhuǎn)目的地址;條件不滿足,順序執(zhí)行。 轉(zhuǎn)移指令 106106 隱含約定:轉(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位)位) 通用寄存器通用寄存器: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

60、0 RSTRST SPSP (SPSP)+ + 轉(zhuǎn)子指令 返回指令 107107 允許中斷(開中斷)允許中斷(開中斷) (可擴(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(101)(101) : :暫存來自主存的暫存來自主存的源地址源地址或或源數(shù)據(jù)源數(shù)據(jù)。 暫存器暫存器D D: :暫存來自主存的暫存來自主存的目的地址目的地址或或目的數(shù)目的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論