計算機體系複習(三)

計算機體系結構試題庫

填空題 (100題)

  1. 當代計算機體系結構的概念包括(指令集結構)、(計算機組成)和(計算機實現)三個方面的內容。
  2. 計算機部件的平均出售價是(部件開銷)、(直接開銷)和(毛利)三者之和。
  3. 在一個字中,兩種表示字節順序的習慣是(高端Big Endian)和(低端 Little Endian)。
  4. 通常根據CPU內部狀態,可以將指令集結構分爲(堆棧型)、(累加器型)和(通用寄存器型)三種類型。
  5. 在指令流水線中,解決控制相關的方法主要有:(凍結或排空流水線)、(預測發生)、(預測不發生)和(調度分支延遲)。
  6. 在存儲器層次結構中,提高主存性能的方法主要有:(加寬存儲器)、( 簡單的交叉存儲器)、(獨立的存儲塊)、(避免存儲器塊衝突)和(DRAM特性交叉)。
  7. I/O性能評價的指標主要包括:設備類型、設備數量、(響應時間)和(吞吐量)。
  8. 提高向量處理機性能的主要方法有:鏈接、(重疊執行)和(多個向量載入儲存部件)。
  9. 一般並行性包含(並行)和(併發)兩個方面。
  10. 開發並行性的主要途徑有:(時間重疊)、(資源重複)和(資源共享)。
  11. 指令內部的並行屬於()粒度並行。
  12. 流水線的數據相關有( RAW  )、(  WAW  )、(  WAR  )三種類型。
  13. 通用寄存器型指令集結構按其指令中的操作數個數和操作數的存儲單元可以分爲(  RR  )、( RM  )、( MM )三種類型。
  14. 根據CPU性能公式,程序的執行時間等於( IC )、(  CPI )及( T )三者的乘積。
  15. 對向量的處理有( 水平處理 )方式、( 垂直處理 )方式和( 分組處理 )方式。
  16. DLX流水線可以分爲( IF )、( ID )、( EX )、( MEM )、( WB )五個操作功能段。
  17. 在存儲器層次結構中,Cache離CPU( 最近 ),而外存離CPU最遠。
  18. 一般來說,按照CPU內部操作數的存儲方式,可以將機器(指令集結構)分爲:(      堆棧型      )、(    累加器型        )和(    通用寄存器型       )三種類型。
  19. 單機和多機並行性發展的技術途徑有:(資源共享            )、(    資源重複         )和(       時間重疊       )。
  20. 存儲器層次結構設計技術的基本依據是程序(     訪問的局部性原理             )。
  21. 在計算機體系結構設計中,軟硬件功能分配取決於(    性能價格比          )。
  22. 從主存的角度來看,“Cache—主存”層次的目的是爲了(    提高速度           ),而“主存—輔存”層次的目的是爲了(     擴大容量             )。
  23. 描述向量數據的參數有:(    向量起始地址        )、(   向量長度        )、(      向量間距    )。
  24. 程序循環是用(   轉移指令                   )來實現,而微程序循環是用(          微指令地址轉移測試方法                             )來實現的。
  25. 計算機組成指的是計算機系統結構的邏輯實現,計算機實現指的是計算機組成的物理實現
  26. 存儲程序計算機以運算器爲中心、所有部件的操作都由控制器集中控制。
  27. 指令集結構的正交特性是指令集的三個主要元素操作數據類型尋址方式兩兩在指令集結構中獨立無關。
  28. 通道可分爲三類:字節多路通道,選擇通道,數組多路通道
  29. Cache的調度算法通常有預取法按需取進法兩種。
  30. Cache失效可以分爲 強制性失效 、 容量失效 衝突失效三種。
  31. 地址映象方法有多種,其中的直接相聯硬件開銷最小,全相聯的衝突概率最小。
  32. 根據存儲映象算法的不同,虛擬存儲器主要有 段式、頁式和段頁式三種映象方式。
  33. 流水技術按處理的級別可分爲部件級、處理機級和系統級。
  34. 通常,在進行指令集格式設計時,有(固定長度編碼)、(可變長編碼)和(混合編碼)三種設計方法。
  35. 綜合考慮不同的存儲器實現技術,我們會發現:速度越快,每位價格就(越高);容量越大,每位價格就(越低);容量越大,速度(越慢)。
  36. “Cache - 主存”與“主存 - 輔存”層次的區別
  37. 磁盤的每一磁道分成若干扇區,它是磁盤進行存儲分配的物理基本單元,它們之間留有(不用的間隙)。
  38. 系列機的軟件兼容主要包括(向前兼容)、(向後兼容)、(向下兼容)、(向上兼容)四種類型的兼容。
  39. Amdahl定律表明系統的加速比依賴於(被加速部分在系統中所佔的比例)和(對被加速部分的性能提高程度)兩個因素。
  40. 通用寄存器型指令集結構按其指令中的操作數個數和操作數的存儲單元可以分爲(R-R)、(R-M)、(M-M)三種類型。
  41. 在大多數指令集結構的功能設計中必須考慮支持的三種類型的指令是(數據傳輸指令)、(算術和邏輯運算指令)和(控制指令)。
  42. 在指令系統設計中,表示尋址方式有(將尋址方式編碼與操作碼中)和(用地址描述符表示尋址方式)兩種方法。
  43. 通常,在進行指令集格式設計時,有(定長)、(變長)和(混合)三種設計方法。
  44. 在DLX指令集結構中,有(32)個(32)位的通用寄存器,(32)個(32)位的單精度浮點寄存器,用(單精度浮點寄存器奇偶對)來表示雙精度浮點寄存器,尋址方式爲(寄存器尋址)、(立即值尋址)、(偏移尋址)和(寄存器間接尋址)。
  45. 在大多數指令集結構的功能設計中必須考慮支持的三種類型的指令是(算術和邏輯運算)、(數據傳輸)和(控制)。
  46. 在指令系統設計中,操作數類型的表示主要有(由操作碼編碼)和(附上由硬件解釋的標記)兩種方法。
  47. 減少流水線處理分支指令時的暫停時鐘週期數有兩種途徑,一種是(儘早判斷出分支轉移是否成功),另一種是(儘早計算出分支轉移的目標地址)。
  48. 在“Cache-主存”層次中,主存的更新算法有兩種:(寫回法)和(寫直達法)。
  49. 在“Cache-主存”層次中,cache寫失效時採用的兩種調塊策略有:(按寫分配)和(繞寫法)。
  50. 設計I/O系統的三個標準是(性能)、(價格)和(容量)。
  51. 互聯網絡根據工作行爲可分爲兩類,一種是(動態網絡),一種是(靜態網絡)。
  52. DLX流水線可以分爲(   取指     )、(   譯碼   )、(    執行   )、(   訪存  )、(    寫回   )五個操作功能段。
  53. 基本DLX流水線中,假設分支指令需要4個時鐘週期,其它指令需要5個時鐘週期,分支指令佔總指令數的12%,問CPI=_4.88_,若把ALU指令的寫回提前到MEM段,ALU指令佔總指令數的44%,則CPI=_4.44_。
  54. 基本DLX流水線中,IF段操作可表示爲:IF/ID.IR ← Mem[PC];IF/ID.NPC,PC ← (if EX/MEM.cond {EX/MEM.NPC} else {PC+4});
  55. 基本DLX流水線中,ID段準備操作數的動作可表示爲:ID/EX.A ← Regs[IF/ID.IR6...10]; ID/EX.B ← Regs[IF/ID.IR11...15];ID/EX.Imm ← (IR16)16##IR16...31;
  56. 基本DLX流水線中,ALU指令在EX段的處理動作可表示爲:EX/MEM.ALUOutput ← ID/EX.A op ID/EX.B 或EX/MEM.ALUOutput ← ID/EX.A op ID/EX.Imm;
  57. 基本DLX流水線中,ALU指令在EX段處理分支邏輯的動作可表示爲:EX/MEM.cond ← 0;
  58. 基本DLX流水線中,load/store指令在EX段的處理動作可表示爲:EX/MEM.ALUOutput ← ID/EX.A + ID/EX.Imm;
  59. 基本DLX流水線中,分支指令在EX段的處理動作可表示爲:EX/MEM.ALUOutput ←ID/EX.NPC +ID/EX.Imm; EX/MEM.cond ←  (ID/EX.A op 0);
  60. 基本DLX流水線中,ALU指令在MEM段的處理動作可表示爲:MEM/WB.ALUOutput ← EX/MEM.ALUOutput;
  61. 基本DLX流水線中,Load指令在MEM段的處理動作可表示爲:MEM/WB.LMD ← Mem[EX/MEM.ALUOutput];
  62. 基本DLX流水線中,store指令在MEM段的處理動作可表示爲:或Mem[EX/MEM.ALUOutput] ← EX/MEM.B;
  63. 基本DLX流水線中,ALU指令在WB段的處理動作可表示爲:Regs[MEM/WB.IR16...20]← MEM/WB.ALUOutput;或Regs[MEM/WB.IR11...15]← MEM/WB.ALUOutput;
  64. 基本DLX流水線中,load指令在WB段的處理動作可表示爲:Regs[MEM/WB.IR11...15]← MEM/WB.LMD;
  65. 假設流水線各段的時間相等,均爲△t,則最大吞吐率 = 1/△t
  66. 假設流水線各段時間不等,第i段時間爲△ti ,則最大吞吐率 = 1/max{△ti}
  67. 假設m段流水線各段的時間相等,均爲△t,則執行n個任務的實際吞吐率 = n/(m△t+(n-1) △t)。
  68. 假設m段流水線第i段時間爲△ti,則執行n個任務的實際吞吐率 = n/(∑△ti+(n-1)△tj), △tj=max{△ti}
  69. 消除瓶頸的兩種方法爲細分瓶頸段重複設置瓶頸段
  70. m段流水線每段時間均爲△t,則執行n個任務的實際加速比 = m/(1+(m-1)/n)
  71. m段流水線每段時間均爲△t,則最大加速比=m 。
  72. m段流水線每段時間均爲△t,則最大效率趨近於1。
  73. m段流水線每段時間均爲△t,則執行n個任務的效率= 1/(1+(m-1)/n)
  74. 當流水線中數據和指令存在同一存儲器中時,訪存指令會引起存儲器訪問衝突,這種衝突是因爲結構相關引起的。
  75. 延遲分支的三種調度方法是從前調度;從目標處調度;從失敗處調度
  76. 多級存儲層次是利用程序局部性原理來設計的。
  77. 評價cache系統速度快慢的指標是平均訪問時間。
  78. CPU時間能夠評價cache系統對整個CPU性能的影響。
  79. 響應時間是指從事件開始到結束之間的時間。
  80. 吞吐率指在單位時間內所能完成的工作量(任務)。
  81. 用戶以響應時間爲標準評價計算機性能。
  82. 多道程序系統以吞吐率爲標準評價計算機性能。
  83. 流水線各個功能段所需時間應儘量相等
  84. Cache並行查找的兩種實現方法是:利用相聯存儲器和利用單體多字存儲器+比較器
  85. 假設某程序中Load指令佔26%,Store指令佔9%,則寫操作在所有訪存操作中所佔的比例爲7,寫操作在訪問數據Cache操作中所佔的比例爲25
  86. 評價存儲系統性能時,CPU時間=IC×[CPIexe+每條指令的平均存儲器停頓週期數]×時鐘週期時間
  87. 改進Cache的性能的三種途徑是降低失效率、減少失效開銷、減少Cache命中時間
  88. 減小強制性失效的方法有:增加塊大小,預取。
  89. 減小容量失效方法是增加容量
  90. 減小衝突失效的方法是提高相聯度
  91. 容量爲128KB的8路組相聯Cache命中時間爲1.14ns,失效率爲0.6%,失效開銷爲50ns,則其平均訪存時間爲1.44
  92. 僞相聯cache相對於組相聯cache的缺點是:具有多種命中時間
  93. 兩級cache的應使第一級Cache容量大,速度,使第二級Cache容量
  94. 主存的主要性能指標是延遲帶寬。
  95. 磁盤訪問時間=尋道時間+旋轉時間+傳輸時間+控制器時間
  96. 通信延遲=發送開銷+跨越時間傳輸延遲+接收開銷。
  97. 流水線中解決數據相關的技術有定向技術暫停技術編譯器調度
  98. DLX流水線避免控制相關的方法有把分支目標地址和條件的計算移到譯碼段進行採用預測分支失敗機制採用延遲分支機制
  99. Cache一致性協議是維護多個處理器一致性的協議。
  100. 降低Cache命中時間的措施有採用容量小、結構簡單的Cache將寫操作流水化以加快寫命中

