計算機組成原理(第五章-新)_第1頁
計算機組成原理(第五章-新)_第2頁
計算機組成原理(第五章-新)_第3頁
計算機組成原理(第五章-新)_第4頁
計算機組成原理(第五章-新)_第5頁
已閱讀5頁,還剩275頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組成原理第五章中央處理器CPU

本章內(nèi)容:

5.1CPU的組成和功能

5.2指令周期*

5.3時序產(chǎn)生器和控制方式

5.4微程序控制器*

5.5硬連線(組合邏輯)控制器(簡介) 5.6傳統(tǒng)的CPU 5.7流水CPU* 5.8RISCCPU本章重點內(nèi)容:

5.1CPU的組成和功能*

5.2指令周期*

5.3時序產(chǎn)生器和控制方式

5.4微程序控制器*

5.5硬連線(組合邏輯)控制器(簡介) 5.6傳統(tǒng)的CPU 5.7流水CPU* 5.8RISCCPU

√本章重點內(nèi)容:

5.1CPU的組成和功能*

5.2指令周期

*

5.3時序產(chǎn)生器和控制方式

5.4微程序控制器*

5.5硬連線(組合邏輯)控制器(簡介) 5.6傳統(tǒng)的CPU 5.7流水CPU* 5.8RISCCPU

√√本章重點內(nèi)容:

5.1CPU的組成和功能*

5.2指令周期

*

5.3時序產(chǎn)生器和控制方式

5.4微程序控制器*

5.5硬連線(組合邏輯)控制器(簡介) 5.6傳統(tǒng)的CPU 5.7流水CPU* 5.8RISCCPU

√√√本章重點內(nèi)容:

5.1CPU的組成和功能*

5.2指令周期

*

5.3時序產(chǎn)生器和控制方式

5.4微程序控制器*

5.5硬連線(組合邏輯)控制器(簡介) 5.6傳統(tǒng)的CPU

5.7流水CPU* 5.8RISCCPU

√√√√(注意對重點內(nèi)容的消化與理解)5.1CPU的功能和基本結(jié)構(gòu)*中央處理器主要內(nèi)容:

CPU的功能

CPU的基本組成

CPU中的主要寄存器 操作控制器與時序產(chǎn)生器1.CPU的功能

已知:

當(dāng)代主流計算機所遵循的仍然是馮.諾依曼的“存儲程序”思想,即:當(dāng)需要計算機解決某個問題時,首先必須為它編寫“程序”。已知:

→程序:由若干條指令組成的一個指令序列。這個序列代碼將指示計算機:“應(yīng)該依次執(zhí)行什么操作;在什么地方找到所要操作的數(shù)據(jù),結(jié)果存到何處”等。中央處理器(程序的基本實現(xiàn)過程)

一旦把程序(代碼)裝入內(nèi)存儲器,就由計算機去自動完成程序任務(wù)。方法是:依次“取出指令/執(zhí)行指令、……”,周而復(fù)始,直至把程序執(zhí)行完畢。

取出指令執(zhí)行指令如何實現(xiàn)“程序”的功能?問題是:計算機是怎樣有序、準(zhǔn)確地取出指令、并分析和執(zhí)行所取來的指令呢?

中央處理器,通常簡稱:CPU。

CPU是整個計算機系統(tǒng)運行、控制與信息處理的核心部件,具有極其重要的作用。

為了實現(xiàn)對機器的控制與信息處理功能,CPU應(yīng)當(dāng)具備哪些基本功能呢?CPU必須具有的四大基本功能:(1)指令控制

程序執(zhí)行的順序控制稱為指令控制。用于控制指令嚴(yán)格地按程序規(guī)定的順序,依次取出并加以執(zhí)行。(2)操作控制

一條指令的功能往往是由若干個操作信號的組合來實現(xiàn)的。例如:ADDR0,R1;(R0)+(R1)→R0因此,CPU負(fù)責(zé)產(chǎn)生每條指令執(zhí)行所需要的操作信號,并把各種操作信號準(zhǔn)確地送往相應(yīng)的執(zhí)行部件,控制這些部件按要求動作,從而完成指令所要求的操作。

——指令操作控制。(3)時間控制

CPU對各種操作動作的實施時間都要進行準(zhǔn)確定時,稱為時間控制。在計算機中,各種指令的操作信號以及每條指令的整個執(zhí)行過程都有嚴(yán)格的時間要求,需要CPU設(shè)定規(guī)定的時序關(guān)系。

例如:

(R1)+(R0)R1①②③④(4)數(shù)據(jù)加工

數(shù)據(jù)加工就是對數(shù)據(jù)進行算術(shù)運算、邏輯運算、數(shù)據(jù)轉(zhuǎn)換、傳送或指令規(guī)定的處理,這是CPU的核心功能之一。CPU(指令控制)(操作控制)(時間控制)(數(shù)據(jù)加工)∴可見,CPU的基本功能主要包括:中斷及I/O控制CPU組成結(jié)構(gòu):PC,IR指令控制操作控制時間控制數(shù)據(jù)加工中斷處理ALU,寄存器中斷系統(tǒng)(1)CPU的基本結(jié)構(gòu)CU(含時序電路)寄存器ALU

中斷

系統(tǒng)CU控制器運算器2.CPU的基本結(jié)構(gòu)與組成中斷控制部件【CPU與系統(tǒng)總線的基本連接】CPU控制總線數(shù)據(jù)總線地址總線寄存器ALU

中斷

系統(tǒng)CU基本總線連接中央處理器現(xiàn)代CPU基本結(jié)構(gòu)與模型,見教材P140圖5.1(2)CPU的基本組成結(jié)構(gòu)運算器控制器片內(nèi)Cache(哈弗結(jié)構(gòu))CPU芯片∴CPU的基本結(jié)構(gòu):由運算器、控制器和片內(nèi)Cache三大部分組成。

運算器中包含的:ALU、陣列乘除法器、浮點運算器等。(第二章已詳細討論)。

控制器中包含的:總線仲裁器、中斷排隊電路等

(在后續(xù)章節(jié)將討論)。

本章重點從CPU中控制器的原理角度出發(fā),分析指令被有序取出、并控制執(zhí)行的完整過程。(1)運算器的組成:包括:算術(shù)邏輯運算單元(ALU)、累加器、通用寄存器、數(shù)據(jù)緩沖寄存器、狀態(tài)條件寄存器、陣列乘/除法器、浮點運算器等,它是數(shù)據(jù)加工處理部件。

運算器所進行的全部操作都是由控制器發(fā)出的信號來控制指揮的。

∴運算器在CPU中只是一種執(zhí)行部件。

中央處理器CPU各部分的組成結(jié)構(gòu)【運算器的主要功能】:(第二章已討論)

(1)執(zhí)行所有的算術(shù)運算;

(2)執(zhí)行所有的邏輯運算,給出邏輯測試結(jié)果等(如狀態(tài)值測試或邏輯數(shù)的比較等);(3)執(zhí)行數(shù)據(jù)傳送任務(wù)等。(2)控制器的基本組成:

包括:程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID、時序產(chǎn)生器和操作控制器OC等部件??刂破魇荂PU發(fā)布命令的“決策機構(gòu)”,負(fù)責(zé)對整個計算機系統(tǒng)各部件操作的控制、協(xié)調(diào)與指揮。

