博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对8086地址的理解.
阅读量:4661 次
发布时间:2019-06-09

本文共 726 字,大约阅读时间需要 2 分钟。

昨天看的是书,看到后面,始终对地址这块有些不理解. 尤其是怎么结算出来的.

晚上就找了个视频来看.果然容易懂些.

首先就是Intel的8086有一些硬件上的设计.

(果断记不清楚地址总线是20位和什么是16位的了.先google下.)

维基大神是这样说的:

所有的内部寄存器、内部及外部数据总线都是16位宽,因此是完全的16位微处理器。

20位外部地址总线,因此物理寻址空间为1MiB (即220 = 1,048,576).

20位外部地址总线,因此物理寻址空间为1MiB (即220 = 1,048,576).

由于内部寄存器都是16位,对1M地址空间寻址时采取了段寻址方式。

数据总线与地址总线复用了前16个引脚。16位的I/O地址,因此独立的I/O寻址空间为16KiB (即216 = 65,536).

由于8086内部的地址寄存器是16 位宽,因而最大线性寻址空间为64 KiB.使用超过64 KiB内存空间的程序设计时,需要调整段寄存器(segment registers)。

果断发现维基大神上很详细,而且比一般的书容易懂多了.

应该是为了让CPU能够寻址到1M  

8086中就把1M地址分为16个字节一段,总共64个段(每个字节8bit,是内存存储中最小的单元).

每个段开始物理地址的高4位为段地址。后面就跟对应的偏移地址。

现在还没弄清楚,段的第一个地址是0x0001  还是0x0000;

或者都错了。。。在下面的视频中继续学习

 ps维基大神的连接:http://zh.wikipedia.org/wiki/Intel_8086

转载于:https://www.cnblogs.com/tangbin_sc/p/3633196.html

你可能感兴趣的文章