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