您的位置:首页 > 其它

8086段地址为什么是16的倍数?

2012-06-30 12:06 776 查看
CPU访问内存单元时,要给出内存单元的地址。所有内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,这个地址就是所谓的物理地址。

物理地址就是数据在内存中实际存放的位置,8086有20根地址线,这决定了物理地址的位数;16根数据线决定了8086的寄存器只有16位,即段寄存器和通用寄存器都是16位的,所以,段地址和偏移量也都是16位。计算机中所有信息都是以二进制的形式存储的,当要合成20位的物理地址时,地址加法器将以二进制形式存放的段地址左移4位(段地址
* 16),变成20位,然后再加上16位的偏移地址,得到最后20位的物理地址

段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址.段地址的存在是由系统的分段存储决定的,通过段地址和偏移地址就能对数据进行寻访.段地址 * 16必然是16的倍数,所以一个段的其实地址也一定是16的倍数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