計算機組成原理練習題
1. 什么是程序訪問的局部性原理?存儲系統中哪一級采用了這一原理?起到了什么作用?
答1:程序訪問的局部性原理: CPU訪問存儲器時,無論是存取指令還是存取數據,所訪問的存儲單元都趨於聚集在一個較小的連續區域中。
- 時間局部性:如果一個信息項正在被訪問,那么在近期它很可能還會被再次訪問。
- 空間局部性:在最近的將來將用到的信息很可能與現在正在使用的信息在空間地址上是臨近的。
- 順序局部性:在典型程序中,除小部分轉移類指令外,大部分指令是順序進行的。
Ps:在訪問順序上,指令順序執行比轉移執行的可能性大(約5:1)
答2:存儲系統中Cache-主存層次和主存-輔存層次
答3:局部性原理起到了 可將高頻(利用/出現)的數據從內存中加載的緩存中,從而加快CPU的處理速度,提高系統性能 的作用
2. 一個完整的指令周期包括哪幾個工作周期?它們有何同異?畫出指令周期流程圖。
答1:一個完整的指令周期包括 取指周期、間址周期、執行周期和中斷周期
答2:·
- 取指周期:在取指周期中CPU主要完成兩個操作:(1)按程序計數器PC的內容取指令(2)形成后繼指令的地址;
- 間址周期是取出操作數的有效地址。·執行周期是取出操作數,並執行。
- 中斷周期:當CPU采用中斷方式實現主機與I/O交換信息時,CPU在每條指令執行階段結束前, 都要發中斷查詢信號,以檢測是否有某個I/O提出中斷請求。如果有請求CPU則要進入中斷響應階段,又稱中斷周期。在這階段, CPU必須將程序斷點保存到存儲器中。
答3:指令周期流程圖
3. CPU響應I/O中斷請求的條件和時間是什么?
答:(1)條件:I/O設備發出中斷請求(INTR=1),且中斷請求未屏蔽(MASK=1)
(2)時間:執行周期結束
4. 什么是I/O接口?說明I/O接口的功能與基本組成
答1:lO 接口是主機與被控對象進行信息交換的紐帶。
答2:主機通過I/O 接口與外部設備進行數據交換。
5.設某計算機主頻為8MHz,每條指令平均有4個機器周期,每個機器周期平均含有4個時鍾周期,求該計算機的平均指令執行速度(MIPS)。
答:時鍾周期=1/主頻=1/8 ,即機器周期有(m個時鍾周期)4*1/8=1/2個
所以指令周期(n個機器周期)=4*1/2=2 ->CPL=2*1/2=1MIPS
- 主頻也叫時鍾頻率
- CPI = m*n; 平均每條指令的平均時鍾周期個數
- 指令周期 = CPI×機器周期 = n(CPI=n)×m×時鍾周期=nm/主頻f
- MIPS = 每秒執行百萬條指令數 = 1/(CPI×時鍾周期)= 主頻/CPI
- 指令平均時鍾數=(指令條目數*指令時鍾數)/總指令條目數
- 指令運算速度 =1/指令平均時鍾數*時鍾頻率 (單位:MIPS)
6.畫出計算機硬件組成框圖,說明各部件的作用及計算機硬件的主要技術指標。
- 控制器:整機的指揮中心,它使計算機的各部件自動協調工作
- 運算器:處理數據信息的部件,用來進行算術運算和邏輯運算
- 存儲器:存放程序和數據,是計算機實現“存儲程序控制”的基礎
- 輸入設備:將人們熟悉的信息形式轉換成計算機可以接受並識別的信息形式的設備
- 輸出設備:將計算機處理的結果(二進制信息)轉換成人類或其他設備可以接受和識別的信息形式的設備
7. 什么是程序的局部性原理?
答:一個編寫良好的計算機程序中傾向於引用鄰近於其他最近引用過的數據項,或者最近引用過的數據項本身的這種傾向性即為程序的局部性原理。
8. 存儲器的層次結構主要體現在什么地方?為什么要分這些層次?計算機如何管理這些層次?
答1:存儲器的層次結構主要體現在緩存-主存和這兩個存儲層次上。
答2: 緩存-主存:主要解決CPU和主存速度不匹配的問題
主存-輔存:主要解決存儲體統容量問題
答3:主存和緩存之間的數據調動是由硬件和操作系統共同完成的
9 說明中斷向量地址和入口地址的區別和聯系。
答:入口地址:和中斷服務程序相關的是入口地址(包括段地址,或者是偏移量,也包括執行所保存的內存單元的地址)。
向量地址: 指這條跳轉指令在內存當中保存的地址。
10. 什么是指令周期?指令周期是否有一個固定值?為什么?
答1:指令周期是指CPU取出並執行一條指令所需要的時間;
答2、3:由於計算機的各種指令執行所需的時間差異很大,所以為了提高CPU的效率,即使在同步控制器中,不同指令的指令周期長度都是不一致的。
11. 馮·諾依曼計算機的基本思想是什么?什么叫存儲程序方式?。
答1:(1)計算機由運算器、存儲器、控制器、輸入輸出設備5大部件組成;
(2)各基本部件的功能是:
-
-
- 存儲器不僅能存放數據,也能存放指令,形式上兩者沒有區別,但計算機應能區分數據還是指令。
- 控制器應能自動取出指令來執行。
- 運算器應能進行+-%四種基本算術運算,並且也能進行一些邏輯運算和附加運算
- 操作人員可以通過輸入設備、輸出設備和主機進行通信。
-
(3)內部以二進制表示指令和數據,每條指令由操作碼和地址嗎兩部分組成:
-
-
- 操作碼:指出操作類型(加、減法,跳轉、傳送等)
- 地址碼:指出操作數的地址。由一串指令組成程序。
-
(4)采用“存儲程序”工作方式。
答2:“存儲程序”方式:程序存入存儲器后,計算機便可自動地從一條指令轉到執行另一條指令。
12. 為什么要設置總線判優控制?常見的集中式總線控制有幾種?各有何特點?哪種方式響應時間最快?哪種方式對電路故障最敏感?
答1:總線判優控制解決了多個部件同時申請總線時的使用權分配問題 確定排隊的部件哪個優先占用總線。
答2:常見的集中式總線控制有:鏈式查詢、計數器定時查詢、獨立請求。
答3、4、5:
- ·鏈式查詢方式連線簡單,易於擴充,對電路故障最敏感(鏈式查詢方式對詢問鏈的電路故障很敏感,如果第i個設備的接口中有關鏈的電路有故障,那么第i個以后的設備都不能進行工作);
- ·計數器定時查詢方式優先級設置較靈活,對故障不敏感,連線及控制過程較復雜;
- ·獨立請求方式速度最快,但硬件器件用量大,連線多,成本較高。
13. 什么是I/O接口?為什么要設置I/O接口? I/O接口如何分類?
答1:I/O接口是主機與被控對象進行信息交換的紐帶。介於主機和外設之間的一種緩沖電路。
答2:主機要通過I/O接口與外部設備進行數據交換。
答3:I/O接口分類:
- 按功能選擇的靈活性可分為:
-
- 可編程接口
- 不可編程接口
-
- 按數據傳送方式可分為 :
-
- 並行接口:一個字節或一個字所有位同時傳送
- 串行接口:一位一位地傳送
- 程序查詢接口
-
- 按主機訪問I/O設備的控制方式 :
-
- 中斷接口
- DMA接口
-
14.在一個32位的總線系統中,總線的時鍾頻率為66MHZ,假設總線最短傳輸周期為4個時鍾周期。(1)試計算總線的最大數據傳輸率。(2)若想提高數據傳輸率,可采取什么措施?
15. 設機器字長為8位(含1位符號位),A=-25/64,B=-19/128。
(1)用補碼運算規則計算A+B;
(2)結果溢出嗎?為什么?
16. 設CPU有16根地址線 、8根數據線,並用 (低電平有效)作為訪存控制信號,用 作為讀寫控制信號(高電平為讀,低電平為寫)。現有存儲芯片、74138譯碼器和各種門電路如圖所示。畫出CPU與存儲器的連接圖。
要求主存地址空間分配:5000H~57FFH系統程序區,5800H~5BFFH 為用戶程序區。
(1)寫出地址空間分配的二進制地址范圍;
(2)指出選用的芯片類型及數量;
(3)詳細畫出芯片的片選邏輯圖及存儲芯片與CPU的連接圖。(4分)
17. 設某主機主存容量16MB,Cache容量為64KB,每字塊8字,每字32位,設計一個四路組相聯映像(4字塊/組)的Cache。
(1)畫出主存地址字段中各段的位數;
(2)設Cache初態為空,CPU一次從0,1,2,…,79號字單元中讀出80個字,並重復此序讀5次,問命中率是多少?
18. 設某機指令字長、機器字長和存儲字長均相等,該機指令格式如下:
5 3 8 |
||
OP |
M |
A |
其中,A為形式地址,M為尋址特征位,
M=0:立即尋址;M=1:直接尋址;M=2:間接尋址;M=3:相對尋址;M=4:變址尋址(變址寄存器為Rx)。試問:
(1)該指令能定義多少種不同的操作?立即尋址操作數的范圍是多少?
(2)寫出各種尋址方式計算有效地址的表達式;
(3)當M=1,2,3時,能訪問的最大主存空間為多少字(主存容量64K字)?
(4)設(PC)=1256h, (Rx)=0088h,確定下列指令的有效地址。
① 698ch;② 3b89h;③ 3c32h
19. 設某機主存容量為8M×16位,且機器字長、指令字長都等於存儲字長。若該機指令系統可完成62種操作,操作碼位數固定,且具有立即、直接、間接、變址、基址、相對等六種尋址方式,回答下列問題:
(1) 畫出一地址指令格式並說明各字段的作用;
(2) 該指令直接尋址的最大范圍;
(3)一次間址的范圍和多次間址的范圍各是多少?
(4)立即數的范圍(十進制表示);
(5)若存儲字長不變,可采用什么方法訪問容量為8M字的主存?
20. 設單總線結構CPU如圖所示。R和W分別是讀寫控制標志,PC有自動加1功能,R1,R2為暫存器,B、C、D、E、H、L(圖中未畫全)為6個寄存器,它們各自的輸入端和輸出端都與內部總線Bus相連。
(1) 寫出完成指令 ADD B,@L ;(B) + ((L)) →B 組合邏輯控制單元所發出的全部微操作命令及節拍安排;
(2) 如果采用微程序控制,需增加哪些微操作命令?