第9章控制單元的組成原理._第1頁
第9章控制單元的組成原理._第2頁
第9章控制單元的組成原理._第3頁
第9章控制單元的組成原理._第4頁
第9章控制單元的組成原理._第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第九章第九章 控制單元的組控制單元的組成原理成原理張向東計算機科學與技術系 控制單元是CPU的一部分,計算機無論完成什么任務,都是在控制單元控制下完成的。CU向CPU外部發(fā)出控制信號,以命令CPU與存儲器和I/O模塊交換數(shù)據(jù),控制單元也向CPU內部發(fā)送控制信號,以完成寄存器間數(shù)據(jù)傳送,使ALU完成指定的功能以及其他內部操作。 該模型表示了控制單元的輸入和輸出信號之間的關系。輸入信號有:時序:CPU的所有工作都按一定的時間關系有序安排。 9.1 控制單元模型圖9-1 控制單元模型指令寄存器指令寄存器控制單元(CU)系統(tǒng)總線CPUCPU的控制的控制信號信號來自總線控制信號來自總線控制信號至總線控制

2、信號至總線控制信號標標志志時時序序來自指令操作碼來自指令操作碼(OP)譯碼器的)譯碼器的輸出輸出Im; 來自時序產生器的來自時序產生器的時序信號,包括節(jié)時序信號,包括節(jié)拍電位信號拍電位信號M和節(jié)和節(jié)拍脈沖信號拍脈沖信號T 來自執(zhí)行部件的來自執(zhí)行部件的反饋信息反饋信息Bj 邏輯網絡邏輯網絡N的輸出信號的輸出信號就是就是微操作控制信號,它用來微操作控制信號,它用來對執(zhí)行部件進行控制。對執(zhí)行部件進行控制。 指令寄存器:當前指令的操作碼-確定指令完成何種微操作。標志:標志決定CPU發(fā)出哪些控制信號,例如,對“增量若為0跳步”指令來說,CU據(jù)零標志是否置位確定PC是否加1。來自系統(tǒng)總線的控制信號:系統(tǒng)的

3、控制線部分向CU提供,如中斷信號和存儲器的操作完成信號等。輸出信號有:CPU內的控制信號:包括用于寄存器之間傳送數(shù)據(jù)和用于指定ALU的功能兩類。 到控制總線的控制信號:有存儲器的控制信號和對I/O模塊的控制信號。這里的控制信號即微操作控制信號,這些控制信號作為二進制輸入量直接送到各個邏輯門上。例如取指令操作包括兩步:第一步將程序計數(shù)器PC的內容傳送到主存的地址寄存器MAR;第二步由存儲器讀一個字裝入IR,并且PC增1。 M D RPC M A RIRACCU時鐘時鐘ALUC1C2C5C9C0C10C3C7C4C6C12C11C8控制信號控制信號標志標志控制控制信號信號圖圖9-2 9-2 一個簡

4、單的數(shù)據(jù)通路一個簡單的數(shù)據(jù)通路C C4 4 對于圖9-2所示的數(shù)據(jù)通路結構,CU需發(fā)出下面的微操作控制信號來完成取指令工作。(1)打開PC各位與MAR各位之間的門C0。(2)一個開門信號以允許MAR的內容送到地址總線上C1。(3)一個存儲器的讀控制信號送到控制總線上-CR。(4)一個允許數(shù)據(jù)總線上的內容被存入MDR的開門信號C2。(5)對PC內容加1,并返存PC控制信號-C10。(6)打開MDR和IR之間門的控制信號C3。CU是CPU中的最主要的組成部分,后面將討論CU的組成和設計。 對于圖9-2所示的數(shù)據(jù)通路結構,CU需發(fā)出下面的微操作控制信號來完成取指令工作。(1)打開PC各位與MAR各位

5、之間的門C0。(2)一個開門信號以允許MAR的內容送到地址總線上C1。(3)一個存儲器的讀控制信號送到控制總線上-CR。(4)一個允許數(shù)據(jù)總線上的內容被存入MDR的開門信號C2。(5)對PC內容加1,并返存PC控制信號-C10。(6)打開MDR和IR之間門的控制信號C3。CU是CPU中的最主要的組成部分,后面將討論CU的組成和設計。 ADD X的控制取指C0、C1、C2、C3、C4MDRPCIRACCALUCUMARflagclkC013 、 ALUopC2C1C3C4C5C12C7C6C8C11C9C10C0C13ALUopADD X的控制間址C5、C1、C2、C3,得到EAMDRPCIRA

