版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1計算機組成原理與匯編語言程序設(shè)計(第2版)第3章微體系結(jié)構(gòu) —CPU組織(2)1計算機組成原理與匯編語言程序設(shè)計第3章微體系結(jié)構(gòu) 2第3節(jié)CPU模型機的組成及其數(shù)據(jù)通路3.3.1基本組成 P98模型機數(shù)據(jù)通路結(jié)構(gòu)圖2第3節(jié)CPU模型機的組成及其數(shù)據(jù)通路3.3.1基本33.3.1基本組成1.寄存器(1)可編程寄存器通用寄存器有4個:R0、R1、R2、R3;堆棧指針為SP;程序狀態(tài)字寄存器為PSW;程序計數(shù)器為PC。(2)暫存器暫存器有3個:C、D、Z。(3)指令寄存器IR指令寄存器IR用來存放當(dāng)前正在執(zhí)行的一條指令。(4)與主存接口的寄存器MAR、MDR
CPU對主存的控制信號有兩個:讀信號RD控制對主存的讀操作;寫信號WR控制對主存的寫操作。P9833.3.1基本組成1.寄存器(1)可編程寄存器42.運算部件
ALU的輸入A來自暫存器D,輸入B來自ALU總線,運算結(jié)果輸出到Z??刂艫LU運算的控制信號有:ADD、SUB、AND、OR、XOR、COM、NEG、A+1、A-1、B+1、B-1,它們分別控制ALU完成加、減、與、或、異或、求負(fù)、求反等運算。
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ù)總線,以及控制總線。為簡單起見,模型機采用同步控制方式。P9942.運算部件ALU的輸入A來自暫存器D,輸入B來54.控制器及微命令的基本形式(1)微命令的基本形式在模型機中,微命令有兩種形式。①電位型微命令各寄存器輸出到ALU總線的控制信號:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。ALU運算控制信號:ADD、SUB、AND、OR、XOR等。暫存器D的左移/右移控制信號:SAL、SAR。程序計數(shù)器PC的計數(shù)控制信號:PC+1。MAR和MDR輸出到系統(tǒng)總線的控制信號:EMAR,EMDR。寄存器置入控制信號有:SMDR、SPSW。主存的讀/寫信號有:RD、WR。②脈沖型微命令脈沖型微命令(寄存器打入脈沖):CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。P10054.控制器及微命令的基本形式(1)微命令的基本形式在模型6(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器IR、指令譯碼器、程序計數(shù)器PC、狀態(tài)字寄存器PSW、時序系統(tǒng)和微操作信號發(fā)生器。定義:控制器是整機的指揮中心,其基本功能就是執(zhí)行指令,即根據(jù)指令產(chǎn)生控制信號序列以控制相應(yīng)部件分步完成指定的操作。P1006(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器I73.3.2數(shù)據(jù)傳送1.寄存器之間的數(shù)據(jù)傳送
在模型機中,寄存器之間可直接通過ALU總線傳送數(shù)據(jù),具體傳送由輸出門和打入脈沖控制。例如:把寄存器R1的內(nèi)容傳送到寄存器R3,即實現(xiàn)傳送操作R1→R3所需控制信號為R1OUT、CPR3
P10173.3.2數(shù)據(jù)傳送1.寄存器之間的數(shù)據(jù)傳送在模82.主存數(shù)據(jù)傳送到CPU(讀)
主存與CPU之間通過系統(tǒng)總線傳送數(shù)據(jù)。①PC→MAR;PC(指令地址)送存儲器地址寄存器實現(xiàn)PC→MAR的控制信號:PCOUT、CPMAR。
實現(xiàn)讀操作M→MDR的控制信號:EMAR、RD、SMDR;實現(xiàn)MDR→IR的控制信號:MDROUT、CPIR。例如:要從存儲器中取指令到指令寄存器IR,通過以下操作序列即可實現(xiàn):
②M→MDR→IR;從選中存儲器中讀指令到IR82.主存數(shù)據(jù)傳送到CPU(讀)主存與CPU之間通過系93.CPU數(shù)據(jù)傳送到主存(寫)①R1→MAR;地址送MAR例如:在R2中存放需寫入主存的數(shù)據(jù),存儲單元地址在R1中,則寫一個數(shù)據(jù)到存儲器可通過以下操作序列實現(xiàn):實現(xiàn)寫操作MDR→M的控制信號為EMAR、EMDR、WR
③MDR→M;數(shù)據(jù)寫入選中的主存②R2→MDR;數(shù)據(jù)送MDR實現(xiàn)R1→MAR的控制信號:R1OUT、CPMAR。實現(xiàn)R2→MDR的控制信號為R2OUT、CPMDR。93.CPU數(shù)據(jù)傳送到主存(寫)①R1→MAR;地址送104.執(zhí)行算術(shù)或邏輯操作
①R1→D;把R1的內(nèi)容先送到寄存器D例如:完成“把寄存器R1和R2的內(nèi)容相加,結(jié)果送到R3”這個功能,需要分成3步執(zhí)行:實現(xiàn)Z→R3的控制信號:ZOUT、CPR3。
P102②D+R2→Z;R2內(nèi)容送到ALU的B端與D內(nèi)容通過ALU相加,結(jié)果送Z③Z→R3;將存放在Z中的相加結(jié)果送入R3中實現(xiàn)R1→D的控制信號:R1OUT、CPD。實現(xiàn)D+R2→MDR的控制信號:R2OUT、ADD、CPZ。104.執(zhí)行算術(shù)或邏輯操作①R1→D;把R1的內(nèi)容先送到寄11第四節(jié)組合邏輯控制器原理 P102
組合邏輯控制器是指產(chǎn)生控制信號(即微命令)的部件,是用組合邏輯線路來實現(xiàn)。在模型機中有幾十個微命令,則每個微命令都需要一組邏輯門電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作碼、尋址方式、時序信號等)產(chǎn)生該微命令。
本節(jié)先介紹模型機的指令系統(tǒng),然后假設(shè)模型機采用的是組合邏輯控制器,討論其時序系統(tǒng)、指令執(zhí)行流程及微命令的產(chǎn)生與綜合。
組合邏輯控制器一旦制造后,邏輯電路之間的關(guān)系就固定了,不易改動,所以組合邏輯控制器又稱為硬連邏輯控制器。
11第四節(jié)組合邏輯控制器原理 P102123.4.1模型機的指令系統(tǒng)1.指令格式(16位)(1)雙操作數(shù)指令:其格式如下圖所示第12~15位表示操作碼,第6~11位為源操作數(shù)地址段,第0~5位為目的操作數(shù)地址段,在每個地址段字段中又分為兩部分,其中3位表明尋址方式類型,另外3位給出所指定的寄存器編號。
123.4.1模型機的指令系統(tǒng)1.指令格式(16位)(113(1)雙操作數(shù)指令格式可編程寄存器有7個(留有一種編碼未用,留作擴展),地址段編號如下:·通用寄存器R0~R3000~011·堆棧指針SP100·程序狀態(tài)字PSW101·程序計數(shù)器PC11113(1)雙操作數(shù)指令格式可編程寄存器有7個(留有一種編碼未14(2)單操作數(shù)指令
第0~5位為地址字段,第6~11位空閑不用,也可供擴展操作碼用。14(2)單操作數(shù)指令第0~5位為地址字段,第6~115(3)轉(zhuǎn)移指令第12~15位為操作碼,第6~11位給出轉(zhuǎn)移地址字段(也分為尋址方式與寄存器號兩部分)。第0~5位則為轉(zhuǎn)移條件字段。其中,第0~3位中有一位為1,表明轉(zhuǎn)移條件——進位C、溢出V、結(jié)果為零Z、結(jié)果為負(fù)N。第5位表明轉(zhuǎn)移方式,若為0,表示相關(guān)標(biāo)志位為0轉(zhuǎn)移;若為1,表示相關(guān)標(biāo)志位為1轉(zhuǎn)移。若第0~5位全為0,表示無條件轉(zhuǎn)移。15(3)轉(zhuǎn)移指令第12~15位為操作碼,第6~11162.尋址方式模型機的編址為按字編址,字長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直接尋址
DI
PC操作數(shù)地址緊跟著指令
5變址尋址
X(R)
R0~R3,SP,PC
變址寄存器內(nèi)容與緊跟指令的位移量相加,為操作數(shù)地址
P103162.尋址方式模型機的編址為按字編址,字長16位,173.操作類型操作碼共4位,現(xiàn)設(shè)置14種指令,余下兩種操作碼組合可供擴展。(1)傳送指令MOV——傳送,操作碼0000。(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。173.操作類型操作碼共4位,現(xiàn)設(shè)置14種指令,余下兩種操18(4)程序控制類指令①轉(zhuǎn)移指令JMP,操作碼1100(結(jié)合標(biāo)志位)。
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é)果為負(fù)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)移。18(4)程序控制類指令①轉(zhuǎn)移指令JMP,操作碼1100(19②返回指令RST,操作碼1100。
RST指令與JMP指令的操作碼相同,可視為一條指令。RST指令只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為SP,即尋址方式為(SP)+。它從堆棧中取出返回地址,然后修改堆棧指針SP+1。實際上,“JMP(SP)+”指令就是一條RST指令。③轉(zhuǎn)子指令JSR,操作碼1101。執(zhí)行JSR指令時,先將返回地址壓棧保存,然后按尋址方式找到轉(zhuǎn)移地址(即子程序入口地址),將它送入PC中。19②返回指令RST,操作碼1100。RST指令與203.4.2模型機的時序系統(tǒng) P106組合邏輯控制器依靠不同的時間標(biāo)志,使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
203.4.2模型機的時序系統(tǒng) P106組合21中斷響應(yīng)周期IT
DMA傳送周期DMAT
中斷方式:由于某些異常情況或特殊請求,引起CPU暫停執(zhí)行當(dāng)前程序,轉(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是一個空操作周期。21中斷響應(yīng)周期ITDMA傳送周期DMAT22FTSTDTITETDMATDMA請求?中斷?YYNNCPU控制流程例.雙操作數(shù)指令的兩個操作數(shù)均在主存中,工作周期變化為:FT→ST→DT→ET→(FT……)例.單操作數(shù)指令的操作數(shù)在主存中,工作周期變化為:
FT→DT→ET→(FT……)例.雙操作數(shù)指令的操作數(shù)均在CPU寄存器中,工作周期變化為:
FT→ET→(FT……)左圖描述了指令執(zhí)行時工作周期狀態(tài)變化流程。
P10722FTSTDTITETDMATDMA請求?中斷?YYNNC232.節(jié)拍(時鐘周期)T
每個工作周期的操作一般需要分成若干步完成,為此將工作周期劃分成若干節(jié)拍。在模型機中,為了簡化時序控制,將CPU內(nèi)部操作與訪問主存的操作統(tǒng)一考慮。節(jié)拍寬度為最長微操作所需的時間,即訪問主存操作所需的時間。
3.工作脈沖P在節(jié)拍中執(zhí)行的有些操作需要同步定時脈沖,如將穩(wěn)定的運算結(jié)果打入寄存器、周期狀態(tài)切換等。為此,模型機在每個節(jié)拍的末尾發(fā)一個工作脈沖P,作為各種同步脈沖的來源,如左圖。工作脈沖P的前沿:作為打入寄存器的定時信號,它標(biāo)志著一次數(shù)據(jù)通路操作的完成。P的后沿:作為節(jié)拍、工作周期切換的定時信號,在此刻對節(jié)拍計數(shù)器T計數(shù)、打入新的工作周期狀態(tài)。232.節(jié)拍(時鐘周期)T每個工作周期的操243.4.3指令流程 P108分析指令流程是為了在寄存器這一層次分析指令的讀取與執(zhí)行過程,也就是討論CPU的工作機制。1.取指周期FT(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)243.4.3指令流程 P108分析指令25(2)取指流程PC→MARM→MDR→IRPC+1→PCFT0FT1(3)微操作時間表FT工作周期狀態(tài)與節(jié)拍序號本拍中應(yīng)發(fā)的電平型微命令本拍中應(yīng)發(fā)的脈沖型微命令FT0PCOUTT+1PCPMARCPT(-P)FT1EMAR、RD、SMDRMDROUTPC+1T=01→ST[邏輯式1]1→DT[邏輯式2]1→ET[邏輯式3]PCPIRCPPCCPT(-P)CPST(-P)CPDT(-P)CPET(-P)
P10925(2)取指流程PC→MARM→MDR→IRFT0FT1(262.MOV指令1)取指令周期和取源操作數(shù)周期流程圖FTST0ST1ST2ST3ST4R(R)-(R)I/(R)+DIX(R)P111262.MOV指令1)取指令周期和取源操作數(shù)周期流程圖FTS272)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3ET0ET1R(R)-(R)I/(R)+DIX(R)272)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3E283.雙操作數(shù)指令雙操作數(shù)指令共有5條:加ADD、減SUB、與AND、或OR、異或EOR,其指令流程圖:STFTDT0DT1DT2DT3DT4ET0ET1ET2與MOV相同P113283.雙操作數(shù)指令雙操作數(shù)指令共有5條:加ADD、減294.單操作數(shù)指令單操作數(shù)指令共有6條:求反COM、求補NEG、加“1”INC、減“1”DEC、左移SL、右移SR,其指令流程圖如圖:FTSTDTET0ET1ET2與雙操作數(shù)指令相同P113294.單操作數(shù)指令單操作數(shù)指令共有6條:求反CO305.轉(zhuǎn)移指令JMP/返回指令RSTNJPJP,RSTPCPC
R(R)(R)+/RSTX(PC)FTET1ET2ET3ET4P114305.轉(zhuǎn)移指令JMP/返回指令RSTNJPJP,RSTPC316.轉(zhuǎn)子指令JSRST0FTET0ET1ET2ST1ST2ST3ET4流程圖如下:ET3P115316.轉(zhuǎn)子指令JSRST0FTET0ET1ET2ST1ST328.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=328.DMA周期在實際機器中,CPU可在一個系統(tǒng)總33第五節(jié)微程序控制器原理 P116有些CPU采用微程序控制方式來產(chǎn)生微命令,相應(yīng)的控制器稱為微程序控制器。
1.微程序控制方式的基本思想(1)將機器指令分解為基本的微命令序列,用二進制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。(2)一條微指令包含的微命令,控制實現(xiàn)一步(一個節(jié)拍)操作;若干條微指令組成的一小段微程序解釋執(zhí)行一條機器指令。
控制存儲器(CM)中的微程序能解釋執(zhí)行整個指令系統(tǒng)的所有機器指令。CM是微程序控制器的核心。33第五節(jié)微程序控制器原理 P116有些CPU34指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
控制存儲器CM功能:存放微程序。CM屬于CPU,不屬于主存儲器。微指令寄存器μIR功能:存放現(xiàn)行微指令。微操作控制字段:提供一步操作所需的微命令。 指明后續(xù)微地址的形成方式。順序控制字段:
提供微地址的給定部分P11734指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序35指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
2.微程序執(zhí)行過程的描述(1)取指指令對應(yīng)的微程序CM取指微指令μIR微命令字段譯碼器微命令機器指令I(lǐng)R主存35指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序36指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(2)轉(zhuǎn)微程序入口(3)執(zhí)行首條微指令I(lǐng)R操作碼微地址形成電路入口μARCMμIR微命令字段μIR譯碼器微命令操作部件36指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序37指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR37指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序38(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
38(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回393.基本概念和術(shù)語(1)微命令與微操作微命令微操作——構(gòu)成控制信號序列的最小單位。
——由微命令控制實現(xiàn)的最基本操作。
注意,在組合邏輯控制器中也存在微命令、微操作這兩個概念,它們并非只是微程序控制方式的專用概念。(2)微指令與微周期微指令微周期——若干微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現(xiàn)一步操作?!ǔV笍目刂拼鎯ζ髦凶x取一條微指令并執(zhí)行相應(yīng)的微操作所需的時間。P118393.基本概念和術(shù)語(1)微命令與微操作微命令微操作—40(3)微程序與微程序設(shè)計微程序
微程序設(shè)計——一系列微指令的有序集合。
——是將傳統(tǒng)的程序設(shè)計方法運用到控制邏輯的設(shè)計中,在微程序中也可以有微子程序、循環(huán)、分支等形態(tài)。(4)工作程序與微程序、主存儲器與控制存儲器3.5.2微指令編碼方式微指令編碼的實質(zhì)是解決在微指令中如何組織微命令的問題。一條偽指令分為兩大部分:微操作控制字段和順序控制字段
P11840(3)微程序與微程序設(shè)計微程序微程序設(shè)計——一系列微411.直接控制編碼(不譯碼法)例.某微指令微命令按位給出。不需譯碼,產(chǎn)生微命令的速度快;信息的表示效率低。
C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀微操作控制字段編碼方法411.直接控制編碼(不譯碼法)例.某微指令微命令按位給出42例.某微指令微命令按小段給出。
P1P0100P1P0=00ADD01ADC10SUB11SBB2.分段直接編譯法功能小段42例.某微指令微命令按小段給出。43操作唯一;加法器A輸入端的控制命令放AI字段;B輸入端的控制命令放BI字段。
加法器
A
BR、CD、ER、CD、F000不發(fā)命令010CA100EA001RA011DACDAIBI33010CA000不發(fā)命令010CB100FB001RB011DB011DBAI:BI:一條微指令能同時提供若干微命令,便于組織各種操作。編碼較簡單;43操作唯一;加法器A輸入端的控制命令放AI字段;443.分段間接編譯法例.微命令由本字段編碼和其他字段解釋共同給出。C=
CA1)設(shè)置解釋位或解釋字段解釋位1
A為某類命令0
A為常數(shù)2)分類編譯按功能類型將微指令分類,分別安排各類微指令格式和字段編碼,并設(shè)置區(qū)分標(biāo)志。443.分段間接編譯法例.微命令由本字段編碼和其他字段解釋454.常數(shù)源字段E的設(shè)置微操作控制字段E順序控制字段
在微指令中,一般設(shè)有一個常數(shù)源字段E,就如同機器指令中的立即操作數(shù)一樣,用來提供微指令所使用的常數(shù)(由設(shè)計者填寫),如提供計數(shù)器初值,通用寄存器地址,轉(zhuǎn)移地址等。字段E也可用來參與其他控制字段的間接編碼,以減少微指令字長,增加微指令的靈活性。字段E在微指令中的形式為:除上述幾種基本的編碼方法外,另外還有一些常見的編碼技術(shù),如可采用微指令譯碼與部分機器指令譯碼的復(fù)合控制、微地址參與解釋微指令譯碼。454.常數(shù)源字段E的設(shè)置微操作控制字段E463.5.3微程序的順序控制 P1201.微程序入口地址的形成每一條機器指令對應(yīng)著一段微程序,其入口就是初始微地址。常用以下幾種方式形成入口地址:(1)當(dāng)機器指令操作碼的位數(shù)與位置固定時,可直接使操作碼與入口地址碼的部分相對應(yīng)。
(2)當(dāng)每類指令中的操作碼位數(shù)與位置固定,而各類指令之間的操作碼與位置不固定時,可采用分級轉(zhuǎn)移的方式。(3)當(dāng)機器指令的操作碼位數(shù)和位置都不固定時,通常可以采用PLA電路將每條指令的操作碼翻譯成對應(yīng)的微程序入口地址,也可以采用PROM(可編程只讀存儲器)實現(xiàn)轉(zhuǎn)移,將指令操作碼作為PROM的地址輸入,其對應(yīng)的PROM單元內(nèi)容即為該機器指令的微程序入口地址。463.5.3微程序的順序控制 P1201.微程序入472.后繼微地址的形成每條微指令執(zhí)行完畢時,需根據(jù)其中的順序控制字段的要求形成后繼微指令地址。
形成后繼地址的兩類方法:(1)增量方式(順序-轉(zhuǎn)移型微地址) 采用這種方式的微指令的順序控制字段通常分成兩部分:轉(zhuǎn)移方式控制字段和轉(zhuǎn)移地址字段,其一般格式如下:微操作控制字段轉(zhuǎn)移地址轉(zhuǎn)移方式增量方式:①順序執(zhí)行②無條件轉(zhuǎn)移③條件轉(zhuǎn)移④轉(zhuǎn)微子程序⑤微子程序返回現(xiàn)行微地址+1現(xiàn)行微指令給出轉(zhuǎn)移微地址現(xiàn)行微指令給出轉(zhuǎn)移微地址和轉(zhuǎn)移條件現(xiàn)行微指令給出微子程序入口?,F(xiàn)行微指令給出寄存器號。472.后繼微地址的形成每條微指令執(zhí)行完畢時,需根據(jù)48(2)斷定方式
由直接給定和測試斷定相結(jié)合形成微地址。微操作控制字段非測試段測試段指令格式:非測試段可由設(shè)計者直接給定,通常是后繼微地址的高位部分,用以指定后繼微指令在某個區(qū)域內(nèi)。
測試段根據(jù)有關(guān)狀態(tài)的測試結(jié)果確定其地址值,占后繼微地址的低位部分。這相當(dāng)于在指定區(qū)域內(nèi)斷定具體的分支。所依據(jù)的測試狀態(tài)可能是指定的開關(guān)狀態(tài)、指令操作碼、狀態(tài)字等。48(2)斷定方式由直接給定和測試斷定相493.5.4微指令格式微指令的編碼方式是決定微指令格式的主要因素1.水平型微指令特征如下:(1)微指令較長(2)微指令中的微操作具有高度并行性(3)微指令編碼簡單2.垂直型微指令優(yōu)點:微指令短、簡單、規(guī)整,便于編寫微程序。缺點:微程序長,執(zhí)行速度慢;工作效率低。一條微指令定義并執(zhí)行一種基本操作。493.5.4微指令格式微指令的編碼方式是決定微指令格式503.5.5典型微指令舉例模型機的微指令字長為26位,分為8個字段,其格式如下:
FOUTFALUFCPFPCFEMARFR/WFSTJC45521225(1)基本數(shù)據(jù)通路控制字段
FOUT
FALU
FCP
FPC寄存器的輸出控制字段ALU的操作與Z的移位控制字段寄存器的同步打入控制字段PC的操作控制字段(2)訪存控制字段?FEMAR?FR/W(3)輔助控制字段?FSTMAR輸出控制字段。主存讀寫與MDR操作控制字段。輔助操作控制字段(4)順序控制字段JC
轉(zhuǎn)移方式字段,用以選擇后繼微指令地址的形成方式503.5.5典型微指令舉例模型機的微指令字長為2651第六節(jié)精簡指令集計算機(RISC)P123
1.RISC與CISC
傳統(tǒng)的CISC(復(fù)雜指令系統(tǒng)計算機)設(shè)計思想并不利于提高計算機的速度。而且復(fù)雜的指令系統(tǒng)必然增加硬件實現(xiàn)的復(fù)雜性,從而使計算機的研制周期長、投資大。2.RISC的特點(1)大多數(shù)指令在一個機器周期內(nèi)完成(2)采用LOAD/STORE結(jié)構(gòu)(3)較少的指令數(shù)和尋址方式(4)固定的指令格式(5)面向寄存器的結(jié)構(gòu)(6)硬布線控制邏輯(7)注重編譯的優(yōu)化P12451第六節(jié)精簡指令集計算機(RISC)P1231.R523.超標(biāo)量與超流水線概念將RISC設(shè)計成具有多個執(zhí)行部件的結(jié)構(gòu),同時在每一個周期內(nèi)允許發(fā)出多條指令,并調(diào)度多條指令在不同的執(zhí)行部件中并行執(zhí)行操作,這就是所謂。將流水線的每個節(jié)拍分成3個或4個小節(jié)拍,每個小節(jié)拍執(zhí)行一個操作,便有可能在取出第i條指令后,相隔一個小節(jié)拍,就取出第i+1條指令,這樣就可能在一個流水線的節(jié)拍內(nèi),取出3條或4條指令,送入流水線去執(zhí)行,從而使CPI小于l,這就是所謂。超標(biāo)量結(jié)構(gòu)超流水線結(jié)構(gòu)P125523.超標(biāo)量與超流水線概念將RISC設(shè)計成具有多個533.6.2UltraSPARCCPU的微體系結(jié)構(gòu)1.UltraSPARCⅡ概況UltraSPARCⅡ的微體系結(jié)構(gòu)框圖:533.6.2UltraSPARCCPU的微體系結(jié)構(gòu)1542.UltraSPARCⅡ的流水線如圖:整數(shù)流水線浮點數(shù)/圖形流水線3.UltraSPARCⅡ指令系統(tǒng)
UltraSPARCⅡ有兩組寄存器:32個64位的通用寄存器和32個浮點寄存器。R0~R31是通用寄存器,它們在特定的上下文中使用其他的名字。542.UltraSPARCⅡ的流水線如圖:整數(shù)流水線浮點數(shù)55UltraSPARCⅡ的通用寄存器55UltraSPARCⅡ的通用寄存器56作業(yè)P1293-13-33-43-63-93-113-1556作業(yè)P12957計算機組成原理與匯編語言程序設(shè)計(第2版)第3章微體系結(jié)構(gòu) —CPU組織(2)1計算機組成原理與匯編語言程序設(shè)計第3章微體系結(jié)構(gòu) 58第3節(jié)CPU模型機的組成及其數(shù)據(jù)通路3.3.1基本組成 P98模型機數(shù)據(jù)通路結(jié)構(gòu)圖2第3節(jié)CPU模型機的組成及其數(shù)據(jù)通路3.3.1基本593.3.1基本組成1.寄存器(1)可編程寄存器通用寄存器有4個:R0、R1、R2、R3;堆棧指針為SP;程序狀態(tài)字寄存器為PSW;程序計數(shù)器為PC。(2)暫存器暫存器有3個:C、D、Z。(3)指令寄存器IR指令寄存器IR用來存放當(dāng)前正在執(zhí)行的一條指令。(4)與主存接口的寄存器MAR、MDR
CPU對主存的控制信號有兩個:讀信號RD控制對主存的讀操作;寫信號WR控制對主存的寫操作。P9833.3.1基本組成1.寄存器(1)可編程寄存器602.運算部件
ALU的輸入A來自暫存器D,輸入B來自ALU總線,運算結(jié)果輸出到Z??刂艫LU運算的控制信號有:ADD、SUB、AND、OR、XOR、COM、NEG、A+1、A-1、B+1、B-1,它們分別控制ALU完成加、減、與、或、異或、求負(fù)、求反等運算。
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ù)總線,以及控制總線。為簡單起見,模型機采用同步控制方式。P9942.運算部件ALU的輸入A來自暫存器D,輸入B來614.控制器及微命令的基本形式(1)微命令的基本形式在模型機中,微命令有兩種形式。①電位型微命令各寄存器輸出到ALU總線的控制信號:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。ALU運算控制信號:ADD、SUB、AND、OR、XOR等。暫存器D的左移/右移控制信號:SAL、SAR。程序計數(shù)器PC的計數(shù)控制信號:PC+1。MAR和MDR輸出到系統(tǒng)總線的控制信號:EMAR,EMDR。寄存器置入控制信號有:SMDR、SPSW。主存的讀/寫信號有:RD、WR。②脈沖型微命令脈沖型微命令(寄存器打入脈沖):CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。P10054.控制器及微命令的基本形式(1)微命令的基本形式在模型62(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器IR、指令譯碼器、程序計數(shù)器PC、狀態(tài)字寄存器PSW、時序系統(tǒng)和微操作信號發(fā)生器。定義:控制器是整機的指揮中心,其基本功能就是執(zhí)行指令,即根據(jù)指令產(chǎn)生控制信號序列以控制相應(yīng)部件分步完成指定的操作。P1006(2)控制器傳統(tǒng)控制器的主要部件包括:指令寄存器I633.3.2數(shù)據(jù)傳送1.寄存器之間的數(shù)據(jù)傳送
在模型機中,寄存器之間可直接通過ALU總線傳送數(shù)據(jù),具體傳送由輸出門和打入脈沖控制。例如:把寄存器R1的內(nèi)容傳送到寄存器R3,即實現(xiàn)傳送操作R1→R3所需控制信號為R1OUT、CPR3
P10173.3.2數(shù)據(jù)傳送1.寄存器之間的數(shù)據(jù)傳送在模642.主存數(shù)據(jù)傳送到CPU(讀)
主存與CPU之間通過系統(tǒng)總線傳送數(shù)據(jù)。①PC→MAR;PC(指令地址)送存儲器地址寄存器實現(xiàn)PC→MAR的控制信號:PCOUT、CPMAR。
實現(xiàn)讀操作M→MDR的控制信號:EMAR、RD、SMDR;實現(xiàn)MDR→IR的控制信號:MDROUT、CPIR。例如:要從存儲器中取指令到指令寄存器IR,通過以下操作序列即可實現(xiàn):
②M→MDR→IR;從選中存儲器中讀指令到IR82.主存數(shù)據(jù)傳送到CPU(讀)主存與CPU之間通過系653.CPU數(shù)據(jù)傳送到主存(寫)①R1→MAR;地址送MAR例如:在R2中存放需寫入主存的數(shù)據(jù),存儲單元地址在R1中,則寫一個數(shù)據(jù)到存儲器可通過以下操作序列實現(xiàn):實現(xiàn)寫操作MDR→M的控制信號為EMAR、EMDR、WR
③MDR→M;數(shù)據(jù)寫入選中的主存②R2→MDR;數(shù)據(jù)送MDR實現(xiàn)R1→MAR的控制信號:R1OUT、CPMAR。實現(xiàn)R2→MDR的控制信號為R2OUT、CPMDR。93.CPU數(shù)據(jù)傳送到主存(寫)①R1→MAR;地址送664.執(zhí)行算術(shù)或邏輯操作
①R1→D;把R1的內(nèi)容先送到寄存器D例如:完成“把寄存器R1和R2的內(nèi)容相加,結(jié)果送到R3”這個功能,需要分成3步執(zhí)行:實現(xiàn)Z→R3的控制信號:ZOUT、CPR3。
P102②D+R2→Z;R2內(nèi)容送到ALU的B端與D內(nèi)容通過ALU相加,結(jié)果送Z③Z→R3;將存放在Z中的相加結(jié)果送入R3中實現(xiàn)R1→D的控制信號:R1OUT、CPD。實現(xiàn)D+R2→MDR的控制信號:R2OUT、ADD、CPZ。104.執(zhí)行算術(shù)或邏輯操作①R1→D;把R1的內(nèi)容先送到寄67第四節(jié)組合邏輯控制器原理 P102
組合邏輯控制器是指產(chǎn)生控制信號(即微命令)的部件,是用組合邏輯線路來實現(xiàn)。在模型機中有幾十個微命令,則每個微命令都需要一組邏輯門電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作碼、尋址方式、時序信號等)產(chǎn)生該微命令。
本節(jié)先介紹模型機的指令系統(tǒng),然后假設(shè)模型機采用的是組合邏輯控制器,討論其時序系統(tǒng)、指令執(zhí)行流程及微命令的產(chǎn)生與綜合。
組合邏輯控制器一旦制造后,邏輯電路之間的關(guān)系就固定了,不易改動,所以組合邏輯控制器又稱為硬連邏輯控制器。
11第四節(jié)組合邏輯控制器原理 P102683.4.1模型機的指令系統(tǒng)1.指令格式(16位)(1)雙操作數(shù)指令:其格式如下圖所示第12~15位表示操作碼,第6~11位為源操作數(shù)地址段,第0~5位為目的操作數(shù)地址段,在每個地址段字段中又分為兩部分,其中3位表明尋址方式類型,另外3位給出所指定的寄存器編號。
123.4.1模型機的指令系統(tǒng)1.指令格式(16位)(169(1)雙操作數(shù)指令格式可編程寄存器有7個(留有一種編碼未用,留作擴展),地址段編號如下:·通用寄存器R0~R3000~011·堆棧指針SP100·程序狀態(tài)字PSW101·程序計數(shù)器PC11113(1)雙操作數(shù)指令格式可編程寄存器有7個(留有一種編碼未70(2)單操作數(shù)指令
第0~5位為地址字段,第6~11位空閑不用,也可供擴展操作碼用。14(2)單操作數(shù)指令第0~5位為地址字段,第6~171(3)轉(zhuǎn)移指令第12~15位為操作碼,第6~11位給出轉(zhuǎn)移地址字段(也分為尋址方式與寄存器號兩部分)。第0~5位則為轉(zhuǎn)移條件字段。其中,第0~3位中有一位為1,表明轉(zhuǎn)移條件——進位C、溢出V、結(jié)果為零Z、結(jié)果為負(fù)N。第5位表明轉(zhuǎn)移方式,若為0,表示相關(guān)標(biāo)志位為0轉(zhuǎn)移;若為1,表示相關(guān)標(biāo)志位為1轉(zhuǎn)移。若第0~5位全為0,表示無條件轉(zhuǎn)移。15(3)轉(zhuǎn)移指令第12~15位為操作碼,第6~11722.尋址方式模型機的編址為按字編址,字長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直接尋址
DI
PC操作數(shù)地址緊跟著指令
5變址尋址
X(R)
R0~R3,SP,PC
變址寄存器內(nèi)容與緊跟指令的位移量相加,為操作數(shù)地址
P103162.尋址方式模型機的編址為按字編址,字長16位,733.操作類型操作碼共4位,現(xiàn)設(shè)置14種指令,余下兩種操作碼組合可供擴展。(1)傳送指令MOV——傳送,操作碼0000。(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。173.操作類型操作碼共4位,現(xiàn)設(shè)置14種指令,余下兩種操74(4)程序控制類指令①轉(zhuǎn)移指令JMP,操作碼1100(結(jié)合標(biāo)志位)。
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é)果為負(fù)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)移。18(4)程序控制類指令①轉(zhuǎn)移指令JMP,操作碼1100(75②返回指令RST,操作碼1100。
RST指令與JMP指令的操作碼相同,可視為一條指令。RST指令只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為SP,即尋址方式為(SP)+。它從堆棧中取出返回地址,然后修改堆棧指針SP+1。實際上,“JMP(SP)+”指令就是一條RST指令。③轉(zhuǎn)子指令JSR,操作碼1101。執(zhí)行JSR指令時,先將返回地址壓棧保存,然后按尋址方式找到轉(zhuǎn)移地址(即子程序入口地址),將它送入PC中。19②返回指令RST,操作碼1100。RST指令與763.4.2模型機的時序系統(tǒng) P106組合邏輯控制器依靠不同的時間標(biāo)志,使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
203.4.2模型機的時序系統(tǒng) P106組合77中斷響應(yīng)周期IT
DMA傳送周期DMAT
中斷方式:由于某些異常情況或特殊請求,引起CPU暫停執(zhí)行當(dāng)前程序,轉(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是一個空操作周期。21中斷響應(yīng)周期ITDMA傳送周期DMAT78FTSTDTITETDMATDMA請求?中斷?YYNNCPU控制流程例.雙操作數(shù)指令的兩個操作數(shù)均在主存中,工作周期變化為:FT→ST→DT→ET→(FT……)例.單操作數(shù)指令的操作數(shù)在主存中,工作周期變化為:
FT→DT→ET→(FT……)例.雙操作數(shù)指令的操作數(shù)均在CPU寄存器中,工作周期變化為:
FT→ET→(FT……)左圖描述了指令執(zhí)行時工作周期狀態(tài)變化流程。
P10722FTSTDTITETDMATDMA請求?中斷?YYNNC792.節(jié)拍(時鐘周期)T
每個工作周期的操作一般需要分成若干步完成,為此將工作周期劃分成若干節(jié)拍。在模型機中,為了簡化時序控制,將CPU內(nèi)部操作與訪問主存的操作統(tǒng)一考慮。節(jié)拍寬度為最長微操作所需的時間,即訪問主存操作所需的時間。
3.工作脈沖P在節(jié)拍中執(zhí)行的有些操作需要同步定時脈沖,如將穩(wěn)定的運算結(jié)果打入寄存器、周期狀態(tài)切換等。為此,模型機在每個節(jié)拍的末尾發(fā)一個工作脈沖P,作為各種同步脈沖的來源,如左圖。工作脈沖P的前沿:作為打入寄存器的定時信號,它標(biāo)志著一次數(shù)據(jù)通路操作的完成。P的后沿:作為節(jié)拍、工作周期切換的定時信號,在此刻對節(jié)拍計數(shù)器T計數(shù)、打入新的工作周期狀態(tài)。232.節(jié)拍(時鐘周期)T每個工作周期的操803.4.3指令流程 P108分析指令流程是為了在寄存器這一層次分析指令的讀取與執(zhí)行過程,也就是討論CPU的工作機制。1.取指周期FT(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)243.4.3指令流程 P108分析指令81(2)取指流程PC→MARM→MDR→IRPC+1→PCFT0FT1(3)微操作時間表FT工作周期狀態(tài)與節(jié)拍序號本拍中應(yīng)發(fā)的電平型微命令本拍中應(yīng)發(fā)的脈沖型微命令FT0PCOUTT+1PCPMARCPT(-P)FT1EMAR、RD、SMDRMDROUTPC+1T=01→ST[邏輯式1]1→DT[邏輯式2]1→ET[邏輯式3]PCPIRCPPCCPT(-P)CPST(-P)CPDT(-P)CPET(-P)
P10925(2)取指流程PC→MARM→MDR→IRFT0FT1(822.MOV指令1)取指令周期和取源操作數(shù)周期流程圖FTST0ST1ST2ST3ST4R(R)-(R)I/(R)+DIX(R)P111262.MOV指令1)取指令周期和取源操作數(shù)周期流程圖FTS832)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3ET0ET1R(R)-(R)I/(R)+DIX(R)272)取目的地址和執(zhí)行周期流程圖DT0DT1DT2DT3E843.雙操作數(shù)指令雙操作數(shù)指令共有5條:加ADD、減SUB、與AND、或OR、異或EOR,其指令流程圖:STFTDT0DT1DT2DT3DT4ET0ET1ET2與MOV相同P113283.雙操作數(shù)指令雙操作數(shù)指令共有5條:加ADD、減854.單操作數(shù)指令單操作數(shù)指令共有6條:求反COM、求補NEG、加“1”INC、減“1”DEC、左移SL、右移SR,其指令流程圖如圖:FTSTDTET0ET1ET2與雙操作數(shù)指令相同P113294.單操作數(shù)指令單操作數(shù)指令共有6條:求反CO865.轉(zhuǎn)移指令JMP/返回指令RSTNJPJP,RSTPCPC
R(R)(R)+/RSTX(PC)FTET1ET2ET3ET4P114305.轉(zhuǎn)移指令JMP/返回指令RSTNJPJP,RSTPC876.轉(zhuǎn)子指令JSRST0FTET0ET1ET2ST1ST2ST3ET4流程圖如下:ET3P115316.轉(zhuǎn)子指令JSRST0FTET0ET1ET2ST1ST888.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=328.DMA周期在實際機器中,CPU可在一個系統(tǒng)總89第五節(jié)微程序控制器原理 P116有些CPU采用微程序控制方式來產(chǎn)生微命令,相應(yīng)的控制器稱為微程序控制器。
1.微程序控制方式的基本思想(1)將機器指令分解為基本的微命令序列,用二進制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。(2)一條微指令包含的微命令,控制實現(xiàn)一步(一個節(jié)拍)操作;若干條微指令組成的一小段微程序解釋執(zhí)行一條機器指令。
控制存儲器(CM)中的微程序能解釋執(zhí)行整個指令系統(tǒng)的所有機器指令。CM是微程序控制器的核心。33第五節(jié)微程序控制器原理 P116有些CPU90指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
控制存儲器CM功能:存放微程序。CM屬于CPU,不屬于主存儲器。微指令寄存器μIR功能:存放現(xiàn)行微指令。微操作控制字段:提供一步操作所需的微命令。 指明后續(xù)微地址的形成方式。順序控制字段:
提供微地址的給定部分P11734指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序91指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
2.微程序執(zhí)行過程的描述(1)取指指令對應(yīng)的微程序CM取指微指令μIR微命令字段譯碼器微命令機器指令I(lǐng)R主存35指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序92指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(2)轉(zhuǎn)微程序入口(3)執(zhí)行首條微指令I(lǐng)R操作碼微地址形成電路入口μARCMμIR微命令字段μIR譯碼器微命令操作部件36指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序93指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR37指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序94(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。指令代碼運行狀態(tài)控制存貯器CM微命令存儲器μIR微命令序列微程序控制器原理框圖:
38(5)執(zhí)行后續(xù)微指令同(3)(6)返回微程序執(zhí)行完,返回953.基本概念和術(shù)語(1)微命令與微操作微命令微操作——構(gòu)成控制信號序列的最小單位。
——由微命令控制實現(xiàn)的最基本操作。
注意,在組合邏輯控制器中也存在微命令、微操作這兩個概念,它們并非只是微程序控制方式的專用概念。(2)微指令與微周期微指令微周期——若干微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現(xiàn)一步操作。——通常指從控制存儲器中讀取一條微指令并執(zhí)行相應(yīng)的微操作所需的時間。P118393.基本概念和術(shù)語(1)微命令與微操作微命令微操作—96(3)微程序與微程序設(shè)計微程序
微程序設(shè)計——一系列微指令的有序集合。
——是將傳統(tǒng)的程序設(shè)計方法運用到控制邏輯的設(shè)計中,在微程序中也可以有微子程序、循環(huán)、分支等形態(tài)。(4)工作程序與微程序、主存儲器與控制存儲器3.5.2微指令編碼方式微指令編碼的實質(zhì)是解決在微指令中如何組織微命令的問題。一條偽指令分為兩大部分:微操作控制字段和順序控制字段
P11840(3)微程序與微程序設(shè)計微程序微程序設(shè)計——一系列微971.直接控制編碼(不譯碼法)例.某微指令微命令按位給出。不需譯碼,產(chǎn)生微命令的速度快;信息的表示效率低。
C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀微操作控制字段編碼方法411.直接控制編碼(不譯碼法)例.某微指令微命令按位給出98例.某微指令微命令按小段給出。
P1P0100P1P0=00ADD01ADC10SUB11SBB2.分段直接編譯法功能小段42例.某微指令微命令按小段給出。99操作唯一;加法器A輸入端的控制命令放AI字段;B輸入端的控制命令放BI字段。
加法器
A
BR、CD、ER、CD、F000不發(fā)命令010CA100EA001RA011DACDAIBI33010CA000不發(fā)命令010CB100FB001RB011DB011DBAI:BI:一條微指令能同時提供若干微命令,便于組織各種操作。編碼較簡單;43操作唯一;加法器A輸入端的控制命令放AI字段;1003.分段間接編譯法例.微命令由本字段編碼和其他字段解釋共同給出。C=
CA1)設(shè)置解釋位或解釋字段解釋位1
A為某類命令0
A為常數(shù)2)分類編譯按功能類型將微指令分類,分別安排各類微指令格式和字段編碼,并設(shè)置區(qū)分標(biāo)志。443.分段間接編譯法例.微命令由本字段編碼和其他字段解釋1014.常數(shù)源字段E的設(shè)置微操作控制字段E順序控制字段
在微指令中,一般設(shè)有一個常數(shù)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026浙江省旅投集團招聘25人筆試參考題庫及答案解析
- 2026一汽解放校園招聘筆試模擬試題及答案解析
- 2026年四川水利職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試模擬測試卷及答案1套
- 2026年鄂州職業(yè)大學(xué)單招職業(yè)傾向性考試題庫及答案1套
- 2026年廣西建設(shè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試模擬測試卷及答案1套
- 2026年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2026年寧波大學(xué)科學(xué)技術(shù)學(xué)院單招職業(yè)技能測試模擬測試卷及答案1套
- 2026年濮陽科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試模擬測試卷及答案1套
- 2026年河南檢察職業(yè)學(xué)院單招真題及答案1套
- 2025年山東省科創(chuàng)集團有限公司招聘(33人)模擬試卷附答案
- YS/T 3045-2022埋管滴淋堆浸提金技術(shù)規(guī)范
- 項目進度跟進及完成情況匯報總結(jié)報告
- 2024-2025學(xué)年冀教版九年級數(shù)學(xué)上冊期末綜合試卷(含答案)
- 《智能網(wǎng)聯(lián)汽車車控操作系統(tǒng)功能安全技術(shù)要求》
- 峨眉山城市介紹旅游宣傳課件
- 浙江省溫州市樂清市2023-2024學(xué)年五年級上學(xué)期期末語文試題
- 土壤改良合同模板
- 2024年中國成人心肌炎臨床診斷與治療指南解讀課件
- 2024年新疆文旅旅游投資集團招聘筆試沖刺題(帶答案解析)
- JT-T-915-2014機動車駕駛員安全駕駛技能培訓(xùn)要求
- (高清版)WST 442-2024 臨床實驗室生物安全指南
評論
0/150
提交評論