複製鏈接
請複製以下鏈接發送給好友

內存地址

鎖定
在電腦運算中,內存地址是一種用於軟件硬件等不同層級中的數據概念,用來訪問電腦主存中的數據。 [1] 
中文名
內存地址
通    常
十六進制的數字表示
區分地址
邏輯地址
概    念
數據概念
作    用
用來訪問電腦主存中的數據
學    科
計算機

內存地址作用

在8086的實模式下,把某一段寄存器左移4位,然後與地址ADDR相加後被直接送到內存總線上,這個相加後的地址就是內存單元的物理地址,而程序中的這個地址就叫邏輯地址(或叫虛地址)。在80386的保護模式下,這個邏輯地址不是被直接送到內存總線,而是被送到內存管理單元(MMU)。MMU由一個或一組芯片組成,其功能是把邏輯地址映射為物理地址,即進行地址轉換。 [1] 

內存地址地址區分

當使用80386時,我們必須區分以下三種不同的地址:
邏輯地址機器語言指令仍用這種地址指定一個操作數的地址或一條指令的地址。這種尋址方式在Intel的分段結構中表現得尤為具體,它使得MS-DOS或Windows程序員把程序分為若干段。每個邏輯地址都由一個段和偏移量組成。
線性地址:針對32位CPU,線性地址是一個32位的無符號整數,可以表達高達232(4GB)的地址。通常用16進製表示線性地址,其取值範圍為0x00000000~0xffffffff。對64位CPU,線性地址是一個64位的無符號整數,可以表達高達264
物理地址:也就是內存單元的實際地址,用於芯片級內存單元尋址。物理地址也由32位無符號整數表示。

內存地址內存地址類型

內存地址有許多類型。換句話説,一個電腦,甚至在一個程序內,可能即存在數個不同的內存“定址空間”。
電腦的內存(尤其是指主存)是由許多“內存地址”所組成的,每個內存地址都有一個“物理地址”,能供CPU(或其他設備)訪問。一般,只有如BIOS操作系統及部分特定之公用軟件(如內存測試軟件)等系統軟件,能使用機器碼的運算對象或寄存器對物理地址定址,指示CPU要求內存控制器之類的硬件設備,使用內存總線或系統總線,亦或分別之控制總線地址總線數據總線,運行該程序之命令。內存控制器的總線是由數條並行的線路所組成的,每條線路表示一個比特。總線的寬度因此依電腦不同,決定了可定址之存儲單位數量,以及每一單位內的比特數量。
計算機程序使用內存地址來運行機器碼、存儲及截取數據。大多數的應用程序無法得知實際的物理地址,而是使用電腦的內存管理單元及操作系統的內存映射,為“邏輯地址”或虛擬地址定址。 [2] 

內存地址MMU理解

MMU是一種硬件電路,它包含兩個部件,一個是分段部件,一個是分頁部件,在本書中,我們把它們分別叫做分段機制和分頁機制,以利於從邏輯的角度來理解硬件的實現機制。分段機制把一個邏輯地址轉換為線性地址;接着,分頁機制把一個線性地址轉換為物理地址 [2] 

內存地址另見

參考資料
  • 1.    臘元, 計算機學, 春林. 計算計網絡技術[M]. 國防工業出版社, 2001.
  • 2.    邵時. 微機接口技術[J]. 清華大學出版社.2000.