存储器如何分段
❶ 怎样理解存储器地址的分段,老是不理解为啥要分段啊
8086CPU的数据线是16位的(16位机),所以,CPU内部的寄存器包括地址寄存器都是16位的,因而对地址的操作也只能是16位,也就是说,对于8086,操作数的寻找限制在64 K范围内。但8086有20条地址线,它的直接寻址能力为1M字节。这样就产生了一个矛盾,即16位地址寄存器如何去寻址20位的存储器的物理地址。解决这个问题的办法就是8086对存储器进行分段管理,将1 M字节的内存储器,分为若干个存储区域,每个区域称为一个段,每一段都在一个连续的区域内,容量最大为64 K字节。
合成物理地址时,将段地址左移4位(扩展成20位),再加上16位偏移量。段地址是由8086中的段寄存器提供的。物理地址形成公式为:物理地址=(段寄存器)×16+16位偏移量。
❷ 8086/8088存储器怎样分段
处理器要执行任务必须在内存中提取命令,这就需要对内存中的
命令进行定位,就象在硬盘中查找文件,是靠柱面,磁道,扇区和OS的文件系统来进行定位是一样的。
而8086采用分段机制,无论是对内存的利用率,易操作性和易编程
性来说都是一个不错的选择。
❸ 8086/8088CPU使用的存储器为什么要分段怎么分段
8086/8088系统中,存储器为什么要分段。
一个段最大为多少字节。
最小为多少字节。
解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。
一个段最大为64KB,最小为16B。
(3)存储器如何分段扩展阅读:
段的开始地址总是是16的倍数。即:若一个段的起始地址为0000h,那么另一个段(重叠第一个段)的起始地址将为:0010h(即16),下一个段的起始地址将为0020h(32)。
一个段的段号由其物理地址的前4个16进制数组成。(如:FFFF)
通常,程序只写出偏移量(从段的第一个字节到要定位地址的距离),段号可以通过上下文判断。偏移量大小从0000到FFFF。
❹ 存储器的分段
这里很清楚啊。CPU的地址线是20位,低4位必须为0,那么就剩下16位可以用来分段。2的16次方正好是64K.这就是答案了。
❺ 8086/8088cpu使用的存储器为什么要分段怎样分段
8086CPU将1MB存储器空间分成许多逻辑段(.SEGMENT),每个段最大限度为64KB,内部结构中和程序设计时采用逻辑段管理内存,就形成了逻辑地址,表达成“段基地址:偏移地址”。
❻ 存储器分段的问题
如果说推动存储管理方式从固定分区到动态分区分配,进而又发展到分页存储管理方式的主要动力,是提高内存利用率,那么,引入分段存储管理方式的目的,则主要是为了满足用户(程序员)在编程和使用上多方面的要求,其中有些要求是其它几种存储管理方式所难以满足的。
因此,这种存储管理方式已成为当今所有存储管理方式的基础。