天天看點

計算機組成原理(複習)

\1. 什麼是計算機系統、計算機硬體和計算機軟體?硬體和軟體哪個更重要?

解:P3

計算機系統:由計算機硬體系統和軟體系統組成的綜合體。

計算機硬體:指計算機中的電子線路和實體裝置。

計算機軟體:計算機運作所需的程式及相關資料。

硬體和軟體在計算機系統中互相依存,缺一不可,是以同樣重要。

\5. 馮•諾依曼計算機的特點是什麼?

解:馮•諾依曼計算機的特點是:P8

l 計算機由運算器、控制器、存儲器、輸入裝置、輸出裝置五大部件組成;

l 指令和資料以同同等地位存放于存儲器内,并可以按位址通路;

l 指令和資料均用二進制表示;

l 指令由操作碼、位址碼兩大部分組成,操作碼用來表示操作的性質,位址碼用來表示操作數在存儲器中的位置;

l 指令在存儲器中順序存放,通常自動順序取出執行;

l 機器以運算器為中心(原始馮•諾依曼機)。

\7. 解釋下列概念:

主機、CPU、主存、存儲單元、存儲元件、存儲基元、存儲元、存儲字、存儲字長、存儲容量、機器字長、指令字長。

解:P9-10

主機:是計算機硬體的主體部分,由CPU和主存儲器MM合成為主機。

CPU:中央處理器,是計算機硬體的核心部件,由運算器和控制器組成;(早期的運算器和控制器不在同一晶片上,現在的CPU内除含有運算器和控制器外還內建了CACHE)。

主存:計算機中存放正在運作的程式和資料的存儲器,為計算機的主要工作存儲器,可随機存取;由存儲體、各種邏輯部件及控制電路組成。

存儲單元:可存放一個機器字并具有特定存儲位址的存儲機關。

存儲元件:存儲一位二進制資訊的實體元件,是存儲器中最小的存儲機關,又叫存儲基元或存儲元,不能單獨存取。

存儲字:一個存儲單元所存二進制代碼的邏輯機關。

存儲字長:一個存儲單元所存二進制代碼的位數。

存儲容量:存儲器中可存二進制代碼的總量;(通常主、輔存容量分開描述)。

機器字長:指CPU一次能處理的二進制資料的位數,通常與CPU的寄存器位數有關。

指令字長:一條指令的二進制代碼位數。

\8. 解釋下列英文縮寫的中文含義:

CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS

解:全面的回答應分英文全稱、中文名、功能三部分。

CPU:Central Processing Unit,中央處理機(器),是計算機硬體的核心部件,主要由運算器和控制器組成。

PC:Program Counter,程式計數器,其功能是存放目前欲執行指令的位址,并可自動計數形成下一條指令位址。

IR:Instruction Register,指令寄存器,其功能是存放目前正在執行的指令。

CU:Control Unit,控制單元(部件),為控制器的核心部件,其功能是産生微操作指令序列。

ALU:Arithmetic Logic Unit,算術邏輯運算單元,為運算器的核心部件,其功能是進行算術、邏輯運算。

ACC:Accumulator,累加器,是運算器中既能存放運算前的操作數,又能存放運算結果的寄存器。

MQ:Multiplier-Quotient Register,乘商寄存器,乘法運算時存放乘數、除法時存放商的寄存器。

X:此字母沒有專指的縮寫含義,可以用作任一部件名,在此表示操作數寄存器,即運算器中工作寄存器之一,用來存放操作數;

MAR:Memory Address Register,存儲器位址寄存器,在主存中用來存放欲通路的存儲單元的位址。

MDR:Memory Data Register,存儲器資料緩沖寄存器,在主存中用來存放從某單元讀出、或要寫入某存儲單元的資料。

I/O:Input/Output equipment,輸入/輸出裝置,為輸入裝置和輸出裝置的總稱,用于計算機内部和外界資訊的轉換與傳送。

MIPS:Million Instruction Per Second,每秒執行百萬條指令數,為計算機運算速度名額的一種計量機關。

\9. 畫出主機框圖,分别以存數指令“STA M”和加法指令“ADD M”(M均為主存位址)為例,在圖中按序标出完成該指令(包括取指令階段)的資訊流程(如→①)。假設主存容量為256M*32位,在指令字長、存儲字長、機器字長相等的條件下,指出圖中各寄存器的位數。

解:主機框圖如P13圖1.11所示。

(1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

OP(IR) →CU,Ad(IR) →MAR,ACC→MDR,MAR→MM,WR

(2)ADD M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

​ OP(IR) →CU,Ad(IR) →MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR

假設主存容量256M*32位,在指令字長、存儲字長、機器字長相等的條件下,ACC、X、IR、MDR寄存器均為32位,PC和MAR寄存器均為28位。

\11. 指令和資料都存于存儲器中,計算機如何區分它們?

解:計算機區分指令和資料有以下2種方法:

l 通過不同的時間段來區分指令和資料,即在取指令階段(或取指微程式)取出的為指令,在執行指令階段(或相應微程式)取出的即為資料。

l 通過位址來源區分,由PC提供存儲單元位址的取出的是指令,由指令位址碼部分提供存儲單元位址的取出的是操作數。

\1. 什麼是總線?總線傳輸有何特點?為了減輕總線負載,總線上的部件應具備什麼特點?

答:P41.總線是多個部件共享的傳輸部件。

總線傳輸的特點是:某一時刻隻能有一路資訊在總線上傳輸,即分時使用。

為了減輕總線負載,總線上的部件應通過三态驅動緩沖電路與總線連通。

\4. 為什麼要設定總線判優控制?常見的集中式總線控制有幾種?各有何特點?哪種方式響應時間最快?哪種方式對電路故障最敏感?

答:總線判優控制解決多個部件同時申請總線時的使用權配置設定問題;

常見的集中式總線控制有三種:鍊式查詢、計數器定時查詢、獨立請求;

特點:鍊式查詢方式連線簡單,易于擴充,對電路故障最敏感;計數器定時查詢方式優先級設定較靈活,對故障不敏感,連線及控制過程較複雜;獨立請求方式速度最快,但硬體器件用量大,連線多,成本較高。

\5. 解釋下列概念:總線寬度、總線帶寬、總線複用、總線的主裝置(或主子產品)、總線的從裝置(或從子產品)、總線的傳輸周期和總線的通信控制。

答:P46。

總線寬度:通常指資料總線的根數;

總線帶寬:總線的資料傳輸率,指機關時間内總線上傳輸資料的位數;

總線複用:指同一條信号線可以分時傳輸不同的信号。

總線的主裝置(主子產品):指一次總線傳輸期間,擁有總線控制權的裝置(子產品);

總線的從裝置(從子產品):指一次總線傳輸期間,配合主裝置完成資料傳輸的裝置(子產品),它隻能被動接受主裝置發來的指令;

總線的傳輸周期:指總線完成一次完整而可靠的傳輸所需時間;

總線的通信控制:指總線傳送過程中雙方的時間配合方式。

\6. 比較同步通信和異步通信。

答:同步通信:指由統一時鐘控制的通信,控制方式簡單,靈活性差,當系統中各部件工作速度差異較大時,總線工作效率明顯下降。适合于速度差别不大的場合。

異步通信:指沒有統一時鐘控制的通信,部件間采用應答方式進行聯系,控制方式較同步複雜,靈活性高,當系統中各部件工作速度差異較大時,有利于提高總線工作效率。

\7. 畫圖說明異步通信中請求與回答有幾種互鎖關系

計算機組成原理(複習)

1)不互鎖方式:

