㈠ 邏輯地址轉換物理地址公式
物理地址是明確的、最終用在匯流排上的編號。那麼邏輯地址轉物理地址怎麼轉?我為大家介紹邏輯地址轉物理地址的解決 方法 。希望大家喜歡。
邏輯地址轉換物理地址公式參考如下
1. 物理地址和邏輯地址
物理地址:載入到內存地址寄存器中的地址,內存單元的真正地址。在前端匯流排上傳輸的內存地址都是物理內存地址,編號從0開始一直到可用物理內存的最高端。這些數字被北橋(Nortbridge chip)映射到實際的內存條上。物理地址是明確的、最終用在匯流排上的編號,不必轉換,不必分頁,也沒有特權級檢查(no translation, no paging, no privilege checks)。
邏輯地址:CPU所生成的地址。邏輯地址是內部和編程使用的、並不唯一。例如,你在進行C語言指針編程中,可以讀取指針變數本身值(&操作),實際上這個值就是邏輯地址,它是相對於你當前進程數據段的地址(偏移地址),不和絕對物理地址相干。
(具體步驟 共三步)
1.確定虛擬地址(物理地址)的有效位
例如:假設頁面大小1KB,共32頁。(頁面:邏輯地址 頁框:物理地址)
由32(KB)=32×1024(B) 即等於32×1024 位元組
二進制用多少位能有效表示這么多位元組呢——答是:15位 因為32×1024=2^5×2^10=2^15
2.再次確定邏輯地址頁面位數 你應該知道:邏輯地址=頁號+頁面
還是以上假設,那麼頁面大小為1KB=1024位元組 同樣的方法計算出表示位數:10位
如果給你邏輯地址:0000 1111 1000 0000
那麼由:011+11100000000(相當於 頁號+頁面(10位))推得出頁號011=3
3.根據頁號找出對應的頁框號
由 物理地址=頁框號×頁塊大小(頁塊大小是等於頁面大小的)+頁內位移(即頁面邏輯地址)
根據上面 物理地址=頁框號×1024B + 1110000000 ( 這里的相加是指位置上而言)
例如:110+110=110110(即高地址+低地址)
提問:在一分頁存儲管理系統中,邏輯地址長度為16位,頁面大小為4096B,現有一邏輯地址為2F6AH,且第0、1、2頁依次存放在物理塊5、10、11中,問相應的物理地址為多少?
答:4096B=2^12B
16位定址一共2^16B
分頁存儲。共分的頁:2^16/2^12=2^4=16 共分16頁。
第0頁的地址范圍 0 - FFFH
第1頁的地址范圍 1000H - 1FFFH
第2頁得地址范圍 2000H - 2FFFH
.....
第11頁 B000H - BFFFH
第15頁 F000H - FFFFH
2F6AH=10 1111 0110 1010 在2頁的范圍對應物理塊11
所以物理地址為:
2F6AH - 2000H + B000H = F6AH + B000H= BF6AH
㈡ 什麼是8086中的邏輯地址和物理地址
8086中含有存儲器.
存儲器中每一個單元的地址可以用兩種方法表示:邏輯地址物理地址
1.邏輯地址:其表達形式為「段地址:段內偏移地址」.
2.物理地址:CPU與存儲器進行數據交換時在地址匯流排上提供的20位地址信息稱為物理地址.
物理地址=段地址×10H+段內偏移量
CPU一次處理的數據是16位,地址匯流排實際上代表CPU的定址能力,地址線為20條那麼CPU實際的定址能力就是2的20次方就是1M.
實際的物理地址是這樣形成的:段地址*10H+偏移地址,偏移地址用IP指向,IP是16位的.
例如段地址是1234H,偏移地址是4321H
那麼實際的物理地址怎麼算呢:1234H*10H+4321H=12340H+4321H=16661H
實際上可以這么來理解,就是段地址左移一位後加上偏移地址就得出實際的物理地址.
再比如:邏輯地址:1500H先化為2進制 0001 0101 0000 0000
左移四位就是0001 0401 0000 0000 0000,即15000H
若偏移地址為1000H 則物理地址就是16000H
㈢ 已知邏輯地址求物理地址
㈣ 邏輯地址與物理地址計算(這道題也不會)
1)092b(H)轉換成二進制就是0000 1001 0010 1011 前6位為頁號p得先轉換成10進制為2 ,對應的塊號為5,用5*1024加上後10位(0100101011轉換成10進制為1+2+8+32+256=299)為5419即為物理地址
2)2A12轉換成二進制為0010 1010 0001 0010 頁號為001010就是10 而頁號中缺頁了 溢出
3)2A5C十進制就是10844再除以1024等於 10餘604 10為塊號 而題目中沒有 也是溢出
不知道算對沒。
㈤ 什麼是邏輯地址什麼是物理地址
邏輯地址: 是指由程序產生的與段相關的偏移地址部分。又稱絕對地址。
物理地址:在存儲器里以位元組為單位存儲信息,為正確地存放或取得信息,每一個位元組單元給以一個唯一的存儲器地址,稱為物理地址,又叫實際地址或絕對地址。
一、關系:邏輯地址和物理地址相對的。物理地址是唯一的,邏輯地址的相對的。
二、表達方式:
1、邏輯地址:其表達形式為「段地址:段內偏移地址」。
2、物理地址:CPU與存儲器進行數據交換時在地址匯流排上 。
(5)物理地址與邏輯地址怎麼計算擴展閱讀:
一、邏輯地址的產生背景
追根求源,Intel的8位機8080CPU,數據匯流排(DB)為8位,地址匯流排(AB)為16位。那麼這個16位地址信息也是要通過8位數據匯流排來傳送,也是要在數據通道中的暫存器,以及在CPU中的寄存器和內存中存放的,但由於AB正好是DB的整數倍,故不會產生矛盾!
但當上升到16位機後,Intel8086/8088CPU的設計由於當年IC集成技術和外封裝及引腳技術的限制,不能超過40個引腳。但又感覺到8位機原來的地址定址能力2^16=64KB太少了,但直接增加到16的整數倍即令AB=32位又是達不到的。
故而只能把AB暫時增加4條成為20條。則2^20=1MB的定址能力已經增加了16倍。但此舉卻造成了AB的20位和DB的16位之間的矛盾,20位地址信息既無法在DB上傳送,又無法在16位的CPU寄存器和內存單元中存放。於是應運而生就產生了CPU段結構的原理。
二、物理地址的計算方法
在實地址方式下,物理地址是通過段地址乘以16加上偏移地址得到的。而16位的段地址乘以16等同於左移4位二進制位,這樣變成20位的段基地址,最後段基地址加上段內偏移地址即可得到物理地址。
20位物理地址計算方法如下:
物理地址=段地址*16d+偏移地址。
㈥ C語言中 知道邏輯地址 如果計算物理地址
要看具體情況的,這個是根據操作系統的地址映射有關的,操作系統根據可以把邏輯地址映射到不同的·物理地址的,要看具體的映射方法以及不同的操作系統,比如分段和分頁方式計算方法是不·一樣的。
「物理地址*10H + 偏移地址 和 物理地址*10H + 邏輯地址 是等價的嗎?」的說法應該是分段的說法。物理地址*10H + 偏移地址 和 物理地址*10H + 邏輯地址不是等價的:物理地址*10H + 偏移地址=邏輯地址
㈦ 邏輯地址轉換成物理地址的計算題
頁表可以實現從頁號到物理塊號的地址映射。通過邏輯地址的頁號來尋找頁表,從而獲得物理塊號;在將頁內地址直接送入物理地址寄存器的塊內地址欄位中。將塊號和塊內地址拼接成實際訪問地址,即可得到物理地址。
物理地址的計算公式為:物理地址=塊的大小(即頁的大小L)* 塊號f+頁內地址d
代入本題解答:
頁號=int(2500/1024)=2;頁內位移=2500mod1024=452;假設頁號2對應塊號1,則物理地址為:
物理地址=1024*1+452=1476
(7)物理地址與邏輯地址怎麼計算擴展閱讀:
邏輯地址(LogicalAddress)即通過電腦程序產生的與段相關的偏移地址部分,也叫做相對地址;
物理地址,即計算機中每一個位元組單元的唯一存儲地址,也叫做實際地址或絕對地址。
利用所給的邏輯地址首先找到在頁表中的那一頁,即頁號,再者利用所給的邏輯地址計算出在頁表的頁偏移量,從而利用頁表所對應的物理塊計算出塊號,再利用塊號的基礎上計算出所給的偏移量。(一般只針對於動態重定位的變化使用)
㈧ 邏輯地址轉換成物理地址的計算題
題目及解答如下:
某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內存為16KB。假定某時刻一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下:
頁號 物理塊號
0 3
1 7
2 11
3 8
則邏輯地址0A5C(H)所對應的物理地址是什麼?要求:寫出主要計算過程。
解題過程:
首先要知道頁式存儲管理的邏輯地址分為兩部分:頁號和頁內地址。物理地址分為兩部分:
關系為:邏輯地址=頁號+頁內地址
物理地址=塊號+頁內地址;
分析題:已知:用戶編程空間共32個頁面,2ˆ5=32得知頁號部分佔5位,由「每頁為1KB」,1K=210,可知內頁地址佔10位。
由「內存為16KB」,2^4=16得知塊號佔4位。
邏輯地址0A5C(H)所對應的二進製表示形式是:0000101001011100,後十位1001011100是頁內地址,
00010為為頁號,頁號化為十進制是2,在對照表中找到2對應的物理塊號是11,11轉換二進制是1011,即可求出物理地址為10111001011100,化成十六進制為2E5C;
即則邏輯地址0A5C(H)所對應的物理地址是2E5C;
㈨ 已知邏輯地址BA00:A800,求物理地址.
邏輯地址的表示為:段地址:偏移地址,物理地址=段地址*16+偏移地址 (十進制),用十六進製表示就是:段地址後補一個0,再加上偏移地址.題目計算如下:物理地址=BA000+A800=C4800H
㈩ C語言中知道邏輯地址如果計算物理地址
可以這么考慮!先把邏輯地址(H)轉換成二進制,前6位為頁號p得先轉換成10進制為2,取得對應的塊號,用塊號*1024加上後10位為物理地址。 物理地址轉化十進制就是再除以1024等於數A余數B,A為邏輯塊號