(本章重點討論)中央處理器【控制器的主要功能】:

控制機器依次取出指令、并完成指令所要求的操作。具體為:取出指令對指令譯碼、測試有序地發(fā)出各種操作命令到相關(guān)部件依次取出新指令(或輸出結(jié)果)建立數(shù)據(jù)通路,完成指令規(guī)定的操作處理異常情況和特殊請求指令控制操作控制時間控制輔助數(shù)據(jù)加工處理中斷3.

CPU中的主要寄存器

支撐CPU工作的核心是若干特殊的寄存器,它們在CPU的工作過程中起著十分重要的作用。先回顧CPU基本結(jié)構(gòu)圖:各部分的功能為:可見:CPU中至少要有六類寄存器:運算器中:數(shù)據(jù)緩沖寄存器(DR)、通用寄存器(Ri)、

狀態(tài)字寄存器(PSW)。控制器中:指令寄存器(IR)、程序計數(shù)器(PC)、

地址寄存器(AR)

并且根據(jù)需要,可以擴充其數(shù)目。1)數(shù)據(jù)緩沖寄存器(DR)

DR的作用:

(1)作為CPU與數(shù)據(jù)Cache、寄存器和外部I/O設(shè)備之間信息傳送的暫存器(中轉(zhuǎn)站);

(2)用于補償CPU與內(nèi)存、外圍設(shè)備之間在操作速度上的差異。中央處理器2)通用寄存器(Ri)Ri

的功能:當(dāng)ALU需執(zhí)行算術(shù)或邏輯運算時,可為ALU提供一個工作區(qū),它也可暫時存放ALU運算的結(jié)果信息。

目前CPU中的通用寄存器,多達幾十個,甚至更多。形成了通用寄存器組結(jié)構(gòu),其中任何一個可存放源操作數(shù),也可存放結(jié)果操作數(shù),為CPU的快速處理提供支持。(如上一章討論的RR型指令)中央處理器Ri3)狀態(tài)字寄存器(PSW)

PSW保存由算術(shù)指令和邏輯指令運行或測試的結(jié)果建立的各種條件碼內(nèi)容,如:運算結(jié)果進位標(biāo)志(C),運算結(jié)果溢出標(biāo)志(V),運算結(jié)果為零標(biāo)志(Z),運算結(jié)果為負(fù)標(biāo)志(N)等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。除此之外,PSW還保存中斷和系統(tǒng)工作狀態(tài)等信息,因此,狀態(tài)條件寄存器是一個由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器,其可以按位測試或查詢。中央處理器4)指令寄存器(IR)IR的作用:保存當(dāng)前正在執(zhí)行的指令。當(dāng)執(zhí)行一條指令時,先把它從指令Cache中讀出,經(jīng)IBUS傳送至IR中,為指令譯碼器提供穩(wěn)定的指令代碼。 →完成取指任務(wù)

指令譯碼器:

負(fù)責(zé)對指令的操作碼OP進行測試,以便識別所要求的操作。中央處理器

→操作碼OP經(jīng)指令譯碼器識別后,即向操作控制器OC發(fā)出特定信號,由OC發(fā)出具體的操作控制信號。5)程序計數(shù)器(PC)PC的作用:指定當(dāng)前指令的地址,并能自動確定下一條指令的地址,以保證程序能夠按程序流程執(zhí)行下去。PC通常又稱為指令計數(shù)器。

由于大多數(shù)指令都是按順序執(zhí)行的,所以通常PC只需自增計數(shù)即可。

當(dāng)執(zhí)行轉(zhuǎn)移指令時,CPU能自動修改PC的內(nèi)容,使其轉(zhuǎn)移指向新的要執(zhí)行指令的地址。中央處理器

因此,程序計數(shù)器PC的結(jié)構(gòu),通常是具有可置數(shù)和可計數(shù)兩種功能的計數(shù)器結(jié)構(gòu)。6)(數(shù)據(jù))地址寄存器(AR)AR的作用:用來穩(wěn)定和保存當(dāng)前CPU所訪問的內(nèi)存或外設(shè)數(shù)據(jù)單元的地址。又稱:數(shù)據(jù)地址寄存器DAR。

∵在內(nèi)存(或外設(shè)單元)與CPU之間存在著操作速度上的差異

∴為了可靠地完成信息的交換,必須使用地址寄存器AR來保持地址總線上的信息穩(wěn)定,直到對存儲器的讀/寫操作完成為止。中央處理器

在結(jié)構(gòu)上,地址寄存器AR與DR、IR類似,通常采用通用寄存器(具有鎖存、清零、置位)即可。

上述六類寄存器對于CPU功能的實現(xiàn),起著重要的支撐性作用。4.

操作控制器OC與時序產(chǎn)生器

數(shù)據(jù)通路:

是指CPU內(nèi)部部件之間或CPU與存儲器、外設(shè)之間交換信息的通路。即:信息從什么地方取出→經(jīng)過哪條指定通道→傳送到哪個寄存器或目標(biāo)單元,都要CPU通過設(shè)置“數(shù)據(jù)通道”來加以控制與實現(xiàn)。

CPU需要為每條指令的數(shù)據(jù)流動與正確執(zhí)行建立“數(shù)據(jù)通路”。

——由操作控制器部件OC來完成。數(shù)據(jù)通路的概念:∴操作控制器OC的功能:

根據(jù)指令譯碼信號和時序信號,產(chǎn)生相應(yīng)的操作控制信號,建立出數(shù)據(jù)通路,并完成“取出指令和執(zhí)行指令”的具體操作與控制。時序產(chǎn)生器:

產(chǎn)生并發(fā)出計算機工作所需要的時序控制信號。

例如:ADDR1,R0;(R0)+(R1)→R1①②③④【操作控制器分類】:根據(jù)設(shè)計方法不同,操作控制器可分為三種類型:1.硬布線控制器采用時序/組合邏輯技術(shù)來實現(xiàn)的控制器,屬于時序邏輯型;(特點:純硬件實現(xiàn),控制速度快)2.微程序控制器*

(重點討論)采用存儲邏輯來實現(xiàn)的控制器,屬于存儲邏輯型。(特點:代碼組合實現(xiàn),易于實現(xiàn)控制)3.前兩種方式的組合控制器

(時序+存儲)的方法構(gòu)成。

5.2

指令周期*內(nèi)容包括:

指令周期的基本概念不同類型指令的指令周期分析典型指令的取指和執(zhí)行過程用方框圖語言表示指令周期中央處理器1.指令周期的基本概念

已知:計算機所以能自動地工作,是因為CPU能從內(nèi)存里依次不斷地取出指令和數(shù)據(jù),并加以執(zhí)行。中央處理器取出指令執(zhí)行指令……,這個過程周而復(fù)始,一直持續(xù)到既定程序執(zhí)行完畢為止。(除非中途被強迫停止運行)(一個指令周期)[名詞概念]:

指令周期

:

CPU從內(nèi)存取出一條指令并執(zhí)行完這條指令所需的時間總和。

CPU周期

:

又稱機器周期,CPU訪問內(nèi)存所花的時間較長,因此定義:CPU從內(nèi)存讀取一條指令字的所需的最短時間,稱為機器周期(CPU周期)。

時鐘周期

:

