考點分析 / 中興 / 109

109 中興資工所硬體考點分析

唯一一份全申論的硬體卷。計組只佔 25 分(第 1–4 題),但要追蹤 MIPS 程式的記憶體內容、推導全加器的邏輯式。

題型與配分

科目名稱:資訊概論,學系「資訊科學與工程學系-甲組」,本科目不得使用計算機,全卷 5 頁、10 大題。

題號配分歸屬主題
16%硬體MIPS 記憶體定址的逐步追蹤
26%硬體指令格式與三種定址範圍
36%硬體三層記憶體的平均存取時間
47%硬體32-bit 加法溢位與全加器邏輯式
5–9約 50%軟體Java 輸出、遞迴、建堆、最短路徑、排序穩定性
10約 25%OS非搶占排程

109 年的資訊概論是唯一一份全申論的卷子(其餘年度都是選擇題為主),而且計算機組織只佔 25 分(第 1–4 題)——這是中興硬體八年裡計組比重最低的一年。

沒有任何倒扣標示(全申論卷)。

第 1 題:MIPS 記憶體定址的逐步追蹤(6%)

給一段 MIPS 程式與初始記憶體內容,$t1 = 3000、$t2 = 3004:

lw   $s1, 0($t1)
sub  $s2, $s2, $s2
add  $s2, $s2, 100
lw   $s1, 0($s1)
add  $s1, $s1, $s2
lw   $s3, 0($t2)
add  $s3, $s3, $s2
sw   $s3, 4($s1)
sw   $s1, 0($s1)

要逐條寫出每道指令做了什麼,並追蹤暫存器與記憶體的變化。

  • sub $s2,$s2,$s2 是一個常見的慣用法,要看出它的效果
  • 第四行 lw $s1,0($s1) 用的位址是前面剛載入的值——這是整題的關鍵,要看清楚 $s1 在這一行前後代表的是什麼
  • 最後兩道 sw 的目的位址都來自 $s1,要用更新之後的值
  • 另外,第三行寫的是 add 搭配立即數,嚴格來說不符合 MIPS 的指令格式,作答時可以註明

這題考的是「暫存器內容隨指令改變」的追蹤能力,特別是「用載入的值當位址」的二次間接。

第 2 題:指令格式與定址範圍(6%)

給 MIPS 的三種指令格式表(R-format、I-format、J-format 的欄位寬度)。

  • (a)|決定三種定址的最大範圍:(i) 立即數(immediate)、(ii) 位移(displacement)、(iii) PC 相對分支。要從格式表上找出各自用的欄位寬度,並注意有號或無號,以及 PC 相對分支的單位是位元組還是字
  • (b)|判斷三道指令的型別:sub $s2,$s2,$s2、lw $s1,100($s1)、beq $s0,$1,Exit。beq 的格式最常被歸錯

第 3 題:三層記憶體的平均存取時間(6%)

快取存取 10 ns;資料在主記憶體但不在快取時,要 30 ns 載入快取,然後重新發起參考;資料不在主記憶體時,要 12 ms 從磁碟取回,再 30 ns 複製到快取,然後重新發起參考。

  • (a)(3%)|快取命中率 0.9、主記憶體命中率 0.6 時的平均存取時間(ns)。三個陷阱:
  • 「重新發起參考」代表每一種失誤情況最後都還要再付一次快取存取的時間
  • 主記憶體命中率 0.6 是「快取失誤之後」的條件機率,要乘上快取失誤率才是整體比例
  • ms 與 ns 差了六個數量級,單位沒統一答案會完全離譜
  • (b)(3%)|OS 如何在等待 12 ms 的磁碟載入期間改善 CPU 使用率?說明這個機制怎麼運作。要講到程序狀態的轉換、排程器的動作,以及磁碟傳輸完成時如何通知 OS

第 4 題:加法溢位與全加器(7%)

  • (a)|$s1 = 0100 0000 ... 0000、$s2 = 0111 1111 ... 1111,分別執行 addu $s3, $s1, $s2 與 add $s4, $s1, $s2,問結果。考 add 與 addu 的差別——要先判斷兩個運算元當成有號數時是正是負、相加會不會溢位,再想清楚兩道指令在溢位時的行為有什麼不同
  • (b)|寫出 1-bit 全加器的 CarryOut 與 Sum 的邏輯函式。可以從真值表推,兩個輸出都有不只一種等價的寫法

這份考卷的難點

  1. 第 3(a) 題的數量級差異極大。 快取、主記憶體、磁碟的延遲差了六個數量級,平均時間會被哪一項主導要看得出來。單位換算錯一次答案就完全不對。
  2. 第 4(a) 題要分清 add 與 addu。 很多人以為 addu 的「u」代表計算方式不同,實際上兩者的差別在別的地方。
  3. 第 1 題的二次間接。 先用 $s1 當位址載入一個值,再把那個值當成新的位址,要逐條追蹤暫存器內容。
  4. 第 2(a) 題的 PC 相對範圍。 位移欄位的單位是什麼,決定了實際的位元組範圍要不要再乘一個係數。

準備建議

  • 109 年是中興硬體唯一的全申論卷,而且計組只佔 25 分。但這 25 分全部是基本功:指令格式、定址範圍、記憶體階層、加法器邏輯
  • add 與 addu 的差別(第 4 題)是 MIPS 最常被誤解的一組指令,要能說清楚兩者計算結果與例外行為各自是否相同
  • 三種定址範圍(第 2 題)要能從格式表自己推出來,不要只背數字
  • 全加器的兩個邏輯式(第 4b 題)要能從真值表推導
  • 含磁碟的多層平均存取時間(第 3 題):先把每一種情況的「總延遲」算清楚(含重新參考的時間),再用機率加權
  • MIPS 程式的逐條追蹤(第 1 題)建議用表格記錄每道指令後各暫存器的值

想看完整逐題詳解?

國立中興大學 108–115 全年度完整詳解共 141 頁,逐題推導。

購買 · NT$ 850 先看試閱

其他年度與考科