1. CPU的功能和基本結(jié)構(gòu)
1.1 CPU的組成
CPU由運(yùn)算器
和控制器
組成。
注意:n位CPU,指機(jī)器字長為n,表示一次能夠處理的二進(jìn)制位數(shù)。自然與數(shù)據(jù)總線相等
1.1.1 運(yùn)算器的基本組成
功能:對數(shù)據(jù)進(jìn)行加工
-
通用寄存器組
:如AX、BX、CX、DX、SP等,用于存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等。SP
是堆棧指針,用于指示棧頂?shù)牡刂贰?/li> -
算術(shù)邏輯單元(ALU)
:主要功能是進(jìn)行算術(shù)/邏輯運(yùn)算 -
累加寄存器(ACC)
:它是一個(gè)通用寄存器,用于暫時(shí)存放ALU運(yùn)算的結(jié)果信息,用于實(shí)現(xiàn)加法運(yùn)算。 乘商寄存器(MQ)
-
程序狀態(tài)字寄存器(PSW)
:保留由算術(shù)邏輯運(yùn)算指令或測試指令的結(jié)果而建立的各種狀態(tài)信息,如溢出標(biāo)志(OP)、符號(hào)標(biāo)志(SF)、零標(biāo)志(ZF)、進(jìn)位標(biāo)志(CF)等。PSW中的這些位參與并決定微操作的形成 -
移位器
:對運(yùn)算結(jié)果進(jìn)行移位運(yùn)算。 -
計(jì)數(shù)器
:控制乘除運(yùn)算的操作步數(shù)。
- 注意:
- 通用寄存器位數(shù)取決于
機(jī)器字長
- 通用寄存器與ALU的連接有兩種:
- 采用內(nèi)部總線則ALU的
一個(gè)輸入端口
和輸出端口
要設(shè)置暫存寄存器
,若采用專用數(shù)據(jù)通道的方式則ALU端口
要設(shè)置多路選擇器
或者三態(tài)門
。- 內(nèi)部總線的CPU,其
ALU的輸出端口會(huì)接一個(gè)暫存寄存器
,實(shí)際中,這個(gè)暫存寄存器常常由移位寄存器充當(dāng),移位寄存器的后面又接著一個(gè)三態(tài)門
(具體見圖)。![]()
1.2.2 控制器的基本組成
功能:取指令、分析指令并產(chǎn)生一系列微操作控制信號(hào)
程序計(jì)數(shù)器PC
指令寄存器IR
指令譯碼器
地址寄存器MAR
數(shù)據(jù)寄存器MDR
時(shí)序系統(tǒng)
微操作信號(hào)發(fā)生器
注意:
- PC是在
執(zhí)行指令過程中
修改的。其中,非條件則在取指周期末
,條件則可能在執(zhí)行周期末
。![]()
- PC的位數(shù)取決于存儲(chǔ)器容量, 和MAR一樣
1.2.3 CPU的總圖
注意:
- 程序員可見的寄存器:
- PC
- PSW
- 通用寄存器
- ACC
- 程序員不可見寄存器:
- MAR
- MDR
- IR
- 暫存寄存器
2. 指令執(zhí)行過程
2.1 指令周期
注意:
時(shí)鐘周期
—>機(jī)器周期
—>指令周期
- 時(shí)鐘周期是CPU操作最基本的單位。
- 時(shí)鐘周期又叫CPU時(shí)鐘周期、節(jié)拍、T周期【注意:
CPU周期是指機(jī)器周期,CPU時(shí)鐘周期是指時(shí)鐘周期
】- 每個(gè)指令周期包含的機(jī)器周期數(shù)可以
不同
,而每個(gè)機(jī)器周期包含的時(shí)鐘周期數(shù)也可以不同
。故,不同指令的指令周期可能不同
通常【注意是通?!縘
把通過一次總線事務(wù)訪問一次主存或I/O【即存取周期】
的時(shí)間定為一個(gè)機(jī)器周期。這樣是為了方便指令流水,實(shí)際上,每個(gè)機(jī)器周期包含的節(jié)拍可以不一樣。
在存儲(chǔ)字長等于指令字長時(shí),取指周期作為機(jī)器周期。![]()
2.2 指令的執(zhí)行流程
* 一個(gè)完整的指令周期由4個(gè)機(jī)器周期組成:
1. 取指周期(最后一步分析指令)
2. 間址周期 (若為間接尋址)
3. 執(zhí)行周期(取操作數(shù))
4. 中斷周期(指令結(jié)束前,檢查中斷)
注意:
執(zhí)行指令過程
!=執(zhí)行周期
一般說控制器就是取指令、執(zhí)行指令。其中的指取令指取指周期,執(zhí)行指令指剩余的間址周期、執(zhí)行周期、中斷周期。- 指令和數(shù)據(jù)均以二進(jìn)制放在內(nèi)存中,CPU根據(jù)
指令周期的不同階段
來區(qū)分指令和數(shù)據(jù)。
注意:
- 以上四個(gè)過程都訪問了主存,只是目的不一樣。
- 取指周期為了取指令
- 間址周期為了
取操作數(shù)的有效地址
,- 執(zhí)行周期為了
取操作數(shù)
,- 中斷周期為了將
斷點(diǎn)信息保存到主存的堆棧中
。- 計(jì)算機(jī)根據(jù)
指令周期的不同階段
來區(qū)分從存儲(chǔ)器取出的是指令還是數(shù)據(jù)。比如,取值周期取出的是指令,執(zhí)行周期取出的是數(shù)據(jù)。- 取指周期、執(zhí)行周期
必有
,間址周期和中斷周期可能有可能沒有
。
取指周期完后,檢測地址碼的數(shù)據(jù)地址采用間址尋址、或寄存器間接尋址,若是則進(jìn)入間址周期。
在執(zhí)行周期完后 = 一條指令執(zhí)行完后
,會(huì)判斷是否有中斷請求,有則進(jìn)入中斷周期。- 指令的取指操作是否相同—取決于
指令長度
,若指令長度相同,則取指操作相同。![]()
- 指令的間址操作是否相同—取決于尋址方式和幾次間址
![]()
2.2.1 取指周期
注意:
- 進(jìn)行訪存操作時(shí),是MAR先通過地址總線將地址給存儲(chǔ)器。然后, CU再通過控制總線發(fā)出讀寫信號(hào),最后將數(shù)據(jù)放入MDR.
- PC在取指周期結(jié)束周期+“1”
- 指令總是根據(jù)
PC
從主存中讀出。即便是轉(zhuǎn)移指令,也是通過修改PC實(shí)現(xiàn)的。![]()
2.2.2 間址周期(取操作數(shù)的有效地址)
注意:間址周期是取操作數(shù)的
有效地址
,而不是操作數(shù)。
2.2.3 執(zhí)行周期
不同的指令,執(zhí)行情況肯定不同,因此執(zhí)行周期沒有統(tǒng)一的流向。
2.2.4 中斷周期
注意:和讀操作一樣,讀寫控制在MAR和MDR之間。
2.3 指令執(zhí)行方案
3. 運(yùn)算器的數(shù)據(jù)通路
數(shù)據(jù)在功能部件之間傳送的路徑稱為數(shù)據(jù)通路。其功能是實(shí)現(xiàn)運(yùn)算器和寄存器以及寄存器之間的數(shù)據(jù)交換。
數(shù)據(jù)通路描述了數(shù)據(jù)從什么地方來,經(jīng)過了哪些功能部件,最后傳送到哪里。
* 數(shù)據(jù)通路的基本結(jié)構(gòu)
1. 專用數(shù)據(jù)通路方式:每個(gè)流動(dòng)端都連接線,避免共享,性能高,但是硬件量大。
2. 總線數(shù)據(jù)通路方式:容易數(shù)據(jù)沖突
1. 單總線
2. 雙總線
3. 多總線
3.1 基于CPU內(nèi)部單總線的數(shù)據(jù)通路
注意:
- MDRinE,E是指外部總線,MDRin沒有E指內(nèi)部總線
寫操作序列的幾個(gè)注意點(diǎn):
- 取值周期
- PC將值給MAR后立即自加。
(PC)+1->PC
和M(MAR)->MAR
放在一起,且讀寫信號(hào)在該行- 記得寫第四步
指令譯碼
- 間址周期
- 將數(shù)放讀入MDR后,只需要其放入ALU一端的暫存寄存器中,不需要將其放回到原寄存器中。
- 需要將操作數(shù)放在ALU兩端,若只有一端有暫存寄存器,則將間接尋址的數(shù)放入暫存寄存器即可,另一個(gè)不動(dòng)。
若兩端都有暫存寄存器,則需要將另一個(gè)數(shù)也放入暫存寄存器中。- 若一端為
形式地址=有效地址
,則(X) + Ad(IR) -> ...
![]()
- 執(zhí)行周期
- ALU上有控制信號(hào)
注意:
運(yùn)算時(shí),若只知道一個(gè)操作數(shù),另一個(gè)操作數(shù)默認(rèn)在ACC中。此時(shí),在執(zhí)行周期中,需要將運(yùn)算完后的數(shù)據(jù)放回到ACC中
變址尋址方式:
- 先需要根據(jù)變址寄存器和形式地址找到數(shù)據(jù)的有效地址(需要用到地址加法器)
- 再讀取數(shù)據(jù)。
![]()
最少節(jié)拍問題與立即尋址問題
- 最少節(jié)拍:先考慮分為幾個(gè)事件,單獨(dú)寫出所有事件,再一個(gè)為基準(zhǔn),其他的逐條插入進(jìn)來??紤]兩點(diǎn):
- 是否占用CPU內(nèi)部總線
- 是否沖突
![]()
- 立即尋址問題:立即數(shù)表示
Ad(IR)
![]()
微程序控制器需要增加的微操作:(CMDR代替cIR,沒有cIR)
- 雖然一條指令對應(yīng)一個(gè)微程序,但是由于取指令是公用的微程序。因此,一條指令的執(zhí)行涉及到兩個(gè)微程序的運(yùn)行。
- 相對于硬布線控制器
每兩個(gè)指令操作中間要增加一個(gè)微操作
。類似于鏈表,指明下一條微指令的地址- 微程序之間,后面的微程序地址由指令的操作碼字段譯碼得到
![]()
4. 控制器
控制器功能:
- 取指令
- 執(zhí)行指令:根據(jù)指令得到一系列有序的微操作控制信號(hào),通過微操作控制信號(hào)去執(zhí)行指令。
根據(jù)控制器產(chǎn)生微操作控制信號(hào)【微操作不是指微程序,硬布線和微程序都有】
的方式不同,設(shè)計(jì)控制器中CU有2種方案:
- 硬布線控制器(采用
純硬件,即組合邏輯
的方式)
- 缺點(diǎn):
- 指令越多,設(shè)計(jì)和實(shí)現(xiàn)就越復(fù)雜,因此一般用于
RISC
(精簡指令集系統(tǒng))- 如果擴(kuò)充一條新的指令,則控制器的設(shè)計(jì)就需要大改,因此
擴(kuò)充指令較困難
。- 優(yōu)點(diǎn):
1. 由于使用純硬件實(shí)現(xiàn)控制,因此執(zhí)行速度很快
。微操作控制信號(hào)由組合邏輯電路即時(shí)產(chǎn)生。- 微程序控制器(采用
軟件和硬件
結(jié)合的方式)
- 缺點(diǎn):
速度慢
- 優(yōu)點(diǎn):
- 容易擴(kuò)充指令,較容易實(shí)現(xiàn),適用于
CISC
系統(tǒng)(復(fù)雜指令集系統(tǒng))
4.1 硬布線控制器
4.1.1 硬布線控制器的組成
硬布線控制器中,每條指令由多個(gè)機(jī)器周期組成,而每個(gè)機(jī)器周期都由多個(gè)節(jié)拍組成。
硬布線控制器是由3個(gè)輸入信號(hào)產(chǎn)生微操作控制信號(hào):
① 指令譯碼器產(chǎn)生的指令譯碼信號(hào)
② 時(shí)序系統(tǒng)產(chǎn)生的節(jié)拍信號(hào)
③ 來自執(zhí)行單元的反饋信號(hào)=標(biāo)志信號(hào)
產(chǎn)生并輸出一系列有序的微操作控制信號(hào)。
注意:
- ①②③中①②最重要
- CU還接受來自控制總線的控制信號(hào),比如中斷請求、DMA請求等,但這些與產(chǎn)生微操作控制信號(hào)無關(guān)。
4.1.2 CPU控制方式
CPU如何依次執(zhí)行一個(gè)確定的微操作序列?
- 同步控制:系統(tǒng)有一個(gè)統(tǒng)一的時(shí)鐘
- 優(yōu)點(diǎn):電路簡單
- 缺點(diǎn):運(yùn)行速度慢
- 異步控制:沒有統(tǒng)一時(shí)鐘,各部件按照自身速度工作
- 優(yōu)點(diǎn):運(yùn)行速度快
- 缺點(diǎn):電路復(fù)雜
- 聯(lián)合方式:大部分采用同步控制,小部分采用異步控制
4.2 微程序控制器
4.2.1 微程序控制器的組成
微程序控制器采用存儲(chǔ)邏輯實(shí)現(xiàn),也就是把微操作控制信號(hào)代碼化,即微指令
(微指令產(chǎn)生微操作控制信號(hào)),然后把微指令組成的微程序存入控制寄存器CM
中。這就是微程序控制器。
其思想是:為每條指令設(shè)計(jì)一個(gè)微程序
。每個(gè)微程序包含若干微指令
,每條微指令對應(yīng)若干微命令
。
而硬布線控制的每條指令包含若干機(jī)器周期,每個(gè)機(jī)器周期包含若干個(gè)微操作。
注意:
- 微程序控制器中采用微命令概念,而
微命令執(zhí)行的操作微操作
![]()
- 指令 vs 微指令:
- 指令是對
程序
執(zhí)行步驟的描述;- 而微指令是對
指令
執(zhí)行步驟的描述。- 主存 vs 控制寄存器:
- 主存用于存放
指令
和數(shù)據(jù)
;在CPU外;用DRAM
實(shí)現(xiàn)- CM用于存放
微指令
;在CPU內(nèi);用ROM
實(shí)現(xiàn)- MAR vs CMAR(微地址寄存器):
- 地址寄存器:用于存放對主存的讀寫地址
- 微地址寄存器:用于存放對控制寄存器的讀寫地址
- MDR vs CMDR:
- 數(shù)據(jù)寄存器:用于存放從
寫入主存/從主存中讀出
的數(shù)據(jù)- 微數(shù)據(jù)寄存器:
從控制寄存器中讀出
的數(shù)據(jù)。- 指令和微指令結(jié)構(gòu)一樣,都是兩個(gè)字段:操作碼、地址碼
- 微程序控制器中將取指令操作統(tǒng)一編寫成一個(gè)微程序。因此,
若指令系統(tǒng)中有n中機(jī)器指令,則控制寄存器中的微程序數(shù)至少是n+1
若帶中斷,則還需+1,即n + 2
![]()
其執(zhí)行過程:
4.2.2 微指令的設(shè)計(jì)
4.2.2.1 微指令的格式
注意:
- 一條水平型微指令能定義多個(gè)可并行的微命令;而一條垂直型微指令能定義一個(gè)微命令
- 無論是上面哪種格式的微指令。一條微指令都存放在控制器的
一個(gè)
控制存儲(chǔ)器單元中。
4.2.2.2 微指令的編碼方式
指:對水平型微指令操作碼字段的多個(gè)微操作進(jìn)行編碼。
有3種方式:
例題:
- 直接編碼:
注意:一條微指令都存放在控制器的
一個(gè)
控制存儲(chǔ)器單元中。- 字段直接編碼 【注意:每個(gè)字段需要留
1個(gè)狀態(tài)
表示不操作】![]()
4.2.2.3 微指令的地址方式
后序微指令地址的形成主要有如下幾類:
例題:
4.3 硬布線控制器 vs 微程序控制器
微程序的目標(biāo):提高速度、靈活性,減少指令長度
5. 指令流水線
5.1 指令流水線的基本概念
注意:
CISC
可以采用指令流水線技術(shù)和非流水線技術(shù),但是,RISC
必須采用流水線技術(shù)。所以,默認(rèn)定長指令。
5.1.1 指令流水的定義
假設(shè)指令周期分為3個(gè)階段: 取指令、分析指令、執(zhí)行指令。則該指令連續(xù)執(zhí)行的方式主要有如下3種:
注意:
- 穩(wěn)定時(shí)的流水線與并行執(zhí)行的吞吐率相同。
![]()
- 段時(shí)間不相等時(shí)情況
![]()
- 流水線的數(shù)據(jù)通路(默認(rèn)以完整的5段流水)
![]()
5.1.2 指令流水的特點(diǎn)
指令流水中機(jī)器周期:
功能部件最長的
+緩沖寄存器時(shí)間
5.1.3 指令流水的2種表示方式
5.1.4 流水線的性能指標(biāo)
* 流水線的性能指標(biāo)
1. 吞吐率
2. 加速比
3. 效率
計(jì)算流水線帶寬的例題:
5.2 指令流水線影響因素
5.2.1 影響流水線的因素
* 影響流水線的因素
1. 結(jié)構(gòu)相關(guān)(資源沖突/冒險(xiǎn))
2. 數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突/冒險(xiǎn))
3. 控制相關(guān)(控制沖突/冒險(xiǎn))
注意:
- 轉(zhuǎn)移指令和修改PC值的指令都可能引起控制相關(guān)。類似于判斷、循環(huán)、函數(shù)調(diào)用、遞歸等涉及跳轉(zhuǎn)的
![]()
- 數(shù)據(jù)沖突有:和寫有關(guān)都可能沖突—
RAW(寫后讀)
、WAR(讀后寫)
、WAW(寫后寫)
但是,流水線按序流動(dòng)時(shí),只可能出現(xiàn)RAW(寫后讀)
沖突
非順序, 則以上3中都有可能![]()
5.3 流水線的多發(fā)技術(shù)
* 流水線的多發(fā)技術(shù)
1. 超標(biāo)量流水線技術(shù)(多核CPU,空間并行)
2. 超流水線技術(shù)
3. 超長指令字
注意:超標(biāo)量流水線技術(shù)必須是多核CPU,從而實(shí)現(xiàn)
一個(gè)時(shí)鐘周期內(nèi)多次使用一個(gè)功能部件
。其使用了多個(gè)重復(fù)的功能部件
和動(dòng)態(tài)調(diào)整技術(shù)
,從而提高指令執(zhí)行的并行性。
例題:
- 采用度為4的超標(biāo)量流水線CPU,指其一個(gè)時(shí)鐘周期內(nèi)能發(fā)出4條指令。
![]()
5.4 指令流水綜合例題
6. 幾個(gè)??贾噶?/h2>
6.1 運(yùn)算類指令
6.2 LOAD指令
6.3 STORE指令
6.4 條件轉(zhuǎn)移類指令
6.5 無條件轉(zhuǎn)移類指令
文章來源:http://www.zghlxwxcb.cn/news/detail-509761.html
6.6 例題
文章來源地址http://www.zghlxwxcb.cn/news/detail-509761.html
7. 補(bǔ)充
1. 程序員可見的寄存器:
1. PSW
2. 通用寄存器
3. PC
2. 程序員不可見的寄存器:
1. IR
2. MAR
3. MDR
4. 暫存寄存器
3. 控制器里面:
1. CU
2. MAR
3. MDR
4. IR
5. PC
6. 指令譯碼電路 (只對操作碼進(jìn)行譯碼,而不是整個(gè)指令)
7. 微程序信號(hào)發(fā)生器
8. 時(shí)序電路
4. 運(yùn)算器里面:
1. ALU
2. ACC
3. MQ
4. 通用寄存器
5. PSW
6. 移位器:對運(yùn)算結(jié)果進(jìn)行移位運(yùn)算。
7. 計(jì)數(shù)器:控制乘除運(yùn)算的操作步數(shù)。
5. 條件轉(zhuǎn)移指令:
1. 執(zhí)行時(shí)所依據(jù)的條件來自:標(biāo)志寄存器
2. 實(shí)現(xiàn)跳轉(zhuǎn)來自:程序計(jì)算器PC
6. n位CPU指__(地址總線/數(shù)據(jù)總線/控制總線)位數(shù)。
答:數(shù)據(jù)總線。表示CPU一次處理數(shù)據(jù)的位數(shù)。
7. 判斷:轉(zhuǎn)移指令時(shí),PC的值總是修改為轉(zhuǎn)移指令的目標(biāo)地址。
錯(cuò)。因?yàn)樾枰袛嗵D(zhuǎn)是否成功,即條件是否成立。若不成功則順序執(zhí)行。
8. PC的位數(shù) = MAR的位數(shù) ->取決于存儲(chǔ)器的容量
9. 通用寄存器的位數(shù)取決于___(指令長度/機(jī)器字長/存儲(chǔ)器的容量)
答:機(jī)器字長。因?yàn)橥ㄓ眉拇嫫骺梢源娣艛?shù)據(jù)和地址,所以其位數(shù)盡可能的大。
10. 判斷:通用寄存器可以替代指令寄存器。
錯(cuò)誤。指令寄存器是專門存放指令的寄存器。
11. 指令譯碼是對___(整條指令/操作碼/地址碼)進(jìn)行譯碼
答:操作碼
12. CPU取分指令和數(shù)據(jù)的依據(jù)是()‘
A. 指令操作碼的譯碼結(jié)果 B. 指令周期的不同階段
選B。計(jì)算機(jī)根據(jù)指令周期的不同階段來區(qū)分從存儲(chǔ)器取出的是指令還是數(shù)據(jù),取值周期取出的是指令,執(zhí)行周期取出的是數(shù)據(jù)。
而指令操作碼的譯碼結(jié)果用于區(qū)分該指令屬于哪類指令。
13. 采用DMA方式傳送數(shù)據(jù)時(shí),每傳送一個(gè)數(shù)據(jù)就要占( )
A. 指令周期 B. 時(shí)鐘周期 C. 機(jī)器周期 D. 存取周期
選D。A,B,C都是指令中的概念,而存取周期指存儲(chǔ)器進(jìn)行連續(xù)兩次獨(dú)立的存儲(chǔ)器操作(連續(xù)兩次讀或?qū)懖僮?所需要的最小時(shí)間間隔。
14. 判:指令總是根據(jù)程序計(jì)算器從主存中讀出。 正確。因?yàn)?,轉(zhuǎn)移等其他跳轉(zhuǎn)指令都是通過修改PC的指而實(shí)現(xiàn)的。
15. 判:為了進(jìn)行取指令操作,控制器需要得到相應(yīng)的指令。
錯(cuò)誤。取指操作是自動(dòng)進(jìn)行的。
16. 判:通常把通過一次總線事務(wù)訪問一次主存或I/O的時(shí)間定為一個(gè)機(jī)器周期。
正確。因?yàn)镃PU內(nèi)部的操作速度快,而CPU訪問一次存儲(chǔ)器的時(shí)間較長,因此機(jī)器周期通常由訪問主存或I/O的時(shí)間確定。
17. 判:每個(gè)指令周期都包含一個(gè)中斷響應(yīng)的機(jī)器周期。
錯(cuò)誤。只有在有中斷請求時(shí),指令才會(huì)有中斷響應(yīng)的機(jī)器周期。(間址周期也類似,可以回去看看上面那個(gè)圖)
18. 判斷:執(zhí)行各條指令的機(jī)器周期數(shù)可變,各機(jī)器周期的長度均勻。
錯(cuò)誤。應(yīng)該是執(zhí)行各條指令的機(jī)器周期數(shù)可變,各機(jī)器周期的長度可變。
每條指令可能有間址周期、中斷周期,故機(jī)器周期數(shù)可變。每個(gè)機(jī)器周期的節(jié)拍數(shù)可能不等,故機(jī)器長度也可不等,但是采用流水線技術(shù)時(shí)一般相等。
19. 判斷:凡是存儲(chǔ)器間接尋址的指令,他們的操作都是相同的。
錯(cuò)誤。存儲(chǔ)器間接尋址包括一次間接、兩次間接、多次間接,因此操作可能不同。
20. 判斷:所有指令的取值操作相同。
錯(cuò)誤。不同長度的指令,取值操作不同,比如雙字長的指令要兩次訪問主存。
另外,這種說法是對的:在指令長度相同的情況下,所有指令的取值操作相同。
21. 說法正確的是( 多選)
A. 指令字長等于機(jī)器字長的前提下,取值周期等于機(jī)器周期
B. 指令字長等于存儲(chǔ)字長的前提下,取值周期等于機(jī)器周期
C. 指令字長和機(jī)器字長的長度沒有任何關(guān)系
D. 為了方便硬件設(shè)計(jì),指令字長和存儲(chǔ)字長一樣大。
B, C。指令字長一般為存儲(chǔ)字長的整數(shù)倍,若指令字長為存儲(chǔ)字長的兩倍,則需要2次訪問主存,取值周期等于兩倍的機(jī)器周期。故B對
指令長度與機(jī)器字長無關(guān),故A錯(cuò),C對。
指令指令字長一般取字節(jié)或存儲(chǔ)字長的整數(shù)倍,不一定都和存儲(chǔ)字長一樣大。
22. 在組合邏輯控制器中,微操作控制信號(hào)的形成主要與( )信號(hào)有關(guān)。
A. 指令操作碼和地址碼
B. 指令譯碼信號(hào)和時(shí)鐘
C. 操作碼和條件碼
D. 狀態(tài)信息和條件
選B. 硬布線主要是根據(jù)三個(gè)輸入信號(hào)輸出一系列控制信號(hào)。這三個(gè)輸入信號(hào)是
1. 指令譯碼電路產(chǎn)生的指令譯碼信號(hào)
2. 時(shí)序系統(tǒng)產(chǎn)生的機(jī)器周期和節(jié)拍信號(hào)
3. 來自執(zhí)行單元的反饋信號(hào),即標(biāo)志信號(hào)。
而這三個(gè)中1,2最重要。
23. 判斷:采用微程序控制器是為了提高速度。
錯(cuò)誤。硬布線控制器的速度更快,采用微程序控制器主要是為了提高靈活性。
24. 判斷:控制存儲(chǔ)器由高速RAM電路組成。
錯(cuò)誤。CM是CU中類似于控制器中主存的存在,但是其是由ROM組成。
25. 判斷:微指令計(jì)數(shù)器決定指令執(zhí)行順序。
錯(cuò)誤。CU中的微指令計(jì)數(shù)器類似于控制器中PC的存在,用于決定微指令執(zhí)行順序。
26. 判斷:一條微指令存放在控制器的一個(gè)控制存儲(chǔ)器單元中。
正確。注意一個(gè)控制存儲(chǔ)器單元存放一條微指令。
27. 判斷:微程序控制器的時(shí)序系統(tǒng)比硬布線的簡單。
正確。因?yàn)橛膊季€控制器中時(shí)序是輸入信號(hào),設(shè)計(jì)組合邏輯電路時(shí)會(huì)更加復(fù)雜。
28. 在微程序控制器中,控制部件向執(zhí)行部件發(fā)出的某個(gè)控制信號(hào)稱為( )
A. 微程序 B. 微指令 C. 微操作 D. 微命令
D. 控制部件向執(zhí)行部件發(fā)出的控制信號(hào)是微命令,微命令執(zhí)行的操作叫微操作。
29. 判斷:水平型微指令和垂直型微指令一次都只能完成一個(gè)基本操作。
錯(cuò)誤。前者可以完成多個(gè),后者只能完成一個(gè)。
30. 判斷:采用微程序控制器的處理器稱為微處理器。
錯(cuò)誤。微處理器指控制器和運(yùn)算器集成在一塊板上,即CPU。
31. 判斷:在微指令編碼中,效率最低的是直接編碼方式。
錯(cuò)誤。如果是編碼效率,直接編碼方式效率最低。但是如果是執(zhí)行效率,則其最快,因?yàn)槠洳恍枰g碼。
32. 判斷:每條指令由一段微程序來解釋執(zhí)行。
正確。意思就是由多個(gè)連續(xù)的微程序執(zhí)行。
33. RISC機(jī)器一定是采用流水CPU,而采用流水CPU的不一定是RISC,CISC也可以采用流水CPU
34. 判斷:流水CPU利用的是空間并行性原理。
錯(cuò)誤。是時(shí)間并行性。
空間并行:即資源復(fù)用,主要指多個(gè)功能部件同時(shí)執(zhí)行同一任務(wù)的不同部分。
時(shí)間并行:即時(shí)間重疊,讓多個(gè)功能部件在時(shí)間上相互錯(cuò)開,輪流執(zhí)行不同任務(wù)的相同部分。
35. 判斷:超標(biāo)量流水技術(shù)能夠縮短流水線功能段的處理時(shí)間。
錯(cuò)誤。(看圖)
到了這里,關(guān)于計(jì)組高分筆記:【05】中央處理器 「CPU細(xì)節(jié) | 取指周期 | 間址周期 | 執(zhí)行周期 | 中斷周期 | 數(shù)據(jù)通路 | 硬布線控制器 | 微程序控制器 | 指令流水線 | LOAD | STORE」的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!