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

怎麼計算物理地址

發布時間:2022-05-07 04:45:23

A. 邏輯地址轉換成物理地址的計算題

頁表可以實現從頁號到物理塊號的地址映射。通過邏輯地址的頁號來尋找頁表,從而獲得物理塊號;在將頁內地址直接送入物理地址寄存器的塊內地址欄位中。將塊號和塊內地址拼接成實際訪問地址,即可得到物理地址。

物理地址的計算公式為:物理地址=塊的大小(即頁的大小L)* 塊號f+頁內地址d

代入本題解答:

頁號=int(2500/1024)=2;頁內位移=2500mod1024=452;假設頁號2對應塊號1,則物理地址為:

物理地址=1024*1+452=1476

(1)怎麼計算物理地址擴展閱讀:

邏輯地址(LogicalAddress)即通過電腦程序產生的與段相關的偏移地址部分,也叫做相對地址;

物理地址,即計算機中每一個位元組單元的唯一存儲地址,也叫做實際地址或絕對地址。

利用所給的邏輯地址首先找到在頁表中的那一頁,即頁號,再者利用所給的邏輯地址計算出在頁表的頁偏移量,從而利用頁表所對應的物理塊計算出塊號,再利用塊號的基礎上計算出所給的偏移量。(一般只針對於動態重定位的變化使用)

B. 什麼是8086的基址、偏移地址、邏輯地址、物理地址 如何計算物理地址

邏輯地址是應用程序所應用的地址,物理地址是內存中的地址是給硬體識別的,基址是由分段部件中的段選擇符找到段描述符再得到基址,邏輯地址通過分段部件得到基址再加上偏移地址就得到了物理地址

C. 什麼是邏輯地址什麼是物理地址在實模式下,如何求存儲器的物理地址假設一個

邏輯地址和物理地址的區別是:
邏輯地址(Logical Address) 是指由程序產生的與段相關的偏移地址部分。例如,你在進行C語言指針編程中,可以讀取指針變數本身值(&操作),實際上這個值就是邏輯地址,它是相對於你當前進程數據段的地址,不和絕對物理地址相干。只有在Intel實模式下,邏輯地址才和物理地址相等(因為實模式沒有分段或分頁機制,Cpu不進行自動地址轉換);邏輯也就是在Intel 保護模式下程序執行代碼段限長內的偏移地址(假定代碼段、數據段如果完全一樣)。應用程序員僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統編程人員涉及。應用程序員雖然自己可以直接操作內存,那也只能在操作系統給你分配的內存段操作。
物理地址(Physical Address) 是指出現在CPU外部地址匯流排上的定址物理內存的地址信號,是地址變換的最終結果地址。如果啟用了分頁機制,那麼線性地址會使用頁目錄和頁表中的項變換成物理地址。如果沒有啟用分頁機制,那麼線性地址就直接成為物理地址了。
虛擬內存(Virtual Memory)是指計算機呈現出要比實際擁有的內存大得多的內存量。因此它允許程序員編制並運行比實際系統擁有的內存大得多的程序。這使得許多大型項目也能夠在具有有限內存資源的系統上實現。一個很恰當的比喻是:你不需要很長的軌道就可以讓一列火車從上海開到北京。你只需要足夠長的鐵軌(比如說3公里)就可以完成這個任務。採取的方法是把後面的鐵軌立刻鋪到火車的前面,只要你的操作足夠快並能滿足要求,列車就能象在一條完整的軌道上運行。這也就是虛擬內存管理需要完成的任務。在Linux 0.11內核中,給每個程序(進程)都劃分了總容量為64MB的虛擬內存空間。因此程序的邏輯地址范圍是0x0000000到0x4000000。有時我們也把邏輯地址稱為虛擬地址。因為與虛擬內存空間的概念類似,邏輯地址也是與實際物理內存容量無關的。 邏輯地址與物理地址的「差距」是0xC0000000,是由於虛擬地址->線性地址->物理地址映射正好差這個值。這個值是由操作系統指定的。

D. 操作系統的物理地址怎麼計算

其實第一條回答是正確的,我在這里為網友們追加一個解釋:

按照書上定義,在頁式存儲系統中,

絕對地址 = 塊號 x塊長 +業內偏移地址。
相對地址 由一段內存的高bit位作為頁號,低bit位作為頁內偏移地址

那重要的一點是,如果找出這三個變數。且看該題:
每頁1KB,說明了,業內偏移地址的范圍是0~1023byte 換句話說,頁內偏移地址佔16bit中的 0-9bit, 那按照相對地址的概念,那10-15 bit就該為頁號地址了。

那麼, 0x0A5C <=> 0000 1010 0101 1100
則前面 0000 10 這6個bit 表示頁號,換算成十進制為 2,也即是頁號為2,再按照頁表推算,即物理塊號就為4, 而4再換算成16進制,即是0001 00;而後面 10 0101 1100 這10個bit位,理所當然的為頁內偏移地址了。 則物理地址就該為0001 00 (占據10-15bit)+ 10 0101 1100 (占據0-9bit) = 0001 0010 0101 1100

他的所謂憑接,其實就是讓0001 00 佔用bit 10-15.

E. 物理地址的計算方法

20位物理地址計算方法如下:
物理地址=段基址*16d+偏移地址

F. 8086如何計算的物理地址

8086中含有存儲器。存儲器中每一個單元的地址可以用兩種方法表示:
1.邏輯地址:其表達形式為「段地址:段內偏移地址」。
2.物理地址:CPU與存儲器進行數據交換時在地址匯流排上提供的20位地址信息稱為物理地址。
物理地址=段地址×10H+段內偏移量
註:H為16進制,CS :代碼段寄存器,

