物理地址和邏輯地址?那么,物理地址和邏輯地址?一起來了解一下吧。
物理地址是加載到內存地址寄存器中的地址,是內存單元的真正地址。它具有以下特點:
明確性與唯一性:在前端總線上傳輸的內存地址都是物理內存地址,編號從0開始一直到可用物理內存的最高端,是明確且唯一的最終用在總線上的編號,不必轉換、分頁,也沒有特權級檢查。
與內存條的映射關系:這些數字被北橋(Nortbridge chip)映射到實際的內存條上,直接對應內存模塊中每個存儲單元(通常是字節)的唯一標識符,通常以十六進制表示,確定了計算機中的實際內存位置。
邏輯地址是CPU所生成的地址,主要有以下特性:
內部和編程使用:邏輯地址是內部和編程使用的,并不唯一。例如在C語言指針編程中,讀取指針變量本身值(&操作)得到的就是邏輯地址,它是相對于當前進程數據段的地址(偏移地址),和絕對物理地址不相干。
靈活性與直觀性:邏輯地址分配更加靈活,可以允許不唯一,看起來也較為直觀。例如一段代碼中分配數組,邏輯地址上是連續的,但在物理地址上,這個數組所占用的頁可能分散開來,物理地址就是不連續的。另外,有了邏輯地址這個概念,才能使用虛擬內存技術。
邏輯地址的組成(部分情況):在有地址變換功能的計算機中,一個邏輯地址由兩部份組成,即段標識符(由一個16位長的字段組成,稱為段選擇符,前13位是個索引號,后面3位包含一些硬件細節)和段內偏移量。
映射關系:在內存管理中,操作系統根據自己的算法,將邏輯地址轉換為物理地址,使得程序能夠正常地讀取和寫入內存中的數據。它們相互對應,但并不相等,中間需要經過地址映射過程,這個過程由操作系統負責實現,以更好地控制數據的存取、保護內存安全等。
以上就是物理地址和邏輯地址的全部內容。