微机原理与接口技术-电子教案-李云强 第2章 微处理器.ppt

微机原理与接口技术-电子教案-李云强 第2章 微处理器.ppt

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术 中国水利水电出版社 第2章 微处理器 2.1 8086/8088 CPU结构 2.2 8086/8088 CPU引脚功能 2.3 8086/8088 中断系统 2.4 8086 系统配置 2.5 8086 CPU的典型时序及操作 2.6 32位微处理器编程结构简介 2.1 8086/8088 CPU结构 2.1.1 8086/8088 CPU内部结构 16位微处理器基本结构具有如下特点: 引脚功能复用 总线分时复用 可控三态电路 单总线、累加器结构 Intel 8086 CPU是16位微处理器。外型为双列直插式,有40个引脚。8086CPU有16根数据线和20根地址线,直接寻址空间为220byte(1MB)。时钟频率有3种:8086型微处理器为5MHz,8086-2型为8MHz,8086-l型为10MHz。 如图2-1所示,8086/8088 CPU的内部结构包含两大部分:指令执行单元(EU)和总线口单元(BIU) EU从BIU的指令队列中取出指令,执行指令 BIU完成取指令,读操作数,送结果,所有与外部的操作由其完成 BIU和EU的操作是并行的。 若需要访问内存或I/O端口,则由EU向BIU发出访问所需要的地址,在BIU中形成物理地址,然后访问内存或I/O端口,得到操作数后送到EU,或将结果到送指定的内存单元或I/O端口。这种并行工作方式,大大提高了系统工作效率。 总线接口部件BIU BIU具有地址形成、取指令、指令排队、读/写操作数和总线控制的功能,它是CPU与外部(内存和I/O端口)的接口,它提供了16位双向数据总线和20位地址总线,完成所有外部总线操作。 它由4个16位段寄存器、16位指令指针IP和内部暂存器、6字节(8088为4字节)指令队列缓存器、20位地址加法器以及总线控制逻辑部件等组成。 段寄存器。 指令指针。 地址加法器。 指令队列缓存器。 总线控制逻辑。 指令执行部件EU EU完成指令译码和执行指令的工作。EU从BIU的指令队列中取得指令,并在ALU上执行指令;然后,将处理的结果送回BIU,由BIU进行存储处理。它由ALU、标志寄存器、通用寄存器、暂存器、控制部件等组成。 算术逻辑运算单元ALU。 标志寄存器flags。 通用寄存器组。 EU控制器。 2.1.2 8086/8088 寄存器结构 寄存器可以用来存放运算过程中所需要的操作数地址、操作数及中间结果。 8086微处理器内部包含有4组16位寄存器,它们分别是通用寄存器组、段寄存器、指针和变址寄存器、指令指针和标志位寄存器 ,如图2-2所示。 通用寄存器组 4个16位通用寄存器,它们是AX、BX、CX和DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL和DL,高8位为AH、BH、CH和DH,只能存放8位数据,不能存放地址。 AX:常作为累加器使用,是算术运算的主要寄存器。在乘法、除法等指令中指定用来存放操作数。除此之外,所有的输入、输出指令都使用这一寄存器与外部设备传送信息。 BX:常作为通用寄存器使用,此外,还经常作为基址寄存器。 CX:除作为通用寄存器外,还常在循环、移位指令中用来保存计数值。 DX:除作为通用寄存器外,一般在进行双字运算时把DX和AX组合在一起存放一个双字,DX用来存放高位字。此外,在进行输入、输出操作时,该寄存器用来存放端口地址。 段寄存器 8086/8088CPU内部设置了4个16位段寄存器,它们分别是CS、DS、SS、ES,由它们给出相应逻辑段的首地址,称为“段基址”。 段基址与段内偏移地址(也称为有效地址,EA)组合形成20位物理地址,段内偏移地址可以存放在寄存器中,也可以存放在内存中。 CS:内存放可执行的指令代码段基址。 DS、ES:内存放操作的数据段基址,通常操作数在现行DS中,而在串指令中,目的操作数指明必须在现行ES中。 SS:开辟为程序执行中所要用的堆栈区,采用先进后出(FILO)的方式访问它 。 堆栈:存储器中开辟的一个区域,用来存放需要暂时保存的数据 。   各个段寄存器指明了一个规定的现行段,各段寄存器不可互换使用。程序较小时,CS、DS、SS可放在一个段内,即包含在64KB之内,而当程序或数据量较大,超过了64KB时,可以定义多个CS或DS、SS、ES。现行段由段寄存器指明段地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见可在指令前加上段超越的前缀字节,以指定操作数所在段。   堆栈的一端地址是固定的,叫做栈底;另一端的地址是动态变化的,叫做栈顶。   有两种情况需要使用堆栈。   一是CPU自动使用堆栈,当调用子程序或响应中断,处理中断服务程序时,CPU自动将返回地址存放到堆栈中;当调用子程序时

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档