8086cpu把1MB 的内存空间分成几个逻辑段?

8086有20位地址线,因此可以直接寻址的最多内存空间为1MB。所谓分段技术,就是把1MB的存储空间分成若干个逻辑段。这若干个到底是多少个?是根据什么确定的?

一个段,范围就是64K。

段和段,可以重叠,甚至可以完全重合,即共用同一个64K。那么,就是可以随便分,多少段都行。 如果不重叠,最多就是分成16个段。因为:16 × 64K = 1M。

分段技术只是逻辑上的概念,并不是说非要把1MB的内存空间划分了,利用段+偏移来寻址,这样有助于数据的访问,不同的段只需要加载段首地址就可以实现访问了。

若干个具体是多少是不确定了,因为在实际的应用中,比如数据段和代码段这是可以重叠的,所以不能确定哪个段是某个固定的大小。另外利用分段技术可以很容易实现重定向的,这才是采用分段技术的关键说在。

扩展资料:

重叠部分可以是数据段也可以是代码段,一般规定一个段是64K,当用不了这么大的空间时就可以重叠了,比如说数据段在代码段的前端,如果数据段只占了8K空间,那么代码段就可以跟在其后进行分配了,这就叫重叠。应该从逻辑概念上理解为何要推出分段技术。

64kb,地址的定位是把段的基地址的16进制左移四位再加上偏移量,所以偏移量的取值范围决定了一个段中最多可以寻址的范围,也就是这个段可以存储多少单元,偏移量的范围是0000h-ffffh,所以是64kb。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-26

8086cpu把1MB 的内存空间分成一个段,范围就是64K。

段和段,可以重叠,甚至可以完全重合,即共用同一个64K。那么,就是可以随便分,多少段都行。如果不重叠,最多就是分成16个段,因为:16 × 64K = 1M。

8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

扩展资料

8086类型的CPU地址总线宽度为20,寻址能力相当于2的20次方,数据总线为16,一次性传递数据2B,读取1k数据需要512次。8086把1MB的存储空间分为若干个逻辑段,每段最多可含64KB长的连续存储单元。每个段由软件赋给一个起始地址,这个地址低四位为零。

8086CPU最大可访问1MB的存储空间。8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

微机原理中提到在计算机硬件中传递的高低电平的2进制信号,1根是2的1次方,2根是2的2次方,以此类推20根就是2的20次方,也就是2^10*2^10--2的10次方乘以2的10次方,也就是1024*1024=1MB。这样才可以在8086工作在任何状态下都可以保证数据通道不会阻塞。

本回答被网友采纳
第2个回答  推荐于2017-10-03
分段技术只是逻辑上的概念,并不是说非要把1MB的内存空间划分了,利用段+偏移来寻址,这样有助于数据的访问,不同的段只需要加载段首地址就可以实现访问了。若干个具体是多少是不确定了,因为在实际的应用中,比如数据段和代码段这是可以重叠的,所以不能确定哪个段是某个固定的大小。另外利用分段技术可以很容易实现重定向的,这才是采用分段技术的关键说在。
如果还不是很清楚,可以继续跟贴追问

感觉您的回答比较靠谱,那么您说的数据段和代码段这是可以重叠的又如何解释呢?重叠部分是数据还是代码?请原谅我的无知,谢谢。

追答

重叠部分可以是数据段也可以是代码段,一般规定一个段是64K,当用不了这么大的空间时就可以重叠了,比如说数据段在代码段的前端,如果数据段只占了8K空间,那么代码段就可以跟在其后进行分配了,这就叫重叠。应该从逻辑概念上理解为何要推出分段技术。

追问

非常感谢,您的答案将被采纳为最佳答案,我希望能加您为百度Hi的好友或者QQ好友。

追答

谢谢~~我加你了。

本回答被提问者采纳
第3个回答  2011-02-25
一个段,范围就是64K。
段和段,可以重叠,甚至可以完全重合,即共用同一个64K。
那么,就是可以随便分,多少段都行。
如果不重叠,最多就是分成16个段。
因为:16 × 64K = 1M。
第4个回答  2011-02-25
理论上可分为:1024*1024/16=65536(个)追问

应该是16—64K之间

相似回答