最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機組成原理課后答案(唐第二版)

2022-12-30 10:04 作者:答案鬼  | 我要投稿

第一章?計算機系統(tǒng)概論1.?什么是計算機系統(tǒng)、計算機硬件和計算機軟件?硬件和軟件哪個更重要?解:P3?

計算機系統(tǒng):由計算機硬件系統(tǒng)和軟件系統(tǒng)組成的綜合體。計算機硬件:指計算機中的電子線路和物理裝置。計算機軟件:計算機運行所需的程序及相關資料。硬件和軟件在計算機系統(tǒng)中相互依存,缺一不可,因此同樣重要。5.?馮?諾依曼計算機的特點是什么?解:馮?諾依曼計算機的特點是:P8?

l?計算機由運算器、控制器、存儲器、輸入設備、輸出設備五大部件組成;l?指令和數(shù)據(jù)以同同等地位存放于存儲器內(nèi),并可以按地址訪問;l?指令和數(shù)據(jù)均用二進制表示;l?指令由操作碼、地址碼兩大部分組成,操作碼用來表示操作的性質,地址碼用來表示操作數(shù)在存儲器中的位置;l?指令在存儲器中順序存放,通常自動順序取出執(zhí)行;l?

機器以運算器為中心(原始馮?諾依曼機)。7.?解釋下列概念:主機、CPU、主存、存儲單元、存儲元件、存儲基元、存儲元、存儲字、存儲字長、存儲容量、機器字長、指令字長。解:P9-10?

主機:是計算機硬件的主體部分,由CPU和主存儲器MM合成為主機。?CPU:中央處理器,是計算機硬件的核心部件,由運算器和控制器組成;(早期的運算器和控制器不在同一芯片上,現(xiàn)在的CPU內(nèi)除含有運算器和控制器外還集成了CACHE)。主存:計算機中存放正在運行的程序和數(shù)據(jù)的存儲器,為計算機的主要工作存儲器,可隨機存取;由存儲體、各種邏輯部件及控制電路組成。存儲單元:可存放一個機器字并具有特定存儲地址的存儲單位。存儲元件:存儲一位二進制信息的物理元件,是存儲器中最小的存儲單位,又叫存儲基元或存儲元,不能單獨存取。存儲字:一個存儲單元所存二進制代碼的邏輯單位。存儲字長:一個存儲單元所存二進制代碼的位數(shù)。存儲容量:存儲器中可存二進制代碼的總量;(通常主、輔存容量分開描述)。機器字長:指CPU一次能處理的二進制數(shù)據(jù)的位數(shù),通常與CPU的寄存器位數(shù)有關。指令字長:一條指令的二進制代碼位數(shù)。8.?解釋下列英文縮寫的中文含義:CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS?解:全面的回答應分英文全稱、中文名、功能三部分。CPU:Central?Processing?Unit,中央處理機(器),是計算機硬件的核心部件,主要由運算器和控制器組成。PC:Program?Counter,程序計數(shù)器,其功能是存放當前欲執(zhí)行指令的地址,并可自動計數(shù)

形成下一條指令地址。?

IR:Instruction?Register,指令寄存器,其功能是存放當前正在執(zhí)行的指令。?CU:Control?Unit,控制單元(部件),為控制器的核心部件,其功能是產(chǎn)生微操作命令序列。?

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

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

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

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

MAR:Memory?Address?Register,存儲器地址寄存器,在主存中用來存放欲訪問的存儲單元的地址。?

MDR:Memory?Data?Register,存儲器數(shù)據(jù)緩沖寄存器,在主存中用來存放從某單元讀出、或要寫入某存儲單元的數(shù)據(jù)。?

I/O:Input/Output?equipment,輸入/輸出設備,為輸入設備和輸出設備的總稱,用于計算機內(nèi)部和外界信息的轉換與傳送。?

MIPS:Million?Instruction?Per?Second,每秒執(zhí)行百萬條指令數(shù),為計算機運算速度指標的一種計量單位。?

?

9.?畫出主機框圖,分別以存數(shù)指令“STA?M”和加法指令“ADD?M”(M均為主存地址)為例,在圖中按序標出完成該指令(包括取指令階段)的信息流程(如→①)。假設主存容量為256M*32位,在指令字長、存儲字長、機器字長相等的條件下,指出圖中各寄存器的位數(shù)。?解:主機框圖如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位。?

?

10.?指令和數(shù)據(jù)都存于存儲器中,計算機如何區(qū)分它們??解:計算機區(qū)分指令和數(shù)據(jù)有以下2種方法:?

l?通過不同的時間段來區(qū)分指令和數(shù)據(jù),即在取指令階段(或取指微程序)取出的為指令,在執(zhí)行指令階段(或相應微程序)取出的即為數(shù)據(jù)。?

l?通過地址來源區(qū)分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數(shù)。?

第2章?計算機的發(fā)展及應用?

1.?通常計算機的更新?lián)Q代以什么為依據(jù)??答:P22?

主要以組成計算機基本電路的元器件為依據(jù),如電子管、晶體管、集成電路等。??

2.?舉例說明專用計算機和通用計算機的區(qū)別。?

答:按照計算機的效率、速度、價格和運行的經(jīng)濟性和實用性可以將計算機劃分為通用計算機和專用計算機。通用計算機適應性強,但犧牲了效率、速度和經(jīng)濟性,而專用計算機是最有效、最經(jīng)濟和最快的計算機,但適應性很差。例如個人電腦和計算器。??

3.?什么是摩爾定律?該定律是否永遠生效?為什么??答:P23,否,P36?

第3章?系統(tǒng)總線?

