專利師 111 年計算機結構考古題(共 5 題) 資料來源:考選部歷屆試題|法律人 LawPlayer 整理 https://lawplayer.com/exam/patent-attorney/111-%E8%A8%88%E7%AE%97%E6%A9%9F%E7%B5%90%E6%A7%8B 第 1 題 假設C 語言的指令 f = (g - h) - (i - j) 被編譯成組合語言的指令時,會將其中的變數f,g,h,i,j 分別存放在 暫存器$s0,$s1,$s2,$s3,$s4。已知組合語言指令 sub $t0, $s1, $s2 將$s1 的內容減$s2 的內容以後儲存在暫存器$t0。 則上述的C 語言指令會被編譯成怎樣的組合程式片段?(20 分) 第 2 題 請定義位元組(byte)及字組(word),並說明定義的理由,請務必涵蓋 是否分別等於多少個位元(bit),以及是否與處理器的硬體組成有什麼關 係。如果在暫存器之間傳送一個位元組需要T 秒,則傳送一個字組、兩 個字組及四個字組分別需要多少時間?(20 分) 第 3 題 有一處理器的時脈週期時間(clock cycle time)為2 奈秒(ns),錯失懲 罰(miss penalty)為20 個時脈週期,每一個指令的錯失率(miss rate) 為0.04,快取記憶體(cache)存取時間(包含偵測是否命中)為1 個時 脈週期。假設讀與寫的錯失懲罰相同,並且忽略寫入停頓(stall),則平 均記憶體存取時間(average memory access time)為多少奈秒?請詳細說 明計算過程,否則不予計分。(20 分) 第 4 題 假設在執行程式時,CPI(clock cycles per instruction)從1.5 變成2,時 脈速率(clock rate)從900 MHz 變成800 MHz,則執行時間會變成原來 的幾倍?請詳細說明計算過程,否則不予計分。(20 分) 第 5 題 下列組合語言程式 lw $t1, 0($s3) add $t0, $t1, $s2 將記憶體裡面的資料載入暫存器$t1,然後使用該暫存器的內容於接下 來的加法運算。這樣的程式在管線化(pipelining)時,為什麼會有或沒 有危障(hazard)?如果有,是那一種危障?是否可以利用硬體加速?如 果可以,請說明其方法。加速後能不能完全沒有停頓(pipeline stall)? (20 分) 題庫收錄歷年原題;涉修法條文之題目,請以現行法為準。