作業系統與硬體
行程的環境切換有時造成的效能下降,實際上比儲存與還原暫存器所花的時間更大,其主要理由為何?
- A因為每次切換,CPU的時脈頻率都會下降
- B因為每次切換,都要重新從磁碟讀取程式
- C因為切換之後,快取與TLB的未命中會增加
查看答案與解析
正確答案:C. 因為切換之後,快取與TLB的未命中會增加
儲存與還原暫存器本身只需很短的時間,但對切換後的行程而言,快取與TLB裡的內容是前一個行程的,在重新載入所需的資料與轉換結果之前,未命中會持續發生。在沒有ASID的CPU上,切換位址空間時還必須清空TLB。這種間接的成本,有時會比直接的切換時間更大。時脈並不會下降,也不會從磁碟重新讀取程式。
- A. 切換並不會使時脈頻率下降。
- B. 程式已在記憶體中,不會重新讀取。
- C. 正確。這是快取與TLB未命中增加所造成的間接成本。