1.?什么是總線?總線傳輸有何特點?為了減輕總線負載,總線上的部件應具備什么特點??答:P41.總線是多個部件共享的傳輸部件。?

總線傳輸?shù)奶攸c是:某一時刻只能有一路信息在總線上傳輸,即分時使用。?為了減輕總線負載,總線上的部件應通過三態(tài)驅動緩沖電路與總線連通。?????

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

答:總線判優(yōu)控制解決多個部件同時申請總線時的使用權分配問題;?

常見的集中式總線控制有三種:鏈式查詢、計數(shù)器定時查詢、獨立請求;?

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

?

5.?解釋下列概念:總線寬度、總線帶寬、總線復用、總線的主設備(或主模塊)、總線的從設備(或從模塊)、總線的傳輸周期和總線的通信控制。?答:P46。?

總線寬度:通常指數(shù)據(jù)總線的根數(shù);?

總線帶寬:總線的數(shù)據(jù)傳輸率,指單位時間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù);?總線復用:指同一條信號線可以分時傳輸不同的信號。?

總線的主設備(主模塊):指一次總線傳輸期間,擁有總線控制權的設備(模塊);?總線的從設備(從模塊):指一次總線傳輸期間,配合主設備完成數(shù)據(jù)傳輸?shù)脑O備(模塊),它只能被動接受主設備發(fā)來的命令;?

總線的傳輸周期:指總線完成一次完整而可靠的傳輸所需時間;?總線的通信控制:指總線傳送過程中雙方的時間配合方式。??

6.?試比較同步通信和異步通信。?

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

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

?

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

答:半同步通信既能像同步通信那樣由統(tǒng)一時鐘控制,又能像異步通信那樣允許傳輸時間不一致,因此工作效率介于兩者之間。??

10.?為什么要設置總線標準?你知道目前流行的總線標準有哪些?什么叫plug?and?play?哪些總線有這一特點??

答:總線標準的設置主要解決不同廠家各類模塊化產(chǎn)品的兼容問題;?

目前流行的總線標準有:ISA、EISA、PCI等;?plug?and?play:即插即用,EISA、PCI等具有此功能。??

11.?畫一個具有雙向傳輸功能的總線邏輯圖。?

答:在總線的兩端分別配置三態(tài)門,就可以使總線具有雙向傳輸功能。?

a0a1an

bn

b1b0a至b

b至a

?

?

12.?設數(shù)據(jù)總線上接有A、B、C、D四個寄存器,要求選用合適的74系列芯片,完成下列邏輯設計:?

(1)?設計一個電路,在同一時間實現(xiàn)D→A、D→B和D→C寄存器間的傳送;?(2)?設計一個電路,實現(xiàn)下列操作:?

T0時刻完成D→總線;?T1時刻完成總線→A;?T2時刻完成A→總線;?T3時刻完成總線→B。?

解:(1)由T打開三態(tài)門將?D寄存器中的內(nèi)容送至總線bus,由cp脈沖同時將總線上的數(shù)據(jù)打入到?A、B、C寄存器中。?T和cp的時間關系如圖(1)所示。?

A

B

C

cp脈沖

總線bus

三態(tài)門

D

T

Tcp

?

圖(1)?

(2)三態(tài)門1受T0+T1控制,以確保T0時刻D→總線,以及T1時刻總線→接收門1→A。三態(tài)門2受T2+T3控制,以確保T2時刻A→總線,以及T3時刻總線→接收門2→B。T0、T1、T2、T3波形圖如圖(2)所示。?

?

圖(2)?

第?四?章?

3.?存儲器的層次結構主要體現(xiàn)在什么地方?為什么要分這些層次?計算機如何管理這些層次??答:存儲器的層次結構主要體現(xiàn)在Cache-主存和主存-輔存這兩個存儲層次上。?

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

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

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

主存與CACHE之間的信息調度功能全部由硬件自動完成。而主存與輔存層次的調度目前廣泛采用虛擬存儲技術實現(xiàn),即將主存與輔存的一部分通過軟硬結合的技術組成虛擬存儲器,程序員可使用這個比主存實際空間(物理地址空間)大得多的虛擬地址空間(邏輯地址空間)編程,當程序運行時,再由軟、硬件自動配合完成虛擬地址空間與主存實際物理空間的轉換。因此,這兩個層次上的調度或轉換操作對于程序員來說都是透明的。?

?

4.?說明存取周期和存取時間的區(qū)別。?

解:存取周期和存取時間的主要區(qū)別是:存取時間僅為完成一次操作的時間,而存取周期不僅包含操作時間,還包含操作后線路的恢復時間。即:?

存取周期?=?存取時間?+?恢復時間??

5.?什么是存儲器的帶寬?若存儲器的數(shù)據(jù)總線寬度為32位,存取周期為200ns,則存儲器的帶寬是多少??

解:存儲器的帶寬指單位時間內(nèi)從存儲器進出信息的最大數(shù)量。?

存儲器帶寬?=?1/200ns?×32位?=?160M位/秒?=?20MB/秒?=?5M字/秒?注意:字長32位,不是16位。(注:1ns=10-9

s)??

6.?某機字長為32位,其存儲容量是64KB,按字編址它的尋址范圍是多少?若主存以字節(jié)編址,試畫出主存字地址和字節(jié)地址的分配情況。?

解:存儲容量是64KB時,按字節(jié)編址的尋址范圍就是64K,如按字編址,其尋址范圍為:?

64K?/?(32/8)=?16K?

主存字地址和字節(jié)地址的分配情況:(略)。??

7.?一個容量為16K×32位的存儲器,其地址線和數(shù)據(jù)線的總和是多少?當選用下列不同規(guī)格的存儲芯片時,各需要多少片??