通常又稱為時鐘T周期或節(jié)拍脈沖。一個機器周期通常包含若干個T周期。=取指時間+執(zhí)行指令時間中央處理器教材P142敘述模糊,請更正。采用定長CPU周期的各類時序周期信號的相互關(guān)系:

中央處理器

相互關(guān)系:

1個指令周期=若干個機器周期;

1個機器周期=若干時鐘T周期通常,T周期是機器中的最小時間單位單周期指令:取出并執(zhí)行完指令只需一個機器周期。 (只有少數(shù)指令)多周期指令:需要2個及以上機器周期完成取出并執(zhí)行的指 令。(大部分指令)(1)指令周期含義:取出并執(zhí)行一條指令所需的全部時間。完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期(取指周期)(執(zhí)行周期)+[關(guān)于指令周期的附加注釋]:∴可見:一個指令周期通常至少需要兩個CPU周期。(2)不同指令的指令周期不同取指周期指令周期取指周期

執(zhí)行周期指令周期ADDRi

MULmem取指周期執(zhí)行周期指令周期…例如NOP(非訪內(nèi)型指令)

(訪內(nèi)型指令)單周期指令執(zhí)行周期較短執(zhí)行周期較長(3)具有間接尋址的指令周期(4)帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期需增加CPU周期還需增加CPU周期顯然:不同格式的指令,有不同長度的指令周期。(5)指令周期通用流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否本條指令執(zhí)行完畢取指執(zhí)行舉例:

取指周期數(shù)據(jù)流(6)指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲器CPU地址總線數(shù)據(jù)總線控制總線IR+1+1(完成取指)

間址周期數(shù)據(jù)流MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PCIR存儲器(取出地址))3.執(zhí)行周期數(shù)據(jù)流4.中斷周期數(shù)據(jù)流(具體將在I/O系統(tǒng)中討論)不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲器保存現(xiàn)場[例]:為了分析不同類型的指令所對應(yīng)的指令周期的情況,教材P143給出一個由6條典型指令構(gòu)成的簡單程序,分析其執(zhí)行過程來加深對指令周期及指令執(zhí)行過程的理解。(只分析前5條)

地址

指令

操作內(nèi)容

指令類型

101

MOVR0,R1

;(R1)→R0(非訪內(nèi)指令)

102

LADR1,6;M(6)→R1(訪內(nèi)指令)

103

ADDR1,R2;(R1)+(R2)→R2

(非訪內(nèi)指令)

104

STOR2,(R3);(R2)→M(R3)

(訪內(nèi)指令)

105

JMP101;101→PC

(非訪內(nèi)指令)

106 ANDR1,R3;(R1)∧(R3)→R3

(非訪內(nèi)指令)程序中有兩大類指令:

非訪內(nèi)型指令和訪內(nèi)型指令。將R2內(nèi)容存入以R3內(nèi)容為地址的內(nèi)存單元中2.非訪內(nèi)指令的指令周期

這是一條非訪內(nèi)指令,其指令周期為兩個CPU周期。其中:取指令階段需要一個CPU周期,執(zhí)行指令階段只需要一個CPU周期即可。中央處理器101MOVR0,R1第一條指令:操作:(R1)→R0特點:這類指令在執(zhí)行時,不需要訪問存儲器。WR/RD5.2.2MOV指令的指令周期——取出指令101MOVR0,R1取指命令序列:①

PC-out②Read③IR-in④PC+1R102101MOVR0,R1執(zhí)行周期執(zhí)行命令序列:①R1-out②ALU-Move③ALU-out④DR-in⑤R0-in(1)取指周期完成的操作

(用1個機器周期時間)

I-Cache→取出指令→存入IR(2)執(zhí)行周期完成的操作

(用1個機器周期時間)完成操作:(R1)→R0可知:本指令周期=兩個CPU周期。“MOVR0,R1”指令周期小結(jié):(見教材P144~145)

顯然,本指令在執(zhí)行時需要訪問內(nèi)存,屬于訪內(nèi)型指令。本指令的指令周期由三個CPU周期組成,1個CPU周期用于取出指令,2個CPU周期用于指令的執(zhí)行。中央處理器102LADR1,6M(6)→R1第二條指令:中央處理器取指周期(1個機器周期)執(zhí)行周期(2個機器周期)選定存儲單元LADR1,6指令執(zhí)行過程執(zhí)行命令序列:①6-DBUS-AR②AR-in③Dcache-Read④DR-in⑤R1-inR1004.加法指令的指令周期

本條指令是一條非訪內(nèi)型(RR)指令,對應(yīng)的指令周期由兩個CPU周期組成。即:1個CPU周期用于取出指令;1個CPU周期用于執(zhí)行指令。

103ADDR2,R1(R1)+(R2)→R2

第三條指令:(指令執(zhí)行過程簡單,自閱)ADDR1,R2ADDR1,R2執(zhí)行命令序列:①R1-outR2-out②ALU-Move③ALU-out④DR-in⑤R2-in5.送數(shù)操作指令和轉(zhuǎn)移指令的指令周期

本條指令是一條向內(nèi)存送數(shù)的操作指令。其中:第一個CPU周期中取出指令,把104號I-Cache單元的指令取出,并送到指令寄存器IR;第二個CPU周期送操作數(shù)地址:(R3)=30

→AR;第三個CPU周期執(zhí)行送數(shù)操作:(R2)→存入30號存儲單元。104STOR2,(R3)第四條指令:(R2)→M(R3)

(訪內(nèi)型指令)STOR2,(R3)執(zhí)行命令序列:①R3out-DBUS-AR②AR-in③R2out-DBUS④Dcache-WriteW105JMP101第五條指令:JMP指令為無條件跳轉(zhuǎn)指令,指令周期由兩個CPU周期組成。即:1個CPU周期用于取出指令;1個CPU周期用于指令的執(zhí)行。1061016.小結(jié)與歸納

不同指令的執(zhí)行過程是不同的,因而,對應(yīng)的指令周期也不同。非訪內(nèi)指令的執(zhí)行周期比訪內(nèi)指令的執(zhí)行周期短,因而執(zhí)行速度更快一些.中央處理器

在進行控制器設(shè)計時,通常采用方框圖語言(或指令周期流程圖)來描述各條指令的指令周期。通常約定:

方框代表一個CPU周期,方框中給出數(shù)據(jù)通路的操作或控制內(nèi)容。

菱形通常用來表示某種判別測試或轉(zhuǎn)移,在時間上它依附于緊接它的前面一個方框的CPU周期,而不單獨占用一個CPU周期。把前面的五條典型指令加以歸納,用方框圖語言表示的指令周期(教材P150圖5.14)。7.指令周期的方框圖表示

取指執(zhí)行所有指令都先用1個CPU周期從內(nèi)存取出、并譯碼。指令執(zhí)行公操作例1

某雙總線結(jié)構(gòu)機器的數(shù)據(jù)通路如下:

(教材P151-152)

+1

圖中:ALU由加、減控制信號決定完成何種操作,控制信號G控制的是一個三態(tài)門電路。另外,圖中:yi表示y寄存器的輸入控制信號,Rii、Rio分別為寄存器Ri

的輸入、輸出控制信號,未標(biāo)字符的線為直通線,不受控制。試討論如下問題:中央處理器

