工業核電子儀器

[拼音]:xuni cunchuqi

[英文]:virtual memory

計算機系統中的主儲存器(主存)-輔助儲存器(輔存)層次。它把輔存當作主存的擴充,對使用者來說,好像系統具有一個容量很大的主存,工作速度接近於主存,每位成本又與輔存相近。

工作原理

虛擬儲存器是由硬體和作業系統自動實現儲存資訊排程和管理的。它的工作過程包括 6個步驟(見圖)。

(1)中央處理器訪問主存的邏輯地址分解成組號 ɑ和組內地址b,並對組號ɑ進行地址變換,即將邏輯組號ɑ作為索引,查地址變換表,以確定該組資訊是否存放在主存內。

(2)如該組號已在主存內,則轉而執行④。如果該組號不在主存內,則檢查主存中是否有空閒區。如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組資訊調入主存。

(3)從輔存讀出所要的組,並送到主存空閒區。然後將那個空閒的物理組號ɑ′和邏輯組號ɑ登入在地址變換表中。

(4)從地址變換表讀出與邏輯組號ɑ對應的物理組號ɑ′。

(5)從物理組號ɑ′和組內位元組地址b得到實體地址。

(6)根據實體地址從主存中存取必要的資訊。

排程方式

分頁式、段式、段頁式三種。頁式排程是將邏輯和實體地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程式空間有自己的頁號順序,通過排程輔存中程式的各頁可以離散裝入主存中不同的頁面位置,並可據表一一對應檢索。頁式排程的優點是頁內零頭小,頁表對程式設計師來說是透明的,地址變換快,調入操作簡單。缺點是各頁不是程式的獨立模組,不便於實現程式和資料的保護。段式排程是按程式的邏輯結構劃分地址空間,段的長度是隨意的,並且允許伸長。它的優點是消除了記憶體零頭,易於實現儲存保護,便於程式動態裝配。缺點是調入操作複雜。將這兩種方法結合起來便構成段頁式排程。在段頁式排程中把物理空間分成頁,程式按模組分段,每個段再分成與物理空間頁同樣大小的頁面。段頁式排程綜合了段式和頁式的優點。其缺點是增加了硬體成本,軟體也較複雜。大型通用計算機系統多數採用段頁式排程。

地址變換

虛擬儲存器地址變換基本上有三種形式:全聯想變換,直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。每個邏輯空間頁面只能變換到物理空間一個特定頁面的方式稱為直接變換。組聯想變換是指各組之間是直接變換,而組內各頁間則是全聯想變換。

替換規則

替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。常見的替換演算法有4種。

(1)隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。

(2)先進先出:先調入主存的頁面先替換。

(3)近期最少使用演算法:替換最長時間不用的頁面。

(4)最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標準。

虛擬儲存器的效率是系統性能評價的重要內容,它與主存容量、頁面大小、命中率、程式區域性性和替換演算法等因素有關。