1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位?解:地址線和數(shù)據(jù)線的總和?=?14?+?32?=?46根;?

選擇不同的芯片時,各需要的片數(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和動態(tài)RAM。?答:略。(參看課件)??

9.?什么叫刷新?為什么要刷新?說明刷新有幾種方法。?解:刷新:對DRAM定期進行的全部重寫過程;?

刷新原因:因電容泄漏而引起的DRAM所存信息的衰減需要及時補充,因此安排了定期刷新操作;?

常用的刷新方法有三種:集中式、分散式、異步式。?

集中式:在最大刷新間隔時間內(nèi),集中安排一段時間進行刷新,存在CPU訪存死時間。?分散式:在每個讀/寫周期之后插入一個刷新周期,無CPU訪存死時間。?異步式:是集中式和分散式的折衷。??

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

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

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

重合法:地址分行、列兩部分譯碼,行、列譯碼線的交叉點即為所選單元。這種方法通過行、列譯碼信號的重合來選址,也稱矩陣譯碼??纱蟠蠊?jié)省器材用量,是最常用的譯碼驅動方式。??

11.?一個8K×8位的動態(tài)RAM芯片,其內(nèi)部結構排列成256×256形式,存取周期為0.1μs。試問采用集中刷新、分散刷新和異步刷新三種方式的刷新間隔各為多少??

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

采用分散刷新方式刷新間隔為:256×(0.1μs+×0.1μs)=51.2μs?采用異步刷新方式刷新間隔為:2ms??

12.?畫出用1024×4位的存儲芯片組成一個容量為64K×8位的存儲器邏輯框圖。要求將64K分成4個頁面,每個頁面分16組,指出共需多少片存儲芯片。?解:設采用SRAM芯片,則:?

總片數(shù)?=?(64K×8位)?/?(1024×4位)=?64×2?=?128片?

題意分析:本題設計的存儲器結構上分為總體、頁面、組三級,因此畫圖時也應分三級畫。首先應確定各級的容量:?

頁面容量?=?總容量?/?頁面數(shù)?=?64K×8?/?4??=?16K×8位,4片16K×8字串聯(lián)成64K×8位?

組容量?=?頁面容量?/?組數(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位?

存儲器邏輯框圖:(略)。??

13.?設有一個64K×8位的RAM芯片,試問該芯片共有多少個基本單元電路(簡稱存儲基元)?欲設計一種具有上述同樣多存儲基元的芯片,要求對芯片字長的選擇應滿足地址線和數(shù)據(jù)線的總和為最小,試確定這種芯片的地址線和數(shù)據(jù)線,并說明有幾種解答。?解:存儲基元總數(shù)?=?64K×8位?=?512K位?=?219

位;?

思路:如要滿足地址線和數(shù)據(jù)線總和最小,應盡量把存儲元安排在字向,因為地址位數(shù)和字數(shù)成2的冪的關系,可較好地壓縮線數(shù)。?

解:設地址線根數(shù)為a,數(shù)據(jù)線根數(shù)為b,則片容量為:2a

×b?=?219

;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;?????????????

由上可看出:片字數(shù)越少,片字長越長,引腳數(shù)越多。片字數(shù)減1、片位數(shù)均按2的冪變化。?

結論:如果滿足地址線和數(shù)據(jù)線的總和為最小,這種芯片的引腳分配方案有兩種:地址線?=?19根,數(shù)據(jù)線?=?1根;或地址線?=?18根,數(shù)據(jù)線?=?2根。?

?

14.?某8位微型機地址碼為18位,若使用4K×4位的RAM芯片組成模塊板結構的存儲器,試問:?

(1)該機所允許的最大主存空間是多少??

(2)若每個模塊板為32K×8位,共需幾個模塊板??(3)每個模塊板內(nèi)共有幾片RAM芯片??(4)共有多少片RAM??(5)CPU如何選擇各模塊板??

解:(1)該機所允許的最大主存空間是:218

?×?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通過最高3位地址譯碼輸出選擇模板,次高3位地址譯碼輸出選擇芯片。地址格式分配如下:?

模板號(3位)???????????????芯片號?(3位)????????????????片內(nèi)地址(12位)

?

?

15.?設CPU共有16根地址線,8根數(shù)據(jù)線,并用MREQ(低電平有效)作訪存控制信號,W/R作讀寫命令信號(高電平為讀,低電平為寫)?,F(xiàn)有下列存儲芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138譯碼器和其他門電路(門電路自定)。試從上述規(guī)格中選用合適芯片,畫出CPU和存儲芯片的連接圖。要求:?

(1)最小4K地址為系統(tǒng)程序區(qū),4096~16383地址范圍為用戶程序區(qū);?(2)指出選用的存儲芯片類型及數(shù)量;?(3)詳細畫出片選邏輯。?解:(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)各芯片二進制地址分配如下:??

A15?A14?A13?A12?A11?A10?A9?A8?A7?A6?A5?A4?A3?A2?A1?A0?

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和存儲器連接邏輯圖及片選邏輯如下圖(3)所示:?

CPU

ROM1

RAM1

RAM2RAM3

74138

ROM2

D0D3D4D7R/W

A11A0

0

Y1

Y2

Y3Y7YA15A14A13A12MREQ

A

2GB

2G1GABC

PROG

/PDOE

CS

CS

CS

OE

......

...

...

...

...

...

...

...

.........

...

圖(3)?

?

16.?CPU假設同上題,現(xiàn)有8片8K×8位的RAM芯片與CPU相連,試回答:?

(1)用74138譯碼器畫出CPU與存儲芯片的連接圖;?(2)寫出每片RAM的地址范圍;?

(3)如果運行時發(fā)現(xiàn)不論往哪片RAM寫入數(shù)據(jù)后,以A000H為起始地址的存儲芯片都有與其相同的數(shù)據(jù),分析故障原因。?

(4)根據(jù)(1)的連接圖,若出現(xiàn)地址線A13與CPU斷線,并搭接到高電平上,將出現(xiàn)什么后果??

解:(1)CPU與存儲器芯片連接邏輯圖:?

CPU

RAM0

74138

RAM1D0D7

A12A0

0

Y1

Y2

Y7

YA15A14A13MREQ

A

2GB

2G1GABC

CS

CS

CS

...

......

...

...

...

...

...

...

RAM7

...

...

W

/RWE

WE

WE

+5V

?

???(2)地址空間分配圖:?????????RAM0:0000H-1FFFH?????????RAM1:2000H-3FFFH?????????RAM2:4000H-5FFFH?????????RAM3:6000H-7FFFH?????????RAM4:8000H-9FFFH?????????RAM5:A000H-BFFFH?????????RAM6:C000H-DFFFH?????????RAM7:E000H-FFFFH?

(3)如果運行時發(fā)現(xiàn)不論往哪片RAM寫入數(shù)據(jù)后,以A000H為起始地址的存儲芯片(RAM5)都有與其相同的數(shù)據(jù),則根本的故障原因為:該存儲芯片的片選輸入端很可能總是處于低電平。假設芯片與譯碼器本身都是好的,可能的情況有:?

1)該片的-CS端與-WE端錯連或短路;?

