摘要:微信搜索【三橋君】
本文只講邏輯地址轉換爲物理地址的計算方法
一、依據
(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
文章整理不易,有幫助請點贊關注支持,謝謝!微信搜索【三橋君 】,回覆【關注】有我準備的一份資源大禮包,後續持續更新。