邏輯地址和物理地址概念 什么是邏輯地址,什么是物理地址,它們之間有什么關(guān)系?
什么是邏輯地址,什么是物理地址,它們之間有什么關(guān)系?邏輯地址:指與程序生成的段相關(guān)的偏移地址部分。物理地址又稱絕對地址:在內(nèi)存中以字節(jié)為單位存儲(chǔ)信息,為了正確存儲(chǔ)或獲取信息,每個(gè)字節(jié)單位給出一個(gè)唯一的
什么是邏輯地址,什么是物理地址,它們之間有什么關(guān)系?
邏輯地址:指與程序生成的段相關(guān)的偏移地址部分。物理地址又稱絕對地址:在內(nèi)存中以字節(jié)為單位存儲(chǔ)信息,為了正確存儲(chǔ)或獲取信息,每個(gè)字節(jié)單位給出一個(gè)唯一的內(nèi)存地址,稱為物理地址,又稱實(shí)際地址或絕對地址。兩者之間的關(guān)系:邏輯地址和物理地址是相對的。物理地址是唯一的,邏輯地址是相對的。
8086系統(tǒng)中存儲(chǔ)器的邏輯地址和物理地址之間有什么關(guān)系?
邏輯地址是思維的表現(xiàn)。由于8086的寄存器最多有16位,所以地址根據(jù)16位的大小存儲(chǔ)在寄存器中。由段地址和偏移地址共同表示的地址類型稱為邏輯地址,例如2000h:1000h,這里2000h表示段的起始地址,即段地址,而1000h表示偏移地址,表示邏輯地址時(shí)總是寫入段地址:偏移地址。物理地址是唯一的實(shí)地址,它是指內(nèi)存中每個(gè)單元的單元號(hào)。8086有20條地址線,因此可以尋址到2的20次方。根據(jù)二進(jìn)制位表示規(guī)則,有20位。這是實(shí)際地址。由于物理地址超過寄存器大?。?6位),因此無法直接存儲(chǔ),需要進(jìn)行合成。公式為物理地址=段地址×10h偏移地址。公式中的數(shù)據(jù)可以從邏輯地址獲得。邏輯地址是16位,所以范圍是2的第16次方,即64K。物理地址是20位,所以范圍是2的第20次方,即1m。
簡述計(jì)算機(jī)物理地址和邏輯地址的含義及其轉(zhuǎn)換關(guān)系?
邏輯地址:機(jī)器語言指令,用于指定操作數(shù)或指令的地址,表示為[段標(biāo)識(shí)符:段內(nèi)偏移量]偏移量:從段開始到實(shí)際地址的距離線性地址:也稱為虛擬地址,32位,0x00000000-0xffffff物理地址:用于內(nèi)存芯片級的單元尋址,對應(yīng)于與處理器和CPU相連的地址總線(與物理內(nèi)存相連)的邏輯地址轉(zhuǎn)換物理地址:內(nèi)存控制單元(MMU)通過分段單元將邏輯地址轉(zhuǎn)換成線性地址;然后分頁單元將線性地址轉(zhuǎn)換成物理地址。
什么是邏輯地址,什么是物理地址,它們之間有什么關(guān)系?
邏輯地址是指與程序生成的段相關(guān)的偏移地址部分。有時(shí)我們也把邏輯地址稱為虛擬地址
物理地址是指出現(xiàn)在CPU外部地址總線上的地址信號(hào),用來尋址物理內(nèi)存,是地址轉(zhuǎn)換的最終結(jié)果。如果啟用了分頁,則使用頁目錄和頁表中的條目將線性地址轉(zhuǎn)換為物理地址。如果不啟用分頁,則線性地址將直接變?yōu)槲锢淼刂贰?/p>
兩者之間的關(guān)系如下:
僅在Intel實(shí)模式下,邏輯地址等于物理地址(因?yàn)閷?shí)模式下沒有分段或分頁機(jī)制,CPU不執(zhí)行自動(dòng)地址轉(zhuǎn)換);邏輯是英特爾保護(hù)模式下程序執(zhí)行的代碼段長度內(nèi)的偏移地址(假設(shè)代碼段和數(shù)據(jù)段完全相同)。應(yīng)用程序程序員只需要處理邏輯地址,而分段和分頁機(jī)制對您來說是完全透明的,并且僅由系統(tǒng)程序員參與。雖然應(yīng)用程序程序員可以直接操作內(nèi)存,但它只能在操作系統(tǒng)分配給您的內(nèi)存段中操作。
邏輯地址和物理地址之間的“間隙”為0xc000000,這是由于虛擬地址->線性地址->物理地址映射之間的差異造成的。此值由操作系統(tǒng)指定。