
代號:
頁次:
-
二、有一個 32 位元的 CPU 執行有號數(Signed Number)的加法運算或是減
法運算,運算結果有可能發生滿溢(Overflow)的情況,請回答下列問題:
請說明加法運算與減法運算會發生滿溢的情形為何?(15 分)
請設計一個電路(或演算法)來檢查運算結果是否發生滿溢?(10 分)
三、假設有一個程式在某單一處理器(CPU)上執行的指令中有 2.5 ×109行
(道)算術類指令,1.2 × 109行(道)load/store 類指令,2.0 × 108行(道)
分支(Branch)類指令,此處理器對算術類指令的 CPI(Clock Cycles Per
Instruction)為 1,load/store 類指令的 CPI 為10,分支類指令的 CPI 為
5,且處理器的時脈頻率是 2 GHz,請回答下列問題:
請問此程式的執行時間和平均 CPI 是多少(若有小數計算到小數點二
位)?(10 分)
如果程式平行化後分別在 4個和 8個處理器核心上執行,每個處理器
的時脈頻率依舊是 2 GHz,每個處理器上執行分支類指令數維持不變,
但於 4個核心上執行算術類指令數以及 load/store 類指令數為原該指
令數除以 2.8,於 8個核心上執行算術類指令數以及 load/store 類指令
數為原該指令數除以 5.6,請問平行化後對於單處理器執行結果分別
提升多少(若有小數計算到小數點二位)?(15 分)
四、虛擬記憶體(Virtual Memory)的功能可以使多個程式間有效及安全地分
享主記憶體,同時虛擬記憶體也必須和快取記憶體(Cache Memory)系
統階層式的共同工作,所以除非資料已經存在於主記憶體中,否則不能
存在於快取記憶體中。設計上虛擬記憶體會使用頁(Page)表和轉譯側
查緩衝器(Translation-Lookaside Buffer, TLB)對應到主記憶體,請回答
下列問題:
記憶體階層存取效能(Performance)兩個常用的衡量指標命中(Hit)
和錯失(Miss),請說明何謂命中?何謂錯失?以及如何影響記憶體效
能?(10 分)
在記憶體階層的整體運作上,主記憶體存取可能會遇到三種錯失:TLB
錯失、頁錯失和快取(Cache)錯失。設想這三種錯失,有一種或是多
種發生,可以組合成七種可能性。請對每一種可能性,說明是否真的
會發生且在什麼情況下會發生?(15 分)