主子產品送出請求請求信号後,不必等待從子產品的回答信号,而是經過一段時間,确認從子產品已收到請求信号後,便撤銷其請求信号;從子產品接收請求信号後,在條件允許時發出回答信号,并且經過一段時間(這段時間的設定對不同裝置而言是不同的)确認主子產品已收到回答信号後,自動撤銷回答信号。

2)半互鎖方式:

主子產品送出請求信号,必須待接到從子產品的回答信号後再撤銷其請求信号,有互鎖關系;而從子產品在接到請求信号後發出回答信号,但不必等待獲知主子產品的請求信号已經撤銷,而是隔一段時間後自動撤銷其回答信号,無互鎖關系。由于一方存在互鎖關系,一方不存在互鎖關系,故稱為半互鎖方式。

3)全互鎖方式:

主子產品送出請求信号後,必須待從子產品回答後再撤銷其請求信号;從子產品發出回答信号後,必須待獲知主子產品請求信号已撤銷後,再撤回其回答信号。雙方存在互鎖關系,故稱為全互鎖方式。

\8. 為什麼說半同步通信同時保留了同步通信和異步通信的特點?

答:半同步通信既能像同步通信那樣由統一時鐘控制,又能像異步通信那樣允許傳輸時間不一緻,是以工作效率介于兩者之間。

3.14 設總線的時鐘頻率為8MHz,一個總線周期等于一個時鐘周期。如果一個總線周期中并行傳送16位資料,試問總線的帶寬是多少?

解;總線寬度 = 16位/8 =2B 總線帶寬 = 8MHz×2B =16MB/s

3.15 在一個32位的總線系統中,總線的時鐘頻率為66MHz,假設總線最短傳輸周期為4個時鐘周期,試計算總線的最大資料傳輸率。若想提高資料傳輸率,可采取什麼措施?

解法1: 總線寬度 =32位/8 =4B 時鐘周期 =1/ 66MHz =0.015µs

總線最短傳輸周期 =0.015µs×4 =0.06µs

總線最大資料傳輸率 = 4B/0.06µs =66.67MB/s

解法2: 總線工作頻率 = 66MHz/4 =16.5MHz 總線最大資料傳輸率=16.5MHz×4B =66MB/s

若想提高總線的資料傳輸率,可提高總線的時鐘頻率,或減少總線周期中的時鐘個數,或增加總線寬度。

3.16 在異步串行傳送系統中,字元格式為:1個起始位、8個資料位、1個校驗位、2個終止位。若要求每秒傳送120個字元,試求傳送的波特率和比特率。

解: 一幀 =1+8+1+2 =12位 波特率 =120幀/秒×12位=1440波特

比特率 = 1440波特×(8/12)=960bps或:比特率 = 120幀/秒×8 =960bps

\1. 解釋概念:主存、輔存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。

答:主存:主存儲器,用于存放正在執行的程式和資料。CPU可以直接進行随機讀寫,通路速度較高。

輔存:輔助存儲器,用于存放目前暫不執行的程式和資料,以及一些需要永久儲存的資訊。

Cache:高速緩沖存儲器,介于CPU和主存之間,用于解決CPU和主存之間速度不比對問題。

RAM:半導體随機存取存儲器,主要用作計算機中的主存。

SRAM:靜态半導體随機存取存儲器。

DRAM:動态半導體随機存取存儲器。

ROM:掩膜式半導體隻讀存儲器。由晶片制造商在制造時寫入内容,以後隻能讀出而不能寫入。

PROM:可程式設計隻讀存儲器,由使用者根據需要确定寫入内容,隻能寫入一次。

EPROM:紫外線擦寫可程式設計隻讀存儲器。需要修改内容時,現将其全部内容擦除,然後再程式設計。擦除依靠紫外線使浮動栅極上的電荷洩露而實作。

EEPROM:電擦寫可程式設計隻讀存儲器。

CDROM:隻讀型CD光牒。

Flash Memory:閃速存儲器。或稱快擦型存儲器。

\3. 存儲器的層次結構主要展現在什麼地方?為什麼要分這些層次?計算機如何管理這些層次?

答:存儲器的層次結構主要展現在Cache-主存和主存-輔存這兩個存儲層次上。

Cache-主存層次在存儲系統中主要對CPU訪存起加速作用,即從整體運作的效果分析,CPU訪存速度加快,接近于Cache的速度,而尋址空間和位價卻接近于主存。

主存-輔存層次在存儲系統中主要起擴容作用,即從程式員的角度看,他所使用的存儲器其容量和位價接近于輔存,而速度接近于主存。

綜合上述兩個存儲層次的作用,從整個存儲系統來看,就達到了速度快、容量大、位價低的優化效果。

主存與CACHE之間的資訊排程功能全部由硬體自動完成。而主存與輔存層次的排程目前廣泛采用虛拟存儲技術實作,即将主存與輔存的一部分通過軟硬結合的技術組成虛拟存儲器,程式員可使用這個比主存實際空間(實體位址空間)大得多的虛拟位址空間(邏輯位址空間)程式設計,當程式運作時,再由軟、硬體自動配合完成虛拟位址空間與主存實際實體空間的轉換。是以,這兩個層次上的排程或轉換操作對于程式員來說都是透明的。

