.存储器结构.pptVIP

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

2-3 8086的存储器组织 (2)物理地址的形成 在8086/8088系统中,每个存储单元都有物理地址和逻辑地址两种地址表示。 物理地址: 20位, 范围为00000H~FFFFFH。 逻辑地址:段基值+偏移量 当A0=0时候,选择访问偶地址存储器,偶地址存储体与数据总线低8位相连,从低8位数据总线读/写一个字节; 当 =0时候,选择访问奇地址存储体,奇地址存储体与数据总线高8位相连,由高8位数据总线读/写一个字节; 当A0=0, =0时,访问两个存储体,读/写一个字 存储单元的访问 存储器中存放的信息称为存储单元的内容,例如,存储单元00100H中的内容为34H,则可以表示为(00100H)=34H 一个字在存储器中的存储 例如(00100H)=1234H (00103H)=0152H在内存中的位置如下图 如果读写一个字节,那么只需要启动某个存储体,只有相应的8为数据在数据总线上有效 启动偶地址存储体的话,低8位数据有效,高8位数据被忽略 启动奇地址存储体的话,高8位数据有效,低8位数据被忽略 当CPU读写一个字的时候 如字单元地址从偶地址开始,只需访问一次存储体 如字单元地址从奇地址开始,那么CPU需要两次访问存储体 为了加快程序运行速度,编程时候注意从存储器偶地址开始存放字数据,这种存放方式也称为“对准存放” 在8088CPU系统,外部数据线有8位,CPU每次访问存储器只读写一个字节,读写一个字需要两次访问存储器,这时候无需有BHE和A0来选择高8位和低8位,整个系统的运行速度会慢一点 堆栈存取数据的原则是“先进后出”,存取数据的方法是压入(PUSH)和弹出(POP)。指针SP的变化由CPU自动管理。 堆栈主要用于中断及子程序调用,也可以用于数据暂时保存。 在进行中断服务子程序和子程序调用前,原来CPU中现行的信息(IP,以及相关寄存器)都必须保存。在调用后,又必须恢复原来保存信息,这些由堆栈来完成。 注意两点 1.先进入的内容要后弹出,保证返回寄存器内容不会发生错误 例如:PUSH AX PUSH BX PUSH CX POP CX POP AX POP BX 这样会引起AX,BX原来保存的内容改变,AX与BX内容可以相互交换 2 PUSH和POP的指令要成对,如果不匹配的话,则会造成返回主程序的地址出错 例如: PUSH AX PUSH BX PUSH CX 。。。。 POP CX POP BX RET * * 一、存储器地址的分段 矛盾:存储器地址空间1MB,20bit地址线;内部各寄存器和数据总线均为16bit。 1.存储器地址的分段 解决方法:将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。 允许各逻辑段在整个存储空间浮动,段与段之间可以是连续的,也可以是分开的或重叠的。 00000H 逻辑段2=64KB 逻辑段1起点 逻辑段2起点 逻辑段3起点 逻辑段4起点 FFFFFH 逻辑段1=64KB 逻辑段4=64KB 逻辑段3=64KB 每个段的首地址称为“段基值”, “段基值”必须能被16整除(XXXX0H)。 程序执行前,分别对相应的段寄存器CS,DS,SS,ES置“段基值”,若程序长度大于64KB,则可通过对CS送新的“段基值”将程序转移到新段中。 逻辑地址:允许在程序中编排的地址; 2. 20位物理地址的形成 物理地址:信息在存储器中实际存放的地址; 对给定的任一存储单元,有两部分逻辑地址: 段基址(段地址)——由CS,DS,SS,ES决定 段内偏移量(段内有效地址)——(该单元相对于段基址的距离) 段地址 0000 段内有效地址 + 0000 物理地址(20bit) 16bit 16bit 20bit 存放在某一个段寄存器中,是一个逻辑段的起始单元地址的高16位。 某个存储单元与它所在段的段基址之间的字节距离。 表示方法: 段基值:偏移量 例如,3267H:00A0H 3. 逻辑地址的来源; 操作类型 隐含段地址 替换段地址 偏移地址 取指令 CS 无

文档评论(0)

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

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

1亿VIP精品文档

相关文档