項      目

Cache—主存層次

主存—輔存層次

目的

爲了彌補主存速度的不足

(爲了彌補主存容量不足)

存儲管理實現

(主要由硬件實現)

主要由軟件實現

CPU對第二級的訪問方式

可直接訪問

(通過主存訪問)

失效時CPU是否切換

(不切換)

(不切換)

 

計算機體系結構試題庫

判斷題 (102題)

  1. (√)執行時間不是唯一的性能指標,但它是最普遍的性能表示形式。
  2. (×)根據Moore定律,DRAM的週期時間是每三年降低四倍。
  3. (×)MIPS是測量計算機性能的一致性指標。
  4. (√)在計算機性能測量中,調和平均的含義是單位時間機器能夠執行的程序數。
  5. (×)可以用典型程序來設計和優化指令集。
  6. (×)增加流水線的級數總可以增加流水線的性能。
  7. (×)多處理機系統中的素數模低位交叉存儲器可以避免所有訪存衝突。
  8. (√)部件的可靠性通常可以用平均無故障時間來衡量。
  9. (√)在向量處理機中,鏈接只能在順序的Convoy(向量指令並行集)之間進行。
  10. (×)n維超立方體單級互連網絡中的節點數爲n。
  11. (×)MIPS和MFLOPS是計算機性能衡量的兩個可靠指標。
  12. (×)RISC結構的機器性能一定要比CISC結構的機器性能高。
  13. (×)平均每條指令的執行週期數(CPI)與程序無關。
  14. (√)CPU性能公式中指令條數(IC)與指令集格式和編譯器有關。
  15. (√)CPU的組織在一定程度上會影響CPU所能達到的頻率。
  16. (√)解釋執行比翻譯執行花的時間多,但存儲空間佔用較少。
  17. (×)計算機體系結構設計這不必關心指令集具體實現。
  18. (×)當前沒有任何一種指令集結構是堆棧型結構,因爲它已經過時了。
  19. (√)雖然結構相關會影響流水線的性能,但是我們在具體的流水線設計中仍然允許一定的結構相關存在。
  20. (×)程序的時間局部性指程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。
  21. (×)程序的空間局部性指程序即將用到的信息很可能就是目前正在使用的信息。
  22. (√)Amdahl定律揭示的性能遞減規則說明如果僅僅對計算機中的一部分做性能改進,則改進越多,系統獲得的效果越小。
  23. (×)Amdahl定律中“可改進比例”指可改進部分在改進系統計算時間中所佔的比例。
  24. (√)Amdahl定律中“部件加速比”指可改進部分改進以後性能的提高。
  25. (√)傳統機器級的機器語言是該機的指令集。
  26. (×)由彙編語言寫成的程序叫做彙編程序。
  27. (√)機器功能的軟件和硬件實現在邏輯上是等效的,但性能價格比是不等效的。
  28. (√)集成電路基片成本和基片面積有一定比例關係。
  29. (√)芯片研發費用指芯片毛利的一部分。
  30. (×)集成電路芯片的成本主要取決於芯片生產數目。
  31. (√)響應時間必須通過運行“真實程序”獲得。
  32. (×)程序在向量計算機上運行,不會出現數據相關和結構相關。
  33. (×)通過操作系統的多進程技術可以完全迴避I/O處理時間的問題。因爲當一個進程在等待I/O處理的時候,另外的一些進程可以在CPU上運行。
  34. (×)在Cache中,只要增加塊容量,一定可以減小失效率。
  35. (√)虛擬Cache中,CPU使用虛擬地址訪問Cache。
  36. (×)虛擬存儲器頁調度採用LRU算法的缺點之一是使CPU時鐘頻率下降。
  37. (√)可以說向後兼容是系列機的根本特徵。
  38. (×)軟硬件功能是完全等效的。
  39. (×)機器工作狀態的定義和切換對機器語言程序設計者來說是透明的。
  40. (√)受應用程序的影響,計算機的地址位大約以每年1/2-1位的速度遞增。
  41. (×)基準程序能夠完全預測一個程序在計算機上的運行性能。
  42. (√)隨着時間的推移,計算機系統的成本會逐漸降低。
  43. (×)MIPS和MFLOPS都可以用來準確地評價計算機系統的性能。
  44. (×)現代CPU中已經沒有堆棧型和累加器型的指令集結構。
  45. (√)編譯器對應用程序的優化編譯會增加控制指令在程序中所佔的比例。
  46. (×)Load/Store型機器體系結構設計一定要遵循指令集結構的規整性要求。
  47. (×)流水線的效率在滿負荷運行時可達1。
  48. (√)用時空圖上n個任務所佔的時空區與m個段總的時空區之比可計算出流水線的效率。
  49. (×)由於流水線的最大加速比等於流水線深度,所以增加流水段數總可以增大流水線加速比。
  50. (√)流水線深度受限於流水線的延遲和額外開銷。
  51. (×)DLX流水線中,所有數據相關都可以通過定向技術解決。
  52. (√)在DLX流水線中,可以在ID段檢測所有數據相關。
  53. (√)編譯器可以通過重新排列代碼的順序來消除相關引起的暫停。
  54. (√)向量處理機用每秒取得多少浮點運算結果來衡量機器速度,以MFLOPS作爲測量單位。
  55. (√)多級存儲層次是利用程序局部性原理來設計的。
  56. (√)“Cache-主存”層次:彌補主存速度的不足。
  57. (√)“主存-輔存”層次: 彌補主存容量的不足。
  58. (√)寫調塊策略是用於寫操作失效時的策略。
  59. (√)寫合併是提高寫緩衝利用率的技術。
  60. (√)相聯度越高,衝突失效就越少。
  61. (×)強制性失效和容量失效也受相聯度的影響。
  62. (×)容量失效卻隨着容量的增加而增加。
  63. (√)2:1的Cache經驗規則說明容量爲N 的直接映象Cache的失效率約等於大小爲N/2 的兩路組相聯Cache的失效率。
  64. (√)一些降低失效率的方法會增加命中時間或失效開銷。
  65. (×)具有越低失效率的計算機系統性能越高。
  66. (×)具有越低平均訪存時間的系統性能越高。
  67. (×)具有越低失效率的存儲系統性能越高。
  68. (√)具有越低平均訪存時間的存儲系統性能越高。
  69. (×)Victim Cache是位於CPU和Cache間的又一級Cache。
  70. (×)僞相聯cache取直接映象及組相聯兩者的優點,命中時間小,失效開銷低。
  71. (√)僞相聯cache具有快速命中與慢速命中兩種命中時間。
  72. (×)預取必須和正常訪存操作並行纔有意義。
  73. (√)預取必須和正常指令的執行並行纔有意義。
  74. (√)數據對存儲位置的限制比指令的少,因此更便於編譯器優化。
  75. (√)Cache中的寫緩衝器導致對存儲器訪問的複雜化。
  76. (×)寫回法Cache中不必使用寫緩衝。
  77. (×)評價第二級Cache時,應使用局部失效率這個指標。
  78. (√)爲減少平均訪存時間,可以讓容量較小的第一級Cache採用較小的塊,而讓容量較大的第二級Cache採用較大的塊。
  79. (√)預取只有在處理器能繼續執行其它指令的同時進行纔有意義。
  80. (√)硬件預取通常需要非阻塞cache的支持。
  81. (√)Cache命中時間往往會直接影響到處理器的時鐘頻率。
  82. (√)採用容量小、結構簡單的Cache會減小cache的命中時間。
  83. (√)寫操作流水化會減小cache的命中時間。
  84. (√)素數模法是避免存儲體衝突的一種方法。
  85. (√)TLB是頁錶轉換查找緩衝器。
  86. (√)TLB中的內容是頁表部分內容的一個副本。
  87. (×)在共享存儲器上支持消息傳遞比在消息傳遞的硬件上支持共享存儲器困難得多。
  88. (√)流水線吞吐率是指單位時間內流水線所完成的任務數。
  89. (×)流水線可能達到其最大吞吐率。
  90. (×)流水線加速比是指流水線最大潤如率和實際吞吐率之比。
  91. (√)Cache失效中必定包含強制性失效。
  92. (×)Cache失效中必定包含容量失效。
  93. (×)Cache失效中必定包含衝突失效。
  94. (√)組相聯或直接映象Cache中才可能存在衝突失效。
  95. (√)支持“失效下命中”的cache是非阻塞Cache。
  96. (×)虛存系統所用的cache稱爲虛擬Cache。
  97. (√)有統一的時鐘協調各個設備操作的總線是同步總線。
  98. (×)硬件在預取時,如果出現虛地址故障或違反保護權限,就會發生異常。
  99. (×)多處理機系統由多個不同類型的處理機組成。
  100. (√)分佈式共享多處理機是存儲器分佈到各個處理器上的多處理機系統。
  101. (√)由多個同種類型組成的處理機稱爲同構型多處理機。
  102. (√)同步消息傳遞機制中,處理器一個請求發出後一直要等到收到應答結果才能繼續運行。

 