\4. 說明存取周期和存取時間的差別。

解:存取周期和存取時間的主要差別是:存取時間僅為完成一次操作的時間,而存取周期不僅包含操作時間,還包含操作後線路的恢複時間。即:

存取周期 = 存取時間 + 恢複時間

\5. 什麼是存儲器的帶寬?若存儲器的資料總線寬度為32位,存取周期為200ns,則存儲器的帶寬是多少?

解:存儲器的帶寬指機關時間内從存儲器進出資訊的最大數量。

存儲器帶寬 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒

注意:字長32位,不是16位。(注:1ns=10-9s)

\6. 某機字長為32位,其存儲容量是64KB,按字編址它的尋址範圍是多少?若主存以位元組編址,試畫出主存字位址和位元組位址的配置設定情況。

解:存儲容量是64KB時,按位元組編址的尋址範圍就是64K,

如按字編址,其尋址範圍為:64K / (32/8)= 16K

主存字位址和位元組位址的配置設定情況:如圖

\7. 一個容量為16K×32位的存儲器,其位址線和資料線的總和是多少?當選用下列不同規格的存儲晶片時,各需要多少片?

1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位

解:位址線和資料線的總和 = 14 + 32 = 46根;

選擇不同的晶片時,各需要的片數為:

1K×4:(16K×32) / (1K×4) = 16×8 = 128片

2K×8:(16K×32) / (2K×8) = 8×4 = 32片

4K×4:(16K×32) / (4K×4) = 4×8 = 32片

16K×1:(16K×32)/ (16K×1) = 1×32 = 32片

4K×8:(16K×32)/ (4K×8) = 4×4 = 16片

8K×8:(16K×32) / (8K×8) = 2×4 = 8片

\9. 什麼叫重新整理?為什麼要重新整理?說明重新整理有幾種方法。

解:重新整理:對DRAM定期進行的全部重寫過程;

重新整理原因:因電容洩漏而引起的DRAM所存資訊的衰減需要及時補充,是以安排了定期重新整理操作;

常用的重新整理方法有三種:集中式、分散式、異步式。

集中式:在最大重新整理間隔時間内,集中安排一段時間進行重新整理,存在CPU訪存死時間。

分散式:在每個讀/寫周期之後插入一個重新整理周期,無CPU訪存死時間。

異步式:是集中式和分散式的折衷。

\10. 半導體存儲器晶片的譯碼驅動方式有幾種?

解:半導體存儲器晶片的譯碼驅動方式有兩種:線選法和重合法。

線選法:位址譯碼信号隻選中同一個字的所有位,結構簡單,費器材;

重合法:位址分行、列兩部分譯碼,行、列譯碼線的交叉點即為所選單元。這種方法通過行、列譯碼信号的重合來選址,也稱矩陣譯碼。可大大節省器材用量,是最常用的譯碼驅動方式。

\11. 一個8K×8位的動态RAM晶片,其内部結構排列成256×256形式,存取周期為0.1μs。試問采用集中重新整理、分散重新整理和異步重新整理三種方式的重新整理間隔各為多少?

解:采用分散重新整理方式重新整理間隔為:2ms,其中重新整理死時間為:256×0.1μs=25.6μs

采用分散重新整理方式重新整理間隔為:256×(0.1μs+×0.1μs)=51.2μs

采用異步重新整理方式重新整理間隔為:2ms

\15. 設CPU共有16根位址線,8根資料線,并用

(低電平有效)作訪存控制信号,

作讀寫指令信号(高電平為讀,低電平為寫)。現有下列存儲晶片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138譯碼器和其他門電路(門電路自定)。試從上述規格中選用合适晶片,畫出CPU和存儲晶片的連接配接圖。要求:

(1)最小4K位址為系統程式區,4096~16383位址範圍為使用者程式區。

(2)指出選用的存儲晶片類型及數量。

(3)詳細畫出片選邏輯。

解:(1)位址空間配置設定圖:

​ 系統程式區(ROM共4KB):0000H-0FFFH

​ 使用者程式區(RAM共12KB):1000H-3FFFH

(2)選片:ROM:選擇4K×4位晶片2片,位并聯

​ RAM:選擇4K×8位晶片3片,字串聯(RAM1位址範圍為:1000H-1FFFH,RAM2位址範圍為2000H-2FFFH, RAM3位址範圍為:3000H-3FFFH)

(3)各晶片二進制位址配置設定如下:

A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

ROM1,2

1

RAM1

RAM2

RAM3

CPU和存儲器連接配接邏輯圖及片選邏輯如下圖(3)所示:

圖(3)

\17. 寫出1100、1101、1110、1111對應的漢明碼。

解:有效資訊均為n=4位,假設有效資訊用b4b3b2b1表示

校驗位位數k=3位,(2k>=n+k+1)

設校驗位分别為c1、c2、c3,則漢明碼共4+3=7位,即:c1c2b4c3b3b2b1

校驗位在漢明碼中分别處于第1、2、4位

c1=b4⊕b3⊕b1

c2=b4⊕b2⊕b1

c3=b3⊕b2⊕b1

當有效資訊為1100時,c3c2c1=110,漢明碼為0111100。

當有效資訊為1101時,c3c2c1=001,漢明碼為1010101。

當有效資訊為1110時,c3c2c1=000,漢明碼為0010110。

當有效資訊為1111時,c3c2c1=111,漢明碼為1111111。

\18. 已知收到的漢明碼(按配偶原則配置)為1100100、1100111、1100000、1100001,檢查上述代碼是否出錯?第幾位出錯?

解:假設接收到的漢明碼為:c1’c2’b4’c3’b3’b2’b1’

糾錯過程如下:

P1=c1’⊕b4’⊕b3’⊕b1’

P2=c2’⊕b4’⊕b2’⊕b1’

P3=c3’⊕b3’⊕b2’⊕b1’

如果收到的漢明碼為1100100,則p3p2p1=011,說明代碼有錯,第3位(b4’)出錯,有效資訊為:1100

如果收到的漢明碼為1100111,則p3p2p1=111,說明代碼有錯,第7位(b1’)出錯,有效資訊為:0110

如果收到的漢明碼為1100000,則p3p2p1=110,說明代碼有錯,第6位(b2’)出錯,有效資訊為:0010