6、CCALUCUMARflagclkC013 、 ALUopC2C1C3C4C5C12C7C6C8C11C9C10C0C13ALUopADD X的控制執(zhí)行取數(shù):C5、C1、C2計算:C6、C7寫回:C8MDRPCIRACCALUCUMARflagclkC013 、 ALUopC2C1C3C4C5C12C7C6C8C11C9C10C0C13ALUop9.2 指令執(zhí)行的過程中的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)PC oNext command 9.2.1 計算機的總體結構圖9-3為一簡單計算機的總體結構,主要是數(shù)據(jù)通路結構。假設機器字長16位

7、,采用單總線結構,CPU、主存和外設都掛在總線上。 1部件設置1)CPU運算部件ALU-算/邏單元LT-暫存器LA-鎖存器寄存的組織(16位)R0R7-可編程寄存器,SR-源操作數(shù)寄存器,Z、Y-暫存器(指令執(zhí)行過程暫存數(shù)據(jù)),PC-程序計數(shù)器,MAR-存儲器地址寄存器,MDR-存儲器緩沖寄存器,IR-指令寄存器。控制單元(CU)輸入有指令譯碼器和時序,輸出為微操作控制信號,引向各個控制點。2)主存儲器按字編址,字長16位,容量64KW。接收CU送來的RD/WR,存儲器完成操作后為CPU回答MOC信號。3)總線總線由16位數(shù)據(jù)線,16位地址線和若干位控制線組成。不僅CPU與主存之間交換信息要通

8、過總線,而且CPU內部信息傳送也要通過總線完成。圖中表示信息傳送方向。基本構成基本構成:控制器,運算器,控制器,運算器,寄存器,數(shù)據(jù)通路寄存器,數(shù)據(jù)通路寄存器的類型寄存器的類型:指令寄存器指令寄存器(IR)(IR)程序計數(shù)器程序計數(shù)器(PC)(PC)數(shù)據(jù)寄存器數(shù)據(jù)寄存器(MDR)(MDR)地址寄存器地址寄存器(MAR)(MAR)狀態(tài)寄存器狀態(tài)寄存器(SR)(SR)通用寄存器通用寄存器(RiRi)用戶不可見暫存器用戶不可見暫存器(Z Z、Y Y)數(shù)據(jù)通路數(shù)據(jù)通路:單總線結構單總線結構9.2.1 總體結構單總線單總線CPUCPU結構結構2各類信息的傳送路徑指令的執(zhí)行基本上可以歸為信息的傳送即控制流

9、(或指令流)和數(shù)據(jù)流二大信息流。(1)指令MMDRBUSIR(2)地址1)指令地址:PCBUSMAR2)數(shù)據(jù)地址:操作數(shù)地址與轉移地址根據(jù)不同尋址方式的要求決定。如為寄存的間接尋址。則將指定寄存器的內容(R)BUSMAR。3)數(shù)據(jù)寄存器寄存器:經總線直接傳送寄存器存儲器:RiBUSMDRM存儲器寄存器:MMDRBUSRi3設置的微操作控制信號(微命令)下圖標出的控制信號,即為微操作控制信號,它實際控制數(shù)據(jù)通路中的數(shù)據(jù)流和指令流的流向。這些控制信號在本質上是控制數(shù)據(jù)通路的各個控制門的打開或關閉,ALU的實際操作功能、寄存器接收數(shù)據(jù)控制、主存的讀或寫命令等。主機基本組成PCARPCBUSLDAR主

10、機基本組成READ MEMARABUSRDLDDR主機基本組成DRIRDRBUSLDIR執(zhí)行指令過程o ADD R0,(81)執(zhí)行指令過程 ADD R0,(81)IRIRiPCARR0R1R2R3MDRXGYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA總線B總線ALU+-雙總線結構機器的數(shù)據(jù)通路IRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0oR0iR3oR3iXiYiA總線B總線ALU+-執(zhí)行指令GADD R0,R2IRIRiPCARR0R1R2R3MDRXYPCiARiDRiIRoPCoARoRWDRoR0o