1.計算機體系結構:計算機體系結構包括指令集結構、計算機組成和計算機實現三個方面的內容。

 

 

 

2.透明性:在計算機技術中,對這種本來是存在的事物或屬性,但從某種角度看又好像不存在的概念稱爲透明性(transparency)。

 

 

 

3.程序訪問的局部性原理:程序總是傾向於訪問最近剛訪問過的信息,或和當前所訪問的信息相近的信息,程序對信息的這一訪問特性就稱之爲程序訪問的局部性原理。

 

 

 

4.RISC:精簡指令集計算機。

 

 

 

5.CPI——指令時鐘數(Cycles per Instruction)。

 

 

 

6.Amdahl定律——加快某部件執行速度所獲得的系統性能加速比,受限於該部件在系統中的所佔的重要性。

 

 

 

7.系列機:在一個廠家內生產的具有相同的指令集結構,但具有不同組成和實現的一系列不同型號的機器。

 

 

 

8.軟件兼容:同一個軟件可以不加修改地運行於體系結構相同的各檔機器,而且它們所獲得的結果一樣,差別只在於有不同的運行時間。

 

 

 

9.基準程序:選擇一組各個方面有代表性的測試程序,組成的一個通用測試程序集合,用以測試計算機系統的性能。

 

 

 

10.合成測試程序:首先對大量的應用程序中的操作進行統計,得到各種操作的比例,再按照這個比例人爲製造出的測試程序。

 

 

 

11.Benchmarks:測試程序包,選擇一組各個方面有代表性的測試程序,組成的一個通用測試程序集合。

 

 

 

12.核心程序:從真實程序提取出來的用於評價計算機性能的小的關鍵部分。

 

 

 

13.通用寄存器型機器:指令集結構中存儲操作數的存儲單元爲通用寄存器的機器,稱之爲通用寄存器型機器。

 

 

 

14.Load/Store型指令集結構:在指令集結構中,除了Load/Store指令訪問存儲器之外,其它所有指令的操作均是在寄存器之間進行,這種指令集結構稱之爲Load/Store型指令集結構。

 

 

 

15.虛擬機器:(virtual machine),由軟件實現的機器。

 

 

 

16.操作系統虛擬機:直接管理傳統機器中軟硬件資源的機器抽象,提供了傳統機器所沒有的某些基本操作和數據結構,如文件系統、虛擬存儲系統、多道程序系統和多線程管理等。

 

 

 

17.並行性:是指在同一時刻或是同一時間間隔內完成兩種或兩種以上性質相同或不相同的工作。只要時間上互相重迭,就存在並行性。

 

 

 

18.時間局部性:程序即將用到的信息很可能就是目前正在使用的信息。

 

 

 

19.程序的空間局部性:程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。

 

 

 

20.操作

 

            

                

                     數表示:機器硬件能夠直接識別處理的數據結構。

 

 

 

21.指令週期:執行一條機器指令所用的時間,包括取指令、分析指令和執行指令的時間。

 

 

 

22.尋址技術:確定操作數地址的技術。

 

 

 

23.流水線:將一個重複的時序過程,分解爲若干個子過程,而每一個子過程都可有效地在其專用功能段上與其他子過程同時執行。

 

 

 

24.單功能流水線:只能完成一種固定功能的流水線。

 

 

 

25.多功能流水線:流水線的各段可以進行不同的連接,從而使流水線在不同的時間,或者在同一時間完成不同的功能。

 

 

 

26.靜態流水線:同一時間內,流水線的各段只能按同一種功能的連接方式工作。

 

 

 

27.動態流水線:同一時間內,當某些段正在實現某種運算時,另一些段卻在實現另一種運算。

 

 

 

28.部件級流水線:(運算操作流水線)把處理機的算術邏輯部件分段,以便各種數據類型進行流水操作。

 

 

 

29.處理機型流水線:(指令流水線)把解釋指令的過程按照流水方式處理。

 

 

 

30.處理機間流水線:(宏流水線)由兩個以上的處理機串行地對同一數據流進行處理,每一個處理機完成一項任務。

 

 

 

31.線性流水線:指流水線的各段串行連接,沒有反饋迴路。

 

 

 

32.非線性流水線:指流水線中除有串行連接的通路外,還有反饋迴路。

 

 

 

