《中央處理機(jī)組織》PPT課件.ppt_第1頁
《中央處理機(jī)組織》PPT課件.ppt_第2頁
《中央處理機(jī)組織》PPT課件.ppt_第3頁
《中央處理機(jī)組織》PPT課件.ppt_第4頁
《中央處理機(jī)組織》PPT課件.ppt_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6章 中央處理機(jī)組織,6.1CPU的結(jié)構(gòu)與功能 6.2組合邏輯控制與PLA控制 6.3微程序控制,6.1.1 CPU的組成與操作,ALU及所有的CPU寄存器通過一條公共總線連接起來,又稱內(nèi)部總線。存儲(chǔ)器總線經(jīng)由存儲(chǔ)器數(shù)據(jù)寄存器MDR和存儲(chǔ)器地址寄存器MAR連到CPU。 寄存器R0 到R(n-1):通用寄存器 寄存器Y和Z:臨時(shí)存儲(chǔ)。 指令寄存器IR和指令譯碼器:,6.1.1 CPU的組成與操作,PC:程序計(jì)數(shù)器,存放即將執(zhí)行的指令地址 IR:指令寄存器,暫時(shí)存放指令代碼 MAR:存儲(chǔ)器地址寄存器,存放訪問內(nèi)存時(shí)的地址 MDR:存儲(chǔ)器數(shù)據(jù)寄存器,存放和內(nèi)存之間傳送的數(shù)據(jù) R0R(n-1):CP

2、U內(nèi)的數(shù)據(jù)寄存器 Y:ALU輸入端的暫存器 Z:ALU輸出端的暫存器 ALU:算術(shù)邏輯單元,完成運(yùn)算 M: 主存,存放指令和數(shù)據(jù),6.1.1 CPU的組成與操作,PC部件控制信號 IR部件控制信號 PC+1,PCout -IRin , IRout MAR部件控制信號 MDR部件控制信號 MARin,MARouT -MDRin,MDRout,D Ri部件控制信號 Rin,Rout Y部件控制信號 Z部件控制信號 Yin,Yout -Zin,Zout ALU部件控制信號 +,-,+1 主存控制信號 RM,WM,例6.1寫出指令執(zhí)行的控制信號序列和操作序列,指令mov R2,R1存放在主存中,完成讀

3、指、分析指令、執(zhí)行指令的過程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R1-R2 信號序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R1out,R2in,例6.2寫出指令執(zhí)行的控制信號序列和操作序列,指令mov 20h,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:IR中操作數(shù)部分-MAR-M R2-MDR-M 信號序列: 取指令:PCo

4、ut,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:IRout,MARin,MARout R2out,MDRin,D,MDRout,WM,例6.3寫出指令執(zhí)行的控制信號序列和操作序列,指令A(yù)DD R1,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R2-Y R1-ALU,Y-ALU, ALU-Z Z-R1 信號序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1

5、 分析指令:IRout 執(zhí)行指令:R2out,Yin R1out,Yout,+,Zin Zout,R1in,例6.4寫出指令執(zhí)行的控制信號序列和操作序列,指令MOV R1,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R2-MAR-M-MDR MDR-R1 信號序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R2out,MARin,MARout,RM,MDRin,D MDRout,D,R1in,

6、例6.5根據(jù)CPU硬件,完成程序執(zhí)行,已知cpu 組成結(jié)構(gòu)如圖 其中IR為1個(gè)字節(jié)長度 已知指令系統(tǒng)中部分指令定義為 mov R0,#data;功能data-R0,編碼6c,data mov R1,R0; 功能(R0)-R1,編碼2c add R1,R0 ;功能R1+R0-R1,編碼0c mov R0,R1;功能R1-(R0),編碼8f,例6.5根據(jù)CPU硬件,完成程序執(zhí)行,下面程序已經(jīng)放在內(nèi)存0單元開始部分,pc已置0 mov R0,#7 mov R1,R0 add R1,R0 mov R0,R1 在硬件上完成程序(取指-譯碼-執(zhí)行指令)寫出操作序列和控制信號序列 演示6-1.swf,操作序

7、列和信號序列,MOV R0,#7 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:PC-MAR-M-MDR MDR-R0,PC 信號序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D.R0in,PC+1,操作序列和信號序列,MOV R1,R0 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R0-MAR-M M-MDR-R1

8、信號序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R0out,MARin,MARout,RM,MDRin,D MDRout,D.R1in,操作序列和信號序列,MOV R1,R0 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R0-R1 信號序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R0out,R1in,操作序列和信號序列,MOV R0,R1

