計(jì)算機(jī)組成原理1_第1頁(yè)
計(jì)算機(jī)組成原理1_第2頁(yè)
計(jì)算機(jī)組成原理1_第3頁(yè)
計(jì)算機(jī)組成原理1_第4頁(yè)
計(jì)算機(jī)組成原理1_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第8章CPU的結(jié)構(gòu)和功能8.1CPU的結(jié)構(gòu)8.3指令流水8.2指令周期8.4中斷系統(tǒng)8.1CPU的結(jié)構(gòu)一、CPU的功能取指令分析指令執(zhí)行指令,發(fā)出各種操作命令控制程序輸入及結(jié)果的輸出總線管理處理異常情況和特殊請(qǐng)求1.控制器的功能2.運(yùn)算器的功能實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算指令控制操作控制時(shí)間控制數(shù)據(jù)加工處理中斷二、CPU結(jié)構(gòu)框圖PCIR指令控制操作控制時(shí)間控制數(shù)據(jù)加工處理中斷ALU寄存器中斷系統(tǒng)1.CPU與系統(tǒng)總線CU時(shí)序電路寄存器ALU

中斷

系統(tǒng)CUCPU控制總線數(shù)據(jù)總線地址總線8.12.CPU的內(nèi)部結(jié)構(gòu)8.1算術(shù)和布爾邏輯取反移位狀態(tài)標(biāo)志內(nèi)部數(shù)據(jù)總線寄存器CU中斷系統(tǒng)ALU控制信號(hào)…CPU1.用戶可見寄存器(1)通用寄存器三、CPU的寄存器存放操作數(shù)可作某種尋址方式所需的專用寄存器(2)數(shù)據(jù)寄存器存放操作數(shù)(滿足各種數(shù)據(jù)類型)兩個(gè)寄存器拼接存放雙倍字長(zhǎng)數(shù)據(jù)(3)地址寄存器存放地址,其位數(shù)應(yīng)滿足最大的地址范圍用于特殊的尋址方式段基值棧指針(4)條件碼寄存器存放條件碼,可作程序分支的依據(jù)如正、負(fù)、零、溢出、進(jìn)位等8.12.控制和狀態(tài)寄存器(1)控制寄存器PC控制CPU操作(2)狀態(tài)寄存器狀態(tài)寄存器其中MAR、MDR、IR

用戶不可見存放條件碼PSW寄存器存放程序狀態(tài)字

PC

用戶可見3.舉例Z80008086MC68000MARMMDRIR8.1四、控制單元CU和中斷系統(tǒng)1.CU產(chǎn)生全部指令的微操作命令序列組合邏輯設(shè)計(jì)微程序設(shè)計(jì)硬連線邏輯存儲(chǔ)邏輯2.中斷系統(tǒng)參見第4篇五、ALU參見8.4節(jié)參見第6章8.18.2指令周期一、指令周期的基本概念1.指令周期取出并執(zhí)行一條指令所需的全部時(shí)間完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期取指周期執(zhí)行周期2.每條指令的指令周期不同取指周期指令周期取指周期執(zhí)行周期指令周期NOPADDmemMULmem8.2取指周期執(zhí)行周期指令周期…3.具有間接尋址的指令周期4.帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期8.25.指令周期流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否8.26.CPU工作周期的標(biāo)志CPU訪存有四種性質(zhì)取指令取地址取操作數(shù)存程序斷點(diǎn)取指周期間址周期執(zhí)行周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU的4個(gè)工作周期8.21.取指周期數(shù)據(jù)流二、指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲(chǔ)器CPU地址總線數(shù)據(jù)總線控制總線IR+18.22.間址周期數(shù)據(jù)流MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PCIR存儲(chǔ)器MDR8.23.執(zhí)行周期數(shù)據(jù)流4.中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲(chǔ)器8.28.3指令流水一、如何提高機(jī)器速度1.提高訪存速度2.提高I/O和主機(jī)之間的傳送速度提高整機(jī)處理能力高速芯片Cache多體并行I/O處理機(jī)DMA多總線通道高速器件改進(jìn)系統(tǒng)結(jié)構(gòu),開發(fā)系統(tǒng)的并行性中斷3.提高運(yùn)算器速度高速芯片改進(jìn)算法快速進(jìn)位鏈二、系統(tǒng)的并行性時(shí)間上互相重疊2.并行性的等級(jí)指令級(jí)(指令之間)(指令內(nèi)部)過程級(jí)(程序、進(jìn)程)兩個(gè)或兩個(gè)以上事件在同一時(shí)刻發(fā)生兩個(gè)或兩個(gè)以上事件在同一時(shí)間段發(fā)生并行1.并行的概念粗粒度軟件實(shí)現(xiàn)細(xì)粒度硬件實(shí)現(xiàn)并發(fā)同時(shí)8.3取指令3執(zhí)行指令3三、指令流水原理2.指令的二級(jí)流水1.指令的串行執(zhí)行取指令

取指令部件完成總有一個(gè)部件空閑指令預(yù)取若取指和執(zhí)行階段時(shí)間上完全重疊指令周期減半速度提高1倍…執(zhí)行指令