33.標量流水處理機:處理機不具有向量數據表示,僅對標量數據進行流水處理。

 

 

 

34.流水線效率:流水線的設備利用率。

 

 

 

35.流水線寄存器文件:分割流水線各段邏輯的寄存器組。

 

 

 

36.指令發射:指令從流水線的譯碼段進入執行段的過程。

 

 

 

37.流水線定向技術:流水線中將計算結果從其產生的地方直接送到真正需要它的地方,而不是從寄存器文件讀出使用,它是一種解決數據相關,避免流水線暫停的技術。

 

 

 

38.向量處理機:處理機具有向量數據表示,並通過向量指令對向量的各元素進行處理。

 

 

 

39.結構相關:某些指令組合在流水線中重疊執行時,產生資源衝突,則稱該流水線有結構相關。

 

 

 

40.數據相關:當指令在流水線中重疊執行時,流水線有可能改變指令讀/寫操作的順序,使得讀/寫操作順序不同於它們非流水實現時的順序,將導致數據相關。

 

 

 

41.寫後寫相關——兩條指令i,j,i在j前進入流水線,j、i的操作數一樣,在流水線中重疊執行時,j可能在i寫入其結果之前就先行對保存該結果的寄存器進行寫操作,導致寫錯誤。

 

 

 

42.RAW相關:也

 

            

                

                     即寫後讀相關(RAW:read after write ),j的執行要用到i的計算結果,但是當其在流水線中重疊執行時,j可能在i寫入其計算結果之前就先行對保存該結果的寄存器進行讀操作,所以j會讀到錯誤的值。這是最常見的一種數據相關。

 

 

 

43.WAR相關:也即讀後寫相關(WAR:write after read)兩條指令i,j,i在j前進入流水線,j可能在i讀某個寄存器之前對該寄存器進行寫操作,導致i讀出數據錯誤。

 

 

 

44.定向:將計算結果從其產生的地方直接送到其它指令需要它的地方,或所有需要它的功能單元,避免暫停。

 

 

 

45.向量流水處理機:具有向量數據表示、向量指令的流水線處理機叫向量流水處理機。

 

 

 

46.向量的鏈接:允許一個向量操作一旦它的向量源操作數的單個元素可用時就開始。

 

 

 

47.存儲層次——採用不同的技術實現的存儲器,處在離CPU不同距離的層次上,目標是達到離CPU最近的存儲器的速度,最遠的存儲器的容量。

 

 

 

48.全相聯映射策略:主存中的任意一塊均可被放置到Cache中任意一個位置的方法。

 

 

 

49.組相聯Cache映象:某一內存塊只能放入Cache的某一固定組中,同時該塊可以放入這一組中的任意一塊。

 

 

 

50.Cache替換算法——當Cache塊失效將主存塊裝入Cache又出現Cache塊衝突時,需要按照某種策略把Cache中的一塊替換出去,這種策略就稱爲替換算法。

 

 

 

51.Cache並行查找算法:在組相聯或全相聯cache中並行訪問和比較多個tag,並行訪問數據體的查找模式。

 

 

 

52.Cache串行查找算法:cache中串行依次行訪問和比較多個tag,串行行訪問數據體的查找模式。

 

 

 

53.寫直達法:執行“寫”操作時,不僅寫入Cache,而且也寫入下一級存儲器。

 

 

 

54.寫回法:執行“寫”操作時,只寫入Cache。僅當Cache中相應的塊被替換時,才寫回主存。

 

 

 

55.按寫分配:寫失效時,先把所寫單元所在的塊調入Cache,再行寫入。

 

 

 

56.不按寫分配:寫失效時,直接寫入下一級存儲器而不調塊。

 

 

 

57.寫合併:當把數據寫入寫緩衝器時,判斷本次所寫入單元的塊地址是否與寫緩衝器中某個有效塊的地址相同,若是,則把新數據與該塊合併。

 

 

 

58.Victim Cache——位於Cache和存儲器之間的又一級Cache,容量小,採用全相聯策略。用於存放由於失效而被丟棄(替換)的那些塊。每當失效發生時,在訪問下一級存儲器之前,先檢查Victim Cache中是否含有所需塊。

 

 

 

59.按寫分配法:當Cache失效時,先將要寫的單元的相應的塊調入Cache,然後再進行寫操作。

 

 

 

 

 

            

                

                      60.Cache的強制性失效:當地一次訪問一個塊時,該塊不在Cache中,需要從下一級存儲器中調入Cache,這就是強制性失效。

 

 

 

61.TLB——轉換查找緩衝器,用其可以將地址轉換結果保存,這樣就可以減少主存讀寫操作中的地址轉換工作。

 

 

 

62.USB總線——通用串行總線。應用在PC領域的新型接口技術,USB 將取代當前PC上的串口和並口,目的是提供設備的熱插拔和即插即用的能力。

 

 

 

63.消息通過時間:消息的通過時間是指消息的第一位從發送端到接收端所需要的時間。

 

 

 

64.磁盤尋道時間:磁盤的尋道時間是指將磁頭從某一位置移動到所要訪問的信息所在的磁道所需要的時間。

 

 

 

65.同步總線:有統一的時鐘協調各個設備操作的總線。

 

 

 

66.故障性預取:是指在預取時,如果出現虛地址故障或違反保護權限,就會發生異常。

 

 

 

67.多處理機系統:由多個不同類型,至少擔負不同功能的處理機組成,按照作業要求的順序,利用時間重疊原理,依次對它們的多個任務進行處理,各自完成規定的功能動作。

 

 

 

68.並行處理機:重複設置多個同樣的處理單元(PE),按照一定的方式相互連接,在同一的控制部件(CU)作用下,各自對分配來的數據並行地完成同一條指令所規定的操作。

 

 

 

69.分佈式共享多處理機——採用非集中式,存儲器分佈到各個處理器上的多處理機。

 

 

 

70.同構型多處理機——由多個同種類型、至少同等功能的處理機組成、同時處理同一作業中能並行執行的多個任務的機器。

 

 

 

71.異構型多處理機:由多個不同類型,至少擔負不同功能的處理機組成,按照作業要求順序,利用時間重疊原理,依次對它們的多個任務加工,各自完成規定的功能動作。

 

 

 

72.結點度:互聯網絡終於結點相連結的邊的數目。

 

 

 

73.互連網絡的直徑:互連網絡中任意兩個結點之間最短路徑長度的最大值。

 

 

 

74.流水線吞吐率:是指單位時間內流水線所完成的任務數或輸出結果的數量。

 

 

 

75.流水線最大吞吐率:是指流水線在達到穩定狀態後所得到的吞吐率。

 

 

 

76.流水線實際吞吐率:是指m段流水線完成n個任務所達到的吞吐率。

 

 

 

77.流水線加速比:是指流水線速度與等功能的非流水線速度之比。

 

 

 

78.流水線暫停:流水線控制某條指令及其後面所有指令的執行,使該指令之前的所有指令繼續執行的技術。

 

 

 

79.強制性失效:當第一次訪問一個塊時,該塊不在Cache中,需從下一級存儲器中調入Cache,這就是強

 

            

                

                     制性失效,也稱冷啓動失效或首次訪問失效。

 

 

 

80.容量失效:如果程序執行時所需的塊不能全部調入Cache中,則當某些塊被替換後,若又重新被訪問,就會發生失效。這種失效稱爲容量失效。

 

 

 

81.衝突失效:在組相聯或直接映象Cache中,若太多的塊映象到同一組(塊)中,則會出現該組中某個塊被別的塊替換(即使別的組或塊有空閒位置),然後又被重新訪問的情況。這就是發生了衝突失效。(碰撞失效,干擾失效)

 

 

 

82.非阻塞Cache:Cache失效時仍允許CPU進行其它的命中訪問。即允許“失效下命中”

 

 

 

83.虛擬Cache:訪問Cache的索引以及Cache中的標識都是虛擬地址的一部分。

 

 

 

84.RAID:廉價磁盤冗餘陣列,簡稱盤陣列技術。

 

 

 

85.RAID 1: 鏡像盤,使用雙備份磁盤。

 

 

 

86.RAID 2: 位交叉式海明編碼陣列。

 

 

 

87.RAID 3: 位交叉奇偶校驗盤陣列。

 

 

 

88.RAID 4: 專用奇偶校驗獨立存取盤陣列。

 

 

 

89.RAID 5: 塊交叉分佈式奇偶校驗盤陣列。

 

 

 

90.RAID 6: 雙維奇偶校驗獨立存取盤陣列。

 

 

 

91.同步總線;同步總線上所有設備通過統一的總線系統時鐘進行同步。

 

 

 