如果收到的漢明碼為1100001,則p3p2p1=001,說明代碼有錯,第1位(c1’)出錯,有效資訊為:0001

\24. 一個4體低位交叉的存儲器,假設存儲周期為T,CPU每隔1/4存取周期啟動一個存儲體,試問依次通路64個字需多少個存取周期?

解:4體低位交叉的存儲器的總線傳輸周期為τ,τ=T/4,依次通路64個字所需時間為:

t=T+(64-1) τ=T+63T/4=16.75T

\25. 什麼是“程式通路的局部性”?存儲系統中哪一級采用了程式通路的局部性原理?

答:程式運作的局部性原理指:在一小段時間内,最近被通路過的程式和資料很可能再次被通路;在空間上,這些被通路的程式和資料往往集中在一小片存儲區;在通路順序上,指令順序執行比轉移執行的可能性大 (大約 5:1 )。存儲系統中Cache-主存層次和主存-輔存層次均采用了程式通路的局部性原理。

\28. 設主存容量為256K字,Cache容量為2K字,塊長為4。

(1)設計Cache位址格式,Cache中可裝入多少塊資料?

(2)在直接映射方式下,設計主存位址格式。

(3)在四路組相聯映射方式下,設計主存位址格式。

(4)在全相聯映射方式下,設計主存位址格式。

(5)若存儲字長為32位,存儲器按位元組尋址,寫出上述三種映射方式下主存的位址格式。

解:(1)Cache容量為2K字,塊長為4,Cache共有2K/4=211/22=29=512塊,

Cache字位址9位,字塊内位址為2位

​ 是以,Cache位址格式設計如下:

Cache字塊位址(9位)

字塊内位址(2位)

(2)主存容量為256K字=218字,主存位址共18位,共分256K/4=216塊,

主存字塊标記為18-9-2=7位。

​ 直接映射方式下主存位址格式如下:

主存字塊标記(7位)

(3)根據四路組相聯的條件,一組内共有4塊,得Cache共分為512/4=128=27組,

主存字塊标記為18-7-2=9位,主存位址格式設計如下:

主存字塊标記(9位)

組位址(7位)

(4)在全相聯映射方式下,主存字塊标記為18-2=16位,其位址格式如下:

主存字塊标記(16位)

(5)若存儲字長為32位,存儲器按位元組尋址,則主存容量為256K*32/4=221B,

Cache容量為2K32/4=214B,塊長為432/4=32B=25B,字塊内位址為5位,

在直接映射方式下,主存字塊标記為21-9-5=7位,主存位址格式為:

字塊内位址(5位)

在四路組相聯映射方式下,主存字塊标記為21-7-5=9位,主存位址格式為:

在全相聯映射方式下,主存字塊标記為21-5=16位,主存位址格式為:

\29. 假設CPU執行某段程式時共通路Cache命中4800次,通路主存200次,已知Cache的存取周期為30ns,主存的存取周期為150ns,求Cache的命中率以及Cache-主存系統的平均通路時間和效率,試問該系統的性能提高了多少倍?

解:Cache被通路命中率為:4800/(4800+200)=24/25=96%

則Cache-主存系統的平均通路時間為:ta=0.9630ns+(1-0.96)150ns=34.8ns

Cache-主存系統的通路效率為:e=tc/ta100%=30/34.8100%=86.2%

性能為原來的150ns/34.8ns=4.31倍,即提高了3.31倍。

\30. 一個組相連映射的CACHE由64塊組成,每組内包含4塊。主存包含4096塊,每塊由128字組成,訪存位址為字位址。試問主存和高速存儲器的位址各為幾位?畫出主存位址格式。

解:cache組數:64/4=16 ,Cache容量為:64*128=213字,cache位址13位

主存共分4096/16=256區,每區16塊

主存容量為:4096*128=219字,主存位址19位,位址格式如下:

主存字塊标記(8位)

組位址(4位)

字塊内位址(7位)

\32. 設某機主存容量為4MB,Cache容量為16KB,每字塊有8個字,每字32位,設計一個四路組相聯映射(即Cache每組内共有4個字塊)的Cache組織。

(1)畫出主存位址字段中各段的位數。

(2)設Cache的初态為空,CPU依次從主存第0,1,2,…,89号單元讀出90個字(主存一次讀出一個字),并重複按此次序讀8次,問命中率是多少?

(3)若Cache的速度是主存的6倍,試問有Cache和無Cache相比,速度約提高多少倍?

解:(1)根據每字塊有8個字,每字32位(4位元組),得出主存位址字段中字塊内位址為3+2=5位。

根據Cache容量為16KB=214B,字塊大小為8*32/8=32=25B,得Cache位址共14位,Cache共有214-5=29塊。

根據四路組相聯映射,Cache共分為29/22=27組。

根據主存容量為4MB=222B,得主存位址共22位,主存字塊标記為22-7-5=10位,故主存位址格式為:

主存字塊标記(10位)

(2)由于每個字塊中有8個字,而且初态為空,是以CPU讀第0号單元時,未命中,必須通路主存,同時将該字所在的主存塊調入Cache第0組中的任一塊内,接着CPU讀第1~7号單元時均命中。同理,CPU讀第8,16,…,88号時均未命中。可見,CPU在連續讀90個字中共有12次未命中,而後8次循環讀90個字全部命中,命中率為:

(3)設Cache的周期為t,則主存周期為6t,沒有Cache的通路時間為6t908,有Cache的通路時間為t(908-12)+6t12,則有Cache和無Cache相比,速度提高的倍數為:

\1. I/O有哪些編址方式?各有何特點?

解:常用的I/O編址方式有兩種: I/O與記憶體統一編址和I/O獨立編址。

特點:I/O與記憶體統一編址方式的I/O位址采用與主存單元位址完全一樣的格式,I/O裝置和主存占用同一個位址空間,CPU可像通路主存一樣通路I/O裝置,不需要安排專門的I/O指令。

I/O獨立編址方式時機器為I/O裝置專門安排一套完全不同于主存位址格式的位址編碼,此時I/O位址與主存位址是兩個獨立的空間,CPU需要通過專門的I/O指令來通路I/O位址空間。

3.I/O裝置與主機交換資訊時,有哪幾種控制方式?簡述他們的特點

