版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章計算機系統(tǒng)分層結構第1頁,課件共97頁,創(chuàng)作于2023年2月1.4~系統(tǒng)結構計算機系統(tǒng)結構系統(tǒng)的層次結構
★★面向問題語言層匯編語言層操作系統(tǒng)層指令系統(tǒng)層微體系結構層5層4層3層2層1層硬件---機器語言機器與人的界面符號化的機器語言面向用戶的語言硬件/固件(微程序)翻譯(編譯器)翻譯(匯編器)部分解釋(操作系統(tǒng))直接執(zhí)行/解釋(微程序)第2頁,課件共97頁,創(chuàng)作于2023年2月第3章微體系結構層—CPU組織在微體系結構層,是從寄存器級分析CPU的結構和功能。本章主要內容:CPU的基本組成和功能算術邏輯部件ALU和運算方法CPU模型機組合邏輯控制器原理微程序控制器原理第3頁,課件共97頁,創(chuàng)作于2023年2月第5章CPU
.學習目的和要求:
認識CPU在計算機中的位置;
要求掌握CPU與各個部分的協調工作原理;
.重點:整機構成,三級時序,兩類控制器;
.難點:運算器,微程序控制和設計。第4頁,課件共97頁,創(chuàng)作于2023年2月3.1CPU(CentralProcessUnit)的組成和功能
計算機的工作就是不斷執(zhí)行指令序列的過程。CPU的主要功能是從主存儲器中取出指令、分析指令和執(zhí)行指令,即按指令控制計算機各部件操作,并對數據進行處理。
CPU是計算機的核心組成部分
3.1.CPU的組成和功能第5頁,課件共97頁,創(chuàng)作于2023年2月由算術邏輯部件ALU
、控制器、各種寄存器(寄存器群)和CPU內部總線(連接部件)另:Cache
3.1.1CPU的組成第6頁,課件共97頁,創(chuàng)作于2023年2月1.ALU部件ALU的功能是實現數據的算術與邏輯運算兩個輸入端口,參加運算的兩個操作數,通常來自CPU中的通用寄存器或ALU總線??刂菩盘枺篈DD,SUB,OR,AND等輸出:運算結果第7頁,課件共97頁,創(chuàng)作于2023年2月CPU中的寄存器包括存放控制信息的寄存器,如指令寄存器(IR)、程序計數器(PC)和狀態(tài)字寄存器(FR);以及存放所處理數據的寄存器,如通用寄存器和暫存器。2.寄存器(1)通用寄存器本身在邏輯上只具有接收信息、存儲信息和發(fā)送信息的功能??蔀锳LU提供操作數并存放運算結果(MUL,DIV),也可用作變址寄存器(SI,DI)、地址指針和計數器(CX)等。第8頁,課件共97頁,創(chuàng)作于2023年2月(2)暫存器暫存從主存儲器讀出的數據,暫存器沒有寄存器號,因此不能直接編程訪問它們,是透明的。(ALU的兩個輸入)用來存放當前正在執(zhí)行的一條指令。執(zhí)行指令時,需根據PC中的指令地址從主存讀取指令送到IR中。(3)指令寄存器IR(InstructionRegister)
存放當前或下一條指令在主存中的地址,因此又稱為指令計數器或指令指針I(yè)P(InstructionPointer)。
(4)程序計數器PC(ProgramCounter)
第9頁,課件共97頁,創(chuàng)作于2023年2月(5)狀態(tài)寄存器存放當前程序的運行狀態(tài)和工作方式,其內容稱為程序狀態(tài)字PSW(ProgramStateWord),PSW是參與控制程序執(zhí)行的重要依據。(P144)
第10頁,課件共97頁,創(chuàng)作于2023年2月標志位的值標志名標志為1標志為0OF溢出(是/否)OVNVDF方向(增量/減量)DNUPIF中斷(允許/關閉)EIDISF符號(正/負)NGPLZF零(是/否)ZRNZAF輔助進位(是/否)ACNAPF奇偶(偶/奇)PEPOCF進位(是/否)CYNC第11頁,課件共97頁,創(chuàng)作于2023年2月3.總線所謂總線是一組能為多個部件分時共享的公共信息傳送線路,它分時接收各部件送來的信息,并發(fā)送信息到有關部件。
由于多個部件連接在一組公共總線上,可能會出現多個部件爭用總線,因此需設置總線控制邏輯以解決總線控制權的有關問題。
CPU內部總線用來連接CPU內的各寄存器與ALU;總線分類:
系統(tǒng)總線用來連接CPU、主存儲器與I/O接口,它通常包括三組:數據總線、地址總線和控制總線。按總線傳送的方向可將總線分為單向總線和雙向總線。第12頁,課件共97頁,創(chuàng)作于2023年2月4.CPU內部數據通路CPU內部寄存器及ALU之間通常用總線方式傳送數據信息。介紹兩種常見的結構。
(1)單總線數據通路結構(雙向)采用單總線結構的CPU數據通路
第13頁,課件共97頁,創(chuàng)作于2023年2月CPU數據通路結構只采用一組內總線,它是雙向總線。通用寄存器組、其他寄存器和ALU均連在這組內總線上。
CPU內各寄存器間的數據傳送必須通過內總線進行,ALU通過內總線得到操作數,其運算結果也經內總線輸出。
(2)多組內總線結構(單向)采用三總線結構的CPU數據通路
為了提高CPU的工作速度,一種方法是在CPU內部設置多組內總線,使幾個數據傳送操作能夠同時進行,即實現部分并行操作。第14頁,課件共97頁,創(chuàng)作于2023年2月ACYMemoryPCALURnR0IRCUPSWDRARclockIRinPCinADDSUBANDORR0in移位器R0outR1inR1outRninRnoutDRinDRoutARinARoutA碼C碼PCoutR/WCSACinYinIRout微命令序列(微指令)時序CPU內部的結構示意圖R1BUS(總線)紅色箭頭是微命令第15頁,課件共97頁,創(chuàng)作于2023年2月3.1.2指令執(zhí)行過程CPU的主要功能就是執(zhí)行存放在存儲器中的指令序列,即程序。1.指令的分段執(zhí)行過程任何一條指令的執(zhí)行都要經過讀取指令、分析指令和執(zhí)行指令3個階段。
執(zhí)行階段還可細分為:(1)取指令(2)分析指令(3)執(zhí)行指令①
取操作數
②執(zhí)行操作
③形成下一條指令地址此外,CPU還應該對運行過程中出現的某些異常情況或輸入/輸出請求進行處理。第16頁,課件共97頁,創(chuàng)作于2023年2月模型機數據通路結構圖第17頁,課件共97頁,創(chuàng)作于2023年2月2.指令之間的銜接方式指令之間的銜接方式有兩種:串行的順序安排方式與并行的重疊處理方式。3.1.3時序控制方式執(zhí)行一條指令的過程可分為幾個階段,而每一階段又分為若干步基本操作,每一步操作則由控制器產生一些相應的控制信號實現。因此,每條指令都可分解為一個控制信號序列,指令的執(zhí)行過程就是依次執(zhí)行一個確定的控制信號序列的過程。
時序控制方式就是指微操作與時序信號之間采取何種關系,它不僅直接決定時序信號的產生,也影響到控制器及其他部件的組成,以及指令的執(zhí)行速度。
第18頁,課件共97頁,創(chuàng)作于2023年2月1.同步控制方式同步控制方式是指各項操作由統(tǒng)一的時序信號進行同步控制。同步控制的基本特征是將操作時間分為若干長度相同的時鐘周期(也稱為節(jié)拍),要求在一個或幾個時鐘周期內完成各個微操作。在CPU內部通常是采用同步控制方式。同步控制方式的優(yōu)點是時序關系簡單,結構上易于集中,相應的設計和實現比較方便。2.同步控制方式的多級時序系統(tǒng)(1)多級時序的概念在同步控制方式中,通常將時序信號劃分為幾級(其中包括指令周期),稱為多級時序。①機器周期②節(jié)拍(時鐘周期)③時鐘脈沖信號第19頁,課件共97頁,創(chuàng)作于2023年2月(2)多級時序信號之間的關系三級時序信號之間的關系
第20頁,課件共97頁,創(chuàng)作于2023年2月(3)時序系統(tǒng)的組成時序系統(tǒng)框圖
3.1.4指令流水線
兩段指令流水線
第21頁,課件共97頁,創(chuàng)作于2023年2月為獲得進一步的加速,流水線可以分成更多的階段。
取指令計算操作數地址譯碼指令寫操作數取操作數執(zhí)行指令指令流水線操作時序圖
影響流水線性能主要有以下幾個因素:(1)若各個階段不全是相等的時間(2)流水線中的相關問題(3)當遇到條件轉移指令時(4)當I/O設備有中斷請求或機器有故障時第22頁,課件共97頁,創(chuàng)作于2023年2月第二節(jié)算術邏輯部件ALU和運算方法算術邏輯部件ALU主要完成對二進制代碼的定點算術運算和邏輯運算。
3.2.1算術邏輯部件ALU算術邏輯部件ALU的硬件實現涉及三個問題:(1)如何構成一位二進制加法單元,即全加器。(2)n位全加器連同進位信號傳送邏輯,構成一個n位并行加法器。(3)以加法器為核心,通過輸入選擇邏輯擴展為具有多種算術和邏輯運算功能的ALU。第23頁,課件共97頁,創(chuàng)作于2023年2月1.全加器用半加器構成的全加器
和進位目前,廣泛采用半加器構成全加器。
通常邏輯門電路都存在延遲時間,全加器電路就是一個延遲部件,正是這個延遲特性將影響全加器的速度。
第24頁,課件共97頁,創(chuàng)作于2023年2月2.并行加法器與進位鏈結構用n位全加器實現兩個n位操作數各位同時相加,這種加法器稱為并行加法器。并行加法器中全加器的位數與操作數的位數相同。(1)基本進位公式設相加的兩個n位操作數為:進位信號的邏輯式
第25頁,課件共97頁,創(chuàng)作于2023年2月可以看出C由兩部分組成:
我們定義兩個輔助函數:
進位產生函數進位傳遞函數因此有:第26頁,課件共97頁,創(chuàng)作于2023年2月(2)并行加法器的串行進位采用串行進位的并行加法器,是將n個全加器串接起來,就可進行兩個n位數相加。由于串行進位的延遲時間較長,所以在ALU中很少采用純串行進位的方式。但這種方式可節(jié)省器件,成本低,在分組進位方式中局部采用有時也是可取的。
第27頁,課件共97頁,創(chuàng)作于2023年2月3.并行進位(先行進位、同時進位)為了提高并行加法器的運算速度,就必須解決進位傳遞的問題。方法是讓各級進位信號同時形成,而不是串行形成。這種同時形成各位進位的方法稱為并行進位或先行進位,又稱為同時進位。
雖然并行進位加法器的運算速度快,但這是以增加硬件邏輯線路為代價的。兩種常用的分組進位結構是:組內并行、組間串行的進位鏈。組內并行、組間并行的進位鏈。第28頁,課件共97頁,創(chuàng)作于2023年2月4.ALU舉例SN74181框圖(1)SN74181外特性第29頁,課件共97頁,創(chuàng)作于2023年2月實驗1算術邏輯運算實驗兩個SN74181組成8位片內并行進位,片間串行進位的運算器第30頁,課件共97頁,創(chuàng)作于2023年2月16位并行進位ALU結構P87圖3-13第31頁,課件共97頁,創(chuàng)作于2023年2月3.2.2定點數運算方法數值運算的核心是指加、減、乘、除四則算術。由于計算機中的數有定點和浮點兩種表示形式,因此相應有定點數的運算和浮點數的運算。1.定點加減運算(1)原碼加減運算(不用)例如,加法指令指示做(+A)+(-B),由于一個操作數為負,實際操作是做減法(+A)-(+B),結果符號與絕對值大的符號相同。同理,在減法指令中指示做(+A)-(-B),實際操作是做加法(+A)+(+B),結果與被減數符號相同。
(2)補碼加減運算①補碼加法運算
[X
]+[Y]=[X+Y]②補碼減法運算[X–Y]=[X+(-Y)]=[X]+[-Y]第32頁,課件共97頁,創(chuàng)作于2023年2月③補碼運算規(guī)則根據以上討論,可將補碼加減規(guī)則歸納如下:
參加運算的操作數用補碼表示。
符號位參加運算。
若指令操作碼為加,則兩數直接相加;若操作碼為減,則將減數連同符號位一起變反加1后再與被減數相加。
運算結果用補碼表示?!纠?-3】[X]=00110110,[Y]=11001101,求[X+Y],[X-Y]。由[y]補怎么求[-y]補?第33頁,課件共97頁,創(chuàng)作于2023年2月(3)溢出判別在什么情況下可能產生溢出?例:設定點整數字長8位,補碼表示(最高位為符號位),表示范圍為-128127,運算結果超出此范圍就發(fā)生溢出。
第34頁,課件共97頁,創(chuàng)作于2023年2月0001111100001101(1)31+13=4400101100(2)-31+(-12)=-430111111101000001(3)63+66=129100000011100000110111110(4)-63+(-66)=-12901111111正溢負溢111000011111010011010101第35頁,課件共97頁,創(chuàng)作于2023年2月①采用一個符號位判斷溢出=S+AB②采用最高有效位的進位判斷溢出=C+C=CC③采用變形補碼判斷(雙符號位)用S、Sn分別表示結果最高符號位和第2符號位
溢出=SS第36頁,課件共97頁,創(chuàng)作于2023年2月2.移位移位操作按移位性質可分為3種類型:邏輯移位、循環(huán)移位和算術移位。
移位示意圖
第37頁,課件共97頁,創(chuàng)作于2023年2月3.定點數乘除法(1)軟件實現(2)邏輯電路(3)專用乘除法器第38頁,課件共97頁,創(chuàng)作于2023年2月【例3-10】1101
1011的運算過程如圖所示。無符號數乘法除法不做要求(P92--94)第39頁,課件共97頁,創(chuàng)作于2023年2月3.2.3浮點數運算方法1.浮點數加減運算設有兩個浮點數:X=Mx·,Y=My·。要實現X+Y的運算,需要以下4個步驟才能完成。①對階操作
對階的規(guī)則是:階碼小的數向階碼大的數對齊②實現尾數的加(減)運算③結果規(guī)格化和判溢出a.左規(guī)b.右規(guī)若運算結果是非規(guī)格化的數,例如尾數是11.1x…x或00.0x…x形式,就需要將尾數左移,每左移一位,階碼減1,直至滿足規(guī)格化條件為止(即尾數最高有效位的真值為1,或尾數符與最高有效位不等),這個過程稱為左規(guī)。在左規(guī)的同時應判斷結果是否會下溢,即階碼小于所能表示的最小負數。若運算結果尾數發(fā)生溢出,例如尾數為10.xx…x或01.xx…x形式,這并不表明浮點結果會溢出,此時需調整階碼,將尾數右移一位,階碼加1,稱為右規(guī)。右規(guī)時,應判斷結果是否會上溢,即階碼大于所能表示的最大正數。④舍入操作第40頁,課件共97頁,創(chuàng)作于2023年2月下面舉一個浮點加的實例?!纠?-12】設有兩個浮點數X=2
0.1101012,Y=2
(-0.101011)2。階碼尾數[X]浮=-10;00.110101[Y]浮=-01;11.010101①對階階碼取大的,即-01,
的尾數為00.011011(0舍1入)②尾數求和00.011011+11.01010111.110000③規(guī)格化及判溢出
左規(guī)得[X+Y]浮=1110;11.10000④舍入由于是左規(guī),結果不需要舍入。最后運算結果的真值為X+Y=2
(-0.100000)2。小數點右移即左規(guī)第41頁,課件共97頁,創(chuàng)作于2023年2月2.浮點數乘除運算(1)浮點數乘法運算①階碼相加并判溢出②尾數相乘③規(guī)格化處理
(2)浮點數除法運算③求階差④尾數相除(都已經規(guī)格化)①預置檢測被除數是否為0,若為0則置商為0。如果除數為0,則置0除數標志,轉中斷處理。
②尾數調整第42頁,課件共97頁,創(chuàng)作于2023年2月3.2.4十進制數加減運算1.進制轉換(十----二----十)2.BCD碼(二-十進制數)機器內部采用二-十進制數(BCD碼),由BCD碼運算指令完成運算。實現BCD碼運算的方法有兩種:
①專用進行BCD碼加、減、乘、除的運算指令。②先用二進制數的加、減、乘、除指令進行運算,緊接著用BCD碼校正指令對運算結果進行校正。3.BCD碼校正0---9不用校正,大于9則+6即+110校正第43頁,課件共97頁,創(chuàng)作于2023年2月第3節(jié)CPU模型機的組成及其數據通路3.3.1基本組成模型機數據通路結構圖第44頁,課件共97頁,創(chuàng)作于2023年2月3.3.1基本組成1.寄存器(1)可編程寄存器通用寄存器有4個:R0、R1、R2、R3;堆棧指針為SP;程序狀態(tài)字寄存器為PSW;程序計數器為PC。(2)暫存器暫存器有3個:C、D、Z。(3)指令寄存器IR指令寄存器IR用來存放當前正在執(zhí)行的一條指令。(4)與主存接口的寄存器MAR、MDRCPU對主存的控制信號有兩個:讀信號RD控制對主存的讀操作;寫信號WR控制對主存的寫操作。第45頁,課件共97頁,創(chuàng)作于2023年2月2.運算部件ALU的輸入A來自暫存器D,輸入B來自ALU總線,運算結果輸出到Z??刂艫LU運算的控制信號有:ADD、SUB、AND、OR、XOR、COM、NEG、A+1、A-1、B+1、B-1,它們分別控制ALU完成加、減、與、或、異或、求負、求反等運算。
3.總線與數據通路結構(1)ALU總線CPU內部采用單總線結構,即設置一組ALU總線(也稱為CPU內總線),由16根雙向數據傳送線組成,ALU和所有寄存器通過這組公共總線連接起來。
(2)系統(tǒng)總線模型機的CPU、存儲器及I/O設備分別掛接在一組系統(tǒng)總線上。系統(tǒng)總線包括:16根地址總線、16根數據總線,以及控制總線。為簡單起見,模型機采用同步控制方式。第46頁,課件共97頁,創(chuàng)作于2023年2月4.控制器及微命令的基本形式(1)微命令的基本形式在模型機中,微命令有兩種形式。①電位型微命令·各寄存器輸出到ALU總線的控制信號有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等?!LU運算控制信號有:ADD、SUB、AND、OR、XOR等?!捍嫫鱀的左移/右移控制信號有:SAL、SAR?!こ绦蛴嫈灯鱌C的計數控制信號有:PC+1。·MAR和MDR輸出到系統(tǒng)總線的控制信號有:EMAR、EMDR?!ぜ拇嫫髦萌肟刂菩盘栍校篠MDR、SPSW?!ぶ鞔娴淖x/寫信號有:RD、WR。②脈沖型微命令脈沖型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。第47頁,課件共97頁,創(chuàng)作于2023年2月(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器IR、指令譯碼器、程序計數器PC、狀態(tài)字寄存器PSW、時序系統(tǒng)和微操作信號發(fā)生器??刂破魇钦麢C的指揮中心,其基本功能就是執(zhí)行指令,即根據指令產生控制信號序列以控制相應部件分步完成指定的操作。第48頁,課件共97頁,創(chuàng)作于2023年2月3.3.2數據傳送1.寄存器之間的數據傳送
在模型機中,寄存器之間可直接通過ALU總線傳送數據,具體傳送由輸出門和打入脈沖控制。例如:把寄存器R1的內容傳送到寄存器R3,即實現傳送操作R1→R3所需控制信號為R1OUT、CPR3
第49頁,課件共97頁,創(chuàng)作于2023年2月2.主存數據傳送到CPU
主存與CPU之間通過系統(tǒng)總線傳送數據。①PC→MAR;PC中的指令地址送存儲器地址寄存器②M→MDR→IR;從存儲器中讀指令到IR實現PC→MAR的控制信號:PCOUT、CPMAR。
實現讀操作M→MDR的控制信號:EMAR、RD、SMDR;實現MDR→IR的控制信號:MDROUT、CPIR。例如:要從存儲器中取指令到指令寄存器IR,通過以下操作序列即可實現:
第50頁,課件共97頁,創(chuàng)作于2023年2月3.CPU數據傳送到主存①R1→MAR;地址送MAR②R2→MDR;數據送MDR③MDR→M;數據寫入主存例如:在R2中存放需寫入主存的數據,存儲單元地址在R1中,則寫一個數據到存儲器可通過以下操作序列實現:實現R1→MAR的控制信號:R1OUT、CPMAR。實現R2→MDR的控制信號為R2OUT、CPMDR。實現寫操作MDR→M的控制信號為EMAR、EMDR、WR第51頁,課件共97頁,創(chuàng)作于2023年2月4.執(zhí)行算術或邏輯操作
①R1→D ;把R1的內容先送到寄存器D②D+R2→Z;R2內容送到ALU的B端與D內容通過ALU相加,結果送Z③Z→R3;將存放在Z中的相加結果送入R3中例如:完成“把寄存器R1和R2的內容相加,結果送到R3”這個功能,需要分成3步執(zhí)行:實現R1→D的控制信號:R1OUT、CPD。實現D+R2→MDR的控制信號:R2OUT、ADD、CPZ。實現Z→R3的控制信號:ZOUT、CPR3。
第52頁,課件共97頁,創(chuàng)作于2023年2月第四節(jié)組合邏輯控制器原理
組合邏輯控制器是指產生控制信號(即微命令)的部件,是用組合邏輯線路來實現。在模型機中有幾十個微命令,則每個微命令都需要一組邏輯門電路,根據相應的邏輯條件(如指令的操作碼、尋址方式、時序信號等)產生該微命令。
本節(jié)先介紹模型機的指令系統(tǒng),然后假設模型機采用的是組合邏輯控制器,討論其時序系統(tǒng)、指令執(zhí)行流程及微命令的產生與綜合。
第53頁,課件共97頁,創(chuàng)作于2023年2月3.4.1模型機的指令系統(tǒng)1.指令格式(1)雙操作數指令:其格式如下圖所示第12~15位表示操作碼,第6~11位為源操作數地址段,第0~5位為目的操作數地址段,在每個地址段字段中又分為兩部分,其中3位表明尋址方式類型,另外3位給出所指定的寄存器編號。
第54頁,課件共97頁,創(chuàng)作于2023年2月(1)雙操作數指令格式可編程寄存器有7個,編號如下(留有一種編碼110未用,可擴展):·通用寄存器R0~R3000~011·堆棧指針SP100·程序狀態(tài)字PSW101·程序計數器PC111第55頁,課件共97頁,創(chuàng)作于2023年2月(2)單操作數指令
第0~5位為地址字段,第6~11位空閑不用,也可供擴展操作碼用。第56頁,課件共97頁,創(chuàng)作于2023年2月(3)轉移指令第12~15位為操作碼,第6~11位給出轉移地址字段(也分為尋址方式與寄存器號兩部分)。第0~5位則為轉移條件字段。其中,第0~3位中有一位為1,表明轉移條件——進位C、溢出V、結果為零Z、結果為負N。第5位表明轉移方式,若為0,表示相關標志位為0轉移;若為1,表示相關標志位為1轉移。若第0~5位全為0,表示無條件轉移。第57頁,課件共97頁,創(chuàng)作于2023年2月2.尋址方式模型機的編址為按字編址,字長16位,即主存每個單元16位。采用簡單變字長指令格式,指令長度可為16位、32位(指令中含立即數或一個操作數地址)或48位(含2個操作數地址),操作數字長16位。模型機尋址方式
如下表:類型尋址方式匯編符號可指定寄存器定義簡述0寄存器尋址
R
R0~R3,SP,PSW
數在指定寄存器中
1寄存器間址
(R)R0~R3,SP
地址在指定寄存器中
2自減型寄存器間址
-(R)
R0~R3,SP
寄存器內容減1后為操作數地址
3立即/自增型寄存器間址
(R)+
R0~R3,SP,PC
寄存器內容為操作數地址,操作后加1
4直接尋址DIPC操作數地址緊跟著指令
5變址尋址
X(R)
R0~R3,SP,PC
變址寄存器內容與緊跟指令的位移量相加,為操作數地址
第58頁,課件共97頁,創(chuàng)作于2023年2月3.操作類型操作碼共4位,現設置14種指令,余下兩種操作碼組合可供擴展。(1)傳送指令MOV——傳送,操作碼0000。不設堆棧操作指令、I/O指令(2)雙操作數算術邏輯指令ADD——加,操作碼0001(帶進位)。SUB——減,操作碼0010(帶進位)。AND——邏輯與,操作碼0011。OR——邏輯或,操作碼0100。EOR——邏輯異或,操作碼0101。(3)單操作數算術邏輯指令COM——求反,操作碼0110。NEG——求補,操作碼0111。INC——加1,操作碼1000。DEC——減1,操作碼1001。SL——左移,操作碼1010。SR——右移,操作碼1011。第59頁,課件共97頁,創(chuàng)作于2023年2月(4)程序控制類指令①轉移指令JMP,操作碼1100。
IR5
IR3
IR2
IR1
IR0
說明
0
0
0
0
1
進位C=0轉
1
0
0
0
1
進位C=1轉
0
0
0
1
0
溢出V=0轉
1
0
0
1
0
溢出V=1轉
0
0
1
0
0
結果為零Z=1轉
1
0
1
0
0
結果不為零Z=0轉
0
1
0
0
0
結果為負N=1轉
1
1
0
0
0
結果為正N=0轉
0
0
0
0
0
無條件轉移
如上表所示,JMP指令第3~0位選擇一位為1,表明以PSW中的某一特征作為轉移條件。因此,JMP指令第3~0位的含義與PSW第3~0位含義分別相對應。例如PSW第0位是進位位C,而轉移指令第0位若為1,則表明以進位狀態(tài)為轉移條件。JMP指令第5位(IR5)決定轉移條件為0轉,還是為1轉。若JMP指令第5~0位全為0,則表示無條件轉移。第60頁,課件共97頁,創(chuàng)作于2023年2月②返回指令RST,操作碼1100。RST指令與JMP指令的操作碼相同,可視為一條指令。RST指令只能采用自增型寄存器間址表明轉移地址,并指定寄存器為SP,即尋址方式為(SP)+。它從堆棧中取出返回地址,然后修改堆棧指針SP+1。實際上,“JMP(SP)+”指令就是一條RST指令。③轉子指令JSR,操作碼1101。執(zhí)行JSR指令時,先將返回地址壓棧保存,然后按尋址方式找到轉移地址(即子程序入口地址),將它送入PC中。第61頁,課件共97頁,創(chuàng)作于2023年2月3.4.2模型機的時序系統(tǒng)組合邏輯控制器依靠不同的時間標志,使CPU分步工作。模型機采用前述的三級時序系統(tǒng),即將時序信號分為工作周期、節(jié)拍(時鐘周期)和工作脈沖。1.工作周期劃分(1)取指周期FT
在取指周期FT中完成取指所需的操作
(2)源周期ST
如果需要從主存中讀取源操作數,則進入ST。
(3)目的周期DT如果需要從主存中讀取目的地址或目的操作,則進入DT。(4)執(zhí)行周期ET
在取得操作數后,則進入ET,在ET中將依據IR中操作碼執(zhí)行相應操作,如傳送、算術運算、邏輯運算、獲得轉移地址等
(5)中斷響應周期IT
(6)DMA傳送周期DMAT
第62頁,課件共97頁,創(chuàng)作于2023年2月(5)中斷響應周期IT
(6)DMA傳送周期DMAT
中斷方式:由于某些異常情況或特殊請求,引起CPU暫停執(zhí)行當前程序,轉去執(zhí)行中斷處理子程序,以處理這些情況或請求,等處理完后又返回原程序斷點繼續(xù)執(zhí)行,這一過程就稱為中斷。
CPU在響應中斷請求之后,進入中斷響應周期IT。在IT中將直接依靠硬件進行關中斷、保存斷點、轉處理程序入口等操作。IT結束后,進入取指周期FT,開始執(zhí)行中斷處理程序。
DMA(DirectMemoryAccess)即直接訪存方式:其基本思想是在主存儲器和I/O設備之間建立直接的數據傳送通路,由專門的DMA控制器控制主存和I/O設備間的數據傳送,在傳送時不需CPU干預。由于傳送過程完全由硬件實現,所花費的時間短,因此能滿足高速數據傳送的需要。CPU響應DMA請求之后,進入DMAT。在DMAT中,CPU交出系統(tǒng)總線的控制權,即MAR、MDR與系統(tǒng)總線脫鉤(呈高阻態(tài))。改由DMA控制器控制系統(tǒng)總線,實現主存與外圍設備間的數據直接傳送,因此對CPU來說,DMAT是一個空操作周期。第63頁,課件共97頁,創(chuàng)作于2023年2月FTSTDTITETDMATDMA請求?中斷?YYNNCPU控制流程例.雙操作數指令的兩個操作數均在主存中,工作周期變化為:FT→ST→DT→ET→(FT……)例.單操作數指令的操作數在主存中,工作周期變化為:
FT→DT→ET→(FT……)例.雙操作數指令的操作數均在CPU寄存器中,工作周期變化為:
FT→ET→(FT……)左圖描述了指令執(zhí)行時工作周期狀態(tài)變化流程。
第64頁,課件共97頁,創(chuàng)作于2023年2月2.節(jié)拍(時鐘周期)T
每個工作周期的操作一般需要分成若干步完成,為此將工作周期劃分成若干節(jié)拍。在模型機中,為了簡化時序控制,將CPU內部操作與訪問主存的操作統(tǒng)一考慮。節(jié)拍寬度為最長微操作所需的時間,即訪問主存操作所需的時間。
3.工作脈沖P3.工作脈沖在節(jié)拍中執(zhí)行的有些操作需要同步定時脈沖,如將穩(wěn)定的運算結果打入寄存器、周期狀態(tài)切換等。為此,模型機在每個節(jié)拍的末尾發(fā)一個工作脈沖P,作為各種同步脈沖的來源,如左圖。工作脈沖P的前沿:作為打入寄存器的定時信號,它標志著一次數據通路操作的完成。P的后沿:作為節(jié)拍、工作周期切換的定時信號,在此刻對節(jié)拍計數器T計數、打入新的工作周期狀態(tài)。第65頁,課件共97頁,創(chuàng)作于2023年2月3.4.3指令流程(重點)分析指令流程是為了在寄存器這一層次分析指令的讀取與執(zhí)行過程,也就是討論CPU的工作機制。1.取指周期FT(Fetch)(1)進入FT的條件初始化時置入FT,程序正常運行時同步打入FT。FTSRDCQQ總清11FTCPFT取指周期狀態(tài)觸發(fā)器
產生控制信號1→FT的邏輯條件如下:
1→FT=ET(1→IT·1→DMAT)+IT+DMAT(1→IT·1→DMAT)第66頁,課件共97頁,創(chuàng)作于2023年2月(2)取指流程PC→MARM→MDR→IRPC+1→PCFT0FT1(3)微操作時間表FT工作周期狀態(tài)與節(jié)拍序號本拍中應發(fā)的電平型微命令本拍中應發(fā)的脈沖型微命令FT0PCOUTT+1PCPMARCPT()FT1EMAR、RD、SMDRMDROUTPC+1T=01→ST[邏輯式1]1→DT[邏輯式2]1→ET[邏輯式3]PCPIRCPPCCPT()CPST()CPDT()CPET()
第67頁,課件共97頁,創(chuàng)作于2023年2月2.MOV指令1)取指令周期和取源操作數周期流程圖FTST0ST1ST2ST3ST4R(R)-(R)I/(R)+DIX(R)MOVE指令第68頁,課件共97頁,創(chuàng)作于2023年2月2)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3ET0ET1R(R)-(R)I/(R)+DIX(R)第69頁,課件共97頁,創(chuàng)作于2023年2月3.雙操作數指令雙操作數指令共有5條:加ADD、減SUB、與AND、或OR、異或EOR,其指令流程圖:STFTDT0DT1DT2DT3DT4ET0ET1ET2與MOV相同第70頁,課件共97頁,創(chuàng)作于2023年2月4.單操作數指令單操作數指令共有6條:求反COM、求補NEG、加“1”INC、減“1”DEC、左移SL、右移SR,其指令流程圖如圖:FTST(無)DTET0ET1ET2與雙操作數指令相同第71頁,課件共97頁,創(chuàng)作于2023年2月5.轉移指令JMP/返回指令RSTNJPJP,RSTPCPCR(R)(R)+/RSTX(PC)FTET1ET2ET3ET4第72頁,課件共97頁,創(chuàng)作于2023年2月6.轉子指令JSRST0FTET0ET1ET2ST1ST2ST3ET4流程圖如下:第73頁,課件共97頁,創(chuàng)作于2023年2月8.DMA周期在實際機器中,CPU可在一個系統(tǒng)總線周期結束時響應DMA請求。9.鍵盤操作3.4.4微命令的綜合與產生微命令的邏輯表達式都是“與-或”式的邏輯形態(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=第74頁,課件共97頁,創(chuàng)作于2023年2月第五節(jié)微程序控制器原理有些CPU采用微程序控制方式來產生微命令,相應的控制器稱為微程序控制器。1.微程序控制方式的基本思想(1)將機器指令分解為基本的微命令序列,用二進制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。(2)一條微指令包含的微命令,控制實現一步(一個節(jié)拍)操作;若干條微指令組成的一小段微程序解釋執(zhí)行一條機器指令。
CM中的微程序能解釋執(zhí)行整個指令系統(tǒng)的所有機器指令。
第75頁,課件共97頁,創(chuàng)作于2023年2月指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
控制存儲器CM功能:存放微程序。CM屬于CPU,不屬于主存儲器。微指令寄存器μIR功能:存放現行微指令。微操作控制字段:提供一步操作所需的微命令。 指明后續(xù)微地址的形成方式。順序控制字段:
提供微地址的給定部分第76頁,課件共97頁,創(chuàng)作于2023年2月指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
2.微程序執(zhí)行過程的描述(1)取機器指令CM取指微指令μIR微命令字段譯碼器微命令機器指令IR主存第77頁,課件共97頁,創(chuàng)作于2023年2月指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(2)轉微程序入口(3)執(zhí)行首條微指令IR操作碼微地址形成電路入口μARCMμIR微命令字段μIR譯碼器微命令操作部件第78頁,課件共97頁,創(chuàng)作于2023年2月指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(4)取后續(xù)微指令微地址字段現行微地址運行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR第79頁,課件共97頁,創(chuàng)作于2023年2月(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
第80頁,課件共97頁,創(chuàng)作于2023年2月3.基本概念和術語(1)微命令與微操作微命令微操作——構成控制信號序列的最小單位。
——由微命令控制實現的最基本操作。
注意,在組合邏輯控制器中也存在微命令、微操作這兩個概念,它們并非只是微程序控制方式的專用概念。(2)微指令與微周期微指令微周期——若干微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現一步操作?!ǔV笍目刂拼鎯ζ髦凶x取一條微指令并執(zhí)行相應的微操作所需的時間。第81頁,課件共97頁,創(chuàng)作于2023年2月(3)微程序與微程序設計微程序
微程序設計——一系列微指令的有序集合。
——是將傳統(tǒng)的程序設計方法運用到控制邏輯的設計中,在微程序中也可以有微子程序、循環(huán)、分支等形態(tài)。(4)工作程序與微程序、主存儲器與控制存儲器3.5.2微指令編碼方式微指令編碼的實質是解決在微指令中如何組織微命令的問題。第82頁,課件共97頁,創(chuàng)作于2023年2月1.直接控制編碼(不譯碼法)例.某微指令微命令按位給出。不需譯碼,產生微命令的速度快;信息的表示效率低。C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀第83頁,課件共97頁,創(chuàng)作于2023年2月操作唯一;加法器A輸入端的控制命令放AI字段,B輸入端的控制命令放BI字段。
加法器A
BR、CD、ER、CD、F000不發(fā)命令010CA100EA001RA011DACDAIBI33010CA000不發(fā)命令010CB100FB001RB011DB011DBAI:BI:一條微指令能同時提供若干微命令,便于組織各種操作。編碼較簡單;2.分段直接編譯法第84頁,課件共97頁,創(chuàng)作于2023年2月3.分段間接編譯法例.微命令由本字段編碼和其他字段解釋共同給出。C=CA1)設置解釋位或解釋字段解釋位1
A為某類命令0
A為常數2)分類編譯按功能類型將微指令分類,分別安排各類微指令格式和字段編碼,并設置區(qū)分標志。第85頁,課件共97頁,創(chuàng)作于2023年2月4.常數源字段E的設置微操作控制字段E順序控制字段
在微指令中,一般設有一個常數源字段E,就如同機器指令中的立即操作數一樣,用來提供微指令所使用的常數(由設計者填寫),如提供計數器初值,通用寄存器地址,轉移地址等。字段E也可用來參與其他控制字段的間接編碼,以減少微指令字長,增加微指令的靈活性。字段E在微指令中的形式為除上述幾種基本的編碼方法外,另外還有一些常見的編碼技術,如可采用微指令譯碼與部分機器指令譯碼的復合控制、微地址參與解釋微指令譯碼。第86頁,課件共97頁,創(chuàng)作于2023年2月3.5.3微程序的順序控制1.微程序入口地址的形成每一條機器指令對應著一段微程序,其入口就是初始微地址。常用以下幾種方式形成入口地址:(1)當操作碼的位數與位置固定時,可直接使操作碼與入口地址碼的部分相對應。
(2)當每類指令中的操作碼位數與位置固定,而各類指令之間的操作碼與位置不固定時,可采用分級轉移的方式。
(3)當機器指令的操作碼位數和位置都不固定時,通??梢圆捎肞LA電路將每條指令的操作碼翻譯成對應的微程序入口地址,也可以采用PROM(可編程只讀存儲器)實現轉移,將指令操作碼作為PROM的地址輸入,其對應的PROM單元內容即為該機器指令的微程序入口地址。第87頁,課件共97頁,創(chuàng)作于2023年2月2.后繼微地址的形成每條微指令執(zhí)行完畢時,需根據其中的順序控制字段的要求形成后繼微指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度三人合作建立跨境電商平臺合同3篇
- 2025年度高科技企業(yè)勞動合同及科技成果轉化合同3篇
- 2025年度智能交通信號系統(tǒng)安裝與運營合同3篇
- 二零二五年度個人房產抵押融資租賃合同模板3篇
- 2025年度網絡安全風險評估與合規(guī)審查服務協議
- 2025版鋁合金導電材料購銷合同
- 2024年簡版內部承包合作合同范例版B版
- 2025年度洗潔精產品銷售獎勵與返利合同3篇
- 2024年電商企業(yè)合作研發(fā)合同
- 2025年度毛毯新品研發(fā)與市場試銷合同范本3篇
- 2024至2030年中國鈦行業(yè)“十四五”分析及發(fā)展前景預測研究分析報告
- 2024至2030年中國步進式光刻機市場現狀研究分析與發(fā)展前景預測報告
- 30 《岳陽樓記》對比閱讀-2024-2025中考語文文言文閱讀專項訓練(含答案)
- 職域行銷BBC模式開拓流程-企業(yè)客戶營銷技巧策略-人壽保險營銷實戰(zhàn)-培訓課件
- 《活板-沈括》核心素養(yǎng)目標教學設計、教材分析與教學反思-2023-2024學年初中語文統(tǒng)編版
- 《面點基本要求作業(yè)設計方案-中式面點技藝》
- 上海市楊浦區(qū)2023-2024學年九年級上學期期末質量調研英語試題
- 安全生產目標考核表
- (高清版)TDT 1042-2013 土地整治工程施工監(jiān)理規(guī)范
- 工程訓練(廣東工業(yè)大學)智慧樹知到期末考試答案2024年
- 2023-2024學年重慶市九龍坡區(qū)高二(上)期末物理試卷(含解析)
評論
0/150
提交評論