執(zhí)行指令部件

完成取指令1執(zhí)行指令1取指令2執(zhí)行指令2取指令3執(zhí)行指令3取指令2執(zhí)行指令2取指令1執(zhí)行指令18.3必須等上條指令執(zhí)行結(jié)束,才能確定下條指令的地址,造成時(shí)間損失3.影響指令流水效率加倍的因素(1)執(zhí)行時(shí)間>取指時(shí)間

(2)條件轉(zhuǎn)移指令對(duì)指令流水的影響

解決辦法

?取指令部件指令部件緩沖區(qū)執(zhí)行指令部件猜測(cè)法8.34.指令的六級(jí)流水六級(jí)流水14個(gè)時(shí)間單位串行執(zhí)行6×9=54

個(gè)時(shí)間單位完成一條指令6個(gè)時(shí)間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t8.3指令1與指令4沖突指令2與指令5沖突指令1、指令3、指令6沖突…COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t四、影響指令流水線性能的因素1.結(jié)構(gòu)相關(guān)8.3不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率解決辦法?停頓?指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開?指令預(yù)取技術(shù)(適用于訪存周期短的情況)2.數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序采用旁路技術(shù)解決辦法8.3寫后讀相關(guān)(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)

(R3)R1;(R5)+(R1)R4讀后寫相關(guān)(WAR)STAM,R2ADDR2,R4,R5;(R2)M存儲(chǔ)單元;(R4)+(R5)R2寫后寫相關(guān)(WAW)后推法MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)R3;(R4)(R5)

R33.控制相關(guān)8.3BNE指令必須等CPX指令的結(jié)果才能判斷出是轉(zhuǎn)移還是順序執(zhí)行LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM由轉(zhuǎn)移指令引起3.控制相關(guān)8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉(zhuǎn)移損失t設(shè)指令3是轉(zhuǎn)移指令五、流水線性能1.吞吐率單位時(shí)間內(nèi)流水線所完成指令或輸出結(jié)果的數(shù)量8.3最大吞吐率實(shí)際吞吐率連續(xù)處理n條指令的吞吐率為設(shè)m

段的流水線各段時(shí)間為ΔtTpmax=Δ1tTp=m

·Δ

+(n-1)·

Δ

ntt2.加速比Sp

8.3

m

段的流水線的速度與等功能的非流水線的速度之比設(shè)流水線各段時(shí)間為Δt完成n條指令在m

段流水線上共需

T=m

·

+(n-1)·

ttΔΔ完成n條指令在等效的非流水線上共需

T

′=nm

·tΔSp

=

m

·+(n-1)·

nm·=nmm

+n-1

ΔtΔΔtt

則由于流水線有建立時(shí)間和排空時(shí)間因此各功能段的設(shè)備不可能

一直處于工作狀態(tài)

8.3流水線中各功能段的利用率3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n-1)Δt8.3m(m

+n-1)Δt

=mnΔt

流水線各段處于工作時(shí)間的時(shí)空區(qū)流水線中各段總的時(shí)空區(qū)

效率=3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時(shí)間S空間空間S4S3S2S1(n-1)Δt流水線中各功能段的利用率六、流水線的多發(fā)技術(shù)1.超標(biāo)量技術(shù)每個(gè)時(shí)鐘周期內(nèi)可并發(fā)多條獨(dú)立指令

不能調(diào)整指令的執(zhí)行順序配置多個(gè)功能部件通過編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來8.3IFIDEX

WR0123

45

678

910111213時(shí)鐘周期指令序列2.超流水線技術(shù)在一個(gè)時(shí)鐘周期內(nèi)再分段(3段)

不能調(diào)整指令的執(zhí)行順序在一個(gè)時(shí)鐘周期內(nèi)一個(gè)功能部件使用多次(3次)靠編譯程序解決優(yōu)化問題流水線速度是原來速度的3倍8.3IFIDEXWR0

1

2

345

67

8

9

10111213時(shí)鐘周期指令序列3.超長(zhǎng)指令字技術(shù)采用多個(gè)處理部件具有多個(gè)操作碼字段的超長(zhǎng)指令字(可達(dá)幾百位)由編譯程序挖掘出指令間潛在的并行性,將多條能并行操作的指令組合成一條8.3IFIDEXWR012345678910111213時(shí)鐘周期指令序列七、流水線結(jié)構(gòu)1.指令流水線結(jié)構(gòu)完成一條指令分7段,每段需一個(gè)時(shí)鐘周期若流水線不出現(xiàn)斷流1個(gè)時(shí)鐘周期出1結(jié)果不采用流水技術(shù)7個(gè)時(shí)鐘周期出1結(jié)果理想情況下,7級(jí)流水的速度是不采用流水技術(shù)的7倍地址形成部件指令譯碼部件取操作數(shù)部件取指令部件操作執(zhí)行部件回寫結(jié)果部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存8.32.運(yùn)算流水線完成浮點(diǎn)加減運(yùn)算可分對(duì)階、尾數(shù)求和、規(guī)格化三段分段原則每段操作時(shí)間盡量一致鎖存器對(duì)階功能部件第一段尾數(shù)加部件鎖存器第二段規(guī)格化部件鎖存器第三段8.38.4中斷系統(tǒng)一、概述1.引起中斷的各種因素(1)人為設(shè)置的中斷(2)程序性事故如轉(zhuǎn)管指令溢出、操作碼不能識(shí)別、除法非法(5)外部事件(4)I/O設(shè)備(3)硬件故障用鍵盤中斷現(xiàn)行程序轉(zhuǎn)管指令……管理程序2.中斷系統(tǒng)需解決的問題(1)各中斷源如何向CPU提出請(qǐng)求?(2)各中斷源同時(shí)提出請(qǐng)求怎么辦?(5)如何尋找入口地址?(4)如何保護(hù)現(xiàn)場(chǎng)?(3)CPU什么條件、什么時(shí)間、以什么方式

