8086cpu把1MB 的内存空间分成几个逻辑段?
一个段,范围就是64K。
段和段,可以重叠,甚至可以完全重合,即共用同一个64K。那么,就是可以随便分,多少段都行。 如果不重叠,最多就是分成16个段。因为:16 × 64K = 1M。
分段技术只是逻辑上的概念,并不是说非要把1MB的内存空间划分了,利用段+偏移来寻址,这样有助于数据的访问,不同的段只需要加载段首地址就可以实现访问了。
若干个具体是多少是不确定了,因为在实际的应用中,比如数据段和代码段这是可以重叠的,所以不能确定哪个段是某个固定的大小。另外利用分段技术可以很容易实现重定向的,这才是采用分段技术的关键说在。
扩展资料:
重叠部分可以是数据段也可以是代码段,一般规定一个段是64K,当用不了这么大的空间时就可以重叠了,比如说数据段在代码段的前端,如果数据段只占了8K空间,那么代码段就可以跟在其后进行分配了,这就叫重叠。应该从逻辑概念上理解为何要推出分段技术。
64kb,地址的定位是把段的基地址的16进制左移四位再加上偏移量,所以偏移量的取值范围决定了一个段中最多可以寻址的范围,也就是这个段可以存储多少单元,偏移量的范围是0000h-ffffh,所以是64kb。
2024-08-28 广告
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工作在任何状态下都可以保证数据通道不会阻塞。
如果还不是很清楚,可以继续跟贴
感觉您的回答比较靠谱,那么您说的数据段和代码段这是可以重叠的又如何解释呢?重叠部分是数据还是代码?请原谅我的无知,谢谢。
重叠部分可以是数据段也可以是代码段,一般规定一个段是64K,当用不了这么大的空间时就可以重叠了,比如说数据段在代码段的前端,如果数据段只占了8K空间,那么代码段就可以跟在其后进行分配了,这就叫重叠。应该从逻辑概念上理解为何要推出分段技术。
段和段,可以重叠,甚至可以完全重合,即共用同一个64K。
那么,就是可以随便分,多少段都行。
如果不重叠,最多就是分成16个段。
因为:16 × 64K = 1M。
应该是16—64K之间