2)該片的-CS端與CPU的-MREQ端錯連或短路;?3)該片的-CS端與地線錯連或短路。?

(4)如果地址線A13與CPU斷線,并搭接到高電平上,將會出現(xiàn)A13恒為“1”的情況。此時存儲器只能尋址A13=1的地址空間(奇數(shù)片),A13=0的另一半地址空間(偶數(shù)片)將永遠訪問不到。若對A13=0的地址空間(偶數(shù)片)進行訪問,只能錯誤地訪問到A13=1的對應空間(奇數(shù)片)中去。?

?

17.?寫出1100、1101、1110、1111對應的漢明碼。?解:有效信息均為n=4位,假設有效信息用b4b3b2b1表示?

校驗位位數(shù)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=011,漢明碼為1110100。?當有效信息為1101時,c3c2c1=100,漢明碼為0011101。?當有效信息為1110時,c3c2c1=101,漢明碼為1011110。?當有效信息為1111時,c3c2c1=010,漢明碼為0110111。??

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?

?

22.?某機字長16位,常規(guī)的存儲空間為64K字,若想不改用其他高速的存儲芯片,而使訪存速度提高到8倍,可采取什么措施?畫圖說明。?

解:若想不改用高速存儲芯片,而使訪存速度提高到8倍,可采取八體交叉存取技術,8體交叉訪問時序如下圖:?

單體訪存周期

啟動存儲體0啟動存儲體1啟動存儲體2啟動存儲體3啟動存儲體4啟動存儲體5啟動存儲體6啟動存儲體7

?

?

18.?什么是“程序訪問的局部性”?存儲系統(tǒng)中哪一級采用了程序訪問的局部性原理??解:程序運行的局部性原理指:在一小段時間內(nèi),最近被訪問過的程序和數(shù)據(jù)很可能再次被訪問;在空間上,這些被訪問的程序和數(shù)據(jù)往往集中在一小片存儲區(qū);在訪問順序上,指令順序執(zhí)行比轉移執(zhí)行的可能性大?(大約?5:1?)。存儲系統(tǒng)中Cache—主存層次采用了程序訪問的局部性原理。??

25.?Cache做在CPU芯片內(nèi)有什么好處?將指令Cache和數(shù)據(jù)Cache分開又有什么好處??答:Cache做在CPU芯片內(nèi)主要有下面幾個好處:?

1)可提高外部總線的利用率。因為Cache在CPU芯片內(nèi),CPU訪問Cache時不必占用外部總線。?

2)Cache不占用外部總線就意味著外部總線可更多地支持I/O設備與主存的信息傳輸,增強了系統(tǒng)的整體效率。?

3)可提高存取速度。因為Cache與CPU之間的數(shù)據(jù)通路大大縮短,故存取速度得以提高。?將指令Cache和數(shù)據(jù)Cache分開有如下好處:?

1)可支持超前控制和流水線控制,有利于這類控制方式下指令預取操作的完成。?2)指令Cache可用ROM實現(xiàn),以提高指令存取的可靠性。?

3)數(shù)據(jù)Cache對不同數(shù)據(jù)類型的支持更為靈活,既可支持整數(shù)(例32位),也可支持浮點數(shù)據(jù)(如64位)。?補充:?

Cache結構改進的第三個措施是分級實現(xiàn),如二級緩存結構,即在片內(nèi)Cache(L1)和主存之間再設一個片外Cache(L2),片外緩存既可以彌補片內(nèi)緩存容量不夠大的缺點,又可在主存與片內(nèi)緩存間起到平滑速度差的作用,加速片內(nèi)緩存的調入調出速度。?

?

30.?一個組相連映射的CACHE由64塊組成,每組內(nèi)包含4塊。主存包含4096塊,每塊由128

字組成,訪存地址為字地址。試問主存和高速存儲器的地址各為幾位?畫出主存地址格式。?解:cache組數(shù):64/4=16?,Cache容量為:64*128=213

字,cache地址13位?

主存共分4096/16=256區(qū),每區(qū)16塊?