11、R0iR3oR3iXiYiGA總線B總線ALU+-單總線結構機器IRIRPCARR0R1R2R3MDRXYPCARDRRWR0R3XYA總線+-單總線結構機器操作控制器ALU取指 周期T3周期T4周期T2周期T1執(zhí)行 PCAR譯碼測試MDRDRIRR2YR0XR0+R2R0PCo,G,ARiRW=R DRo,G,IRiR2o,G,YiR0o,G,Xi+, G, R0iCPU周期 9.2.2 指令系統(tǒng)1指令格式指令系統(tǒng)采用定長指令格式,字長16位,格式如下: 15 12 11 9 8 6 5 3 2 0 OPMSRSRDMD其中OP為操作碼,4位,可定義16種操作,M為尋址方式,MS為源操作數(shù)尋

12、址方式,MD為目的操作數(shù)尋址方式,RS為源操作數(shù)寄存器,RD為目的操作數(shù)寄存器。MS、RS配合可確定源操作數(shù),MD、RD配合可確定目的操作數(shù)。2尋址方式其中自增型雙間址是指寄存器的內容不是操作數(shù)的地址,而是操作數(shù)地址的地址,同時要修改寄存器的內容。變址尋址是以指令向下一單元的內容作為位移量與寄存器的內容相加作為操作數(shù)的地址。 M100001000010011名 稱匯編符號含義寄存器尋址寄存器間址自增型寄存器間址自增型雙間址變址尋址R(R)(R)+(R)+ X(R)(R)為操作數(shù)有效地址E=(R)E=(R)且(R)+1 RE=(R)且(R)+1 RE=X+(R)表9-1 尋址方式3操作類型雙操作

13、數(shù)運算指令操作碼 名稱 匯編符號 操作0001 加法 ADD0010 減法 SUB0011 邏輯乘 AND單操作數(shù)運算指令操作碼 名稱 匯編符號操作0100 加1 INC0101 減1 DEC0110 求補 NEG 0111MR不用轉移類指令:無條件轉移:條件轉移:1000MRDNZVC 無條件轉移指令不受任何條件約束,直接把控制轉移到所指定的目的地,從那進而開始執(zhí)行程序。條件轉移指令先測試某個條件,然后根據(jù)所測試的條件來決定是否轉移。 1.指令格式結構如下所示,試分析指令格式特點。 15 12 11 9 8 6 5 3 2 0 寄存器尋址方式 寄存器 尋址方式 OP 源地址 目標地址解:(1

14、)OP字段有4位,指定16種操作; (2)單字長二地址指令; (3)尋址特征位3位,每個操作數(shù)可以指定8種尋址方式,寄存器編址位3位,共可以有8個寄存器; (4)操作數(shù)可以是RR型、RS型、SS型;課堂練習與思考:課堂練習與思考:2.CPU結構如圖B9.1所示,其中有一個累加寄存器AC,一個狀態(tài)條件寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。1.標明圖中四個寄存器的名稱。2.簡述指令從主存取到控制器的數(shù)據(jù)通路。3.簡述數(shù)據(jù)在運算器和主存之間進行存 / 取訪問的數(shù)據(jù)通路。 課堂練習與思考:課堂練習與思考:主存儲器MacbdACALUPSW操作控制器+1CPU解:(1)a為數(shù)據(jù)緩沖

15、寄存器 DR ,b為指令寄存器 IR ,c為主存地址寄存器,d為程序計數(shù)器PC。(2)主存 M 緩沖寄存器 DR 指令寄存器 IR 操作控制器。 (3)存儲器讀 :M DR ALU AC 存儲器寫 :AC DR M 9.2.4 指令操作流程每條指令都可分解為一串操作序列,將這些操作按操作周期歸類合并,并以流程圖的形式畫出,就得到指令的操作流程圖。反過來,有了操作流程圖后,也能非常清晰的了解一條指令的執(zhí)行過程。簡單指令系統(tǒng)的指令操作流程圖如圖9-4所示。 PC MARREAD MMDR IRPC+1 PC(a)圖9-4 指令操作流程(取指令周期)取指周期:每條指令都要經歷的周期是操作。取操作數(shù)周