92.異步總線:設備之間沒有統一的系統時鐘,設備自己內部定時。設備之間的信息傳送用總線發送器和接收器控制。但在傳輸時,異步總線需要額外的同步開銷。

 

 

 

93.I/O總線標準:定義設備連接規則的文件。

 

 

 

94.並行計算:指同時對多個任務或多條指令、或對多個數據項進行處理。

 

 

 

95.並行計算機系統:是將多個處理器通過網絡以一定的連接方式有序地組織起來,能夠完成並行計算的計算機系統。

 

 

 

96.同步消息傳遞:請求處理器發送一個請求後一直要等到應答結果才繼續運行。

 

 

 

97.異步消息傳遞:發送方不先經請求就直接把數據送往數據接收方。

 

 

 

98.集中式共享存儲器體系結構:多個處理器共享一個存儲器的多處理系統結構。

 

 

 

99.Cache一致性協議:對多個處理器維護一致性的協議。

 

 

 

100.分佈式共享存儲器體系結構:存儲器分佈於各結點中,所有的結點通過網絡互連。訪問可以是本地的,也可是遠程的。

 

計算機體系結構試題庫

簡答題 (100題)

 

  1. 簡述CISC結構計算機的缺點。

答:

  1. 在CISC結構的指令系統中,各種指令的使用頻率相差懸殊。據統計,有20%的指令使用頻率最大,佔運行時間的80%。也就是說,有80%的指令在20%的運行時間內纔會用到。
  2. CISC結構指令系統的複雜性帶來了計算機體系結構的複雜性,這不僅增加了研製時間和成本,而且還容易造成設計錯誤。
  3. CISC結構指令系統的複雜性給VLSI設計增加了很大負擔,不利於單片集成。
  4. CISC結構的指令系統中,許多複雜指令需要很複雜的操作,因而運行速度慢。
  5. 在CISC結構的指令系統中,由於各條指令的功能不均衡性,不利於採用先進的計算機體系結構技術(如流水技術)來提高系統的性能。

 

  1. RISC結構計算機的設計原則。

答:

  1. 選取使用頻率最高的指令,並補充一些最有用的指令;
  2. 每條指令的功能應儘可能簡單,並在一個機器週期內完成;
  3. 所有指令長度均相同;
  4. 只有load和store操作指令才訪問存儲器,其它指令操作均在寄存器之間進行;
  5. 以簡單有效的方式支持高級語言。

 

  1. 影響現代微處理器主頻提升的主要原因由哪些?

答:線延遲、功耗。

 

  1. 指令集格式設計時,有哪三種設計方法?

答:固定長度編碼、可變長編和混合編碼)三種設計方法。

 

  1. 簡述存儲程序計算機(馮·諾依曼結構)的特點。

答:

(1)機器以運算器爲中心。

(2)採用存儲程序原理。

(3)存儲器是按地址訪問的、線性編址的空間。

(4)控制流由指令流產生。

(5)指令由操作碼和地址碼組成。

(6)數據以二進制編碼表示,採用二進制運算。

 

  1. 在進行計算機系統設計時,一個設計者應該考慮哪些因素對設計的影響?

答:

在進行計算機系統設計時,設計者應該考慮到如下三個方面因素的影響:

  1. 技術的發展趨勢;
  2. 計算機使用的發展趨勢;
  3. 計算機價格的發展趨勢。

 

  1. 簡述程序翻譯技術的特點。

答:

翻譯技術是先把N+1級程序全部變換成N級程序後,再去執行新產生的N級程序,在執行過程中N+1級程序不再被訪問。

  1. 簡述程序解釋技術的特點。

答:

解釋技術是每當一條N+1級指令被譯碼後,就直接去執行一串等效的N級指令,然後再去取下一條N+1級的指令,依此重複進行。

 

  1. 經典體系結構的定義是什麼?

計算機體系結構是機器級程序員所看到的計算機的屬性,即概念性結構與功能特性。

 

  1. “線延遲牆”指的是什麼?

隨着集成電路工藝的進步,芯片內晶體管大小不斷變小,其邏輯門延遲也隨之減小,而走線延遲所佔的比重也隨之越來越大,導致電路頻率不能隨着工藝的減小而線性減小。

 

  1. Moore定律闡述的是什麼?

微處理器晶體管數目每18個月翻一倍。它揭示了集成電路工藝發展的規律。

 

  1. 解釋響應時間和吞吐率的差別。

響應時間也稱執行時間,是指從事件開始到結束之間的時間。

吞吐率(Throughput)指在單位時間內所能完成的工作量(任務)。

用戶以響應時間爲標準,多道程序系統以吞吐率爲標準。

 

  1. 簡述程序的時間局部性原理的含義。

程序在執行時所訪問地址的分佈不是隨機的,而是相對地簇聚;這種簇聚包括指令和數據兩部分。程序局部性包括:

程序的時間局部性:程序即將用到的信息很可能就是目前正在使用的信息。

 

  1. 簡述程序的空間局部性原理的含義。

程序在執行時所訪問地址的分佈不是隨機的,而是相對地簇聚;這種簇聚包括指令和數據兩部分。程序局部性包括:

程序的空間局部性:程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。

 

  1. 在指令集結構設計中,應該考慮哪些主要問題,這些問題有哪些主要的設計選擇?

答:

在進行指令機結構設計中,應該考慮如下主要問題:

  1. 指令集功能設計:主要有RISC和CISC兩種技術發展方向;
  2. 尋址方式的設計:設置尋址方式可以通過對基準程序進行測試統計,察看各種尋址方式的使用頻度,根據適用頻度設置相應必要的尋址方式;
  3. 操作數表示和操作數類型:主要的操作數類型和操作數表示的選擇有,浮點數據類型(可以採用IEEE 754標準)、整型數據類型(8位、16位、32位的表示方法)、字符型(8位)、十進制數據類型(壓縮十進制和非壓縮十進制數據表示)等等。
  4. 尋址方式的表示:可以將尋址方式編碼與操作碼中,也可將尋址方式作爲一個單獨的域來表示。
  5. 指令集格式的設計:有固定長度編碼方式、可變長編碼方式和混合編碼方式三種選擇。

 

  1. 程序控制指令有什麼功能?

答:

具有測試、分析、判斷能力,控制程序的運行順序和方向。

 

  1. 程序控制指令主要包括哪些指令?

答:

有轉移指令、循環控制、子程序、過程調用等。

 

  1. 請簡述指令集結構設計中尋址方式設計的一般方法。

答:

在尋址方式設計時,首先對一些典型的基準程序進行分析,統計基準程序中使用各種尋址方式的頻率,然後根據所要設計的計算機系統所面向的應用領域,確定選擇哪些使用頻率高的尋址方式予以支持。對於一些特殊的尋址方式(如偏移尋址等),偏移量的確定也必須應用同樣的方法加以確定。

 

  1. 表示尋址方式的主要方法有哪些?

答:

表示尋址方式有兩種常用的方法:一種是將尋址方式編於操作碼中,由操作碼在描述指令的同時也描述了相應的尋址方式;另一種是爲每個操作數設置一個地址描述苻,由該地址描述撫表示相應操作數的尋址方式。

 

  1. 簡述表示尋址方式的兩種方法的優缺點。

答:

將尋址方式編於操作碼中的方式譯碼快,但操作碼和尋址方式的結合不僅增加了指令的條數,導致了指令的多樣性,而且增加了CPU對指令譯碼的難度。爲每個操作數設置一個地址描述苻的方式譯碼較慢,但操作碼和尋址獨立,易於指令擴展。

 

  1. 簡述流水線的特點。
  1. 流水過程由多個相聯繫的子過程組成。
  2. 每個子過程由專用的功能段實現。
  3. 各個功能段所需時間儘量相等。
  4. 流水線有“通過時間”(第一個任務流出結果所需的時間)。在此之後流水過程才進入穩定工作狀態,一拍流出一個結果。
  5. 流水技術適合於大量重複的時序過程,只有輸入端連續提供任務,流水線效率纔可充分發揮。

 

  1. 在流水線中解決數據相關的技術有哪些? 

答:

  1. 定向技術;
  2. 暫停技術;
  3. 採用編譯器調度。
  1. DLX流水線分爲哪幾個功能段?

答:  取指、譯碼、執行、訪存、寫回五個操作功能段。

 

  1. 在基本DLX流水線基礎上,避免控制相關的方法有哪些?

答:

  1. 改進硬件功能,把分支目標地址和條件的計算移到譯碼段進行;
  2. 採用預測分支失敗機制
  3. 採用延遲分支機制。
  1. 評述解決數據相關的技術在DLX流水線的應用。

答:

