8086/8088系统中,存储器为什么要分段,一个段的最大和最小各为多少字节

[复制链接]
查看11 | 回复5 | 2020-7-18 13:58:39 | 显示全部楼层 |阅读模式
8086/8088系统中,存储器分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。存储器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。由于存储器的个数和容量都有限,不可能把所有中间结果都存储在存储器中,所以,要对存储器进行适当的调度。根据指令的要求,管理安排适当的寄存器,避免操作数过多的传送操作。8086/8088CPU可直接寻址1MB的存储器空间,直接寻址需要20位地址码,而所有内部寄存...
回复

使用道具 举报

千问 | 2020-7-18 13:58:39 | 显示全部楼层
分段的意义将存储单元的实际地址(20位)分成二部分来表示,即段的起始地址和段内的偏址地址二者均可用16位来表示,从而实现了对20位物理地址的描述、存储、操作、形成段寄存器寻址范围为64k字节以下是2个系统的资料8086/8088微处理器 8086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用 HMOS工 ...
回复

使用道具 举报

千问 | 2020-7-18 13:58:39 | 显示全部楼层
8086CPU的数据总线是16位。地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。如果地址总线太窄的话,可寻址范围会很小。如果地址总线设计为16位的话,可寻址空间是2^16=64KB,这在当时被认为是不够的;Intel最终决定要让80...
回复

使用道具 举报

千问 | 2020-7-18 13:58:39 | 显示全部楼层
cpu为16位 而物理地址是20位 所以将地址空间分段。将其地址空间分位若干个64KB的段,最大64KB,最小16B。...
回复

使用道具 举报

千问 | 2020-7-18 13:58:39 | 显示全部楼层
8086/8088CPU,具有 20 条地址线。所以,它可以访问 1MB 的存储器范围。由于 CPU 中的寄存器,都是十六位的。20 位的地址,不可能正常存放。所以,Intel 公司就采用了一个笨办法:分段访问。每个段,仅有 16 地址数据。因此,CPU 就能随意的访问:64KB。CPU 共有四个段寄存器。所以,CPU 可以访问的最大值:...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行