1. 程式人生 > >頁式地址變換-虛地址結構(整理)

頁式地址變換-虛地址結構(整理)

虛地址結構(程式字)
    虛地址是使用者程式中的邏輯地址,它包括頁號和頁內地址(頁內位移)。
     區分頁號和頁內地址的依椐是頁的大小,頁內地址佔虛地址的低位部分,頁號佔虛地址的高位部分。

有關頁式地址對映的計算

1. 虛地址(邏輯地址、程式地址)以十六進位制、八進位制、二進位制的形式給出
(1)將虛地址轉換成二進位制的數;
(2)按頁的大小分離出頁號和位移量(低位部分是位移量,高位部分是頁號);
(3)根據題意產生頁表;
(4)將位移量直接複製到記憶體地址暫存器的低位部分;
(5)以頁號查頁表,得到對應頁裝入記憶體的塊號,並將塊號轉換成二進位制數填入地址暫存器的高位部分,從而形成記憶體地址。

2.虛地址以十進位制數給出
  (1)頁號=虛地址%頁大小
  (2)位移量=虛地址 mod 頁大小
(3)根據題意產生頁表;
(4)以頁號查頁表,得到對應頁裝入記憶體的塊號
(5)記憶體地址=塊號×頁大小+位移量

圖一示例


圖1.作業1有350行,分為4頁,每一頁100行

例題

例1:有一系統採用頁式儲存管理,有一作業大小是8KB,頁大小為2KB,依次裝入記憶體的第7、9、A、5塊,試將虛地址0AFEH轉換成記憶體地址。

虛地址0AFEH    0000 1010 1111 1110
                     P=1    W=010 1111 1110
                   MR=0100 1010 1111 1110=4AFEH            


例2:有一系統採用頁式儲存管理,有一作業大小是8KB,頁大小為2KB,依次裝入記憶體的第7、9、10、5塊,試將虛地址7145轉換成記憶體地址。

虛地址 3412      P=3412 % 2048 =1     W= 3412 mod 2048= 1364
MR=9*2048+1364=19796
虛地址3412的記憶體地址是:19796