答: (1)程式查詢方式。其特點是主機與I/O串行工作。CPU啟動I/O後,時刻查詢I/O是否準備好,若裝置準備就緒,CPU便轉入處理I/O與主機間傳送資訊的程式;若裝置未做好準備,則CPU反複查詢,直到I/O準備就緒為止。可見這種方式CPU效率很低

(2)程式中斷方式。其特點是主機與I/O并行工作。CPU啟動I/O後,不必時刻查詢I/O是否準備好,而是繼續執行程式,當I/O準備就緒時。向CPU發中斷請求信号,CPU在适當時候響應I/O的中斷請求,暫停現行程式為I/O服務。這種方式消除了“踏步”現象,提高了CPU效率,(特點為:CPU與裝置并行工作,傳送與主程式串行工作)

(3)DMA方式。其特點是主機與I/O并行工作,主存和I/O之間有一條直接資料通路。CPU啟動I/O後,不必查詢I/O是否準備好,當I/O準備就緒後,發出DMA請求,此時CPU不參與I/O和主存間的資訊交換,隻是把外部總線(位址線、資料線以及有關的控制線)的使用權暫時賦予DMA,仍然可以完成自身内部的操作(如加法、位移等),故不必中斷現行程式,隻需暫停一個存取周期訪存(即周期挪用),CPU的效率高,(特點為:CPU與裝置并行工作,傳送與主程式并行工作)

(4)通道方式。通道是一個具有特殊功能的處理器,CPU把部分權力下放給通道,由它實作對外圍裝置的統一管理和外圍裝置與主存之間的資料交換,大大提高了CPU的效率,但它是以花費更多的硬體為代價。

(5)I/O處理機方式。它是通道方式的進一步發展,CPU将I/O操作及外圍裝置的管理權全部交給I/O處理機,其實質是多機系統,因而效率有更大提高

\10. 什麼是I/O接口,與端口有何差別?為什麼要設定I/O接口?I/O接口如何分類?

解:I/O接口一般指CPU和I/O裝置間的連接配接部件,而端口是指I/O接口内CPU能夠通路的寄存器,端口加上相應的控制邏輯即構成I/O接口。

I/O接口分類方法很多,主要有:

(1)按資料傳送方式分有并行接口和串行接口兩種;

(2)按資料傳送的控制方式分有程式控制接口、程式中斷接口、DMA接口三種。

\12. 結合程式查詢方式的接口電路,說明其工作過程。

解:程式查詢接口工作過程如下(以輸入為例):

1)CPU發I/O位址裝置開始工作;位址總線®接口®裝置選擇器譯碼®選中®發SEL信号; 2)CPU發啟動指令 DBR®開指令接收門; ® D置0,B置1 ® 接口向裝置發啟動指令;3)CPU等待,輸入裝置讀出資料;4)外設工作完成,B置0,D置1;5)準備就緒信号®接口®完成信号®控制總線® CPU;6)輸入:CPU通過輸入指令(IN)将DBR中的資料取走。

若為輸出,除資料傳送方向相反以外,其他操作與輸入類似。工作過程如下:

開指令接收門;®選中,發SEL信号®裝置選擇器譯碼®接口®位址總線®1)CPU發I/O位址 2)輸出: CPU通過輸出指令(OUT)将資料放入接口DBR中;裝置開始工作;®接口向裝置發啟動指令® D置0,B置1 ® 3)CPU發啟動指令 4)CPU等待,輸出裝置将資料從 DBR取走; B置0,D置1;®接口® 5)外設工作完成,完成信号 CPU,CPU可通過指令再次向接口DBR輸出資料,進行第二次傳送。®控制總線®6)準備就緒信号。

\13. 說明中斷向量位址和入口位址的差別和聯系。

解:中斷向量位址和入口位址的差別:

向量位址是硬體電路(向量編碼器)産生的中斷源的記憶體位址編号,中斷入口位址是中斷服務程式首址。

中斷向量位址和入口位址的聯系:

中斷向量位址可了解為中斷服務程式入口位址訓示器(入口位址的位址),通過它訪存可獲得中斷服務程式入口位址。 (兩種方法:在向量位址所指單元内放一條JMP指令;主存中設向量位址表。參考8.4.3)

\16. 在什麼條件和什麼時間,CPU可以響應I/O的中斷請求?

解:CPU響應I/O中斷請求的條件和時間是:當中斷允許狀态為1(EINT=1),且至少有一個中斷請求被查到,則在一條指令執行完時,響應中斷。

\28. CPU對DMA請求和中斷請求的響應時間是否一樣?為什麼?

解: CPU對DMA請求和中斷請求的響應時間不一樣,因為兩種方式的交換速度相差很大,是以CPU必須以更短的時間間隔查詢并響應DMA請求。響應中斷請求是在每條指令執行周期結束的時刻,而響應DMA請求是在存取周期結束的時刻。

中斷方式是程式切換,而程式又是由指令組成,是以必須在一條指令執行完畢才能響應中斷請求,而且CPU隻有在每條指令執行周期結束的時刻才發出查詢信号,以擷取中斷請求信号,若此時條件滿足,便能響應中斷請求。

DMA請求是由DMA接口根據裝置的工作狀态向CPU申請占用總線,此時隻要總線未被CPU占用,即可立即響應DMA請求;若總線正被CPU占用,則必須等待該存取周期結束時,CPU才交出總線的使用權。

\31. 假設某裝置向CPU傳送資訊的最高頻率是40 000次/秒,而相應的中斷處理程式其執行時間為40ms,試問該外設是否可用程式中斷方式與主機交換資訊,為什麼?

解:該裝置向CPU傳送資訊的時間間隔 =1/40000=0.025×10-3=25 m s < 40ms

則:該外設不能用程式中斷方式與主機交換資訊,因為其中斷處理程式的執行速度比該外設的交換速度慢。

\32. 設磁盤存儲器轉速為3000轉/分,分8個扇區,每扇區存儲1K位元組,主存與磁盤存儲器資料傳送的寬度為16位(即每次傳送16位)。假設一條指令最長執行時間是25ms,是否可采用一條指令執行結束時響應DMA請求的方案,為什麼?若不行,應采取什麼方案?

解:先算出磁盤傳送速度,然後和指令執行速度進行比較得出結論。

道容量= 1K ×8 ×8 位= 8KB = 4K字

數傳率=4K字×3000轉/分=4K字×50轉/秒 =200K字/秒

一個字的傳送時間=1/200K秒» 5ms (注:在此1K=1024,來自資料塊機關縮寫。)