響應(yīng)中斷?(6)如何恢復(fù)現(xiàn)場(chǎng),如何返回?(7)處理中斷的過程中又出現(xiàn)新的中斷怎么辦?硬件

+軟件8.4二、中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯1.中斷請(qǐng)求標(biāo)記INTR一個(gè)請(qǐng)求源

一個(gè)INTR

中斷請(qǐng)求標(biāo)記觸發(fā)器多個(gè)INTR

組成中斷請(qǐng)求標(biāo)記寄存器INTR

分散在各個(gè)中斷源的接口電路中INTR集中在CPU

的中斷系統(tǒng)內(nèi)12345n掉電過熱階上溢主存讀寫校驗(yàn)錯(cuò)非法除法鍵盤輸入打印機(jī)輸出8.42.中斷判優(yōu)邏輯①

分散在各個(gè)中斷源的接口電路中鏈?zhǔn)脚抨?duì)器②集中在CPU

內(nèi)(1)硬件實(shí)現(xiàn)(排隊(duì)器)111&1

&1&參見第五章INTR1INTR2INTR3INTR4INTR1、

INTR2、

INTR3、

INTR4

優(yōu)先級(jí)按降序排列

INTP1INTP2INTP3INTP48.4A、B、C

優(yōu)先級(jí)按降序排列(2)軟件實(shí)現(xiàn)(程序查詢)否…是否A

請(qǐng)求?是否B

請(qǐng)求?是否C

請(qǐng)求?轉(zhuǎn)A

的服務(wù)程序入口地址轉(zhuǎn)B

的服務(wù)程序入口地址轉(zhuǎn)C

的服務(wù)程序入口地址是是是否否8.4三、中斷服務(wù)程序入口地址的尋找1.硬件向量法入口地址200入口地址300入口地址40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件……中斷向量排隊(duì)器輸出向量地址12H、13H、14H入口地址200、300、4008.42.軟件查詢法

M

JMP1#SR1#D=1轉(zhuǎn)1#服務(wù)程序

SKPDZ2#

JMP2#SR2#D=0跳2#D=1轉(zhuǎn)2#服務(wù)程序

SKPDZ8#

JMP8#SR8#D=0跳8#D=1轉(zhuǎn)8#服務(wù)程序八個(gè)中斷源1,2,8按降序排列……8.4

SKPDZ1#1#D=0跳(D為完成觸發(fā)器)中斷識(shí)別程序(入口地址M)地址說明指令四、中斷響應(yīng)1.響應(yīng)中斷的條件允許中斷觸發(fā)器EINT=12.響應(yīng)中斷的時(shí)間指令執(zhí)行周期結(jié)束時(shí)刻由CPU發(fā)查詢信號(hào)

CPU中斷查詢INTR1DQINTR2DQINTRnDQ中斷源1中斷源2中斷源n…至排隊(duì)器8.43.中斷隱指令(1)保護(hù)程序斷點(diǎn)(2)尋找服務(wù)程序入口地址(3)硬件關(guān)中斷向量地址形成部件INTSQREINTSQRPC

1&≥1排隊(duì)器……斷點(diǎn)存于特定地址(0號(hào)地址)內(nèi)斷點(diǎn)進(jìn)棧INT中斷標(biāo)記EINT允許中斷R–S

觸發(fā)器8.4向量地址PC(硬件向量法)中斷識(shí)別程序入口地址MPC(軟件查詢法)五、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)1.保護(hù)現(xiàn)場(chǎng)2.恢復(fù)現(xiàn)場(chǎng)寄存器內(nèi)容斷點(diǎn)保護(hù)現(xiàn)場(chǎng)其它服務(wù)程序恢復(fù)現(xiàn)場(chǎng)中斷返回PUSH視不同請(qǐng)求源而定POP中斷服務(wù)程序完成中斷服務(wù)程序中斷隱指令完成中斷服務(wù)程序完成8.4IRET1.多重中斷的概念klmk

+1l

+1m

+1第一次中斷第二次中斷第三次中斷程序斷點(diǎn)k+1,l+1,m+1六、中斷屏蔽技術(shù)8.42.實(shí)現(xiàn)多重中斷的條件B、CA中斷請(qǐng)求主程序(2)優(yōu)先級(jí)別高的中斷源有權(quán)中斷優(yōu)先級(jí)別低的中斷源(1)提前設(shè)置開中斷指令A(yù)BCD中斷服務(wù)程序(A、B、C、D優(yōu)先級(jí)按降序排列)D8.4

