欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《存储器结构》PPT课件.ppt

    • 资源ID:53643360       资源大小:213KB        全文页数:28页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《存储器结构》PPT课件.ppt

    2-3 8086的存储器组织一、存储器地址的分段矛盾:存储器地址空间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)16bit16bit20bitl(2)物理地址的形成l 在8086/8088系统中,每个存储单元都有物理地址和逻辑地址两种地址表示。l 物理地址:20位,范围为00000HFFFFFH。l 逻辑地址:段基值+偏移量存放在某一个段寄存器中,是一个逻辑段的起始单元地存放在某一个段寄存器中,是一个逻辑段的起始单元地址的高址的高16位。位。某个存储单元与它所在段的段基址之间的字节距离。某个存储单元与它所在段的段基址之间的字节距离。表示方法表示方法:段基值:偏移量段基值:偏移量 例如,例如,3267H:00A0H3.逻辑地址的来源;操作类型隐含段地址替换段地址偏移地址取指令CS无IP堆栈操作SS无SPBP间址SSCS、DS、ESEA存/取操作数DSCS、SS、ESEA源字符串DSCS、SS、ESSI目的字符串ES无DIEA-有效地址,表示操作数的偏移地址。1.问题的提出:问题的提出:二、8086存储器的分体结构 8位机(MCS-51、8088)的存储器地址空间和数据存储格式以字节(8bit)为单位组织存储器地址空间,访问一次存储器,获得一个字节的数据。而8086CPU的数据总线为16位,CPU除了可以对一个字节寻址外,还必须能进行一个字的读写。即:如何组织数据存储格式使CPU访问一次存储器,获得一个字的数据。硬件条件:硬件条件:(1)将1M的存储空间分成两个存储体:偶地址和奇地址存储体00000000010000200004FFFFEFFFFF0000300005512K*8bitA0=0512K*8bitA0=1D0D7D8D15(2)将数据总线的低8位与偶地址存储体数据线相连,数据总线的高8位与奇地址存储体数据线相连。(3)用地址线A0和BHE信号选择存储体l当A0=0时候,选择访问偶地址存储器,偶地址存储体与数据总线低8位相连,从低8位数据总线读/写一个字节;l当 =0时候,选择访问奇地址存储体,奇地址存储体与数据总线高8位相连,由高8位数据总线读/写一个字节;l当A0=0,=0时,访问两个存储体,读/写一个字A0D15D8 D7D0存储单元的访问A1-A19CSA0-A18D15-D8CSA0-A18BHE 奇地址奇地址(高字节)(高字节)存储体存储体 512K8bit 偶地址偶地址(低字节)(低字节)存储体存储体 512K8bitD0-D7无效无效有效有效无效无效有效有效访访问问一一个个字字 是控制是控制CPU高高8位数据总线的允许信位数据总线的允许信号,号,A0端是控制端是控制CPU低低8位数据总线上的允位数据总线上的允许信号。许信号。8086地址锁存器奇存储体偶存储体A1A19A0BHEA0A19BHED0D7D8D15BHEA0操作总线使用情况00从偶地址开始读/写一个字AD15-AD001从奇地址开始读/写一个字节AD15-AD810从偶地址开始读/写一个字节AD7-AD011无效l存储器中存放的信息称为存储单元的内容,例如,存储单元00100H中的内容为34H,则可以表示为(00100H)=34Hl一个字在存储器中的存储l例如(00100H)=1234Hl(00103H)=0152H在内存中的位置如下图3412520100100H00100H00103H00103H(00100H)=1234H (00103H)=0152H 可以知道,一个字可以从偶地址开始存放,也可以可以知道,一个字可以从偶地址开始存放,也可以从奇地址开始存放,从奇地址开始存放,但是但是8086CPU8086CPU访问存储器都是访问存储器都是以字为单位进行的,并从偶地址开始以字为单位进行的,并从偶地址开始l如果读写一个字节,那么只需要启动某个存储体,只有相应的8为数据在数据总线上有效l启动偶地址存储体的话,低8位数据有效,高8位数据被忽略l启动奇地址存储体的话,高8位数据有效,低8位数据被忽略00.10010H10011H11223300.10010H10011H112233 00 11(a)从偶地址上读一个字节(b)从奇地址上读一个字节l当CPU读写一个字的时候l如字单元地址从偶地址开始,只需访问一次存储体 33 22(c)从偶地址上读一个字00.10010H10011H11223310012H10013Hl如字单元地址从奇地址开始,那么CPU需要两次访问存储体 11(c)从奇地址上读一个字00.10010H10011H11223310012H10013H 22第一次取奇地址上数据(偶地址8位被忽略掉)第二次取偶地址上数据(奇地址8位被忽略掉)l为了加快程序运行速度,编程时候注意从存储器偶地址开始存放字数据,这种存放方式也称为“对准存放”l在8088CPU系统,外部数据线有8位,CPU每次访问存储器只读写一个字节,读写一个字需要两次访问存储器,这时候无需有BHE和A0来选择高8位和低8位,整个系统的运行速度会慢一点堆栈是利用RAM区中某一指定区域(由用户规定),用来暂存数据或地址的存储区。堆栈段是由段定义语句在内存中定义的一个段,段基址由SS指定,栈顶是由堆栈指针SP指定的。堆栈区的栈底是固定的最高地址,其栈顶根据堆栈数据的压入或取出的变化不断改变。栈顶是堆栈区的最低地址,用堆栈指针SP指示。三、堆栈的概念C1000C0000向上增长SP栈底 堆栈存取数据的原则是“先进后出”,存取数据的方法是压入(PUSH)和弹出(POP)。指针SP的变化由CPU自动管理。每执行一条PUSH指令,SP(SP)2,SP指向新栈顶,然后将低位数据压入(SP)单元,高位数据压入(SP+1)单元。每执行一条POP指令,CPU先将当前的栈顶SP(低位数据)和SP+1(高位数据)中的内容弹出,然后再自动修改指针,SP(SP)2。SP指向新栈顶。例题例题例题例题 若已知当前若已知当前SS1050H,SP0008H,AX1234H,则则8086系统中堆栈的入栈和出栈操作如下图所示。系统中堆栈的入栈和出栈操作如下图所示。12AA10500H10501H10502H10503H10504H10505H10506H10507H10508H栈底栈底BB10509H段基址段基址(SS)AX3412123434PUSH AX1050AHBBAAAABB1234BX34POP BXPOP AX12栈顶栈顶栈顶栈顶SPSP000FAH000FBH000FCH000FDH000FEH000FFH00100H36H95H2、(SP)-2SPAH(000FFH)AL(000FEH)(SP)=00FEH(AX)=9536H(BX)=0475H(AX)=0475H(BX)=9536H1、MOVSP,0100H2、PUSHAX3、PUSHBX4、POP AX5、POP BX例:执行压栈和出栈的过程假设SS=0000H75H04H3、(SP)-2SPBH(000FDH)BL(000FCH)(SP)=00FCH1、设栈顶(SP)=0100H4、(000FCH)AL(000FDH)AH(SP)+2SP(SP)=00FEH 75H04H5、(000FEH)BL(000FFH)BH(SP)+2SP(SP)=0100H36H95Hl堆栈主要用于中断及子程序调用,也可以用于数据暂时保存。l在进行中断服务子程序和子程序调用前,原来CPU中现行的信息(IP,以及相关寄存器)都必须保存。在调用后,又必须恢复原来保存信息,这些由堆栈来完成。注意两点l1.先进入的内容要后弹出,保证返回寄存器内容不会发生错误l例如:PUSH AXl PUSH BXl PUSH CXl POP CXl POP AXl POP BXl这样会引起AX,BX原来保存的内容改变,AX与BX内容可以相互交换l2 PUSH和POP的指令要成对,如果不匹配的话,则会造成返回主程序的地址出错 例如:PUSH AXl PUSH BXl PUSH CXl 。l POP CXl POP BX l RET

    注意事项

    本文(《存储器结构》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开