(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令周期流程圖,假設(shè)該指令的地址已放入PC中。并列出相應(yīng)的微操作控制信號序列。

【解】:“ADDR2,R0”指令是一條加法指令,參與運算的兩個數(shù)放在寄存器R0和R2中,指令周期流程圖包括取指令階段和執(zhí)行指令階段兩部分。

中央處理器已知數(shù)據(jù)通路圖為:“ADDR2,R0”指令:(R0)+(R2)→R0

詳細指令周期流程圖如后圖所示,并標(biāo)注每一步操作所需用到的微操作控制信號序列。(教材P151)

+1

(a)加法PC→ARM→DR,(PC)+1DR→IR譯碼Y+X→R0R0→XR2→Y取指PCo,G,ARiR/W=R;+1DR0,G,IRiR2o,G,YiR0o,G,Xi+,ALUO,G,R0i(時間序列)執(zhí)行指令:ADDR2,R0發(fā)出的命令信號書上少此命令

(2)“SUB(R1),R3”指令完成:(R3)-((R1))→R3的操作,畫出其指令期流程圖,并列出相應(yīng)的微操作控制信號序列。

【解】:“SUB(R1),R3”指令是一條減法指令,其指令周期流程圖如圖(b)所示。與ADD指令不同的是:在執(zhí)行指令階段,微操作控制信號序列有所不同。中央處理器與教材不同

“SUB(R1),R3”指令:(R3)-((R1))→R3

詳細指令周期流程圖如后圖(b)所示。

+1

(b)減法PC→ARM→DR,(PC)+1DR→IR譯碼Y-X→R3R1→ARM→DRR3→YPCo,G,ARiR/W=R;+1DR0,G,IRiR3o,G,YiR1o,G,ARiR/W=RDRo,G,Xj–,ALUo,

G,R3i取指執(zhí)行指令SUB(R1),R3發(fā)出的命令信號DR→X(R3)-((R1))→R3書上少此命令

指令周期包括:“取指周期+執(zhí)行周期”組成。簡單指令對應(yīng)的指令周期較短;復(fù)雜指令對應(yīng)的指令周期會長一些。在每個機器周期中,數(shù)據(jù)通路必須是明確的。4.數(shù)據(jù)通路的建立及操作由操作控制器OC的控制,當(dāng)然,其決定于指令的性質(zhì)。指令周期小結(jié):例2:2009年研究生入學(xué)考試44題:(略)(13分)某計算機字長16位,采用16位定長指令字結(jié)構(gòu),部分?jǐn)?shù)據(jù)通路結(jié)構(gòu)如下頁圖中所示,圖中所有控制信號為1時表示有效,為0時表示無效,例如控制信號MDRinE為1表示允許數(shù)據(jù)從DB打入MDR,MDRin為1表示允許數(shù)據(jù)從內(nèi)總線打入MDR。假設(shè)MAR的輸出一直處于使能狀態(tài)。

加法指令“ADD(R1),R0”的功能為(R0)+((R1))→(R1),即將R0中的數(shù)據(jù)與R1的內(nèi)容所指主存單元的數(shù)據(jù)相加,并將結(jié)果送入R1的內(nèi)容所指主存單元中保存。下表給出了上述指令取指和譯碼階段每個節(jié)拍(時鐘周期)的功能和有效控制信號,請按表中描述方式用表格列出指令執(zhí)行階段每個節(jié)拍的功能和有效控制信號。時鐘功能有效控制信號C1MAR←(PC)PCout,MARinC2MDR←M(MAR)PC←(PC)+1MemR,MDRinE,PC+1C3IR←(MDR)MDRout,1RinC4指令譯碼無數(shù)據(jù)結(jié)構(gòu)通路R0R1inA內(nèi)總線MARMDRIRPCMDRoutEPCinACin存儲器(M)ALUMDRinCPUMemWIRinDataAddrMemR地址總線AB數(shù)據(jù)總線DB控制總線CBACAddAinACoutR1R1outMARinMDRoutMDRinE指令譯碼部件PC+1PCoutR0inR0outXout

三態(tài)門控制信號Xin

寄存器輸入控制信號圖例參考答案一:時鐘功能有效信號C5MAR←(R1)R1out,MARinC6MDR←M(MAR)A←(R0)MemR,MDRinER0out,AinC7AC←(MDR)+(A)MDRout,Add,ACinC8MDR←(AC)ACout,MDRinC9M(MAR)←(MDR)MDRoutE,MemW(R0)+((R1))→(R1)參考答案二:時鐘功能有效信號C5MAR←(R1)R1out,MARinC6MDR←M(MAR)MemR,MDRinEC7A←(MDR)MDRout,AinC8AC←(A)+(R0)MDRout,Add,ACinC9MDR←(AC)ACout,MDRinC10M(MAR)←(MDR)MDRoutE,MemW(R0)+((R1))→(R1)5.3

時序產(chǎn)生器和控制方式

1

時序信號的作用和體制2

時序信號產(chǎn)生器3

控制方式中央處理器1.時序信號的作用和體制

時序信號:

CPU中的時序信號,是使計算機適時、準(zhǔn)確、有序地工作的重要“節(jié)拍序列”控制信號。中央處理器

在一個機器周期中,通常包含有若干個時鐘T周期,以便確定CPU在每一個T周期時間中,依次執(zhí)行什么操作。這種時間約束對CPU來說是非常必要的。各種控制動作必須適時,否則就可能造成信息丟失或結(jié)果錯誤。

∴時序控制對計算機來說非常重要,也是分析計算機工作原理時必須建立的概念。時序信號的作用:

OC用時序信號來協(xié)調(diào)、指揮機器的工作時序;

CPU通過節(jié)拍脈沖(時鐘T)對各種OC信號進行嚴(yán)格的時間約束;CPU可以用時序信號的周期信息,來辨認(rèn)從內(nèi)存中取出的是指令還是數(shù)據(jù)。[思考]:

已知:無論是指令還是數(shù)據(jù),在內(nèi)存中都是以二進制數(shù)碼形式存放的。那么,CPU怎樣識別所取出的數(shù)碼是數(shù)據(jù)還是指令呢?

從時間上來說:

取指令事件發(fā)生在指令周期的第一個CPU周期中,即發(fā)生在“取指周期”內(nèi);而取數(shù)據(jù)事件則一定發(fā)生在指令的“執(zhí)行周期”內(nèi)。

從空間上來說:若取出的代碼是指令,那么一定送往指令寄存器IR;如果取出的代碼是數(shù)據(jù),則一定送往運算器或數(shù)據(jù)寄存器。時序信號的體制

計算機組成硬件器件(寄存器、觸發(fā)器)的特性,決定了時序信號的基本體制是“電位—脈沖制”。D為電位(狀態(tài))輸入端,

CP(ClockPulse)為脈沖輸入端

R(清0)、S(置位)為電位輸入端Q為電位(狀態(tài))輸出端DCP以D觸發(fā)器為例:→各類緩沖器、寄存器的基本組成元件

電位狀態(tài)信號D脈沖信號CP即:一個時鐘輸入、一個狀態(tài)輸入D、一個狀態(tài)輸出Q(Q)D觸發(fā)器