9、操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R0-MAR-M R1-MDR-M 信號序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R0out,MARin,MARout, R1out,MDRin,D,MDRout,D,WM,6.1.3 CPU控制流程,計(jì)算機(jī)進(jìn)行信息處理的過程就是不斷地取指令、分析指令和執(zhí)行指令這樣一個(gè)周而復(fù)始的過程。 CPU控制流程由以下幾步完成: 取指令:由程序計(jì)數(shù)器(PC)指出當(dāng)前指令地址,通過執(zhí)行“MAR一(PC)”和“

10、Read”命令,從主存中取出指令。,6.1.3 CPU控制流程,分析指令:或稱解釋指令、指令譯碼等。對取出的指令進(jìn)行分析,指出它執(zhí)行什么操作,產(chǎn)牛相應(yīng)的操作控制信號。如果參與操作的數(shù)據(jù)在主存中,則還需要形成操作數(shù)地址。 執(zhí)行指令:根據(jù)指令分析得到的“操作命令”和“操作數(shù)地址”,按一定的算法形成相應(yīng)的操作控制命令序列,通過運(yùn)算器、存儲(chǔ)器及外部設(shè)備的具體執(zhí)行,實(shí)現(xiàn)每條指令的功能。 對異常情況和某些請求的處理,CPU控制流程圖,6.1.4控制器的組成,6.1.4控制器的組成,程序計(jì)數(shù)器PC: 又稱指令計(jì)數(shù)器或指令指針,在某些機(jī)器中用來存放正在執(zhí)行的指令地址,大多數(shù)機(jī)器中存放要執(zhí)行的下一條指令的地址

11、指令寄存器IR: 用來存放現(xiàn)行指令 指令譯碼器: 又稱操作碼譯碼器,對指令寄存器中操作碼部分進(jìn)行分析解釋,產(chǎn)生相應(yīng)的控制信號 脈沖源及啟??刂凭€路: 脈沖源產(chǎn)生一定頻率的脈沖信號作為整個(gè)機(jī)器的時(shí)鐘脈沖。啟停線路則是在需要的時(shí)候保證可靠地開放或封鎖時(shí)鐘脈沖,控制時(shí)序信號的發(fā)生與停止,實(shí)現(xiàn)對機(jī)器的啟動(dòng)和停機(jī)。,6.1.4控制器的組成,時(shí)序信號產(chǎn)生部件 以時(shí)鐘脈沖為基礎(chǔ),具體產(chǎn)生不同指令相對應(yīng)的周期、節(jié)拍、工作脈沖等時(shí)序信號 操作控制信號形成部件 綜合時(shí)序信號、指令譯碼信息、被控功能部件反饋狀態(tài)信號等,形成不同指令的控制信號序列 中斷機(jī)構(gòu):對異常情況和外來請求處理 總線控制邏輯:實(shí)現(xiàn)對總線信息傳輸?shù)?/p>

12、控制,62組合邏輯控制與PLA控制,通過邏輯電路直接產(chǎn)生控制信號:基于時(shí)鐘信號CLK驅(qū)動(dòng)的計(jì)數(shù)器來控制每個(gè)控制步。 控制步計(jì)數(shù)器內(nèi)容(時(shí)序信號) 指令寄存器的內(nèi)容 條件碼和其他狀態(tài)標(biāo)志的內(nèi)容,簡化的組合邏輯控制器,例6.6組合邏輯控制信號產(chǎn)生電路,Cpu中使Z寄存器輸入門接通的Zin信號在以下情況產(chǎn)生:所有指令的T1時(shí)間段,加法指令的T6時(shí)間段,轉(zhuǎn)移指令的T5時(shí)間段。設(shè)計(jì)Zin的控制信號產(chǎn)生電路 Zin=T1+T6 ADD+T5 BR+,62組合邏輯控制與PLA控制,組合邏輯控制器的設(shè)計(jì)要用大量的邏輯門電路,按一定規(guī)則組合成一個(gè)邏輯網(wǎng)絡(luò),從而產(chǎn)生各機(jī)器指令的控制信號序列,設(shè)計(jì)過程的步驟 根據(jù)給

13、定CPU結(jié)構(gòu)及指令功能,排列出每條指令的操作控制步序列 確定機(jī)器的狀態(tài)周期、節(jié)拍和工作脈沖 列出每個(gè)操作控制信號的邏輯表達(dá)式。所有操作控制信號的邏輯表達(dá)式組成了編碼器,63微程序控制,微程序控制技術(shù)是通過類似于機(jī)器語言程序的一種方法來產(chǎn)生控制信號的。 微程序設(shè)計(jì)的思想給計(jì)算機(jī)控制部件的設(shè)計(jì)和實(shí)現(xiàn)技術(shù)帶來了巨大的影響。它與組合邏輯的控制方法相比,大大減少了控制器的復(fù)雜性和非標(biāo)準(zhǔn)化程度,從而把硬件的用量限制在很小范圍內(nèi)。由于全部機(jī)器指令的執(zhí)行過程都用微程序控制,便提供了很大的靈活性,使得設(shè)計(jì)的變更、修改以及指令系統(tǒng)的擴(kuò)充都成為不太困難的事情。,63微程序控制,由于微程序相對固定,且通常不放在主存內(nèi)

