邏輯地址和物理地址?物理地址(Physical Address) 是指出現在CPU外部地址總線上的尋址物理內存的地址信號,是地址變換的最終結果地址。如果啟用了分頁機制,那么線性地址會使用頁目錄和頁表中的項變換成物理地址。如果沒有啟用分頁機制,那么線性地址就直接成為物理地址了。二者的關系如下:只有在Intel實模式下,那么,邏輯地址和物理地址?一起來了解一下吧。
區別如下:
邏輯地址: 是指由程序產生的與段相關的偏移地址部分。又稱絕對地址。
物理地址:在存儲器里以字節為單位存儲信息,為正確地存放或取得信息,每一個字節單元給以一個唯一的存儲器地址,稱為物理地址,又叫實際地址或絕對地址。
一、關系:邏輯地址和物理地址相對的。物理地址是唯一的,邏輯地址的相對的。
二、表達方式:
1、邏輯地址:其表達形式為“段地址:段內偏移地址”。
2、物理地址:CPU與存儲器進行數據交換時在地址總線上 。
邏輯地址的產生背景:
追根求源,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條。
8086/8088系統中存儲器的邏輯地址和物理地址之間的關系如下:
定義區別:
邏輯地址:是思維性的表示,由段地址和偏移地址聯合組成。在8086/8088系統中,由于寄存器最大為16位,因此邏輯地址也是按16位大小存放的。邏輯地址通常表示為“段地址:偏移地址”的形式。
物理地址:是真實存在的唯一地址,用于標識內存中各個單元的單元號。在8086/8088系統中,由于有20條地址線,因此物理地址是20位的,可尋址范圍為1M。
范圍區別:
邏輯地址的范圍是64K,因為每個邏輯地址都是16位的。
物理地址的范圍是1M,因為物理地址是20位的。
轉換關系:
物理地址是通過邏輯地址計算得出的。轉換公式為:物理地址 = 段地址 × 10H + 偏移地址。這個公式用于將16位的邏輯地址轉換為20位的物理地址。
需要注意的是,雖然邏輯地址是16位的,但段地址在乘以16后會擴展到20位的一部分,與16位的偏移地址相加后形成完整的20位物理地址。
綜上所述,8086/8088系統中的邏輯地址和物理地址之間存在明確的轉換關系,邏輯地址通過特定的計算方式可以轉換為物理地址,以便系統能夠準確地訪問內存中的各個單元。

在8086/8088系統中,邏輯地址和物理地址之間存在一種轉換關系,具體如下:
邏輯地址的組成:
邏輯地址是一種思維上的表示形式,由段地址和偏移地址組成。
段地址代表一段內存的起始位置。
偏移地址指向段內的特定位置。
物理地址的定義:
物理地址是內存單元在物理存儲器中的唯一標識。
8086處理器擁有20條地址線,因此能夠尋址2^20個單元,即1M的物理地址范圍。
邏輯地址到物理地址的轉換:
系統使用了一個計算公式來實現邏輯地址到物理地址的轉換:物理地址 = 段地址 × 10H + 偏移地址。
這個公式中的“10H”是一個十六進制常數,表示的是16。
地址范圍:
邏輯地址的范圍是2^16,即64K。
物理地址的范圍是2^20,即1M。
邏輯地址和物理地址的關系:
邏輯地址提供了對內存的高層次訪問方式。
物理地址則是內存實際存儲位置的精確標識。
通過將段地址和偏移地址進行組合,并使用上述轉換公式,可以實現邏輯地址到物理地址的映射,從而有效地管理和訪問內存資源。
8086邏輯地址與物理地址的關系及計算方法如下:
一、邏輯地址
定義:邏輯地址由段基址和偏移地址組成。在8086 CPU中,段基址是一個16位的值,用于指定內存段的起始地址;偏移地址也是一個16位的值,用于在指定的內存段內定位數據或指令。
表示方法:邏輯地址通常以“段基址:偏移地址”的形式表示。例如,“2000H:1150H”就是一個邏輯地址,其中“2000H”是段基址,“1150H”是偏移地址。
二、物理地址
定義:物理地址是CPU實際訪問內存時使用的地址,它是唯一且確定的。在8086 CPU中,物理地址是一個20位的值。
計算方法:物理地址通過將段基址左移4位再加上偏移地址得到。這是因為8086 CPU的內存段大小為16KB,段基址表示的是段的起始地址,而偏移地址則在這個段內定位具體的位置。
示例:對于邏輯地址“2000H:1150H”,其物理地址計算如下:物理地址 =+ 1150H = 20000H + 1150H = 21150H。
邏輯地址和物理地址是計算機操作系統中的重要概念,二者含義和作用不同。邏輯地址是程序中使用的地址,物理地址是實際的存儲地址。
邏輯地址,也稱虛擬地址,是程序所使用的地址空間,由程序員或操作系統生成。它是相對于程序起始地址(基址)的偏移量,指向內存中的一段地址空間。在程序執行時,邏輯地址會被翻譯成物理地址。例如在編程時,程序員使用的地址就是邏輯地址。
物理地址是內存中真實的地址,由CPU生成,用于訪問實際的內存單元。CPU將物理地址傳遞給內存控制器,通過地址總線傳輸到內存模塊,進而訪問實際的存儲單元。
在計算機系統里,邏輯地址到物理地址的轉換由操作系統中的內存管理單元(MMU)完成。MMU利用頁表這一數據結構,把邏輯地址翻譯成物理地址。當程序訪問內存地址時,CPU先把邏輯地址發送給MMU,MMU依據頁表進行轉換,并將物理地址傳遞給內存控制器以訪問相應單元。若頁表中無該邏輯地址的映射,會發生缺頁異常,此時操作系統會把對應的物理頁面從硬盤加載到內存,再進行地址映射。
以上就是邏輯地址和物理地址的全部內容,區別如下:邏輯地址: 是指由程序產生的與段相關的偏移地址部分。又稱絕對地址。物理地址:在存儲器里以字節為單位存儲信息,為正確地存放或取得信息,每一個字節單元給以一個唯一的存儲器地址,稱為物理地址,又叫實際地址或絕對地址。一、關系:邏輯地址和物理地址相對的。物理地址是唯一的,內容來源于互聯網,信息真偽需自行辨別。如有侵權請聯系刪除。