在DLX中,由於ALU和數據存儲器都要接受操作數,設置從寄存器文件EX/MEM和MEM/WB到這兩個單元輸入的定向路徑,還有DLX的零監測單元在EX週期完成分支條件檢測操作,也設置到該單元的定向路徑,減少了數據相關帶來的暫停;但並不是所有數據相關帶來的暫停都可通過定向技術來消除,採用暫停技術,設置一個“流水線互鎖”的功能部件,一旦流水線互鎖檢測到數據相關,流水線暫停執行發生數據相關指令後續的所有指令,直到該數據相關解決爲止。利用編譯器技術,重新組織代碼順序也可消除數據相關帶來的必然暫停。

 

  1. 在存儲器層次結構設計中,論述首先要解決的四個問題及其含義。

答:

  1. 塊的放置策略:塊如何放置在存儲器層次中?
  2. 塊的替換策略:一次失效時,如何替換一個塊?
  3. 塊的標識策略:一個塊在存儲器層次中如何找到它?
  4. 寫的策略:寫的時候將會發生什麼?

 

  1. 降低Cache命中時間的措施有哪些?

答:容量小、結構簡單的Cache;將寫操作流水化以加快寫命中

 

  1. 降低Cache失效率的措施有哪些?

答:

  1. 增加Cache塊大小
  2. 提高相聯度
  3. 採用Victim Cache
  4. 採用僞相聯Cache(列相聯)
  5. 採用硬件預取技術
  6. 由編譯器控制的預取
  7. 編譯器優化

 

  1. 降低Cache失效損失的措施有哪些?

答:

  1. 讀失效優先於寫;
  2. 採用子塊放置策略;
  3. 早期啓動和關鍵字優先;
  4. 在Cache失效時,利用非阻塞Cache減少暫停;
  5. 採用二級Cache。

 

5、在單機系統中保持Cache一致性的措施有哪些?

答:

    採用寫穿透策略和寫回策略可以在單機系統中保持Cache一致性。

 

  1. 全相聯和直接映象相比,各有何優缺點?

答:

    全相聯映象的特點:利用率最高,衝突概率最低,實現最複雜。

    直接映象的特點:利用率最低,衝突概率最高,實現最簡單。

 

  1. 簡述“Cache-主存”層次和“主存-輔存”層次的區別。

答:“Cache-主存”層次和“主存-輔存”層次的區別見下表

比較項目

“Cache-主存”層次

“主存-輔存”層次

目的

爲了彌補主存速度上的不足

爲了彌補主存容量的不足

存儲管理實現

主要由專用硬件實現

主要由軟件實現

訪問速度的比值

(第一級比第二級)

幾比一

幾萬比一

典型的塊(頁)大小

幾十個字節

幾百到幾千個字節

CPU對第二級的訪問方式

可直接訪問

均通過第一級

失效時CPU是否切換

不切換

切換到其它進程

 

  1. 根據下圖中的編號,說明虛擬地址如何經過TLB轉換成物理地址。

 

答:

    首先以CPU給出的地址中的高30位爲虛擬也好,將其和TLB中的32個頁表項的Tag相比較,同時檢查訪問的合法性(由TLB中頁表項的高5位確定)。如果某一頁表項的Tag預虛擬也好相同,且訪問合法,那麼由32:1多路選擇器讀出該頁表項的低21位,這21位就是所訪問頁的真實物理地址的高21位,最後將其和頁偏移量合併成34位物理地址。

 

  1. 虛擬存儲器中,爲幫助操作系統保護進程不被其他進程破壞,簡要說明計算機硬件要完成哪三項工作?

答:

主要完成如下三項工作:

  1. 提供至少兩種模式,用於區分正在運行的進程是用戶進程還是操作系統進程。有時稱後者爲內核(kernel)進程、超級用戶(supervisor)進程或管理(executive)進程。
  2. 使CPU狀態的一部分成爲用戶進程可讀但不可寫的。這包括基地址/上界地址寄存器、用戶/管理模式位和異常許可/禁止位。用戶進程無權修改這些狀態,因爲如果用戶進程能改變地址範圍檢查、賦給自己管理特權或禁止異常出現,操作系統就無法控制它們了。
  3. 提供一種機制,使得CPU能從用戶模式進入管理模式和從管理模式進入用戶模式。前一種模式變換一般是通過系統調用(system call)來完成。系統調用由一條特殊指令實現,該指令將控制權傳送到管理程序空間中一個特定位置。系統調用點處的PC值會被保存起來,CPU狀態將被置爲管理模式。調用結束後返回用戶模式很像從子程序返回,它將恢復原先的用戶/管理模式。

 

  1. 根據下圖,說明分離處理總線工作過程。

 

答:

首先某一設備發出讀請求,並將地址1提交給總線之後,不再佔用總線,這時其它總線主設備也可發出讀請求,並將地址信號提交給總線(地址2、地址3)。總線根據所接受的地址進行存儲器訪問,讀出數據,將數據信息放在地址總線上。第一個總線主設備法出第之後,不斷“偵聽”總線,如果總線上不是其所請求讀出的數據,那麼該總線主設備必須等待(等待1),只有當總線上出現了該總線主設備所請求讀出的數據後(數據1),那麼該總線主設備取回數據,完成總線訪問(完成1)。由此可以看出,在有多個主設備時,總線就可以通過數據打包來提高總線帶寬,這樣可以不必在整個傳輸過程中都佔有總線,這種技術叫做“分離處理(split transaction)”或者“流水處理”或者“包開關總線”等。值得注意的是:讀操作分爲兩部分,一個是包含地址的讀請求和一個包含數據的存儲器應答,每個操作必須標記清楚,以便CPU和存儲器可以識別它們。當從所請求存儲器地址處讀一個字的時候,分離處理允許其它總線主設備使用總線,因此,CPU必須能夠識別總線上發來的數據,存儲器必須識別總線上返回的數據。分離處理總線有較高的帶寬,但是它的數據傳送延遲比獨佔總線方法要大。

 

  1. 請敘述設計一個I/O子系統的步驟。

答:

  1. 列出將要鏈接到計算機的I/O設備的類型,或者列出機器將要支持的標準總線。
  2. 列出每種I/O設備的物理要求,包括:容量、電源、連接器、總線槽、擴展機箱等等。
  3. 列出每種I/O設備的開銷,包括設備所需要的控制器的開銷。
  4. 記錄每種I/O設備對CPU資源的要求。
  5. 列出每種I/O設備對存儲器和總線資源的要求。
  6. 按照不同的方法組織I/O設備,並計算其性能和開銷。

 

  1. 在有Cache的計算機系統中,進行I/O操作時,會產生哪些數據不一致問題?如何克服?

答:

  1. 存儲器中可能不是CPU產生的最新數據 ,所以I/O系統從存儲器中取出來的是陳舊數據。
  2. I/O系統與存儲器交換數據之後,在Cache中,被CPU使用的可能就會是陳舊數據。

第一個問題可以用寫直達Cache解決。

第二個問題操作系統可以保證I/O操作的數據不在cache中。如果不能,就作廢Cache中相應的數據。

 

  1. 簡述“虛擬索引+物理標識”Cache的優缺點。

答:

優點是既能夠得到虛擬Cache的好處,又能夠得到物理Cache的優點。

缺點是直接映象Cache的容量不能夠超過頁的大小。

 

  1. 基本DLX流水線中四個多路選擇器的控制端由哪些信息決定?

答:

ALU輸入端的兩個MUX由ID/EX.IR所指出的指令類型控制,IF段的MUX由EX/MEM.Cond域的值控制,WB段的MUX由當前指令類型(Load/ALU)控制。

  1. 基本DLX流水線中,IF與Mem兩個階段都要訪問存儲器,怎樣避免訪存衝突?

答:

把指令存儲器和數據存儲器分開,使每個存儲器具有獨立的讀寫端口。

 

  1. ID和WB兩個階段都要訪問寄存器,是否存在衝突?怎樣避免?

答:

可能存在RAW衝突,通過使寄存器文件支持“前半週期寫後半週期讀”來避免。

 

  1. 何爲流水線效率?爲何流水線效率不能達到1?

答:

效率指流水線的設備利用率。由於流水線有通過時間和排空時間,所以流水線的各段並非一直滿負荷工作,所以效率是小於1的數。

 

  1. 說明流水線吞吐率、加速比和效率的關係。

答:

三個指標是衡量流水線性能的三種度量,

效率E = n△t/T流水=mn△t/(T流水m)= S/m, 效率是實際加速比S與最大加速比m之比。

效率E = n△t/T流水= (n/T流水) ·△t=TP△t,當△t不變時,流水線的效率與吞吐率呈正比。

 

  1. 解釋何爲流水線中的定向(forwarding)技術?