&3.屏蔽技術(shù)(1)屏蔽觸發(fā)器的作用MASK=0(未屏蔽)INTR能被置“1”

&

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTR

MASKQCPU查詢MASKi

=1(屏蔽)INTPi

=0(不能被排隊(duì)選中)8.4(2)屏蔽字8.4

優(yōu)先級(jí)屏蔽字111111111111111101111111111111110011111111111111000111111111111100001111111111110000011111111111…000000000000001100000000000000011234561516…16個(gè)中斷源1,2,3,

16按降序排列…(3)屏蔽技術(shù)可改變處理優(yōu)先等級(jí)響應(yīng)優(yōu)先級(jí)響應(yīng)優(yōu)先級(jí)A→B→C→D

降序排列

8.4不可改變處理優(yōu)先級(jí)可改變(通過重新設(shè)置屏蔽字)中斷源原屏蔽字新屏蔽字ABCD11110111001100011111010001100111處理優(yōu)先級(jí)A→D→C→B降序排列(3)屏蔽技術(shù)可改變處理優(yōu)先等級(jí)8.4服務(wù)程序B處理完C處理完D處理完A處理完t主程序A程序B程序C程序D程序A、B、C、D同時(shí)請(qǐng)求中斷CPU執(zhí)行程序軌跡(原屏蔽字)(3)屏蔽技術(shù)可改變處理優(yōu)先等級(jí)(4)屏蔽技術(shù)的其他作用8.4便于程序控制可以人為地屏蔽某個(gè)中斷源的請(qǐng)求服務(wù)程序D處理完C處理完B處理完A處理完t主程序A程序B程序C程序D程序A、B、C、D同時(shí)請(qǐng)求中斷CPU執(zhí)行程序軌跡(新屏蔽字)8.4(5)新屏蔽字的設(shè)置保護(hù)現(xiàn)場(chǎng)置屏蔽字開中斷中斷服務(wù)關(guān)中斷恢復(fù)現(xiàn)場(chǎng)恢復(fù)屏蔽字開中斷中斷返回置屏蔽字恢復(fù)屏蔽字關(guān)中斷開中斷(1)斷點(diǎn)進(jìn)棧(2)斷點(diǎn)存入“0”地址中斷隱指令完成中斷周期命令存儲(chǔ)器寫0MARPCMDR(MDR)存入存儲(chǔ)器三次中斷,三個(gè)斷點(diǎn)都存入“0”地址4.多重中斷的斷點(diǎn)保護(hù)斷點(diǎn)MDR?如何保證斷點(diǎn)不丟失?中斷隱指令完成8.4(3)程序斷點(diǎn)存入“0”地址的斷點(diǎn)保護(hù)××××05JMPSERVE××××SAVE××××RETURNSTASAVE…0地址內(nèi)容轉(zhuǎn)存其他服務(wù)內(nèi)容SERVELDASAVEJMP@RETURN存程序斷點(diǎn)5為向量地址…保護(hù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)間址返回存放ACC內(nèi)容轉(zhuǎn)存0地址內(nèi)容開中斷ENILDA0STARETURN置屏蔽字8.4地址內(nèi)容說明第9章控制單元的功能9.1操作命令的分析9.2控制單元的功能9.1操作命令的分析完成一條指令分4個(gè)工作周期取指周期間址周期執(zhí)行周期中斷周期一、取指周期PCMAR地址線1RM(MAR)MDRMDRIR(PC)+1PC+1MDRCUMAR

PC

IR存儲(chǔ)器CPU地址總線數(shù)據(jù)總線控制總線9.1操作命令的分析OP(IR)CU二、間址周期M(MAR)MDR1RAd(IR)MARMDRAd(IR)指令形式地址MAR9.1MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線IR存儲(chǔ)器三、執(zhí)行周期1.非訪存指令(1)CLA

清A(2)COM

取反(4)CSL

循環(huán)左移(3)SHR

算術(shù)右移(5)STP

停機(jī)指令0ACCACCACCL(ACC)R(ACC),ACC0ACC0R(ACC)L(ACC),ACC0ACCn0G9.12.訪存指令A(yù)d(IR)MAR1RM(MAR)MDR(ACC)+(MDR)ACCAd(IR)

MAR1WACCMDRMDRM(MAR)STAXADDX(2)存數(shù)指令(1)加法指令9.1(3)取數(shù)指令A(yù)d(IR)

MAR1RM(MAR)

MDRMDRACC3.轉(zhuǎn)移指令(1)無條件轉(zhuǎn)(2)條件轉(zhuǎn)移Ad(IR)

PCA0?Ad(IR)+A0(PC)PCLDAXJMPXBANX(負(fù)則轉(zhuǎn))9.14.三類指令的指令周期取指周期執(zhí)行周期取指周期執(zhí)行周期取指周期執(zhí)行周期取指周期間址周期執(zhí)行周期非訪存指令周期直接訪存指令周期間接訪存指令周期轉(zhuǎn)移指令周期9.1取指周期間址周期執(zhí)行周期間接轉(zhuǎn)移指令周期四、中斷周期程序斷點(diǎn)存入“0”地址程序斷點(diǎn)進(jìn)棧0

