计算机组成原理 第二版 课后答案 (唐朔飞) 1~8章
第一章?? 計(jì)算機(jī)系統(tǒng)概論
1 .?? 什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件?硬件和軟件哪個(gè)更重要?
解: P3
計(jì)算機(jī)系統(tǒng):由計(jì)算機(jī)硬件系統(tǒng)和軟件系統(tǒng)組成的綜合體。
計(jì)算機(jī)硬件:指計(jì)算機(jī)中的電子線路和物理裝置。
計(jì)算機(jī)軟件:計(jì)算機(jī)運(yùn)行所需的程序及相關(guān)資料。
硬件和軟件在計(jì)算機(jī)系統(tǒng)中相互依存,缺一不可,因此同樣重要。
5.? 馮 ? 諾依曼計(jì)算機(jī)的特點(diǎn)是什么?
解:馮 ? 諾依曼計(jì)算機(jī)的特點(diǎn)是: P8
●?? 計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部件組成;
●?? 指令和數(shù)據(jù)以同同等地位存放于存儲(chǔ)器內(nèi),并可以按地址訪問(wèn);
●?? 指令和數(shù)據(jù)均用二進(jìn)制表示;
●?? 指令由操作碼、地址碼兩大部分組成,操作碼用來(lái)表示操作的性質(zhì),地址碼用來(lái)表示操作數(shù)在存儲(chǔ)器中的位置;
●?? 指令在存儲(chǔ)器中順序存放,通常自動(dòng)順序取出執(zhí)行;
●?? 機(jī)器以運(yùn)算器為中心(原始馮 ? 諾依曼機(jī))。
7.? 解釋下列概念:
主機(jī)、 CPU 、主存、存儲(chǔ)單元、存儲(chǔ)元件、存儲(chǔ)基元、存儲(chǔ)元、存儲(chǔ)字、存儲(chǔ)字長(zhǎng)、存儲(chǔ)容量、機(jī)器字長(zhǎng)、指令字長(zhǎng)。
解: P9-10
? 主機(jī):是計(jì)算機(jī)硬件的主體部分,由 CPU 和主存儲(chǔ)器 MM 合成為主機(jī)。
? CPU :中央處理器,是計(jì)算機(jī)硬件的核心部件,由運(yùn)算器和控制器組成;(早期的運(yùn)算器和控制器不在同一芯片上,現(xiàn)在的 CPU 內(nèi)除含有運(yùn)算器和控制器外還集成了 CACHE )。
? 主存:計(jì)算機(jī)中存放正在運(yùn)行的程序和數(shù)據(jù)的存儲(chǔ)器,為計(jì)算機(jī)的主要工作存儲(chǔ)器,可隨機(jī)存取;由存儲(chǔ)體、各種邏輯部件及控制電路組成。
? 存儲(chǔ)單元:可存放一個(gè)機(jī)器字并具有特定存儲(chǔ)地址的存儲(chǔ)單位。
? 存儲(chǔ)元件:存儲(chǔ)一位二進(jìn)制信息的物理元件,是存儲(chǔ)器中最小的存儲(chǔ)單位,又叫存儲(chǔ)基元或存儲(chǔ)元,不能單獨(dú)存取。
? 存儲(chǔ)字:一個(gè)存儲(chǔ)單元所存二進(jìn)制代碼的邏輯單位。
? 存儲(chǔ)字長(zhǎng):一個(gè)存儲(chǔ)單元所存二進(jìn)制代碼的位數(shù)。
? 存儲(chǔ)容量:存儲(chǔ)器中可存二進(jìn)制代碼的總量;(通常主、輔存容量分開(kāi)描述)。
? 機(jī)器字長(zhǎng):指 CPU 一次能處理的二進(jìn)制數(shù)據(jù)的位數(shù),通常與 CPU 的寄存器位數(shù)有關(guān)。
? 指令字長(zhǎng) : 一條指令的二進(jìn)制代碼位數(shù)。
8.? 解釋下列英文縮寫(xiě)的中文含義:
CPU 、 PC 、 IR 、 CU 、 ALU 、 ACC 、 MQ 、 X 、 MAR 、 MDR 、 I/O 、 MIPS 、 CPI 、 FLOPS
解:全面的回答應(yīng)分英文全稱、中文名、功能三部分。
CPU : Central Processing Unit ,中央處理機(jī)(器),是計(jì)算機(jī)硬件的核心部件,主要由運(yùn)算器和控制器組成。
PC : Program Counter ,程序計(jì)數(shù)器,其功能是存放當(dāng)前欲執(zhí)行指令的地址,并可自動(dòng)計(jì)數(shù) 形成下一條指令地址。
IR : Instruction Register ,指令寄存器,其功能是存放當(dāng)前正在執(zhí)行的指令。
CU : Control Unit ,控制單元(部件),為控制器的核心部件,其功能是產(chǎn)生微操作命令序列。
ALU : Arithmetic Logic Unit ,算術(shù)邏輯運(yùn)算單元,為運(yùn)算器的核心部件,其功能是進(jìn)行算術(shù)、邏輯運(yùn)算。
ACC : Accumulator ,累加器,是運(yùn)算器中既能存放運(yùn)算前的操作數(shù),又能存放運(yùn)算結(jié)果的寄存器。
MQ : Multiplier-Quotient Register ,乘商寄存器,乘法運(yùn)算時(shí)存放乘數(shù)、除法時(shí)存放商的寄存器。
X :此字母沒(méi)有專指的縮寫(xiě)含義,可以用作任一部件名,在此表示操作數(shù)寄存器,即運(yùn)算器中工作寄存器之一,用來(lái)存放操作數(shù);
MAR : Memory Address Register ,存儲(chǔ)器地址寄存器,在主存中用來(lái)存放欲訪問(wèn)的存儲(chǔ)單元的地址。
MDR : Memory Data Register ,存儲(chǔ)器數(shù)據(jù)緩沖寄存器,在主存中用來(lái)存放從某單元讀出、或要寫(xiě)入某存儲(chǔ)單元的數(shù)據(jù)。
I/O : Input/Output equipment ,輸入 / 輸出設(shè)備,為輸入設(shè)備和輸出設(shè)備的總稱,用于計(jì)算機(jī)內(nèi)部和外界信息的轉(zhuǎn)換與傳送。
MIPS : Million Instruction Per Second ,每秒執(zhí)行百萬(wàn)條指令數(shù),為計(jì)算機(jī)運(yùn)算速度指標(biāo)的一種計(jì)量單位。
9.? 畫(huà)出主機(jī)框圖,分別以存數(shù)指令“ STA M ”和加法指令“ ADD M ”( M 均為主存地址)為例,在圖中按序標(biāo)出完成該指令(包括取指令階段)的信息流程(如→①)。假設(shè)主存容量為 256M *32 位,在指令字長(zhǎng)、存儲(chǔ)字長(zhǎng)、機(jī)器字長(zhǎng)相等的條件下,指出圖中各寄存器的位數(shù)。
解:主機(jī)框圖如 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
假設(shè)主存容量 256M *32 位,在指令字長(zhǎng)、存儲(chǔ)字長(zhǎng)、機(jī)器字長(zhǎng)相等的條件下, ACC 、 X 、 IR 、 MDR 寄存器均為 32 位, PC 和 MAR 寄存器均為 28 位。
10.? 指令和數(shù)據(jù)都存于存儲(chǔ)器中,計(jì)算機(jī)如何區(qū)分它們?
解:計(jì)算機(jī)區(qū)分指令和數(shù)據(jù)有以下 2 種方法:
●?? 通過(guò)不同的時(shí)間段來(lái)區(qū)分指令和數(shù)據(jù),即在取指令階段(或取指微程序)取出的為指令,在執(zhí)行指令階段(或相應(yīng)微程序)取出的即為數(shù)據(jù)。
●?? 通過(guò)地址來(lái)源區(qū)分,由 PC 提供存儲(chǔ)單元地址的取出的是指令,由指令地址碼部分提供存儲(chǔ)單元地址的取出的是操作數(shù)。
第 2 章?? 計(jì)算機(jī)的發(fā)展及應(yīng)用
1.? 通常計(jì)算機(jī)的更新?lián)Q代以什么為依據(jù)?
答: P22
主要以組成計(jì)算機(jī)基本電路的元器件為依據(jù),如電子管、晶體管、集成電路等。
2.? 舉例說(shuō)明專用計(jì)算機(jī)和通用計(jì)算機(jī)的區(qū)別。
答:按照計(jì)算機(jī)的效率、速度、價(jià)格和運(yùn)行的經(jīng)濟(jì)性和實(shí)用性可以將計(jì)算機(jī)劃分為通用計(jì)算機(jī)和專用計(jì)算機(jī)。通用計(jì)算機(jī)適應(yīng)性強(qiáng),但犧牲了效率、速度和經(jīng)濟(jì)性,而專用計(jì)算機(jī)是最有效、最經(jīng)濟(jì)和最快的計(jì)算機(jī),但適應(yīng)性很差。例如個(gè)人電腦和計(jì)算器。
3.? 什么是摩爾定律?該定律是否永遠(yuǎn)生效?為什么?
答: P23 ,否, P36
第 3 章?? 系統(tǒng)總線
1.? 什么是總線?總線傳輸有何特點(diǎn)?為了減輕總線負(fù)載,總線上的部件應(yīng)具備什么特點(diǎn)?
答: P41. 總線是多個(gè)部件共享的傳輸部件。
總線傳輸?shù)奶攸c(diǎn)是:某一時(shí)刻只能有一路信息在總線上傳輸,即分時(shí)使用。
為了減輕總線負(fù)載,總線上的部件應(yīng)通過(guò)三態(tài)驅(qū)動(dòng)緩沖電路與總線連通。
?? ?
4.? 為什么要設(shè)置總線判優(yōu)控制?常見(jiàn)的集中式總線控制有幾種?各有何特點(diǎn)?哪種方式響應(yīng)時(shí)間最快?哪種方式對(duì)電路故障最敏感?
答:總線判優(yōu)控制解決多個(gè)部件同時(shí)申請(qǐng)總線時(shí)的使用權(quán)分配問(wèn)題;
常見(jiàn)的集中式總線控制有三種:鏈?zhǔn)讲樵儭⒂?jì)數(shù)器定時(shí)查詢、獨(dú)立請(qǐng)求;
特點(diǎn):鏈?zhǔn)讲樵兎绞竭B線簡(jiǎn)單,易于擴(kuò)充,對(duì)電路故障最敏感;計(jì)數(shù)器定時(shí)查詢方式優(yōu)先級(jí)設(shè)置較靈活,對(duì)故障不敏感,連線及控制過(guò)程較復(fù)雜;獨(dú)立請(qǐng)求方式速度最快,但硬件器件用量大,連線多,成本較高。
5.? 解釋下列概念:總線寬度、總線帶寬、總線復(fù)用、總線的主設(shè)備(或主模塊)、總線的從設(shè)備(或從模塊)、總線的傳輸周期和總線的通信控制。
答: P46 。
總線寬度 : 通常指數(shù)據(jù)總線的根數(shù);
總線帶寬 : 總線的數(shù)據(jù)傳輸率,指單位時(shí)間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù);
總線復(fù)用 : 指同一條信號(hào)線可以分時(shí)傳輸不同的信號(hào)。
總線的主設(shè)備(主模塊) : 指一次總線傳輸期間,擁有總線控制權(quán)的設(shè)備(模塊);
總線的從設(shè)備(從模塊) : 指一次總線傳輸期間,配合主設(shè)備完成數(shù)據(jù)傳輸?shù)脑O(shè)備(模塊),它只能被動(dòng)接受主設(shè)備發(fā)來(lái)的命令;
總線的傳輸周期 : 指總線完成一次完整而可靠的傳輸所需時(shí)間;
總線的通信控制 : 指總線傳送過(guò)程中雙方的時(shí)間配合方式。
6.? 試比較同步通信和異步通信。
答:同步通信 : 指由統(tǒng)一時(shí)鐘控制的通信,控制方式簡(jiǎn)單,靈活性差,當(dāng)系統(tǒng)中各部件工作速度差異較大時(shí),總線工作效率明顯下降。適合于速度差別不大的場(chǎng)合。
異步通信 : 指沒(méi)有統(tǒng)一時(shí)鐘控制的通信,部件間采用應(yīng)答方式進(jìn)行聯(lián)系,控制方式較同步復(fù)雜,靈活性高,當(dāng)系統(tǒng)中各部件工作速度差異較大時(shí),有利于提高總線工作效率。
8.? 為什么說(shuō)半同步通信同時(shí)保留了同步通信和異步通信的特點(diǎn)?
答:半同步通信既能像同步通信那樣由統(tǒng)一時(shí)鐘控制,又能像異步通信那樣允許傳輸時(shí)間不一致,因此工作效率介于兩者之間。
10.? 為什么要設(shè)置總線標(biāo)準(zhǔn)?你知道目前流行的總線標(biāo)準(zhǔn)有哪些?什么叫 plug and play ?哪些總線有這一特點(diǎn)?
答:總線標(biāo)準(zhǔn)的設(shè)置主要解決不同廠家各類模塊化產(chǎn)品的兼容問(wèn)題;
目前流行的總線標(biāo)準(zhǔn)有: ISA 、 EISA 、 PCI 等;
plug and play :即插即用, EISA 、 PCI 等具有此功能。
11.? 畫(huà)一個(gè)具有雙向傳輸功能的總線邏輯圖。
答: 在總線的兩端分別配置三態(tài)門,就可以使總線具有雙向傳輸功能。
12.? 設(shè)數(shù)據(jù)總線上接有 A 、 B 、 C 、 D 四個(gè)寄存器,要求選用合適的 74 系列芯片,完成下列邏輯設(shè)計(jì):
( 1 )?? 設(shè)計(jì)一個(gè)電路,在同一時(shí)間實(shí)現(xiàn) D → A 、 D → B 和 D → C 寄存器間的傳送;
( 2 )?? 設(shè)計(jì)一個(gè)電路,實(shí)現(xiàn)下列操作:
T0 時(shí)刻完成 D → 總線;
T1 時(shí)刻完成總線 → A ;
T2 時(shí)刻完成 A → 總線;
T3 時(shí)刻完成總線 → B 。
解:( 1 )由 T 打開(kāi)三態(tài)門 將? D 寄存器中的內(nèi)容送至總線 bus , 由 cp 脈沖同時(shí) 將總線上的數(shù)據(jù) 打入到? A 、 B 、 C 寄存器中。? T 和 cp 的時(shí)間關(guān)系如圖 ( 1 ) 所示。
圖( 1 )
( 2 )三態(tài)門 1 受 T0 + T1 控制,以確保 T0 時(shí)刻 D →總線,以及 T1 時(shí)刻總線→接收門 1 → A 。三態(tài)門 2 受 T2 + T3 控制,以確保 T2 時(shí)刻 A →總線,以及 T3 時(shí)刻總線→接收門 2 → B 。 T0 、 T1 、 T2 、 T3 波形圖 如 圖 ( 2 )所示 。
圖 (2)
第?? 四?? 章
3.? 存儲(chǔ)器的層次結(jié)構(gòu)主要體現(xiàn)在什么地方?為什么要分這些層次?計(jì)算機(jī)如何管理這些層次?
答:存儲(chǔ)器的層次結(jié)構(gòu)主要體現(xiàn)在 Cache - 主存和主存 - 輔存這兩個(gè)存儲(chǔ)層次上。
Cache - 主存層次在存儲(chǔ)系統(tǒng)中主要對(duì) CPU 訪存起加速作用,即從整體運(yùn)行的效果分析, CPU 訪存速度加快,接近于 Cache 的速度,而尋址空間和位價(jià)卻接近于主存。
主存 - 輔存層次在存儲(chǔ)系統(tǒng)中主要起擴(kuò)容作用,即從程序員的角度看,他所使用的存儲(chǔ)器其容量和位價(jià)接近于輔存,而速度接近于主存。
綜合上述兩個(gè)存儲(chǔ)層次的作用,從整個(gè)存儲(chǔ)系統(tǒng)來(lái)看,就達(dá)到了速度快、容量大、位價(jià)低的優(yōu)化效果。
主存與 CACHE 之間的信息調(diào)度功能全部由硬件自動(dòng)完成。而主存 與 輔 存層次的調(diào)度目前廣泛采用虛擬存儲(chǔ)技術(shù)實(shí)現(xiàn),即將主存與輔存的一部分 通過(guò)軟硬結(jié)合的技術(shù)組成虛擬存儲(chǔ)器,程序員可使用這個(gè)比主存實(shí)際空間(物理地址空間)大得多的虛擬地址空間(邏輯地址空間)編程,當(dāng)程序運(yùn)行時(shí),再由軟、硬件自動(dòng)配合完成虛擬地址空間與主存實(shí)際物理空間的轉(zhuǎn)換。因此,這兩個(gè)層次上的調(diào)度或轉(zhuǎn)換操作對(duì)于程序員來(lái)說(shuō)都是透明的。
4.? 說(shuō)明存取周期和存取時(shí)間的區(qū)別。
解:存取周期和存取時(shí)間的主要區(qū)別是:存取時(shí)間僅為完成一次操作的時(shí)間,而存取周期不僅包含操作時(shí)間,還包含操作后線路的恢復(fù)時(shí)間。即:
存取周期? =? 存取時(shí)間? +? 恢復(fù)時(shí)間
5.? 什么是存儲(chǔ)器的帶寬?若存儲(chǔ)器的數(shù)據(jù)總線寬度為 32 位,存取周期為 200ns ,則存儲(chǔ)器的帶寬是多少?
解:存儲(chǔ)器的帶寬指單位時(shí)間內(nèi)從存儲(chǔ)器進(jìn)出信息的最大數(shù)量。
存儲(chǔ)器帶寬?? =?? 1/200ns? × 32 位?? =? 160M 位 / 秒? = 20MB/ 秒? =? 5M 字 / 秒
注意 : 字長(zhǎng) 32 位 , 不是 16 位。(注: 1ns=10 -9 s )
6.? 某機(jī)字長(zhǎng)為 32 位,其存儲(chǔ)容量是 64KB ,按字編址它的尋址范圍是多少?若主存以字節(jié)編址,試畫(huà)出主存字地址和字節(jié)地址的分配情況。
解:存儲(chǔ)容量是 64KB 時(shí),按字節(jié)編址的尋址范圍就是 64K , 如按字編址,其尋址范圍為:
64K?? /? ( 32 /8 ) =?? 16K
主存字地址和字節(jié)地址的分配情況 :(略) 。
7.? 一個(gè)容量為 16K × 32 位的存儲(chǔ)器,其地址線和數(shù)據(jù)線的總和是多少?當(dāng)選用下列不同規(guī)格的存儲(chǔ)芯片時(shí),各需要多少片?
1K × 4 位, 2K × 8 位, 4K × 4 位, 16K × 1 位, 4K × 8 位, 8K × 8 位
解:地址線和數(shù)據(jù)線的總和? = 14 + 32 = 46 根;
選擇不同的芯片時(shí), 各需要的片數(shù)為:
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 片
8.? 試比較靜態(tài) RAM 和動(dòng)態(tài) RAM 。
答:略。(參看課件)
9. ?什么叫刷新?為什么要刷新?說(shuō)明刷新有幾種方法。
解:刷新 : 對(duì) DRAM 定期進(jìn)行的全部重寫(xiě)過(guò)程;
刷新原因 : 因電容泄漏而引起的 DRAM 所存信息的衰減需要及時(shí)補(bǔ)充,因此安排了定期刷新操作;
常用的刷新方法有三種 : 集中式、分散式、異步式。
集中式:在最大刷新間隔時(shí)間內(nèi),集中安排一段時(shí)間進(jìn)行刷新 ,存在 CPU 訪存死時(shí)間。
分散式:在每個(gè)讀 / 寫(xiě)周期之后插入一個(gè)刷新周期,無(wú) CPU 訪存死時(shí)間。
異步式:是集中式和分散式的折衷。
10.? 半導(dǎo)體存儲(chǔ)器芯片的譯碼驅(qū)動(dòng)方式有幾種?
解:半導(dǎo)體存儲(chǔ)器芯片的譯碼驅(qū)動(dòng)方式有兩種:線選法和重合法。
線選法:地址譯碼信號(hào)只選中同一個(gè)字的所有位,結(jié)構(gòu)簡(jiǎn)單,費(fèi)器材;
重合法:地址分行、列兩部分譯碼,行、列譯碼線的交叉點(diǎn)即為所選單元。這種方法通過(guò)行、列譯碼信號(hào)的重合來(lái)選址,也稱矩陣譯碼。可大大節(jié)省器材用量,是最常用的譯碼驅(qū)動(dòng)方式。
11.? 一個(gè) 8K × 8 位的動(dòng)態(tài) RAM 芯片,其內(nèi)部結(jié)構(gòu)排列成 256 × 256 形式,存取周期為 0.1 μ s 。試問(wèn)采用集中刷新、分散刷新和異步刷新三種方式的刷新間隔各為多少?
解:采用分散刷新方式刷新間隔為 :2ms ,其中刷新死時(shí)間為: 256 × 0.1 μ s=25.6 μ s
采用分散刷新方式刷新間隔為: 256 × ( 0.1 μ s+ × 0.1 μ s ) =51.2 μ s
采用異步刷新方式刷新間隔為 :2ms
1 2 .? 畫(huà)出用 1024 × 4 位的存儲(chǔ)芯片組成一個(gè)容量為 64K × 8 位的存儲(chǔ)器邏輯框圖。要求將 64K 分成 4 個(gè)頁(yè)面,每個(gè)頁(yè)面分 16 組,指出共需多少片存儲(chǔ)芯片。
解:設(shè)采用 SRAM 芯片, 則:
總片數(shù)? =? ( 64K × 8 位 )? /? ( 1024 × 4 位 ) = 64 × 2 = 128 片
題意分析:本題設(shè)計(jì)的存儲(chǔ)器結(jié)構(gòu)上分為總體、頁(yè)面、組三級(jí),因此畫(huà)圖時(shí)也應(yīng)分三級(jí)畫(huà)。首先應(yīng)確定各級(jí)的容量:
頁(yè)面容量? =? 總?cè)萘? /? 頁(yè)面數(shù)? = 64K × 8? / 4 = 16K × 8 位, 4 片 16K × 8 字串聯(lián)成 64K × 8 位
組容量? =? 頁(yè)面容量? /? 組數(shù)? ? = 16K × 8 位? / 16 = 1K × 8 位, 16 片 1K × 8 位字串聯(lián)成 16K × 8 位
組內(nèi)片數(shù)? =? 組容量? /? 片容量? = 1K × 8 位? / 1K × 4 位? = 2 片,兩片 1K × 4 位芯片位并聯(lián)成 1K × 8 位
存儲(chǔ)器邏輯框圖:( 略 ) 。
13 .? 設(shè)有一個(gè) 64K × 8 位的 RAM 芯片,試問(wèn)該芯片共有多少個(gè)基本單元電路(簡(jiǎn)稱存儲(chǔ)基元)?欲設(shè)計(jì)一種具有上述同樣多存儲(chǔ)基元的芯片,要求對(duì)芯片字長(zhǎng)的選擇應(yīng)滿足地址線和數(shù)據(jù)線的總和為最小,試確定這種芯片的地址線和數(shù)據(jù)線,并說(shuō)明有幾種解答。
解:存儲(chǔ)基元總數(shù)? = 64K × 8 位?? = 512K 位? = 2 19 位;
思路: 如要滿足地址線和數(shù)據(jù)線總和最小,應(yīng)盡量把存儲(chǔ)元安排在字向,因?yàn)榈刂肺粩?shù)和字?jǐn)?shù)成 2 的冪的關(guān)系,可較好地壓縮線數(shù)。
解: 設(shè)地址線根數(shù)為 a ,數(shù)據(jù)線根數(shù)為 b ,則片容量為: 2 a × b = 2 19 ; b = 2 19-a ;
若 a = 19 , b = 1 ,總和? = 19+1 = 20 ;
?a = 18 , b = 2 ,總和? = 18+2 = 20 ;
?? a = 17 , b = 4 ,總和? = 17+4 = 21 ;
?? a = 16 , b = 8 ,總和? = 16+8 = 24 ;
??? ……? ? ?? ……
由上可看出:片字?jǐn)?shù)越少,片字長(zhǎng)越長(zhǎng),引腳數(shù)越多。片字?jǐn)?shù) 減 1 、片位數(shù)均按 2 的冪變化。
結(jié)論:如果滿足地址線和數(shù)據(jù)線的總和為最小,這種芯片的引腳分配方案有兩種:地址線? = 19 根,數(shù)據(jù)線? = 1 根;或地址線? = 18 根,數(shù)據(jù)線? = 2 根。
1 4 .? 某 8 位微型機(jī)地址碼為 18 位,若使用 4K × 4 位的 RAM 芯片組成模塊板結(jié)構(gòu)的存儲(chǔ)器,試問(wèn):
( 1 )該機(jī)所允許的最大主存空間是多少?
( 2 )若每個(gè)模塊板為 32K × 8 位,共需幾個(gè)模塊板?
( 3 )每個(gè)模塊板內(nèi)共有幾片 RAM 芯片?
( 4 )共有多少片 RAM ?
( 5 ) CPU 如何選擇各模塊板?
解:( 1 )該機(jī)所允許的最大主存空間是 : 2 18?? ×? 8 位?? = 256K × 8 位? =? 256KB
( 2 )模塊板總數(shù)? = 256K × 8 / 32K × 8 = 8 塊
( 3 )板內(nèi)片數(shù)? = 32K × 8 位? / 4K × 4 位? = 8 × 2 = 16 片
( 4 )總片數(shù)? = 16 片 × 8 = 128 片
( 5 ) CPU 通過(guò)最高 3 位地址譯碼 輸出 選 擇模板 ,次高 3 位地址譯碼 輸出選擇芯片 。地址格式分配如下:
1 5 .? 設(shè) CPU 共有 16 根地址線, 8 根數(shù)據(jù)線,并用 (低電平有效)作訪存控制信號(hào), 作讀寫(xiě)命令信號(hào)(高電平為讀,低電平為寫(xiě))。現(xiàn)有下列存儲(chǔ)芯片: ROM ( 2K × 8 位, 4K × 4 位, 8K × 8 位), RAM ( 1K × 4 位, 2K × 8 位, 4K × 8 位),及 74138 譯碼器和其他門電路(門電路自定)。試從上述規(guī)格中選用合適芯片,畫(huà)出 CPU 和存儲(chǔ)芯片的連接圖。要求:
( 1 )最小 4K 地址為系統(tǒng)程序區(qū), 4096~16383 地址范圍為用戶程序區(qū);
( 2 )指出選用的存儲(chǔ)芯片類型及數(shù)量;
( 3 )詳細(xì)畫(huà)出片選邏輯。
解:( 1 )地址空間分配圖:
? 系統(tǒng)程序區(qū)( ROM 共 4KB ): 0000H-0FFFH
? 用戶程序區(qū)( RAM 共 12KB ): 1000H-FFFFH
??? ( 2 )選片: ROM : 選擇 4K × 4 位 芯片 2 片 ,位并聯(lián)
?? ? ? ? ? ? ? RAM : 選擇 4K × 8 位 芯片 3 片 ,字串聯(lián) (RAM1 地址范圍為 :1000H-1FFFH,RAM2 地址范圍為 2000H-2FFFH,?? RAM3 地址范圍為 :3000H-3FFFH)
??? ( 3 ) 各芯片二進(jìn)制地址分配如下:
| ? | A15 | A14 | A13 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A 0 |
| ROM1,2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ? |
| RAM1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ? |
| RAM2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ? |
| RAM3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ? |
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
CPU 和存儲(chǔ)器連接邏輯圖及片選邏輯 如下圖 (3) 所示 :
圖( 3 )
1 6 . CPU 假設(shè)同上題,現(xiàn)有 8 片 8K × 8 位的 RAM 芯片與 CPU 相連,試回答:
( 1 )用 74138 譯碼器畫(huà)出 CPU 與存儲(chǔ)芯片的連接圖;
( 2 )寫(xiě)出每片 RAM 的地址范圍;
( 3 )如果運(yùn)行時(shí)發(fā)現(xiàn)不論往哪片 RAM 寫(xiě)入數(shù)據(jù)后,以 A000H 為起始地址的存儲(chǔ)芯片都有與其相同的數(shù)據(jù),分析故障原因。
( 4 )根據(jù)( 1 )的連接圖,若出現(xiàn)地址線 A13 與 CPU 斷線,并搭接到高電平上,將出現(xiàn)什么后果?
解:( 1 ) CPU 與存儲(chǔ)器芯片連接邏輯圖:
?? ? ( 2 )地址空間分配圖:
?RAM0:0000H-1FFFH
?RAM1:2000H-3FFFH
?RAM2:4000H-5FFFH
?RAM3:6000H-7FFFH
?RAM4:8000H-9FFFH
? RAM 5 : A 000H- B FFFH
?RAM 6 : C 000H- D FFFH
?RAM7:E000H-FFFFH
( 3 )如果運(yùn)行時(shí)發(fā)現(xiàn)不論往哪片 RAM 寫(xiě)入數(shù)據(jù)后,以 A000H 為起始地址的存儲(chǔ)芯片 ( RAM5 ) 都有與其相同的數(shù)據(jù),則根本的故障原因?yàn)?#xff1a;該存儲(chǔ)芯片的片選輸入端很可能總是處于低電平。假設(shè)芯片與譯碼器本身都是好的 , 可能的情況有:
1 )該片的 -CS 端與 -WE 端錯(cuò)連或短路;
2 )該片的 -CS 端與 CPU 的 -MREQ 端錯(cuò)連或短路;
3 )該片的 -CS 端與地線錯(cuò)連或短路 。
( 4 )如果地址線 A13 與 CPU 斷線,并搭接到高電平上,將會(huì)出現(xiàn) A13 恒為 “ 1 ” 的情況。此時(shí)存儲(chǔ)器只能尋址 A13=1 的地址空間 ( 奇數(shù)片 ) , A13=0 的另一半地址空間(偶數(shù)片)將永遠(yuǎn)訪問(wèn)不到。若對(duì) A13=0 的地址空間(偶數(shù)片)進(jìn)行訪問(wèn),只能錯(cuò)誤地訪問(wèn)到 A13=1 的對(duì)應(yīng)空間 ( 奇數(shù)片 ) 中去。
17.? 寫(xiě)出 1100 、 1101 、 1110 、 1111 對(duì)應(yīng)的漢明碼。
解:有效信息均為 n=4 位,假設(shè)有效信息用 b4b3b2b1 表示
校驗(yàn)位位數(shù) k=3 位,( 2 k >=n+k+1 )
設(shè)校驗(yàn)位分別為 c1 、 c2 、 c3 ,則漢明碼共 4+3=7 位,即: c 1c 2b 4c 3b3b2b1
校驗(yàn)位在漢明碼中分別處于第 1 、 2 、 4 位
c1=b4 ⊕ b3 ⊕ b1
c2=b4 ⊕ b2 ⊕ b1
c3=b3 ⊕ b2 ⊕ b1
當(dāng)有效信息為 1100 時(shí), c 3c 2c 1=011, 漢明碼為 1110100 。
當(dāng)有效信息為 1101 時(shí), c 3c 2c 1=100, 漢明碼為 0011101 。
當(dāng)有效信息為 1110 時(shí), c 3c 2c 1=101, 漢明碼為 1011110 。
當(dāng)有效信息為 1111 時(shí), c 3c 2c 1=010, 漢明碼為 0110111 。
18.? 已知收到的漢明碼(按配偶原則配置)為 1100100 、 1100111 、 1100000 、 1100001 ,檢查上述代碼是否出錯(cuò)?第幾位出錯(cuò)?
解:假設(shè)接收到的漢明碼為: c 1’ c 2’ b 4’ c 3’ b 3’ b 2’ b 1’
糾錯(cuò)過(guò)程如下:
P1=c 1’ ⊕ b 4’ ⊕ b 3’ ⊕ b 1’
P2=c 2’ ⊕ b 4’ ⊕ b 2’ ⊕ b 1’
P3=c 3’ ⊕ b 3’ ⊕ b 2’ ⊕ b 1’
如果收到的漢明碼為 1100100 ,則 p3p2p1=011 ,說(shuō)明代碼有錯(cuò),第 3 位( b 4’ )出錯(cuò),有效信息為: 1100
如果收到的漢明碼為 1100111 ,則 p3p2p1=111 ,說(shuō)明代碼有錯(cuò),第 7 位( b 1’ )出錯(cuò),有效信息為: 0110
如果收到的漢明碼為 1100000 ,則 p3p2p1=110 ,說(shuō)明代碼有錯(cuò),第 6 位( b 2’ )出錯(cuò),有效信息為: 0010
如果收到的漢明碼為 1100001 ,則 p3p2p1=001 ,說(shuō)明代碼有錯(cuò),第 1 位( c 1’ )出錯(cuò),有效信息為: 0001
22 .? 某機(jī)字長(zhǎng) 16 位,常規(guī)的存儲(chǔ)空間為 64K 字,若想不改用其他高速的存儲(chǔ)芯片,而使訪存速度提高到 8 倍,可采取什么措施?畫(huà)圖說(shuō)明。
解:若想不改用高速存儲(chǔ)芯片,而使訪存速度提高到 8 倍,可采取 八 體交叉存取技術(shù), 8 體交叉訪問(wèn)時(shí)序 如下圖 :
18.? 什么是 “ 程序訪問(wèn)的局部性 ” ?存儲(chǔ)系統(tǒng)中哪一級(jí)采用了程序訪問(wèn)的局部性原理?
解:程序運(yùn)行的局部性原理指:在一小段時(shí)間內(nèi),最近被訪問(wèn)過(guò)的程序和數(shù)據(jù)很可能再次被訪問(wèn);在空間上,這些被訪問(wèn)的程序和數(shù)據(jù)往往集中在一小片存儲(chǔ)區(qū);在訪問(wèn)順序上,指令順序執(zhí)行比轉(zhuǎn)移執(zhí)行的可能性大? ( 大約? 5:1 ) 。存儲(chǔ)系統(tǒng)中 Cache— 主存層次采用了程序訪問(wèn)的局部性原理。
2 5 . Cache 做在 CPU 芯片內(nèi)有什么好處?將指令 Cache 和數(shù)據(jù) Cache 分開(kāi)又有什么好處?
答: Cache 做在 CPU 芯片內(nèi)主要有下面幾個(gè)好處:
1 )可提高外部總線的利用率。因?yàn)?Cache 在 CPU 芯片內(nèi), CPU 訪問(wèn) Cache 時(shí)不必占用外部總線 。
2 ) Cache 不占用外部總線就意味著外部總線可更多地支持 I/O 設(shè)備與主存的信息傳輸,增強(qiáng)了系統(tǒng)的整體效率 。
3 )可提高存取速度。因?yàn)?Cache 與 CPU 之間的數(shù)據(jù)通路大大縮短 , 故存取速度得以提高 。
將指令 Cache 和數(shù)據(jù) Cache 分開(kāi)有如下好處:
1 )可支持超前控制和流水線控制,有利于這類控制方式下指令預(yù)取操作的完成 。
2 )指令 Cache 可用 ROM 實(shí)現(xiàn),以提高指令存取的可靠性 。
3 )數(shù)據(jù) Cache 對(duì)不同數(shù)據(jù)類型的支持更為靈活,既可支持整數(shù)(例 32 位),也可支持浮點(diǎn)數(shù)據(jù)(如 64 位)。
補(bǔ)充 :
Cache 結(jié)構(gòu)改進(jìn)的第三個(gè)措施是分級(jí)實(shí)現(xiàn),如二級(jí)緩存結(jié)構(gòu),即在片內(nèi) Cache ( L1 )和主存之間再設(shè)一個(gè)片外 Cache ( L2 ),片外緩存既可以彌補(bǔ)片內(nèi)緩存容量不夠大的缺點(diǎn),又可在主存與片內(nèi)緩存間起到平滑速度差的作用,加速片內(nèi)緩存的調(diào)入調(diào)出速度。
30 .?? 一個(gè)組相連映射的 CACHE 由 64 塊組成,每組內(nèi)包含 4 塊。主存包含 4096 塊,每塊由 128 字組成,訪存地址為字地址。試問(wèn)主存和高速存儲(chǔ)器的地址各為幾位?畫(huà)出主存地址格式。
解: cache 組數(shù): 64/4=16?? , Cache 容量為: 64*128=2 13 字, cache 地址 13 位
主存共分 4096/16=256 區(qū),每區(qū) 16 塊
主存容量為: 4096*128=2 19 字,主存地址 19 位,地址格式如下:
| 主存字塊標(biāo)記( 8 位) | 組地址( 4 位) | 字塊內(nèi)地址( 7 位) |
| ? | ? | ? |
第?? 六?? 章
12.? 設(shè)浮點(diǎn)數(shù)格式為:階碼 5 位 (含 1 位階符 ), 尾數(shù) 1 1 位 (含 1 位數(shù)符 ) 。寫(xiě)出 51/128 、 -27/1024 所對(duì)應(yīng)的機(jī)器數(shù)。要求 如下:
( 1 )階碼和尾數(shù)均為原碼 。
( 2 )階碼和尾數(shù)均為補(bǔ)碼 。
( 3 )階碼為移碼,尾數(shù)為補(bǔ)碼。? ? ?
解:據(jù)題意畫(huà)出該浮點(diǎn)數(shù)的格式:
| 階符 1 位 | 階碼 4 位 | 數(shù)符 1 位 | 尾數(shù) 10 位 |
| ? | ? | ? | ? |
??? ?? 將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制: x1=?? 51/128=? 0.011 001 1B =?? 2 -1?? *? 0.11 0 ?011 B
?? ? x2=?? -27/1024=?? -0.0000011011 B? =?? 2 -5 *( -0.11011 B )
則以上各數(shù)的浮點(diǎn)規(guī)格化數(shù)為:
( 1 ) [x1] 浮 =1 , 0001 ; 0.110 011 000 0
? [x2] 浮 =1 , 0101 ; 1.110 110 000 0
( 2 ) [x1] 浮 =1 , 1111 ; 0.110 011 000 0
? [x2] 浮 =1 , 1011 ; 1.001 010 000 0
( 3 ) [x1] 浮 =0 , 1111 ; 0.110 011 000 0
??? [x2] 浮 =0 , 1011 ; 1.001 010 000 0
16 . 設(shè)機(jī)器數(shù)字長(zhǎng)為 16 位,寫(xiě)出下列各種情況下它能表示的數(shù)的范圍。設(shè)機(jī)器數(shù)采用一位符號(hào)位,答案均用十進(jìn)制表示。
?? ?? ( 1 )無(wú)符號(hào)數(shù);
?? ?? ( 2 )原碼表示的定點(diǎn)小數(shù) 。
?? ?? ( 3 )補(bǔ)碼表示的定點(diǎn)小數(shù) 。
?? ?? ( 4 )補(bǔ)碼表示的定點(diǎn)整數(shù) 。
?? ?? ( 5 )原碼表示的定點(diǎn)整數(shù) 。
?? ?? ( 6 )浮點(diǎn)數(shù)的格式為:階碼 6 位 (含 1 位 階符 ), 尾數(shù) 10 位( 含 1 位 數(shù)符)。分別寫(xiě)出其正數(shù)和負(fù)數(shù)的表示范圍 。
?? ?? ( 7 )浮點(diǎn)數(shù)格式同( 6 ),機(jī)器數(shù)采用補(bǔ)碼規(guī)格化形式,分別寫(xiě)出其對(duì)應(yīng)的正數(shù)和負(fù)數(shù)的真值范圍。
解:( 1 ) 無(wú)符號(hào)整數(shù): 0? ——? 2 16? - 1 ,即: 0 ——? 65535 ;
?? ? 無(wú)符號(hào)小數(shù): 0? ——?? 1 - 2 -16?? ,即: 0? ——? 0.99998 ;?
( 2 )原碼定點(diǎn)小數(shù): -1? +? 2 -15 —— 1 - 2 -15?? ,即: -0.99997? ——? 0.99997
( 3 )補(bǔ)碼定點(diǎn)小數(shù): - 1 —— 1 - 2 -15???? ,即: -1 —— 0.99997
( 4 )補(bǔ)碼定點(diǎn)整數(shù): -2 15 —— 2 15? - 1? ,即: -32768 —— 32767
( 5 )原碼定點(diǎn)整數(shù): -2 15? +? 1 —— 2 15? - 1 ,即: -32767 —— 32767
( 6 )據(jù)題意畫(huà)出該浮點(diǎn)數(shù)格式 , 當(dāng)階 碼和 尾 數(shù)均 采用原 碼, 非規(guī)格化數(shù) 表示時(shí):
最大負(fù)數(shù) =?? 1 , 11 111 ; 1.000 000 001? ,即? -2 -9? 2 -31
最小負(fù)數(shù) =?? 0 , 11 111 ; 1.111 111 111 ,即? - ( 1-2 -9 )? 2 31
則負(fù)數(shù)表示范圍為: - ( 1-2 -9 )? 2 31?? —— -2 -9? 2 -31
最大正數(shù) = 0 , 11 111 ; 0.111 111 111 ,即?? ( 1-2 -9 )? 2 31
最小正數(shù) = 1 , 11 111 ; 0.000 000 001 ,即? 2 -9? 2 -31
則 正數(shù)表示范圍為: 2 -9? 2 -31?? —— ( 1-2 -9 )? 2 31
( 7 )當(dāng)機(jī)器數(shù)采用補(bǔ)碼規(guī)格化形式時(shí),若不考慮隱藏位,則
最大負(fù)數(shù) =1 , 00 000 ; 1.011 111 111 ,即? -2 -1? 2 -32
最小負(fù)數(shù) =0 , 11 111 ; 1.000 000 000 ,即? -1? 2 3 1
則負(fù)數(shù)表示范圍為: -1? 2 3 1? —— -2 -1? 2 -32
最大正數(shù) =0 , 11 111 ; 0.111 111 111 ,即?? ( 1-2 -9 )? 2 31?
最小正數(shù) =1 , 00 000 ; 0.100 000? 000 ,即??? 2 -1? 2 - 3 2
則 正數(shù)表示范圍為: 2 -1? 2 - 3 2? —— ( 1-2 -9 )? 2 31
17.?? 設(shè)機(jī)器數(shù)字長(zhǎng)為 8 位(包括一位符號(hào)位),對(duì)下列各機(jī)器數(shù)進(jìn)行算術(shù)左移一位、兩位,算術(shù)右移一位、兩位,討論結(jié)果是否正確。
? [x1] 原 =0.001 1010 ; [y1] 補(bǔ) =0.101 0100 ; [z1] 反 =1.010 1111 ;
?? [x2] 原 =1.110 10 0 0 ; [y2] 補(bǔ) =1.110 1000 ; [z2] 反 =1.110 1000 ;
?? [x3] 原 =1.001 1001 ; [y3] 補(bǔ) =1.001 1001 ; [z3] 反 =1.001 1001 。
解: 算術(shù)左移一位:
?[x1] 原 =0.011 0100 ;正確?
[x2] 原 =1.101 0000 ;溢出(丟 1 )出錯(cuò)?
[x3] 原 =1.011 0010 ;正確?
[y1] 補(bǔ) =0.010 1000 ;溢出(丟 1 )出錯(cuò)?
[y2] 補(bǔ) =1.101 0000 ;正確?
[y3] 補(bǔ) =1.011 0010 ;溢出(丟 0 )出錯(cuò)?
[z1] 反 =1.101 1111 ;溢出(丟 0 )出錯(cuò)?
[z2] 反 =1.101 0001 ;正確?
[z3] 反 =1.011 0011 ;溢出(丟 0 )出錯(cuò)
算術(shù)左移兩位:?
[x1] 原 =0.110 1000 ;正確?
[x2] 原 =1.010 0000 ;溢出(丟 11 )出錯(cuò)
[x3] 原 =1.110 0100 ;正確
[y1] 補(bǔ) =0.101 0000 ;溢出(丟 10 )出錯(cuò)?
[y2] 補(bǔ) =1.010 0000 ;正確?
[y3] 補(bǔ) =1.110 0100 ;溢出(丟 00 )出錯(cuò)?
[z1] 反 =1.011 1111 ;溢出(丟 01 )出錯(cuò)?
[z2] 反 =1.010 0011 ;正確?
[z3] 反 =1.110 0111 ;溢出(丟 00 )出錯(cuò)
算術(shù)右移一位:
?[x1] 原 =0.000 1101 ;正確?
[x2] 原 =1.011 0100 ;正確
[x3] 原 =1.000 1100(1) ;丟 1 ,產(chǎn)生誤差?
[y1] 補(bǔ) =0.010 1010 ;正確
[y2] 補(bǔ) =1.111 0100 ;正確
[y3] 補(bǔ) =1.100 1100(1) ;丟 1 ,產(chǎn)生誤差
[z1] 反 =1.101 0111 ;正確
[z2] 反 =1.111 0100(0) ;丟 0 ,產(chǎn)生誤差
[z3] 反 =1.100 1100 ;正確
算術(shù)右移兩位:
?[x1] 原 =0.000 0110 ( 10 );產(chǎn)生誤差?
[x2] 原 =1.001 1010 ;正確
[x3] 原 =1.000 0110 ( 01 );產(chǎn)生誤差
[y1] 補(bǔ) =0.001 0101 ;正確
[y2] 補(bǔ) =1.111 1010 ;正確
[y3] 補(bǔ) =1.110 0110 ( 01 );產(chǎn)生誤差
[z1] 反 =1.110 1011 ;正確
[z2] 反 =1.111 1010 ( 00 );產(chǎn)生誤差
[z3] 反 =1.110 0110 ( 01 );產(chǎn)生誤差
?
19.? 設(shè)機(jī)器數(shù)字長(zhǎng)為 8 位(含 1 位符號(hào)位),用補(bǔ)碼運(yùn)算規(guī)則計(jì)算下列各題。
??? ( 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 0010 B,? B= -13/32=?? -0.011 0100 B
?? ? ? [A] 補(bǔ) =0.001 0010 ,? [B] 補(bǔ) =1.100 1100
[A+B] 補(bǔ) = 0.0010010?? + 1.1001100? =? 1.1011110 —— 無(wú)溢出
A+B=?? -0.010 0010 B? = -17/64
??? ( 2 ) A=19/32=?? 0.100 1100 B,? B= -17/128=?? -0.001 0001 B
?? ? ? ? [A] 補(bǔ) =0.100 1100 ,? [B] 補(bǔ) =1.110 1111? ,? [-B] 補(bǔ) =0.001 0001
?[A-B] 補(bǔ) = 0.1001100?? + 0.0010001 =? 0.1011101 —— 無(wú)溢出
?A-B=?? 0.101 1101 B? = 93/128 B
( 3 ) A= -3/16=?? -0.001 1000 B,? B=9/32=?? 0.010 0100 B
?? ? [A] 補(bǔ) =1.110 1000 ,? [B] 補(bǔ) = 0.010 0100
?[A+B] 補(bǔ) = 1.1101000?? +?? 0.0100100? =? 0.0001100 ——? 無(wú)溢出
A+B=?? 0.000 1100 B? = 3/32
? ( 4 )?? A= -87=?? -101 0111 B,? B=53=110 101 B
?? ? ? [A] 補(bǔ) =1?? 010 1001 ,? [B] 補(bǔ) =0?? 011 0101 ,? [-B] 補(bǔ) =1?? 100 1011
[A-B] 補(bǔ) = 1?? 0101001 + 1?? 1001011? =? 0?? 1110100 ——? 溢出
( 5 ) A=115=?? 111 0011 B,? B= -24=?? -11 000 B
?? ? [A] 補(bǔ) =0?? 1110011 ,? [B] 補(bǔ) =1 , 110 1000
?[A+B] 補(bǔ) = 0?? 1110011 + 1?? 1101000? =? 0?? 1011011—— 無(wú)溢出
?A+B=?? 101 1011 B? = 91
2 6 . 按機(jī)器補(bǔ)碼浮點(diǎn)運(yùn)算步驟,計(jì)算 [x ± y] 補(bǔ) .
??? ( 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=2 101 × ( -0.100 101 ), y=2 100 × ( -0.001 111) 。
解:先將 x 、 y 轉(zhuǎn)換成機(jī)器數(shù)形式:
? ( 1 ) x=2 -011 ×? 0.101 100 , y=2 -010 × ( -0.011 100 )
[x] 補(bǔ) =1 , 101 ; 0.101 100 ,? [y] 補(bǔ) =1 , 110 ; 1.100 100
? [Ex] 補(bǔ) =1,101,? [y] 補(bǔ) =1 , 110 ,? [Mx] 補(bǔ) = 0.101 100 , ?[My] 補(bǔ) = 1.100 100
?? ??? 1 )對(duì)階:
[? E] 補(bǔ) =[Ex] 補(bǔ) +[-Ey] 補(bǔ)?? =?? 11 , 101+?? 00 , 010=11 , 111?? <?? 0 ,
應(yīng) Ex 向 Ey 對(duì)齊,則: [Ex] 補(bǔ) +1=11 , 101+00 , 001=11 , 110? = [ Ey] 補(bǔ)
[x] 補(bǔ) =1 , 110 ; 0.010 110
2 )尾數(shù)運(yùn)算:
?? [Mx] 補(bǔ) +[My] 補(bǔ) = 0.010 110?? + 1 1 .100 100 = 11.111010
[Mx] 補(bǔ) +[-My] 補(bǔ) =0.010 110?? + 00.011100 =? 00.110? 0 10
?3 )結(jié)果規(guī)格化:
?? [x+y] 補(bǔ) =11 , 110 ; 11.111 010 =?? 11 , 011 ; 11.010 000? (尾數(shù)左規(guī) 3 次,階碼減 3 )
?? [x-y] 補(bǔ) =11 , 110 ; 00.110 010 ,?? 已是規(guī)格化數(shù)。?
4 )舍入:無(wú)
5 )溢出:無(wú)
則: 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] 補(bǔ) =1 , 101 ; 1.011 110 ,? [y] 補(bǔ) =1 , 110 ; 1.100 001
1)?? 對(duì)階:過(guò)程同 (1) 的 1 ),則
[ x] 補(bǔ) =1 , 110 ; 1.101 111
?? 2 )尾數(shù)運(yùn)算:
?? ? [Mx] 補(bǔ) +[My] 補(bǔ) = 11.101111?? + 11. 100001? =? 11.010000
?? ? [Mx] 補(bǔ) +[-My] 補(bǔ) = 11.101111 + 00.011111? =? 00.001110
3 )結(jié)果規(guī)格化:
?[x+y] 補(bǔ) =11 , 110 ; 11.010 000 , 已是規(guī)格化數(shù)
?[x-y] 補(bǔ) =11 , 110 ; 00.001 110 =11 , 100 ; 00.111000? (尾數(shù)左規(guī) 2 次,階碼減 2 )
4 )舍入:無(wú)?
5 )溢出:無(wú)
則: x+y=2 -010 × ( -0.110 000 )
?? ? x-y =2 -100 × 0.111 000
( 3 ) x=2 101 × ( -0.100 101 ) , y=2 100 × ( -0.001 111 )
?? ? [x] 補(bǔ) =0 , 101 ; 1.011 011 ,? [y] 補(bǔ) =0 , 100 ; 1.110 001
1 ) 對(duì)階:
[? E] 補(bǔ) =00 , 101+11 , 100=00 , 001 >0 ,應(yīng) Ey 向 Ex 對(duì)齊,則:
[Ey] 補(bǔ) +1=00 , 100+00 , 001=00 , 101 =[ E x ] 補(bǔ)
[y] 補(bǔ) =0 , 101 ; 1.111 000 ( 1 )
2 )尾數(shù)運(yùn)算:
?? [Mx] 補(bǔ) +[My] 補(bǔ) = 11.011011+ 11.111000 ( 1 ) =? 11.010011 ( 1 )
?? [Mx] 補(bǔ) +[-My] 補(bǔ) = 11.011011+ 00.000111 ( 1 ) =? 11.100010 ( 1 )
2)?? 結(jié)果規(guī)格化:
?? [x+y] 補(bǔ) =00 , 101 ; 11.010 011 ( 1 ) , 已是規(guī)格化數(shù)
?? [x-y] 補(bǔ) =00 , 101 ; 11.100 010 ( 1 ) =00 , 100 ; 11.000 101? (尾數(shù)左規(guī) 1 次,階碼減 1 )
4 ) 舍入:
[x+y] 補(bǔ) =00 , 101 ; 11.010 011 (舍)
[x-y] 補(bǔ)?? 不變
5 )溢出:無(wú)
則: x+y=2 101 × ( -0.101 101 )
x-y =2 100 × ( -0 .111 011 )
3 2 .? 設(shè)機(jī)器字長(zhǎng)為 16 位,分別按 4 、 4 、 4 、 4 和 5 、 5 、 3 、 3 分組 后 ,
??? ( 1 )畫(huà)出按兩種分組方案的單重分組并行進(jìn)位鏈框圖,并比較哪種方案運(yùn)算速度快。
??? ( 2 )畫(huà)出按兩種分組方案的雙重分組并行進(jìn)位鏈框圖,并對(duì)這兩種方案進(jìn)行比較。
??? ( 3 )用 74181 和 74182 畫(huà)出單重和雙重分組的并行進(jìn)位鏈框圖。
解:( 1 ) 4—4—4—4 分組的 16 位單重分組并行進(jìn)位鏈框圖見(jiàn)教材 286 頁(yè)圖 6.22 。
?? ? 5—5—3—3 分組的 16 位單重分組并行進(jìn)位鏈框圖如下:
( 2 ) 4—4—4—4 分組的 16 位雙重分組并行進(jìn)位鏈框圖見(jiàn)教材 289 頁(yè)圖 6.26 。
?? ? 5—5—3—3 分組的 16 位雙重分組并行進(jìn)位鏈框圖如下:
? ??? 5—5—3—3 分組的進(jìn)位時(shí)間 =2.5ty? 3=7.5ty ;
????? 4—4—4—4 分組的進(jìn)位時(shí)間 =2.5ty? 3=7.5ty ;
可見(jiàn), 兩種分組方案最長(zhǎng)加法時(shí)間相同。
? 結(jié)論:雙重分組并行進(jìn)位的最長(zhǎng)進(jìn)位時(shí)間只與組數(shù)和級(jí)數(shù)有關(guān),與組內(nèi)位數(shù)無(wú)關(guān)。
( 3 )單重分組 16 位并行加法器邏輯圖如下(正邏輯):
注意:? 1 ) 74 181 芯片正、負(fù)邏輯的引腳表示方法;
?? 2 )為強(qiáng)調(diào)可比性, 5-5-3 -3 分組時(shí)不考慮扇入影響;
?? 3 ) 181 芯片只有最高、最低兩個(gè)進(jìn)位輸入 / 輸出端,組內(nèi)進(jìn)位無(wú)引腳;
?? 4 ) 181 為 4 位片,無(wú)法 5-5-3 -3 分組,只能 4-4-4-4 分組;
?? 5 )單重分組跳躍進(jìn)位只用到 181 ,使用 182 的一定是雙重以上分組跳躍進(jìn)位;
?? 6 )單重分組跳躍進(jìn)位是并行進(jìn)位和串行進(jìn)位技術(shù)的結(jié)合;雙重分組跳躍進(jìn)位是二級(jí)并行進(jìn)位技術(shù);特別注意在位數(shù)較少時(shí),雙重分組跳躍進(jìn)位可以采用全先行進(jìn)位技術(shù)實(shí)現(xiàn);位數(shù)較多時(shí),可采用雙重分組跳躍進(jìn)位和串行進(jìn)位技術(shù)結(jié)合實(shí)現(xiàn)。
第? ?? 七? ?? 章
1.?? 什么叫機(jī)器指令?什么叫指令系統(tǒng)?為什么說(shuō)指令系統(tǒng)與機(jī)器的主要功能以及與硬件結(jié)構(gòu)之間存在著密切的關(guān)系?
答:參考 P300 。
2.?? 什么叫尋址方式?為什么要學(xué)習(xí)尋址方式?
答:參看 P310 。
3.?? 什么是指令字長(zhǎng)、機(jī)器字長(zhǎng)和存儲(chǔ)字長(zhǎng)?
答:略。
4.?? 零地址指令的操作數(shù)來(lái)自哪里??各舉一例說(shuō)明。
答:零地址指令的操作數(shù)來(lái)自 ACC ,為隱含約定。
在一地址指令中,另一個(gè)操作數(shù)的地址通常可采用 ACC 隱含尋址方式獲得。
5.?? 對(duì)于二地址指令而言,操作數(shù)的物理地址可安排在什么地方?舉例說(shuō)明。
答:對(duì)于二地址指令而言,操作數(shù)的物理地址可安排在寄存器內(nèi)、指令中或內(nèi)存單元內(nèi)等。
8.? 某機(jī)指令字長(zhǎng) 16 位,每個(gè)操作數(shù)的地址碼為 6 位,設(shè)操作碼長(zhǎng)度固定,指令分為零地址、一地址和二地址三種格式。若零地址指令有 M 條,一地址指令有 N 種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種?
解: 1 )若采用定長(zhǎng)操作碼時(shí),二地址指令格式如下:
| OP ( 4 位) | A1 ( 6 位) | A2 ( 6 位) |
| ? | ? | ? |
設(shè)二地址指令有 K 種,則: K=2 4 -M-N
當(dāng) M=1 (最小值), N=1 (最小值)時(shí),二地址指令最多有: Kmax= 16-1-1 =14 種
3)?? 若采用變長(zhǎng)操作碼時(shí),二地址指令格式仍如 1 )所示,但操作碼長(zhǎng)度可隨地址碼的個(gè)數(shù)而變。此時(shí), K= 2 4? - ( N/2 6? + M/2 12?? );
? 當(dāng)( N/2 6? + M/2 12?? )? 1 時(shí)( N/2 6? + M/2 12?? 向上取整), K 最大,則二地址指令最多有: Kmax=16-1=15 種(只留一種編碼作擴(kuò)展標(biāo)志用。)
?
9.? 試比較間接尋址和寄存器間接尋址。
答:略。
10.? 試比較基址尋址和變址尋址。
略。
11.? 畫(huà)出先變址再間址及先間址再變址的尋址過(guò)程示意圖。
解: 1 )先變址再間址尋址過(guò)程簡(jiǎn)單示意如下:
?? ? ? EA=[(IX)+A] , IX? (IX)+1
2 )先間址再變址尋址過(guò)程簡(jiǎn)單示意如下: EA=(IX)+(A) , IX?? (IX)+1
1 6 .? 某機(jī)主存容量為 4M? 16 位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令系統(tǒng)可完成 108 種操作, 操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:( 1 )畫(huà)出一地址指令格式并指出各字段的作用;
??? ( 2 )該指令直接尋址的最大范圍;
??? ( 3 )一次間址和多次間址的尋址范圍;
??? ( 4 )立即數(shù)的范圍(十進(jìn)制表示);
? ( 5 )相對(duì)尋址的位移量(十進(jìn)制表示);
? ( 6 )上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長(zhǎng)?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問(wèn)題?
? ( 7 )如何修改指令格式,使指令的尋址范圍可擴(kuò)大到 4M ?
? ( 8 )為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措施?簡(jiǎn)要說(shuō)明之。
解:( 1 )單字長(zhǎng)一地址指令格式:
?? ? ? ? ? ? ? ???? ? ? ? ? ?
| OP ( 7 位) | M ( 3 位) | A ( 6 位) |
| ? | ? | ? |
?OP 為操作碼字段,共 7 位,可反映 108 種操作;
?M 為尋址方式字段,共 3 位,可反映 6 種尋址操作;
?A 為地址碼字段,共 16-7-3 =6 位。
? ( 2 )直接尋址的最大范圍為 2 6 =64 。
? ( 3 ) 由于存儲(chǔ)字長(zhǎng)為 16 位,故一次間址的尋址范圍為 2 16 ; 若多次間址,需用存儲(chǔ)字的最高位來(lái)區(qū)別是否繼續(xù)間接尋址,故尋址范圍為 2 15 。
( 4 )立即數(shù)的范圍 為 -32 —— 31 (有符號(hào)數(shù)),或 0 —— 63 ( 無(wú)符號(hào)數(shù) )。
? ( 5 )相對(duì)尋址的位移量為 -32 —— 31 。
? ( 6 ) 上述六種尋址方式中,因立即數(shù)由指令直接給出,故立即尋址的指令執(zhí)行時(shí)間最短。間接尋址在指令的執(zhí)行階段要多次訪存 ( 一次間接尋址要兩次訪存,多次間接尋址要多次訪存 ) ,故執(zhí)行時(shí)間最長(zhǎng)。變址尋址由于變址寄存器的內(nèi)容由用戶給定,而 且 在程序的執(zhí)行過(guò)程中允許用戶修改,而其形式地址始終不變,故變址尋址的指令便于用戶編制處理數(shù)組問(wèn)題的程序。相對(duì)尋址操作數(shù)的有效地址只與當(dāng)前指令地址相差一定的位移量,與直接尋址相比,更有利于程序浮動(dòng)。
( 7 ) 方案一 :為使指令尋址范圍可擴(kuò)大到 4M ,需要有效地址 22 位,此時(shí)可將單字長(zhǎng)一地址指令的格式改為雙字長(zhǎng),如下圖示:
| OP ( 7 位) | MOD ( 3 位) | A (高 6 位) |
| A (低 16 位) | ? | ? |
| ? | ? | ? |
???? 方案二 :如果仍采用單字長(zhǎng)指令( 16 位)格式,為使指令尋址范圍擴(kuò)大到 4M ,可通過(guò)段尋址方案實(shí)現(xiàn)。安排如下:?
?? ?? 硬件設(shè)段寄存器 DS ( 16 位),用來(lái)存放段地址。在完成指令尋址方式所規(guī)定的尋址操作后,得有效地址 EA ( 6 位),再由硬件自動(dòng)完成段尋址,最后得 22 位物理地址。?? 即: 物理地址 = ( DS )? 2 6? + EA
注:段尋址方式由硬件隱含實(shí)現(xiàn)。在編程指定的尋址過(guò)程完成、 EA 產(chǎn)生之后由硬件自動(dòng)完成,對(duì)用戶是透明的。
方案三: 在采用單字長(zhǎng)指令( 16 位)格式時(shí),還可通過(guò)頁(yè)面尋址方案使指令尋址范圍擴(kuò)大到 4M 。安排如下:
?? ?? 硬件設(shè)頁(yè)面寄存器 PR ( 16 位),用來(lái)存放頁(yè)面地址。指令尋址方式中增設(shè)頁(yè)面尋址。當(dāng)需要使指令尋址范圍擴(kuò)大到 4M 時(shí),編程選擇頁(yè)面尋址方式,則: EA = ( PR ) ‖ A? (有效地址 = 頁(yè)面地址 “ 拼接 ” 6 位形式地址) , 這樣得到 22 位有效地址。
( 8 ) 為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,尋址范圍須達(dá)到 4M ,除了采用 (7)? 方案一中的 雙字長(zhǎng)一地址指令 的格式外,還可配置 22 位的基址寄存器或 22 位的變址寄存器,使 EA =? (BR) + A? ( BR 為 22 位的基址寄存器 ) 或 EA = ( IX ) + A (IX 為 22 位的變址寄存器 ) ,便可訪問(wèn) 4M 存儲(chǔ)空間。還可以通過(guò) 16 位的基址寄存器左移 6 位再和形式地址 A 相加,也可達(dá)到同樣的效果。
?? ? 總之,不論采取何種方式,最終得到的實(shí)際地址應(yīng)是 22 位。
?? ?
1 9 .? 某 CPU 內(nèi)有 32 個(gè) 32 位的通用寄存器,設(shè)計(jì)一種能容納 64 種操作的指令系統(tǒng)。假設(shè)指令字長(zhǎng)等于機(jī)器字長(zhǎng),試回答 以下問(wèn)題 :
??? ( 1 )如果主存可直接或間接尋址,采用寄存器 — 存儲(chǔ)器型指令,能直接尋址的最大存儲(chǔ)空間是多少?畫(huà)出指令格式并說(shuō)明各字段的含義。
??? ( 2 ) 在滿足( 1 )的前提下, 如果采用通用寄存器作基址寄存器,則上述寄存器 — 存儲(chǔ)器型指令的指令格式有何特點(diǎn)?畫(huà)出指令格式并指出這類指令可訪問(wèn)多大的存儲(chǔ)空間?
解:( 1 )如采用 RS 型指令,則此指令一定是二地址以上的地址格式,指令格式如下:
| OP ( 6 位) | R ( 5 位) | I(1 位 ) | A ( 20 位) |
| ? | ? | ? | ? |
?????? 操作碼字段 OP 占 6 位,因?yàn)?2 6 >=64 ;
寄存器編號(hào) R 占 5 位,因?yàn)?2 5 >=32 ;
間址位 I 占 1 位,當(dāng) I=0 ,存儲(chǔ)器尋址的操作數(shù)為直接尋址,當(dāng) I=1 時(shí)為間接尋址;
形式地址 A 占 20 位,可以直接尋址 2 20 字。
( 2 )如采用基址尋址,則指令格式中應(yīng)給出基址寄存器號(hào),以指定哪一個(gè)通用寄存器用作基址寄存器。指令格式變?yōu)?#xff1a;
| OP ( 6 位) | 源 R ( 5 位) | I ( 1 位) | X ( 1 位) | 目標(biāo) R ( 5 位) | A ( 14 位) |
| ? | ? | ? | ? | ? | ? |
? 增加尋址特征位 X ,當(dāng) X=1 時(shí),以目標(biāo)寄存器 R 作為基址寄存器進(jìn)行基址尋址。
? 基址尋址可訪問(wèn)存儲(chǔ)空間為: 2 32 字。
第八章
1. CPU 有哪些功能?畫(huà)出其結(jié)構(gòu)框圖并簡(jiǎn)要說(shuō)明各個(gè)部件的作用。
答:參考 P328 和圖 8.2 。
2.? 什么是指令周期?指令周期是否有一個(gè)固定值?為什么?
解:指令周期是指 取出并執(zhí)行完 一條指令 所需的 時(shí)間。
??? 由于計(jì)算機(jī)中各種指令執(zhí)行所需的時(shí)間差異很大,因此為了提高 CPU 運(yùn)行效率,即使在同步控制的機(jī)器中,不同指令的指令周期長(zhǎng)度都是不一致的,也就是說(shuō)指令周期對(duì)于不同的指令來(lái)說(shuō)不是一個(gè)固定值。
3.? 畫(huà)出指令周期的流程圖,分析說(shuō)明圖中每個(gè)子周期的作用。
答:參看 P343 及圖 8.8 。
4.? 設(shè) CPU 內(nèi)有下列部件: PC 、 IR 、 SP 、 AC 、 MAR 、 MDR 和 CU 。
??? ( 1 )畫(huà)出完成間接尋址的取數(shù)指令 LDA@X (將主存某地址單元 X 的內(nèi)容取至 AC 中)的數(shù)據(jù)流(從取指令開(kāi)始)。
??? ( 2 )畫(huà)出中斷周期的數(shù)據(jù)流。
解: CPU 中的數(shù)據(jù)流向與所采用的數(shù)據(jù)通路結(jié)構(gòu)直接相關(guān),不同的數(shù)據(jù)通路中的數(shù)據(jù)流是不一樣的。常用的數(shù)據(jù)通路結(jié)構(gòu)方式有直接連線、單總線、雙總線、三總線等形式,目前大多采用總線結(jié)構(gòu),直接連線方式僅適用于結(jié)構(gòu)特別簡(jiǎn)單的機(jī)器中。
為簡(jiǎn)單起見(jiàn),本題采用單總線將題 中 所給部件連接起來(lái),框圖如下:
? ? ? ? ? ? ?? ( 1 ) LDA@X 指令周期 數(shù)據(jù) 流程圖:
( 2 )中斷周期流程圖如下:
? 注 : 解這道題有兩個(gè)要素,首先要根據(jù)所給部件設(shè)計(jì)好數(shù)據(jù)通路,即確定信息流動(dòng)的載體。其次選擇好描述數(shù)據(jù)流的方法,無(wú)論采用什么樣的表達(dá)方式,其關(guān)鍵都要能清楚地反映數(shù)據(jù)在通路上流動(dòng)的順序,即強(qiáng)調(diào)一個(gè) “ 流 ” 字。較好的表達(dá)方式是流程圖的形式。
5.? 中斷周期前是什么階段?中斷周期后又是什么階段?在中斷周期 CPU 應(yīng)完成什么操作?
答:中斷周期前是執(zhí)行周期,中斷周期后是取指周期。在中斷周期, CPU 應(yīng)完成保存斷點(diǎn)、將中斷向量送 PC 和關(guān)中斷等工作。
7.? 什么叫系統(tǒng)的并行性?粗粒度并行和細(xì)粒度并行有何區(qū)別?
答:所謂并行性包含同時(shí)性和并發(fā)性。同時(shí)性是指兩個(gè)或兩個(gè)以上的事件在同一時(shí)刻發(fā)生,并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間段發(fā)生。即在同一時(shí)刻或同一時(shí)間段內(nèi)完成兩個(gè)或兩個(gè)以上性質(zhì)相同或性質(zhì)不同的功能,只要在時(shí)間上存在相互重疊,就存在并行性。
并行性又分為粗粒度并行和細(xì)粒度并行兩類。粗粒度并行是指在多個(gè)處理機(jī)上分別運(yùn)行多個(gè)進(jìn)程,由多臺(tái)處理機(jī)合作完成一個(gè)程序,一般用算法實(shí)現(xiàn)。細(xì)粒度并行是指在處理機(jī)的指令級(jí) 和操作級(jí)的并行性。
8.? 什么是指令流水?畫(huà)出指令二級(jí)流水和四級(jí)流水的示意圖,它們中哪個(gè)更能提高處理機(jī)速度,為什么?
答:指令流水是指將一條指令的執(zhí)行過(guò)程分為 n 個(gè)操作時(shí)間大致相等的階段,每個(gè)階段由一個(gè)獨(dú)立的功能部件來(lái)完成,這樣 n 個(gè)部件就可以同時(shí)執(zhí)行 n 條指令的不同階段,從而大大提高 CPU 的吞吐率。
指令二級(jí)流水和四級(jí)流水示意圖如下:
? 四級(jí)流水更能提高處理機(jī)的速度。分析如下:
? 假設(shè) IF 、 ID 、 EX 、 WR 每個(gè)階段耗時(shí)為 t ,則連續(xù)執(zhí)行 n 條指令
采用二級(jí)流水線時(shí),耗時(shí)為: 4t+(n-1)2t=(2n+2)t
采用四級(jí)流水線時(shí),耗時(shí)為: 4t+(n-1)t=(n+3)t
在 n>1 時(shí), n+3<2n+2 ,可見(jiàn)四級(jí)流水線耗時(shí)比二級(jí)流水線耗時(shí)短,因此 更能提高處理機(jī)速度。
1 7 .? 在中斷系統(tǒng)中 INTR 、 INT 、 EINT 三個(gè)觸發(fā)器各有何作用?
解: INTR—— 中斷請(qǐng)求觸發(fā)器,用來(lái)登記中斷源發(fā)出的隨機(jī)性中斷請(qǐng)求信號(hào),以便為 CPU 查詢中斷及中斷排隊(duì)判優(yōu)線路提供穩(wěn)定的中斷請(qǐng)求信號(hào) 。
EINT—— 中斷允許觸發(fā)器, CPU 中的中斷總開(kāi)關(guān)。當(dāng) EINT=1 時(shí),表示允許中斷(開(kāi)中斷),當(dāng) EINT=0 時(shí),表示禁止中斷(關(guān)中斷)。其狀態(tài)可由開(kāi)、關(guān)中斷等指令設(shè)置 。
INT—— 中斷標(biāo)記觸發(fā)器,控制器時(shí)序系統(tǒng)中周期狀態(tài)分配電路的一部分,表示中斷周期標(biāo)記。當(dāng) INT=1 時(shí),進(jìn)入中斷周期,執(zhí)行中斷隱指令的操作。
2 4 .? 現(xiàn)有 A 、 B 、 C 、 D 四個(gè)中斷源,其優(yōu)先級(jí)由高向低按 A 、 B 、 C 、 D 順序排列。若中斷服務(wù)程序的執(zhí)行時(shí)間為 20 μ s ,請(qǐng)根據(jù)下圖所示時(shí)間軸給出的中斷源請(qǐng)求中斷的時(shí)刻,畫(huà)出 CPU 執(zhí)行程序的軌跡。
解: A 、 B 、 C 、 D 的響優(yōu)先級(jí)即處理優(yōu)先級(jí)。 CPU 執(zhí)行程序的軌跡圖如下:
2 5 .? 某機(jī)有五個(gè)中斷源 L0 、 L1 、 L2 、? L3 、 L4 ,按中斷響應(yīng)的優(yōu)先次序由高向低排序?yàn)?L 0??? L 1? L 2? L 3? L4 ,根據(jù)下示格式,現(xiàn)要求中斷處理次序改為 L 1? L 4? L 2? L 0? L3 ,根據(jù)下面的格式,寫(xiě)出各中斷源的屏蔽字。
解:各中斷源屏蔽狀態(tài)見(jiàn)下表 :
| 中斷源 | 屏蔽字 | ? | ? | ? | ? |
| 0 | 1 | 2 | 3 | 4 | ? |
| I0 | 1 | 0 | 0 | 1 | 0 |
| I1 | 1 | 1 | 1 | 1 | 1 |
| I2 | 1 | 0 | 1 | 1 | 0 |
| I3 | 0 | 0 | 0 | 1 | 0 |
| I4 | 1 | 0 | 1 | 1 | 1 |
| ? | ? | ? | ? | ? | ? |
表中:設(shè)屏蔽位 =1 ,表示屏蔽;屏蔽位 =0 ,表示中斷開(kāi)放。
2 6 .? 設(shè)某機(jī)配有 A 、 B 、 C 三臺(tái)設(shè)備,其優(yōu)先順序 按 A? B? C 降序排列,為改變中斷處理次序,它們的中斷 屏蔽字 設(shè)置如下:
| 設(shè)備 | 屏蔽字 |
| A | 111 |
| B | 010 |
| C | 011 |
| ? | ? |
?? ? 請(qǐng)按下圖所示時(shí)間軸給出的設(shè)備請(qǐng)求中斷的時(shí)刻,畫(huà)出 CPU 執(zhí)行程序的軌跡。設(shè) A 、 B 、 C 中斷服務(wù)程序的執(zhí)行時(shí)間均為 20??? s 。
解: A 、 B 、 C 設(shè)備的響應(yīng)優(yōu)先級(jí)為 A 最高、 B 次之、 C 最低,處理優(yōu)先級(jí)為 A 最高、 C 次之、 B 最低。 CPU 執(zhí)行程序的軌跡圖如下:
總結(jié)
以上是生活随笔為你收集整理的计算机组成原理 第二版 课后答案 (唐朔飞) 1~8章的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu字体丑_科学网—关于ubun
- 下一篇: Flutter关于简单的吸顶通讯录制作