所屬科目:計算機結構
一、在處理器的指令集中,每一個指令均有兩個成分:指令碼(operation code)與運算元 (operand)。與運算元關係密切的一個名詞為定址模式(addressing mode)。請說明 什麼是定址模式?通常一個微處理器中,都至少會具備那四個最基本的定址模式? 請列舉並說明之。
二、假設一個程式在一個 CPU 時脈頻率為 4 GHz 的計算機A中的執行時間為 12 秒。若希望設計一個計算機 B,可以在 8 秒內完成此程式的執行。執行計算機 B 的設計工程師了解增加 CPU 的時脈頻率是一個可行的方案,然而如此一來會影響到計算機 B 中 CPU 的其餘部分的設計,導致執行上述程式時,需要 1.2 倍的時脈數目。請問計算機 B 中 CPU 的時脈頻率為多少?
三、執行某一個程式時,指令快取記憶器的失誤率(miss rate)為 2%,資料快取記憶器 的失誤率為 5%。若一個處理器在沒有記憶器停滯(memory stall)的情況下,其 CPI 為 1.5,而所有快取記憶器的失誤代價(miss penalty)都為 120 個時脈。若所有對記 憶器的載入與儲存動作在執行該程式時為 30%。計算在一個完全沒有失誤的完美快 取記憶器下,該程式的執行速度可以較實際有失誤的快取記憶器快多少倍?
四、設計一個簡單的資料處理單元(或稱為資料路徑)並繪出其邏輯方塊圖,執行下列兩個 RTL 指述:
其中x 與y 分別為兩條控制信號。另外與資料處理單元相關的四個旗號為N(negative)、 Z(zero)、V(overflow)、C(carry),請說明其意義,並繪出相關的邏輯電路。
⑴若分歧位址(branch address)在指令執行級中計算時,分歧代價(即時脈週期損失)為多少時脈週期?
⑵承⑴的條件,當採用延遲分歧(delayed branch)的方法時,分歧代價為多少時脈週期?
⑶若分歧位址(branch address)在指令解碼級中計算時,分歧代價為多少時脈週期?
⑷承⑶的條件,當採用延遲分歧(delayed branch)的方法時,分歧代價為多少時脈週期?