110 台大資工所考古題詳解|硬體考點分析
答案要抄進卷首指定的表格,寫在表格外不計分。OS 段在前 5 題佔 50 分,計結段考 false sharing 與 RISC-V pipeline 的 forwarding 訊號。
最後更新:2026-10-22
題型與配分
全卷 100 分、6 頁、8 大題,試題隨卷繳回。
| 區段 | 題號 | 配分 | 主題 |
|---|---|---|---|
| 作業系統 | 1–5 | 50%(各 10 分) | OS 架構分層、process 記憶體佈局、scheduling、I/O 緩衝、signal |
| 計算機結構 | 6–8 | 50%(20+25+5) | cache coherence 與 false sharing、RISC-V pipeline、綜合判斷 |
作答規定:
- 只有答案卷「非選擇題作答區」的第一頁計分,其餘視為草稿。
- 必須把卷首的表格完整抄到第一頁,不在表格內的內容視為計算過程,不計分。
- 表格裡有多格標著「此處不作答」。
只填答案、不寫過程,與 106–109 年的「不寫過程只能拿部分分數」不同。第 8 題明訂全對才給分。
作業系統考點(1–5,50 分)
- 第 1 題(10%)|OS 架構分層:卷上給一張圖,四個虛線框 A(應用層)、B(系統服務層)、C(kernel 層)、D(硬體層)。要判斷 (a) 2%:MS-DOS(單體式)的記憶體管理服務在哪一層 (b) 3%:Linux(分層式)的標準 I/O 函式庫在哪一層 (c) 2%:container(virtualization)的 scheduling 服務在哪一層 (d) 3%:Mach/QNX(microkernel)的 device driver 在哪一層
- 第 2 題(10%)|process 的四種記憶體脈絡在圖上的位置:stack segment、text segment、未初始化資料段(BSS)、free space。圖上從
0xFFFFFFFF的環境變數與引數往下排 - 第 3 題(10%)|五個 process、五種 scheduling 演算法,全部問 PID 5 的完成時間。給 PID、priority、到達時間、CPU burst、I/O burst(I/O 發生在不同裝置上,且總是在第一個時間單位之後才開始)。(a) 2%:RR,quantum 3 (b) 2%:non-preemptive priority(數字越小 priority 越高) (c) 2%:preemptive SJF (d) 2%:preemptive LJF,且 PID 5 改成在 time 16 到達 (e) 2%:preemptive LJF,且 PID 5 的 CPU burst 改成 8
- 第 4 題(10%)|I/O 緩衝模型的效能比較:基準線是「無緩衝 I/O、4 KB 緩衝區、不做磁碟同步、用
write()」。五個小問各用 (A) 較小、(B) 較大、(C) 相近回答:(a) 無緩衝加 4 KB 加fsync()的 clock time (b) 無緩衝加 8 KB 加fsync()的 User CPU time (c) 緩衝 I/O、行緩衝、puts()的 System CPU time (d) 緩衝 I/O、全緩衝、puts()的 User CPU time (e) 緩衝 I/O、全緩衝、puts()+fflush()+fsync()的 System CPU time - 第 5 題(10%)|看 signal handling 程式碼回答五個小問(用
sigaction、sigprocmask、sigsuspend),各 2%:(a) process 第一次啟動後會停在哪一行 (b) 停住時收到 SIGUSR2 會怎樣 (c) SIGUSR2 被捕捉時的 signal mask 是什麼 (d) SIGINT 被送出並捕捉後從哪一行恢復 (e) 把三個sigaction()換成signal()之後,由 SIGINT 恢復後的遮罩是什麼
計算機結構考點(6–8,50 分)
- 第 6 題(20%)|SMP 的 write-invalidate snooping cache coherence 與 false sharing:每個處理器有 4 KiB direct-mapped、physically addressed、16 bytes/line 的 L1。三個整數 array A、B、C 連續擺放,A 起始於
0x0000A000。P0 與 P1 各跑for (i=4*Pn; i<4*(Pn+1); i++) C[i]=A[i]+B[i];。(a) 5%:tag array 的總位元數 (b) 5%:提高 associativity 能不能減少這段程式的 miss (c) 5%:最壞情況會有幾次 coherence miss(c1)、其中幾次是 false sharing(c2) (d) 5%:改成 32 bytes/line(cache 仍 4 KiB)之後的 coherence miss 數(d1)與 false sharing 數(d2) - 第 7 題(25%)|RISC-V 五級 pipeline,卷上給電路圖與各邏輯區塊的延遲(I-Mem 280 ps、Register File 180 ps、ALU 200 ps、Control Unit 50 ps…)與 R-type 指令格式,程式碼為
lw x10,100(x5)、add x2,x10,x2、add x2,x2,x4、sub x6,x2,x6。(a) 10%:哪一級決定 clock cycle (b) 5%:第一道lw在 MEM 級時,ID 級(b1)與 EX 級(b2)分別是哪一道指令(填指令編號) (c) 5%:sub(#4)在 EX 級時,ForwardA(c1)與 ForwardB(c2)該設什麼值 (d) 5%:sub的四條 control signal RegWrite、MemtoReg、MemRead、MemWrite 各是多少 - 第 8 題(5%,全對才給分)|四個敘述哪些正確:(1) MIPS 值較高的處理器效能是不是一定較好 (2) LRU 是不是已被證明為 optimal replacement policy (3) 向量指令對哪一類應用有益 (4) SMT 如何提高 CPU 使用率
作答時要注意的地方
- 答案要抄到指定表格,寫在表格外或第二頁一律不計分,表格裡有標「此處不作答」的格子。
- 第 6(c)、(d) 兩小題用了不同的 cache line 大小。
- 第 3 題要畫五張不同參數的 Gantt chart,每個 process 都有 I/O burst。
- 第 5(e) 題問
signal()與sigaction()的差別。 - 第 8 題全對才給分。
準備方向
- 進場先讀作答規定。106–109 不寫過程扣分,110 年只有表格內的答案計分。
- false sharing 是台大常考的 coherence 主題,110 第 6 題與 111 第 19 題都考。
- process 記憶體佈局(第 2 題)也常出現在其他學校。
- Stevens《APUE》的兩個經典實驗:I/O 緩衝對 user 與 system CPU time 的影響(第 4 題)、sigsuspend 與 signal mask(第 5 題)。
- 第 8 題的 MIPS 指標與 optimal replacement algorithm,是課本正文的內容。
其他年度與考科
同一年的其他科
同一科的其他年度
同一年其他學校的硬體