作業系統與硬體

在TLB的每個項目加上ASID(位址空間識別碼)的優點,下列何者正確?

  1. A切換時不必清空整個TLB,就能區分各自的轉換
  2. B能使單一行程可用的虛擬位址範圍加倍
  3. C不再需要頁表,所有轉換都只靠TLB完成
查看答案與解析

正確答案:A. 切換時不必清空整個TLB,就能區分各自的轉換

若沒有ASID,同一個虛擬位址在不同行程會指向不同的實體位址,因此每次切換行程都必須清空TLB,切換後TLB未命中會持續發生。若在每個項目加上ASID,就能區分是哪個行程的轉換,TLB便可保留不清除,回到原本的行程時也能重複使用。虛擬位址的範圍不會改變,而且對於放不進TLB的轉換,仍然需要頁表。

  • A. 正確。能區分各行程的轉換,切換時不必清空TLB。
  • B. 虛擬位址的範圍不會改變。
  • C. TLB只能容納一部分轉換,仍需要頁表。
練習這個領域 前往領域頁面

作業系統與硬體的其他題目

  1. 作業系統即使面對不主動釋出CPU的程式,仍能每隔一段時間取回CPU並切換到其他行程,主要是靠什麼機制?
  2. 如上方所示,以記憶體映射I/O(memory-mapped I/O)讀取裝置的狀態暫存器時,加上volatile並將該區域設為不快取,其理由為下列何者?
  3. CPU不使用中斷而是反覆檢查裝置狀態的方式(輪詢,polling),在下列哪種情況較有利?
  4. 在硬體不維持快取一致性(非一致性,non-coherent)的系統中,於CPU讀取裝置以DMA寫入主記憶體的資料之前,軟體必須進行下列何種處理?
  5. 關於IOMMU的主要作用,下列何者正確?

這個領域的比較