G. 微機原理求物理地址的問題,那個乘16的含義是左移4位,那計算的時候應該怎麼算

物理地址的計算方法是段地址左移一位十六進制數,再加上偏移地址。就像你這個題目中的演算法就是:12000H+0FF00H=21F00H。物理地址的計算方法都是如此。只要把相應的段地址左移一位再相加就可以。但有時候需要判斷它對應的段地址。
這種題目相對來說是很簡單的,只要把題目中給出的十六進制段地址左移一位,最後一位補零就可以的。
再如CS=2100H,IP=02100H。則物理地址為:2A000H+02100H=2C100H
希望對你有幫助!

H. 通過虛擬地址計算物理地址 求過程

你打的太多了,有點亂,只說下地址轉換問題:
1.虛擬地址:虛擬地址是以"段寄存器:偏移地址"形式存在的,例如--0542:24521360
2.線性地址:它是由分段部件把虛擬地址轉化而來的.
3.物理地址:即真實存在的地址,由處理器的地址引腳尋找到的地址.
虛擬地址---->線性地址:
段寄存器是一個16位的寄存器,其中第0和1位控制著將要訪問段的特權級,第2位說明是在gdt還是ldt尋找地址.高13位作為一個索引值,總共8192個索引.假設段寄存器-0000
0000
0000
1011(000b),那麼我們可以知道rpl=3(特權級為3);ti=0,從gdt中選擇段描述符;index=1,即將要索引的段描述符在gdt中的順序號為1,由於一個段描述符佔8個位元組,所以其索引到的地址為"gdt的高32位+1*8".這也就是為什麼gdt48位,留最低的16位作為限長的原因(8192*8=64k).
找到了段描述符,然後就是從段描述符中找出該段的位置了.段描述符是個8位元組的內存空間,由於結構復雜,無法構圖,省略段描述符的結構.我們只要知道在裡面規定了該段的基址,限長,還有屬性等等.找出基址後,再加上虛擬地址的偏址,就形成了32位的線性地址.由於偏址是32位的,所以該段獨享4g的虛擬地址空間.
線性地址----->物理地址
該部分是由分頁部件通過3級查找完成的.此時,我們把線性地址分為3段:0-11位(c)位元組索引,12-21位(b)頁表索引,22-31位(a)頁目錄索引.我們把頁表描述符和頁描述符通稱為頁表項,頁表項佔4個位元組,總共佔4kb大小.先以cr3為基址,以(a*4)為索引值,定址頁目錄描述符.然後再以頁目錄地址的高20位地址為基址,以(b*4)為索引值,定址頁描述符.再以頁描述符的高20位地址為基址,以c為偏移地址,相加得到物理地址.
從上可以看到頁的大小是4kb,即一項任務cpu只調用該任務所佔內存空間的4kb大小.有利於減少內存佔用.
以上大體就是這樣的,其中分頁部件的轉換相當復雜,不是三言兩語就能說明白的.還有pentium之後,分頁部件又採用了4mb的頁面,線性地址採用2級定址.才開啟pae功能後,又形成了4級定址.然後再結合後面的內存保護,i/o保護,任務保護及特權級的變換,形成了保護模式的大部分內容.
太復雜了,我也不是十分會.寫的有些亂,但願你能明白些.

I. 2.6 什麼是邏輯地址什麼是物理地址如何由邏輯地址計算物理地址

【解】:物理地址:完成存儲器單元或I/O埠定址的實際地址成為物理地址,CPU型號不同其物理地址也不同。物理地址是指CPU和存儲器進行數據交換時實際所使用的地址,而邏輯地址是程序使用的地址。物理地址由兩部分組成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器給出,後者是指存儲單元所在的位置離段起始地址的偏移距離。當CPU定址某個存儲單元時,先將段寄存器的內容左移4位,然後加上指令中提供的16位偏移地址而形成20位物理地址。在取指令時,CPU自動選擇代碼段寄存器CS,左移4位後,加上指令提供的16位偏移地址,計算出要取指令的物理地址。堆棧操作時,CPU自動選擇堆棧段寄存器SS,將其內容左移4位後,加上指令提供的16位偏移地址,計算出棧頂單元的物理地址。每當存取操作數時,CPU會自動選擇數據段寄存器(或附加段寄存器ES),將段基值左移4位後加上16位偏移地址,得到操作數在內存的物理地址。

閱讀全文

與怎麼計算物理地址相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:769
乙酸乙酯化學式怎麼算 瀏覽:1428
沈陽初中的數學是什麼版本的 瀏覽:1390
華為手機家人共享如何查看地理位置 瀏覽:1079
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:916
數學c什麼意思是什麼意思是什麼 瀏覽:1448
中考初中地理如何補 瀏覽:1340
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:734
數學奧數卡怎麼辦 瀏覽:1428
如何回答地理是什麼 瀏覽:1065
win7如何刪除電腦文件瀏覽歷史 瀏覽:1083
大學物理實驗干什麼用的到 瀏覽:1519
二年級上冊數學框框怎麼填 瀏覽:1738
西安瑞禧生物科技有限公司怎麼樣 瀏覽:1095
武大的分析化學怎麼樣 瀏覽:1277
ige電化學發光偏高怎麼辦 瀏覽:1366
學而思初中英語和語文怎麼樣 瀏覽:1700
下列哪個水飛薊素化學結構 瀏覽:1456
化學理學哪些專業好 瀏覽:1512
數學中的棱的意思是什麼 瀏覽:1097