




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第5章 中央處理器主要內(nèi)容:(一)CPU的功能和基本結(jié)構(gòu) (二)指令執(zhí)行過程 (三)數(shù)據(jù)通路的功能和基本結(jié)構(gòu) (四)控制器的功能和工作原理 1.硬布線控制器 2.微程序控制器 微程序、微指令和微命令;微指令的編碼方式;微地址的形成方式。 (五)指令流水線 1.指令流水線的基本概念 2.超標(biāo)量和動態(tài)流水線的基本概念 25.1 CPU的功能和基本結(jié)構(gòu)中央處理器簡稱CPU,是計算機(jī)系統(tǒng)的核心。主要功能:程序的執(zhí)行(指令控制),信息的處理(數(shù)據(jù)加工),操作控制,時間控制,I/O設(shè)備的控制。組成:運算器,控制器,寄存器,時鐘電路,(某些CPU中還包括一定容量的ROM、RAM存儲器等)。3計算機(jī)硬件系統(tǒng)
2、的組成計算機(jī)硬件系統(tǒng)的組成ALU: 見2.4節(jié)存儲器:見第3章輸入輸出:見第7章45控制器的功能馮. 諾依曼結(jié)構(gòu)的計算機(jī) “存儲程序”計算機(jī),設(shè)置內(nèi)存,存放程序和數(shù)據(jù) 在程序運行之前將程序調(diào)入內(nèi)存,然后執(zhí)行程序計算機(jī)的功能是執(zhí)行程序 程序是依次排列起來的指令序列計算機(jī)執(zhí)行程序的基本過程 從程序首地址開始執(zhí)行第一條指令 分步執(zhí)行每一條指令,并形成下一條待執(zhí)行指令地址 自動地連續(xù)執(zhí)行指令,直到程序的最后一條指令65.1.1 CPU 的功能取指令分析指令執(zhí)行指令,發(fā)出各種操作命令控制程序輸入及結(jié)果的輸出總線管理處理異常情況和特殊請求1. 控制器的功能2. 運算器的功能實現(xiàn)算術(shù)運算和邏輯運算指令控制操
3、作控制時間控制數(shù)據(jù)加工處理異常 (中斷)7控制器的功能 能夠正確并且自動地連續(xù)執(zhí)行指令 按程序中設(shè)定的指令次序執(zhí)行 正確地分步完成每一條指令規(guī)定的功能 讀取指令 分析指令 執(zhí)行指令 進(jìn)一步講,就是向計算機(jī)各功能部件提供協(xié)調(diào)運行每一個步驟所需要的控制信號控制器是指揮與控制整臺計算機(jī)各功能部件協(xié)同工作、自動執(zhí)行計算機(jī)程序的部件。其作用是控制指令的執(zhí)行過程。 85.1.2 CPU 的基本結(jié)構(gòu)PC IR指令控制操作控制時間控制數(shù)據(jù)加工處理中斷ALU 寄存器中斷系統(tǒng)1. CPU 與系統(tǒng)總線控制單元CU 時序電路寄存器ALU 中斷 系統(tǒng)CUCPU控制總線數(shù)據(jù)總線地址總線92. CPU 的內(nèi)部結(jié)構(gòu)算術(shù)和邏輯
4、運算取反移位狀態(tài)標(biāo)志內(nèi)部 數(shù)據(jù)總線CPU寄存器CU中斷系統(tǒng)ALU控制信號1010寄存器(Register)寄存器R是CPU中的重要組成部分,是CPU內(nèi)部的臨時存儲單元。寄存器數(shù)量的增加可以提高CPU運行速度。存放內(nèi)容:數(shù)據(jù)、地址、控制信息、CPU的工作狀態(tài)信息。分類:數(shù)據(jù)寄存器、地址寄存器、標(biāo)志狀態(tài)寄存器、控制寄存器和一些其它作用的寄存器。按功能基本可分為三類:通用寄存器組、控制寄存器和主存接口寄存器。11通用寄存器組通用寄存器組是一組可編程可訪問、具有多功能的寄存器統(tǒng)稱。對于用戶來說是 “可見的”。可用于保存操作數(shù)、計算結(jié)果、或用作地址指針、基址寄存器、變址寄存器和計數(shù)器。控制寄存器控制寄存
5、器主要包括:程序計數(shù)器PC;指令寄存器IR程序狀態(tài)標(biāo)志寄存器PSW12為了保證程序能自動連續(xù)執(zhí)行,CPU必須具有在當(dāng)前指令執(zhí)行結(jié)束時能自動確定下一條指令的地址功能。PC正是為此而設(shè)置的,也稱為指令計數(shù)器。在程序開始執(zhí)行前,將程序的第一條指令的地址送入PC,以便從程序的第一條指令開始執(zhí)行。執(zhí)行程序過程中,CPU將自動修改PC的內(nèi)容,使其保持的總是將要執(zhí)行的下一條指令的地址。當(dāng)遇到轉(zhuǎn)移指令時,需要改變程序的執(zhí)行順序,則一般由轉(zhuǎn)移指令形成轉(zhuǎn)移地址后送往PC,作為下一條指令的地址。因此,PC應(yīng)具有計數(shù)和接收代碼的功能。 控制寄存器: 程序計數(shù)器(Program Count,簡稱PC)13指令寄存器用以
6、存放現(xiàn)行指令。當(dāng)執(zhí)行一條指令時,首先從內(nèi)存將指令取出送到指令寄存器IR,然后送至指令譯碼器ID,由ID來產(chǎn)生各種微操作命令,控制其他的組成部件工作,從而完成所需的功能。為了提高指令的執(zhí)行速度,現(xiàn)在大多數(shù)計算機(jī)都將指令寄存器IR擴(kuò)充為指令隊列或稱指令棧,允許預(yù)取若干條指令。 控制寄存器: 指令寄存器IR程序狀態(tài)標(biāo)志寄存器PSW格式如下:OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0狀態(tài)標(biāo)志:記錄程序運行結(jié)果,指令執(zhí)行結(jié)束后自動設(shè)置??刂茦?biāo)志:根據(jù)程序需要用指令設(shè)置,用于控制指令的執(zhí)行方式記錄算術(shù)和邏輯運算指令運行或測試的結(jié)果而建立的各種條件碼信息,如進(jìn)位標(biāo)志、零標(biāo)志、
7、符號標(biāo)志、溢出標(biāo)志等。可被后面的條件轉(zhuǎn)移指令所測試,作為決定程序流向的因素之一。程序狀態(tài)字反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式,控制寄存器: 程序狀態(tài)字(續(xù))OF:溢出標(biāo)志,運算過程中如操作數(shù)超出了機(jī)器能表示的范圍,稱為溢出。SF:符號標(biāo)志,記錄運算結(jié)果的符號,結(jié)果為負(fù)時置1,為正時置0。ZF:零標(biāo)志,運算結(jié)果為0時置1,否則為0。CF:進(jìn)位標(biāo)志,記錄運算時從最高有效位產(chǎn)生的進(jìn)位,有進(jìn)位時置1,否則為0。程序狀態(tài)字(續(xù))AF:輔助進(jìn)位標(biāo)志,記錄運算時第3位產(chǎn)生的進(jìn)位值。PF:奇偶進(jìn)位標(biāo)志,當(dāng)結(jié)果操作數(shù)中1的個數(shù)為偶數(shù)時置1,否則為0。IF:中斷屏蔽位,為1時開可屏蔽中斷。DF:方向標(biāo)志,在串處理
8、指令中控制處理信息的方向。當(dāng)DF為1時,每次操作后使變址寄存器SI和DI減小,當(dāng)DF為0時增加。17主存接口寄存器主存接口寄存器是與存儲器進(jìn)行數(shù)據(jù)交換使用寄存器。主要包括:主存地址寄存器MAR:用于存放將被訪問的存儲單元的地址主存數(shù)據(jù)寄存器MDR:用于存放欲存入存儲器中的數(shù)據(jù)或最近從存儲器中讀出的數(shù)據(jù)。PC控制 CPU 操作其中 MAR MDR IR 用戶不可見 MARMMDRIR PC 用戶可見 附錄:8086的寄存器8086共有14個16位寄存器AH ALBH BLCH CLDH DLSIDIBPSPFLAGSIPCSSSDSESAX累加器BX基址寄存器CX計數(shù)器DX數(shù)據(jù)寄存器源變址寄存器
9、目的變址寄存器基址指針堆棧指針代碼段寄存器堆棧段寄存器數(shù)據(jù)段寄存器附加段寄存器程序狀態(tài)字程序計數(shù)器5.1.3 時序控制方式一條指令的讀取與執(zhí)行過程一般需要分成讀取指令、譯碼、執(zhí)行、存放結(jié)果等幾個步驟。這樣就需要一種時間劃分的信號標(biāo)志,如周期、節(jié)拍等。CPU的每次操作都需要有嚴(yán)格的時序控制。 時序控制部件一般由脈沖源、鎖相環(huán)倍頻電路、周期狀態(tài)觸發(fā)器、節(jié)拍發(fā)生器、起停線路等組成。脈沖源產(chǎn)生固定頻率的脈沖可以直接作為機(jī)器的主頻時鐘信號,也可以經(jīng)由鎖相環(huán)倍頻電路后來產(chǎn)生主頻時鐘。主頻時鐘的頻率高低與機(jī)器的性能和選用的器件有關(guān)。一般情況下主頻時鐘越高,計算機(jī)速度越快。19時鐘控制電路:為每條指令按時間順
10、序執(zhí)行提供基準(zhǔn)信號。由時鐘脈沖發(fā)生器(石英晶體振蕩器)和啟??刂齐娐方M成。石英晶體振蕩器:產(chǎn)生一定頻率的時鐘脈沖信號,作為整個機(jī)器的時間基準(zhǔn)源。也稱為主振蕩頻率。最常用的脈沖源。1.時序相關(guān)的基本概念時序系統(tǒng)21時序系統(tǒng):在計算機(jī)的控制系統(tǒng)中,常將其時序關(guān)系劃分為機(jī)器周期(CPU周期)、時鐘周期(節(jié)拍)、工作脈沖三個層次,也稱為計算機(jī)系統(tǒng)三級時序關(guān)系。機(jī)器周期在CPU執(zhí)行程序的過程中,將指令周期劃分成幾個時間段,每個階段稱為一個機(jī)器周期,也稱為CPU周期或工作周期。ep:如一條指令可分為取指令、取源操作數(shù)、取目的操作數(shù)、執(zhí)行處理等階段。對應(yīng)取指周期、取操作數(shù)周期、執(zhí)行周期、中斷周期等。每個機(jī)器
11、周期通常又包括幾個時鐘周期。計算機(jī)系統(tǒng)三級時序時鐘周期:在機(jī)器周期的工作往往還需要細(xì)分成幾個步驟并要按一定順序來完成。為此,需要將一個機(jī)器周期又分為若干個相等的時間段。每一個時間段內(nèi)完成一步操作,這個時間段被稱為時鐘周期(節(jié)拍)。例如,按變址方式讀取操作數(shù)時,則先要進(jìn)行變址計算,然后才能訪存取數(shù)。時鐘周期是時序系統(tǒng)中最基本的時間分段。每個時鐘周期完成一步操作,如完成一次傳送、或加減等操作。23計算機(jī)系統(tǒng)三級時序工作脈沖:在一個時鐘周期(節(jié)拍)內(nèi)可設(shè)置幾個工作脈沖,用于寄存器的清除、接收數(shù)據(jù)等工作。具體機(jī)器設(shè)置的工作脈沖數(shù)量也是不同的。24計算機(jī)系統(tǒng)三級時序指令周期25指令周期是指計算機(jī)從讀取指
12、令、分析指令到執(zhí)行完該指令所需要的全部時間。各種指令的功能不同,不同指令的指令周期是不相同的。在計算機(jī)的時序系統(tǒng)中沒有指令周期的時間標(biāo)志信號。因此也不將指令周期列為具體時序系統(tǒng)的劃分的三個等級之中。指令周期機(jī)器周期時鐘周期工作脈沖信號26 采用三級時序系統(tǒng):指令周期機(jī)器周期1機(jī)器周期2機(jī)器周期n時鐘周期1時鐘周期2時鐘周期m.工作脈沖1工作脈沖2工作脈沖k.(節(jié)拍1)(節(jié)拍2)(節(jié)拍m)2.組合邏輯控制器的時序劃分 時序關(guān)系:晶振輸出機(jī)器周期1機(jī)器周期2機(jī)器周期3時鐘 時鐘T1工作脈沖P時鐘T2指令周期控制不同階段操作時間控制分步操作時間對微操作定時取指執(zhí)行取數(shù)取出指令修改PC打入IR打入PC
13、CLKT0T1T2T3時鐘周期時鐘周期(節(jié)拍、狀態(tài)) 機(jī)器周期機(jī)器周期T0T1T2T3T0T1T2T329多級時序系統(tǒng)CLK機(jī)器周期 機(jī)器周期 機(jī)器周期 (取指令) (取有效地址) (執(zhí)行指令) 指令周期T0T1T2T3T0T1T2T3T0T1T2T3機(jī)器周期機(jī)器周期(取指令)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2 節(jié)拍(狀態(tài)) 節(jié)拍(狀態(tài))30執(zhí)行一條指令的過程是通過執(zhí)行一個確定的具體操作序列來實現(xiàn)的。(同時執(zhí)行 or順序執(zhí)行) 形成控制不同操作序列的時序控制信號有多種方法,稱為控制器的控制方式。常用的有同步控制、異步控制和聯(lián)合控制等方式。2. 時序控制方式(1)同步控制方式 定義
14、:指任何指令的執(zhí)行或指令中每個操作的執(zhí)行都要受到事先確定的時序信號控制,這樣每個時序信號的結(jié)束就意味著一個操作已經(jīng)完成。指令在執(zhí)行時所需的機(jī)器周期和時鐘周期都是固定不變的。不同操作的執(zhí)行時間可能不同,通常需要選擇最長操作的執(zhí)行時間作為計算標(biāo)準(zhǔn)。3132同步控制方式 特點:有明顯時序時間劃分,時鐘周期時間固定,各步操作的銜接、各部件之間的數(shù)據(jù)傳送受嚴(yán)格同步定時控制。 優(yōu)點:時序關(guān)系簡單,時序劃分規(guī)整,控制不復(fù)雜;控制邏輯易于集中,便于管理。缺點:執(zhí)行時間短的操作需要等待,時間安排不合理。 應(yīng)用場合:用于CPU內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作(各掛接部件速度相近,傳送時間確定,傳送距離較近)。 適合于
15、硬布線邏輯控制器和微程序控制器。(2)異步控制方式 是指各項具體操作按其需要來選擇不同的時間,不受統(tǒng)一的時鐘周期(節(jié)拍)的約束。 定義: 特點: 無統(tǒng)一時鐘周期劃分,各操作間的銜接和各部件之間的信息交換采用異步應(yīng)答方式。例:異步傳送操作主設(shè)備:申請并掌握總線權(quán)的設(shè)備??偩€主從從設(shè)備:響應(yīng)主設(shè)備請求的設(shè)備。發(fā)/接接/發(fā)主設(shè)備獲得總線控制權(quán) 操作流程: 主設(shè)備詢問從設(shè)備主設(shè)備發(fā)送/接收數(shù)據(jù)主設(shè)備釋放總線控制權(quán) 從設(shè)備準(zhǔn)備好?YN主設(shè)備輸出端與總線連接主設(shè)備輸出端與總線斷開35時間安排緊湊、合理;控制復(fù)雜。 優(yōu)缺點: 應(yīng)用場合: 用于異步總線操作(各掛接部件速度差異大,傳送時間不確定,傳送距離較遠(yuǎn))
16、。(2)異步控制方式36 (3)聯(lián)合控制方式 以固定時鐘周期作為時序基礎(chǔ),引入應(yīng)答思想。同步控制和異步控制相結(jié)合的方式。對不同指令的各個微操作實行大部分統(tǒng)一,小部分區(qū)別對待的方式。即大部分微操作安排在一個固定機(jī)器周期中,并在同步時序信號控制下進(jìn)行;而對那些時間難以確定的微操作則以執(zhí)行部件送回的 “回答” 信號作為本次微操作的結(jié)束。在CPU內(nèi)部或設(shè)備內(nèi)部大部分都采用同步控制,而對系統(tǒng)總線所連接的各種設(shè)備,由于其工作速度差異較大,通常采用異步方式較為合適。 375.2 指令周期5.2.1 指令周期的基本概念1 . 指令周期取出并執(zhí)行一條指令所需的全部時間完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)
17、行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期取指周期執(zhí)行周期382. 每條指令的指令周期不同取指周期指令周期取指周期 執(zhí)行階段指令周期取指周期執(zhí)行周期指令周期NOPADD mem MUL mem393. 具有間接尋址的指令周期4. 帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期405. 指令周期流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否416. CPU 工作周期的標(biāo)志CPU 訪存有 4 種性質(zhì)取 指令取 地址取 操作數(shù)存 程序斷點取指周期間址周期執(zhí)行周期(當(dāng)指令為訪存指令)中斷周期FEDINDDINTDCLK1FE1IN
18、D1EX1INTEXD421. 指令執(zhí)行中的數(shù)據(jù)傳輸通道5.2.2 具體執(zhí)行過程為了便于分析指令周期中的數(shù)據(jù)流,設(shè)定CPU中包含有: 存儲器地址寄存器MAR 存儲器數(shù)據(jù)寄存器MDR 程序計數(shù)器PC 指令寄存器IR。43(1)取指周期數(shù)據(jù)流5.2.2 具體執(zhí)行過程MDRCUMARPCIR存儲器CPU地址總線數(shù)據(jù)總線控制總線IR+1 PCMARBUSMBUSMDRIRPC+144(2)間址周期數(shù)據(jù)流MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PCIR存儲器MDR一旦取指周期結(jié)束,執(zhí)行單元CU便檢查IR中的內(nèi)容,以確定其是否有間址操作。 Ad(MDR)MARBUSMDR45(3)執(zhí)行周期數(shù)據(jù)流(4
19、)中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同??赡苌婕暗紺PU內(nèi)部寄存器間的數(shù)據(jù)傳送,或?qū)Υ鎯ζ?或I/O)進(jìn)行讀寫操作,或?qū)LU的操作。MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲器2 指令執(zhí)行過程 計算機(jī)啟動過程:(1)在機(jī)器內(nèi)部設(shè)置有存放固定程序的只讀存儲器(ROM),利用上電時硬件產(chǎn)生的復(fù)位(Reset)信號使計算機(jī)處于初始狀態(tài)。(2)這是通過將固定程序的入口地址(即開機(jī)后執(zhí)行的第1條指令的地址)裝入程序計數(shù)器PC來實現(xiàn)的,也可以直接在指令寄存器IR中置入一條無條件轉(zhuǎn)移指令,轉(zhuǎn)移到固定程序入口,然后開始執(zhí)行程序。(3)從程序入口地址開始執(zhí)行該程序的指令序列,每執(zhí)行一條指令后
20、,即將準(zhǔn)備好下條指令的地址并送入PC中。2 指令執(zhí)行過程 機(jī)器指令的執(zhí)行(1)一條最簡單的機(jī)器指令中,至少需要取指令機(jī)器周期和執(zhí)行機(jī)器指令周期這兩個機(jī)器周期。(2)由控制器產(chǎn)生一系列微操作控制信號的過程。將這些微操作控制信號合理地分配在各個機(jī)器周期的各個節(jié)拍中,便可構(gòu)成各條機(jī)器指令的操作流程圖。指令執(zhí)行過程舉例(1)一條加法指令的執(zhí)行過程舉例假定運算器由一組通用寄存器GR和一個ALU組成,并有4個記憶運算結(jié)果的狀態(tài)標(biāo)志N、Z、V、C(觸發(fā)器)。N(負(fù)數(shù)),運算結(jié)果為負(fù)數(shù)時,置1,否則為0。Z(零),運算結(jié)果為零,Z=1,否則為0。V(溢出),運算結(jié)果溢出,V=1,否則為0。C(進(jìn)位),運算結(jié)果
21、進(jìn)位或借位是,C=1,否則為0rs,rd,rs1為通用寄存器地址(編號);imm (disp)為立即數(shù)或位移量。加法指令:ADD rd ,rs, rsl+disp運算器框圖ADD rd ,rs, rsl+disp50該加法指令完成的操作: 從存儲器取指令,送入指令寄存器,并進(jìn)行操作碼譯碼。程序計數(shù)器加1,為取下一條指令作準(zhǔn)備。 計算數(shù)據(jù)地址,將計算得到的有效地址送地址寄存器AR。 控制器發(fā)出的控制信號:DBIR;PC+1(有效地址送地址寄存器)。 rslGR,(rsl)ALUdispALU;“+”(加法命令送ALU);ALUARPCABW/R=0,M/IO=1;控制器發(fā)出的控制信號:51 到存
22、儲器取數(shù)。 控制器發(fā)出控制信號: 進(jìn)行加法運算,結(jié)果送目的寄存器,并根據(jù)運算結(jié)果置狀態(tài)位N,Z,V,C。 控制器送出的控制信號: rsGR,(rs)ALU,DR ALU;即將地址寄存器內(nèi)容送地址總線,同時發(fā)訪存讀命令,存儲器讀出數(shù)據(jù)送數(shù)據(jù)總線后,打入數(shù)據(jù)寄存器。ARABW/R=0,M/IO=1;DBDR “+”(ALU進(jìn)行加法運算);rd GR ;ALUrd。其中rs表示源操作數(shù)地址,rd表示目的操作數(shù)地址。 以上操作需要4個機(jī)器周期。52指令功能根據(jù)N,Z,V,C的狀態(tài),決定是否轉(zhuǎn)移。如轉(zhuǎn)移條件成立則轉(zhuǎn)移到本條指令所指定的地址,否則順序執(zhí)行下一條指令。指令完成以下操作: 從存儲器取指令,送入
23、指令寄存器并進(jìn)行操作碼譯碼。 程序計數(shù)器加1,如不轉(zhuǎn)移,即為下一條要執(zhí)行的指令地址。本操作對所有指令都是相同的。 如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式計算有效地址,轉(zhuǎn)移指令經(jīng)常采用相對尋址方式。此時轉(zhuǎn)移地址=PCdisp。此處PC通常是指本條指令的下一條指令的地址(在上一機(jī)器周期已執(zhí)行PC+1操作)。 (2)條件轉(zhuǎn)移指令的執(zhí)行過程舉例(2)條件轉(zhuǎn)移指令的執(zhí)行過程舉例該條件轉(zhuǎn)移指令只需要兩個機(jī)器同期:取值周期,計算周期如轉(zhuǎn)移條件成立,在第2個機(jī)器周期增加一個ALUPC信號;另外如為相對轉(zhuǎn)移,則用 PC ALU信號取代加法指令第2周期中的(rs1) ALU 信號,其余操作與加法指令的操作相同。5
24、3545.3 控制器的組成和工作原理 為什么需要控制信號? 需要什么樣的控制信號? 如何產(chǎn)生控制信號?控制器設(shè)計需要解決的問題:55控制器的主要組成 程序計數(shù)器 PC 存放指令地址,有 增量 或 接收新值功能 指令寄存器 IR 存放指令內(nèi)容:操作碼與操作數(shù)地址 指令譯碼器ID(或操作碼譯碼器) 對指令寄存器中的操作碼進(jìn)行分析解釋,產(chǎn)生相應(yīng)的控制信號。時序控制部件 用來產(chǎn)生一系列的時序信號,用以保證各個微操作的執(zhí)行順序。56微操作控制信號形成部件 微操作控制信號形成部件,又稱為控制單元(CU) 。它根據(jù)指令譯碼器產(chǎn)生的操作控制信號、時序控制部件產(chǎn)生的時序信號以及其他控制條件,產(chǎn)生整個機(jī)器所需要的
25、全部微操作控制信號。微操作: 即計算機(jī)中最簡單(不能再分解)的操作。如打開某一個控制門,寄存器的清除脈沖等。復(fù)雜操作是通過執(zhí)行一系列微操作來實現(xiàn)的。57控制器組成和在整機(jī)中的地位 在計算機(jī)硬件系統(tǒng)中,控制器處于指揮控制地位58兩種不同類型的控制器 根據(jù)時序控制部件和微操作控制信號形成部件不同的組成和不同的運行原理,有兩種不同類型的控制器:硬連線控制器(組合邏輯控制器): 用組合邏輯電路實現(xiàn)各種控制功能,又稱為組合邏輯型控制器。采用組合邏輯線路、依據(jù)指令及其執(zhí)行步驟直接產(chǎn)生控制信號。微程序控制器:用一個ROM做為控制信號產(chǎn)生的載體,ROM中存儲著一系列的微程序,組成微程序的微指令代碼產(chǎn)生相應(yīng)的操
26、作控制信號,這是一種存儲邏輯型的控制器。59組合邏輯設(shè)計微程序設(shè)計硬連線邏輯存儲邏輯兩類控制器中的PC和IR是相同的,但確定和表示指令執(zhí)行步驟的辦法以及給出控制各部件運行所需要的控制信號的方案是不同的。605.3.2 微程序控制器微操作:在計算機(jī)中,一條機(jī)器指令的功能是通過按一定次序執(zhí)行一系列基本操作完成的,這些最基本的控制命令稱為微操作。微指令:在微程序控制的計算機(jī)中,將由同時發(fā)出的控制信號所執(zhí)行的一組微操作稱為微指令。組成微指令的微操作,又稱微命令。一條機(jī)器指令分成若干條微指令,按次序執(zhí)行這些微指令,就可以實現(xiàn)指令的功能。1. 幾個概念61控制存儲器:微程序事先存放在專用的存儲器中。由于該
27、存儲器主要存放控制命令(信號)與下一條執(zhí)行的微指令地址(簡稱為下址),所以被叫做控制存儲器。一般計算機(jī)指令系統(tǒng)是固定的,所以實現(xiàn)指令系統(tǒng)的微程序也是固定的,控制存儲器可用只讀存儲器實現(xiàn)。機(jī)器內(nèi)控制信號數(shù)量多,再加上決定下址的地址碼有一定寬度,所以控制存儲器的字長比機(jī)器字長要長得多??刂拼鎯ζ鞯娜萘咳Q于實現(xiàn)指令系統(tǒng)所需要的微程序長度。微程序:計算機(jī)每條指令的功能均由微指令序列解釋完成,這些微指令序列的集合就叫做微程序。 622.微程序控制的基本思想若干微命令編制成一條微指令,控制實現(xiàn)一步操作。若干微指令組成一段微程序,解釋執(zhí)行一條機(jī)器指令。微程序事先存放在控制存儲器中,執(zhí)行機(jī)器指令時再取出。執(zhí)
28、行一條指令實際上就是執(zhí)行一段存放在控制存儲器中的微程序。 CPU的構(gòu)成引入了程序技術(shù),使設(shè)計規(guī)整;引入了存儲邏輯,使功能易于擴(kuò)展。3、微指令的基本結(jié)構(gòu)微指令基本結(jié)構(gòu)包括微命令字段(操作控制字段)和順序控制字段組成。微命令字段(也稱操作控制碼)是為一次微操作所需要的全部控制信號的編碼,用以發(fā)出管理和指揮整個機(jī)器工作的控制信號。順序控制字段(也稱下地址字段)用以決定產(chǎn)生下一條微指令的地址。該字段通常包含轉(zhuǎn)移控制字段(轉(zhuǎn)移條件)和轉(zhuǎn)移地址字段(指定下一條微指令的地址)兩部分。634、微指令編碼格式微指令的格式大體上可分成兩類:微指令的編譯法是決定微指令格式的主要因素。水平型微指令垂直型微指令(1)垂
29、直型微指令優(yōu)點:缺點:垂直型微指令位數(shù)少(如幾十位),每條微指令中只有12個微操作命令(控制12種微操作)。一條微指令定義并執(zhí)行一種基本操作。微指令短、簡單、規(guī)整,便于編寫微程序。微程序長,執(zhí)行速度慢;不強(qiáng)調(diào)實現(xiàn)微指令的并行控制功能,工作效率低。4、微指令編碼格式(2)水平型微指令優(yōu)點:缺點:微程序短,執(zhí)行速度快。微指令長,編寫微程序較麻煩。指一次能定義并執(zhí)行多個并行操作控制信號的微指令。水平型微指令的位數(shù)多(可達(dá)百位以上),它所追求的是對各部件并行控制的能力和更快的執(zhí)行速度。一條微指令定義并執(zhí)行幾種并行的基本操作。 相關(guān)編譯法:直接控制法、字段編譯法是水平型微指令。6666水平型微指令與垂直
30、型微指令的比較水平型微指令垂直型微指令并行能力強(qiáng),效率高并行能力差靈活性差靈活性強(qiáng)執(zhí)行一條指令的時間短微指令執(zhí)行時間長微指令字比較長微指令字比較短微程序短微程序長難以掌握容易掌握67(3)混合型微指令微指令不長,便于編寫;微程序不長,執(zhí)行速度加快。在垂直型的基礎(chǔ)上增加一些不太復(fù)雜的并行操作。例:長城203微指令運算器輸入控制運算器輸出控制操作類型控制訪M、I/O控制常數(shù)輔助操作 AI BI ZO AOP MOP KK ST 3 3 3 3 4 4 4685、微程序控制器組成原理 微地址形成電路 IR PSW PC微地址寄存器 AR控制存儲器CM 譯碼器微命令序列微命令字段 微地址字段IR組成:
31、IR、PC、PSW、時序系統(tǒng)等部件,控制存儲器(CM) 、微地址形成電路、微地址寄存器(AR)、微指令寄存器(IR)及譯碼電路等。 69主要部件(1)控制存儲器CM功能:存放微程序。CM屬于CPU,不屬于主存儲器。(2)微指令寄存器 IR功能:存放 現(xiàn)行微指令當(dāng)前正執(zhí)行的微指令。微命令字段:提供一步操作所需的微命令。微地址字段:指明后續(xù)微地址的形成方式。提供微地址的給定部分。(微操作控制字段)(順序控制字段)70(3)微地址形成電路功能:提供兩類微地址。微程序入口地址:后續(xù)微地址:由微地址字段、現(xiàn)行微地址、運行狀態(tài)等形成。由機(jī)器指令操作碼形成。2.工作過程每條機(jī)器指令都對應(yīng)一段微程序 微地址形
32、成電路 IR PSW PC微地址寄存器 AR控制存儲器CM 譯碼器微命令序列微命令字段 微地址字段IR 取指微指令(1)取機(jī)器指令CM取指微指令I(lǐng)R控制存儲器 取指微指令微命令字段 微地址字段 譯碼器微命令序列 IR微命令字段譯碼器控制存儲器微命令主存機(jī)器指令微命令字段 微地址字段IR 譯碼器微命令序列(2)轉(zhuǎn)微程序入口IR操作碼微地址形成電路入口AR微命令字段CM首條微指令 微地址形成電路 IR PSW PC微地址寄存器 AR控制存儲器CM 譯碼器微命令序列微命令字段 微地址字段IR 取指微指令控制存儲器 取指微指令微命令字段 微地址字段 譯碼器微命令序列 IR控制存儲器微命令字段 微地址字
33、段 譯碼器微命令序列 微地址形成電路 IR微地址寄存器 微地址形成電路控制存儲器微地址寄存器微命令字段 微地址字段(3)執(zhí)行首條微指令控制存儲器 譯碼器IRIR譯碼器微命令字段 微地址字段微命令序列微命令操作部件 微地址形成電路 IR PSW PC微地址寄存器 AR控制存儲器CM 譯碼器微命令序列微命令字段 微地址字段IR(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運行狀態(tài)微地址形成電路微命令字段 微地址字段 PSW微地址寄存器 微地址形成電路微命令字段 微地址字段 PSW微地址寄存器微地址寄存器后續(xù)微地址AR 微地址形成電路控制存儲器CM后續(xù)微指令I(lǐng)R微地址寄存器微命令字段 微地址字段(5)執(zhí)行后
34、續(xù)微指令同(3) 微地址形成電路 IR PSW PC微地址寄存器 AR控制存儲器CM 譯碼器微命令序列微命令字段 微地址字段IR微命令字段 微地址字段 PSW微地址寄存器 微地址形成電路微命令字段 微地址字段 PSW微地址寄存器微地址寄存器 微地址形成電路微地址寄存器微命令字段 微地址字段(6)返回,機(jī)器指令自行完畢微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。控制信號舉例仍以執(zhí)行一條加法指令為例,它由4條微指令解釋執(zhí)行,一條微指令中的所有控制信號都是同時發(fā)出的。每條微指令所需的控制信號如下。(1)取指微指令(具體格式也可參照書P129 表5-1) 指令地址送入地址總線:PCAB 發(fā)訪存
35、控制命令:ADS(地址有效), 指令送入指令寄存器:DBIR 程序計數(shù)器+1:PC+1M/IO=1W/R=0從存儲器取指令送入數(shù)據(jù)總線。ADD rd ,rs, rsl+disp 加法運算:“+” 有效地址送地址寄存器:ALUAR。 (2)計算地址微指令 取兩個源操作數(shù)(計算地址用):rs1GR(rs1)ALU, dispALU。(3)取操作數(shù)微指令 數(shù)據(jù)地址送地址總線: ARAB。 發(fā)訪存控制命令:ADS,MIO,WR。 由存儲器將數(shù)據(jù)送數(shù)據(jù)總線DB。 數(shù)據(jù)送入數(shù)據(jù)寄存器:DBDR ADD rd ,rs, rsl+disp77 如何組織微指令產(chǎn)生上述信號? 微指令最簡單的組成形式是將每個控制信
36、號用一個控制位來表示,當(dāng)該位為1時定義為有控制信號。當(dāng)該位為0時,沒有控制信號。MIO、W/R則根據(jù)是訪問存儲器還是I/O設(shè)備,是寫還是讀而設(shè)置成1或0。(4)執(zhí)行加法運算和傳送結(jié)果微指令 兩源操作數(shù)送ALU:rsGR,(rs)ALU; DRALU 加法運算:“+” 送結(jié)果:ALUGR78當(dāng)指令取入IR中以后,根據(jù)操作碼進(jìn)行譯碼,得到相應(yīng)指令的第一條微指令的地址(微程序的入口地址)。指令譯碼部件可用只讀存儲器組成,將操作碼作為只讀存儲器的輸入地址,該單元的內(nèi)容即為相應(yīng)的微指令在控制存儲器中的地址,根據(jù)此地址從控制存儲器取出微指令并將它存放在微指令寄存器中。微指令分成兩部分,產(chǎn)生控制信號的部分一
37、般稱為控制(微命令)字段,產(chǎn)生下址的部分稱為下址字段??刂谱侄胃魑坏妮敵鐾ㄟ^連接線直接與受控制的門相連,于是就提供了相應(yīng)的控制信號。6、微程序設(shè)計技術(shù) 在實際進(jìn)行微程序設(shè)計時還應(yīng)關(guān)心下面三個問題: (1)如何縮短微指令字長; (2)如何減少微程序長度; (3)如何提高微程序的執(zhí)行速度。 微指令的編譯法(編碼譯碼方法)(1)直接表示法(直接控制法) 微命令按位給出:在微指令的控制字段中,每一位代表一個微命令,在設(shè)計微指令時,是否發(fā)出某個微命令,只要將控制字段中相應(yīng)位置成“1”或“0”,這樣就可打開或關(guān)閉某個控制門。 無需譯碼,產(chǎn)生微命令的速度快。 微命令太多,信息的表示效率低。微指令中通常只有個
38、別位采用直接控制法。(2)編碼表示法(字段編譯法)微命令分組原則:同類操作中互斥的微命令放同一字段。不能同時出現(xiàn),比如寄存器的讀和寫操作微指令中的操作控制碼分為若干字段,微命令由字段編碼直接給出。在計算機(jī)中的各個控制門,在任一微周期內(nèi)不可能同時被打開,而且大部分是關(guān)閉的(即相應(yīng)的控制位為0,)。微周期:執(zhí)行一條微指令所需的執(zhí)行時間。如果有若干個(一組)微命令,在每次選擇使用它們的微周期內(nèi)只有一個微命令起作用,那么這若干個微命令是互斥的。 選出互斥的微命令,將它們編成一組,作為微指令字的一個字段,用二進(jìn)制編碼。81(3)混合表示法把直接表示法與編碼表示法結(jié)合使用,采用部分直接表示、部分編碼表示的
39、方法。具體做法是將一些要求速度高的,或者一些相容的控制信號用直接表示法,將其他相斥信號用編碼表示法。直接表示法、編碼表示法和混合表示法的三種編碼方式的微指令都屬于水平型微指令。827、微程序流的控制當(dāng)前正在執(zhí)行的微指令,稱為現(xiàn)行微指令?,F(xiàn)行微指令所在的控制存儲器單元的地址,稱為現(xiàn)行微地址?,F(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令稱為后繼微指令,后繼微指令所在的控存單元地址稱為后繼微地址。微程序流的控制,是指當(dāng)前微指令執(zhí)行完畢后,怎樣控制產(chǎn)生后繼微指令的微地址,即后繼微地址的形成方式。順序:uPC+1。 跳步:uPC+2。 無條件轉(zhuǎn)移:現(xiàn)行微指令給出轉(zhuǎn)移微地址。 CMAA+1A+2BB條件轉(zhuǎn)移:現(xiàn)行微指令給出轉(zhuǎn)移微地址和轉(zhuǎn)移條件。 B 轉(zhuǎn)移條件 CC(條件滿足)(條件不滿足)轉(zhuǎn)微子程序:現(xiàn)行微指令給出微子程序入口。 轉(zhuǎn)移條件 CD微子程序(1)計數(shù)器方法(增量方式)以順序執(zhí)行為主,輔以各種常規(guī)轉(zhuǎn)移方式。增加一個微程序計數(shù)器(uPC) D微指令 給定后續(xù)微地址高位部分 (2)斷定方式通過微指令順序控制字段由設(shè)計者指定或指定的判別字段控制產(chǎn)生后繼微指令地址由直接給定和測試斷定相結(jié)合。指明后續(xù)微地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康管理公司合同范例
- 雙經(jīng)銷合同范本
- 單位裝修工程合同范本
- 銷售藥膏合同范本
- 2025年太陽能發(fā)電機(jī)組項目合作計劃書
- 各類合同范本超全
- 合同范本紙制
- 商鋪的出租合同范本
- 承接糧庫工程合同范本
- 廠房設(shè)備合同范例
- 糖尿病健康教育及飲食指導(dǎo)
- PFMEA模板完整版文檔
- 三無曲線(有緩)繩正法撥道自動計算表
- 教學(xué)能力比賽決賽 《英語》教案
- 《母雞》課件 王崧舟 千課萬人 (圖片版不可編輯)
- 離婚糾紛證據(jù)清單
- 臨床三基考試題庫臨床醫(yī)師三基考試題庫
- 商貿(mào)公司企業(yè)范文
- 第一章《原子結(jié)構(gòu)與性質(zhì)》測試卷-高二化學(xué)人教版(2019)選擇性必修2
- YY/T 1761-2021透析管路消毒液
- GB 19147-2013f車用柴油(Ⅳ)
評論
0/150
提交評論