所屬科目:計算機結構
(一)說明它的意義。(5 分)
(二)它對於改善電腦效能有何幫助?(5 分)
(三)程式 X 在電腦 A 上執行需要 100 秒,其中乘法指令占了 40%,請問有沒有可能藉由改善乘法器的速度達到把程式 X 的執行速度加倍的 目的?若是可以,該把乘法器的速度加強到幾倍?若是不可以,那是 為什麼?(15 分)
二、我們要把以下的 C 程式片段編譯成 MIPS 組合語言程式。假設變數 g 是存在$s1 暫存器裡,陣列 B 的 base address 是存在$s2 暫存器裡。B[9] = g + B[8];以下是編譯後的 MIPS 組合語言程式。請推導出 L, X, Y, Z, M 這五個欄位裡的值。這些值是暫存器名稱(例如$s3)或(十進位)立即值。 (25 分)
(一)何謂快取記憶體(cache memory)?(5 分)
(二)何謂虛擬記憶體(virtual memory)?(5 分)
(三)以上兩者的工作原理有什麼相近之處?(5 分)
(四)有一個 direct mapped cache,它有 8 個 block,每個 block 存一筆 memory word。假設一開始該 cache 內容全部空白,請問依序存取八筆 memory word(address 依序為 0, 4, 8, 4, 8, 0, 3, 0)後,總共有幾次 cache miss? (10 分)
(一)如果電路中沒有 forwarding unit,請列出在第五個 clock cycle 結束時,在 MIPS 五級 pipeline stage(IF, ID, EXE, MEM, WB)中各有那個指令在執行?(若沒有指令在執行,那就列為 nop 指令) (12 分)
(二)當 forwarding unit 有作用時,請列出在第五個 clock cycle 結束時,在 MIPS 五級 pipeline stage(IF, ID, EXE, MEM, WB)中各有那個指令在執行?(若沒有指令在執行,那就列為 nop 指令) (13 分)