主存容量為:4096*128=219

字,主存地址19位,地址格式如下:?主存字塊標記(8位)?

組地址(4位)?

字塊內(nèi)地址(7位)?

?

第?六?章?

12.?設浮點數(shù)格式為:階碼5位(含1位階符),尾數(shù)11位(含1位數(shù)符)。寫出51/128、-27/1024所對應的機器數(shù)。要求如下:?(1)階碼和尾數(shù)均為原碼。?(2)階碼和尾數(shù)均為補碼。?

(3)階碼為移碼,尾數(shù)為補碼。??????解:據(jù)題意畫出該浮點數(shù)的格式:?

階符1位?

階碼4位?

數(shù)符1位?

尾數(shù)10位?

??????將十進制數(shù)轉換為二進制:x1=?51/128=?0.0110011B=?2-1

?*?0.110?011B?

????x2=?-27/1024=?-0.0000011011B?=?2-5

*(-0.11011B)?

則以上各數(shù)的浮點規(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ù)字長為16位,寫出下列各種情況下它能表示的數(shù)的范圍。設機器數(shù)采用一位符號

位,答案均用十進制表示。??????(1)無符號數(shù);?

?????(2)原碼表示的定點小數(shù)。??????(3)補碼表示的定點小數(shù)。??????(4)補碼表示的定點整數(shù)。??????(5)原碼表示的定點整數(shù)。?

?????(6)浮點數(shù)的格式為:階碼6位(含1位階符),尾數(shù)10位(含1位數(shù)符)。分別寫出其正數(shù)和負數(shù)的表示范圍。?

?????(7)浮點數(shù)格式同(6),機器數(shù)采用補碼規(guī)格化形式,分別寫出其對應的正數(shù)和負數(shù)的真值范圍。?

解:(1)無符號整數(shù):0?——?216

?-?1,即:0——?65535;?

????無符號小數(shù):0?——?1?-?2-16

?,即:0?——?0.99998;??

(2)原碼定點小數(shù):-1?+?2-15

——1?-?2-15

?,即:-0.99997?——?0.99997?(3)補碼定點小數(shù):-?1——1?-?2-15

??,即:-1——0.99997?(4)補碼定點整數(shù):-215

——215

?-?1?,即:-32768——32767?(5)原碼定點整數(shù):-215

?+?1——215

?-?1,即:-32767——32767?

(6)據(jù)題意畫出該浮點數(shù)格式,當階碼和尾數(shù)均采用原碼,非規(guī)格化數(shù)表示時:?最大負數(shù)=?1,11?111;1.000?000?001?,即?-2-9

′2-31

?最小負數(shù)=?0,11?111;1.111?111?111,即?-(1-2-9

)′231

?則負數(shù)表示范圍為:-(1-2-9

)′231?

——?-2-9

′2-31

?最大正數(shù)=?0,11?111;0.111?111?111,即?(1-2-9

)′231

?最小正數(shù)=?1,11?111;0.000?000?001,即?2-9

′2-31?則正數(shù)表示范圍為:2-9

′2

-31?

——(1-2-9)′231

?

(7)當機器數(shù)采用補碼規(guī)格化形式時,若不考慮隱藏位,則?最大負數(shù)=1,00?000;1.011?111?111,即?-2-1

′2-32

?最小負數(shù)=0,11?111;1.000?000?000,即?-1′231?則負數(shù)表示范圍為:-1′231?

——?-2-1

′2-32

?

最大正數(shù)=0,11?111;0.111?111?111,即?(1-2-9

)′231

??最小正數(shù)=1,00?000;0.100?000?000,即??2-1

′2-32?則正數(shù)表示范圍為:2-1

′2-32?

——(1-2-9)′231

?

?

17.?設機器數(shù)字長為8位(包括一位符號位),對下列各機器數(shù)進行算術左移一位、兩位,算術

右移一位、兩位,討論結果是否正確。?

???[x1]原=0.001?1010;[y1]補=0.101?0100;[z1]反=1.010?1111;????[x2]原=1.110?1000;[y2]補=1.110?1000;[z2]反=1.110?1000;????[x3]原=1.001?1001;[y3]補=1.001?1001;[z3]反=1.001?1001。?解:算術左移一位:?

?[x1]原=0.011?0100;正確??

[x2]原=1.101?0000;溢出(丟1)出錯??[x3]原=1.011?0010;正確??

[y1]補=0.010?1000;溢出(丟1)出錯??[y2]補=1.101?0000;正確??

[y3]補=1.011?0010;溢出(丟0)出錯??[z1]反=1.101?1111;溢出(丟0)出錯??[z2]反=1.101?0001;正確??

[z3]反=1.011?0011;溢出(丟0)出錯?算術左移兩位:??

[x1]原=0.110?1000;正確??

[x2]原=1.010?0000;溢出(丟11)出錯?[x3]原=1.110?0100;正確?

[y1]補=0.101?0000;溢出(丟10)出錯??[y2]補=1.010?0000;正確??

[y3]補=1.110?0100;溢出(丟00)出錯??[z1]反=1.011?1111;溢出(丟01)出錯??[z2]反=1.010?0011;正確??

[z3]反=1.110?0111;溢出(丟00)出錯?算術右移一位:?

?[x1]原=0.000?1101;正確??[x2]原=1.011?0100;正確?

[x3]原=1.000?1100(1);丟1,產(chǎn)生誤差??[y1]補=0.010?1010;正確?[y2]補=1.111?0100;正確?

[y3]補=1.100?1100(1);丟1,產(chǎn)生誤差?[z1]反=1.101?0111;正確?