16、期:要取源操作數(shù)的指令進入此周期。其操作流程與源尋址方式有關。(1)寄存的尋址,RS中的內容為源操作數(shù),將它送入源操作數(shù)寄存器SR;(2)寄存器間接尋址,以RS為地址訪問主存一次,從存儲器中取出源操作數(shù)送入源操作數(shù)寄存器SR;(3)自增型寄存器間址,除了完成上述間址操作外,還要修改RS的內容,經ALU增1再送回RS; (4)變扯尋址,先以PC現(xiàn)行值為地址從存儲器單元取得位移量X,再與RS的內容相加,以相對結果為地址取出操作數(shù)送入源操作數(shù)寄存器SR。此外,PC+1,準備好下一條指令地址。在這個流程中因為要兩次訪問存儲器,所以周期要延遲一次。通過指令流程,將能了解各種尋址方式的實現(xiàn)過程。取目的操作

17、數(shù)周期:需要取目的操作數(shù)的指令進入此周期。取目的操作數(shù)與取源操作數(shù)相似,只是將其送入LA。執(zhí)行周期:所有指令都要進入本周期,根據(jù)指令操作碼決定進行什么操作。通過指令流程的分析可以看出,指令流程受機器結構、指令功能和尋址方式等因素約束,不能任意編造,它是指令在機器內部執(zhí)行的過程的反映。取指令MDRLARsMARRs+1RsREAD MMDRSRRDMARRD+1RDREAD MMDRLARDLAREAD MRS+LAMARMDRSRREAD MMDRLAPCMARPC+1PCREAD MMDRLAREAD MPCMARPC+1PCMDRLAREAD MRDMARMDRSRREAD MRsMARR

18、sSRX(R)(R)+(R)RR(R)(R)+X(R)STDT指令操作流程RD+LAMARLASRBUSENDWRITEBUSMDRSRLABUSSR+LABUSBUSRD指令操作流程接上一張ADDSUBANDETRR指令操作流程DR-1BUSENDWRITEBUSMDRDR+1BUSDR+1BUSBUSR0單操作數(shù)指令INCDECNEGETRR取指令取操作數(shù)指令操作流程ENDWRITERsPCRD+1RDR0PC轉移指令ET(Rn)取指令(Rn)+JMPJMP例例9.19.1加法指令加法指令ADD RADD R0 0,(,(R R1 1)的微操作序列。)的微操作序列。FTFT:P P0 0

19、PCBUS PCBUS,BUSMARBUSMAR,READREAD,CLEARCLEAR,LALA,1C1C0 0,ADDADD,ALULTALULT P P1 1:LTBUSLTBUS,BUSPC(PC+1)PC)BUSPC(PC+1)PC),WAITWAIT P P2 2:MDRBUSMDRBUS,BUSIRBUSIR P P3 3:1ST1ST(取源操作數(shù)周期觸發(fā)器)(取源操作數(shù)周期觸發(fā)器)STST:P P0 0 R R0 0BUSBUS,BUSSRBUSSR P P1 1 空操作空操作 P P2 2 空操作空操作 P P3 3 1DT 1DT (取目的操作數(shù)周期觸發(fā)器)(取目的操作數(shù)周

20、期觸發(fā)器)DTDT:P P0 0 R1BUS R1BUS,BUSMARBUSMAR,READREAD,WAITWAIT P P1 1 MDRBUS MDRBUS,BUSLABUSLA P P2 2 空操作空操作 P P3 3 1ET 1ET (取執(zhí)行周期觸發(fā)器)(取執(zhí)行周期觸發(fā)器)ETET:P P0 0 SRBUS SRBUS,ADDADD,ALULTALULT P P1 1 LTBUS LTBUS,BUSMDRBUSMDR,WRITEWRITE,WAITWAIT P P2 2 空空 P P3 3 END END 例例9.2 9.2 減法指令減法指令SUB (RSUB (R0 0)+,x(R)

21、+,x(R1 1) )的微操作序列。的微操作序列。STARTSTART:FTFT微操作序列同例微操作序列同例9.19.1所示所示STST:P P0 0 R R0 0BUSBUS,BUSMARBUSMAR,READREAD,CLEAR LACLEAR LA,1C1C0 0,ADDADD,ALULTALULT P P1 1 LTBUS LTBUS,BUSRBUSR0 0,WAITWAIT P P2 2 MDRBUS MDRBUS,BUSSRBUSSR P P3 3 1DT 1DTDTDT:P P0 0 PCBUS PCBUS,BUSMARBUSMAR,READREAD,CLEAR LACLEAR