在硬布線控制器中,時序信號往往采用“主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖”三級體制。在微程序控制器中,時序信號則一般采用“節(jié)拍電位-節(jié)拍脈沖”二級體制。中央處理器通常維持一個CPU周期在CPU周期中出現(xiàn)的脈沖節(jié)拍信號

總之,計算機的協(xié)調(diào)動作需要時間標(biāo)志,而且需要采用多級時序體制。而時間標(biāo)志則是用時序信號來體現(xiàn)的。一個觸發(fā)器的狀態(tài)持續(xù)時間DCP[多級時序系統(tǒng)]由機器周期、節(jié)拍脈沖(時鐘T)組成多級時序系統(tǒng).即:

一個指令周期包含若干個機器周期;一個機器周期包含若干個時鐘周期。CLK機器周期機器周期機器周期(取指令)(取有效地址)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3機器周期機器周期(取指令)(執(zhí)行指令)指令周期T0T1T2T3T0T1T2

節(jié)拍(狀態(tài))

節(jié)拍(時鐘)(不定長機器周期)功能:產(chǎn)生時序信號

各類計算機時序產(chǎn)生電路不盡相同,但基本構(gòu)成類似。基本構(gòu)成:

時鐘源環(huán)形脈沖發(fā)生器節(jié)拍脈沖和讀寫時序譯碼邏輯啟??刂七壿嫻?jié)拍脈沖信號2.時序信號產(chǎn)生器指令周期機器周期三級時序系統(tǒng)信號:注意到:

節(jié)拍脈沖寬度(時間)=時鐘周期(見下圖)環(huán)形脈沖發(fā)生器:(輸出信號:C1~C4)

環(huán)形脈沖發(fā)生器的作用:是產(chǎn)生一組有序的、間隔相等或不等的脈沖序列,以便通過譯碼電路來產(chǎn)生最后所需的節(jié)拍脈沖。123456789101112131415ΦΦC4C1C2C3(節(jié)拍電位與節(jié)拍脈沖時序產(chǎn)生)123456789101112131415ΦΦC4C1C2C3RD’RDWE’WET1T2T3T4CPU周期CPU周期CPU周期節(jié)拍電位信號節(jié)拍脈沖信號000000啟??刂七壿嫞?/p>

(教材P154)

由于計算機的啟動、停機是隨機的,故需要由啟停邏輯加以控制:

當(dāng)計算機啟動或停止時,僅當(dāng)Q=1時,時序信號T1~T4等才能發(fā)出或封鎖。R運行標(biāo)志觸發(fā)器=T1的前沿1T1T2T3T4機器周期啟動停止作用:嚴(yán)格保證時序電路啟動或停止工作時,機器周期一定是完整的。啟??刂七壿嫹治觯簽槭裁葱枰@樣?T4“時序體系”又常稱:“機器周期—時鐘周期”體系(1)時鐘周期是控制計算機操作的最小單位時間;(2)每個時鐘周期內(nèi),CPU可控制產(chǎn)生一個或幾個微操作命令。注意到:

現(xiàn)代計算機已不再采用三級時序系統(tǒng),機器周期的概念已逐漸消失。整個數(shù)據(jù)通路中的定時信號就是時鐘,一個時鐘周期就是一個節(jié)拍。(時鐘周期→機器周期)3.控制方式

控制方式:

即實現(xiàn)指令操作功能時,對各操作信號進行時序控制的方法。常用的有同步控制、異步控制、聯(lián)合控制三種方式,其實質(zhì)反映了時序信號的定時方式。中央處理器(1)同步控制方式(教材P155)特點:在任何情況下,指令在執(zhí)行時所需的CPU周期(機器周期)數(shù)和時鐘周期數(shù)都固定不變。根據(jù)不同情況,同步控制方式可選取如下方案:(1)采用統(tǒng)一的機器周期執(zhí)行各種不同的指令。(2)采用不定長機器周期*。(3)中央控制與局部控制結(jié)合*。(同步與其它定時方式結(jié)合-聯(lián)合控制方式)

(2)異步控制方式特點:不統(tǒng)一限制每條指令或每個操作控制信號需要占用的時間。即:每條指令的執(zhí)行周期可由不等的機器周期數(shù)(或時鐘周期數(shù))構(gòu)成。甚至當(dāng)某一操作控制信號發(fā)出后,可以一直等待執(zhí)行部件完成操作后發(fā)回“應(yīng)答”信號,才撤除該控制信號。顯然:用這種方式形成的操作控制序列沒有固定個數(shù)的CPU周期(機器周期)或時鐘周期(節(jié)拍脈沖)與之同步。中央處理器(3)聯(lián)合控制方式

此方式為同步控制和異步控制相結(jié)合的方式。

情況(1):大部分操作序列安排在固定的機器周期中,對某些時間難以確定的操作則以執(zhí)行部件的“應(yīng)答”信號作為本次操作的結(jié)束;

情況(2):機器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機器周期數(shù)不固定。

前面討論的幾條典型指令周期的分析、下節(jié)討論的微程序控制器都是這種控制方式。中央處理器[控制器的實現(xiàn)]已知:控制器類型主要有:

(1)微程序控制器*

(2)硬布線控制器

各自的特點與追求的目標(biāo)不同.首先討論微程序控制器的原理與實現(xiàn)

5.4微程序控制器*

中央處理器

與硬布線控制器相比較,微程序控制器具有規(guī)整性、靈活性、可維護性等一系列優(yōu)點,是一種利用軟件(代碼)方法來設(shè)計硬件命令的特殊技術(shù)。[微程序控制思想的產(chǎn)生]1951英國劍橋大學(xué)Wilkes教授提出:

每條機器指令的取出、完成執(zhí)行微操作命令1微操作命令2微操作命令n…微指令110101000微指令m微程序00010010…例如:前例討論的指令A(yù)DDR2,R0的取指與執(zhí)行過程

CPU?如何實現(xiàn)?OC依次發(fā)出操作命令∴取出并完成一條機器指令功能,由一段微程序?qū)崿F(xiàn)。思想:存儲邏輯產(chǎn)生微操作命令存入ROM實現(xiàn)各條指令的全部微程序5.4.1

微程序控制的基本原理基本思想:

把操作控制信號編成所謂的“微指令”,依次存放到ROM中。當(dāng)機器需要進行“取指”或“執(zhí)行指令”的操作時,通過逐條地取出這些微指令,依次產(chǎn)生所需要的各種操作控制信號,送往相應(yīng)部件并執(zhí)行操作,從而實現(xiàn)機器指令的功能。本節(jié)主要內(nèi)容:

微命令和微操作微指令和微程序微程序控制器原理框圖微程序舉例CPU周期與微指令周期的關(guān)系機器指令與微指令的關(guān)系中央處理器1微命令和微操作

在基本組成結(jié)構(gòu)上,CPU可以分為兩大部分:

控制部件和執(zhí)行部件。中央處理器微命令:控制部件向執(zhí)行部件發(fā)出的最基本操作命令。如:打開或關(guān)閉某個控制門的電位信號、某個寄存器的鎖存脈沖信號、復(fù)位信號等。