[z2]反=1.111?0100(0);丟0,產(chǎn)生誤差?[z3]反=1.100?1100;正確?算術右移兩位:?

?[x1]原=0.000?0110(10);產(chǎn)生誤差??[x2]原=1.001?1010;正確?

[x3]原=1.000?0110(01);產(chǎn)生誤差?[y1]補=0.001?0101;正確?[y2]補=1.111?1010;正確?

[y3]補=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ù)字長為8位(含1位符號位),用補碼運算規(guī)則計算下列各題。?

???(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轉換成機器數(shù)形式:??(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)尾數(shù)運算:?

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

[Mx]補+[-My]補=0.010?110?+?00.011100=?00.110?010??3)結果規(guī)格化:?

???[x+y]補=11,110;11.111?010?=?11,011;11.010?000?(尾數(shù)左規(guī)3次,階碼減3)????[x-y]補=11,110;00.110?010,?已是規(guī)格化數(shù)。??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????2)尾數(shù)運算:?

?????[Mx]補+[My]補=?11.101111?+?11.?100001?=?11.010000??????[Mx]補+[-My]補=?11.101111?+?00.011111?=?00.001110?

3)結果規(guī)格化:?

?[x+y]補=11,110;11.010?000,已是規(guī)格化數(shù)?

?[x-y]補=11,110;00.001?110?=11,100;00.111000?(尾數(shù)左規(guī)2次,階碼減2)?4)舍入:無??5)溢出:無?則: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?

1)對階:?

[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)?2)尾數(shù)運算:?

??[Mx]補+[My]補=?11.011011+?11.111000(1)=?11.010011(1)???[Mx]補+[-My]補=?11.011011+?00.000111(1)=?11.100010(1)?2)?結果規(guī)格化:?

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

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

1)?

4)舍入:?

[x+y]補=00,101;11.010?011(舍)?[x-y]補?不變?5)溢出:無?

則:x+y=2101

×(-0.101?101)?

x-y?=2100×(-0.111?011)?

?

32.?設機器字長為16位,分別按4、4、4、4和5、5、3、3分組后,?

???(1)畫出按兩種分組方案的單重分組并行進位鏈框圖,并比較哪種方案運算速度快。???(2)畫出按兩種分組方案的雙重分組并行進位鏈框圖,并對這兩種方案進行比較。???(3)用74181和74182畫出單重和雙重分組的并行進位鏈框圖。?

解:(1)4—4—4—4分組的16位單重分組并行進位鏈框圖見教材286頁圖6.22。?

????5—5—3—3分組的16位單重分組并行進位鏈框圖如下:??

(2)4—4—4—4分組的16位雙重分組并行進位鏈框圖見教材289頁圖6.26。?????5—5—3—3分組的16位雙重分組并行進位鏈框圖如下:??

????5—5—3—3分組的進位時間=2.5ty′3=7.5ty;????4—4—4—4分組的進位時間=2.5ty′3=7.5ty;?可見,兩種分組方案最長加法時間相同。?

?結論:雙重分組并行進位的最長進位時間只與組數(shù)和級數(shù)有關,與組內(nèi)位數(shù)無關。?(3)單重分組16位并行加法器邏輯圖如下(正邏輯):??

注意:?1)74181芯片正、負邏輯的引腳表示方法;?

???2)為強調可比性,5-5-3-3分組時不考慮扇入影響;?

???3)181芯片只有最高、最低兩個進位輸入/輸出端,組內(nèi)進位無引腳;????4)181為4位片,無法5-5-3-3分組,只能4-4-4-4分組;?

???5)單重分組跳躍進位只用到181,使用182的一定是雙重以上分組跳躍進位;????6)單重分組跳躍進位是并行進位和串行進位技術的結合;雙重分組跳躍進位是二級

并行進位技術;特別注意在位數(shù)較少時,雙重分組跳躍進位可以采用全先行進位技術實現(xiàn);位數(shù)較多時,可采用雙重分組跳躍進位和串行進位技術結合實現(xiàn)。?

第???七???章?

1.?什么叫機器指令?什么叫指令系統(tǒng)?為什么說指令系統(tǒng)與機器的主要功能以及與硬件結構之間存在著密切的關系??答:參考P300。??

2.?什么叫尋址方式?為什么要學習尋址方式??答:參看P310。??

3.?什么是指令字長、機器字長和存儲字長??答:略。??

4.?零地址指令的操作數(shù)來自哪里??各舉一例說明。?答:零地址指令的操作數(shù)來自ACC,為隱含約定。?

在一地址指令中,另一個操作數(shù)的地址通??刹捎肁CC隱含尋址方式獲得。??

5.?對于二地址指令而言,操作數(shù)的物理地址可安排在什么地方?舉例說明。?

答:對于二地址指令而言,操作數(shù)的物理地址可安排在寄存器內(nèi)、指令中或內(nèi)存單元內(nèi)等。??

8.?某機指令字長16位,每個操作數(shù)的地址碼為6位,設操作碼長度固定,指令分為零地址、一地址和二地址三種格式。若零地址指令有M條,一地址指令有N種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種??解:1)若采用定長操作碼時,二地址指令格式如下:?

OP(4位)?

A1(6位)?

A2(6位)?

設二地址指令有K種,則:K=24

-M-N?

當M=1(最小值),N=1(最小值)時,二地址指令最多有:Kmax=16-1-1=14種?3)?若采用變長操作碼時,二地址指令格式仍如1)所示,但操作碼長度可隨地址碼的

個數(shù)而變。此時,K=?24

?-(N/26

?+?M/212

?);?

?當(N/26

?+?M/212

?)£1時(N/26

?+?M/212

?向上取整),K最大,則二地址指令最多有:

