淺析如何把邏輯地址轉換爲物理地址

摘要:微信搜索【三橋君
本文只講邏輯地址轉換爲物理地址的計算方法

一、依據

(1)計算十六進制使用公式

邏輯地址=頁號+頁內地址
物理地址=塊號+頁內地址

【解析】
邏輯地址轉換爲物理地址其實就是頁號轉換爲塊號。

他們之間的頁內地址是一樣的。

然後,我們要搞清楚頁號、塊號、頁內地址怎麼求的,然後通過公式帶進去就可以求出邏輯/物理地址。

頁內地址的表達方式是2進制的,所以不管給的邏輯地址、物理地址都先轉換爲2進制。具體頁內地址取幾位,通過題目給的去求,如“每頁爲1KB”。

(2)計算非十六進制使用公式

物理地址=塊號*頁內大小+頁內地址
頁號=邏輯地址/頁面大小字節=(取整數)
頁內地址=邏輯地址%頁面大小字節=(取餘數)

二、例題

1、十六進制

設某用戶的編程空間共32個頁面,每頁爲1KB,內存容量爲16KB。假定用戶程序的頁表如下所示。請計算邏輯地址0A5CH所對應的物理地址。(要寫出計算過程)
在這裏插入圖片描述
【分析】
邏輯地址爲0A5CH;
頁內地址的位數通過“每頁爲1KB”轉換成2的n次冪去求解,n次冪=位數。
頁號的位數通過邏輯地址的位數減去頁內地址的位數,即16-頁內地址的位數。

【解答】
因爲 邏輯地址爲0A5CH,
所以 邏輯地址轉換爲2進製爲 0000 1010 0101 1100;
因爲 1KB=2^10B,
所以 頁內地址的位數=10;
所以 頁內地址爲10 0101 1100;即頁號爲0000 10。
因爲 頁號轉換爲10進製爲2,
所以 對應的塊號爲4;
所以 塊號的2進製爲000100。
因此,物理地址= 000100 10 0101 1100,即0001 0010 0101 1100。
轉換爲16進製爲125CH。

【說明】
其實這題邏輯地址轉換爲物理地址的做法就是:
把邏輯地址的頁號部分:0000 1010 0101 1100
轉換成對應物理地址的塊號:0001 0010 0101 1100
這樣就完成了轉換。

2、非十六進制

在採用分頁存儲管理的系統中,某作業J的邏輯地址空間爲4頁(每頁2KB),且已知該作業的頁面映像表(即頁表)如下:試藉助地址變換圖求出有效邏輯地址4865所對應的物理地址。(要寫出計算過程)

在這裏插入圖片描述
【分析】
頁號=邏輯地址/頁面大小字節=(取整數)
頁內地址=邏輯地址%頁面大小字節=(取餘數)

【解答】
頁號P=4865/2K=4865/2048(轉爲10進制)=2,
頁內地址W=4865 % 2048=769;
則通過查找頁表,可知第2頁放於第6塊中,
因此邏輯地址4865所對應的物理地址爲:
6*2048+769=13057


文章整理不易,有幫助請點贊關注支持,謝謝!微信搜索【三橋君 】,回覆【關注】有我準備的一份資源大禮包,後續持續更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章