zackary 发表于 2011-6-4 17:18:44

关于物理地址的问题

物理地址都是20位的,但在8086\8088中寄存器都是16位的,请问20位物理地址计算出来后是存在什么地方的呢???

78221723 发表于 2011-6-4 17:38:10

20位物理地址是由段地址和偏移地址组成的,即20位物理地址=段地址*10h+偏移地址,20位物理地址不会存放在哪里,是计算出来的,仔细看看视屏,问的有点不着边的问题:L

zackary 发表于 2011-6-4 17:53:37

段地址*16=20位段地址 该20位段地址应该也需要存储的吧,不存储的话,怎么和后面的16位偏移地址相加呢

winddyj 发表于 2011-6-4 18:55:31

16位的段地址+16位的偏移地址,结果才是20位的物理地址,别弄糊涂了

夜读金瓶梅 发表于 2011-6-4 19:16:03

应该是存在不同的内存中吧 有可能是cpu的内存 也有可能是显卡的内存等等:lol

再生缘 发表于 2011-6-4 19:50:12

貌似我没去理解这个存在哪里我们应该不需要知道它存在哪里的吧

zackary 发表于 2011-6-4 23:25:12

winddyj 发表于 2011-6-4 18:55 static/image/common/back.gif
16位的段地址+16位的偏移地址,结果才是20位的物理地址,别弄糊涂了

是16位段地址*16,这样就相当于段地址左移4位,低4位补0,这样就变成20位段地址+16位偏移地址=20位物理地址
两个16位地址相加,不可能得到20位的数据

zackary 发表于 2011-6-5 09:23:20

再生缘 发表于 2011-6-4 19:50 static/image/common/back.gif
貌似我没去理解这个存在哪里我们应该不需要知道它存在哪里的吧

只是个人好奇而已

再生缘 发表于 2011-6-5 09:53:32

zackary 发表于 2011-6-4 23:25 static/image/common/back.gif
是16位段地址*16,这样就相当于段地址左移4位,低4位补0,这样就变成20位段地址+16位偏移地址=20位物理地 ...

像小甲鱼讲的那个血汗加工厂就会自动转的 这个我们只要知道就可以

zackary 发表于 2011-6-5 10:03:44

我估计他也应该是存储在地址加法器中

loop 发表于 2011-6-5 12:30:54

我觉得是存在地址总线里。
页: [1]
查看完整版本: 关于物理地址的问题