MAR1WPCMDRMDRM(MAR)向量地址PC0EINT(置“0”)0EINT(置“0”)向量地址PCMDRM(MAR)PCMDR1W中斷識(shí)別程序入口地址MPC9.1(SP)1

MAR9.2控制單元的功能一、控制單元的外特性指令寄存器控制單元

CU…時(shí)鐘標(biāo)志CPU內(nèi)部的控制信號(hào)到系統(tǒng)總線的控制信號(hào)來自系統(tǒng)總線的控制信號(hào)系統(tǒng)總線1.輸入信號(hào)(1)時(shí)鐘(2)指令寄存器(4)外來信號(hào)(3)標(biāo)志CU受時(shí)鐘控制控制信號(hào)與操作碼有關(guān)OP(IR)CUCU受標(biāo)志控制INTR中斷請(qǐng)求HRQ總線請(qǐng)求一個(gè)時(shí)鐘脈沖發(fā)一個(gè)操作命令或一組需同時(shí)執(zhí)行的操作命令如9.22.輸出信號(hào)(1)CPU內(nèi)的各種控制信號(hào)(2)送至控制總線的信號(hào)Ri

Rj(PC)+1PCINTAHLDA訪存控制信號(hào)訪IO/

存儲(chǔ)器的控制信號(hào)讀命令寫命令中斷響應(yīng)信號(hào)總線響應(yīng)信號(hào)MREQIO/MRDWRALU+、-、與、或……9.2二、控制信號(hào)舉例PCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)C0C1C2C3C4取指周期以ADD@X為例PCIRCU9.21.不采用CPU內(nèi)部總線的方式PCPCPC

MDR

MAR

MDR

MARPCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)

MDR

MAR二、控制信號(hào)舉例1.不采用CPU內(nèi)部總線的方式C1C2C3C5ADD@X間址周期IR9.2

MDR

MDR

MARPCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)

MDR

MAR二、控制信號(hào)舉例1.不采用CPU內(nèi)部總線的方式C1C2C5ADD@X執(zhí)行周期C7C6C8ACALU…控制信號(hào)9.2

MDR

MAR

MDRMDRMDRCU(1)ADD@X取指周期

PC

CU

發(fā)讀命令1R

MDROP(IR)(PC)+1PCIRPCMARAC

YALUZ…控制信號(hào)IRiIRiPCOPCOMARiMARiMDROMDRO…數(shù)據(jù)線數(shù)據(jù)線控制信號(hào)CPU

內(nèi)部總線時(shí)鐘2.采用CPU內(nèi)部總線方式地址線地址線MARMDRIRCU9.2IRPCPCMDRMARCUIRPCPCCU(2)ADD@X間址周期

MDR1R

MDR有效地址

Ad(IR)MDROMDRO數(shù)據(jù)線數(shù)據(jù)線時(shí)鐘CUIRPCMARMDRACYALUZ…控制信號(hào)…控制信號(hào)CPU

內(nèi)部總線MDRIRMARi

MARi地址線地址線MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址MAR

9.2CU時(shí)鐘CUIRPCMARMDRACYALUZ…控制信號(hào)CPU

內(nèi)部總線MDROMDRO(3)ADD@X執(zhí)行周期1R

MDR

Z

AC(AC)+(Y)

MDR控制信號(hào)…MARMDR地址線地址線數(shù)據(jù)線數(shù)據(jù)線MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi

YALUACACOACOALUiALUiALUALUACZZZZOZOACiACiACACACACMARi

MARiALUAC9.2CU三、多級(jí)時(shí)序系統(tǒng)1.機(jī)器周期(1)機(jī)器周期的概念(2)確定機(jī)器周期需考慮的因素(3)基準(zhǔn)時(shí)間的確定所有指令執(zhí)行過程中的一個(gè)基準(zhǔn)時(shí)間每條指令的執(zhí)行步驟每一步驟所需的時(shí)間以完成最復(fù)雜指令功能的時(shí)間為準(zhǔn)以訪問一次存儲(chǔ)器的時(shí)間為基準(zhǔn)若指令字長(zhǎng)=存儲(chǔ)字長(zhǎng)取指周期

=

機(jī)器周期9.22.時(shí)鐘周期(節(jié)拍、狀態(tài))

一個(gè)機(jī)器周期內(nèi)可完成若干個(gè)微操作每個(gè)微操作需一定的時(shí)間時(shí)鐘周期是控制計(jì)算機(jī)操作的最小單位時(shí)間將一個(gè)機(jī)器周期分成若干個(gè)時(shí)間相等的時(shí)間段(節(jié)拍、狀態(tài)、時(shí)鐘周期)9.2用時(shí)鐘周期控制產(chǎn)生一個(gè)或幾個(gè)微操作命令CLKT0T1T2T3時(shí)鐘周期2.時(shí)鐘周期(節(jié)拍、狀態(tài))

