绝对地址

相对于某个基准量编址时使用的内存单元地址
计算机编程和操作系统中,绝对地址(absolute address)[2]通常指的是内存中的具体位置,也称为物理地址。[5]它是一个数值,用于直接指向计算机内存中的一个特定位置。[3]在经典的冯·诺依曼计算机体系结构中,存储器是核心资源,以物理主存的形式存在,并由一系列连续的物理地址(从0到m-1)构成,使得处理机能够依据这些绝对地址随机访问存储中的信息。[1]
最初的计算机中程序和数据存放在主存中的位置是由程序员在编程时指明的,主存绝对地址和相对地址是一样的。自20世纪60年代后,由于程序中指令不修改,故使用基址寻址法实现逻辑地址空间到物理地址空间的变换。20世纪70年代,采用虚拟存储器增加了映象表硬件后,程序空间可以超过实际主存空间。[6]
从结构上来看,绝对地址由20位二进制组成,[7]其中包含16位段地址和16位段内偏移地址。[8]由于用户程序在不同时间加载到内存的位置可能不同,[5]因此需要采用绝对装入、静态重定位、动态重定位等技术,[1]将逻辑地址转换为正确的物理地址以进行存取。[9]绝对地址在嵌入式系统[10]虚拟化技术等领域得到广泛应用。[11]为了保护计算机存储,系统可设置寄存器,在尝试访问超出预设范围的主存地址时触发保护中断。[1]高级编程语言也支持以变量形式访问绝对地址,允许变量赋值或作为表达式的一部分。[12]

发展历史

地址一致时期