计算机组成原理疑难知识点
word文檔資源下載
計算機組成原理
疑難知識點與錯題筆記
文章目錄
- 第一章 計算機系統概述
- 第二章 數據的表示和運算
- 第三章 存儲系統
- 第四章 指令系統
- 第五章 中央處理器
- 第六章 總線
- 第七章 輸入/輸出系統
- 第八章 知識點匯總與對比
目錄
第一章 計算機系統概述 1
1.1. 只有當程序執行時才將源程序翻譯成機器語言,并且依次只能翻譯一行語句,邊翻譯邊執行的是什么程序?把匯編語言源程序轉變為機器語言程序的過程是什么? 1
1.1.1. 將高級語言源程序轉換為機器級目標代碼文件的程序是? 1
1.1.2. 編譯程序和解釋程序的區別? 1
1.2. 馮·諾依曼機的基本工作方式是什么? 1
1.3. MAR和MDR的位數分別為? 1
1.4. 運算器中有哪些硬件? 2
1.4.1. 地址寄存器在運算器中嗎? 2
1.5. 數據庫系統屬于系統軟件嗎? 2
1.6. 什么是相聯存儲器? 2
1.7. 機器字長、指令字長、存儲字長、數據字長的區別和聯系是什么? 2
1.8. 機器周期、時鐘周期聯系? 2
1.9. 在CPU寄存器中,哪些寄存器對用戶完全透明? 3
1.10. CPU的CPI與什么因素有關? 3
1.11. 會計電算化屬于科學計算方面的應用? 3
第二章 數據的表示和運算 3
2.1. 有C語言片段:short si=-32767;unsigned short usi=si;執行這兩句后,usi的值為? 3
2.2. 對真值0表示形式唯一的機器數是? 3
2.3. 定點小數反碼[X]反=x0.x1···xn表示的數值范圍是? 3
2.4. 若定點整數為64位,含一位符號位,采用補碼表示,所能表示的絕對值最大負數為? 4
2.5. 設[X]補=1.x1x2x3x4,當x1x2x3x4滿足什么條件時,x<-1/2成立? 4
2.6. 設[X]補=1,x1x2x3x4x5x6,當x1x2x3x4x5x6滿足什么條件時,x>-32成立? 4
2.7. 設x為真值,x 為其絕對值,滿足[-x]補=[-x]補,x在什么情況下成立? 4
2.8. 什么是模2補碼?什么是模4補碼? 4
2.9. 什么是符號位的進位與最高數值位的進位?什么運算中用到它們? 4
2.10. 若[X]補=X0.X1X2···Xn,其中X0為符號位,X1為最高位。X0X1在什么情況下,當補碼左移時,將會發生溢出。 5
2.11. 某字長為8位的計算機中,已知整型變量x,y的機器數分別為[x]補=1 1110100,[y]補=1 0110000。若整型變量z=2x+y/2,則z的機器數為? 5
2.12. 邏輯右移與算數右移的區別? 5
2.13. IEEE754標準的浮點數的單精度雙精度指的是什么? 5
2.14. 定點數的運算 5
2.14.1. 定點數的加減法運算 5
2.14.2. 定點數的乘法運算 6
2.14.3. 定點數的除法運算 6
2.15. 定點數原碼一位乘法與補碼一位乘法(Booth)的區別? 7
2.16. 定點數的原碼補碼除法運算與區別 7
2.17. 浮點數的運算 8
2.17.1. 浮點數的加減運算 8
2.18. 長度相同、格式相同的兩種浮點數,假設前者基數大,后者基數小,其他規定均相同,則它們可表示的數的范圍和精度怎么樣? 8
2.19. 在規格化浮點運算中,若某浮點數為25×1.10101,其中尾數為補碼表示,則該數需要規格化嗎?怎么規格化? 8
2.19.1. 什么時候浮點數規格化需要左規? 8
2.19.2. 什么時候浮點數規格化需要右規? 9
2.19.3. 原碼表示的浮點數規格化后尾數M取值范圍? 9
2.19.4. 補碼表示的浮點數規格化后尾數M取值范圍? 9
2.20. 浮點數格式如下:7位階碼,1位數符,8位尾數,若階碼用移碼,尾數用補碼表示,則浮點數所能表示數的范圍是多少? 9
2.21. 采用規格化的浮點數主要是為了方便浮點數運算? 9
2.22. 已知X=-0.875×21,Y=0.625×22,設浮點數格式為階符1位,階碼2位,數符1位,尾數3位,通過補碼求出Z=X-Y的二進制浮點數規格化結果為? 9
2.23. 在算數移位的情況下,雙符號位的移位操作只有低符號位需要參與移位操作。 10
2.24. 浮點數什么時候會出現下溢? 10
2.25. 加法器中每位的進位生成信號g表達式是什么? 10
第三章 存儲系統 11
3.1. 順序存取存儲器、直接存取存儲器、隨機存取存儲器和只讀存儲器有哪些? 11
3.2. 某一SRAM芯片,其容量為1024×8位,除電源和接地端外,該芯片的引腳的最小數目為? 11
3.3. 某一DRAM芯片,采用地址復用技術,其容量為1024×8位,除電源和接地端外,該芯片的引腳數最少是幾根?(讀寫控制線兩根) 11
3.4. 某計算機系統,其操作系統保存于硬盤上,其內存儲器應該采用什么存儲器? 11
3.5. EPROM是可改寫的,因此可以作為隨機存儲器? 11
3.6. 地址碼如何通過片選信號選中某個芯片? 12
3.7. 某計算機存儲器按字節編址,主存地址空間大小為64MB,現用4M×8位的RAM芯片組成32MB的主存儲器,則存儲器地址寄存器MAR的位數至少是多少位? 12
3.8. 某計算機主存按字節編址,由4個64M×8位的DRAM芯片采用交叉編址方式構成,并與寬度為32位的存儲器總線相連,主存每次最多讀寫32位數據。若double型變量x的主存地址為804 001AH,則讀取x需要的存儲周期是多少? 12
3.9. 某存儲系統,主存容量是Cache容量的4096倍,Cache被分為64個塊,當主存地址和Cache地址采用直接映射方式時,地址映射表的大小應為多少?假設不考慮一致維護和替換算法位。 13
3.10. 對于由高速緩存、主存、硬盤構成的三級存儲體系,CPU訪問該存儲系統時發送的地址是虛擬地址嗎? 13
3.11. 采用指令Cache與數據Cache分離的主要目的是? 13
3.12. 頁式虛擬存儲器的頁面若很小,主存中存放的頁面數較多,導致缺頁頻率降低,換頁次數減少,最終可以提升操作速度。 13
3.13. 缺頁處理完成后回到發生缺頁的指令的下一條指令執行。 13
3.14. 假定主存地址為32位,按字節編址,主存和Cache之間采用直接映射方式,主存塊大小為4個字,每字32位,采用回寫方式,則能存放4K字數據的Cache的總容量的位數至少是多少? 14
第四章 指令系統 14
4.1. 指令系統是計算機軟/硬件的界面?指令系統和機器語言是無關的? 14
4.2. CPU執行指令的過程中,指令的地址有誰給出? 14
4.3. 程序控制指令有什么?中斷隱指令是程序控制指令嗎? 14
4.4. 單地址指令是固定長度的指令? 15
4.5. 單地址指令可能有一個操作數,也可能有兩個操作數? 15
4.6. 一個計算機系統采用32位單字長指令,地址碼為12位,若定義了250條二地址指令,則還可以有多少條單地址指令? 15
4.7. 常見的尋址方式有哪些? 15
4.8. 指令系統采用不同尋址方式的作用是什么? 15
4.9. 為了縮短指令中某個地址段的位數,有效的方法是采取什么尋址方式? 16
4.10. 簡化地址結構的基本方法是盡量采用什么尋址方式? 16
4.11. 設指令中的地址碼為A,變址寄存器為X,程序計數器為PC,則變址間址尋址方式的操作數的有效地址EA是? 16
4.12. 堆棧尋址方式中,設A為累加器,SP為堆棧指示器,Msp為SP指示的棧頂單元。若進棧操作的動作是(A)→Msp,(SP)-1→SP,則出棧操作的動作應該是(Msp)→A,(SP)-1→SP嗎? 16
4.13. 在多道程序設計中,最重要的尋址方式是? 16
4.14. 程序的浮動指的是什么?和程序的轉移有什么區別? 16
4.15. 某機器有一個標志寄存器,其中有進位/借位標志CF、零標志ZF、符號標志SF和溢出標志OF,條件轉移指令bgt(無符號整數比較大于時轉移)的轉移條件是? 17
4.16. 某計算機有16個通用寄存器,采用32位定長指令字,操作碼字段(含尋址方式位)為8位,Store指令的源操作數和目的操作數分別采用寄存器直接尋址和基址尋址方式。若基址寄存器可使用任一通用寄存器,且偏移量用補碼表示,則Store指令中偏移量的取值范圍是多少? 17
4.17. 對按字尋址的機器,程序計數器和指令寄存器的位數取決于? 17
4.18. 算數與邏輯運算指令,通常完成算數運算或邏輯運算,都需要兩個數據,這句話對嗎? 17
4.19. 某計算機采用大端方式,按字節編址。某指令中操作數的機器數為1234 FF00H,該操作數采用基址尋址方式,形式地址(用補碼表示)為FF12H,基址寄存器的內容為F000 0000H,則該操作數的LSB(最低有效字節)所在地址是多少? 18
4.20. RISC指令系統的特點和描述 18
4.21. 基址尋址和變址尋址中的形式地址區別?基址寄存器和變址寄存器中的地址作用? 18
4.22. 指令計數器(PC)自增方式 19
第五章 中央處理器 19
5.1. 控制器由什么組成? 19
5.2. 運算器由什么組成? 19
5.3. 通用寄存器是可編程指定多種功能的寄存器? 19
5.4. PC的值由CPU在執行指令過程中進行修改嗎? 19
5.5. 程序計數器的位數取決于什么? 19
5.6. CPU中通用寄存器的位數取決于什么? 19
5.7. 地址譯碼器在CPU中嗎? 20
5.8. 間址周期結束時,CPU內寄存器MDR中的內容為? 20
5.9. 某計算機的主存空間為4GB,字長為32位,按字節編址,采用32位字長指令字格式。若指令按字邊界對齊存放,則程序計數器和指令寄存器的位數至少分別是? 20
5.10. 馮·諾伊曼計算機中指令和數據均以二進制形式存放在存儲器中,CPU區分它們的依據是指令操作碼的譯碼結果嗎? 20
5.11. 采用DMA方式傳遞數據時,每傳送一個數據就要占用多長時間? 20
5.12. 指令周期是指CPU執行一條指令的時間? 20
5.13. 指令根據地址寄存器從主存中讀出? 21
5.14. 為了進行取指操作,控制器需要得到相應的指令? 21
5.15. 取指操作是控制器自動進行的? 21
5.16. 執行各條指令的機器周期數可變,各機器周期的長度均勻? 21
5.17. 所有指令的間址操作都是相同的? 21
5.18. CPU相應中斷的時間是什么時候? 21
5.19. 所有指令的取指操作時是相同的? 21
5.20. 為了硬件設計方便,指令字長都和存儲字長一樣大? 21
5.21. 在單總線的CPU中,ALU的一個輸入端可與總線相連,其輸出端也可與總線相連? 22
5.22. 采用CPU內部總線的數據通路與不采用CPU內部總線的數據通路相比,前者的性能較高,硬件量大,實現難度高,后者的數據沖突問題較嚴重? 22
5.23. 相對于微程序控制器,硬布線控制器的特點是什么? 22
5.24. 某計算機的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接編碼法,共有33個微命令,構成5個互斥類,分別包含7、3、12、5和6個微命令,則操作控制字段至少有幾位? 22
5.25. 某計算機采用微程序控制器,共32條指令,公共的取指令微程序包含2條微指令,各指令對應的微程序平均由4條微指令組成,采用斷定法(下地址字段法)確定下條微指令地址,則微指令中下地址字段的位數至少是幾位? 23
5.26. 某帶中斷的計算機指令系統共有101種操作,采用微程序控制方式時,控制存儲器相應最少有幾個微程序? 23
5.27. 通常情況下,一個微程序的周期對應一個什么周期? 23
5.28. 影響流水線的因素,以及解決辦法? 23
5.29. 超標量流水線是指運算操作并行? 23
5.30. 超標量流水線能結合動態調度技術提高指令執行并行性? 24
5.31. 流水CPU是由一系列稱為“段”的處理線路組成的,一個m段流水線穩定時的CPU的吞吐能力,與m個并行部件的CPU的吞吐能力相比怎么樣? 24
5.32. 流水線數據通路包含什么部件? 24
5.33. 在分支指令加入若干空操作可以避免控制冒險? 24
5.34. 流水線按序流動時,在RAW、WAR、WAW中,只可能出現RAW相關? 24
第六章 總線 24
6.1. 地址總線的寬度由什么決定? 24
6.2. 在系統總線的數據線上,指令,操作數,握手信號,中斷類型號哪個可以傳輸,哪個不可以傳輸? 25
6.3. 在總線上,同一時刻只能有一個主設備和一個從設備控制總線傳輸操作? 25
6.4. 計算機使用總線結構便于增減外設,同時提高信息的傳輸速度? 25
6.5. 系統總線中地址線的功能是什么? 25
6.6. 傳輸一幅分辨率為640×480像素、顏色數量為65536的照片(采用無壓縮方式),設有效數據傳輸率為56kb/s,大約需要的時間是多少? 25
6.7. OPI總線是一種點對點全工同步串行總線,總線上的設備可同時接收和發送信息,每個方向可同時傳輸20位信息(16位數據+4位校驗位),每個QPI數據包有80位信息,分兩個時鐘周期傳送,每個時鐘周期傳遞2次。因此,QPI總線帶寬為:每秒傳送次數×2B×2,若QPI時鐘頻率為2.4GHz,則總線帶寬為多少? 26
6.8. 在計數器定時查詢方式下,各設備的優先級相等,各設備獲得總線控制權的機會均等? 26
6.9. 在總線總裁中,計數器定時查詢方式有一根總線請求(BR)和一根設備地址線,若每次計數都從0開始,則設備號小的優先級高? 26
6.10. 計數器定時查詢方式不需要總線同意信號? 26
6.11. 同步控制方式是所有指令執行時間都相同的方式? 26
6.12. 同步通信之所以比異步通信具有較高的傳輸速率,是因為同步通信用一個公用的時鐘信號進行同步? 27
6.13. 在異步總線中,傳送操作由什么控制? 27
6.14. 常用的總線標準 27
6.15. 在現代微機主板上采用局部總線技術的作用是什么? 27
第七章 輸入/輸出系統 28
7.1. 在微型機系統中,I/O設備通過DMA控制器與主板的系統總線相連? 28
7.2. CRT的分辨率為1024×1024像素,像素的顏色數為256,則刷新存儲器的每單元字長為多少,總容量為多少? 28
7.3. 一個磁盤轉速為7200轉/分,每個磁道有160個扇區每個扇區有512字節,則在理想情況下,其數據傳輸率為多少? 28
7.4. 若磁盤轉速為7200轉/分,平均尋道時間為8ms,每個磁道包含1000個扇區,則訪問一個扇區的平均存取時間大約是多少? 28
7.5. 磁盤存儲器的最小讀寫單位為1字節? 28
7.6. 在I/O總線的數據線上傳輸的信息有什么? 29
7.7. 中斷類型號和中斷向量是什么? 29
7.8. 只有I/O指令可以訪問I/O設備? 29
7.9. 磁盤驅動器向盤片磁道記錄數據時采用串行-并行方式寫入? 29
7.10. 若設備中斷請求的響應和處理時間為100ns,每400ns發出一次中斷請求,中斷響應所允許的最長延遲時間為50ns,則在該設備持續工作過程中,CPU用于該設備的I/O時間占整個CPU時間的百分比至少是多少? 29
7.11. 單級中斷系統中,中斷服務程序內的執行順序是:關中斷-保存斷點-中斷事件處理-恢復現場-中斷返回? 29
7.12. 中斷處理過程? 30
7.13. 響應外部中斷的過程中,中斷隱指令完成的操作,除保護斷點外,還包括關中斷,保護通用寄存器的內容,形成中斷服務程序入口地址并送PC? 30
7.14. 中斷向量地址是中斷服務程序的入口地址? 30
7.15. 浮點數運算下溢時。CPU可執行相應的中斷服務程序? 31
7.16. 程序中斷方式的中斷請求是為了報告CPU數據的傳輸結束,而DMA方式的中斷請求完全是為了傳送數據。程序中斷方式需要保護現場,DMA方式不需要保護現場? 31
7.17. 在每條指令的執行過程中,每個總線周期要檢查一次有無中斷請求? 31
7.18. 檢測有無DMA請求,一般安排在一條指令執行過程的末尾? 31
7.19. 中斷服務程序的最后指令是無條件轉移指令? 31
7.20. 能產生DMA請求的總線部件是什么? 31
7.21. 外部,訪管和程序性的中斷,它們的優先級由高到低依次是外部,訪管和程序性? 32
7.22. 主存故障引起的中斷是外中斷? 32
7.23. 在配有通道的計算機系統中,用戶程序需要輸入/輸出時,一起的中斷是程序性中斷? 32
7.24. 在中斷周期中,由關中斷指令將允許中斷觸發器置0? 32
7.25. 在各種I/O方式中,中斷方式的特點是CPU與外設串行工作,DMA方式的特點是傳送與主程序并行工作? 32
7.26. 程序中斷方式和DMA方式中實現數據傳送都需要中斷請求? 32
7.27. 程序中斷方式和DMA方式中都有中斷請求,但目的不同? 33
7.28. CPU響應DMA請求的條件是當前總線周期執行完? 33
7.29. DMA方式可用于鍵盤和鼠標的數據輸入? 33
7.30. 某設備以中斷方式與CPU進行交換,CPU主頻為1GHz,設備接口中的數據緩沖寄存器為32位,設備的數據傳輸率為50kB/s。若每次中斷開銷(包括中斷響應和中斷處理)為1000個時鐘周期,則CPU用該設備輸入/輸出的時間占整個CPU時間的百分比最多是多少? 33
7.31. 自陷是通過陷阱指令預先設定的一類外部中斷事件? 33
7.32. 采用DMA方式傳輸數據,數據塊大小為512字節,數據緩沖器為32位,則每準備好32位數據,DMA控制器就發出一次總線請求? 34
第八章 知識點匯總與對比 34
8.1. 機器周期,指令周期,總線周期? 34
第九章 專業名詞英文縮寫 34
第一章 計算機系統概述
1.1.只有當程序執行時才將源程序翻譯成機器語言,并且依次只能翻譯一行語句,邊翻譯邊執行的是什么程序?把匯編語言源程序轉變為機器語言程序的過程是什么?
答:解釋;匯編。解釋程序的特點是翻譯一句執行一句,邊翻譯邊執行;由高級語言轉化為匯編語言的過程稱為編譯,把匯編語言源程序翻譯成機器語言的過程稱為匯編。
1.1.1.將高級語言源程序轉換為機器級目標代碼文件的程序是?
答:編譯程序。翻譯程序有兩種:①編譯程序;②解釋程序。編譯程序分兩步:編譯和匯編
1.1.2.編譯程序和解釋程序的區別?
編譯程序和解釋程序的作用都是將高級語言程序裝換成機器語言程序。
1.2.馮·諾依曼機的基本工作方式是什么?
答:控制流驅動方式。早期的馮·諾依曼機以運算器為中心,且是單處理機。馮·諾依曼機最根本的特征是采用“存儲程序”原理,將指令以代碼的形式事先輸入到計算機主存當中,然后按照程序的規定順序執行。
1.3.MAR和MDR的位數分別為?
答:地址碼長度,存儲字長
1.4.運算器中有哪些硬件?
答:運算器的核心部分是算數邏輯運算單元。運算器通常包含若干通用寄存器,用于暫存操作數和中間結果,如累加器、乘商寄存器、操作數寄存器、變址寄存器、基址寄存器等,其中前三個寄存器是必須具備的。還有程序狀態寄存器
1.4.1.地址寄存器在運算器中嗎?
答:不在
1.5.數據庫系統屬于系統軟件嗎?
答:不屬于;數據庫系統是指在計算機系統中引入數據庫后的系統,比計算機系統更高一級;一般由數據庫、數據庫管理系統、應用系統、數據庫管理員構成,其中數據庫管理系統屬于系統程序。
1.6.什么是相聯存儲器?
答:相聯存儲器既可以按地址尋址又可以按內容(通常是某些字段)尋址,為與傳統存儲器區別,又稱按內容尋址的存儲器。
1.7.機器字長、指令字長、存儲字長、數據字長的區別和聯系是什么?
答:機器字長:計算機能直接處理的二進制數據的位數,機器字長一般等于內部寄存器的大小,它決定了計算機的運算精度。機器字長等于用于整數運算的ALU位數和通用寄存器寬度。
指令字長:一個指令字中包含的二進制代碼的位數。
存儲字長:一個存儲單元存儲的二進制代碼的長度,等于MDR的位數。
數據字長:數據總線一次能并行傳送信息的位數,它可以不等于MDR的位數。
它們都必須是字節的整數倍。
指令字長一般取存儲字長的整數倍,若指令字長等于存儲字長的2倍,則需要2次訪存來取出一條指令,因此取指周期為機器周期的兩倍;若指令字長等于存儲字長,則取指周期等于機器周期。
1.8.機器周期、時鐘周期聯系?
答:機器周期也稱為CPU周期。一個機器周期有多個CPU時鐘周期。
CPU時鐘周期,通常也稱節拍脈沖或T周期,它是CPU中最小的時間單位
1.9.在CPU寄存器中,哪些寄存器對用戶完全透明?
答:程序計數器、狀態寄存器、通用寄存器對匯編程序員可見,不透明;
IR、MAR、MDR對程序員不可見,透明。
1.10.CPU的CPI與什么因素有關?
答:系統結構、指令集、計算機組織都會影響CPI。而時鐘頻率并不會影響CPI,無論主頻快慢,指令需要的時鐘周期個數都固定(即CPI固定)
1.11.會計電算化屬于科學計算方面的應用?
答:錯;會計電算化屬于計算機數據處理方面的應用
第二章 數據的表示和運算
2.1.有C語言片段:short si=-32767;unsigned short usi=si;執行這兩句后,usi的值為?
答:32769;short與unsigned short類型占兩字節,16bit;short數據表示范圍-32767-+32767,unsigned short數據表示范圍0-65535。c語言在內存中以補碼形式存儲,所以si在內存中二進制的存儲形式為1000 0000 0000 0001.
2.2.對真值0表示形式唯一的機器數是?
答:補碼和移碼;
假設位數為5位,則
[+0]原=00000,[-0]原=10000
[+0]反=00000,[-0]反=11111
[+0]補=00000,[-0]補=00000
[+0]移=10000,[-0]移=10000
2.3.定點小數反碼[X]反=x0.x1···xn表示的數值范圍是?
答:-1+2-n ≤ x ≤ 1-2-n
2.4.若定點整數為64位,含一位符號位,采用補碼表示,所能表示的絕對值最大負數為?
答:-263;
2.5.設[X]補=1.x1x2x3x4,當x1x2x3x4滿足什么條件時,x<-1/2成立?
答:x1必須為0,x2x3x4任意。[-1]補=1.0000,小于-1/2,[-]原=1.1000,比-小的原碼x2x3x4位至少有一位是1就可以,換成補碼就是x1必須為0,x2x3x4至少有一位是1。
2.6.設[X]補=1,x1x2x3x4x5x6,當x1x2x3x4x5x6滿足什么條件時,x>-32成立?
答:x1為1,x2···x6中至少有一位為1。
2.7.設x為真值,x為其絕對值,滿足[-x]補=[-x]補,x在什么情況下成立?
答:當x為0或正數時。
2.8.什么是模2補碼?什么是模4補碼?
答:模2補碼就是單符號位補碼,模4補碼就是雙符號位補碼。模4補碼在存儲時并沒有增加存儲負擔,而是在計算時復制符號位達到雙符號位的效果,即模4補碼在存儲時只需要一個符號位。
2.9.什么是符號位的進位與最高數值位的進位?什么運算中用到它們?
答:在二進制加減法溢出判斷時用到它們,符號位的進位指的是符號位相加后的進位數值,最高數值位的進位指的是最高數值位相加后產生的進位,若兩者不同則溢出。
2.10.若[X]補=X0.X1X2···Xn,其中X0為符號位,X1為最高位。X0X1在什么情況下,當補碼左移時,將會發生溢出。
答:X0 ≠ X1;
2.11.某字長為8位的計算機中,已知整型變量x,y的機器數分別為[x]補=1 1110100,[y]補=1 0110000。若整型變量z=2x+y/2,則z的機器數為?
答:1 1000000;
2.12.邏輯右移與算數右移的區別?
答:邏輯右移包括符號位也要移,算數右移只移數值位,符號位不變。
2.13.IEEE754標準的浮點數的單精度雙精度指的是什么?
答:單精度指的是32位二進制數表示,雙精度表示64位二進制數表示。
2.14.定點數的運算
總結:乘除全用的是補碼計算,無論表明是原碼計算凡是用補碼計算,在計算式全部用補碼進行的加減,兩者最大區別是符號位不參與計算。
2.14.1.定點數的加減法運算
(1)原碼定點數加減法運算
正常加減,注意計算結果符號位可能被溢出去掉。
(2)補碼定點數加減法運算
這是計算機的計算方式。
首先確定兩個數為補碼形式,接著正常計算,符號位也參與運算,若產生溢出,直接舍棄溢出位。得到的值為結果的補碼形式。
計算式會遇到[x]補轉[-x]補,轉換方法是取x]補的補碼,然后符號位取反。
會有溢出判斷,有三種方式①一位符號位判斷,公式是V=;②符號位進位與最高數值位進位判斷;③雙符號位判斷。
2.14.2.定點數的乘法運算
(1)原碼一位乘法
①步驟
1)用異或邏輯算法算符號位,兩數取絕對值參與運算(計算時符號位置零)
2)乘商寄存器放乘數,被乘數放通用寄存器,依次邏輯右移,將每次求和得到的部分積放到CLU中,乘數絕對值有幾位邏輯右移幾次。
(2)補碼一位乘法(Booth)
①步驟
1)符號位參與運算,運算的數用補碼表示。
2)被乘數一般取雙符號位參與運算,部分積取雙符號位,初值為0,乘數可取單符號位。
3)乘數末位增設附加位yn+1,且初值為0。
4)yn-yn+1=0,部分積加0,計算結果右移一位;yn-yn+1=-1,部分積加乘數的補碼,計算結果右移一位;yn-yn+1=1,部分積加乘數相反數的補碼,計算結果右移一位。
5)重復步驟4) n+1次,最后一次計算結果不用再移位(共計n+1次累加和n次右移),最后一次應該是最開始的符號位—數值位最高位。
2.14.3.定點數的除法運算
(1)原碼除法運算(不恢復余數法/原碼加減交替法)
①步驟
1)計算符號位,符號位不參與運算。
2)求被除數、除數的補碼,除數相反數的補碼,因為除法需要減法運算。此時除數和被除數都是正數,因為符號位不參與計算。
3)直接拿被除數(補碼)減除數(補碼),如果余數大于0,終止計算,因為定點小數只能表示小于1的小數,除得的結果大于1無法表示。余數小于0,為負,商0,余數和商左移一位,加除數(補碼),計算余數。
4)經計算得余數,余數為正商1,余數和商左移一位,加除數相反數的補碼;余數為負商0,余數和商左移一位,加除數(補碼)。
5)經過N+1或N+2輪,得到商,商是左移了N次,N+1是因為步驟3)多了一步,N+2是因為多步驟3)和最后一步若余數是個負值要商0加余數,這次在加余數的時候不用左移,得到正確的余數。求得的商和余數是補碼,但商和余數是正數,原碼等于補碼。
(2)補碼除法運算(補碼加減交替法)
①步驟
1)符號位參與運算,除數和被除數用補碼表示,商和余數都是補碼。
2)若被除數與除數同號,被除數減去除數;若被除數與除數異號,被除數加上除數。
3)若余數和除數同號,則商1,余數和商都左移一位,余數減去除數;若余數和除數異號,商0,余數和商都左移一位,余數加上除數。
4)重復步驟3)
5)若對商的精度沒有特殊要求,則一般采用“末尾恒置1法”。
2.15.定點數原碼一位乘法與補碼一位乘法(Booth)的區別?
2.16.定點數的原碼補碼除法運算與區別
2.17.浮點數的運算
2.17.1.浮點數的加減運算
答:浮點數的加減運算一律采用補碼!
步驟:(1)對階;階碼小的向大的對齊,無論正負。階碼小的尾數右移即算術右移
(2)位數求和
(3)規格化
(4)舍入
(5)溢出判斷
2.18.長度相同、格式相同的兩種浮點數,假設前者基數大,后者基數小,其他規定均相同,則它們可表示的數的范圍和精度怎么樣?
答:前者表示的數的范圍大但精度低。精度是指N=rE*M里面的r。
2.19.在規格化浮點運算中,若某浮點數為25×1.10101,其中尾數為補碼表示,則該數需要規格化嗎?怎么規格化?
答:需要將尾數左移一位規格化。
2.19.1.什么時候浮點數規格化需要左規?
答:原碼表示時,數值位最高位為0需要左規;
補碼表示時,數值位最高位與符號位相同需要左規;
左規時可能需要進行多次
2.19.2.什么時候浮點數規格化需要右規?
答:尾數出現溢出,也就是兩位符號位不一致時需要右規。
右規時最多只需要一次。
2.19.3.原碼表示的浮點數規格化后尾數M取值范圍?
答:正數:1/2 ≤ M≤(1-2-n)
負數:-(1-2-n)≤ M≤ -1/2
注意:原碼表示的浮點數規格化后不能表示-1/2到1/2
2.19.4.補碼表示的浮點數規格化后尾數M取值范圍?
答:正數:1/2 ≤ M≤(1-2-n)
負數:-1≤ M≤ -(1/2+2-n)
注意:補碼表示的浮點數規格化后不能表示-(1/2+2-n)到1/2
2.20.浮點數格式如下:7位階碼,1位數符,8位尾數,若階碼用移碼,尾數用補碼表示,則浮點數所能表示數的范圍是多少?
答:-263 _______ (1-2-8)×263
階碼最大表示263,偏置值為2n-1-1,該題偏置值是63,階碼不能全1或全0。
用補碼表示的尾數范圍是-1—1-2-8
2.21.采用規格化的浮點數主要是為了方便浮點數運算?
答:錯;無論是否規格化,都需要對階然后計算。采用規格化的浮點數主要是為了增加數據的表示精度。
2.22.已知X=-0.875×21,Y=0.625×22,設浮點數格式為階符1位,階碼2位,數符1位,尾數3位,通過補碼求出Z=X-Y的二進制浮點數規格化結果為?
答:解題步驟:
(1)求XY的二進制機器碼(無論是否規格化都要對階,不用規格化)
①-0.875=-7/8 → -0.111 尾數三位,除以8等于向右移三位;X機器碼為0 01 1 001(補碼運算)
②0.625=5/8→ 0.101 X的機器碼為 0 10 0 101
(2)對階
Y 0 10 0 101
X 0 10 1 100
(3)尾數相加
[-Y]補=1 011
1 100
1 011
10 111
(4)規格化
尾數相加溢出需右移同時階碼加1
計算結果 0 11 1 011
(5)判溢出
判斷的是階碼溢出情況,無溢出。
2.23.在算數移位的情況下,雙符號位的移位操作只有低符號位需要參與移位操作。
答:對;
2.24.浮點數什么時候會出現下溢?
答:左規時,階碼要減小,可能會下溢。
2.25.加法器中每位的進位生成信號g表達式是什么?
答:g=XiYi;相與全1則為1。
加法器中有進位生成信號g和進位傳遞信號p;g=XiYi;p=Xi?Yi
Ci=Gi+PiCi-1,全一G有效,一個1一個0再加上低位的進位表達式后面有效,或操作一個有效就可以生成進位信號。
第三章 存儲系統
3.1.順序存取存儲器、直接存取存儲器、隨機存取存儲器和只讀存儲器有哪些?
答:
隨機存取存儲器:RAM
只讀存取存儲器:ROM
3.2.某一SRAM芯片,其容量為1024×8位,除電源和接地端外,該芯片的引腳的最小數目為?
答:20或21,選擇題有哪個選哪個。
地址線10根,數據線8根,片選線,讀/寫控制線,讀寫控制線可能1根可能2根
3.3.某一DRAM芯片,采用地址復用技術,其容量為1024×8位,除電源和接地端外,該芯片的引腳數最少是幾根?(讀寫控制線兩根)
答:17根;地址線5根,數據線8根,行通選和列通選(片選線用行通選代替),讀/寫控制線。
3.4.某計算機系統,其操作系統保存于硬盤上,其內存儲器應該采用什么存儲器?
答:RAM和ROM;不能只寫一個。因計算機的操作系統保存在硬盤上,所以需要BIOS的引導程序將操作系統引導到主存(RAM)中,而引導程序則固化在ROM中。
3.5.EPROM是可改寫的,因此可以作為隨機存儲器?
答:錯,隨機存儲器(RAM)是斷電丟失的內存。EPROM擦寫次數有限,且讀寫速度慢。
3.6.地址碼如何通過片選信號選中某個芯片?
答:給譯碼器輸入機器碼,譯碼器通過計算輸出信號比如3-8譯碼器,輸入三位機器碼,輸出端為8根信號線,通過計算給某條選通線輸入信號,如果芯片太多,比如4M×16,需要4096根選通線,則分為行譯碼器和列譯碼器
3.7.某計算機存儲器按字節編址,主存地址空間大小為64MB,現用4M×8位的RAM芯片組成32MB的主存儲器,則存儲器地址寄存器MAR的位數至少是多少位?
答:26位;該題是說設計是按64MB設計的,但實際是32MB的內存條,寄存器應該是多少位來存儲地址,肯定是按設計的來。
3.8.某計算機主存按字節編址,由4個64M×8位的DRAM芯片采用交叉編址方式構成,并與寬度為32位的存儲器總線相連,主存每次最多讀寫32位數據。若double型變量x的主存地址為804 001AH,則讀取x需要的存儲周期是多少?
答:3;由4個DRAM芯片采用交叉編址方式構成主存可知,主存地址最低兩位代表芯片編號。double類型變量占64位,最低兩位10,代表從第三塊芯片讀數據,一個周期最多讀32位,則需要三個周期才能讀完。如下圖:
開始讀
3.9.某存儲系統,主存容量是Cache容量的4096倍,Cache被分為64個塊,當主存地址和Cache地址采用直接映射方式時,地址映射表的大小應為多少?假設不考慮一致維護和替換算法位。
答:64×13bit;直接映射方式的地址映射表是由有效位、臟位、替換控制位和標記位組成,組號由計算機硬件直接訪問,不需要在表里設置組號位。臟位和替換控制位不算,還剩有效位和標記位,標記位該題是212中的指數12.再加上有效位1位,也就是地址映射表每行13位,一共64行。所以地址映射表大小為64×13bit。
3.10.對于由高速緩存、主存、硬盤構成的三級存儲體系,CPU訪問該存儲系統時發送的地址是虛擬地址嗎?
答:錯,是主存物理地址。只有在虛擬存儲器中,CPU發出的才是虛擬地址,這里并未指出是虛擬存儲系統。
3.11.采用指令Cache與數據Cache分離的主要目的是?
答:減少指令流水線資源沖突。把指令Cache與數據Cache分離后,取指和取數分別到不同的Cache中尋找,則指令流水線中取指部分和取數部分就可以很好地避免沖突,即減少了指令流水線地沖突。
3.12.頁式虛擬存儲器的頁面若很小,主存中存放的頁面數較多,導致缺頁頻率降低,換頁次數減少,最終可以提升操作速度。
答:頁式虛擬存儲器中,頁面若很小,虛擬存儲器包含的頁面數就會過多,使得頁表的體積過大,導致頁表本身占據的存儲空間過大,使操作速度變慢。
3.13.缺頁處理完成后回到發生缺頁的指令的下一條指令執行。
答:錯;缺頁處理由缺頁中斷處理程序完成,根據發生缺頁故障的地址從外存讀入所缺失的頁,缺頁處理完成后回到發生缺頁的指令繼續執行。
3.14.假定主存地址為32位,按字節編址,主存和Cache之間采用直接映射方式,主存塊大小為4個字,每字32位,采用回寫方式,則能存放4K字數據的Cache的總容量的位數至少是多少?
答:148K;
Cache由標記陣列容量和存儲容量構成;
標記陣列容量由有效位、臟位、替換控制位和標記位Tag構成;
主存地址為32位由標記、Cache組號和塊內地址構成;主存地址中的標記就是標記陣列容量中的標記位Tag。
該題存儲容量為4k×32bit,標記陣列容量由有效位、臟位和標記位構成,有效位和臟位都是1位,標記位就是主存地址中的標記。主存地址Cache組號4K/4=1K=210確定,為10位。塊內地址是4位,由每塊存儲16字節確定。所以主存地址中的標記是32-10-4=18位。標記陣列容量有20×1K位,Cache容量為128K+20K=148Kbit。
第四章 指令系統
4.1.指令系統是計算機軟/硬件的界面?指令系統和機器語言是無關的?
答:指令系統是計算機軟/硬件的界面,指令系統和機器語言是有關。指令系統是計算機硬件的語言系統。
4.2.CPU執行指令的過程中,指令的地址有誰給出?
答:程序計數器(PC)
4.3.程序控制指令有什么?中斷隱指令是程序控制指令嗎?
答:無條件轉移、有條件轉移、子程序調用和返回指令、循環指令等。中斷隱指令是由硬件實現的,并不是指令系統中存在的指令,更不可能屬于程序控制類指令。
4.4.單地址指令是固定長度的指令?
答:錯;指令的地址個數與指令的長度是否固定沒有必然聯系,即使是單地址指令也可能由于單地址的尋址方式不同而導致指令長度不同。
4.5.單地址指令可能有一個操作數,也可能有兩個操作數?
答:對;地址碼指明一個操作數,另一個操作數來自于隱含尋址。
4.6.一個計算機系統采用32位單字長指令,地址碼為12位,若定義了250條二地址指令,則還可以有多少條單地址指令?
答:24K;二地址指令250條由8位地址表示,8位地址一共可以表示256個數據,單地址則把12地址碼改為操作碼,則單地址指令可以有6*212=24K。
4.7.常見的尋址方式有哪些?
答:尋址分為指令尋址和數據尋址。
指令尋址有順序尋址和跳躍尋址。
數據尋址有:(1)隱含尋址
(2)立即尋址
(3)直接尋址
(4)間接尋址
(5)寄存器尋址
(6)寄存器間接尋址
(7)相對尋址
(8)基址尋址
(9)變址尋址
(10)堆棧尋址
4.8.指令系統采用不同尋址方式的作用是什么?
答:可縮短指令字長,擴大尋址空間,提高編程的靈活性。
4.9.為了縮短指令中某個地址段的位數,有效的方法是采取什么尋址方式?
答:寄存器尋址;寄存器尋址中,只需指定寄存器的編號,因此能有效地縮短地址碼的位數。
4.10.簡化地址結構的基本方法是盡量采用什么尋址方式?
答:隱地址;隱地址不給出明顯的操作數地址,而在指令中隱含操作數的地址,因此可以簡化地址結構,如零地址指令。
4.11.設指令中的地址碼為A,變址寄存器為X,程序計數器為PC,則變址間址尋址方式的操作數的有效地址EA是?
答:((X)+A);注意兩對括號表達含義。(X)指的是X里面存的數據是一個地址偏移量,該題要求的是變址間址尋址,變址后還需要間接尋址一次。(X)+A得到的是一個地址如果是變址尋址到現在可以停止,但還有一次間接尋址,取變址后地址里面保存的數據,才是最終的答案。
4.12.堆棧尋址方式中,設A為累加器,SP為堆棧指示器,Msp為SP指示的棧頂單元。若進棧操作的動作是(A)→Msp,(SP)-1→SP,則出棧操作的動作應該是(Msp)→A,(SP)-1→SP嗎?
答:錯;由題干知該題先存數再變SP,可知SP指向的是一個空地址。應該先(SP)-1→SP,再(Msp)→A。
4.13.在多道程序設計中,最重要的尋址方式是?
答:相對尋址;在多道程序設計中,各個程序段可能要在內存中浮動,而相對尋址特別有利于程序浮動。
4.14.程序的浮動指的是什么?和程序的轉移有什么區別?
答:程序的無條件浮動和條件浮動指的是程序在內存中的位置發生了改變。程序的無條件轉移和條件轉移可以采用跳躍尋址方式實現
4.15.某機器有一個標志寄存器,其中有進位/借位標志CF、零標志ZF、符號標志SF和溢出標志OF,條件轉移指令bgt(無符號整數比較大于時轉移)的轉移條件是?
答:;當兩數相減小于零時借位標志CF=1,當兩數相等時兩數相減后ZF=0,滿足這兩種條件的表達式是CF+ZF=1,再將其取反就是兩數比較大于0的表達式。
4.16.某計算機有16個通用寄存器,采用32位定長指令字,操作碼字段(含尋址方式位)為8位,Store指令的源操作數和目的操作數分別采用寄存器直接尋址和基址尋址方式。若基址寄存器可使用任一通用寄存器,且偏移量用補碼表示,則Store指令中偏移量的取值范圍是多少?
答:-32768—32767;首先要確定表示偏移量的位數是多少,指令是32位,8位是操作碼;源操作數保存在16個通用寄存器中,用4位就可以覆蓋;目的操作數需要保存基址和偏移量,基址保存在寄存器中,也是4位就可以覆蓋,剩下的就是偏移量32-8-4-4=16位。16位的補碼表示范圍則是-32768—32767。
4.17.對按字尋址的機器,程序計數器和指令寄存器的位數取決于?
答:存儲器的字數,指令字長。
4.18.算數與邏輯運算指令,通常完成算數運算或邏輯運算,都需要兩個數據,這句話對嗎?
答:算數邏輯運算指令用于完成對一個(如自增、取反等)或兩個數據的算數運算或邏輯運算。
4.19.某計算機采用大端方式,按字節編址。某指令中操作數的機器數為1234 FF00H,該操作數采用基址尋址方式,形式地址(用補碼表示)為FF12H,基址寄存器的內容為F000 0000H,則該操作數的LSB(最低有效字節)所在地址是多少?
答:EFFF FF15H;
形式地址代表著偏移量,計算最終地址不能拿補碼表示的偏移量和基址寄存器中的無符號數進行運算,形式地址換為原碼FFEEH→ -00EEH,F000 0000H±00EEH=EFFF FF12H,這是操作數第一個字節12H的保存位置,操作數的最低有效字節是00H,在EFFF FF12H的基礎上再加3就是操作數的LSB所在地址EFFF FF15H。
該題中的16進制原碼加減法要注意一下:
F000 0000
- 0000 00EE //注意高位補0
EFFF FF12
4.20.RISC指令系統的特點和描述
答:指令長度固定,指令種類少;
增加寄存器的數目,以盡量減少方寸次數;
選取使用頻率最高的一些簡單指令,以及很有用但不復雜的指令;
尋址方式種類盡量減少,指令功能盡可能強。——錯,RISC的指令功能簡單,復雜指令的功能由簡單指令的組合來實現。
為了實現兼容,各公司新設計的RISC是從原來的CISC系統的指令系統中挑選一部分實現的。——錯;不是為了兼容,僅僅是為了精簡,挑選一些簡短的指令。
RISC的主要目標是減少指令數,因此允許以增加每條指令的功能的方法來減少指令系統所包含的指令數。——錯;RISC的指令功能簡單,通過簡單指令的組合來實現復雜指令的功能。
4.21.基址尋址和變址尋址中的形式地址區別?基址寄存器和變址寄存器中的地址作用?
答:基址尋址中 基址寄存器中保存的地址作為基地址,指令中帶的形式地址作為偏移量。
變址尋址中 變址寄存器中保存的地址作為偏移量,指令中帶的形式地址作為基地址。
兩者正好相反。
4.22.指令計數器(PC)自增方式
答:兩種:(1) PC自增,在PC附近應有“PC+1”或“+1”等符號。
(2)通過ALU實現,一般在MUX(多路選擇器)的一個輸入端放置PC自增需要的固定值。
第五章 中央處理器
5.1.控制器由什么組成?
答:程序計數器、指令寄存器、指令譯碼器、存儲器地址寄存器、存儲器數據寄存器、時序系統和微操作信號發生器等主要的7種。
5.2.運算器由什么組成?
答:算數邏輯單元、暫存寄存器、累加寄存器、通用寄存器組、程序狀態字寄存器、移位器和計時器等主要的7種。
5.3.通用寄存器是可編程指定多種功能的寄存器?
答:通用寄存器對用戶是可見的,所以可編程。
5.4.PC的值由CPU在執行指令過程中進行修改嗎?
答:對,在取指周期末進行修改。
5.5.程序計數器的位數取決于什么?
答:存儲器的容量,存儲器的字數。比如主存空間4GB,字長32位,PC至少(232B/4B=230)30位。
5.6.CPU中通用寄存器的位數取決于什么?
答:機器字長
5.7.地址譯碼器在CPU中嗎?
答:不在;地址譯碼器是主存等存儲器的組成部分,其作用是根據輸入的地址碼唯一選定一個存儲單元,它不是CPU的組成部分。
5.8.間址周期結束時,CPU內寄存器MDR中的內容為?
答:操作數地址。間址周期的任務是取操作數有效地址。
5.9.某計算機的主存空間為4GB,字長為32位,按字節編址,采用32位字長指令字格式。若指令按字邊界對齊存放,則程序計數器和指令寄存器的位數至少分別是?
答:30,32;程序計數器的位數取決于存儲器的字數,所以(232B/4B=230)30位,指令寄存器的位數取決于字長(32位)。
5.10.馮·諾伊曼計算機中指令和數據均以二進制形式存放在存儲器中,CPU區分它們的依據是指令操作碼的譯碼結果嗎?
答:不是;依據是指令周期的不同階段。取指周期取出的是指令,執行周期取出的是數據。
5.11.采用DMA方式傳遞數據時,每傳送一個數據就要占用多長時間?
答:DMA(Direct Memory Access)直接存儲器訪問,是所有現代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依賴于 CPU 的大量中斷負載。否則,CPU 需要從來源把每一片段的資料復制到暫存器,然后把它們再次寫回到新的地方。在這個時間中,CPU 對于其他的工作來說就無法使用。
傳送數據就是存儲器進行讀或寫操作,則占用一個存取周期。存取周期指的是存儲器進行兩次獨立的存儲器操作。
5.12.指令周期是指CPU執行一條指令的時間?
答:指令周期是指CPU從主存取出一條指令加上執行這條指令的時間。
5.13.指令根據地址寄存器從主存中讀出?
答:指令根據程序計數器從主存中讀出,地址寄存器只是一個中間暫存的存儲器,不是根源。
5.14.為了進行取指操作,控制器需要得到相應的指令?
答:取指操作是控制器自動進行的,不需要得到相應的指令。
5.15.取指操作是控制器自動進行的?
答:對
5.16.執行各條指令的機器周期數可變,各機器周期的長度均勻?
答:執行各條指令的機器周期數可變,各機器周期的長度可變。機器周期的節拍數可以不相等,指令的機器周期長度相等的稱為定長的機器周期,指令內機器周期長度不相等的稱為不定長的機器周期。
5.17.所有指令的間址操作都是相同的?
答:指令的間址分為一次間址,兩次間址和多次間址,因此它們的操作是不同的。并且存儲器間接尋址和寄存器間接尋址,它們的操作是不同的。
5.18.CPU相應中斷的時間是什么時候?
答:一條指令執行結束時發生CPU相應中斷。
5.19.所有指令的取指操作時是相同的?
答:不同長度的指令,其取指操作可能是不相同的。例如雙字指令、三字指令與單字指令的取指操作是不相同的。
5.20.為了硬件設計方便,指令字長都和存儲字長一樣大?
答:指令字長一般取字節或存儲字長的整數倍,而不一定都和存儲字長一樣大。若指令字長等于存儲字長,則取指周期等于機器周期。
5.21.在單總線的CPU中,ALU的一個輸入端可與總線相連,其輸出端也可與總線相連?
答:錯;ALU的輸出端也不能直接與內部總線相連,否則其輸出又會通過總線反饋到輸入端,影響運算結果,因此輸出端需要一個暫存器(用來暫存結果的寄存器)與總線相連。
5.22.采用CPU內部總線的數據通路與不采用CPU內部總線的數據通路相比,前者的性能較高,硬件量大,實現難度高,后者的數據沖突問題較嚴重?
答:不采用CPU內部總線的數據通路指的是專用數據通路方式。采用CPU內部總線方式的數據通路的特點:結構簡單,容易實現,性能較低,存在較多的沖突現象;不采用CPU內部總線方式的數據通路的特點:結構復雜,硬件兩大,不易實現,性能高,基本不存在數據沖突現象。
5.23.相對于微程序控制器,硬布線控制器的特點是什么?
答:硬布線控制器執行速度更快,指令功能的修改和擴展更難。硬布線控制器的工作原理是位操作控制信號由組合邏輯電路根據當前的指令碼、狀態和時序,即時產生。在RISC中適用。
5.24.某計算機的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接編碼法,共有33個微命令,構成5個互斥類,分別包含7、3、12、5和6個微命令,則操作控制字段至少有幾位?
答:15位;每類指令還要再加上1,表示不執行(0···0),四類也就是8、4、13、6、7,對應的可以表示的位數就是3、2、4、3、3,加起來15位。
5.25.某計算機采用微程序控制器,共32條指令,公共的取指令微程序包含2條微指令,各指令對應的微程序平均由4條微指令組成,采用斷定法(下地址字段法)確定下條微指令地址,則微指令中下地址字段的位數至少是幾位?
答:8;一條指令對應一個微程序,一個微程序由多條微指令組成,該題一個微程序平均由4條微指令構成,一共有32*4+4=130條微指令,控制存儲器共有130條微指令,則需要8位地址來表示,7位只能表示128條微指令。
5.26.某帶中斷的計算機指令系統共有101種操作,采用微程序控制方式時,控制存儲器相應最少有幾個微程序?
答:103;每條指令都會有的取指指令和中斷周期的中斷服務程序都有微指令,所以應該是103個微程序。若指令系統具有n種機器指令,則控制存儲器中的微程序至少是(n+2)個。
5.27.通常情況下,一個微程序的周期對應一個什么周期?
答:指令周期。一條指令的功能由一段微程序來實現。微指令對應機器周期。微周期指從控制存儲器中讀取一條微指令并執行相應的微操作所需的時間。
5.28.影響流水線的因素,以及解決辦法?
答:影響流水線的因素有三種:(1)資源沖突(結構冒險)(2)數據沖突(數據冒險)(3)控制沖突(控制冒險)
控制沖突是指當流水線遇到轉移指令和其他改變PC值的指令而造成斷流時。
解決資源沖突的放法有兩種:暫停一個時鐘周期;單獨設置指令存儲器和數據存儲器
解決數據沖突的方法有三種:暫停一個或幾個時鐘周期;數據旁路技術;指令編譯優化
解決控制沖突的方法有五種:分支預測,盡早生成轉移目標地址;預取轉移成功和不成功的目標指令(早點算出成功或失敗的目標地址);加快和提前形成條件碼;提高轉移方向的猜準率;在分支指令加入若干空操作可以避免控制冒險。
5.29.超標量流水線是指運算操作并行?
答:錯;不止運算操作并行,還有取指階段,譯碼階段,寫回階段都能并行。
5.30.超標量流水線能結合動態調度技術提高指令執行并行性?
答:對;在執行微指令期間需要用到動態調度技術來判斷指令間是否存在關聯,比如這次指令得到的數據下條指令要用。讓沒有關聯的指令并行運行。
5.31.流水CPU是由一系列稱為“段”的處理線路組成的,一個m段流水線穩定時的CPU的吞吐能力,與m個并行部件的CPU的吞吐能力相比怎么樣?
答:具有同等水平的吞吐能力。
5.32.流水線數據通路包含什么部件?
答:程序計數器(PC),算數邏輯運算部件(ALU),通用寄存器組,取指部件等,不包含控制部件。由組合邏輯電路和時序邏輯電路組合而成。
5.33.在分支指令加入若干空操作可以避免控制冒險?
答:對。
5.34.流水線按序流動時,在RAW、WAR、WAW中,只可能出現RAW相關?
答:對;若是多條指令并行執行,則三種數據沖突都可能發生。該題流水線是按序流動,不會出現第二條指令寫回操作發生在第一條指令的譯碼操作之前。
第六章 總線
6.1.地址總線的寬度由什么決定?
答:主存單元空間大小和I/O設備的數量
6.2.在系統總線的數據線上,指令,操作數,握手信號,中斷類型號哪個可以傳輸,哪個不可以傳輸?
答:指令,操作數,中斷類型號可以傳輸,握手(應答)信號不可以傳輸。
中斷類型號用以指出中斷向量的地址,CPU響應中斷請求后,將中斷應答信號(INTR)發回數據總線,CPU從數據總線上讀取中斷類型號后,查找中斷向量表,找到相應的中斷處理程序入口。
6.3.在總線上,同一時刻只能有一個主設備和一個從設備控制總線傳輸操作?
答:只有主設備才能獲得總線控制權,總線上的信息傳輸由主設備啟動,一條總線上可以有多個設備作為主設備,但在同一時刻只能有一個主設備控制總線的傳輸操作。
6.4.計算機使用總線結構便于增減外設,同時提高信息的傳輸速度?
答:計算機使用總線結構便于增減外設,同時減少信息傳輸線的條數。相對于專線結構,降低了信息傳輸的并行性和信息的傳輸速度。
6.5.系統總線中地址線的功能是什么?
答:指定主存和I/O設備接口電路的地址。
6.6.傳輸一幅分辨率為640×480像素、顏色數量為65536的照片(采用無壓縮方式),設有效數據傳輸率為56kb/s,大約需要的時間是多少?
答:87.77秒;一共有640×480個數據單元,每個單元要存儲16位二進制,因為216=65535可以表示65535個數據,所以一共需要傳輸640×480×16=4915200位數據,4915200/56k≈87.77秒。
6.7.OPI總線是一種點對點全工同步串行總線,總線上的設備可同時接收和發送信息,每個方向可同時傳輸20位信息(16位數據+4位校驗位),每個QPI數據包有80位信息,分兩個時鐘周期傳送,每個時鐘周期傳遞2次。因此,QPI總線帶寬為:每秒傳送次數×2B×2,若QPI時鐘頻率為2.4GHz,則總線帶寬為多少?
答:2.4G22B*2=19.2GB/s;每秒傳輸次數為4.8G;注意此處的GB/s,G是10的9次方不是2的30次方。
6.8.在計數器定時查詢方式下,各設備的優先級相等,各設備獲得總線控制權的機會均等?
答:錯;機會有可能不均等。在計數器定時查詢方式下,根據計數器的初始值的不同,總線設備的優先級是可變的。若計數器從0開始,則離總線控制器最近的設備具有最高的優先級。若計數值從上一次的中止點開始,則各個設備使用總線的機會均等。
6.9.在總線總裁中,計數器定時查詢方式有一根總線請求(BR)和一根設備地址線,若每次計數都從0開始,則設備號小的優先級高?
答:錯;在計數器定時方式下,n個I/O接口需要[log2n]根設備地址線。
6.10.計數器定時查詢方式不需要總線同意信號?
答:對。計數器定時查詢方式只需要總線忙信號線和總線請求信號線,而不需要總線同意信號線。
6.11.同步控制方式是所有指令執行時間都相同的方式?
答:同步控制是指由統一時序控制的通信方式,同步通信采用公共時鐘,有統一的時鐘周期。同步控制既可用于CPU控制,又可用于高速的外部設備控制。
6.12.同步通信之所以比異步通信具有較高的傳輸速率,是因為同步通信用一個公用的時鐘信號進行同步?
答:不全對;原因有三點該題只說了一點。①不需要應答信號且總線長度較短;②用一個公共的時鐘信號進行同步;③各部件的存取時間較接近。
6.13.在異步總線中,傳送操作由什么控制?
答:傳送操作是由雙方按需求分配時間的。
6.14.常用的總線標準
6.15.在現代微機主板上采用局部總線技術的作用是什么?
答:高速設備采用局部總線連接,可以節省系統的總帶寬。
第七章 輸入/輸出系統
7.1.在微型機系統中,I/O設備通過DMA控制器與主板的系統總線相連?
答:錯;I/O設備不可能與主板總線相連,它總是通過設備控制器來相連的。DMA控制器只有在通過DMA方式傳輸時才用DMA控制器與主板的系統總線相連。
7.2.CRT的分辨率為1024×1024像素,像素的顏色數為256,則刷新存儲器的每單元字長為多少,總容量為多少?
答:8bit,1MB;顏色數256,用8位就可以表示256種顏色,所以單元字長8位,總容量為8×1024×1024=8×220bit=1MB
7.3.一個磁盤轉速為7200轉/分,每個磁道有160個扇區每個扇區有512字節,則在理想情況下,其數據傳輸率為多少?
答:9600KB/s;120×160×512B/1024=9600KB/s,此處的K是210 ,為什么不是1000呢?
7.4.若磁盤轉速為7200轉/分,平均尋道時間為8ms,每個磁道包含1000個扇區,則訪問一個扇區的平均存取時間大約是多少?
答:12.2ms;磁盤的平均存儲時間由尋道時間,旋轉延遲時間和傳輸時間三部分構成,有時候可能會有啟動磁頭時間。尋道時間8ms,旋轉延遲時間是60/7200/2≈4.17ms,傳輸時間是60/7200/1000≈0.01ms;三者相加等于12.18ms≈12.2ms。
7.5.磁盤存儲器的最小讀寫單位為1字節?
答:錯;磁盤存儲器的最小讀寫單位是一個扇區,即磁盤按塊存取。
7.6.在I/O總線的數據線上傳輸的信息有什么?
答:I/O總線分為:數據線、控制線和地址線,是I/O設備與CPU連接的線。數據線可以發送數據,命令,狀態字,中斷類型號(是一種地址);控制線發送讀/寫信號;地址線傳送與CPU交換數據的端口地址。
7.7.中斷類型號和中斷向量是什么?
答:中斷類型號是中斷向量的地址;
中斷向量是中斷服務程序的入口地址。
7.8.只有I/O指令可以訪問I/O設備?
答:在統一編址的情況下,訪存指令也可以訪問I/O設備。
7.9.磁盤驅動器向盤片磁道記錄數據時采用串行-并行方式寫入?
答:錯;采用串行方式寫入。
7.10.若設備中斷請求的響應和處理時間為100ns,每400ns發出一次中斷請求,中斷響應所允許的最長延遲時間為50ns,則在該設備持續工作過程中,CPU用于該設備的I/O時間占整個CPU時間的百分比至少是多少?
答:25%;100/400=25%。50ns是迷惑信息。
延遲時間50ns 中斷響應和處理時間100ns 設備工作時間250ns
7.11.單級中斷系統中,中斷服務程序內的執行順序是:關中斷-保存斷點-中斷事件處理-恢復現場-中斷返回?
答:錯;關中斷-保存斷點是由硬件完成。
7.12.中斷處理過程?
答:
7.13.響應外部中斷的過程中,中斷隱指令完成的操作,除保護斷點外,還包括關中斷,保護通用寄存器的內容,形成中斷服務程序入口地址并送PC?
答:中斷隱指令包括三個:關中斷、保存斷點和引出中斷服務程序(即題中形成中斷服務程序入口地址并送PC)。保護通用寄存器的內容是進入中斷服務程序首先進行的操作。
7.14.中斷向量地址是中斷服務程序的入口地址?
答:錯;中斷向量地址是中斷服務程序的入口地址的地址。
7.15.浮點數運算下溢時。CPU可執行相應的中斷服務程序?
答:錯;浮點數運算下溢,可以當作機器0處理,不需要中斷來處理。
7.16.程序中斷方式的中斷請求是為了報告CPU數據的傳輸結束,而DMA方式的中斷請求完全是為了傳送數據。程序中斷方式需要保護現場,DMA方式不需要保護現場?
答:錯;程序中斷方式需要保護現場,DMA方式不需要保護現場,這句話是對的。但前一句應該是:程序中斷方式的中斷請求是為了傳送數據,而DMA方式的中斷請求是為了報告CPU數據的傳輸結束。
7.17.在每條指令的執行過程中,每個總線周期要檢查一次有無中斷請求?
答:錯;總線周期又稱總線的傳輸周期,指一次總線操作所用的時間(包括申請階段、尋址階段、傳輸階段和結束階段),每條指令的執行包含多個總線周期。每條指令又分為取指,間址,執行和中斷四個階段,只有每條指令執行階段完成時才會檢查一次有無中斷請求,若有進入中斷階段,若沒有進入下一個指令周期。
7.18.檢測有無DMA請求,一般安排在一條指令執行過程的末尾?
答:錯;只要總線空閑就可檢測有無DMA請求,在一個指令周期內,總線空閑的時候有多次,貫穿整個指令周期。
7.19.中斷服務程序的最后指令是無條件轉移指令?
答:錯;中斷服務程序的最后指令是中斷返回指令,該指令在中斷恢復后,即CPU中的所有寄存器都已恢復到中斷前的狀態,因此該指令不需要無條件轉移。
7.20.能產生DMA請求的總線部件是什么?
答:只有具有DMA接口的設備才能產生DMA請求,即使當前設備是高速設備或需要與主機批量交換數據,若沒有DMA接口的話,也不能產生DMA請求。
7.21.外部,訪管和程序性的中斷,它們的優先級由高到低依次是外部,訪管和程序性?
答:錯;訪管指的是進入核心態,大多與資源分配有關。要比外部的中斷優先級要高。
7.22.主存故障引起的中斷是外中斷?
答:錯;主存故障引起的中斷是機器校驗中斷,屬于內中斷。外中斷一般是指主存和CPU外的中斷,如外設引起的中斷等。
7.23.在配有通道的計算機系統中,用戶程序需要輸入/輸出時,一起的中斷是程序性中斷?
答:錯;用戶程序需要輸入/輸出時,需要操作系統提供的接口(請求操作系統服務),此時會引起訪管中斷,系統由用戶態轉為核心態。
7.24.在中斷周期中,由關中斷指令將允許中斷觸發器置0?
答:錯;允許中斷觸發器置零表示關中斷,由中斷隱指令完成,即由硬件自動完成。
7.25.在各種I/O方式中,中斷方式的特點是CPU與外設串行工作,DMA方式的特點是傳送與主程序并行工作?
答:中斷方式的特點是CPU與外設并行工作,傳送與主程序串行工作
DMA方式的特點是CPU與外設并行工作,傳送與主程序并行工作;在傳送階段完全由DMA控制,并不需要CPU。
7.26.程序中斷方式和DMA方式中實現數據傳送都需要中斷請求?
答:錯;程序中斷方式在數據傳輸時,首先要發出中斷請求,此時CPU中斷當前正在進行的操作,轉而進行數據傳輸。DMA方式只是在DMA的預處理和后處理過程中需要用中斷的方式請求CPU操作,但在數據傳送過程中,并不需要中斷請求。
7.27.程序中斷方式和DMA方式中都有中斷請求,但目的不同?
答:對;程序中斷方式的中斷請求是為了進行數據傳輸,DMA方式中的中斷請求是為了獲得總線控制權或交回總線控制權。
7.28.CPU響應DMA請求的條件是當前總線周期執行完?
答:錯;CPU響應DMA請求的條件是當前機器周期執行完。每個機器周期結束后,CPU就可以響應DMA請求。
7.29.DMA方式可用于鍵盤和鼠標的數據輸入?
答:錯;DMA方式只能用于數據傳輸,它不具有對異常事件的處理能力,不能中斷現行程序,而鍵盤和鼠標均要求CPU立即響應。
7.30.某設備以中斷方式與CPU進行交換,CPU主頻為1GHz,設備接口中的數據緩沖寄存器為32位,設備的數據傳輸率為50kB/s。若每次中斷開銷(包括中斷響應和中斷處理)為1000個時鐘周期,則CPU用該設備輸入/輸出的時間占整個CPU時間的百分比最多是多少?
答:1.25%;
每秒最多傳輸50kB/4B=12.5k次
一次需要1000個時鐘周期;每秒一共需要12.5k*1000=12.5M個時鐘周期;
一秒一共有1G個時鐘周期,則占比12.5M/1G=1.25%。
7.31.自陷是通過陷阱指令預先設定的一類外部中斷事件?
答:錯;自陷是一種內部異常。
7.32.采用DMA方式傳輸數據,數據塊大小為512字節,數據緩沖器為32位,則每準備好32位數據,DMA控制器就發出一次總線請求?
答:對。
第八章 知識點匯總與對比
8.1.機器周期,指令周期,總線周期?
機器周期:機器周期也稱為CPU周期。一個機器周期有多個CPU時鐘周期。
指令周期:一個指令周期包含多個機器周期,不固定。
總線周期:總線周期又稱總線的傳輸周期,指一次總線操作所用的時間(包括申請階段、尋址階段、傳輸階段和結束階段)
第九章 專業名詞英文縮寫
ACC:累加器
MQ:乘商寄存器
ALU:算數邏輯運算單元
CU:控制單元
IR:指令寄存器
PC:程序計數器
X:操作數寄存器
IX:變址寄存器(Index Register)
BR:基址寄存器(Base address register)
PSW:程序狀態字寄存器
MAR:地址寄存器
MDR:數據寄存器
CPI:執行一條指令所需要的時鐘周期(Clock cycle Per Instruction)
IPS:每秒執行指令數
FLOPS:每秒執行浮點運算次數(Floating-point Operations Per Second)
CF:進位標志位
MM:主存儲器
或:地址片選信號(低電平有效)
DRAM:動態隨機存儲器
SRAM:靜態隨機存儲器
SAM:順序存取存儲器(Sequential Access Memory)
DAM:直接存取存儲器(Direct Memory Access)
EPROM:可擦編程只讀存儲器(Erasable Programmable Read Only Memory)
RAND:隨機算法
FIFO:先進先出算法
LRU:近期最少使用算法(Least Recently Used)
LFU:最不經常使用算法(least frequently used)
EA:有效地址(effective address)
CISC:復雜指令系統計算機
RISC:精簡指令系統計算機
FE:取指觸發器,對應取指周期
IND:間址觸發器,對應間址周期
EX:執行觸發器,對應執行周期
INT:中斷觸發器,對應中斷周期
ID:指令譯碼器(Instruction Decoder)
Nop:空指令
RS:源操作數(source)
Rd:目的操作數(destination)
Imm:立即數(Immediately)
IF:取指
ID:指令譯碼
OF:取操作數
EX:執行
WB:寫回
RAW:寫后讀
WAR:讀后寫
WAW:寫后寫
DB:數據總線
AB:地址總線
CB:控制總線
DMA:直接存儲器訪問(Direct Memory Access)
BG:總線允許
BR:總線請求
BS:總線忙
ISA:工業標準體系結構(Industry Standard Architecture)
EISA:擴展的ISA(Extended Industry Standard Architecture)
VESA:視頻電子標準協會(Video Electronics Standard Association)
PCI:外部設備互聯(Peripheral Component Interconnect)
PCI-Express:(PCI-E)
AGP:加速圖形接口(Accelerated Graphics Port)
RS-232C:(Recommended Standard)
USB:通用串行總線(Universal Serial Bus)
PCMCIA:(Personal Computer Memory Card International Association)
IDE:繼承設備電路(Intergrated Drive Electronics)
SCSI:小型計算機系統接口(Small Computer System Interface)
SATA:串行高級技術附件(Serial Advanced Technology Attachment)
CRT:陰極射線管
LCD:液晶顯示器
VRAM:顯示存儲器(也稱刷新存儲器)
RAID:廉價冗余磁盤陣列(Redundant Array of Inexpensive Disks)
總結
以上是生活随笔為你收集整理的计算机组成原理疑难知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1805):前端调试之列表伪类
- 下一篇: 移动通信原理B-------例题解答2