計算機組成原理課后答案(唐朔飛第二版)
第一章 計算機系統(tǒng)概論
1. 什么是計算機系統(tǒng)、計算機硬件和計算機軟件?硬件和軟件哪個更重要?
解:P3
計算機系統(tǒng):由計算機硬件系統(tǒng)和軟件系統(tǒng)組成的綜合體。
計算機硬件:指計算機中的電子線路和物理裝置。
計算機軟件:計算機運行所需的程序及相關資料。
硬件和軟件在計算機系統(tǒng)中相互依存,缺一不可,因此同樣重要。
5. 馮?諾依曼計算機的特點是什么?
解:馮?諾依曼計算機的特點是:P8
l 計算機由運算器、控制器、存儲器、輸入設備、輸出設備五大部件組成;
l 指令和數(shù)據(jù)以同同等地位存放于存儲器內,并可以按地址訪問;
l 指令和數(shù)據(jù)均用二進制表示;
l 指令由操作碼、地址碼兩大部分組成,操作碼用來表示操作的性質,地址碼用來表示操作數(shù)在存儲器中的位置;
l 指令在存儲器中順序存放,通常自動順序取出執(zhí)行;
l 機器以運算器為中心(原始馮?諾依曼機)。
7. 解釋下列概念:
主機、CPU、主存、存儲單元、存儲元件、存儲基元、存儲元、存儲字、存儲字長、存儲容量、機器字長、指令字長。
解:P9-10
主機:是計算機硬件的主體部分,由CPU和主存儲器MM合成為主機。
CPU:中央處理器,是計算機硬件的核心部件,由運算器和控制器組成;(早期的運算器和控制器不在同一芯片上,現(xiàn)在的CPU內除含有運算器和控制器外還集成了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,控制單元(部件),為控制器的核心部件,其功能是產生微操作命令序列。
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,輸入/輸出設備,為輸入設備和輸出設備的總稱,用于計算機內部和外界信息的轉換與傳送。
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ū)別。
答:按照計算機的效率、速度、價格和運行的經濟性和實用性可以將計算機劃分為通用計算機和專用計算機。通用計算機適應性強,但犧牲了效率、速度和經濟性,而專用計算機是最有效、最經濟和最快的計算機,但適應性很差。例如個人電腦和計算器。
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ù)傳輸率,指單位時間內總線上傳輸數(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?哪些總線有這一特點?
答:總線標準的設置主要解決不同廠家各類模塊化產品的兼容問題;
目前流行的總線標準有:ISA、EISA、PCI等;
plug and play:即插即用,EISA、PCI等具有此功能。
11. 畫一個具有雙向傳輸功能的總線邏輯圖。
答:在總線的兩端分別配置三態(tài)門,就可以使總線具有雙向傳輸功能。
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寄存器中的內容送至總線bus,由cp脈沖同時將總線上的數(shù)據(jù)打入到 A、B、C寄存器中。 T和cp的時間關系如圖(1)所示。
圖(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,則存儲器的帶寬是多少?
解:存儲器的帶寬指單位時間內從存儲器進出信息的最大數(shù)量。
存儲器帶寬 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒
注意:字長32位,不是16位。(注:1ns=10-9s)
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所存信息的衰減需要及時補充,因此安排了定期刷新操作;
常用的刷新方法有三種:集中式、分散式、異步式。
集中式:在最大刷新間隔時間內,集中安排一段時間進行刷新,存在CPU訪存死時間。
分散式:在每個讀/寫周期之后插入一個刷新周期,無CPU訪存死時間。
異步式:是集中式和分散式的折衷。
10. 半導體存儲器芯片的譯碼驅動方式有幾種?
解:半導體存儲器芯片的譯碼驅動方式有兩種:線選法和重合法。
線選法:地址譯碼信號只選中同一個字的所有位,結構簡單,費器材;
重合法:地址分行、列兩部分譯碼,行、列譯碼線的交叉點即為所選單元。這種方法通過行、列譯碼信號的重合來選址,也稱矩陣譯碼??纱蟠蠊?jié)省器材用量,是最常用的譯碼驅動方式。
11. 一個8K×8位的動態(tài)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
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位
組內片數(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 = 219-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)每個模塊板內共有幾片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何選擇各模塊板?
解:(1)該機所允許的最大主存空間是:218 × 8位 = 256K×8位 = 256KB
(2)模塊板總數(shù) = 256K×8 / 32K×8 = 8塊
(3)板內片數(shù) = 32K×8位 / 4K×4位 = 8×2 = 16片
(4)總片數(shù) = 16片×8 = 128片
(5)CPU通過最高3位地址譯碼輸出選擇模板,次高3位地址譯碼輸出選擇芯片。地址格式分配如下:
15. 設CPU共有16根地址線,8根數(shù)據(jù)線,并用
(低電平有效)作訪存控制信號,
作讀寫命令信號(高電平為讀,低電平為寫)?,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)所示:
圖(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與存儲器芯片連接邏輯圖:
(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體交叉訪問時序如下圖:
18. 什么是“程序訪問的局部性”?存儲系統(tǒng)中哪一級采用了程序訪問的局部性原理?
解:程序運行的局部性原理指:在一小段時間內,最近被訪問過的程序和數(shù)據(jù)很可能再次被訪問;在空間上,這些被訪問的程序和數(shù)據(jù)往往集中在一小片存儲區(qū);在訪問順序上,指令順序執(zhí)行比轉移執(zhí)行的可能性大 (大約 5:1 )。存儲系統(tǒng)中Cache—主存層次采用了程序訪問的局部性原理。
25. Cache做在CPU芯片內有什么好處?將指令Cache和數(shù)據(jù)Cache分開又有什么好處?
答:Cache做在CPU芯片內主要有下面幾個好處:
1)可提高外部總線的利用率。因為Cache在CPU芯片內,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),如二級緩存結構,即在片內Cache(L1)和主存之間再設一個片外Cache(L2),片外緩存既可以彌補片內緩存容量不夠大的缺點,又可在主存與片內緩存間起到平滑速度差的作用,加速片內緩存的調入調出速度。
30. 一個組相連映射的CACHE由64塊組成,每組內包含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位)
字塊內地址(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,產生誤差
[y1]補=0.010 1010;正確
[y2]補=1.111 0100;正確
[y3]補=1.100 1100(1);丟1,產生誤差
[z1]反=1.101 0111;正確
[z2]反=1.111 0100(0);丟0,產生誤差
[z3]反=1.100 1100;正確
算術右移兩位:
[x1]原=0.000 0110(10);產生誤差
[x2]原=1.001 1010;正確
[x3]原=1.000 0110(01);產生誤差
[y1]補=0.001 0101;正確
[y2]補=1.111 1010;正確
[y3]補=1.110 0110(01);產生誤差
[z1]反=1.110 1011;正確
[z2]反=1.111 1010(00);產生誤差
[z3]反=1.110 0110(01);產生誤差
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ù)有關,與組內位數(shù)無關。
(3)單重分組16位并行加法器邏輯圖如下(正邏輯):
注意: 1)74181芯片正、負邏輯的引腳表示方法;
2)為強調可比性,5-5-3-3分組時不考慮扇入影響;
3)181芯片只有最高、最低兩個進位輸入/輸出端,組內進位無引腳;
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ù)的物理地址可安排在寄存器內、指令中或內存單元內等。
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í)行時間最長。變址尋址由于變址寄存器的內容由用戶給定,而且在程序的執(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產生之后由硬件自動完成,對用戶是透明的。
方案三:在采用單字長指令(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內有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)椋?/p>
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內有下列部件:PC、IR、SP、AC、MAR、MDR和CU。
(1)畫出完成間接尋址的取數(shù)指令LDA@X(將主存某地址單元X的內容取至AC中)的數(shù)據(jù)流(從取指令開始)。
(2)畫出中斷周期的數(shù)據(jù)流。
解:CPU中的數(shù)據(jù)流向與所采用的數(shù)據(jù)通路結構直接相關,不同的數(shù)據(jù)通路中的數(shù)據(jù)流是不一樣的。常用的數(shù)據(jù)通路結構方式有直接連線、單總線、雙總線、三總線等形式,目前大多采用總線結構,直接連線方式僅適用于結構特別簡單的機器中。
為簡單起見,本題采用單總線將題中所給部件連接起來,框圖如下:
ˉ (1)LDA@X指令周期數(shù)據(jù)流程圖:
(2)中斷周期流程圖如下:
注:解這道題有兩個要素,首先要根據(jù)所給部件設計好數(shù)據(jù)通路,即確定信息流動的載體。其次選擇好描述數(shù)據(jù)流的方法,無論采用什么樣的表達方式,其關鍵都要能清楚地反映數(shù)據(jù)在通路上流動的順序,即強調一個“流”字。較好的表達方式是流程圖的形式。
5. 中斷周期前是什么階段?中斷周期后又是什么階段?在中斷周期CPU應完成什么操作?
答:中斷周期前是執(zhí)行周期,中斷周期后是取指周期。在中斷周期,CPU應完成保存斷點、將中斷向量送PC和關中斷等工作。
7. 什么叫系統(tǒng)的并行性?粗粒度并行和細粒度并行有何區(qū)別?
答:所謂并行性包含同時性和并發(fā)性。同時性是指兩個或兩個以上的事件在同一時刻發(fā)生,并發(fā)性是指兩個或多個事件在同一時間段發(fā)生。即在同一時刻或同一時間段內完成兩個或兩個以上性質相同或性質不同的功能,只要在時間上存在相互重疊,就存在并行性。
并行性又分為粗粒度并行和細粒度并行兩類。粗粒度并行是指在多個處理機上分別運行多個進程,由多臺處理機合作完成一個程序,一般用算法實現(xiàn)。細粒度并行是指在處理機的指令級和操作級的并行性。
8. 什么是指令流水?畫出指令二級流水和四級流水的示意圖,它們中哪個更能提高處理機速度,為什么?
答:指令流水是指將一條指令的執(zhí)行過程分為n個操作時間大致相等的階段,每個階段由一個獨立的功能部件來完成,這樣n個部件就可以同時執(zhí)行n條指令的不同階段,從而大大提高CPU的吞吐率。
指令二級流水和四級流水示意圖如下:
四級流水更能提高處理機的速度。分析如下:
假設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í)行程序的軌跡圖如下:
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í)行程序的軌跡圖如下: