chp5-3_硬布線和微程序控制器1_第1頁
chp5-3_硬布線和微程序控制器1_第2頁
chp5-3_硬布線和微程序控制器1_第3頁
chp5-3_硬布線和微程序控制器1_第4頁
chp5-3_硬布線和微程序控制器1_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1第五章 中央處理器返回2第五章 中央處理器5.1CPU功能和組成5.2指令周期5.3時序產生器5.4微程序控制器及其設計5.5硬布線控制器及其設計5.6傳統CPU5.7流水CPU5.8RISC的CPU5.9多媒體CPU35.6 硬布線控制器硬布線控制器1、實現方法l通過邏輯電路直接連線而產生的,又稱為組合邏輯控制方式2、設計目標l使用最少元件(復雜的樹形網絡)l速度最高45.6 硬布線控制器硬布線控制器3、邏輯原理 (1)邏輯原理圖lC為微操作控制信號Im為譯碼器輸出,Mi為節拍電位,Tk為節拍脈沖,Bj為狀態條件lC由組合電路實現,速度快,但難以修改。(2)指令的執行流程l微程序控制器時序

2、信號簡單。只需要若干節拍脈沖信號即可。l組合邏輯控制器除了節拍脈沖信號外,還需要節拍電位信號。),(jkimBTMIfC返回55.6 硬布線控制器硬布線控制器(3)微操作控制信號產生l在硬聯線控制器中,某一微操作控制信號由布爾代數表達式描述的輸出函數產生。l設計微操作控制信號的方法和過程是,根據所有機器指令流程圖,尋找出產生同一個微操作信號的所有條件,并與適當的節拍電位和節拍脈沖組合,從而寫出其布爾代數表達式并進行簡化,然后用門電路或可編程器件來實現。 65.6 硬布線控制器硬布線控制器4、設計步驟(1)畫出指令流程圖 (2)列出微操作時間表l將指令流程圖中的微操作合理地安排到各個機器周期的相

3、應節拍和脈沖中去;l微操作時間表形象地表明:什么時間、根據什么條件發出哪些微操作信號。75.6 硬布線控制器硬布線控制器(3)進行微操作信號的綜合l當列出所有指令的微操作時間表之后,需要對它們進行綜合分析,把凡是要執行某一微操作的所有條件(哪條指令、哪個機器周期、哪個節拍和脈沖等)都考慮在內,加以分類組合,列出各微操作產生的邏輯表達式,然后加以簡化,使邏輯表達式更為合理。(4)實現電路 l根據整理并化簡的邏輯表達式組,可以用一系列組合邏輯電路加以實現,加根據邏輯表達式畫出邏輯電路圖,用邏輯門電路的組合來實現之,也可以直接根據邏輯表達式,用PLA或其他邏輯電路實現。8 例3根據圖5.29,寫出以

4、下操作控制信號RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的邏輯表達式。其中每個操作控制信號的含義是:lRD(I)指存讀命令lRD(D)數存讀命令lWE(D)數存寫命令lLDPC打入程序計數器lLDIR打入指令寄存器lLDAR打入數存地址寄存器lLDDR打入數據緩沖寄存器lPC+1程序計數器加1lLDR2打入R2寄存器9數據通路圖數據通路圖RD/WRLDDRLDIRLDPCLDARPC+110 圖5.29 硬布線控制器的指令周期流程圖RD(I),LDIR,PC+1, LDPC LDDR,LDR0LDARRD(D)LDDR,LDR1LDDR,LD

5、R2LDARWE(D)LDPC(R1)DR(DR) R0IRARCache(D) DR(DR) R1(R1)+(R2) DR(DR) R2 (R2) Cache(D) Cache(I) IR(PC)+1 PC11進行微操作信號的綜合進行微操作信號的綜合圖5.29中五條指令的微操作控制信號舉例。RD(I) =M1 RD(D) =M3LADWE(D)=M3T3STO PC+1=M1LDPC =M1T4+M2T4JMPLDIR=M1T4 LDAR=M2T4(LAD+STO)LDDR=M2T3(MOV+ADD) +M3T3LADLDR2=M2T4ADDRD(I),LDIR,PC+1, LDPC LDD

6、R,LDR0LDARRD(D)LDDR,LDR1LDARWE(D)LDPCLDDR,LDR2125.4 微程序控制器微程序控制器l發展l微程序的概念和原理是由英國劍橋大學的MVWilkes教授于1951年在曼徹斯特大學計算機會議上首先提出來的,當時還沒有合適的存放微程序的控制存儲器的元件。l到1964年,IBM公司在IBM 360系列機上成功地采用了微程序設計技術。l20世紀70年代以來,由于VLSI技術的發展,推動了微程序設計技術的發展和應用。l目前,從大型機到小型機、微型機都普遍采用了微程序設計技術。135.4 微程序控制器微程序控制器l基本思想:仿照解題的方法,把操作控制信號編制成微指令

7、,存放到控制存儲器里,運行時,從控存中取出微指令,產生指令運行所需的操作控制信號。從上述可以看出,微程序設計技術是用軟件方法來設計硬件的技術。145.4 微程序控制器微程序控制器5.4.1微程序控制原理微程序控制原理 5.4.2微程序設計技術15l基本思想l將微操作序列代碼化,存放于控制存儲器中l執行指令時,依次讀取微指令,產生控制信號指令代碼運行狀態控制存儲器CM微指令存儲器IR微命令序列5.4 微程序控制器微程序控制器核心!核心!16l基本概念和術語l微程序與微程序設計l微指令與微周期l微指令:若干微命令的組合,存放在一個控制存儲器單元中l微周期:讀取一條微指令并執行所需的時間l微命令與微

8、操作l微命令:構成控制信號序列的最小單位l微操作:由微命令控制實現的最基本操作l工作程序與微程序、主存儲器與控制存儲器5.4 微程序控制器微程序控制器175.4.1微程序控制原理 l微命令:控制部件向執行部件發出的各種控制命令叫作微命令,它是構成控制序列的最小單位。l例如:打開或關閉某個控制門的電位信號、某個寄存器的打入脈沖等。l微命令是控制計算機各部件完成某個基本微操作的命令。l微操作:是微命令的操作過程。l微命令和微操作是一一對應的。l微命令是微操作的控制信號,微操作是微命令的操作過程。l微操作是執行部件中最基本的操作。185.4.1微程序控制原理 由于數據通路的結構關系,微操作可分為相容

9、的和互斥的兩種:l互斥的微操作,是指不能同時或不能在同一個節拍內并行執行的微操作。可以編碼l相容的微操作,是指能夠同時或在同一個節拍內并行執行的微操作。必須各占一位1.舉例:見下圖19205.4.1微程序控制原理3、微指令:把在同一CPU周期內并行執行的微操作控制信息,存儲在控制存儲器里,稱為一條微指令(Microinstruction)。l它是微命令的組合,微指令存儲在控制存儲器的一個單元中l一條微指令通常至少包含兩大部分信息:l操作控制字段,又稱微操作碼字段,用以產生某一步操作所需的各個微操作控制信號。某位為1,表明發微指令微指令發出的控制信號都是節拍電位信號,持續時間為一個CPU周期微命

10、令信號還要引入時間控制l順序控制字段,又稱微地址碼字段,用以控制產生下一條要執行的微指令地址。215.4.1微程序控制原理l微指令基本格式測試“操作碼字段”測試“進位標志Cy”225.4.1微程序控制原理4、微程序l一系列微指令的有序集合就是微程序。l一段微程序對應一條機器指令。l下面舉一個十進制加法指令為實例235.4.1微程序控制原理l以十進制加法指令流程l數據通路圖l操作流程圖R2-R3245.4.1微程序控制原理l四條微指令如下000 000 000 000 111111000000000取指令操作信號P1判別010 100 100 100 000000010011010存結果LDR2

11、R1-XR2 - Y+-R325十進制加法指令的微程序十進制加法指令的微程序010 001 001 100 000000100001001存結果LDR2R2 - XR3 - Y+P2判別Cy=0:0001Cy=1:0000010 001 001 001 000000000000001存結果LDR2R2 - XR3 - Y-轉到取指令的公操作-265.4.1微程序控制原理l控制存儲器(CM)。l這是微程序控制器的核心部件,用來存放微程序。其性能(包括容量、速度、可靠性等)與計算機的性能密切相關。5、微程序控制器原理275.4.1微程序控制原理l微指令寄存器(IR)l用來存放從CM取出的正在執行的

12、微指令,它的位數同微指令字長相等。l微地址形成部件l用來產生初始微地址和后繼微地址,以保證微指令的連續執行。l微地址寄存器(MAR) l它接受微地址形成部件送來的微地址,為下一步從CM中讀取微指令作準備。28l微程序控制器的工作過程l取指令周期l轉微程序入口l執行首條微指令CM取指微指令IR微命令字段譯碼器微命令機器指令IR主存IR操作碼微地址形成電路入口ARIRCMIR微命令字段譯碼器微命令操作部件5.4.1微程序控制原理29l微程序控制器的工作過程l取后續微指令l執行后續微指令:同3l返回:微程序執行完,返回CM微地址字段微地址形成電路后續微地址ARIRCM后續微指令現行微地址運行狀態5.

13、4.1微程序控制原理305.4.1微程序控制原理6、CPU周期和微指令周期的關系31機器指令與機器指令與微指令的關系微指令的關系狀態信息32 例 設某計算機運算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發器組成,Q端輸出,其讀、寫控制功能見下表。 寫控制讀控制選擇WA1WA0W選擇RA1RA0R不寫入*0不讀出*0R3111R3111R2011R2011R1101R1101R0001R00013334 機器采用串行微程序控制方式,其微指令周期見上頁圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1s;ALU工作是加法器做加法運

14、算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。 微指令字長12位,微指令格式如下:RA0RA1:讀R0-R3的選擇控制 WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令 W:寄存器寫命令 LDSA:打入SA的控制信號 LDSB:打入SB的控制信號 SB-ALU:傳送SB的控制信號 SB-ALU:傳送SB的控制信號,并使加法器最低位加1. Reset:清暫存器SB為零的信號 :一段微程序結束,轉入取機器指令的控制信號RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset35要求:用二進制代碼寫出如下指令的微程序:(1)

15、“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)36先畫出三條指令的微指令的微程先畫出三條指令的微指令的微程序流程圖,如下圖所示。序流程圖,如下圖所示。 l其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執行周期”,微指令序列的順序用數字標號標在每條微指令的右上角。每一框表示一條微指令。l根據給定的微指令周期時間關系,完成ADD,SUB指令的執行動作需要3條微指令,MOV指令只需2條微指令。用二進制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設置(0或1均可)。

