導航:首頁 > 物理學科 > 段頁式怎麼算物理地址

段頁式怎麼算物理地址

發布時間:2023-07-09 15:14:09

『壹』 頁儲存管理中,已知一個邏輯地址長度為16位,頁面大小為4096B,地址為2F6AH,怎麼知道這個地址的頁號啊

例3 若在一分頁存儲管理系統中,某作業的頁表如下所示。已知頁面大小為1024位元組,試將邏輯地址1011,2148,4000,5012轉化為相應的物理地址。

頁號
物理塊號

0
2

1
3

2
1

3
6

【分析】 頁式存儲管理的地址結構是一維的,即邏輯地址(或物理地址)只用一個數值即可表示。若給定邏輯地址A,頁面的大小為L,則頁號p和頁內地址d可按照下式求得:

p=int [A/L] d=A mod L

其中,int是取整函數(取數值的整數部分),mod是取余函數(取數值的余數部分)。

下圖顯示了頁式管理系統的地址轉換機構。

頁表的作用是實現從頁號到物理塊號的地址映射。以邏輯地址的頁號檢索頁表,得到該頁的物理塊號;同時將頁內地址d直接送入物理地址寄存器的塊內地址欄位中。這樣物理塊號和塊內地址拼接成了實際訪問內存的地址,從而完成了從邏輯地址到物理地址的轉換。

所以物理地址的計算公式為:

物理地址=塊的大小(即頁的大小L)*塊號f+頁內地址d

解 本題中,為了描述方便,設頁號為p,頁內位移為d,則:

(1)對於邏輯地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查頁表第0頁在第2塊,所以物理地址為1024*2+1011=3059。

(2)對於邏輯地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查頁表第2頁在第1塊,所以物理地址為1024+100=1124。

(3)對於邏輯地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查頁表第3頁在第6塊,所以物理地址為1024*6+928=7072。

(4)對於邏輯地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因頁號超過頁表長度,該邏輯地址非法。

『貳』 操作系統中怎樣把邏輯地址轉換成物理地址

(1F7B)16=(8059)10=4096*1+3963,即邏輯地址1頁中第3963位置
因此應該在物理塊10中的第3963位置,因此物理地址為:
10*4096+3963=(44923)10=AF7B

『叄』 求教段頁式地址映射過程

假設段頁式系統有關數據結構如下,
(1)求虛地址69732的物段畝理地址(用十進製表示)
(2)該邏輯地址空間多大?
(3)每段的最大尺寸為多少?

數據結構(由於畫出圖形不方便,故用文字表示):
邏輯地址結構(s,p,w) 其中s為8位,沒燃枝p為4位,w為12位

段表:枯敏0——頁表0
1——頁表1
2——頁表2

頁表0:0——0
1——2
2——3

頁表1:0——5
1——8
2——9

頁表2:0——7
1——4
2——A

『肆』 物理地址有什麼用

有網友反饋說:我在閱讀一些電腦知識的讀本時,常常看到“物理地址”這個名詞,說實話,我只知道IP地址,從未聽說過物理地址。這個物理地址也象IP地址一樣重要嗎?相信很多用戶與這位網友是一樣不知道物理地址有什麼用的,針對這個情況,我特意分享了物理地址的一些知識,希望可以幫助到大家。

物理地址

在存儲器里以位元組為單位存儲信息,為正確地存放或取得信息,每一個位元組單元給以一個唯一的存儲器地址,稱為物理地址(Physical Address),又叫實際地址或絕對地址。

在x86 CPU中,採用了段頁式內存管理機制,分段和分頁模型。

分頁(Paging)機制

邏輯地址由頁號和偏移量組成。

分段(Segment)機制

分段允許程序員把存儲器看成由多個地址空間或段組成。程序和相關的數據被劃分成一組段(segment),不要求所有程序的所有段都有相同長度。

和分頁一樣,分段情況下的邏輯地址由兩部分組成:段號和偏移量。

分段的優點:

簡化不斷增長的數據結構處理。

允許程序獨立地改變或重新編譯,而不要求整個程序集合重新鏈接和重新載入。

有助於進程間的共享。

有助於保護。由於一個段可以被構造成包含一個明確定義的程序或數據集,程序員或系統管理員可以以一種方便的形式指定訪問許可權。

虛擬內存

內存的基本思想是程序、數據、堆棧的總大小可以超過可用物理內存的大小, 操作系統 把程序當前使用的那些部分保留在內存中,而其他部分保存在磁碟上。

虛擬內存的實現基於分頁技術。

虛擬內存的優點:

在內存中可以同時運行多個進程

進程可以比內存全部空間還大,不再局限於物理內存大小

內存更高效地被使用

2 邏輯地址到線性地址的映射過程

X86 CPU邏輯地址到線性地址映射過程如下圖:

邏輯地址到線性地址映射過程如下:

(1)根據指令的性質來確定應該使用哪一個段寄存器(Segment Selector),例如轉移指令中的地址在代碼段,而取數據指令中的地址在數據段;

(2)根據段存器的內容,找到相應的“地址段描述結構“(Segment Descriptor),段描述結構都放在一個表(Descriptor Table)中(GDT或LDT、TR、IDT),而表的起始地址保存在GDTR、LDTR、IDTR、TR寄存器中。這就是4個內存管理寄存器GDTR、LDTR、IDTR和TR的用途;

(3)從地址段描述結構中找到基地址(Base Address);

(4)將指令發出的地址作為位移(Effective Address),與段描述結構中規定的段長度相比,看看是否越界;

(5)根據指令的性質和段描述符中的訪問許可權來確定是否越權;

(6)將指令中發出的地址作為位移,與基地址相加而得出線性地址(Linear Address)。

問題: 1、邏輯地址就是CPU指令發出的地址,那麼段選擇碼(Segment Selector)的值在哪裡? 2、知道段選擇碼後,需要從描述符表(Descriptor Table)中找到相應的表項,那怎麼知道描述符表在內存中哪個位置?

3 線性地址到物理地址的映射過程

X86 CPU線性地址到物理地址映射過程:

線性地址到物理地址映射過程如下:

(1)從CR3寄存器中獲取頁面目錄表(Page Directory)的基地址;

(2)以線性地址的Directory位段為下標,在目錄(Page Directory)中取得相應頁面表(Page Table)的基地址;

(3)以線性地址中的Table位段為下標,在所得到的頁面表中獲得相應的頁面描述項;

(4)將頁面描述項中給出的頁面基地址與線性地址中的offset位段相加得到物理地址。

閱讀全文

與段頁式怎麼算物理地址相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:725
乙酸乙酯化學式怎麼算 瀏覽:1390
沈陽初中的數學是什麼版本的 瀏覽:1336
華為手機家人共享如何查看地理位置 瀏覽:1028
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:869
數學c什麼意思是什麼意思是什麼 瀏覽:1392
中考初中地理如何補 瀏覽:1281
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:686
數學奧數卡怎麼辦 瀏覽:1371
如何回答地理是什麼 瀏覽:1006
win7如何刪除電腦文件瀏覽歷史 瀏覽:1039
大學物理實驗干什麼用的到 瀏覽:1469
二年級上冊數學框框怎麼填 瀏覽:1683
西安瑞禧生物科技有限公司怎麼樣 瀏覽:915
武大的分析化學怎麼樣 瀏覽:1233
ige電化學發光偏高怎麼辦 瀏覽:1322
學而思初中英語和語文怎麼樣 瀏覽:1630
下列哪個水飛薊素化學結構 瀏覽:1410
化學理學哪些專業好 瀏覽:1473
數學中的棱的意思是什麼 瀏覽:1038