⑴ 在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
實際上可以這么來理解,就是段地址左移一位後加上偏移地址就得出實際的物理地址。
這里邏輯地址和物理地址的關系又可以用一個比喻來說明:
比如你的學號是0102,這是你的真實地址亦即物理地址,那麼又假如01表示你的班級名稱,02表示你相對整個班級的位置,這就是邏輯地址,道理是一樣的,只不過在實際由邏輯地址合成物理地址的時候需要將物理地址左移一位,再加上偏移地址。
⑵ 什麼是邏輯地址什麼是物理地址
邏輯地址: 是指由程序產生的與段相關的偏移地址部分。又稱絕對地址。
物理地址:在存儲器里以位元組為單位存儲信息,為正確地存放或取得信息,每一個位元組單元給以一個唯一的存儲器地址,稱為物理地址,又叫實際地址或絕對地址。
一、關系:邏輯地址和物理地址相對的。物理地址是唯一的,邏輯地址的相對的。
二、表達方式:
1、邏輯地址:其表達形式為「段地址:段內偏移地址」。
2、物理地址:CPU與存儲器進行數據交換時在地址匯流排上 。
(2)8086什麼是邏輯地址和物理地址擴展閱讀:
一、邏輯地址的產生背景
追根求源,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+偏移地址。
⑶ 在8086/8088CPU中,物理地址和邏輯地址是指什麼
邏輯地址即是思維性的表示,由於8086的寄存器最大為16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址聯合表示的地址類型叫邏輯地址,例如2000H:1000H,這里的2000H表示段的起始地址,即段地址,而1000H則表示偏移地址,表示邏輯地址時總是書寫成段地址:偏移地址。
物理地址即是真實存在的唯一地址,是指的內存中各個單元的單元號,由8086有20條地址線,因此可定址2的20次方,按2進制位表示規則,即有20位,這個就是物理地址。物理地址因為超過了寄存器大小(16位)因此無法直接存放,需要合成,公式為物理地址=段地址×10H+偏移地址,公式中的數據可從邏輯地址獲得。
邏輯地址是16位的,因此范圍是2的16次方,即64K.
物理地址是20位的,因此范圍是2的20次方,即1M.
⑷ 8086中的物理地址與邏輯地址
「對物理地址來說,當段地址變化時,只要對其偏移量進行相應的調整就可對應同一個物理地址,所以,同一個物理地址可有多個邏輯地址。」
寫書的人真欠揍。。。
他既然這么寫了,我們就用數學的辦法解釋一下。
設段地址為x, 偏移地址為y。於是,
邏輯地址是給人看的。它記為(x, y)。由段地址和偏移地址兩個數組成。
物理地址是給電腦看的。它記為A = 16 x + y。它根據段地址和偏移地址確定實際的地址。
所以:
設有兩個邏輯地址(x1, y1)和(x2, y2)。只要滿足16 x1 + y1 = 16 x2 + y2,我們就說這兩個邏輯地址對應了同一個物理地址。
0218H = 0200H + 18H
0218H = 0210H + 08H
就是這樣。
為什麼用兩個數存地址呢?因為實際的地址是20位的,而我們一般存數都是16位的,不夠用。所以祖先們想了一個辦法,就是存兩個16位的數,最後用的時候把它們拼在一起。就用16x + y的公式拼。於是乎這兩個數就叫做「邏輯地址」,算完之後就叫做「物理地址」。
⑸ 在8086里什麼是物理地址,邏輯地址
1、8086是16位匯流排,定址也是16位的
直接地址就是物理地址。
2、邏輯地址即偏移地址,包括段寄存器值和偏移量。
3、物理地址等於段寄存器內容左移四位加偏移地址。
4、有效地址EA就是偏移地址,是由定址過程的不同組合而產生的。
⑹ 什麼是邏輯地址它有哪兩部分組成8086cpu的物理地址是如何形成的
1、所謂邏輯地址是指按數據的邏輯塊號給出的磁碟的位置(l塊=512字l字=64位)而物理地址則是由磁碟的柱面、頭、段等物理位置所確定的地址。
2、這樣該存儲單元的地址就可以用段基址(段地址)和段內偏移量(偏移地址)來表示,段基址確定它所在的段居於整個存儲空間的位置,偏移量確定它在段內的位置,這種地址表示方式稱為邏輯地址,通常表示為段地址:偏移地址的形式。
您也可以試試搭載了第六代智能英特爾酷睿處理器的產品,創新性的使用模式,如實感技術,姿勢控制,語音識別,2D/3D影像,突破傳統PC使用體驗,無論辦公學習、暢玩游戲或者觀看超高清影像播放,均得心應手,引領產品創新。
⑺ 什麼是8086系統中的邏輯地址和物理地址
由於8086的寄存器最大為16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址聯合表示的地址類型叫邏輯地址,例如2000H:1000H,這里的2000H表示段的起始地址,即段地址,而1000H則表示偏移地址,表示邏輯地址時總是書寫成段地址:偏移地址。
物理地址即是真實存在的唯一地址,是指的內存中各個單元的單元號,由8086有20條地址線,因此可定址2的20次方,按2進制位表示規則,即有20位,這個就是物理地址。物理地址因為超過了寄存器大小(16位)因此無法直接存放,需要合成,公式為物理地址=段地址×10H+偏移地址,公式中的數據可從邏輯地址獲得。
邏輯地址是16位的,因此范圍是2的16次方,即64K。
物理地址是20位的,因此范圍是2的20次方,即1M。