16、 R2SA 0SB37 指令 微程序代碼 ADD 00*10100000 01*10010000 *0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100010 *1101001001RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUResetR2SA 0SB385.4.2 微程序設計技術微程序設計技術一、設計微指令應當追求的目標l有利于縮短微指令的長度l有利于縮小CM的容量l有利于提高微程序的執行速度l有利于對微指令的修改l有利于提高微程序設計的靈活性395.4.2 微程序設計技術微程序設計技術1、微命

17、令的編碼方法編碼有三種方法:直接表示法編碼有三種方法:直接表示法/編碼表示法編碼表示法/混合表示法混合表示法l直接表示法:操作控制字段中的各位分別可以直接控制計算機,不需要進行譯碼。40l直接表示法舉例,操作控制字段的每一個獨立的二進制位代表一個微命令,該位為“1”表示這個微命令有效,為“0”表示這個微命令無效。5.4.2 微程序設計技術微程序設計技術后繼微地址判斷條件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL

18、#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334 微指令格式舉例(TEC_5實驗平臺格式)35TJ41直接表示法特點:l這種方法結構簡單,并行性強,操作速度快,但是微指令字太長,若微命令的總數為N個,則微指令字的操作控制字段就要有N位。l另外,在N個微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。l最短編碼法:所有微命令統一編碼5.4.2 微程序設計技術微程序設計技術422、編碼表示法:將操作控制字段分為若干個小段,每段內采用最短編碼法(互斥微命令),段與段