因為5 ms<<25ms,是以不能采用一條指令執行結束響應DMA請求的方案,應采取每個CPU機器周期末查詢及響應DMA請求的方案(通常安排CPU機器周期=MM存取周期)。

\5. 已知[x]補,求[x]原和x。

[x1]補=1.1100; [x2]補=1.1001; [x3]補=0.1110; [x4]補=1.0000;

[x5]補=1,0101; [x6]補=1,1100; [x7]補=0,0111; [x8]補=1,0000;

解:[x]補與[x]原、x的對應關系如下:

[x]補

1.1100

1.1001

0.1110

1,0101

1,1100

0,0111

1,0000

[x]原

1.0100

1.0111

1,1011

1,0100

x

-0.0100

-0.0111

-1

-1011

-100

-10000

\9. 當十六進制數9B和FF分别表示為原碼、補碼、反碼、移碼和無符号數時,所對應的十進制數各為多少(設機器數采用一位符号位)?

解:真值和機器數的對應關系如下:

9BH

原碼

補碼

反碼

移碼

無符号數

對應十進制數

-27

-101

+27

155

FFH

-128

-0

+128

256

\14. 設浮點數字長為32位,欲表示±6萬間的十進制數,在保證數的最大精度條件下,除階符、數符各取1位外,階碼和尾數各取幾位?按這樣配置設定,該浮點數溢出的條件是什麼?

解:若要保證數的最大精度,應取階碼的基值=2。

若要表示±6萬間的十進制數,由于32768(215)< 6萬 <65536(216),則:階碼除階符外還應取5位(向上取2的幂)。

故:尾數位數=32-1-1-5=25位

​ 25(32) 該浮點數格式如下:

階符(1位)

階碼(5位)

數符(1位)

尾數(25位)

按此格式,該浮點數上溢的條件為:階碼³25

\19. 設機器數字長為8位(含1位符号位),用補碼運算規則計算下列各題。

(1)A=9/64, B=-13/32,求A+B。

(2)A=19/32,B=-17/128,求A-B。

(3)A=-3/16,B=9/32,求A+B。

(4)A=-87,B=53,求A-B。

(5)A=115,B=-24,求A+B。

解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B

​ [A]補=0.001 0010, [B]補=1.100 1100

[A+B]補= 0.0010010 + 1.1001100 = 1.1011110 ——無溢出

A+B= -0.010 0010B = -17/64

(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B

​ [A]補=0.100 1100, [B]補=1.110 1111 , [-B]補=0.001 0001

[A-B]補= 0.1001100 + 0.0010001= 0.1011101 ——無溢出

A-B= 0.101 1101B = 93/128B

(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B

[A]補=1.110 1000, [B]補= 0.010 0100

[A+B]補= 1.1101000 + 0.0100100 = 0.0001100 —— 無溢出

A+B= 0.000 1100B = 3/32

(4) A= -87= -101 0111B, B=53=110 101B

[A]補=1 010 1001, [B]補=0 011 0101, [-B]補=1 100 1011

[A-B]補= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出

(5)A=115= 111 0011B, B= -24= -11 000B

[A]補=0 1110011, [B]補=1,110 1000

[A+B]補= 0 1110011 + 1 1101000 = 0 1011011——無溢出

A+B= 101 1011B = 91

26.按機器補碼浮點運算步驟,計算[x±y]補.

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100);

(2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)。

解:先将x、y轉換成機器數形式:

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100)

[x]補=1,101;0.101 100, [y]補=1,110;1.100 100

[Ex]補=1,101, [y]補=1,110, [Mx]補=0.101 100, [My]補=1.100 100

1)對階:

[DE]補=[Ex]補+[-Ey]補 = 11,101+ 00,010=11,111 < 0,

應Ex向Ey對齊,則:[Ex]補+1=11,101+00,001=11,110 = [Ey]補

[x]補=1,110;0.010 110

2)尾數運算:

[Mx]補+[My]補= 0.010 110 + 11.100 100=11.111010

[Mx]補+[-My]補=0.010 110 + 00.011100= 00.110 010

3)結果規格化:

[x+y]補=11,110;11.111 010 = 11,011;11.010 000 (尾數左規3次,階碼減3)

[x-y]補=11,110;00.110 010, 已是規格化數。

4)舍入:無

5)溢出:無

則:x+y=2-101×(-0.110 000)

x-y =2-010×0.110 010

(2)x=2-011×(-0.100010),y=2-010×(-0.011111)

[x]補=1,101;1.011 110, [y]補=1,110;1.100 001

1)對階:過程同(1)的1),則

[x]補=1,110;1.101 111

[Mx]補+[My]補= 11.101111 + 11. 100001 = 11.010000

[Mx]補+[-My]補= 11.101111 + 00.011111 = 00.001110

[x+y]補=11,110;11.010 000,已是規格化數

[x-y]補=11,110;00.001 110 =11,100;00.111000 (尾數左規2次,階碼減2)

則:x+y=2-010×(-0.110 000)

x-y =2-100×0.111 000

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)

[x]補=0,101;1.011 011, [y]補=0,100;1.110 001

[DE]補=00,101+11,100=00,001 >0,應Ey向Ex對齊,則:

[Ey]補+1=00,100+00,001=00,101=[Ex]補

[y]補=0,101;1.111 000(1)

[Mx]補+[My]補= 11.011011+ 11.111000(1)= 11.010011(1)

[Mx]補+[-My]補= 11.011011+ 00.000111(1)= 11.100010(1)

[x+y]補=00,101;11.010 011(1),已是規格化數

[x-y]補=00,101;11.100 010(1)=00,100;11.000 101 (尾數左規1次,階碼減1)

4)舍入:

[x+y]補=00,101;11.010 011(舍)

[x-y]補 不變

則:x+y=2101×(-0.101 101)

x-y =2100×(-0.111 011)

1.什麼叫機器指令?什麼叫指令系統?為什麼說指令系統與機器的主要功能以及與硬體結構之間存在着密切的關系?

答:參考P300。

3.什麼是指令字長、機器字長和存儲字長?

答:第一章7題

6.對于二位址指令而言,操作數的實體位址可安排在什麼地方?舉例說明。

答:對于二位址指令而言,操作數的實體位址可安排在寄存器内、指令中或記憶體單元内等。