14、,故有可能利用工作速度較高的ROM存放微程序,從而縮短微程序的運(yùn)行時(shí)間。這是一種固化了的微程序,稱為固件。 缺點(diǎn)是比相同或相近半導(dǎo)體技術(shù)的硬布線式控制器(如PLA)慢一些。因此當(dāng)代大部分計(jì)算機(jī)采用硬布線式控制器。,6.3.2 基本概念,1基本術(shù)語 一條指令的功能是通過執(zhí)行一系列操作控制步完成的。這些控制步中的基本操作被稱為微操作。 微命令是微操作的控制信號,而微操作是微命令的操作過程。 可以同時(shí)執(zhí)行的一組微操作組成一條微指令,它完成一個(gè)基本運(yùn)算或傳送功能,6.3.2 基本概念,完成指定任務(wù)的微指令序列稱為微程序。一條機(jī)器指令其功能可由一段微程序解釋完成。 微程序存儲(chǔ)器(控制存儲(chǔ)器):存放計(jì)算機(jī)

15、指令系統(tǒng)所對應(yīng)的所有微程序的一個(gè)專門存儲(chǔ)器。 微程序控制的基本思想是把機(jī)器指令的每一操作控制步編成一條微指令。每條機(jī)器指令對應(yīng)一段微程序。當(dāng)執(zhí)行機(jī)器指令時(shí),只要從控制存儲(chǔ)器中順序取出這些微指令,即可按所要求的次序產(chǎn)生相應(yīng)的操作控制信號。,6.3.2 基本概念,2微程序控制器 微程序計(jì)數(shù)器uPC:將根據(jù)指令的內(nèi)容,生成微程序的入口地址放入中。 uPC自動(dòng)增值,依次從微程序存儲(chǔ)器中讀出一條條微指令。 微指令寄存器uIR,存放控制存儲(chǔ)器中的微指令,譯碼后產(chǎn)生一系列微命令。,微程序控制器工作流程(演示6-2.swf),CPU工作就是不斷地取出指令和執(zhí)行指令的過程,取指令的微操作序列是相同的。微程序控制

16、器的工作流程就是不斷地執(zhí)行取指令的微程序和執(zhí)行相應(yīng)功能指令的微程序。,3微程序控制器工作流程,6.3.3 微指令的格式與編碼,微指令格式大體上可分為兩種:水平型微指令和垂直型微指令. 水平型微指令能最大限度地表示微操作的并行性,但需要使用較長的代碼,少則幾十位,多則上百位。較長的代碼能充分利用硬件并行性所帶來速度上的潛在優(yōu)勢,也使微程序中所包含的微指令條數(shù)減至最少,所以適用于要求較高速度的場合。但是,一般說來,水平型微指令的碼空間利用率較低,并且編制最佳水平微程序難度較大。,6.3.3 微指令的格式與編碼,垂直型微指令采用短格式,一條微指令只能控制一、二個(gè)微操作,其格式與普通機(jī)器指令相仿,設(shè)有

17、微操作碼字段,由微操作碼確定微指令的功能。它所包含的地址碼用來指定微操作數(shù)所在的寄存器地址或微指令轉(zhuǎn)移地址,也可表示立即數(shù)或標(biāo)志碼等。采用垂直型微指令編寫的微程序稱垂直微程序。,6.3.3 微指令的格式與編碼,常用的微命令編碼方法: 1)直接表示法。在微指令的微命令字段中,每個(gè)二進(jìn)制位表示一個(gè)微命令而一條微指令是否發(fā)出某個(gè)微命令則由對應(yīng)的位是“l(fā)”還是“0”來確定。很顯然,這種方法直觀、不必譯碼、控制電路簡單、速度快。但是,通常微命令的個(gè)數(shù)很多,使得微指令字長多達(dá)幾百位,實(shí)現(xiàn)上非常困難。,6.3.3 微指令的格式與編碼,2)字段直接編碼法: 把微指令中相容的微命令(即在一條微指令中可能同時(shí)出現(xiàn)

18、的微命令)分配在不同字段,而將那些相斥的微命令(即在一條微指令中不可能同時(shí)出現(xiàn)的微命令)組合在一起,編成一個(gè)字段。每個(gè)小字段分別編碼,每個(gè)碼表示一個(gè)微命令。在微命令字段中所包含的小字段數(shù)目,是在一條微指令中最多可同時(shí)發(fā)出微命令的個(gè)數(shù),例6.7對單總線CPU,采用直接表示法設(shè)計(jì)微指令,CPU中有42個(gè)控制信號,采用直接表示法,則微指令有42位,每位對應(yīng)1位控制信號。 微指令格式為,例6.7對單總線CPU,采用直接表示法設(shè)計(jì)微指令,指令A(yù)DD R3,R1的微程序?yàn)?例6.8對單總線CPU,采用編碼法設(shè)計(jì)微指令,42個(gè)控制信號中大多數(shù)不可能同時(shí)發(fā)生,許多信號是互斥的,這樣可以把控制信號分組,那些互斥