機(jī)器周期機(jī)器周期T0T1T2T3T0T1T2T39.23.多級(jí)時(shí)序系統(tǒng)機(jī)器周期、節(jié)拍(狀態(tài))組成多級(jí)時(shí)序系統(tǒng)一個(gè)指令周期包含若干個(gè)機(jī)器周期一個(gè)機(jī)器周期包含若干個(gè)時(shí)鐘周期CLK機(jī)器周期機(jī)器周期機(jī)器周期

(取指令)(取有效地址)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3機(jī)器周期機(jī)器周期(取指令)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2節(jié)拍(狀態(tài))節(jié)拍(狀態(tài))9.24.機(jī)器速度與機(jī)器主頻的關(guān)系機(jī)器的主頻f越快機(jī)器的速度也越快在機(jī)器周期所含時(shí)鐘周期數(shù)相同的前提下,兩機(jī)平均指令執(zhí)行速度之比等于兩機(jī)主頻之比機(jī)器速度不僅與主頻有關(guān),還與機(jī)器周期中所含時(shí)鐘周期(主頻的倒數(shù))數(shù)以及指令周期中所含的機(jī)器周期數(shù)有關(guān)9.2MIPS1MIPS2=f1f2四、控制方式產(chǎn)生不同微操作命令序列所用的時(shí)序控制方式1.同步控制方式任一微操作均由統(tǒng)一基準(zhǔn)時(shí)標(biāo)的時(shí)序信號(hào)控制CLK機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(取有效地址)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1)采用定長(zhǎng)的機(jī)器周期以最長(zhǎng)的微操作序列和最繁的微操作作為標(biāo)準(zhǔn)9.2機(jī)器周期內(nèi)節(jié)拍數(shù)相同(2)采用不定長(zhǎng)的機(jī)器周期機(jī)器周期機(jī)器周期(取指令)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2節(jié)拍(狀態(tài))機(jī)器周期機(jī)器周期(取指令)(執(zhí)行指令)T0T1T2T3T0T1T2T3TT延長(zhǎng)9.2機(jī)器周期內(nèi)節(jié)拍數(shù)不等(3)采用中央控制和局部控制相結(jié)合的方法T0T1T2T3T0T1T2中央控制節(jié)拍

T3T0T1中央控制節(jié)拍機(jī)器周期執(zhí)行周期指令周期取指周期T0T1T2T39.2局部控制的節(jié)拍寬度與中央控制的節(jié)拍寬度一致T*T*T*局部控制節(jié)拍…2.異步控制方式無基準(zhǔn)時(shí)標(biāo)信號(hào)無固定的周期節(jié)拍和嚴(yán)格的時(shí)鐘同步采用應(yīng)答方式3.聯(lián)合控制方式4.人工控制方式(1)Reset(2)連續(xù)和單條指令執(zhí)行轉(zhuǎn)換開關(guān)(3)符合停機(jī)開關(guān)同步與異步相結(jié)合9.2五、多級(jí)時(shí)序系統(tǒng)實(shí)例分析1.8085的組成9.2A15~A8中斷控制AC(8)TR(8)FR(5)IR(8)IDAL(16)PC(16)SP(16)L(8)H(8)E(8)D(8)C(8)B(8)

指令譯碼和機(jī)器周期編碼ALU定時(shí)和控制時(shí)鐘控制狀態(tài)DMA復(fù)位ABR(8)ADBR(8)8位內(nèi)部數(shù)據(jù)總線I/O控制INTAINTRSIDSODCLKReadyRDWRALEIO/MHLDAResetoutAD7~AD02.8085的外部引腳(1)地址和數(shù)據(jù)信號(hào)(2)定時(shí)和控制信號(hào)(3)存儲(chǔ)器和I/O初始化A15~A8

AD7~AD0SIDSOD入X1X2入HOLDReady出

HLDA出CLK

ALES0S1

IO/M

RD

WR12345678910111213141516171819204039383736353433323130292827262524232221X1X2ResetoutSODSIDTrapRST7.5RST6.5RST5.5INTAAD0AD1AD2AD3AD4AD5AD6AD7VSSINTRVCCHOLDHLDACLK(out)RsestinReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A89.2(4)與中斷有關(guān)的信號(hào)(5)CPU初始化(6)電源和地出INTATrap重新啟動(dòng)中斷入INTR入Resetin出ResetoutVCC+5VVSS

地12345678910111213141516171819204039383736353433323130292827262524232221X1X2ResetoutSODSIDTrapRST7.5RST6.5RST5.5INTAAD0AD1AD2AD3AD4AD5AD6AD7VSSINTRVCCHOLDHLDACLK(out)RsestinReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A89.23.機(jī)器周期和節(jié)拍(狀態(tài))與控制信號(hào)的關(guān)系9.2T1T2T3T4T1T2T3T1T2T3M1M2M3PCoutPC+1InsIRXPCoutPC+1ByZZoutAPortIOPORTACCbytePCLInstrPCLPCHPCHIOPORT3MHZCLKA15~A8AD7~AD0ALERDWRIO/M小結(jié)每個(gè)控制信號(hào)在指定機(jī)器周期的指定節(jié)拍T

時(shí)刻發(fā)出機(jī)器周期M1