微操作:執(zhí)行部件接受微命令后所進行的操作??梢姡何⒚钍俏⒉僮鞯目刂菩盘?;微操作則是微命令的執(zhí)行過程。發(fā)出微命令執(zhí)行微操作注意:控制部件與執(zhí)行部件之間還有另一種聯(lián)系:反饋信息。執(zhí)行部件可通過反饋線向控制部件反饋操作情況,控制部件則可以根據(jù)執(zhí)行部件的“狀態(tài)”來下達新的微命令,這稱作:——“狀態(tài)測試”?!?/p>

控制部件與執(zhí)行部件通過控制信號和反饋信息進行交互與聯(lián)系。

控制部件

執(zhí)行部件控制反饋

中央處理器微操作類別:

根據(jù)數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作又分為相容性和相斥性兩種。相斥性微操作:不允許同時執(zhí)行或不能在同一個CPU周期內(nèi)并行執(zhí)行的微操作。

相容性微操作:允許同時執(zhí)行或可以在同一個CPU周期內(nèi)并行執(zhí)行的微操作。以某簡單運算器數(shù)據(jù)通路為例,如下圖:

(教材P156

圖5.20)演示相斥性微命令相容性微命令數(shù)據(jù)通路圖:多選一多選一2微指令和微程序

中央處理器

微指令:

在一個機器周期中,實現(xiàn)一定操作功能的若干微命令的組合,可以組成一條微指令。

微指令的一般格式為:

順序控制字段操作控制字段例:(前圖5.20)運算器數(shù)據(jù)通路所對應(yīng)的微指令格式如下:操作控制字段:送出各種操作控制信號(微命令)可以直接給出下一條微指令的地址也可以通過P1或P2測試,形成下一條微指令的地址順序控制字段:用來確定下一條微指令的地址,控制微程序流程。[節(jié)拍電位和節(jié)拍脈沖信號]中央處理器節(jié)拍電位信號:微指令中給出的各控制信號都是節(jié)拍電位(狀態(tài))信號,它們的持續(xù)時間都是一個機器周期。(見后圖,原因后述)節(jié)拍脈沖信號:時鐘周期信號

由時序發(fā)生器產(chǎn)生的最小時間控制信號。通常:節(jié)拍電位信號通常持續(xù)一個機器周期,其應(yīng)正好包容若干個節(jié)拍脈沖信號,見上圖。例如:節(jié)拍電位信號轉(zhuǎn)換為節(jié)拍脈沖信號的方法,見下例:T4微指令發(fā)來的節(jié)拍電位控制信號時鐘周期脈沖

例:LDR1=LDR1’∧T4節(jié)拍脈沖控制信號3微程序控制器原理框圖微程序控制器原理框圖請參見CAI演示。

中央處理器

它主要由控制存儲器CM、微指令寄存器

IR和地址轉(zhuǎn)移邏輯三大部分組成。各部分的作用說明:

(

AR)(CM)(IR)微程序控制器原理框圖

(教材P158圖5.23)(微指令I(lǐng))(1)控制存儲器CM

CM是微程序控制器的核心部件,用來存放微程序(其一般由高速ROM組成)。其性能(包括容量、速度、可靠性等)與計算機的性能密切相關(guān)。

CM負(fù)責(zé)存放實現(xiàn)全部指令系統(tǒng)的微程序。一旦微程序固化到ROM中,機器運行時則只讀不允許寫。其工作過程也是:根據(jù)當(dāng)前取指或執(zhí)行指令要求,依次讀出微指令、送出微命令、實現(xiàn)指令功能。

(微指令送到IR,發(fā)出微命令)。中央處理器微指令周期定義:

“讀出一條微指令并完成該微指令操作的時間總和”稱為一個微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是CM的工作周期。

CM的存儲容量視機器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對CM的要求是速度快,讀出周期短。依次取出并完成微指令操作(2)微指令寄存器μIR微地址寄存器(μAR):用于存放下一條要取出的微指令的地址,而微命令寄存器則保存當(dāng)前微指令的操作控制字段和判別測試字段的信息。順序控制字段操作控制字段測試字段微地址字段μIR:(微命令字段)(微地址)μAR用來存放由控制存儲器CM讀出的微指令。(3)地址轉(zhuǎn)移邏輯

一般情況下,當(dāng)前微指令讀出后,微地址字段(簡稱微地址)作為下一條微指令的地址,自動送入μAR,具體有下面兩種情況:1)如果微程序不出現(xiàn)條件跳轉(zhuǎn),則下一條微指令的地址就由本條微指令直接給出。中央處理器2)當(dāng)微程序需要測試轉(zhuǎn)移時,則根據(jù)判別測試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,通過修改微地址寄存器μAR內(nèi)容,形成新的下一條微指令的地址,進而實現(xiàn)微程序的轉(zhuǎn)移。

這一功能就由地址轉(zhuǎn)移邏輯來承擔(dān),其可以根據(jù)轉(zhuǎn)移條件,自動完成修改微地址的任務(wù)。

中央處理器

∵微程序是由微指令序列組成的,該序列決定微程序的流程。

∴在執(zhí)行當(dāng)前微指令時,必須及時給出或形成下一條微指令的地址,以便能夠正確地取出下一條微指令。問題的關(guān)鍵:

如何形成后繼微指令地址?(后面將具體討論)那么,微程序的流程如何控制呢?4微程序控制過程舉例

(教材P159)已知:一條機器指令的功能→可執(zhí)行一段微程序來實現(xiàn)。如何理解微程序的具體控制過程呢?不妨用一條稍復(fù)雜一點的機器指令A(yù)DB(BCD碼十進制加法指令),分析采用微程序控制來實現(xiàn)指令的具體過程。(教材P159-161)中央處理器

舉例:“十進制加法指令”的實現(xiàn)(教材P159-161):

“ADBR2,R1”:兩個十進制數(shù)(R1)=a、(R2)=b(BCD碼),要求實現(xiàn)十進制相加(S=a+b),即:按“逢十進1”運算。已知,機器的數(shù)據(jù)通路如前例,對應(yīng)的微指令格式如下:

“加6校正算法”設(shè):被加數(shù)為a,加數(shù)為b,十進制和為S(均為BCD碼數(shù))(1)先做(S*=a+b+6)運算,然后判斷進位標(biāo)志Cy;(2)若Cy=1(有進位),則表示本位結(jié)果正確,S=S*

(向高位有進位);若Cy=0(無進位),則表示本位計算+6后的結(jié)果多余,做(S*-6)運算,恢復(fù)原來正確的結(jié)果.

(S=S*-6=a+b)。(1位)十進制加法算法規(guī)則:(BCD碼數(shù)直接做十進制運算)(舉例)觀察由微指令依次發(fā)出各操作控制信號的過程:實現(xiàn)指令的算法流程:(設(shè)十進制和為S)計算S*=a+b+6;判斷最高位有無進位?若,有進位;則本位結(jié)果正確:S=S*;若,無進位;則+6多余。正確結(jié)果為:S=S*-6

上述過程由一段微指令序列(微程序)來完成。中央處理器取指P1測試,形成對應(yīng)的微程序入口地址用一條微指令實現(xiàn)”取指“操作:設(shè):

(R1)=a;(R2)=b(R3)=6R取出“十進制加法”機器指令→IRADBR2,R1ADBR2,R1baa+ba+bab測試進位a+ba+b+6a+b+6a+b+6a+ba+b+6(a+b+6)-6a+b小結(jié):本例“十進制加法”機器指令功能由四條微指令來實

