版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章計算機系統(tǒng)分層結(jié)構(gòu)第一頁,共九十七頁,2022年,8月28日1.4~系統(tǒng)結(jié)構(gòu)計算機系統(tǒng)結(jié)構(gòu)系統(tǒng)的層次結(jié)構(gòu)
★★面向問題語言層匯編語言層操作系統(tǒng)層指令系統(tǒng)層微體系結(jié)構(gòu)層5層4層3層2層1層硬件---機器語言機器與人的界面符號化的機器語言面向用戶的語言硬件/固件(微程序)翻譯(編譯器)翻譯(匯編器)部分解釋(操作系統(tǒng))直接執(zhí)行/解釋(微程序)第二頁,共九十七頁,2022年,8月28日第3章微體系結(jié)構(gòu)層—CPU組織在微體系結(jié)構(gòu)層,是從寄存器級分析CPU的結(jié)構(gòu)和功能。本章主要內(nèi)容:CPU的基本組成和功能算術(shù)邏輯部件ALU和運算方法CPU模型機組合邏輯控制器原理微程序控制器原理第三頁,共九十七頁,2022年,8月28日第5章CPU
.學習目的和要求:
認識CPU在計算機中的位置;
要求掌握CPU與各個部分的協(xié)調(diào)工作原理;
.重點:整機構(gòu)成,三級時序,兩類控制器;
.難點:運算器,微程序控制和設(shè)計。第四頁,共九十七頁,2022年,8月28日3.1CPU(CentralProcessUnit)的組成和功能
計算機的工作就是不斷執(zhí)行指令序列的過程。CPU的主要功能是從主存儲器中取出指令、分析指令和執(zhí)行指令,即按指令控制計算機各部件操作,并對數(shù)據(jù)進行處理。
CPU是計算機的核心組成部分
3.1.CPU的組成和功能第五頁,共九十七頁,2022年,8月28日由算術(shù)邏輯部件ALU
、控制器、各種寄存器(寄存器群)和CPU內(nèi)部總線(連接部件)另:Cache
3.1.1CPU的組成第六頁,共九十七頁,2022年,8月28日1.ALU部件ALU的功能是實現(xiàn)數(shù)據(jù)的算術(shù)與邏輯運算兩個輸入端口,參加運算的兩個操作數(shù),通常來自CPU中的通用寄存器或ALU總線??刂菩盘枺篈DD,SUB,OR,AND等輸出:運算結(jié)果第七頁,共九十七頁,2022年,8月28日CPU中的寄存器包括存放控制信息的寄存器,如指令寄存器(IR)、程序計數(shù)器(PC)和狀態(tài)字寄存器(FR);以及存放所處理數(shù)據(jù)的寄存器,如通用寄存器和暫存器。2.寄存器(1)通用寄存器本身在邏輯上只具有接收信息、存儲信息和發(fā)送信息的功能??蔀锳LU提供操作數(shù)并存放運算結(jié)果(MUL,DIV),也可用作變址寄存器(SI,DI)、地址指針和計數(shù)器(CX)等。第八頁,共九十七頁,2022年,8月28日(2)暫存器暫存從主存儲器讀出的數(shù)據(jù),暫存器沒有寄存器號,因此不能直接編程訪問它們,是透明的。(ALU的兩個輸入)用來存放當前正在執(zhí)行的一條指令。執(zhí)行指令時,需根據(jù)PC中的指令地址從主存讀取指令送到IR中。(3)指令寄存器IR(InstructionRegister)
存放當前或下一條指令在主存中的地址,因此又稱為指令計數(shù)器或指令指針I(yè)P(InstructionPointer)。
(4)程序計數(shù)器PC(ProgramCounter)
第九頁,共九十七頁,2022年,8月28日(5)狀態(tài)寄存器存放當前程序的運行狀態(tài)和工作方式,其內(nèi)容稱為程序狀態(tài)字PSW(ProgramStateWord),PSW是參與控制程序執(zhí)行的重要依據(jù)。(P144)
第十頁,共九十七頁,2022年,8月28日標志位的值標志名標志為1標志為0OF溢出(是/否)OVNVDF方向(增量/減量)DNUPIF中斷(允許/關(guān)閉)EIDISF符號(正/負)NGPLZF零(是/否)ZRNZAF輔助進位(是/否)ACNAPF奇偶(偶/奇)PEPOCF進位(是/否)CYNC第十一頁,共九十七頁,2022年,8月28日3.總線所謂總線是一組能為多個部件分時共享的公共信息傳送線路,它分時接收各部件送來的信息,并發(fā)送信息到有關(guān)部件。
由于多個部件連接在一組公共總線上,可能會出現(xiàn)多個部件爭用總線,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問題。
CPU內(nèi)部總線用來連接CPU內(nèi)的各寄存器與ALU;總線分類:系統(tǒng)總線用來連接CPU、主存儲器與I/O接口,它通常包括三組:數(shù)據(jù)總線、地址總線和控制總線。按總線傳送的方向可將總線分為單向總線和雙向總線。第十二頁,共九十七頁,2022年,8月28日4.CPU內(nèi)部數(shù)據(jù)通路CPU內(nèi)部寄存器及ALU之間通常用總線方式傳送數(shù)據(jù)信息。介紹兩種常見的結(jié)構(gòu)。
(1)單總線數(shù)據(jù)通路結(jié)構(gòu)(雙向)采用單總線結(jié)構(gòu)的CPU數(shù)據(jù)通路
第十三頁,共九十七頁,2022年,8月28日CPU數(shù)據(jù)通路結(jié)構(gòu)只采用一組內(nèi)總線,它是雙向總線。通用寄存器組、其他寄存器和ALU均連在這組內(nèi)總線上。
CPU內(nèi)各寄存器間的數(shù)據(jù)傳送必須通過內(nèi)總線進行,ALU通過內(nèi)總線得到操作數(shù),其運算結(jié)果也經(jīng)內(nèi)總線輸出。
(2)多組內(nèi)總線結(jié)構(gòu)(單向)采用三總線結(jié)構(gòu)的CPU數(shù)據(jù)通路
為了提高CPU的工作速度,一種方法是在CPU內(nèi)部設(shè)置多組內(nèi)總線,使幾個數(shù)據(jù)傳送操作能夠同時進行,即實現(xiàn)部分并行操作。第十四頁,共九十七頁,2022年,8月28日ACYMemoryPCALURnR0IRCUPSWDRARclockIRinPCinADDSUBANDORR0in移位器R0outR1inR1outRninRnoutDRinDRoutARinARoutA碼C碼PCoutR/WCSACinYinIRout微命令序列(微指令)時序CPU內(nèi)部的結(jié)構(gòu)示意圖R1BUS(總線)紅色箭頭是微命令第十五頁,共九十七頁,2022年,8月28日3.1.2指令執(zhí)行過程CPU的主要功能就是執(zhí)行存放在存儲器中的指令序列,即程序。1.指令的分段執(zhí)行過程任何一條指令的執(zhí)行都要經(jīng)過讀取指令、分析指令和執(zhí)行指令3個階段。
執(zhí)行階段還可細分為:(1)取指令(2)分析指令(3)執(zhí)行指令①
取操作數(shù)
②執(zhí)行操作
③形成下一條指令地址此外,CPU還應(yīng)該對運行過程中出現(xiàn)的某些異常情況或輸入/輸出請求進行處理。第十六頁,共九十七頁,2022年,8月28日模型機數(shù)據(jù)通路結(jié)構(gòu)圖第十七頁,共九十七頁,2022年,8月28日2.指令之間的銜接方式指令之間的銜接方式有兩種:串行的順序安排方式與并行的重疊處理方式。3.1.3時序控制方式執(zhí)行一條指令的過程可分為幾個階段,而每一階段又分為若干步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號實現(xiàn)。因此,每條指令都可分解為一個控制信號序列,指令的執(zhí)行過程就是依次執(zhí)行一個確定的控制信號序列的過程。
時序控制方式就是指微操作與時序信號之間采取何種關(guān)系,它不僅直接決定時序信號的產(chǎn)生,也影響到控制器及其他部件的組成,以及指令的執(zhí)行速度。
第十八頁,共九十七頁,2022年,8月28日1.同步控制方式同步控制方式是指各項操作由統(tǒng)一的時序信號進行同步控制。同步控制的基本特征是將操作時間分為若干長度相同的時鐘周期(也稱為節(jié)拍),要求在一個或幾個時鐘周期內(nèi)完成各個微操作。在CPU內(nèi)部通常是采用同步控制方式。同步控制方式的優(yōu)點是時序關(guān)系簡單,結(jié)構(gòu)上易于集中,相應(yīng)的設(shè)計和實現(xiàn)比較方便。2.同步控制方式的多級時序系統(tǒng)(1)多級時序的概念在同步控制方式中,通常將時序信號劃分為幾級(其中包括指令周期),稱為多級時序。①機器周期②節(jié)拍(時鐘周期)③時鐘脈沖信號第十九頁,共九十七頁,2022年,8月28日(2)多級時序信號之間的關(guān)系三級時序信號之間的關(guān)系
第二十頁,共九十七頁,2022年,8月28日(3)時序系統(tǒng)的組成時序系統(tǒng)框圖
3.1.4指令流水線
兩段指令流水線
第二十一頁,共九十七頁,2022年,8月28日為獲得進一步的加速,流水線可以分成更多的階段。
取指令計算操作數(shù)地址譯碼指令寫操作數(shù)取操作數(shù)執(zhí)行指令指令流水線操作時序圖
影響流水線性能主要有以下幾個因素:(1)若各個階段不全是相等的時間(2)流水線中的相關(guān)問題(3)當遇到條件轉(zhuǎn)移指令時(4)當I/O設(shè)備有中斷請求或機器有故障時第二十二頁,共九十七頁,2022年,8月28日第二節(jié)算術(shù)邏輯部件ALU和運算方法算術(shù)邏輯部件ALU主要完成對二進制代碼的定點算術(shù)運算和邏輯運算。
3.2.1算術(shù)邏輯部件ALU算術(shù)邏輯部件ALU的硬件實現(xiàn)涉及三個問題:(1)如何構(gòu)成一位二進制加法單元,即全加器。(2)n位全加器連同進位信號傳送邏輯,構(gòu)成一個n位并行加法器。(3)以加法器為核心,通過輸入選擇邏輯擴展為具有多種算術(shù)和邏輯運算功能的ALU。第二十三頁,共九十七頁,2022年,8月28日1.全加器用半加器構(gòu)成的全加器
和進位目前,廣泛采用半加器構(gòu)成全加器。
通常邏輯門電路都存在延遲時間,全加器電路就是一個延遲部件,正是這個延遲特性將影響全加器的速度。
第二十四頁,共九十七頁,2022年,8月28日2.并行加法器與進位鏈結(jié)構(gòu)用n位全加器實現(xiàn)兩個n位操作數(shù)各位同時相加,這種加法器稱為并行加法器。并行加法器中全加器的位數(shù)與操作數(shù)的位數(shù)相同。(1)基本進位公式設(shè)相加的兩個n位操作數(shù)為:進位信號的邏輯式
第二十五頁,共九十七頁,2022年,8月28日可以看出C由兩部分組成:
我們定義兩個輔助函數(shù):
進位產(chǎn)生函數(shù)進位傳遞函數(shù)因此有:第二十六頁,共九十七頁,2022年,8月28日(2)并行加法器的串行進位采用串行進位的并行加法器,是將n個全加器串接起來,就可進行兩個n位數(shù)相加。由于串行進位的延遲時間較長,所以在ALU中很少采用純串行進位的方式。但這種方式可節(jié)省器件,成本低,在分組進位方式中局部采用有時也是可取的。
第二十七頁,共九十七頁,2022年,8月28日3.并行進位(先行進位、同時進位)為了提高并行加法器的運算速度,就必須解決進位傳遞的問題。方法是讓各級進位信號同時形成,而不是串行形成。這種同時形成各位進位的方法稱為并行進位或先行進位,又稱為同時進位。
雖然并行進位加法器的運算速度快,但這是以增加硬件邏輯線路為代價的。兩種常用的分組進位結(jié)構(gòu)是:組內(nèi)并行、組間串行的進位鏈。組內(nèi)并行、組間并行的進位鏈。第二十八頁,共九十七頁,2022年,8月28日4.ALU舉例SN74181框圖(1)SN74181外特性第二十九頁,共九十七頁,2022年,8月28日實驗1算術(shù)邏輯運算實驗兩個SN74181組成8位片內(nèi)并行進位,片間串行進位的運算器第三十頁,共九十七頁,2022年,8月28日16位并行進位ALU結(jié)構(gòu)P87圖3-13第三十一頁,共九十七頁,2022年,8月28日3.2.2定點數(shù)運算方法數(shù)值運算的核心是指加、減、乘、除四則算術(shù)。由于計算機中的數(shù)有定點和浮點兩種表示形式,因此相應(yīng)有定點數(shù)的運算和浮點數(shù)的運算。1.定點加減運算(1)原碼加減運算(不用)例如,加法指令指示做(+A)+(-B),由于一個操作數(shù)為負,實際操作是做減法(+A)-(+B),結(jié)果符號與絕對值大的符號相同。同理,在減法指令中指示做(+A)-(-B),實際操作是做加法(+A)+(+B),結(jié)果與被減數(shù)符號相同。
(2)補碼加減運算①補碼加法運算
[X
]+[Y]=[X+Y]②補碼減法運算[X–Y]=[X+(-Y)]=[X]+[-Y]第三十二頁,共九十七頁,2022年,8月28日③補碼運算規(guī)則根據(jù)以上討論,可將補碼加減規(guī)則歸納如下:
參加運算的操作數(shù)用補碼表示。 符號位參加運算。 若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,則將減數(shù)連同符號位一起變反加1后再與被減數(shù)相加。 運算結(jié)果用補碼表示?!纠?-3】[X]=00110110,[Y]=11001101,求[X+Y],[X-Y]。由[y]補怎么求[-y]補?第三十三頁,共九十七頁,2022年,8月28日(3)溢出判別在什么情況下可能產(chǎn)生溢出?例:設(shè)定點整數(shù)字長8位,補碼表示(最高位為符號位),表示范圍為-128127,運算結(jié)果超出此范圍就發(fā)生溢出。
第三十四頁,共九十七頁,2022年,8月28日0001111100001101(1)31+13=4400101100(2)-31+(-12)=-430111111101000001(3)63+66=129100000011100000110111110(4)-63+(-66)=-12901111111正溢負溢111000011111010011010101第三十五頁,共九十七頁,2022年,8月28日①采用一個符號位判斷溢出=S+AB②采用最高有效位的進位判斷溢出=C+C=CC③采用變形補碼判斷(雙符號位)用S、Sn分別表示結(jié)果最高符號位和第2符號位
溢出=SS第三十六頁,共九十七頁,2022年,8月28日2.移位移位操作按移位性質(zhì)可分為3種類型:邏輯移位、循環(huán)移位和算術(shù)移位。
移位示意圖
第三十七頁,共九十七頁,2022年,8月28日3.定點數(shù)乘除法(1)軟件實現(xiàn)(2)邏輯電路(3)專用乘除法器第三十八頁,共九十七頁,2022年,8月28日【例3-10】1101
1011的運算過程如圖所示。無符號數(shù)乘法除法不做要求(P92--94)第三十九頁,共九十七頁,2022年,8月28日3.2.3浮點數(shù)運算方法1.浮點數(shù)加減運算設(shè)有兩個浮點數(shù):X=Mx·,Y=My·。要實現(xiàn)X+Y的運算,需要以下4個步驟才能完成。①對階操作
對階的規(guī)則是:階碼小的數(shù)向階碼大的數(shù)對齊②實現(xiàn)尾數(shù)的加(減)運算③結(jié)果規(guī)格化和判溢出a.左規(guī)b.右規(guī)若運算結(jié)果是非規(guī)格化的數(shù),例如尾數(shù)是11.1x…x或00.0x…x形式,就需要將尾數(shù)左移,每左移一位,階碼減1,直至滿足規(guī)格化條件為止(即尾數(shù)最高有效位的真值為1,或尾數(shù)符與最高有效位不等),這個過程稱為左規(guī)。在左規(guī)的同時應(yīng)判斷結(jié)果是否會下溢,即階碼小于所能表示的最小負數(shù)。若運算結(jié)果尾數(shù)發(fā)生溢出,例如尾數(shù)為10.xx…x或01.xx…x形式,這并不表明浮點結(jié)果會溢出,此時需調(diào)整階碼,將尾數(shù)右移一位,階碼加1,稱為右規(guī)。右規(guī)時,應(yīng)判斷結(jié)果是否會上溢,即階碼大于所能表示的最大正數(shù)。④舍入操作第四十頁,共九十七頁,2022年,8月28日下面舉一個浮點加的實例。【例3-12】設(shè)有兩個浮點數(shù)X=20.1101012,Y=2(-0.101011)2。階碼尾數(shù)[X]浮=-10;00.110101[Y]浮=-01;11.010101①對階階碼取大的,即-01,
的尾數(shù)為00.011011(0舍1入)②尾數(shù)求和00.011011+11.01010111.110000③規(guī)格化及判溢出
左規(guī)得[X+Y]浮=1110;11.10000④舍入由于是左規(guī),結(jié)果不需要舍入。最后運算結(jié)果的真值為X+Y=2(-0.100000)2。小數(shù)點右移即左規(guī)第四十一頁,共九十七頁,2022年,8月28日2.浮點數(shù)乘除運算(1)浮點數(shù)乘法運算①階碼相加并判溢出②尾數(shù)相乘③規(guī)格化處理
(2)浮點數(shù)除法運算③求階差④尾數(shù)相除(都已經(jīng)規(guī)格化)①預(yù)置檢測被除數(shù)是否為0,若為0則置商為0。如果除數(shù)為0,則置0除數(shù)標志,轉(zhuǎn)中斷處理。
②尾數(shù)調(diào)整第四十二頁,共九十七頁,2022年,8月28日3.2.4十進制數(shù)加減運算1.進制轉(zhuǎn)換(十----二----十)2.BCD碼(二-十進制數(shù))機器內(nèi)部采用二-十進制數(shù)(BCD碼),由BCD碼運算指令完成運算。實現(xiàn)BCD碼運算的方法有兩種:
①專用進行BCD碼加、減、乘、除的運算指令。②先用二進制數(shù)的加、減、乘、除指令進行運算,緊接著用BCD碼校正指令對運算結(jié)果進行校正。3.BCD碼校正0---9不用校正,大于9則+6即+110校正第四十三頁,共九十七頁,2022年,8月28日第3節(jié)CPU模型機的組成及其數(shù)據(jù)通路3.3.1基本組成模型機數(shù)據(jù)通路結(jié)構(gòu)圖第四十四頁,共九十七頁,2022年,8月28日3.3.1基本組成1.寄存器(1)可編程寄存器通用寄存器有4個:R0、R1、R2、R3;堆棧指針為SP;程序狀態(tài)字寄存器為PSW;程序計數(shù)器為PC。(2)暫存器暫存器有3個:C、D、Z。(3)指令寄存器IR指令寄存器IR用來存放當前正在執(zhí)行的一條指令。(4)與主存接口的寄存器MAR、MDRCPU對主存的控制信號有兩個:讀信號RD控制對主存的讀操作;寫信號WR控制對主存的寫操作。第四十五頁,共九十七頁,2022年,8月28日2.運算部件ALU的輸入A來自暫存器D,輸入B來自ALU總線,運算結(jié)果輸出到Z??刂艫LU運算的控制信號有:ADD、SUB、AND、OR、XOR、COM、NEG、A+1、A-1、B+1、B-1,它們分別控制ALU完成加、減、與、或、異或、求負、求反等運算。
3.總線與數(shù)據(jù)通路結(jié)構(gòu)(1)ALU總線CPU內(nèi)部采用單總線結(jié)構(gòu),即設(shè)置一組ALU總線(也稱為CPU內(nèi)總線),由16根雙向數(shù)據(jù)傳送線組成,ALU和所有寄存器通過這組公共總線連接起來。
(2)系統(tǒng)總線模型機的CPU、存儲器及I/O設(shè)備分別掛接在一組系統(tǒng)總線上。系統(tǒng)總線包括:16根地址總線、16根數(shù)據(jù)總線,以及控制總線。為簡單起見,模型機采用同步控制方式。第四十六頁,共九十七頁,2022年,8月28日4.控制器及微命令的基本形式(1)微命令的基本形式在模型機中,微命令有兩種形式。①電位型微命令·各寄存器輸出到ALU總線的控制信號有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等?!LU運算控制信號有:ADD、SUB、AND、OR、XOR等?!捍嫫鱀的左移/右移控制信號有:SAL、SAR。·程序計數(shù)器PC的計數(shù)控制信號有:PC+1?!AR和MDR輸出到系統(tǒng)總線的控制信號有:EMAR、EMDR。·寄存器置入控制信號有:SMDR、SPSW?!ぶ鞔娴淖x/寫信號有:RD、WR。②脈沖型微命令脈沖型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。第四十七頁,共九十七頁,2022年,8月28日(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器IR、指令譯碼器、程序計數(shù)器PC、狀態(tài)字寄存器PSW、時序系統(tǒng)和微操作信號發(fā)生器??刂破魇钦麢C的指揮中心,其基本功能就是執(zhí)行指令,即根據(jù)指令產(chǎn)生控制信號序列以控制相應(yīng)部件分步完成指定的操作。第四十八頁,共九十七頁,2022年,8月28日3.3.2數(shù)據(jù)傳送1.寄存器之間的數(shù)據(jù)傳送
在模型機中,寄存器之間可直接通過ALU總線傳送數(shù)據(jù),具體傳送由輸出門和打入脈沖控制。例如:把寄存器R1的內(nèi)容傳送到寄存器R3,即實現(xiàn)傳送操作R1→R3所需控制信號為R1OUT、CPR3
第四十九頁,共九十七頁,2022年,8月28日2.主存數(shù)據(jù)傳送到CPU
主存與CPU之間通過系統(tǒng)總線傳送數(shù)據(jù)。①PC→MAR;PC中的指令地址送存儲器地址寄存器②M→MDR→IR;從存儲器中讀指令到IR實現(xiàn)PC→MAR的控制信號:PCOUT、CPMAR。
實現(xiàn)讀操作M→MDR的控制信號:EMAR、RD、SMDR;實現(xiàn)MDR→IR的控制信號:MDROUT、CPIR。例如:要從存儲器中取指令到指令寄存器IR,通過以下操作序列即可實現(xiàn):
第五十頁,共九十七頁,2022年,8月28日3.CPU數(shù)據(jù)傳送到主存①R1→MAR;地址送MAR②R2→MDR;數(shù)據(jù)送MDR③MDR→M;數(shù)據(jù)寫入主存例如:在R2中存放需寫入主存的數(shù)據(jù),存儲單元地址在R1中,則寫一個數(shù)據(jù)到存儲器可通過以下操作序列實現(xiàn):實現(xiàn)R1→MAR的控制信號:R1OUT、CPMAR。實現(xiàn)R2→MDR的控制信號為R2OUT、CPMDR。實現(xiàn)寫操作MDR→M的控制信號為EMAR、EMDR、WR第五十一頁,共九十七頁,2022年,8月28日4.執(zhí)行算術(shù)或邏輯操作
①R1→D ;把R1的內(nèi)容先送到寄存器D②D+R2→Z;R2內(nèi)容送到ALU的B端與D內(nèi)容通過ALU相加,結(jié)果送Z③Z→R3;將存放在Z中的相加結(jié)果送入R3中例如:完成“把寄存器R1和R2的內(nèi)容相加,結(jié)果送到R3”這個功能,需要分成3步執(zhí)行:實現(xiàn)R1→D的控制信號:R1OUT、CPD。實現(xiàn)D+R2→MDR的控制信號:R2OUT、ADD、CPZ。實現(xiàn)Z→R3的控制信號:ZOUT、CPR3。
第五十二頁,共九十七頁,2022年,8月28日第四節(jié)組合邏輯控制器原理
組合邏輯控制器是指產(chǎn)生控制信號(即微命令)的部件,是用組合邏輯線路來實現(xiàn)。在模型機中有幾十個微命令,則每個微命令都需要一組邏輯門電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作碼、尋址方式、時序信號等)產(chǎn)生該微命令。
本節(jié)先介紹模型機的指令系統(tǒng),然后假設(shè)模型機采用的是組合邏輯控制器,討論其時序系統(tǒng)、指令執(zhí)行流程及微命令的產(chǎn)生與綜合。
第五十三頁,共九十七頁,2022年,8月28日3.4.1模型機的指令系統(tǒng)1.指令格式(1)雙操作數(shù)指令:其格式如下圖所示第12~15位表示操作碼,第6~11位為源操作數(shù)地址段,第0~5位為目的操作數(shù)地址段,在每個地址段字段中又分為兩部分,其中3位表明尋址方式類型,另外3位給出所指定的寄存器編號。
第五十四頁,共九十七頁,2022年,8月28日(1)雙操作數(shù)指令格式可編程寄存器有7個,編號如下(留有一種編碼110未用,可擴展):·通用寄存器R0~R3000~011·堆棧指針SP100·程序狀態(tài)字PSW101·程序計數(shù)器PC111第五十五頁,共九十七頁,2022年,8月28日(2)單操作數(shù)指令
第0~5位為地址字段,第6~11位空閑不用,也可供擴展操作碼用。第五十六頁,共九十七頁,2022年,8月28日(3)轉(zhuǎn)移指令第12~15位為操作碼,第6~11位給出轉(zhuǎn)移地址字段(也分為尋址方式與寄存器號兩部分)。第0~5位則為轉(zhuǎn)移條件字段。其中,第0~3位中有一位為1,表明轉(zhuǎn)移條件——進位C、溢出V、結(jié)果為零Z、結(jié)果為負N。第5位表明轉(zhuǎn)移方式,若為0,表示相關(guān)標志位為0轉(zhuǎn)移;若為1,表示相關(guān)標志位為1轉(zhuǎn)移。若第0~5位全為0,表示無條件轉(zhuǎn)移。第五十七頁,共九十七頁,2022年,8月28日2.尋址方式模型機的編址為按字編址,字長16位,即主存每個單元16位。采用簡單變字長指令格式,指令長度可為16位、32位(指令中含立即數(shù)或一個操作數(shù)地址)或48位(含2個操作數(shù)地址),操作數(shù)字長16位。模型機尋址方式
如下表:類型尋址方式匯編符號可指定寄存器定義簡述0寄存器尋址
R
R0~R3,SP,PSW
數(shù)在指定寄存器中
1寄存器間址
(R)R0~R3,SP
地址在指定寄存器中
2自減型寄存器間址
-(R)
R0~R3,SP
寄存器內(nèi)容減1后為操作數(shù)地址
3立即/自增型寄存器間址
(R)+
R0~R3,SP,PC
寄存器內(nèi)容為操作數(shù)地址,操作后加1
4直接尋址DIPC操作數(shù)地址緊跟著指令
5變址尋址
X(R)
R0~R3,SP,PC
變址寄存器內(nèi)容與緊跟指令的位移量相加,為操作數(shù)地址
第五十八頁,共九十七頁,2022年,8月28日3.操作類型操作碼共4位,現(xiàn)設(shè)置14種指令,余下兩種操作碼組合可供擴展。(1)傳送指令MOV——傳送,操作碼0000。不設(shè)堆棧操作指令、I/O指令(2)雙操作數(shù)算術(shù)邏輯指令A(yù)DD——加,操作碼0001(帶進位)。SUB——減,操作碼0010(帶進位)。AND——邏輯與,操作碼0011。OR——邏輯或,操作碼0100。EOR——邏輯異或,操作碼0101。(3)單操作數(shù)算術(shù)邏輯指令COM——求反,操作碼0110。NEG——求補,操作碼0111。INC——加1,操作碼1000。DEC——減1,操作碼1001。SL——左移,操作碼1010。SR——右移,操作碼1011。第五十九頁,共九十七頁,2022年,8月28日(4)程序控制類指令①轉(zhuǎn)移指令JMP,操作碼1100。
IR5
IR3
IR2
IR1
IR0
說明
0
0
0
0
1
進位C=0轉(zhuǎn)
1
0
0
0
1
進位C=1轉(zhuǎn)
0
0
0
1
0
溢出V=0轉(zhuǎn)
1
0
0
1
0
溢出V=1轉(zhuǎn)
0
0
1
0
0
結(jié)果為零Z=1轉(zhuǎn)
1
0
1
0
0
結(jié)果不為零Z=0轉(zhuǎn)
0
1
0
0
0
結(jié)果為負N=1轉(zhuǎn)
1
1
0
0
0
結(jié)果為正N=0轉(zhuǎn)
0
0
0
0
0
無條件轉(zhuǎn)移
如上表所示,JMP指令第3~0位選擇一位為1,表明以PSW中的某一特征作為轉(zhuǎn)移條件。因此,JMP指令第3~0位的含義與PSW第3~0位含義分別相對應(yīng)。例如PSW第0位是進位位C,而轉(zhuǎn)移指令第0位若為1,則表明以進位狀態(tài)為轉(zhuǎn)移條件。JMP指令第5位(IR5)決定轉(zhuǎn)移條件為0轉(zhuǎn),還是為1轉(zhuǎn)。若JMP指令第5~0位全為0,則表示無條件轉(zhuǎn)移。第六十頁,共九十七頁,2022年,8月28日②返回指令RST,操作碼1100。RST指令與JMP指令的操作碼相同,可視為一條指令。RST指令只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為SP,即尋址方式為(SP)+。它從堆棧中取出返回地址,然后修改堆棧指針SP+1。實際上,“JMP(SP)+”指令就是一條RST指令。③轉(zhuǎn)子指令JSR,操作碼1101。執(zhí)行JSR指令時,先將返回地址壓棧保存,然后按尋址方式找到轉(zhuǎn)移地址(即子程序入口地址),將它送入PC中。第六十一頁,共九十七頁,2022年,8月28日3.4.2模型機的時序系統(tǒng)組合邏輯控制器依靠不同的時間標志,使CPU分步工作。模型機采用前述的三級時序系統(tǒng),即將時序信號分為工作周期、節(jié)拍(時鐘周期)和工作脈沖。1.工作周期劃分(1)取指周期FT
在取指周期FT中完成取指所需的操作
(2)源周期ST
如果需要從主存中讀取源操作數(shù),則進入ST。
(3)目的周期DT如果需要從主存中讀取目的地址或目的操作,則進入DT。(4)執(zhí)行周期ET
在取得操作數(shù)后,則進入ET,在ET中將依據(jù)IR中操作碼執(zhí)行相應(yīng)操作,如傳送、算術(shù)運算、邏輯運算、獲得轉(zhuǎn)移地址等
(5)中斷響應(yīng)周期IT
(6)DMA傳送周期DMAT
第六十二頁,共九十七頁,2022年,8月28日(5)中斷響應(yīng)周期IT
(6)DMA傳送周期DMAT
中斷方式:由于某些異常情況或特殊請求,引起CPU暫停執(zhí)行當前程序,轉(zhuǎn)去執(zhí)行中斷處理子程序,以處理這些情況或請求,等處理完后又返回原程序斷點繼續(xù)執(zhí)行,這一過程就稱為中斷。
CPU在響應(yīng)中斷請求之后,進入中斷響應(yīng)周期IT。在IT中將直接依靠硬件進行關(guān)中斷、保存斷點、轉(zhuǎn)處理程序入口等操作。IT結(jié)束后,進入取指周期FT,開始執(zhí)行中斷處理程序。
DMA(DirectMemoryAccess)即直接訪存方式:其基本思想是在主存儲器和I/O設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由專門的DMA控制器控制主存和I/O設(shè)備間的數(shù)據(jù)傳送,在傳送時不需CPU干預(yù)。由于傳送過程完全由硬件實現(xiàn),所花費的時間短,因此能滿足高速數(shù)據(jù)傳送的需要。CPU響應(yīng)DMA請求之后,進入DMAT。在DMAT中,CPU交出系統(tǒng)總線的控制權(quán),即MAR、MDR與系統(tǒng)總線脫鉤(呈高阻態(tài))。改由DMA控制器控制系統(tǒng)總線,實現(xiàn)主存與外圍設(shè)備間的數(shù)據(jù)直接傳送,因此對CPU來說,DMAT是一個空操作周期。第六十三頁,共九十七頁,2022年,8月28日FTSTDTITETDMATDMA請求?中斷?YYNNCPU控制流程例.雙操作數(shù)指令的兩個操作數(shù)均在主存中,工作周期變化為:FT→ST→DT→ET→(FT……)例.單操作數(shù)指令的操作數(shù)在主存中,工作周期變化為:
FT→DT→ET→(FT……)例.雙操作數(shù)指令的操作數(shù)均在CPU寄存器中,工作周期變化為:
FT→ET→(FT……)左圖描述了指令執(zhí)行時工作周期狀態(tài)變化流程。
第六十四頁,共九十七頁,2022年,8月28日2.節(jié)拍(時鐘周期)T
每個工作周期的操作一般需要分成若干步完成,為此將工作周期劃分成若干節(jié)拍。在模型機中,為了簡化時序控制,將CPU內(nèi)部操作與訪問主存的操作統(tǒng)一考慮。節(jié)拍寬度為最長微操作所需的時間,即訪問主存操作所需的時間。
3.工作脈沖P3.工作脈沖在節(jié)拍中執(zhí)行的有些操作需要同步定時脈沖,如將穩(wěn)定的運算結(jié)果打入寄存器、周期狀態(tài)切換等。為此,模型機在每個節(jié)拍的末尾發(fā)一個工作脈沖P,作為各種同步脈沖的來源,如左圖。工作脈沖P的前沿:作為打入寄存器的定時信號,它標志著一次數(shù)據(jù)通路操作的完成。P的后沿:作為節(jié)拍、工作周期切換的定時信號,在此刻對節(jié)拍計數(shù)器T計數(shù)、打入新的工作周期狀態(tài)。第六十五頁,共九十七頁,2022年,8月28日3.4.3指令流程(重點)分析指令流程是為了在寄存器這一層次分析指令的讀取與執(zhí)行過程,也就是討論CPU的工作機制。1.取指周期FT(Fetch)(1)進入FT的條件初始化時置入FT,程序正常運行時同步打入FT。FTSRDCQQ總清11FTCPFT取指周期狀態(tài)觸發(fā)器
產(chǎn)生控制信號1→FT的邏輯條件如下:
1→FT=ET(1→IT·1→DMAT)+IT+DMAT(1→IT·1→DMAT)第六十六頁,共九十七頁,2022年,8月28日(2)取指流程PC→MARM→MDR→IRPC+1→PCFT0FT1(3)微操作時間表FT工作周期狀態(tài)與節(jié)拍序號本拍中應(yīng)發(fā)的電平型微命令本拍中應(yīng)發(fā)的脈沖型微命令FT0PCOUTT+1PCPMARCPT()FT1EMAR、RD、SMDRMDROUTPC+1T=01→ST[邏輯式1]1→DT[邏輯式2]1→ET[邏輯式3]PCPIRCPPCCPT()CPST()CPDT()CPET()
第六十七頁,共九十七頁,2022年,8月28日2.MOV指令1)取指令周期和取源操作數(shù)周期流程圖FTST0ST1ST2ST3ST4R(R)-(R)I/(R)+DIX(R)MOVE指令第六十八頁,共九十七頁,2022年,8月28日2)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3ET0ET1R(R)-(R)I/(R)+DIX(R)第六十九頁,共九十七頁,2022年,8月28日3.雙操作數(shù)指令雙操作數(shù)指令共有5條:加ADD、減SUB、與AND、或OR、異或EOR,其指令流程圖:STFTDT0DT1DT2DT3DT4ET0ET1ET2與MOV相同第七十頁,共九十七頁,2022年,8月28日4.單操作數(shù)指令單操作數(shù)指令共有6條:求反COM、求補NEG、加“1”INC、減“1”DEC、左移SL、右移SR,其指令流程圖如圖:FTST(無)DTET0ET1ET2與雙操作數(shù)指令相同第七十一頁,共九十七頁,2022年,8月28日5.轉(zhuǎn)移指令JMP/返回指令RSTNJPJP,RSTPCPCR(R)(R)+/RSTX(PC)FTET1ET2ET3ET4第七十二頁,共九十七頁,2022年,8月28日6.轉(zhuǎn)子指令JSRST0FTET0ET1ET2ST1ST2ST3ET4流程圖如下:第七十三頁,共九十七頁,2022年,8月28日8.DMA周期在實際機器中,CPU可在一個系統(tǒng)總線周期結(jié)束時響應(yīng)DMA請求。9.鍵盤操作3.4.4微命令的綜合與產(chǎn)生微命令的邏輯表達式都是“與-或”式的邏輯形態(tài),各“與”項通常包括:指令操作碼譯碼信號、尋址字段譯碼信號、工作周期狀態(tài)、節(jié)拍、工作脈沖等。例如:PCOUT=FT·T0+MOV··ST·T0+…CPMAR=FT·T0·P+MOV··ST·T0·P+…T+1=FT·T0+MOV·ST·T0·+…CPT=第七十四頁,共九十七頁,2022年,8月28日第五節(jié)微程序控制器原理有些CPU采用微程序控制方式來產(chǎn)生微命令,相應(yīng)的控制器稱為微程序控制器。1.微程序控制方式的基本思想(1)將機器指令分解為基本的微命令序列,用二進制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。(2)一條微指令包含的微命令,控制實現(xiàn)一步(一個節(jié)拍)操作;若干條微指令組成的一小段微程序解釋執(zhí)行一條機器指令。
CM中的微程序能解釋執(zhí)行整個指令系統(tǒng)的所有機器指令。
第七十五頁,共九十七頁,2022年,8月28日指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
控制存儲器CM功能:存放微程序。CM屬于CPU,不屬于主存儲器。微指令寄存器μIR功能:存放現(xiàn)行微指令。微操作控制字段:提供一步操作所需的微命令。 指明后續(xù)微地址的形成方式。順序控制字段:
提供微地址的給定部分第七十六頁,共九十七頁,2022年,8月28日指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
2.微程序執(zhí)行過程的描述(1)取機器指令CM取指微指令μIR微命令字段譯碼器微命令機器指令I(lǐng)R主存第七十七頁,共九十七頁,2022年,8月28日指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(2)轉(zhuǎn)微程序入口(3)執(zhí)行首條微指令I(lǐng)R操作碼微地址形成電路入口μARCMμIR微命令字段μIR譯碼器微命令操作部件第七十八頁,共九十七頁,2022年,8月28日指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR第七十九頁,共九十七頁,2022年,8月28日(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
第八十頁,共九十七頁,2022年,8月28日3.基本概念和術(shù)語(1)微命令與微操作微命令微操作——構(gòu)成控制信號序列的最小單位。
——由微命令控制實現(xiàn)的最基本操作。
注意,在組合邏輯控制器中也存在微命令、微操作這兩個概念,它們并非只是微程序控制方式的專用概念。(2)微指令與微周期微指令微周期——若干微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現(xiàn)一步操作?!ǔV笍目刂拼鎯ζ髦凶x取一條微指令并執(zhí)行相應(yīng)的微操作所需的時間。第八十一頁,共九十七頁,2022年,8月28日(3)微程序與微程序設(shè)計微程序
微程序設(shè)計——一系列微指令的有序集合。
——是將傳統(tǒng)的程序設(shè)計方法運用到控制邏輯的設(shè)計中,在微程序中也可以有微子程序、循環(huán)、分支等形態(tài)。(4)工作程序與微程序、主存儲器與控制存儲器3.5.2微指令編碼方式微指令編碼的實質(zhì)是解決在微指令中如何組織微命令的問題。第八十二頁,共九十七頁,2022年,8月28日1.直接控制編碼(不譯碼法)例.某微指令微命令按位給出。不需譯碼,產(chǎn)生微命令的速度快;信息的表示效率低。C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀第八十三頁,共九十七頁,2022年,8月28日操作唯一;加法器A輸入端的控制命令放AI字段,B輸入端的控制命令放BI字段。
加法器A
BR、CD、ER、CD、F000不發(fā)命令010CA100EA001RA011DACDAIBI33010CA000不發(fā)命令010CB100FB001RB011DB011DBAI:BI:一條微指令能同時提供若干微命令,便于組織各種操作。編碼較簡單;2.分段直接編譯法第八十四頁,共九十七頁,2022年,8月28日3.分段間接編譯法例.微命令由本字段編碼和其他字段解釋共同給出。C=CA1)設(shè)置解釋位或解釋字段解釋位1
A為某類命令0
A為常數(shù)2)分類編譯按功能類型將微指令分類,分別安排各類微指令格式和字段編碼,并設(shè)置區(qū)分標志。第八十五頁,共九十七頁,2022年,8月28日4.常數(shù)源字段E的設(shè)置微操作控制字段E順序控制字段
在微指令中,一般設(shè)有一個常數(shù)源字段E,就如同機器指令中的立即操作數(shù)一樣,用來提供微指令所使用的常數(shù)(由設(shè)計者填寫),如提供計數(shù)器初值,通用寄存器地址,轉(zhuǎn)移地址等。字段E也可用來參與其他控制字段的間接編碼,以減少微指令字長,增加微指令的靈活性。字段E在微指令中的形式為除上述幾種基本的編碼方法外,另外還有一些常見的編碼技術(shù),如可采用微指令譯碼與部分機器指令譯碼的復合控制、微地址參與解釋微指令譯碼。第八十六頁,共九十七頁,2022年,8月28日3.5.3微程序的順序控制1.微程序入口地址的形成每一條機器指令對應(yīng)著一段微程序,其入口就是初始微地址。常用以下幾種方式形成入口地址:(1)當操作碼的位數(shù)與位置固定時,可直接使操作碼與入口地址碼的部分相對應(yīng)。
(2)當每類指令中的操作碼位數(shù)與位置固定,而各類指令之間的操作碼與位置不固定時,可采用分級轉(zhuǎn)移的方式。
(3)當機器指令的操作碼位數(shù)和位置都不固定時,通常可以采用PLA電路將每條指令的操作碼翻譯成對應(yīng)的微程序入口地址,也可以采用PROM(可編程只讀存儲器)實現(xiàn)轉(zhuǎn)移,將指令操作碼作為PROM的地址輸入,其對應(yīng)的PROM單元內(nèi)容即為該機器指令的微程序入口地址。第八十七頁,共九十七頁,2022年,8月28日2.后繼微地址的形成每條微指令執(zhí)行完畢時,需根據(jù)其中的順序控制字段的要求形成后繼微指令地址。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度影視作品投資出借與信息咨詢合同4篇
- 2025年國際貿(mào)易服務(wù)協(xié)議(SPA)合同模板下載
- 2025年度國際農(nóng)業(yè)產(chǎn)品貿(mào)易與種植基地合作合同
- 2025年度大蒜精油產(chǎn)品售后服務(wù)與技術(shù)支持合同范本
- 2025年度國際貨運代理合同范本(全新修訂)
- 2025年度私募股權(quán)股票質(zhì)押合同模板
- 2025年度時尚雜志封面拍攝委托合同
- 2025年度國際公路貨運車輛維修保養(yǎng)合同范本
- 2025年度醫(yī)療設(shè)備采購合同變更說明
- 二零二五年度櫥柜銷售團隊激勵合同4篇
- 2025版茅臺酒出口業(yè)務(wù)代理及銷售合同模板4篇
- 2025年N1叉車司機考試試題(附答案)
- 《醫(yī)院財務(wù)分析報告》課件
- 2024年考研政治試題及答案
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 2022-2023學年五年級數(shù)學春季開學摸底考(四)蘇教版
- 【螞蟻保】2024中國商業(yè)醫(yī)療險發(fā)展研究藍皮書
- 授信審批部工作計劃及思路
- 財務(wù)管理學(第10版)課件 第3章 財務(wù)分析
- 產(chǎn)品報價單(5篇)
- 康復護理練習題庫(附答案)
評論
0/150
提交評論