實體地址和邏輯位址(虛擬位址)

2021-10-09 01:14:23 字數 847 閱讀 3044

1. 實體地址

實體地址是載入到記憶體位址暫存器中的位址,是指記憶體中各物理儲存單元的位址從統一的基位址進行的順序編址。又稱絕對位址,它是資料在記憶體單元的真正位址。

在前端匯流排上傳輸的記憶體位址都是物理記憶體位址,編號從0開始一直到可用物理記憶體的最高端。這些數字被北橋(nortbridge chip)對映到實際的記憶體條上。實體地址是明確的、最終用在匯流排上的編號,不必轉換,不必分頁,也沒有特權級檢查(no translation, no paging, no privilege checks)。

2. 邏輯位址

邏輯位址是cpu所生成的位址。是指使用者程式經編譯後,每個目標模組以0為基位址進行的順序編址。邏輯位址又稱相對位址 。

邏輯位址是內部和程式設計使用的、並不唯一。例如,你在進行c語言指標程式設計中,可以讀取指標變數本身值(&操作),實際上這個值就是邏輯位址,它是相對於你當前程序資料段的位址(偏移位址),不和絕對實體地址相干。

3.為什麼要引入邏輯位址?

邏輯位址是為了程式結構化而做的設計,分層設計,直接訪問硬體位址的模組,對下是使用實體地址,對上封裝成邏輯位址,是為了程式移植方便。

4. 為什麼要實現邏輯位址到實體地址的轉換?

邏輯位址到實體地址的轉換,即位址重定位的過程。

假如一塊記憶體換出,再換入時難以裝入相同的記憶體空間,為了方便確定所要訪問內容的具體位址,我們需要進行動態重定位來確定執行時的位址。而這一切是為了提高記憶體的利用率,滿足多工的需要。

處理機在執行時必須使用實體地址才能從主存中訪問資訊,而應用程式使用的位址是邏輯位址,改位址並非處理機能正確識別的位址,故需要轉換。

邏輯位址 實體地址 虛擬位址

用於記憶體晶元級的單元定址,與處理器和cpu連線的位址匯流排相對應。雖然可以直接把實體地址理解成插在機器上那根記憶體本身,把記憶體看成乙個從0位元組一直到最大空量逐字節的編號的大陣列,然後把這個陣列叫做實體地址,但是事實上,這只是乙個硬體提供給軟體的抽像,記憶體的定址方式並不是這樣。所以,說它是 與...

實體地址 虛擬位址 邏輯位址 線性位址

實際計算機的物理記憶體的位址,為32位或者64位。常見的記憶體條就是一類ram 隨機儲存儲存器,特點就是加電狀態下可任意讀寫,斷電後資訊消失 現代os都提供一技術 虛擬記憶體 virtual memory 它可以使給使用者錯覺好像自己在使用比實際物理記憶體大得多的記憶體,實際上通過對映把虛擬記憶體的...

邏輯位址,虛擬位址,實體地址,匯流排位址

很多人可能寫程式這麼多年,都分不清以下幾個位址的概念,亦或是當進入程式設計師行列時由於平台的關係有些概念已經漸漸弱化,沒有趕上那個必須與硬體親密接觸才能夠寫好程式的年代,所以平時也不會接觸到這些概念,但了解這些概念無疑是對程式設計生涯是有好處的,下面就簡述一下這幾個概念的意思。匯流排上的值。包機上,...