\8. 某機指令字長16位,每個操作數的位址碼為6位,設操作碼長度固定,指令分為零位址、一位址和二位址三種格式。若零位址指令有M條,一位址指令有N種,則二位址指令最多有幾種?若操作碼位數可變,則二位址指令最多允許有幾種?

解:1)若采用定長操作碼時,二位址指令格式如下:

OP(4位)

A1(6位)

A2(6位)

設二位址指令有K種,則:K=24-M-N

當M=1(最小值),N=1(最小值)時,二位址指令最多有:Kmax=16-1-1=14種

2)若采用變長操作碼時,二位址指令格式仍如1)所示,但操作碼長度可随位址碼的個數而變。此時,K= 24 -(N/26 + M/212 );

當(N/26 + M/212 )£1時(N/26 + M/212 向上取整),K最大,則二位址指令最多有:

Kmax=16-1=15種(隻留一種編碼作擴充标志用。)

\16. 某機主存容量為4M´16位,且存儲字長等于指令字長,若該機指令系統可完成108種操作,操作碼位數固定,且具有直接、間接、變址、基址、相對、立即等六種尋址方式,試回答:(1)畫出一位址指令格式并指出各字段的作用;

(2)該指令直接尋址的最大範圍;

(3)一次間址和多次間址的尋址範圍;

(4)立即數的範圍(十進制表示);

(5)相對尋址的位移量(十進制表示);

(6)上述六種尋址方式的指令哪一種執行時間最短?哪一種最長?為什麼?哪一種便于程式浮動?哪一種最适合處理數組問題?

(7)如何修改指令格式,使指令的尋址範圍可擴大到4M?

(8)為使一條轉移指令能轉移到主存的任一位置,可采取什麼措施?簡要說明之。

解:(1)單字長一位址指令格式:

OP(7位)

M(3位)

A(6位)

​ OP為操作碼字段,共7位,可反映108種操作;

​ M為尋址方式字段,共3位,可反映6種尋址操作;

​ A為位址碼字段,共16-7-3=6位。

(2)直接尋址的最大範圍為26=64。

(3)由于存儲字長為16位,故一次間址的尋址範圍為216;若多次間址,需用存儲字的最高位來差別是否繼續間接尋址,故尋址範圍為215。

(4)立即數的範圍為-32——31(有符号數),或0——63(無符号數)。

(5)相對尋址的位移量為-32——31。

(6)上述六種尋址方式中,因立即數由指令直接給出,故立即尋址的指令執行時間最短。間接尋址在指令的執行階段要多次訪存(一次間接尋址要兩次訪存,多次間接尋址要多次訪存),故執行時間最長。變址尋址由于變址寄存器的内容由使用者給定,而且在程式的執行過程中允許使用者修改,而其形式位址始終不變,故變址尋址的指令便于使用者編制處理數組問題的程式。相對尋址操作數的有效位址隻與目前指令位址相差一定的位移量,與直接尋址相比,更有利于程式浮動。

(7)方案一:為使指令尋址範圍可擴大到4M,需要有效位址22位,此時可将單字長一位址指令的格式改為雙字長,如下圖示:

MOD(3位)

A(高6位)

A(低16位)

方案二:如果仍采用單字長指令(16位)格式,為使指令尋址範圍擴大到4M,可通過段尋址方案實作。安排如下:

硬體設段寄存器DS(16位),用來存放段位址。在完成指令尋址方式所規定的尋址操作後,得有效位址EA(6位),再由硬體自動完成段尋址,最後得22位實體位址。 即:實體位址=(DS)´26 + EA

注:段尋址方式由硬體隐含實作。在程式設計指定的尋址過程完成、EA産生之後由硬體自動完成,對使用者是透明的。

方案三:在采用單字長指令(16位)格式時,還可通過頁面尋址方案使指令尋址範圍擴大到4M。安排如下:

硬體設頁面寄存器PR(16位),用來存放頁面位址。指令尋址方式中增設頁面尋址。當需要使指令尋址範圍擴大到4M時,程式設計選擇頁面尋址方式,則:EA =(PR)‖A (有效位址=頁面位址“拼接”6位形式位址),這樣得到22位有效位址。

(8)為使一條轉移指令能轉移到主存的任一位置,尋址範圍須達到4M,除了采用(7) 方案一中的雙字長一位址指令的格式外,還可配置22位的基址寄存器或22位的變址寄存器,使EA = (BR) + A (BR為22位的基址寄存器)或EA =(IX)+ A(IX為22位的變址寄存器),便可通路4M存儲空間。還可以通過16位的基址寄存器左移6位再和形式位址A相加,也可達到同樣的效果。

總之,不論采取何種方式,最終得到的實際位址應是22位。

\1. CPU有哪些功能?畫出其結構框圖并簡要說明各個部件的作用。

答:參考P328和圖8.2。

\2. 什麼是指令周期?指令周期是否有一個固定值?為什麼?

解:指令周期是指取出并執行完一條指令所需的時間。

由于計算機中各種指令執行所需的時間差異很大,是以為了提高CPU運作效率,即使在同步控制的機器中,不同指令的指令周期長度都是不一緻的,也就是說指令周期對于不同的指令來說不是一個固定值。

\3. 畫出指令周期的流程圖,分析說明圖中每個子周期的作用。

答:參看P343及圖8.8。

\5. 中斷周期前是什麼階段?中斷周期後又是什麼階段?在中斷周期CPU應完成什麼操作?

答:中斷周期前是執行周期,中斷周期後是取指周期。在中斷周期,CPU應完成儲存斷點、将中斷向量送PC和關中斷等工作。

\17. 在中斷系統中INTR、INT、EINT三個觸發器各有何作用?

解:INTR——中斷請求觸發器,用來登記中斷源發出的随機性中斷請求信号,以便為CPU查詢中斷及中斷排隊判優線路提供穩定的中斷請求信号。

EINT——中斷允許觸發器,CPU中的中斷總開關。當EINT=1時,表示允許中斷(開中斷),當EINT=0時,表示禁止中斷(關中斷)。其狀态可由開、關中斷等指令設定。

INT——中斷标記觸發器,控制器時序系統中周期狀态配置設定電路的一部分,表示中斷周期标記。當INT=1時,進入中斷周期,執行中斷隐指令的操作。