取指令操作碼機(jī)器周期M2

取設(shè)備地址機(jī)器周期M3

執(zhí)行ACC的內(nèi)容寫入設(shè)備以一條輸出指令(I/O寫)為例9.2第10章控制單元的設(shè)計(jì)10.1組合邏輯設(shè)計(jì)10.2微程序設(shè)計(jì)10.1組合邏輯設(shè)計(jì)一、組合邏輯控制單元框圖1.CU

外特性IR節(jié)拍發(fā)生器CUT0T1Tn…CLK(機(jī)器主頻)…標(biāo)志012n-1…C0C1Cn操作碼譯碼n

位操作碼

2.節(jié)拍信號(hào)CLKT0T1T2T3時(shí)鐘周期機(jī)器周期機(jī)器周期T0T1T2T3T0T1T2T310.1

二、微操作的節(jié)拍安排采用

同步控制方式CPU

內(nèi)部結(jié)構(gòu)采用非總線方式一個(gè)

機(jī)器周期

內(nèi)有

3

個(gè)節(jié)拍(時(shí)鐘周期)10.1PCIRACCU時(shí)鐘ALU………C1C2C5C9C0C10C3C7C4C6C12C11C8控制信號(hào)標(biāo)志控制信號(hào)

MDR

MAR

1.安排微操作時(shí)序的原則原則一微操作的先后順序不得隨意更改原則二被控對(duì)象不同的微操作盡量安排在一個(gè)節(jié)拍內(nèi)完成原則三占用時(shí)間較短的微操作盡量安排在一個(gè)節(jié)拍內(nèi)完成并允許有先后順序10.12.取指周期微操作的節(jié)拍安排PCMARM(MAR)MDRMDRIR(PC)+1PC原則二原則二原則三3.間址周期微操作的節(jié)拍安排M(MAR)MDRMDRAd(IR)T0T1T2T0T1T21ROP(IR)IDAd(IR)MAR1R10.14.執(zhí)行周期微操作的節(jié)拍安排①CLA②COM

③SHRT0T1T2T0T1T2T0T1T2AC0AC0L(AC)

R(AC)0ACACAC10.1④CSL⑤STP⑥ADDX⑦STAXR(AC)

L(AC)AC0ACnT0T1T20

GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR(AC)+(MDR)ACAd(IR)MARACMDRMDRM(MAR)1R1W10.1⑧LDAX⑨JMPX⑩BANXT0T1T2Ad(IR)MARM(MAR)MDRMDRACT0T1T2T0T1T2Ad(IR)PC1RA0?Ad(IR)+A0?

PCPC10.15.中斷周期微操作的節(jié)拍安排T0T1T20MARPCMDRMDRM(MAR)硬件關(guān)中斷向量地址PC中斷隱指令完成1W10.1三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表T2T1T0FE取指JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII10.1間址特征三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表T2T1T0

IND間址JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND10.1間址周期標(biāo)志T2T1T0EX執(zhí)行JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)

ACMDRM(MAR)MDRAC0AC三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表1W10.1三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表T2T1T0FE取指JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII111111111111111111111111111111111111111111111110.1三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表T2T1T0

IND間址JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND1111111111111111111110.1三、組合邏輯設(shè)計(jì)步驟1.列出操作時(shí)間表T2T1T0EX執(zhí)行JMPLDASTAADDCOMCLA微操作命令信號(hào)狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W111111111111110.12.寫出微操作命令的最簡(jiǎn)表達(dá)式=FE

·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}10.13.畫出邏輯圖特點(diǎn)

思路清晰,簡(jiǎn)單明了

龐雜,調(diào)試?yán)щy,修改困難

速度快&&&11&&&&&≥1FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&&10.110.2微程序設(shè)計(jì)一、微程序設(shè)計(jì)思想的產(chǎn)生1951英國(guó)劍橋大學(xué)教授Wilkes完成一條機(jī)器指令微操作命令1微操作命令2微操作命令n…微指令110100000微指令n微程序00010010存儲(chǔ)邏輯一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序…存入ROM二、微程序控制單元框圖及工作原理1.機(jī)器指令對(duì)應(yīng)的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)LDA操作的微程序?qū)?yīng)STA操作的微程序間址周期微程序中斷周期微程序10.22.微程序控制單元的基本框圖

微地址

形成部件順序邏輯CMAR地址譯碼控制存儲(chǔ)器標(biāo)志CLK下地址CMDR至CPU內(nèi)部和系統(tǒng)總線的控制信號(hào)OPIR順序控制操作控制微指令基本格式10.2二、微程序控制單元框圖及工作原理M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)

LDA操作的微程序?qū)?yīng)STA

操作的微程序間址周期微程序中斷周期微程序M+1M+2P+1P+2K+1K+2MM轉(zhuǎn)執(zhí)行周期微程序…轉(zhuǎn)取指周期微程序…10.2×××3.工作原理LDAXADDYSTAZ主存STP用戶程序10.2控存M+1MM+2P+1QQ+2PP+2Q+1…取指周期

微程序?qū)?yīng)

LDA操作的微程序?qū)?yīng)ADD

