《微机原理与接口技术》第2章8086微处理器2存储器.pptVIP

《微机原理与接口技术》第2章8086微处理器2存储器.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《微机原理与接口技术》第2章8086微处理器2存储器

2.1.2.3 8086 的存储器组织 一、存储器地址空间和数据存储格式 8086 的存储器是以字节(8 位)为单位组织的。它们具有 20 条地址总线,所以可寻址的存储器地址空间容量为220 B(约1 MB)。每个字节对应一个唯一的地址,地址范围为0~220-1(用十六进制表示为 00000~FFFFFH)。如下图 所示。 存储器内两个连续的字节,定义为一个字。一个字中的每个字节,都有一个字节地址,每一个字的低字节(低 8 位)存放在低地址中, 高字节(高 8 位)存放在高地址中。 字的地址指低字节的地址。各位的编号方法是最低位(LSB)为位 0。一个字节中,最高位(MSB)编号为位 7; 一个字中最高位的编号为位 15。 8086 允许字从任何地址开始。字的地址为偶地址时,称字的存储是对准的,若字的地址为奇地址时,则称字的存储是未对准的。  二、存储器的分段和物理地址的形成 从前面的介绍可知,8086 CPU地址总线 20 条, 存储器地址空间为 1 MB。但CPU内部可以提供地址的寄存器BX、 IP、SP、BP、SI和DI及算术逻辑运算单元ALU都是 16 位, 只能直接处理 16 位地址,即寻址范围为 64 KB, 因此, 扩大寻址范围成为一个难题。8086 CPU巧妙地采用了地址分段方法, 将寻址范围扩大到 1 MB。 在 8086 中,把 1 MB的存储器空间划分成若干个逻辑段, 每段最多为空间容量是 64 KB的存储单元。各逻辑段的起始地址必须是能被 16 整除的地址,即段的起始地址的低 4 位二进制码必须是 0。一个段的起始地址的高 16 位被称为该段的段地址。 显然,在 1 MB的存储器地址空间中,可以有216个段地址。 任意相邻的两个段地址相距 16 个存储单元。段内一个存储单元的地址,可用相对于段起始地址的偏移量来表示,这个偏移量称为段内偏移地址,也称为有效地址EA。 偏移地址也是 16 位的,所以,一个段最大可以包括一个 64 KB的存储器空间。 由于相邻两个段地址只相距 16 个单元,所以段与段是互相覆盖的,如下图 所示。 每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码。在CPU与存储器之间进行任何信息交换时,需利用物理地址来查找所需要访问的存储单元。 逻辑地址由段地址和偏移地址两部分组成。段地址和偏移地址都是无符号的 16 位二进制数,常用 4 位十六进制数表示。 逻辑地址的表示格式为:段地址∶偏移地址。例如 8000∶0100 表示段地址为 8000H,偏移地址为 0100H。上述格式中的段地址有时用段寄存器代替。 知道了逻辑地址, 可以求出它对应的物理地址: 物理地址=段地址×10H+偏移地址 (3 - 1) 因此 8000∶0100 的物理地址为 80100H。 8086 CPU中BIU单元的加法器Σ用来完成物理地址的计算, 如下图 所示。 在访问存储器时,段地址总是由段寄存器提供的。8086 微处理器的BIU单元设有 4 个段寄存器(CS、 DS、 SS、 ES), 所以CPU可通过这 4 个段寄存器来访问 4 个不同的段。 8086/8088CPU中有一个地址加法器,它将段寄存器提供的段地址自动乘以10H即左移4位,然后与16位的偏移地址相加,并锁存在物理地址锁存器中。 物理地址=段基址 * 10H +偏移地址。 段基址:CS、DS、ES、SS。 偏移地址:IP、DI、SI、BP、SP等。 所谓段基址就是逻辑段的首地址,存放在CS、DS、ES、SS4个16位寄存器中。 所谓偏移地址是指一个存储单元与它所在段的基址之间的距离(以字节数计)。 段寄存器值 偏移量 + 物理地址 16位 4位 16位 20位 存储器物理地址的计算方法 三、信息的分段存储与段寄存器的关系 段寄存器的利用不仅使存储器地址空间扩大到 1 MB, 而且为信息按特征分段存储带来了方便。存储器中的信息可分为程序、 数据和计算机的状态等信息。为了操作方便,存储器可相应地划分为:程序区,该区存储程序的指令代码;数据区, 它存储原始数据、中间结果和最后结果;堆栈区,用以存储需要压入堆栈的数据或状态信息。段寄存器的分工是: 代码段寄存器CS划定并控制着程序区;数据段寄存器DS和附加段寄存器ES控制着数据区;而堆栈段寄存器SS对应着堆栈存储区。 下表列出了各种类型访问存储器时所要使用的段寄存器和段内偏移地址的来源,它规

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档