\24. 現有A、B、C、D四個中斷源,其優先級由高向低按A、B、C、D順序排列。若中斷服務程式的執行時間為20µs,請根據下圖所示時間軸給出的中斷源請求中斷的時刻,畫出CPU執行程式的軌迹。

解:A、B、C、D的響優先級即處理優先級。CPU執行程式的軌迹圖如下:

計算機組成原理(複習)

\25. 某機有五個中斷源L0、L1、L2、 L3、L4,按中斷響應的優先次序由高向低排序為L0® L1®L2®L3®L4,根據下示格式,現要求中斷處理次序改為L1®L4®L2®L0®L3,根據下面的格式,寫出各中斷源的屏蔽字。

解:各中斷源屏蔽狀态見下表:

中斷源

屏蔽字

2

3

4

I0

I1

I2

I3

I4

表中:設屏蔽位=1,表示屏蔽;屏蔽位=0,表示中斷開放。

\3. 什麼是指令周期、機器周期和時鐘周期?三者有何關系?

答:CPU每取出并執行一條指令所需的全部時間叫指令周期;

機器周期是在同步控制的機器中,執行指令周期中一步相對完整的操作(指令步)所需時間,通常安排機器周期長度等于主存周期;

時鐘周期是指計算機主時鐘的周期時間,它是計算機運作時最基本的時序機關,對應完成一個微操作所需時間,通常時鐘周期等于計算機主頻的倒數。

\4. 能不能說機器的主頻越快,機器的速度就越快,為什麼?

解:不能說機器的主頻越快,機器的速度就越快。因為機器的速度不僅與主頻有關,還與資料通路結構、時序配置設定方案、ALU運算能力、指令功能強弱等多種因素有關,要看綜合效果。

\5. 設機器A的主頻為8MHz,機器周期含4個時鐘周期,且該機的平均指令執行速度是0.4MIPS,試求該機的平均指令周期和機器周期,每個指令周期中含幾個機器周期?如果機器B的主頻為12MHz,且機器周期也含4個時鐘周期,試問B機的平均指令執行速度為多少MIPS?

解:先通過A機的平均指令執行速度求出其平均指令周期,再通過主頻求出時鐘周期,然後進一步求出機器周期。B機參數的算法與A機類似。計算如下:

A機平均指令周期=1/0.4MIPS=2.5µs

A機時鐘周期=1/8MHz=125ns

A機機器周期=125ns×4=500ns=0.5µs

A機每個指令周期中含機器周期個數=2.5µs÷0.5µs=5個

B機時鐘周期 =1/12MHz»83ns

B機機器周期 =83ns×4=332ns

設B機每個指令周期也含5個機器周期,則:

B機平均指令周期=332ns×5=1.66µs

B機平均指令執行速度=1/1.66µs=0.6MIPS

結論:主頻的提高有利于機器執行速度的提高。

\6. 設某機主頻為8MHz,每個機器周期平均含2個時鐘周期,每條指令平均有4個機器周期,試問該機的平均指令執行速度為多少MIPS?若機器主頻不變,但每個機器周期平均含4個時鐘周期,每條指令平均有4個機器周期,則該機的平均指令執行速度又是多少MIPS?由此可得出什麼結論?

解:先通過主頻求出時鐘周期,再求出機器周期和平均指令周期,最後通過平均指令周期的倒數求出平均指令執行速度。計算如下:

時鐘周期=1/8MHz=0.125×10-6s

機器周期=0.125×10-6s×2=0.25×10-6s

平均指令周期=0.25×10-6s×4=10-6s

平均指令執行速度=1/10-6s=1MIPS

當參數改變後:機器周期= 0.125×10-6s×4=0.5×10-6s

平均指令周期=0.5×10-6s×4=2×10-6s

平均指令執行速度=1/(2×10-6s) =0.5MIPS

結論:兩個主頻相同的機器,執行速度不一定一樣。

\11. 設CPU内部結構如圖9.4所示,此外還設有B、C、D、E、H、L六個寄存器,它們各自的輸入和輸出端都與内部總線相通,并分别受控制信号控制(如Bi為寄存器B的輸入控制;Bo為B的輸出控制)。要求從取指令開始,寫出完成下列指令所需的全部微操作和控制信号。

(1)ADD B,C ((B)+(C) ®B)

(2)SUB A,H ((AC)-(H) ®AC)

解:先畫出相應指令的流程圖,然後将圖中每一步資料通路操作分解成相應的微操作,再寫出同名的微指令即可。

(1) ADD B,C指令流程及微指令序列如下:

計算機組成原理(複習)

![img](file:///C:/Users/淺/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)

(2) SUB A,H指令流程及微指令序列如下:

計算機組成原理(複習)

\2. 寫出完成下列指令的微操作及節拍安排(包括取指操作)。

(1)指令ADD R1,X完成将R1寄存器的内容和主存X單元的内容相加,結果存于R1的操作。

(2)指令ISZ X完成将主存X單元的内容增1,并根據其結果若為0,則跳過下一條指令執行。

解:設采用單總線結構的CPU資料通路如下圖所示,且ALU輸入端設兩個暫存器C、D(見17題圖)。并設采用同步控制,每周期3節拍:

計算機組成原理(複習)

(1)指令ADD R1,X的微操作及節拍安排如下:

取指周期:T0 PC®MAR,1® R

T1 M(MAR) ®MDR,PC+1®PC

T2 MDR®IR,OP(IR) ®ID

執行周期1:T0 Ad(IR)®MAR,1®R

​ T1 M(MAR) ®MDR

T2 MDR®D

執行周期2:T0 R1®C

T1 +

T2 ALU®R1

(2)指令ISZ X的微操作及節拍安排:

取指周期同(1):略

執行周期1: T0 Ad(IR)-MAR,1-R

​ T1 M(MAR)-MDR

T2 MDR-C,+1-ALU

執行周期2:T0 ALU-MDR,1-W

T1 (PC+1)·Z+ PC-PC

\15. 設控制存儲器的容量為512×48位,微程式可在整個控存空間實作轉移,而控制微程式轉移的條件共有4個(采用直接控制),微指令格式如下:

解:因為控制存儲器共有51248=2948

是以,下址字段應有9位,微指令字長48位

又因為控制微程式轉移的條件有4個,4+1<=23

是以判斷測試字段占3位

是以控制字段位數為:48-9-3=36

微指令格式為:

48 13 12 10 9 1

控制字段 測試字段 下址字段

繼續閱讀