22、LA,1C1C0 0,ADDADD,ALULTALULT P P1 1 LTBUS LTBUS,BUSPC(PC+1)BUSPC(PC+1),WAITWAIT P P2 2 MDRBUS MDRBUS,BUSLABUSLA P P3 3 1DT 1DTDT:PDT:P0 0 R1BUS R1BUS,ADDADD,ALULT ;ALULT ;變址(計算有效地址)變址(計算有效地址) P P1 1 LTBUS LTBUS,BUSMARBUSMAR,READREAD,WAITWAIT P P2 2 MDRBUS MDRBUS,BUSLA BUSLA (取操作數(shù))(取操作數(shù)) P P3 3 1ET 1

23、ETETET:P P0 0 SRBUS SRBUS,SUBSUB,ALULT ALULT (執(zhí)行減法)(執(zhí)行減法) P P1 1 LTBUS LTBUS,BUSMDRBUSMDR,WRITEWRITE,WAIT WAIT (結果存內存)(結果存內存) P P2 2 空操作空操作 P P3 3 END END例例9.3 9.3 轉移指令轉移指令JMPJMP(R R0 0)+ + 的微操作序列的微操作序列STARTSTART:FT FT 微操作序列同例微操作序列同例9.19.1(P3 1ETP3 1ET)ETET:P P0 0 R R0 0BUSBUS,BUSPCBUSPC,CLEAR LACLE

24、AR LA,1C1C0 0,ADDADD,ALULTALULT(R0+1R0+1) P P1 1 LTBUS LTBUS,BUSRBUSR0 0 P P2 2 空操作空操作 P P3 3 END END說明幾點:說明幾點:(1 1)指令的微操作序列是機器所有指令的微操作在各個時序信號上的)指令的微操作序列是機器所有指令的微操作在各個時序信號上的分配,它是指令流程的進一步具體化。安排微操作序列遵循二個規(guī)則:分配,它是指令流程的進一步具體化。安排微操作序列遵循二個規(guī)則:微操作序列的順序必須是恰當?shù)摹@?,微操作序列的順序必須是恰當?shù)摹@?,PCBUSPCBUS,BUSMARBUSMAR,必須,必須

25、先于先于MDRBUSMDRBUS,BUSIRBUSIR,因為存儲器讀操作需使用,因為存儲器讀操作需使用MARMAR地址。地址。不能引起數(shù)據(jù)通路上的信息發(fā)生沖突。例如在一個節(jié)拍內不能兩次往不能引起數(shù)據(jù)通路上的信息發(fā)生沖突。例如在一個節(jié)拍內不能兩次往總線上發(fā)送信息??偩€上發(fā)送信息。(2 2)上述安排方式,目的在于說明由指令操作流程寫出指令的微操作)上述安排方式,目的在于說明由指令操作流程寫出指令的微操作序列的方法,因此,不是最優(yōu)方案。例如,對寄存器尋址方式,因為操作序列的方法,因此,不是最優(yōu)方案。例如,對寄存器尋址方式,因為操作數(shù)已放在寄存器中,微操作序列十分簡單,有的節(jié)拍輪空,出現(xiàn)空操作。數(shù)已放在寄存器中,微操作序列十分簡單,有的節(jié)拍輪空,出現(xiàn)空操作。在實際設計時應避免。在實際設計時應避免。 不同類型指令所需的周期數(shù)可能不同,上述雙操作數(shù)運算指令至少要經過四個周期,單操作指令至少要經過三個周期,轉移指令經過兩個周期。通常一條指

溫馨提示

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

評論

0/150

提交評論