現(xiàn),各微指令的編碼如下:

第一條微指令的二進制編碼是:

功能① 000000

000

00011111100000

(取指)

第二條微指令的二進制編碼是:

010100100

10000000001001

(R1+R2→R2)

第三條微指令的二進制編碼是:

③01000100110000000010000

(R2+R3→R2)

第四條微指令的二進制編碼是:

01001100000100000000000

(R2-R3→R2)組成實現(xiàn)本條機器指令的微程序中央處理器

微程序:由若干條微指令組成的序列,用以實現(xiàn)機器指令的功能。

注意到:若用本例的數(shù)據(jù)通路和微指令格式,實現(xiàn)機器指令:

ADDR1,R2;(R1)+(R2)→R2

只需要一條微指令(微程序)即可,寫出微指令代碼:000000① 000000

000

00011111100000 (取指)∴機器指令“ADDR1,R2”的取出并完成操作的微程序為:② 010100100

10000000000000(R1)+(R2)→R2——微程序由2條微指令組成??梢姡翰煌瑱C器指令,對應(yīng)的微程序長度是不同的,取決于機器的結(jié)構(gòu)和微指令的格式。

回顧一下前面介紹的指令周期方框圖語言描述,可以更加清晰地看到用微程序?qū)崿F(xiàn)機器指令的過程用1條微指令取出機器指令

用若干條微指令分別實現(xiàn)各機器指令微程序控制法:由微程序來控制實現(xiàn)機器中各條指令功能的方法。對應(yīng)的控制器,稱為:微程序控制器.

∴在微程序控制器中,應(yīng)當(dāng)預(yù)先設(shè)計好所有機器指令對應(yīng)的微程序,并存入控制存儲器中。小結(jié):(1)微程序控制實質(zhì):是將一條機器指令的執(zhí)行過程分解成若干步,每一步都由一條微指令來產(chǎn)生若干對應(yīng)的微命令來加以實現(xiàn)。

即:一條機器指令的執(zhí)行,是通過執(zhí)行一段對應(yīng)的微程序來實現(xiàn)的。(2)微程序組成:可以由一條或若干條微指令組成,取決于指令的復(fù)雜度、數(shù)據(jù)通路結(jié)構(gòu)和微指令格式等。為了保證控制信號的同步,通常設(shè)計CPU周期與微指令周期正好相等,其時間關(guān)系如下:5

CPU周期與微指令周期的關(guān)系

讀取微指令執(zhí)行微指令CPU周期CPU周期T1T2T3T4取出下一條微指令執(zhí)行微指令∴在串行工作的微程序控制器中:微指令周期

=讀出微指令的時間

+執(zhí)行該條微指令的時間

=CPU周期

(=CM的工作周期)6機器指令與微指令的關(guān)系

問題:

在機器中,一會兒取機器指令,一會兒取微指令,它們之間到底是什么關(guān)系?

中央處理器機器指令微指令?中央處理器

1.用微程序?qū)崿F(xiàn)機器指令在采用微程序控制器實現(xiàn)控制的計算機中,每一條機器指令的功能都有一段對應(yīng)的微程序來控制和實現(xiàn)。

幾點注釋:(見教材P161圖5.26)微程序控制器存放機器指令存放微指令取出機器指令實現(xiàn)指令功能書上遺漏

2.指令與微指令、程序與微程序、地址與微地址的對應(yīng)關(guān)系為:前者只與內(nèi)存儲器有關(guān),屬于軟件;后者只與控制存儲器有關(guān),屬于硬件命令范疇。與此相關(guān),各自也有相對應(yīng)的硬設(shè)備。

3.一條微指令周期通常對應(yīng)一個CPU周期?!?/p>

由微指令本身送出的微命令信號通常維持一個機器周期(節(jié)拍電位信號)。下一步要解決的問題

下面通過例題,再進一步理解在不同的數(shù)據(jù)通路和微指令格式下的微程序設(shè)計方法,以熟悉和體驗機器指令與微指令的關(guān)系。微程序設(shè)計舉例(略)

【例2】設(shè)某計算機運算器框圖如圖(a)所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫操作控制功能見下表。

讀控制寫控制RRA0RA1選擇WWA0WA1選擇100R0100R0101R1101R1110R2110R2111R3111R30××不讀出0××不寫入中央處理器數(shù)據(jù)通路圖:中央處理器

已知,微指令字長12位,微指令格式如下:01234567891011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

讀R0-R3的選擇控制寫R0-R3的選擇控制寄存器讀命令;寄存器寫命令;傳送SB的控制信號;傳送SB的控制信號;并使加法器的最低位加1清暫存器SB為零的信號;一段微程序結(jié)束,轉(zhuǎn)入取機器指令的控制信號。要求:用二進制代碼寫出如下指令對應(yīng)的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)假定:只考慮各指令的執(zhí)行過程。打入緩沖器SB的控制信號;打入緩沖器SA的控制信號;【解】:

先結(jié)合數(shù)據(jù)通路圖,畫出實現(xiàn)這三條機器指令的微程序流程圖,如下圖所示。(假定不考慮)ADDR0,R1SUBR2,R3MOVR2,R3

其中:假定微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號標(biāo)在每條微指令的右上角。每一框表示一條微指令。

根據(jù)給定的微指令周期時間關(guān)系,完成ADD,SUB指令的執(zhí)行動作需要3條微指令,MOV指令只需2條微指令。

按照已知的微指令格式:

01234567891011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

ADD指令的執(zhí)行過程包括:R0→SA,R1→SB,SA+SB→R100××1010000001××10010000××0101001001因此,實現(xiàn)指令“ADDR0,R1”的微程序為:

00××101000002.01××10010000

××0101001001由三條微指令組成中央處理器01234567891011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

SUB指令的執(zhí)行過程包括:R3→SA,R2→SB,SA-SB→R311××1010000010××10010000××1101000101因此,執(zhí)行“SUBR2,R3”的三條微指令為:

11××101000002.10××100100003.××1101000101微程序中央處理器01234567891011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

MOV指令的執(zhí)行過程包括:R2→SA,0→SB;SA+SB→R3××1101001001因此,執(zhí)行“SUBR2,R3”的兩條微指令為:

10××101000102.××110100100110××10100010微程序可見:三條機器指令是由三段微程序來分別實現(xiàn)的。

這就又一次說明了機器指令與微指令的關(guān)系,即:

在微程序控制器模式的機器中,每一條機器指令,其功能都是由對應(yīng)的一段微程序來加以實現(xiàn)。

關(guān)鍵問題:如何設(shè)計出合理的微指令結(jié)構(gòu),提高微程序控制器的工作效率。設(shè)計目標(biāo):(教材P162)

(1)盡量縮短微指令字的長度;

(2)盡量減小控制存儲器的容量;

(3)盡量提高微程序的執(zhí)行速度;

(4)盡量方便對微指令的修改;

(5)盡量提高微程序設(shè)計的靈活性?!嘈枰M一步討論微程序的設(shè)計方法。[微指令格式的合理設(shè)計]

→會直接影響微程序控制器結(jié)構(gòu)。5.4.2微程序設(shè)計技術(shù)主要討論:微命令編碼方法微地址的形成方法微指令格式設(shè)計動態(tài)微程序介紹中央處理器1微命令編碼