答:

定向技術是指流水線中將計算結果從其產生的地方直接送到真正需要它的地方,而不是從寄存器文件讀出使用,它是一種解決數據相關,避免流水線暫停的方法。

 

  1. 解釋寫後讀相關及其在DLX中發生的情況。

答:

兩條指令 i 和 j,都會訪問同一寄存器R,假設指令i在指令j 之前,指令i先寫寄存器R而指令j後讀寄存器R,稱兩條指令存在寫後讀相關。流水線中如果j 在i 完成寫之前從R 中讀出數據,將得到錯誤的結果。DLX中由於在ID段讀寄存器而在WB段寫寄存器,所以寫後讀相關可能引起執行錯誤或流水線暫停。

  1. 解釋寫後寫相關及其在DLX中發生的情況。

答:

兩條指令 i 和 j,都會訪問同一寄存器R,假設指令i在指令j 之前,指令i先寫寄存器R而指令j後寫寄存器R,稱兩條指令存在寫後寫相關。如果j 在i 之前完成寫操作,R中將保存錯誤的結果。DLX中由於只在WB段這唯一的一段寫寄存器,所以前後指令的寫後寫相關不會發生執行錯誤。

  1. 解釋讀後寫相關及其在DLX中發生的情況。

答:

兩條指令 i 和 j,都會訪問同一寄存器R,假設指令i在指令j 之前,指令i先讀寄存器R而指令j後寫寄存器R,稱兩條指令存在讀後寫相關。流水線中如果j 在i 完成讀之前向R 中寫入數據,將寫入錯誤的結果。DLX中由於在ID段讀寄存器而在WB段寫寄存器,ID段在WB段之前,所以前後指令的讀後寫相關不會發生執行錯誤。

 

  1. 畫出DLX的所有定向通路。

答:

 

 

  1. 簡述減少流水線分支損失四種方法

答:

(1) 凍結或排空流水線:在流水線中停住或刪除分支後的指令,直到知道轉移目標地址

(2) 預測分支轉移失敗:流水線繼續照常流動,如果分支轉移成功,將分支指令後的指令轉換爲空操作,並從分支目標處開始取指令執行;否則照常執行

(3) 預測分支轉移成功:始終假設分支成功,直接從分支目標處取指令執行

(4) 延遲分支(delayed branch):分支開銷爲n的分支指令後緊跟有n個延遲槽,流水線遇到分支指令時,按正常方式處理,順帶執行延遲槽中的指令,從而減少分支開銷。

 

  1. 簡述延遲分支“從前調度”方法的調度要求和作用前提。

答:

要求被調度的指令必須與分支結果無關,任何情況都能起作用。

  1. 簡述延遲分支“從目標處調度”方法的調度要求和作用前提。

答:

要求被調度的指令必須保證在分支失敗時執行被調度的指令不會導致錯誤,可能需要複製指令。該方法在分支成功時起作用。

  1. 簡述延遲分支“從失敗處調度”方法的調度要求和作用前提。

答:

要求被調度的指令必須保證在分支成功時執行被調度的指令不會導致錯誤。該方法在分支失敗時起作用。

 

  1. 解釋向量鏈接技術。

答:

一個向量功能部件得到的結果直接送入另一個向量功能部件的操作數寄存器時所發生的連接過程稱爲鏈接。當兩條指令出現“寫後讀”相關時,若它們不存在功能部件衝突和向量寄存器(源或目的) 衝突,就有可能把它們所用的功能部件頭尾相接,形成一個鏈接流水線,進行流水處理。   鏈接特性實質上是把流水線“定向”的思想引入到向量執行過程的結果。

 

  1. 存儲器的三個主要指標:容量、速度、每位價格的關係怎樣?

答:

容量越大價格越低,速度越快價格越高,容量越大速度越慢。

 

  1. 存儲層次的平均訪問時間TA怎樣計算?

答:

 TA=TA1+(1-H )TM  或  TA=TA1+FTM,H爲命中率,F爲失效率,TA1爲高一級存儲層次的訪問時間,TM爲失效開銷。

 

  1. 比較“Cache -主存”層次和“主存-輔存”層次的異同。

 

 

  1. 存儲層次設計要解決的四個問題指什麼?

答:

映象規則:當把一個塊調入高一層(靠近CPU)存儲器時,可以放在哪些位置上?

查找算法:當所要訪問的塊在高一層存儲器中時,如何找到該塊?

替換算法:當發生失效時,應替換哪一塊?

寫策略:當進行寫訪問時,應進行哪些操作?

  1. 說明cache並行查找與順序查找的優缺點?

答:

並行查找速度快,但硬件代價大,順序查找速度慢,通常採用MRU策略提高速度,硬件代價相對小。

 

  1. 說明Cache並行查找的兩種實現方法。

答:

方法一:利用相聯存儲器,速度較快,邏輯控制簡單,但需特殊器件支持。

方法二:利用單體多字存儲器+比較器,速度相對較慢,可利用一般SRAM等實現。

 

  1. 簡述三種替換算法及其優缺點。

答:

隨機法:實現簡單

FIFO法:實現較爲簡單,失效率與程序訪問特性有關。

LRU法:失效率低。

 

  1. 簡述cache的兩種寫策略及其優缺點。

答:

寫直達法:執行“寫”操作時,不僅寫入Cache,而且也寫入下一級存儲器。

寫回法:執行“寫”操作時,只寫入Cache。僅當Cache中相應的塊被替換時,才寫回主存。需設置“污染位”來記錄數據塊是否被更新。

寫回法速度快,所使用的存儲器頻帶較低;寫直達法易於實現,一致性好。

  1. 簡述cache的兩種寫調塊策略。

按寫分配(寫時取):寫失效時,先把所寫單元所在的塊調入Cache,再行寫入。

不按寫分配(繞寫法):寫失效時,直接寫入下一級存儲器而不調塊。

 

  1. 什麼是寫合併技術?

當把數據寫入寫緩衝器時,判斷本次所寫入單元的塊地址是否與寫緩衝器中某個有效塊的地址相同,若是,則把新數據與該塊合併。這樣可提高寫緩衝的利用率。

 

  1. 解釋Victim cache的基本思想。

答:

在Cache和它從下一級存儲器調數據的通路之間設置一個全相聯的小Cache,用於存放被替換出去的塊,以備重用。這些被保存的替換塊被稱爲Victim塊,存放這些塊的緩衝稱爲Victim cache。Victim cache對於減小衝突失效很有效,特別是對於小容量的直接映象數據Cache,作用尤其明顯。

 

  1. 解釋僞相聯cache的工作原理。

答:

在邏輯上把直接映象Cache的空間上下平分爲兩個區。對於任何一次訪問,僞相聯Cache先按直接映象Cache的方式去處理。若命中,則其訪問過程與直接映象Cache的情況一樣。若不命中,則再到另一區相應的位置去查找。若找到,則發生了僞命中,否則就只好訪問下一級存儲器。

 

  1. 簡述通過編譯優化降低cache失效率的基本思想。

答:

在編譯時,對程序中的指令和數據進行重新組織,是連續訪問的指令或數據能夠具有根號的時間和空間局部性,以降低Cache失效率。

 

  1. Cache中的寫緩衝器導致對存儲器訪問的複雜化,在處理讀失效時,針對這個問題的解決方法是什麼?

答:

推遲對讀失效的處理;檢查寫緩衝器中的內容。

  1. 簡述在cache失效率的策略中,編譯優化分塊策略的基本思想。

答:

編譯器把對數組的整行或整列訪問改爲按塊進行,使得塊內的訪問具有較好的局部性,從而降低失效率。

 

  1. 解釋子塊放置技術。

答:

把Cache塊進一步劃分爲更小的塊(子塊),並給每個子塊賦予一位有效位,用於指明該子塊中的數據是否有效。Cache與下一級存儲器之間以子塊爲單位傳送數據。但標識仍以塊爲單位。

 

  1. 解釋局部失效率與全局失效率。

答:

 局部失效率=該級Cache的失效次數/到達該級Cache的訪問次數,

 全局失效率=該級Cache的失效次數/CPU發出的訪存的總次數。

 

  1. 解決虛擬Cache的清空問題的方法是什麼?

答:

在地址標識中增加PID字段(進程標識符)

 

  1. “虛擬索引+物理標識”的優缺點是什麼?

答:

優點:兼得虛擬Cache和物理Cache的好處。

侷限性:Cache容量受到限制 (頁內位移),Cache容量≤頁大小×相聯度。

 

  1. 從主存的角度講,減少cache失效開銷的方法是什麼?

答:

減少主存延遲,提高主存帶寬。

 

  1. 簡述提高主存性能的四種方法。

