在计算机科学中,二进制地址,也叫实地址(real address)、物理地址(英语:physical address),它是在
地址总线上,以电子形式存在的,使得
数据总线可以访问
主存的某个特定存储单元的
内存地址。在
存储器里以
字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个独立的
存储器地址。
在和
虚拟内存的计算机中,二进制地址这个术语多用于区分虚拟地址。尤其是在使用
内存管理单元(MMU)转换内存地址的计算机中,虚拟和物理地址分别指在经MMU转换之前和之后的地址。
地址从0开始编号,顺序地每次加1,因此存储器的物理
地址空间是呈线性增长的。它是用
二进制数来表示的,是
无符号整数,书写格式为
十六进制数。
它是在CPU外部
地址总线上的寻址
物理内存的地址信号,是地址变换的最终结果。用于
内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
根据计算机体系的不同,对内存的不对齐的访问对计算机的性能可能会有所损害。例如,像
Intel 8086这种数据总线为16位的计算机,对偶数地址的访问会更有效率。在那种情况下,获取一个16位的值只要读一次内存以及在数据总线上传送一次数据。显然,如果那16位的值储存在奇数地址上,处理器实际上要读两次内存,即,一次用于读存储在低地址的部分,另一次读存储在高地址的部分;两次都要把读到的数据丢弃一半。
和ip地址类似,每一个电脑都有一个ip,但并不是一个,是可以通过设置改变的。一个电脑网卡对应一个物理地址所以对一台计算机来说,物理地址是它独立的网络标志,是无法改变的。这样,如果一台电脑访上网,网站上会记下你的IP地址已经物理地址,但是IP地址是活的,但是物理地址是死的,因此有些网站做一些投票,等活动的时候之所以能让一台电脑之能投一次,就是它记住了地址,如果更换他就会当作其他电脑来处理 。还有在校园网,任何一个局域网中的用户在上网时,做出了不符合规定的上网行为(比如:在论坛里乱讲、恶意攻击网站等),网络管理员可以迅速定位到做出这些行为的客户端(也就是那台机器的物理地址)。
在实地址方式下,二进制地址是通过段地址乘以16加上偏移地址得到的。而16位的段地址乘以16等同于左移4位二进制位,这样变成20位的段基地址,最后段基地址加上段内偏移地址即可得到物理地址。
只有在Intel实模式下,逻辑地址才和二进制地址相等(因为实模式没有分段或分页机制,CPU不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。逻辑地址与二进制地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->二进制地址映射正好差这个值。这个值是由操作系统指定的。