-------

操作控制字段設(shè)計方法

已知:微指令的一般格式為:操作控制字段設(shè)計方法,稱為:微命令編碼方法。通常有三種方法:

1、直接表示法;2、編碼表示法;

3、混合表示法。中央處理器操作控制字段順序控制字段(1)直接表示法特點是:

操作控制字段中的所有數(shù)位都定義為具體命令(如前面例題所述):

中央處理器這種方法的優(yōu)點:簡單直觀,控制速度快,輸出可以直接用于控制。缺點:操作控制字段較長,代碼效率較低,因而微指令字較長,使控制存儲器容量加大。(2)編碼表示法

特點:

把若干相斥性的微命令信號組成一個小組,用一個字段來分別表示。通過對字段進行譯碼,產(chǎn)生所對應(yīng)的微命令信號,即:由譯碼輸出產(chǎn)生操作控制信號。其對應(yīng)的微指令結(jié)構(gòu)如下圖所示。中央處理器為什么?互斥性命令互斥性命令互斥性命令中央處理器優(yōu)點:采用字段譯碼法,可以用較短的二進制代碼,表示較多的微命令信號。例如:3位代碼可譯碼輸出8個信號;4位代碼則可譯出16個信號等。

與直接表示法相比,編碼表示法顯然可大大縮短操作控制字段長度。在字段譯碼法中,需要注意:

1、在一條微指令中,每個字段每次只能譯碼產(chǎn)生一個微命令。(∴同一字段中只能安排互斥性命令)

2、每個字段都應(yīng)當(dāng)至少留出一個代碼作為“空碼”,該“空碼”表示字段不產(chǎn)生微命令輸出。

例如:3位代碼譯碼后可表示7個微命令,4位代碼譯碼后可表示15個微命令,都至少留出一個空碼。為什么?缺點:由于增加“譯碼電路”,會使微程序的執(zhí)行速度會稍稍減慢。目前,在微程序控制器設(shè)計中,字段直接譯碼法使用較普遍。(3)混合表示法

特點:是把直接表示法與字段編碼法混合使用,以便綜合考慮指令字長、靈活性、微程序執(zhí)行速度等方面的要求。中央處理器可見:

對微指令操作控制字段的設(shè)計,應(yīng)當(dāng)針對機器情況,做出合理選擇與設(shè)計。(舉例)例:某計算機共有50個微命令,其中包含有4個互斥性命令組,各組分別包含微命令:6,4,12,8個,試分析:(1)設(shè)計出微指令的操作控制字段,該字段最少需多少位?(2)與直接表示法相比,操作控制字段可減少多少位?[解]:(1)采用混合表示法設(shè)計操作控制字段:

4個互斥性命令組分別包含微命令:6,4,12,8個;(共30個)

各字段位長分別為:3,3,4,4位,共14位。其余的微命令用直接表示法:共(50-30)=20位?!?/p>

操作控制字段最少需:14+20=34位由本例可以看出:應(yīng)用混合設(shè)計法,可以有效縮短操作控制字段長度。操作控制字段設(shè)計如下:(2)與直接表示法相比,操作控制字段可減少:50-34=16位。2微地址的形成方法

----------順序控制字段的設(shè)計方法

微指令執(zhí)行的順序控制問題,實際上是如何確定下一條微指令地址的問題。通常,產(chǎn)生后繼微地址有如下方法:

1、計數(shù)器方式;2、多路轉(zhuǎn)移方式中央處理器操作控制字段順序控制字段(1)計數(shù)器方式特點:

μPC方式

在順序執(zhí)行微指令時,后繼微地址在現(xiàn)行微地址加上一個增量來產(chǎn)生;在非順序執(zhí)行微指令時,通過直接修改μPC

,即:現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行新指定微地址的微指令。中央處理器與PC功能類似μARμPC由微指令直接給出計數(shù)器方式的基本特點:(教材P163)

順序控制字段較短,微地址產(chǎn)生機構(gòu)簡單。但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。

∴在計數(shù)器方式中,微地址寄存器(μAR)采用可置數(shù)的計數(shù)器μPC即可。這樣,順序執(zhí)行的微指令序列就必須安排在控制存儲器的連續(xù)單元中。(2)多路轉(zhuǎn)移方式

若一條微指令具有多個轉(zhuǎn)移分支的能力,則稱為多路轉(zhuǎn)移,這是一種最常用的方式。多路轉(zhuǎn)移方式的實現(xiàn):

①當(dāng)微程序不產(chǎn)生分支時,后繼微地址直接由微指令的順序控制字段給出;操作控制字段測試字段微地址字段μAR②當(dāng)微程序出現(xiàn)分支時,可有若干“候選微地址“供選擇:按順序控制字段的“判別測試”標(biāo)志和“狀態(tài)條件”信息來選擇確定下一個微地址,直接修改μAR即可

。

操作控制字段測試字段微地址字段μAR修改方法:①②多路轉(zhuǎn)移方式多路轉(zhuǎn)移邏輯外部條件顯然:若可以修改微地址寄存器μAR的n位,則可實現(xiàn)微程序的2n路轉(zhuǎn)移。

CM多路轉(zhuǎn)移方式的特點:能以較短的順序控制字段配合,實現(xiàn)多路目標(biāo)的并行轉(zhuǎn)移,靈活性好,速度較快。這是一種最常用的設(shè)計方式

當(dāng)然,地址轉(zhuǎn)移邏輯需要用附加的組合邏輯電路來實現(xiàn)。中央處理器【例2】某微程序控制器的微地址寄存器μAR有6位(μA3~μA0),當(dāng)需要修改其內(nèi)容時,可通過各位觸發(fā)器的強置端S將其置“1”?,F(xiàn)有三種情況:(教材P163)

(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段低4位(IR3~IR0),產(chǎn)生24=16路分支;

(2)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進位標(biāo)志C的狀態(tài),產(chǎn)生21=2路分支;

(3)執(zhí)行控制臺指令微程序時,取2位OP字段(IR4,IR5)的狀態(tài),產(chǎn)生22=4路分支。請按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯電路。中央處理器

【解】:

按所給設(shè)計條件,微程序中設(shè)三種狀態(tài)判別測試:P1,P2,P3。修改μA5~μA0內(nèi)容可以有很大靈活性,假設(shè)統(tǒng)一在T4時刻修改μAR(T4為機器周期的最后一個節(jié)拍脈沖),現(xiàn)設(shè)置分配如下:

(1)P1測試:用IR3~IR0修改μA3~μA0;

(實現(xiàn)16路分支)

(2)P2測試:用C修改μA0;(實現(xiàn)2路分支)

(3)P3測試:用IR5,IR4修改μA5,μA4。(實現(xiàn)4路分支)

μA5

=P3·IR5·T4μA4=P3·IR4·T4μA0

=P2·C·T4μA3

=P1·IR3·T4μA2=P1·IR2·T4μA1

=P1·IR1·T4μA0=P1·IR0·T4∴地址轉(zhuǎn)移邏輯的邏輯函數(shù)如下:

μA5=P3·IR5·T4

μA4=P3·IR4·T4

μA3=P1·IR3·T4

μA2=P1·IR2·T4

μA1=P1·IR1·T4

μA0=P1·IR

溫馨提示

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

評論

0/150

提交評論