答:

增加存儲器的寬度;採用簡單的多體交叉存儲器;採用獨立存儲體;避免存儲體衝突。

 

  1. 簡述虛擬存儲器的特點。

答:

多個進程可以共享主存空間;程序員不必做存儲管理工作;採用動態再定位,簡化了程序的裝入。

 

  1. 什麼是TLB?

答:

TLB是一個專用的高速緩衝器,用於存放近期經常使用的頁表項。

 

  1. 簡述蓄存系統中採用大頁面和小頁面各自的優點。

答:

大頁面的優點:

頁表的大小與頁面大小成反比。較大的頁面可以節省實現地址映象所需的存儲空間及其它資源;較大的頁面可以使快速Cache命中的實現更簡單;在主存和輔存之間傳送較大頁面比傳送較小的頁面更有效。TLB的項數有限,對於給定數目的項數,較大的頁面意味着可以高效地實現更多存儲空間的地址變換,從而減小TLB失效的次數。

小頁面的優點:可以減少空間的浪費。

 

  1. 簡述RAID 1的優缺點。

答:

優點:系統可靠性好;設計簡單。缺點:硬件開銷大;效率低。

 

  1. 簡述RAID 5的特點。

答:

塊交叉分佈式奇偶校驗盤陣列,即數據以塊交叉的方式存於各盤,但無專用的校驗盤,而是把冗餘的奇偶校驗信息均勻地分佈在所有磁盤上。由於對數據塊每一行的相聯奇偶校驗不再限制在單一磁盤上,只要塊單元不位於同一個磁盤內,這種組織方法就可以支持多個寫同時執行。這種策略讀數據速率高;盤陣列利用率高,但設計複雜。

 

  1. 總線按用途分類可分爲哪兩類?各有什麼特點。

答:

CPU-存儲器總線: CPU-存儲器總線則比較短,通常具有較高的速度,並且要和存儲器系統的速度匹配來優化帶寬。

I/O總線:由於要連接許多不同類型、不同帶寬的設備,因此I/O總線比較長,並且還應遵循總線標準。

 

  1. 四種I/O工作方式是什麼?

答:

程序控制、中斷、DMA、I/O處理機。

 

  1. 簡述通道的三種類型和特點。

答:

字節多路通道:簡單的共享通道,爲多臺低速或中速的外圍設備服務。採用分時方式工作。

選擇通道:爲高速外圍設備(如磁盤存儲器等)服務。在傳送數據期間,只能爲一臺高速外圍設備服務,在不同的時間內可以選擇不同的設備。

數組多路通道:爲高速設備服務。各臺高速設備重迭操作。

 

  1. 同步總線和異步總線特點。

答:

同步總線所有的設備都有統一的時鐘。同步總線的成本低,因爲它不需要設備之間互相確定時序的邏輯。缺點是總線操作的速度受時鐘的影響。由於設備都需要精確的以公共時鐘爲定時參考,因此頻率一旦高,容易出現時鐘漂移錯誤。

異步總線沒有統一的時鐘,設備內部自己定時。設備之間的信息傳送由總線發送器和接收器控制。異步總線適用更加廣泛,擴充時不用擔心時鐘時序和時鐘同步的問題。但傳輸時異步總線要增加額外的同步開銷。

 

  1. 解釋IO系統帶來的一致性問題。

答:

1)存儲器中可能不是CPU產生的最新數據,所以I/O系統從存儲器中取得是舊數據;

2)I/O系統與存儲器交換數據之後,在Cache中,被CPU使用的可能會是舊數據。

  1. IO系統一致性問題的解決方法。

答:

1)利用寫直達方法。但如果是寫回法,必須進行地址檢查,確保I/O使用的數據不在Cache中;

2)Cache中的數據在I/O操作之後能夠及時更新,保證I/O操作的數據不在Cache中,如果在需要作廢Cache中的相應數據。

 

 

  1. 並行計算的應用分類?

答:

(1)計算密集型

(2)數據密集型

(3)網絡密集型

 

  1. 什麼是Flynn分類法。

答:

把計算機分成單指令流單數據流(SISD)、 單指令流多數據流(SIMD)、 多指令流單數據流(MISD)、 多指令流多數據流(MIMD)四種處理模式機器。

 

  1. MIMD機器分爲哪兩類?

答:

按照存儲器結構和互連策略的不同分爲集中式共享存儲器結構和分佈式存儲器結構。

 

  1. 簡述分佈式存儲器結構的優缺點。

答:

優點:(1)  如果大多數的訪問是針對本結點的局部存儲器,則可降低對存儲器和互連網絡的帶寬要求;(2)  對局部存儲器的訪問延遲低。

缺點:處理器之間的通信較爲複雜,且各處理器之間訪問延遲較大。

 

  1. 簡述分佈式存儲器結構的兩種地址空間組織方式。

答:

(1) 物理上分離的多個存儲器可作爲一個邏輯上共享的存儲空間進行編址。這類機器的結構被稱爲分佈式共享存儲器(DSM)或可縮放共享存儲器體系結構。DSM機器被稱爲NUMA(non-uniform memory access)機器。

(2) 整個地址空間由多個獨立的地址空間構成,它們在邏輯上也是獨立的,遠程的處理器不能對其直接尋址。

 

  1. 簡述多處理機系統可採用的兩種通信模式。

答:

共享地址空間的機器利用Load和Store指令中的地址隱含地進行數據通信。

多個地址空間的機器通過處理器間顯式地傳遞消息完成 (消息傳遞機器),消息傳遞機器根據簡單的網絡協議,通過傳遞消息來請求某些服務或傳輸數據,從而完成通信。

 

  1. 評價多處理器系統通信機制性能的三個方面是什麼?

答:

通信帶寬、通信延遲、通訊延遲隱藏機制的效率。

  1. 共享存儲器通信的主要優點。

答:

(1) 與常用的集中式多處理機使用的通信機制兼容。

(2) 當處理器通信方式複雜或程序執行動態變化時易於編程,同時在簡化編譯器設計方面也佔有優勢。

(3) 當通信數據較小時,通信開銷較低,帶寬利用較好。

(4) 通過硬件控制的Cache減少了遠程通信的頻度,減少了通信延遲以及對共享數據的訪問衝突。

 

  1. 消息傳遞通信機制的主要優點。

答:

 (1) 硬件較簡單。

 (2) 通信是顯式的,從而引起編程者和編譯程序的注意,着重處理開銷大的通信。

 

  1. 多處理機的數據一致性問題產生的原因。

答:

I/O操作:Cache中的內容可能與由I/O子系統輸入輸出形成的存儲器對應部分的內容不同。

共享數據:不同處理器的Cache都保存有對應存儲器單元的內容。

 

  1. 怎樣定義多處理機存儲器是“一致的”

答:

如果對某個數據項的任何讀操作均可得到其最新寫入的值,則認爲這個存儲系統是一致的。

 

  1. 實現集中式共享存儲器體系結構一致性的基本方案?

答:

共享數據的遷移:降低了對遠程共享數據的訪問延遲。

共享數據的複製:不僅降低了訪存的延遲,也減少了訪問共享數據所產生的衝突。

 

  1. 簡述維護Cache一致性的兩種共享數據跟蹤技術。

答:

目錄:物理存儲器中共享數據塊的狀態及相關信息均被保存在一個稱爲目錄的地方。

監聽:每個Cache除了包含物理存儲器中塊的數據拷貝之外,也保存着各個塊的共享狀態信息。

 

  1. 簡述在集中式共享存儲器體系結構中兩種維護Cache一致性的兩種協議。

答:

寫作廢協議:在一個處理器寫某個數據項之前保證它對該數據項有唯一的訪問權。

寫更新協議:當一個處理器寫某數據項時,通過廣播使其它Cache中所有對應的該數據項拷貝進行更新。

 

  1. 簡述寫作廢和寫更新協議性能上的差別。

答:

1)對同一數據的多個寫而中間無讀操作的情況,寫更新協議需進行多次寫廣播操作,而在寫作廢協議下只需一次作廢操作。

2)對同一塊中多個字進行寫,寫更新協議對每個字的寫均要進行一次廣播,而在寫作廢協議下僅在對本塊第一次寫時進行作廢操作。

3)從一個處理器寫到另一個處理器讀之間的延遲通常在寫更新模式中較低。而在寫作廢協議中,需要讀一個新的拷貝。

 

 

  1. 簡述在分佈式共享存儲器體系結構中目錄協議中目錄的含義。

 答:

一種專用的存儲器所記錄的數據結構,它記錄着可以進入Cache的每個數據塊的訪問狀態、該塊在各個處理器的共享狀態以及是否修改過等信息。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章