关于物理地址的问题
物理地址都是20位的,但在8086\8088中寄存器都是16位的,请问20位物理地址计算出来后是存在什么地方的呢??? 20位物理地址是由段地址和偏移地址组成的,即20位物理地址=段地址*10h+偏移地址,20位物理地址不会存放在哪里,是计算出来的,仔细看看视屏,问的有点不着边的问题:L 段地址*16=20位段地址 该20位段地址应该也需要存储的吧,不存储的话,怎么和后面的16位偏移地址相加呢 16位的段地址+16位的偏移地址,结果才是20位的物理地址,别弄糊涂了 应该是存在不同的内存中吧 有可能是cpu的内存 也有可能是显卡的内存等等:lol 貌似我没去理解这个存在哪里我们应该不需要知道它存在哪里的吧 winddyj 发表于 2011-6-4 18:55 static/image/common/back.gif16位的段地址+16位的偏移地址,结果才是20位的物理地址,别弄糊涂了
是16位段地址*16,这样就相当于段地址左移4位,低4位补0,这样就变成20位段地址+16位偏移地址=20位物理地址
两个16位地址相加,不可能得到20位的数据 再生缘 发表于 2011-6-4 19:50 static/image/common/back.gif
貌似我没去理解这个存在哪里我们应该不需要知道它存在哪里的吧
只是个人好奇而已 zackary 发表于 2011-6-4 23:25 static/image/common/back.gif
是16位段地址*16,这样就相当于段地址左移4位,低4位补0,这样就变成20位段地址+16位偏移地址=20位物理地 ...
像小甲鱼讲的那个血汗加工厂就会自动转的 这个我们只要知道就可以 我估计他也应该是存储在地址加法器中 我觉得是存在地址总线里。
页:
[1]