19、之間采用直接控制法(兼容微命令)。5.4.2 微程序設計技術微程序設計技術編碼表示法特點:可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執行速度減慢435.4.2 微程序設計技術微程序設計技術3、混合編碼法:將前兩種結合在一起,兼顧兩者特點。一個字段的某些編碼不能獨立地定義某些微命令,而需要與其他字段的編碼來聯合定義l設置解釋位或解釋字段l分類編譯l常數源字段E的設置C =解釋位1 A為某類命令0 A為常數CA微操作控制字段E順序控制字段445.4.2 微程序設計技術微程序設計技術l編碼注意幾點:字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:把互斥性的微命令分在同一

20、段內,兼容性的微命令分在不同段內。應與數據通路結構相適應。每個小段中包含的信息位不能太多,否則將增加譯碼線路的復雜性和譯碼時間。一般每個小段還要留出一個狀態,表示本字段不發出任何微命令。因此當某字段的長度為三位時,最多只能表示七個互斥的微命令,通常用000表示不操作。下面舉例說明45123456789順序控制4、5:00 無操作01 R1X10 R2 X11 DR X 6、7:00 無操作01 R3Y10 R2 Y11 R1Y 8、9:00 無操作01 10 11 M 混和表示法1、2、3位為直接表示法4、5 6、7 8、9位為編碼表示法465.4.2 微程序設計技術微程序設計技術二、微指令地

