第02章8086体系结构(修改稿).ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
执行部件(EU) 执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成。 其主要功能是执行指令。 总线接口部件(BIU) 总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成。 其主要功能: 形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行 访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 EU执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列。 二、 8086CPU的寄存器结构 通用寄存器 段寄存器 标志寄存器FR 指令指针寄存器IP 1、 通用寄存器 指令执行部件(EU)设有8个通用寄器 通用寄存器 AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。 BX(Base Register) 基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。 寄存器的特殊用途和隐含性质 在指令中没有明显的标出,而这些寄存器参加操作,称之为“隐含寻址”。 2、段寄存器 总线接口部件BIU设有4个16位段寄存器 CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高16位。 DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位。 SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位。 ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的高16位。 段寄存器使用约定 3、标志寄存器FR 标志寄存器FR 4、指令指针寄存器 IP IP :BIU要取指令的地址。 三、8086CPU的管脚及功能 1、8086的两种工作方式 二、8086存储器的分体结构 三、存储器的分段 为什么分段 8086存储器分4个段 段基地址与段寄存器 偏移地址的产生 逻辑地址、物理地址 四、堆栈段的使用 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式。 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定,堆栈地址由高向低增长,栈底设在存储器的高地址区。 (一)数据在内存的位置 字节、字、双字及其地址 (二)8086CPU对字/字节的读操作 16位读 从偶地址读 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体。 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式。 段基地址和偏移地址组成了逻辑地址 格式为:段基地址:偏移地址 0 0 0 0 段基地址(16位) 段首地址 × × × ? ? ? × × × 物理地址=段基地址×16+偏移地址 8086分段的好处 1、解决了16位地址寄存器对20位物理地址的寻址问题 2、实现了程序代码的浮动装配 8086复位后程序运行的起始地址 2.3.1最小模式下的8086时序图 2.3.2 最小模式下的写周期时序 2.3.4 最大模式下的读周期时序 * * * * * * * 第二章 8086体系结构 8086CPU结构 8086系统的结构和配置 8086CPU内部时序 2.1 8086CPU结构 8086CPU的内部结构 8086CPU的寄存器结构 8086CPU的管脚及功能 8086CPU的内部结构: 指令执行部件(EU,Execution Unit) 总线接口部件(BIU,Bus Interface Unit) 一、 8086CPU的内部结构 EU BIU 指令队列 EU和BIU的操作原则 l?BIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。 l?EU每执行完一条指令,从指令队列队首取指。系统初始化后,指令队列为空,EU等待BIU从内存取指,填充指令队列。 l?EU取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需访问存储器或I/O,EU向BIU发出访问总线请求。 当BIU接到EU的总线请求,若正忙(正在执行取指总线周期),则必须等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。 BH

文档评论(0)

pujunlin + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档