操作的微程序Q+1Q+2MM+1M+2P+1P+2M………對(duì)應(yīng)STA

操作的微程序K+1K+2MKK+2K+1×××3.工作原理(1)取指階段MCMARCM(CMAR)CMDR由CMDR發(fā)命令形成下條微指令地址Ad(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令M+1M+2PCMAR1RM(MAR)MDR(PC)+1PCMDRIR100001M+1M…010010M+2M+1…形成下條微指令地址執(zhí)行取指微程序10.20010000M+2…×××(2)執(zhí)行階段CM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令A(yù)d(CMDR)CMARCM(CMAR)CMDR由CMDR發(fā)命令OP(IR)微地址形成部件

CMAR(PCMAR)Ad(CMDR)CMARAd(IR)MAR1RM(MAR)MDRMDRAC00000010P+2…M執(zhí)行LDA微程序形成下條微指令地址P+1形成下條微指令地址P+2形成下條微指令地址M(MCMAR)01000P+2P+1…0001001P+1P…10.2(3)取指階段CM(CMAR)CMDR由CMDR發(fā)命令MCMARPCMAR1R全部微指令存在CM中,程序執(zhí)行過程中只需讀出關(guān)鍵微指令的操作控制字段如何形成微操作命令微指令的后續(xù)地址如何形成執(zhí)行取指微程序…10.2100

001M+1M…三、微指令的編碼方式(控制方式)1.直接編碼(直接控制)方式在微指令的操作控制字段中,

每一位代表一個(gè)微操作命令速度最快下地址…控制信號(hào)操作控制某位為“1”表示該控制信號(hào)有效10.22.字段直接編碼方式將微指令的控制字段分成若干“段”,每段經(jīng)譯碼后發(fā)出控制信號(hào)每個(gè)字段中的命令是互斥的譯碼…譯碼…譯碼…下地址操作控制控制信號(hào)縮短了微指令字長(zhǎng),增加了譯碼時(shí)間微程序執(zhí)行速度較慢10.2顯式編碼3.字段間接編碼方式4.混合編碼直接編碼和字段編碼(直接和間接)混合使用5.其他…字段1…字段2譯碼譯碼譯碼…操作控制控制信號(hào)…字段n下地址……控制信號(hào)10.2隱式編碼四、微指令序列地址的形成1.微指令的下地址字段指出2.根據(jù)機(jī)器指令的操作碼形成3.增量計(jì)數(shù)器4.分支轉(zhuǎn)移(CMAR)+1CMAR轉(zhuǎn)移地址操作控制字段

轉(zhuǎn)移方式轉(zhuǎn)移方式指明判別條件轉(zhuǎn)移地址指明轉(zhuǎn)移成功后的去向10.25.通過測(cè)試網(wǎng)絡(luò)6.由硬件產(chǎn)生微程序入口地址第一條微指令地址由專門硬件產(chǎn)生中斷周期由硬件產(chǎn)生中斷周期微程序首地址非測(cè)試地址h測(cè)試地址l測(cè)試網(wǎng)絡(luò)……測(cè)試源微指令地址CMDR操作控制順序控制HL10.27.后續(xù)微指令地址形成方式原理圖地址選擇+1CMAR地址譯碼下地址轉(zhuǎn)移方式CMDR控制存儲(chǔ)器…控制信號(hào)

分支

邏輯…標(biāo)志微程序入口10.2OPIR

微地址

形成部件

多路選擇五、微指令格式1.水平型微指令如直接編碼、字段直接編碼、字段間接編碼、直接和字段混合編碼2.垂直型微指令類似機(jī)器指令操作碼的方式一次能定義并執(zhí)行多個(gè)并行操作由微操作碼字段規(guī)定微指令的功能10.23.兩種微指令格式的比較(1)水平型微指令比垂直型微指令并行操作能力強(qiáng)

靈活性強(qiáng)(2)

水平型微指令執(zhí)行一條機(jī)器指令所要的微指令數(shù)目少,速度快(3)

水平型微指令用較短的微程序結(jié)構(gòu)換取較長(zhǎng)的微指令結(jié)構(gòu)(4)

水平型微指令與機(jī)器指令差別大10.2六、靜態(tài)微程序設(shè)計(jì)和動(dòng)態(tài)微程序設(shè)計(jì)靜態(tài)微程序無須改變,采用ROM動(dòng)態(tài)通過改變微指令和微程序改變機(jī)器指令,有利于仿真,采用

EPROM七、毫微程序設(shè)計(jì)1.毫微程序設(shè)計(jì)的基本概念微程序設(shè)計(jì)用微程序解釋機(jī)器指令毫微程序設(shè)計(jì)用毫微程序解釋微程序毫微指令與微指令的關(guān)系好比微指令與機(jī)器指令的關(guān)系10.22.

毫微程序控制存儲(chǔ)器的基本組成

控制存儲(chǔ)器(微程序)CMAR1MOPOP轉(zhuǎn)移地址垂直型微指令I(lǐng)R+1CMDR1CMAR2

控制存儲(chǔ)器(毫微程序)水平型微指令…控制信號(hào)CMDR210.2八、串行微程序控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論