113 交大資工所考古題詳解|硬體考點分析
前兩題考 x86 privileged instruction 與 position-independent code。題組共 10 小題,各小題為單選,組內全對才給分。
最後更新:2026-10-22
題型與配分
全卷 13 頁、30 題、100 分,不可使用計算機,請用答案卡作答。
| 區段 | 題號 | 配分 | 計分 |
|---|---|---|---|
| 一、複選題 | 1–20 | 80%(每題 4 分) | 答對一個選項 +1、答錯一個選項 −1,最多扣至本科目計算機系統 0 分為止;整題未作答不給分 |
| 二、題組 | 21–30 | 20%(四個題組各 5 分) | 各題組下的小題為單選,組內全對才得 5 分 |
題組共 10 小題(A、B 各兩小題,C、D 各三小題),111 年為 15 小題。
OS 出現在第 1–10 題與題組 A、B,計組出現在第 11–20 題與題組 C、D。
複選題(1–20,80 分)
作業系統(1–10)
- 第 1 題(4%)|哪些 x86 指令不能在 Ring 3 執行:選項是
MOV CR0, EAX、HLT、LGDT、LIDT - 第 2 題(4%)|哪些 x86 指令是位置無關的:選項是
MOV EAX,1、XOR EBX,EBX、INT 0x80、ADD EAX,1 - 第 3 題(4%)|
aligned_alloc與mprotect的行為:程式配置一頁、設成 RWX、寫入字串、再呼叫mprotect改權限、然後printf印出。四個選項問程式會不會正常印出、buffer 與區域變數各配置在哪一塊記憶體區、aligned_alloc回傳值的對齊性質 - 第 4 題(4%)|EDF scheduling 的定義:依什麼決定 priority、是不是 preemptive
- 第 5 題(4%)|x86-64 Linux 的 syscall 慣例:四個選項問
write的各個引數該放進哪個 register、實際寫入的位元組數會不會少於要求、syscall 能不能呼叫 kernel 中的任何函式 - 第 6 題(4%)|process:四個選項涵蓋
fork()產生的新 process 與原 process 的關係、同 process 的 thread 共享哪些段、標準 C 函式庫能不能繞過 OS 讀寫檔案、context switch 時脈絡存到哪裡 - 第 7 題(4%)|I/O 系統:四個選項涵蓋 wear leveling 由 SSD 控制器還是 OS 負責、CPU 收到 interrupt 請求後的動作、哪些裝置會產生 interrupt、Linux 的 swap space 現在服務哪一類記憶體頁
- 第 8 題(4%)|記憶體管理:四個選項涵蓋產生 page fault 的是哪一個硬體單元、paging 系統把頁面載入哪一個 frame、slab allocator 服務的對象、多個 process 能不能共用一張 page table
- 第 9 題(4%)|virtual memory:四個選項涵蓋使用者模式的程式能不能自行選擇用 physical address、page fault 的處理流程、copy-on-write 的共享範圍與觸發時機、TLB miss 時的 page table traversal 需不需要 OS 介入
- 第 10 題(4%)|file system:四個選項涵蓋 FCB 與 inode 裡存了什麼、UNIX 靠不靠副檔名決定開啟方式、多個 process 映射同一檔案時的可見性、每個 partition 是不是必須含 file system
計算機結構(11–20)
- 第 11 題(4%)|MIPS 的 addressing mode:四個選項涵蓋哪幾種 addressing mode 用 I-type、MIPS 總共有幾種 addressing mode、pseudo-direct addressing 的 immediate 以什麼為單位、32 位元常數能不能用一道指令載入
- 第 12 題(4%)|有 bug 的 pipeline 處理器:圖上的五級 pipeline 沒有 forwarding,在 decode 級偵測 data hazard 後會 stall。程式為
add $4,$1,$2→or $0,$1,$1→addi $2,$2,3→add $3,$4,$3→add $1,$4,$0。要判斷第四道指令 writeback 完成後各 register 的值 - 第 13 題(4%)|分支與預測:四個選項涵蓋 load 後緊接一個依賴它的條件分支、而分支又提前到 decode 級判斷時要停幾拍、分支目標位址的計算式、BTB 的實作形式、同時使用局部與全域歷史的 predictor 叫什麼
- 第 14 題(4%)|兩個 microarchitecture 的 CPI 與執行時間:P1 clock 1 ns、四類 CPI 為 1/1/4/3;P2 clock 0.8 ns、四類全是 2,指令組合 30%/25%/20%/25%。其餘選項問兩者跑相同 clock 時 CPI 會不會變、只改善單一類指令能不能追上
- 第 15 題(4%)|MIPS ISA 設計:四個選項涵蓋是不是所有 I-type 都對 immediate 做 sign extension、
j是相對跳躍還是絕對跳躍、分支用 I-type 體現了哪一條設計原則、加入更多 R-type 指令後程式大小的變化 - 第 16 題(4%)|AI 加速器與 GPU:四個選項涵蓋 AI 加速器的設計挑戰在哪、邊緣推論與資訊安全的關係、高效能設計下功耗最佳化還重不重要、GPU 受不受功耗限制
- 第 17 題(4%)|效能與指令數:四個選項涵蓋演算法複雜度與指令數的關係、同一演算法用不同語言寫的指令數差異、MIPS 這個指標為何不公平、倉儲級資料中心的實際伺服器使用率(115 年第 11 題又考一次)
- 第 18 題(4%)|multiplier 與 carry lookahead adder:卷上給 3-bit×3-bit multiplier、32-bit multiplier 與 16-bit 兩層 CLA 三張圖。要判斷前兩張圖的接線是否正確、多層 CLA 緩解了什麼問題、各訊號線轉為正確值的時序先後關係
- 第 19 題(4%)|乘除法硬體與 floating point:四個選項涵蓋乘除法共用硬體的位移方向與 control unit 該看哪一個位元、floating point 加法對齊小數點時該移動哪一個運算元、加法對整數與 floating point 是否都滿足結合律、在指定的捨入模式與 guard、round、sticky 下算出 ulp
- 第 20 題(4%)|(7,4) Hamming code:位元索引 1–7,同位位元在第 1、2、4 位。要判斷三個收到的字是否正確、錯在哪一位,並回答加上整體同位 p4 之後漢明距離變成多少、「p4 偶同位成立但 syndrome 非零」代表哪一種錯誤。與 109 年題組 D 同一個考點
題組(21–30,20 分)
- 題組 A(21–22,5%)|buffer overflow:
char buffer[50]配strcpy(buffer, argv[1]) - 第 21 題|哪種
argv[1]會破壞 stack - 第 22 題|stack 被破壞時最不可能受影響的是什麼
- 題組 B(23–24,5%)|行主序 array 的 traversal order 與 page fault:頁面 512 bytes、int 2 bytes。256×256 array、只給 128 個 frame、LRU
- 第 23 題|Program 1(外層 y、內層 x)的 page fault 數
- 第 24 題|兩支程式的 page fault 數比較
- 題組 C(25–27,5%)|無 forwarding、無 branch prediction 的五級 pipeline stall 數:register 在 decode 後半週期讀、writeback 前半週期寫,分支在 EX 級決定且分支後的取指會停到決定為止。程式是一個跑兩次的迴圈
- 第 25 題|整個程式總共插入幾個 stall 週期
- 第 26 題|其中幾個是 control hazard 造成的
- 第 27 題|只加上「EX/MEM → ALU 輸入」這一條 forwarding 路徑能消除幾個 stall
- 題組 D(28–30,5%)|16-bit 電腦的兩層 cache 與 virtual memory:main memory 216 bytes、primary cache 28 bytes direct-mapped、每 block 16 words、virtual address 16-bit、頁面 0.5 KB = 512 bytes
- 第 28 題|哪個組態敘述正確,涉及 page offset 與 virtual page number 各佔幾位元、cache 的 index 位元數、VIPT 是否可行
- 第 29 題|virtually addressed cache 的五次存取(
0x8A78、0x8A64、0x8876、0x8FF8、0x8DE7)哪些 hit、哪些替換了誰 - 第 30 題|有無 L2 時的有效 CPI:base CPI 1、5 GHz、lw/sw 佔 25%、primary cache 每 lw/sw miss rate 2%、L2 存取 6 ns、global miss rate 0.2%、miss penalty 240 ns
作答時要注意的地方
- 複選題答錯 −1,下限是整科 0 分,一題可以扣成負分。
- 題組各小題為單選,組內全對才給 5 分。
- 第 12 題題目說明這是有 bug 的設計,要追蹤的是 writeback 完成後的 register 值。
- 題組 D 第 30 題給的是 global miss rate 0.2%。
準備方向
- 行主序與 page fault 的對照(113 題組 B)。
- 無 forwarding 的 stall 數計算(113 題組 C)。
- x86 的 privileged instruction 與 Ring 等級(113 第 1、2 題)。
- x86-64 的 syscall 慣例(113 第 5 題)。
- Hamming code:113 第 20 題與 109 年題組 D 同一個考點。
- MIPS 的 addressing mode(113 第 11 題)。
其他年度與考科
同一年的其他科
同一科的其他年度
同一年其他學校的硬體