Kmax=16-1=15種(只留一種編碼作擴展標志用。)?

??

9.?試比較間接尋址和寄存器間接尋址。?答:略。??

10.?試比較基址尋址和變址尋址。?略。??

11.?畫出先變址再間址及先間址再變址的尋址過程示意圖。?解:1)先變址再間址尋址過程簡單示意如下:????????EA=[(IX)+A],IX?(IX)+1?

2)先間址再變址尋址過程簡單示意如下:EA=(IX)+(A),IX??(IX)+1??

16.?某機主存容量為4M′16位,且存儲字長等于指令字長,若該機指令系統(tǒng)可完成108種操作,

操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對、立即等六種尋址方式,試回答:(1)畫出一地址指令格式并指出各字段的作用;???(2)該指令直接尋址的最大范圍;???(3)一次間址和多次間址的尋址范圍;???(4)立即數(shù)的范圍(十進制表示);???(5)相對尋址的位移量(十進制表示);?

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

?(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

;若多次間址,需用存儲字的最高位來區(qū)別是否繼續(xù)間接尋址,故尋址范圍為215

。?

(4)立即數(shù)的范圍為-32——31(有符號數(shù)),或0——63(無符號數(shù))。??(5)相對尋址的位移量為-32——31。?

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

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

OP(7位)?

MOD(3位)?

A(高6位)?

A(低16位)?

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

????硬件設段寄存器DS(16位),用來存放段地址。在完成指令尋址方式所規(guī)定的尋址操作后,得有效地址EA(6位),再由硬件自動完成段尋址,最后得22位物理地址。?即:物理地址=(DS)′26

?+?EA??

注:段尋址方式由硬件隱含實現(xiàn)。在編程指定的尋址過程完成、EA產(chǎn)生之后由硬件自動

完成,對用戶是透明的。?

方案三:在采用單字長指令(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位。??????

19.?某CPU內(nèi)有32個32位的通用寄存器,設計一種能容納64種操作的指令系統(tǒng)。假設指令字長等于機器字長,試回答以下問題:?

???(1)如果主存可直接或間接尋址,采用寄存器—存儲器型指令,能直接尋址的最大存儲空間是多少?畫出指令格式并說明各字段的含義。?

???(2)在滿足(1)的前提下,如果采用通用寄存器作基址寄存器,則上述寄存器—存儲器型指令的指令格式有何特點?畫出指令格式并指出這類指令可訪問多大的存儲空間??解:(1)如采用RS型指令,則此指令一定是二地址以上的地址格式,指令格式如下:?

OP(6位)?

R(5位)?

I(1位)?A(20位)?

??????操作碼字段OP占6位,因為26>=64;?

寄存器編號R占5位,因為25

>=32;?

間址位I占1位,當I=0,存儲器尋址的操作數(shù)為直接尋址,當I=1時為間接尋址;?形式地址A占20位,可以直接尋址220

字。?

(2)如采用基址尋址,則指令格式中應給出基址寄存器號,以指定哪一個通用寄存器用作基址寄存器。指令格式變?yōu)椋?OP(6位)?

源R(5位)?

I(1位)?

X(1位)?目標R(5位)?A(14位)?

??????增加尋址特征位X,當X=1時,以目標寄存器R作為基址寄存器進行基址尋址。???????基址尋址可訪問存儲空間為:232

字。?

第八章?

1.?CPU有哪些功能?畫出其結構框圖并簡要說明各個部件的作用。?答:參考P328和圖8.2。??

2.?什么是指令周期?指令周期是否有一個固定值?為什么??解:指令周期是指取出并執(zhí)行完一條指令所需的時間。?

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

3.?畫出指令周期的流程圖,分析說明圖中每個子周期的作用。?答:參看P343及圖8.8。??

4.?設CPU內(nèi)有下列部件:PC、IR、SP、AC、MAR、MDR和CU。?

??(1)畫出完成間接尋址的取數(shù)指令LDA@X(將主存某地址單元X的內(nèi)容取至AC中)的數(shù)據(jù)流(從取指令開始)。?

??(2)畫出中斷周期的數(shù)據(jù)流。?

解:CPU中的數(shù)據(jù)流向與所采用的數(shù)據(jù)通路結構直接相關,不同的數(shù)據(jù)通路中的數(shù)據(jù)流是不一樣的。常用的數(shù)據(jù)通路結構方式有直接連線、單總線、雙總線、三總線等形式,目前大多采用總線結構,直接連線方式僅適用于結構特別簡單的機器中。?

為簡單起見,本題采用單總線將題中所給部件連接起來,框圖如下:?

PCMARAC

MDRCUSPIRbus

地址線數(shù)據(jù)線控制線

ˉ?????????

????(1)LDA@X指令周期數(shù)據(jù)流程圖:?

PC→MARM(MAR)→MDR(MDR)→IRPC+1→PCAd(IR)→MARM(MAR)→MDRMDR→Ad(IR)Ad(IR)→MARM(MAR)→MDRMDR→AC

?

(2)中斷周期流程圖如下:?

SP-1→SPPC→MDRMDR→M(MAR)向量地址→PC0→EINT

SP→MAR?

?注:解這道題有兩個要素,首先要根據(jù)所給部件設計好數(shù)據(jù)通路,即確定信息流動的載體。其次選擇好描述數(shù)據(jù)流的方法,無論采用什么樣的表達方式,其關鍵都要能清楚地反映數(shù)據(jù)在通路上流動的順序,即強調一個“流”字。較好的表達方式是流程圖的形式。??

5.?中斷周期前是什么階段?中斷周期后又是什么階段?在中斷周期CPU應完成什么操作??答:中斷周期前是執(zhí)行周期,中斷周期后是取指周期。在中斷周期,CPU應完成保存斷點、將中斷向量送PC和關中斷等工作。??

7.?什么叫系統(tǒng)的并行性?粗粒度并行和細粒度并行有何區(qū)別??

答:所謂并行性包含同時性和并發(fā)性。同時性是指兩個或兩個以上的事件在同一時刻發(fā)生,并發(fā)性是指兩個或多個事件在同一時間段發(fā)生。即在同一時刻或同一時間段內(nèi)完成兩個或兩個以上性質相同或性質不同的功能,只要在時間上存在相互重疊,就存在并行性。?

并行性又分為粗粒度并行和細粒度并行兩類。粗粒度并行是指在多個處理機上分別運行多個進程,由多臺處理機合作完成一個程序,一般用算法實現(xiàn)。細粒度并行是指在處理機的指令級

和操作級的并行性。??

8.?什么是指令流水?畫出指令二級流水和四級流水的示意圖,它們中哪個更能提高處理機速度,為什么??

答:指令流水是指將一條指令的執(zhí)行過程分為n個操作時間大致相等的階段,每個階段由一個獨立的功能部件來完成,這樣n個部件就可以同時執(zhí)行n條指令的不同階段,從而大大提高CPU的吞吐率。?

指令二級流水和四級流水示意圖如下:?

IF,ID

EX,WRIF,ID

EX,WRIF,ID

EX,WR

二級指令流水示意圖

四級指令流水示意圖

IF????????ID

EX???????WR

IF?????????ID

EX??????WR

EX??????WR

IF?????ID

?

?????四級流水更能提高處理機的速度。分析如下:?

?????假設IF、ID、EX、WR每個階段耗時為t,則連續(xù)執(zhí)行n條指令?

采用二級流水線時,耗時為:4t+(n-1)2t=(2n+2)t?采用四級流水線時,耗時為:4t+(n-1)t=(n+3)t?

在n>1時,n+3<2n+2,可見四級流水線耗時比二級流水線耗時短,因此更能提高處理

機速度。??

17.?在中斷系統(tǒng)中INTR、INT、EINT三個觸發(fā)器各有何作用??

解:INTR——中斷請求觸發(fā)器,用來登記中斷源發(fā)出的隨機性中斷請求信號,以便為CPU查詢中斷及中斷排隊判優(yōu)線路提供穩(wěn)定的中斷請求信號。?

EINT——中斷允許觸發(fā)器,CPU中的中斷總開關。當EINT=1時,表示允許中斷(開中斷),當EINT=0時,表示禁止中斷(關中斷)。其狀態(tài)可由開、關中斷等指令設置。?

INT——中斷標記觸發(fā)器,控制器時序系統(tǒng)中周期狀態(tài)分配電路的一部分,表示中斷周期標記。當INT=1時,進入中斷周期,執(zhí)行中斷隱指令的操作。?

?

24.?現(xiàn)有A、B、C、D四個中斷源,其優(yōu)先級由高向低按A、B、C、D順序排列。若中斷服務程序的執(zhí)行時間為20μs,請根據(jù)下圖所示時間軸給出的中斷源請求中斷的時刻,畫出CPU執(zhí)行程序的軌跡。?

解:A、B、C、D的響優(yōu)先級即處理優(yōu)先級。CPU執(zhí)行程序的軌跡圖如下:?

0???10???20????30???40???50????60???70???80???90??100??110?120?130?140????t/usB與C請求

B請求D請求

C服務

B服務A服務程序

D服務A請求

B服務

C服務

D服務

A服務

B服務

B服務

?

25.?某機有五個中斷源L0、L1、L2、?L3、L4,按中斷響應的優(yōu)先次序由高向低排序為L0??

L1?L2?L3?L4,根據(jù)下示格式,現(xiàn)要求中斷處理次序改為L1?L4?L2?L0?L3,根據(jù)下面的格式,寫出各中斷源的屏蔽字。?解:各中斷源屏蔽狀態(tài)見下表:?

中斷源?

屏蔽字?

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?

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

?

26.?設某機配有A、B、C三臺設備,其優(yōu)先順序按A?B?C降序排列,為改變中斷處理次序,它們的中斷屏蔽字設置如下:?

設備?屏蔽字?A?111?B?010?C?

011?

???請按下圖所示時間軸給出的設備請求中斷的時刻,畫出CPU執(zhí)行程序的軌跡。設A、B、C中斷服務程序的執(zhí)行時間均為20m?s。?

解:A、B、C設備的響應優(yōu)先級為A最高、B次之、C最低,處理優(yōu)先級為A最高、C次之、B最低。CPU執(zhí)行程序的軌跡圖如下:?

0???10??20???30??40??50???60??70??80???90??????t/usA請求C請求

B請求C服務

B服務A服務程序

?

?


計算機組成原理課后答案(唐第二版)的評論 (共 條)

分享到微博請遵守國家法律
衡阳县| 榆中县| 容城县| 安阳县| 中阳县| 兴安盟| 天祝| 宿松县| 承德县| 灵山县| 花垣县| 通许县| 顺义区| 江油市| 黄陵县| 泸水县| 内江市| 遂昌县| 定安县| 汤阴县| 镇康县| 镇江市| 岳西县| 舟山市| 南京市| 铜鼓县| 繁昌县| 金坛市| 太仆寺旗| 丁青县| 盖州市| 靖远县| 乐安县| 阜新市| 视频| 婺源县| 东明县| 宁远县| 昭苏县| 梅河口市| 井陉县|