21、址的形成l入口地址:每條機器指令對應一段微程序,當公用的取指微程序從主存中取出機器指令之后,由機器指令的操作碼字段指出各段微程序的入口地址,這是一種多分支(或多路轉移)的情況。l后續微地址的形成方式主要有兩種:計數器的方式多路轉移的方式475.4.2 微程序設計技術微程序設計技術1、入口地址形成:如果機器指令操作碼字段的位數和位置固定,可以直接使操作碼與微程序入口地址的部分位相對應。485.4.2 微程序設計技術微程序設計技術2、后繼微地址形成方法(1)計數器的方式l方法:微程序順序執行時,其后繼微地址就是現行微地址加上一個增量(通常為1);當微程序遇到轉移或轉子程序時,由微指令的轉移地址段來

22、形成轉移微地址。在微程序控制器中也有一個微程序計數器PC,一般情況下都是將微地址寄存器MAR作為PCl特點:優點是簡單、易于掌握,編制微程序容易缺點是這種方式不能實現兩路以上的并行微程序轉移,因而不利于提高微程序的執行速度。495.4.2 微程序設計技術微程序設計技術(2)多路轉移的方式l根據條件轉移如圖l條件:狀態條件/測試/微指令中微地址/操作碼50【例例2】微地址寄存器有6位(A5-A0),當需要修改其內容時,可通過某一位觸發器的強置端S將其置“1”。現有三種情況:(1)執行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進行16路分支;(2)執行條件轉移指令微程序時,按進位標

23、志C的狀態進行2路分支;(3)執行控制臺指令微程序時,按IR4,IR5的狀態進行4路分支。 請按多路轉移方法設計微地址轉移邏輯。51 按所給設計條件,微程序有三種判別測試,分別為P1,P2,P3。 由于修改A5-A0內容具有很大靈活性,現分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。 另外還要考慮時間因素T4(假設CPU周期最后一個節拍脈沖),故轉移邏輯表達式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于從觸發器強置端修

24、改,故前5個表達式可用“與非”門實現,最后一個用“與或非”門實現。 下圖僅畫出了A2、A1、A0觸發器的微地址轉移邏輯圖。52535.4.2 微程序設計技術微程序設計技術3、微指令格式分為兩類:水平型微指令和垂直型微指令(1)水平型微指令 l水平型微指令是指一次能定義并能并行執行多個微命令的微指令。l格式如下控制字段判別測試字段下地址字段545.4.2 微程序設計技術微程序設計技術l水平型微指令特點: 優點:微指令字較長,速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡單。控制存儲器的縱向容量小,靈活性強。缺點:微指令字比較長,明顯地增加了控制存儲器的橫向容量。水平微指令與機器指令差別很大,一般要熟悉機器結構、數據通路、時序

溫馨提示

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

評論

0/150

提交評論