lawpalyer logo

專利師 111 年計算機結構考古題

民國 111 年(2022)專利師「計算機結構」考試題目,共 5 題 | 資料來源:考選部

0 題選擇題 + 5 題申論題

假設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 分)
請定義位元組(byte)及字組(word),並說明定義的理由,請務必涵蓋 是否分別等於多少個位元(bit),以及是否與處理器的硬體組成有什麼關 係。如果在暫存器之間傳送一個位元組需要T 秒,則傳送一個字組、兩 個字組及四個字組分別需要多少時間?(20 分)
有一處理器的時脈週期時間(clock cycle time)為2 奈秒(ns),錯失懲 罰(miss penalty)為20 個時脈週期,每一個指令的錯失率(miss rate) 為0.04,快取記憶體(cache)存取時間(包含偵測是否命中)為1 個時 脈週期。假設讀與寫的錯失懲罰相同,並且忽略寫入停頓(stall),則平 均記憶體存取時間(average memory access time)為多少奈秒?請詳細說 明計算過程,否則不予計分。(20 分)
假設在執行程式時,CPI(clock cycles per instruction)從1.5 變成2,時 脈速率(clock rate)從900 MHz 變成800 MHz,則執行時間會變成原來 的幾倍?請詳細說明計算過程,否則不予計分。(20 分) 71260
下列組合語言程式 lw $t1, 0($s3) add $t0, $t1, $s2 將記憶體裡面的資料載入暫存器$t1,然後使用該暫存器的內容於接下 來的加法運算。這樣的程式在管線化(pipelining)時,為什麼會有或沒 有危障(hazard)?如果有,是那一種危障?是否可以利用硬體加速?如 果可以,請說明其方法。加速後能不能完全沒有停頓(pipeline stall)? (20 分)