19、的分在同一組,在一條微指令中每組只能有1個(gè)操作信號有效,經(jīng)過編碼后只有20位了。,例6.9水平型字段編碼微指令示例,計(jì)算機(jī)的微指令中有10個(gè)字段c0-c9,每個(gè)字段可激活的控制信號如下表, (1) 采用字段直接編碼法,微指令長度是多少? (2)若改為水平型直接表示,微指令長度是多少?,例6.9水平型字段編碼微指令示例,(1)每個(gè)字段譯碼后要能控制所有信號,并留1個(gè)碼字表示該字段的任何信號都不激活,則字段長度n:2n字段控制的信號數(shù) 3+3+2+4+4+5+3+1+4+5=34 (2)水平型直接表示法,則每個(gè)控制信號占微指令中1位,所以 4+4+3+11+9+16+7+1+8+22=85,例6.

20、10字段編碼微指令示例,某計(jì)算機(jī)有5條微指令,每條微指令發(fā)出的控制信號如表,設(shè)計(jì)微指令編碼,使微指令長度最短,例6.10字段編碼微指令示例,微指令編碼最短,則要找出相同、相容、相斥的信號 相同信號:a=f,b=g,c=h,d=i,e=j 相斥信號:(a,b,c,d,e),(f,g,h,i,j) 格式:A|B|C|D|E 5位 A=0,a,f信號無效,A=1,a,f信號同時(shí)有效 B=0, b,g信號無效, B=1, b,g信號同時(shí)有效 C=0,c,h信號無效, C=1,c,h信號同時(shí)有效 D=0, d,i信號無效, D=1,d,i信號同時(shí)有效 E=0, e,j信號無效 , E =1,e,j信號同

21、時(shí)有效 對ABCDE5個(gè)信號進(jìn)行編碼 X(3位) 000:A有效 001:B有效 010:C有效 011:D有效 100:E有效 101:都無效,例6.11字段編碼微指令示例,某計(jì)算機(jī)有5條微指令,每條微指令發(fā)出的控制信號如表,設(shè)計(jì)微指令編碼,使微指令長度最短,例6.11字段編碼微指令示例,相同信號:c=g=i,b=h, 相斥信號:(b,i),(e,j),(b,c),(i,f),(g,d),(b,g),(b,j) 微指令格式: a|(b/h)(c/g/i)|d|ej|f| a|bc|gd|ej|if,微指令地址生成,微指令地址生成是指如何獲得下一條微指令的地址.可以有3種方法 由IR指令寄存器

22、中的代碼確定對應(yīng)微程序的起始地址 由前一微指令地址順序產(chǎn)生下一順序地址 根據(jù)當(dāng)前微指令、條件標(biāo)志、指令寄存器內(nèi)容,產(chǎn)生下一微指令的地址,微指令地址生成,常用的微指令地址生成技術(shù)有 計(jì)數(shù)器法:順序產(chǎn)生微指令地址。uPC有加1功能。 下址字段法:在微指令中設(shè)置一個(gè)專門的地址字段用以指出下一條微指令的地址。,例6.12根據(jù)CPU硬件和指令系統(tǒng),設(shè)計(jì)微程序控制器,在單總線CPU中,用一條總線連接IR,MAR,MDR,R0R7,ALU輸入寄存器為Y,輸出寄存器為Z。 計(jì)算機(jī)指令有 ADD R3,R1,R2 ;R3R1+R2 LOAD MEM,R1 ; R1 MEM STORE MEM,R1 ; MEM R1 JMP #A ;PCPC+A 已知四條指令的操作碼為00,01,10,11,ADD R3,R1,R2指令的控制序列,T1:PCOUT,MARIN,PC+1,READ T2:MDROUT,IRIN, T3:R1OUT,YIN, T4:R2OUT,ZIN,ADD T5:ZOUT,R3IN,LOAD MEM,R1控制序列,T1:PCOUT,MARIN,PC+1,READ T2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論