




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第六章 中央處理機(CPU) 6.4.3 微指令格式 (1) 微指令的格式大體上分成兩類:水平型微指令;垂直型微指令。微指令的格式大體上分成兩類:水平型微指令;垂直型微指令。1 1、水平型微指令、水平型微指令 直接控制法編碼的,屬于水平行微指令其特點是一條微指令中定直接控制法編碼的,屬于水平行微指令其特點是一條微指令中定義并行執行多個微命令。義并行執行多個微命令。 直接控制法、字段編譯法(直接、間接)用在同一條水平型微指令直接控制法、字段編譯法(直接、間接)用在同一條水平型微指令中。中。2 2、垂直型微指令、垂直型微指令 在微指令中設有操作碼,采用微操作碼編譯法,由微操作規定微在微指令中設有操
2、作碼,采用微操作碼編譯法,由微操作規定微指令的功能,稱為垂直型微指令。指令的功能,稱為垂直型微指令。 其特點是不強調實現微指令的并行控制功能,通常一條微指令只其特點是不強調實現微指令的并行控制功能,通常一條微指令只要求能控制一二種操作。要求能控制一二種操作。 其格式和指令相似:每條微指令有一個微操作碼。其格式和指令相似:每條微指令有一個微操作碼。6.4.3 微指令格式 (2)3 3、水平型微指令和垂直型微指令的比較、水平型微指令和垂直型微指令的比較(1)水平型微指令并行操作能力高,效率高,靈活性強,垂直型微)水平型微指令并行操作能力高,效率高,靈活性強,垂直型微指令差。指令差。(2)水平型微指
3、令執行一條指令時間短,垂直型微指令長。)水平型微指令執行一條指令時間短,垂直型微指令長。(3)水平型微指令的微指令字長,微程序短;垂直型微指令字短,)水平型微指令的微指令字長,微程序短;垂直型微指令字短,微程序長。微程序長。(4)水平型微指令用戶難以掌握,垂直型微指令比較容易掌握。)水平型微指令用戶難以掌握,垂直型微指令比較容易掌握。6.5 硬布線控制的計算機6.5.1 時序與節拍(1) 同前面的方法不同,控制器控制信號的產生是采用邏輯電路,也稱組合邏輯電路控制方式。 “時序控制信號形成部件”是由硬邏輯布線完成的。 如前所示,一條指令的執行可以分為:取指、計算地址、取數、執行等。 每一步由一個
4、機器周期來完成,假設采用4個機器周期,總之,需要4個不同的信號輸出,代表4個不同的周期。 可以,采用兩種方法: (1)采用2位計數器的譯碼輸出表示當前的機器周期; (2)采用4位觸發器,通過移位實現。 6.5.1 時序與節拍(2)譯碼器譯碼器ABcy1cy2cy3cy4cy1cy2cy3cy4取指取指 計算地址計算地址 取數取數 執行執行cy1 cy2 cy3 cy4cy1 cy2 cy3 cy46.5.1 時序與節拍(3) 但是,不同的指令可能需要的機器周期不同,如轉移指令,只需要2個機器周期,而乘法指令可能需要多個機器周期。 因此,需要為不同的指令,指定不同的機器周期。 例如,執行指令A需
5、要4個機器周期,計數器的變化規律是:00011011;執行指令B需要3個機器周期( 不需要計算地址),計數器的變化規律是:001011;計數器狀態變化計數器狀態變化A指令B指令ABABABAB00010110000101101011110011006.5.1 時序與節拍(4) 根據真值表列出邏輯表達式:根據真值表列出邏輯表達式: A指令:指令: A = AB + AB ; B = AB + AB = B B指令:指令: A = AB + AB = B; B = AB 最后:最后: A=(AB+AB)指令指令A+B指令指令B B=B指令指令A+AB指令指令B6.5.1 時序與節拍(4)ABres
6、et指令指令A指令指令BAB AB B B AB A A B BCP6.5.1 時序與節拍(5) 實際設計中,需要幾十幾百條指令,確定每條指令所需的機器周期,將情況相同的指令歸并在一起,列出表達式,畫出邏輯圖。 需要延長機器周期,可以封鎖CP,或者控制計數器的輸入。 設計中還應該考慮,譯碼器輸出的毛刺問題,如0110,或者1100,改變觸發器的計數狀態,可以避免毛刺。例如,計數狀態:00011110。防止兩位同時跳變,即可防止出現毛刺。 6.5.2 操作控制信號(1) 1. 1. 指令的操作碼部分指出本指令將執行什么指令,如加法、減法等。對于不同的指令,采用不同的代碼表示。 例如,用7位操作碼
7、可以表示128種不同的指令。如果采用譯碼器,則輸入7根線,輸出為128根線。任何時刻,128根線中只有1根為高電平(其余為低電平),或者相反(1根為高,其余為低)。 每根輸出線對應一條執行的指令,將譯碼器的輸出線和機器周期狀態cy1、cy2、cy3、cy4作為輸入,使用組合電路產生操作控制信號。6.5.2 操作控制信號(2)操作碼操作碼地址碼地址碼譯碼器譯碼器0 1 1270 1 127組合邏輯電路組合邏輯電路cy1cy2cy3cy4操作控制信號操作控制信號指令寄存器指令寄存器IR6.5.2 操作控制信號(3) 2. 2. 以加法指令為例,加法指令的完成是由4個機器周期cy1、cy2、cy3、
8、cy4組成,分別是取指、計算地址、取數、計算4個機器周期。 數據通路圖仍采用圖圖6.86.8。波形圖參照圖圖6.76.7。 由于取指周期是所有指令的第一個機器周期,所以取指周期cy1在所有指令執行時,都應該產生。取指周期的操作和指令的具體類型無關,我們稱取指周期為公共機器周期。6.5.2 操作控制信號(4) 取指周期需要產生的操作控制信號如下: PCAB=cy1 ;將PC送地址總線 ADS=cy1T1 ;存儲器地質有效 M/IO=cy1 ;存儲器操作 W/R=cy1 ;讀操作 DBIR=cy1 ;將讀出的結果送IR PC+1=cy1 ;將程序計數器加16.5.2 操作控制信號(5) 計算地址周
9、期cy2需要完成有效地址((rs1)+Disp)的計算。產生的操作控制信號如下: rs1GR=加法指令cy2 ;送通用寄存器地址 (rs1)ALU=加法指令cy2 ;通用寄存器送ALU DispALU=加法指令cy2 ;偏移量送ALU “+”=加法指令cy2 ;ALU執行加法操作 ALUAR=加法指令cy2 ;運算結果送地址總線6.5.2 操作控制信號(6) 這樣,將所有的機器周期的操作控制信號的邏輯表達式全部寫出來,就會得到各個操作控制信號的所有表達式,再將這些表達式安每個操作控制信號組合起來,就得到某個操作控制信號的表達式。 例如,“+”操作控制信號在加法指令的cy2(計算有效地址)和cy
10、4(操作數相加)時需要;減法指令的cy2(計算有效地址)時需要;轉移指令的cy2(計算有效地址)時需要;。 所以,“+”操作控制信號的邏輯表達式如下: “+”=加法指令(cy2+cy4)+減法指令cy2+轉移指令cy2+ 設機器有7位操作碼(OP0OP6),假設加法指令的操作碼為0001100,形成的加法指令信號的邏輯表達式為: 加法指令= OP0OP1OP2OP3OP4OP5OP66.5.2 操作控制信號(7) 通過合理安排操作碼,可以簡化邏輯電路。 如,某機器128條指令,用7位操作碼(OP0OP6),如果其中有16條算術邏輯運算指令,可以將這些指令的3位操作碼都設計相同的編碼,如OP0O
11、P1OP2= 001,而其他位OP3OP6編碼表示16個不同的指令。 設命令A是所有算術邏輯運算在cy2周期需要產生的,邏輯表達式: A=加法指令cy2+減法指令cy2+邏輯加指令cy2+ =(加法指令+減法指令+邏輯加指令+)cy2 = OP0OP1OP2cy2 只需要一個與門,就可實現命令A。SPARC CPU(sun工作站)部分指令操作碼操作碼操作碼I6I3操作碼操作碼 I2I00000010100111001011101110000ADDANDORXORSUBANDNORNXNOR0001ADDXSUBX0010ADDccANDccORccXORccSUBccANDNccORNccXN
12、ORcc0011ADDXccSUBXcc:1000LDLDUBLDUHLDDSTSTBSTHSTD1001LDSBLDSHLDSTUBSWAP1010LDALDUBALDUHALDDASTASTBASTHASTDA1011LDSBALDSHALDSTUBASWAPA6.5.3 控制器的組成(1)機器周期狀態機器周期狀態節拍及工作脈沖節拍及工作脈沖cy1 cy2 cy3 cy4T1 T2 CP啟停電路啟停電路脈沖源脈沖源操作碼操作碼地址碼地址碼譯碼器譯碼器組合邏輯電路組合邏輯電路操作控制命令操作控制命令指令寄存器指令寄存器IRPC中斷控制中斷控制邏輯邏輯轉移地址轉移地址+1程序計數器程序計數器中
13、斷信號中斷信號CLKCLK6.5.3 控制器的組成(2)u 程序計數器的4個輸入來源 (1)reset信號(開機或者reset鍵),將PC設置為初始執行地址; (2)“+1”信號,順序執行時的下一條指令的地址; (3)轉移地址,由ALU計算結果送來; (4)CPU響應中斷后,由中斷控制邏輯送來的中斷入口地址。u 中斷控制 產生中斷的原因:故障、I/O操作、系統調用等。需要CPU暫停當前操作,執行中斷服務程序處理緊急的中斷事務。 由硬件產生不同的中斷處理的入口地址,稱中斷向量。 由CPU查詢中斷產生的來源,稱軟件查詢。 中斷在后面的章節介紹。6.5.3 控制器的組成(3) 操作碼為7位,可以允許
14、機器最多設置128條指令。 7位操作碼輸入,可產生128條輸出線,任何時刻,只有1根是高電平,其余為低電平(或者1根低電平,其余均為高電平)。 由于同一種類型的指令的操作命令大部分是相同的,設計時要特別注意,使它們盡量成為一組,可以簡化邏輯電路。也可以為一類指令設計類別信號(如算術邏輯類、轉移類等)。 另外,譯碼器和組合邏輯電路也沒有明確的分界。都是由基本邏輯門電路組成的。6.5.3 控制器的組成(4) PLA:可編程邏輯陣列 PAL:可編程陣列邏輯 GAL:通用陣列邏輯 這3種電路可以組成復雜的組合邏輯電路。可以通過專用設備編程實現各種復雜的邏輯關系。 也可將此部分電路直接涉及在CPU芯片內
15、,這種電路集成度高,速度快,體積小。但不允許修改。6.5.4 硬布線控制邏輯中的若干問題(1) 指令系統確定后,操作碼的分配對組合邏輯電路的組成影響很大。如何合理分配操作碼能節省控制部分的電路、減少延遲。 不同的長度的指令,常用的指令長度較短,不常用的指令長度較長。可以節省空間,但操作碼不太規整。 新的操作碼的增加,會使得操作碼代碼的分配不合理。 多種指令格式也增加了邏輯電路的復雜性和零亂性。6.5.4 硬布線控制邏輯中的若干問題(2) 從考慮指令的功能和器件的速度的角度出發。 考慮典型指令的執行步驟和執行時間,典型指令的選擇要能反映出計算機各主要部件的速度。例如: 指令中的取指、取操作數反映
16、了存儲器的速度以及CPU和存儲器的配合; 加法運算涉及ALU的運算速度; (比較)條件轉移反映執行周期需要的時間。 機器周期機器周期根據存儲器速度和執行周期的基本時間確定。隨后機器的主頻、每一機器周期的節拍與時鐘數也就確定了。 早期的計算機以存儲器存取周期作為機器周期,時間上有些浪費,訪問存儲器可以采用“應答”方式,等待存儲器發出“ready”信號。6.5.4 硬布線控制邏輯中的若干問題(3) 大部分指令同典型指令的執行相同,有一些較為簡單,也有一些更為復雜,例如,乘法指令。 采用的方法是,延長執行周期或重復多次出現執行周期。 例如,一次執行周期完成一次“加法與移位”操作,1位乘法規則中,字長
17、為N的乘法運算中,循環執行次N“加法與移位”操作。 將該指令的執行周期延長到了N個基本機器周期,這種特殊的指令還包括除法、移位、浮點運算、程序調用等指令。6.5.4 硬布線控制邏輯中的若干問題(4)定了每條指令在每一個機器周期所完成的操作時,就得出了相應的操作控制命令。命令的一般表達式為: 操作控制命令名=指令名機器周期節拍條件 例如,在采用“加減交替法”進行除法運算時,跟椐上次的節果決定本次執行加法運算還是減法操做: “+”操作命令=除法指令cy4N “-”操作命令=除法指令cy4N 其中,cy4是指行周期,N為上次運算結果所設置的狀態位。 若部分余數大于等于除數,則夠減,N=0,上商“1”
18、,下次移位后作減法; 若部分余數小于除數,不夠減,上商“0”,下次移位后作加法。6.5.4 硬布線控制邏輯中的若干問題(5) 例如,“”操作命令,考慮了乘法和除法指令之后,將增加的表達式內容如下: “+”=加法指令(cy2+cy4)+ 減法指令cy2 + 轉移指令cy2 + 乘法指令(cy3+cy4y31) + ;y31為乘數寄存器的最低位 除法指令(cy2+cy4N) 又如,存儲器讀命令的表達式: “W/R”= cy1 + 加法指令cy3 + 減法指令cy3 + 由于機器指令有幾十到幾百條,所以操作控制命令非常多,每一個操作命令表達式中包含的項數很多。因此需要化簡。 6.5.4 硬布線控制邏
19、輯中的若干問題(5) 化簡問題: 邏輯表達式的化簡; 指令操作碼的分配; 相同功能的合并,具有相同邏輯表達式的部分,可以使用共同一組邏輯電路; 有些操作命令對大多數指令(命令集合I1)是需要的,而對少數指令(命令集合I2)時不允許產生,則: A=I1B=I2B 其中,B為邏輯表達式,I1+I2包含機器的所有指令,由于I2的指令數比I1少,因此邏輯電路得以化簡。 6.5.5 硬布線控制與微程序控制的比較(1) 硬布線控制與微程序控制之間最顯著的差距在于: 硬布線控制是通過組合邏輯電路產生操作命令的;硬布線邏輯電路不規整,走線復雜而凌亂,一旦設計好,一般是無法修改,添加和修改指令幾乎是不可能的。
20、微程序控制是通過執行存放在控制存儲器中的微程序產生的。微程序放在ROM之中,線路較為規整,指令的修改和添加只要更換ROM芯片即可,便于指令的擴充。所以,復雜指令集的計算機一般都采用微程序控制。6.5.5 硬布線控制與微程序控制的比較() 同樣的半導體工藝的水平下,微程序控制的速度要比硬布線控制低,是由于每條微指令需要從控存中讀出一次,還要經過譯碼,影響了執行的速度。而硬布線邏輯的速度主要取決于電路的延遲,在超高速機器,或者影響速度的關鍵部分,一般采用硬布線邏輯。在出現的RISC體系結構的計算機中,一般選用硬布線控制邏輯。6. 6 控制器的控制方式() 無論是微程序控制和硬布線邏輯控制,一條指令
21、的運行是執行一系列的微操作。 不同的指令對應的微操作以及復雜程度不一樣,而每個微操作需要的時間也不一樣。 如何形成控制不同微操作的時序控制信號有多種方法,也稱控制器的控制方式:6. 6 控制器的控制方式(2)程序運行的任何指令的執行或指令中的每個微操作都受事先時序控制信號,每個時序信號的結束就意味著一個微操作或一條指令已經完成,轉入執行后續的微操作或者指令。 例如,加法指令為4個機器周期,轉移指令為2個機器周期。每個機器周期分成兩拍,在固定頻率的脈沖作用下形成節拍和機器周期。 如果在任何條件下,一條指令在執行時所需的機器周期和節拍是固定不變的,則稱為。 如果半導體存儲器的存取時間固定,一條加法
22、指令需要4個機器周期(取指、計算地址、取數、執行)的時間是確定的,可以采用同步控制方式。6. 6 控制器的控制方式(2) 但是,如果某個部件的執行完成時間不確定,例如,計算機中有多個存儲器的完成時間不一樣,可以去最長的存取時間作為取指周期,仍可用同步控制方式。 如果要想適應不同存取時間的存儲器,就不能用同步控制方式。對于動態存儲器,有時需要插入“刷新操作而推遲訪問存儲器的操作,也不能采用同步控制方式。 同步控制方式可以選擇如下方案:(1)采用完全統一的機器周期(或節拍)執行不同的指令。選取最繁的微操作為標準,這樣在同一的機器周期中具有相同的時間間隔和具有相同數目的節拍。所有的微操作在這一個標準時間間隔之內均能完成執行,但是,簡單的微操作會造成時間的浪費。6. 6 控制器的控制方式(3) (2)采用不同節拍的機器周期,解決微操作執行時間不統一的問題。可以將大多數微操作安排在較短的機器周期之內完成,較為繁瑣微操作則采用延長機器周期或增加節拍來解決。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CACM 1547-2023多囊卵巢綜合征中西醫結合診療指南
- T/CACEM 31.4-2023高速公路經營管理第4部分:收費服務要求
- T/CACE 034.2-2022基于項目的溫室氣體減排量評估技術規范循環經濟領域資源化過程廢舊電池產品回收處理
- 地理-亞洲的自然環境課時2課件 2024-2025學年人教版地理七年級下冊
- T/CA 105-2019手機殼套通用規范
- T/BMPA 0001-2023再生水供用雙方協商價格行為指南
- T/BJWX 004-2024會議服務管理規范
- 人民幣相關課件
- 特殊心理健康教育
- 腰椎間盤突出患者的康復護理
- 起重作業培訓-指揮手勢-旗語
- 碳鋼管道焊接工藝規程完整
- 《送元二使安西》完整課件
- 防騙反詐類知識考試題庫100題(含答案)
- 北師大版小學數學二年級下冊第7單元《奧運開幕》練習試題
- 山西河曲晉神磁窯溝煤業有限公司煤炭資源開發利用、地質環境保護與土地復墾方案
- 高考英語分層詞匯1800(適合藝考生使用)
- 市政工程質量保修書
- 消防工程施工重難點及相應措施
- 拉森鋼板樁基坑圍護支護方案設計
- WS/T 431-2013護理分級
評論
0/150
提交評論