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

下載本文檔

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

文檔簡(jiǎn)介

1、第6章 中央處理機(jī)組織,6.1CPU的結(jié)構(gòu)與功能 6.2組合邏輯控制與PLA控制 6.3微程序控制,6.1.1 CPU的組成與操作,ALU及所有的CPU寄存器通過(guò)一條公共總線(xiàn)連接起來(lái),又稱(chēng)內(nèi)部總線(xiàn)。存儲(chǔ)器總線(xiàn)經(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ǔ)器地址寄存器,存放訪(fǎng)問(wèn)內(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部件控制信號(hào) IR部件控制信號(hào) PC+1,PCout -IRin , IRout MAR部件控制信號(hào) MDR部件控制信號(hào) MARin,MARouT -MDRin,MDRout,D Ri部件控制信號(hào) Rin,Rout Y部件控制信號(hào) Z部件控制信號(hào) Yin,Yout -Zin,Zout ALU部件控制信號(hào) +,-,+1 主存控制信號(hào) RM,WM,例6.1寫(xiě)出指令執(zhí)行的控制信號(hào)序列和操作序列,指令mov R2,R1存放在主存中,完成讀

3、指、分析指令、執(zhí)行指令的過(guò)程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R1-R2 信號(hào)序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 執(zhí)行指令:R1out,R2in,例6.2寫(xiě)出指令執(zhí)行的控制信號(hào)序列和操作序列,指令mov 20h,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過(guò)程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:IR中操作數(shù)部分-MAR-M R2-MDR-M 信號(hào)序列: 取指令: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寫(xiě)出指令執(zhí)行的控制信號(hào)序列和操作序列,指令A(yù)DD R1,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過(guò)程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R2-Y R1-ALU,Y-ALU, ALU-Z Z-R1 信號(hào)序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1

5、 分析指令:IRout 執(zhí)行指令:R2out,Yin R1out,Yout,+,Zin Zout,R1in,例6.4寫(xiě)出指令執(zhí)行的控制信號(hào)序列和操作序列,指令MOV R1,R2存放在主存中,完成讀指、分析指令、執(zhí)行指令的過(guò)程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R2-MAR-M-MDR MDR-R1 信號(hào)序列: 取指令: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é)長(zhǎng)度 已知指令系統(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單元開(kāi)始部分,pc已置0 mov R0,#7 mov R1,R0 add R1,R0 mov R0,R1 在硬件上完成程序(取指-譯碼-執(zhí)行指令)寫(xiě)出操作序列和控制信號(hào)序列 演示6-1.swf,操作序

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

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

9、操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 執(zhí)行指令:R0-MAR-M R1-MDR-M 信號(hào)序列 取指令 :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)行信息處理的過(guò)程就是不斷地取指令、分析指令和執(zhí)行指令這樣一個(gè)周而復(fù)始的過(guò)程。 CPU控制流程由以下幾步完成: 取指令:由程序計(jì)數(shù)器(PC)指出當(dāng)前指令地址,通過(guò)執(zhí)行“MAR一(PC)”和“

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

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

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

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

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

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

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

17、微操作碼字段,由微操作碼確定微指令的功能。它所包含的地址碼用來(lái)指定微操作數(shù)所在的寄存器地址或微指令轉(zhuǎn)移地址,也可表示立即數(shù)或標(biāo)志碼等。采用垂直型微指令編寫(xiě)的微程序稱(chēng)垂直微程序。,6.3.3 微指令的格式與編碼,常用的微命令編碼方法: 1)直接表示法。在微指令的微命令字段中,每個(gè)二進(jìn)制位表示一個(gè)微命令而一條微指令是否發(fā)出某個(gè)微命令則由對(duì)應(yīng)的位是“l(fā)”還是“0”來(lái)確定。很顯然,這種方法直觀、不必譯碼、控制電路簡(jiǎn)單、速度快。但是,通常微命令的個(gè)數(shù)很多,使得微指令字長(zhǎng)多達(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對(duì)單總線(xiàn)CPU,采用直接表示法設(shè)計(jì)微指令,CPU中有42個(gè)控制信號(hào),采用直接表示法,則微指令有42位,每位對(duì)應(yīng)1位控制信號(hào)。 微指令格式為,例6.7對(duì)單總線(xiàn)CPU,采用直接表示法設(shè)計(jì)微指令,指令A(yù)DD R3,R1的微程序?yàn)?例6.8對(duì)單總線(xiàn)CPU,采用編碼法設(shè)計(jì)微指令,42個(gè)控制信號(hào)中大多數(shù)不可能同時(shí)發(fā)生,許多信號(hào)是互斥的,這樣可以把控制信號(hào)分組,那些互斥

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

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

21、時(shí)有效 對(duì)ABCDE5個(gè)信號(hào)進(jìn)行編碼 X(3位) 000:A有效 001:B有效 010:C有效 011:D有效 100:E有效 101:都無(wú)效,例6.11字段編碼微指令示例,某計(jì)算機(jī)有5條微指令,每條微指令發(fā)出的控制信號(hào)如表,設(shè)計(jì)微指令編碼,使微指令長(zhǎng)度最短,例6.11字段編碼微指令示例,相同信號(hào):c=g=i,b=h, 相斥信號(hào):(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、中的代碼確定對(duì)應(yīng)微程序的起始地址 由前一微指令地址順序產(chǎn)生下一順序地址 根據(jù)當(dāng)前微指令、條件標(biāo)志、指令寄存器內(nèi)容,產(chǎn)生下一微指令的地址,微指令地址生成,常用的微指令地址生成技術(shù)有 計(jì)數(shù)器法:順序產(chǎn)生微指令地址。uPC有加1功能。 下址字段法:在微指令中設(shè)置一個(gè)專(zhuān)門(mén)的地址字段用以指出下一條微指令的地址。,例6.12根據(jù)CPU硬件和指令系統(tǒng),設(shè)計(jì)微程序控制器,在單總線(xiàn)CPU中,用一條總線(xiàn)連接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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論