永发信息网

8086CPU给出物理地址的方法

答案:2  悬赏:10  手机版
解决时间 2021-03-07 17:07
  • 提问者网友:且恨且铭记
  • 2021-03-06 21:26
段地址X16+偏移地址=物理地址,而段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址。问:段地址为什么要X16 有什么含义?
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-03-06 21:32
一个寄存器16位,访问的最大内存太小,只有111111111111111(二进制)=64K(十进制)是吧,怎么办?幸亏CPU提供了一种机制:物理内存(实际地址)=段基址*16+偏移地址来增大内存访问(虽然很少人用汇编出这么大的程序,也要预防万一),你看CPU是这样的:段基址*16,段寄存器是16位,乘以16(十六进制)=10000(二进制)=1左偏移4位,这时你看一下,若段基址为64K(十进制)=111111111111111(二进制)乘以16,就是左偏移4位,就等于1111111111111110000(二进制)=1024k(十进制)=1M了。看见了吧,增加这机制很有好处,访问的地址大了!虽然这很不现实,但是,CPU增加这种特性,对于数据访问很方便的!
全部回答
  • 1楼网友:毛毛
  • 2021-03-06 23:00

基地址 *  16  =  物理地址

由于8086是16位的,每个寄存器一次只能访问最大的内存是64k(2 ^ 16 = 64k),所以cpu提供以上机制

64k * 16 = 1m

就可以寻址最大的内存是1m了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