邏輯地址(段地址,偏移地址)知識點全面回顧
1.什麼是邏輯地址?
:邏輯地址是使用者程式設計時使用的地址,分為段地址和偏移地址兩部分。
邏輯地址表示形式:3020:055AH---------(組合語言中,數字後面加H表示16進位制)
2.為什麼要用邏輯地址?(邏輯地址的產生背景)
:8086cpu訪問儲存器時,地址暫存器(16位)要先向地址匯流排發出地址訊號(地址匯流排是專門用來存取記憶體地址的,故與記憶體單元有關,20位),而地址暫存器只有16位,從地址暫存器發出的地址訊號,所能訪問的儲存空間只有2^16 = 65536 = 64KB,達不到20位地址匯流排所提供的地址範圍。
針對這種情況,就把記憶體地址分為若干段,每段有一些儲存單元構成。用段地址指出是哪一段,偏移地址標明是段中的哪一個單元。
3.什麼叫段地址,偏移地址?之間有什麼關係?
:1.把記憶體地址分為若干段,每段有一些儲存單元構成。用段地址指出是哪一段,偏移地址標明是段中的哪一個單元。
2.段地址和偏移地址都是16位2進位制數。
3.段地址和偏移地址有多種組合,故存在多個地址組合指向同一個儲存單元上。
4.邏輯地址唯一麼?
:不唯一,因為段地址和偏移有多種組合,故存在多個地址組合指向同一個儲存單元上。
5.cpu執行程式時,採用的是邏輯地址還是實體地址?
:實體地址---使用者程式設計時採用的邏輯地址在cpu執行程式時都要轉換成實體地址。
這是由cpu的地址加法器完成的。
邏輯地址與實體地址的轉換:
6.邏輯地址怎樣轉換為實體地址?
:轉換時,先將16位的段地址左移4位,相當於乘以16或者16進位制的10H,再和偏移地址相加。
轉換公式為:
實體地址 = 段地址*10H + 偏移地址
如:將3020:055AH轉換為實體地址:----= 3020*10H(左移四位)+055AH = 3075AH
7段與偏移地址是什麼關係?
:段是由儲存單元構成的,段包含偏移地址對應的儲存單元。即偏移地址對應的位元組儲存單元在段中。.
8.段的大小指的是什麼?
:指的是這個段包含儲存單元的多少。
9.將記憶體分段的依據?以及段的相關知識
:段地址和偏移地址都是16位二進位制數,
每段最大64K位元組單元(2^16=65536 = 64KB),每段最小16個位元組單元(硬性規定),也可以100個,1000個到最多達到65536個。
偏移地址範圍:0000H --- FFFFH
10.什麼叫小段?
:規定每16個位元組單元為一小段。
轉載自:http://blog.csdn.net/thisispan/article/details/7685040