[法学]洪第2章 8086CPU结构.ppt_第1页
[法学]洪第2章 8086CPU结构.ppt_第2页
[法学]洪第2章 8086CPU结构.ppt_第3页
[法学]洪第2章 8086CPU结构.ppt_第4页
[法学]洪第2章 8086CPU结构.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 微处理器,2.1 8086微处理器的结构 2.2 8086系统组成和总线时序 2.3 高档微处理器,2.1 8086微处理器的结构,8086/8088 是Intel公司的第三代微处理器,其中: 8086为16位机,主频5MHz;内部数据总线和外部数据总线都是16位;地址总线为20位,可最大寻址1MB。 8088为准16位机,时钟频率为4.77MHz ;内部数据总线16位,外部数据总线是8位;地址总线为20位,可最大寻址1MB。与80286统称为16位计算机系列,2.1.1 8086的功能结构,内部暂存器,IP,ES,SS,DS,CS,控制电路,外部总线,控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位 AB,16位 DB,8位,段寄存器,1. 执行部件 EU负责执行指令。对指令译码、 分析并发出控制命令,执行算术和逻辑运算。包含:, 算术逻辑运算单元 ALU 运算器,用于8位、16位二进制算术和逻辑运算,计算寻址存储器所需的16位偏移量。 通用寄存器组 AX、BX、CX、DX、SP、BP、SI、DI。 标志寄存器 16位的寄存器,反映运算结果的状态特征和控制标志。 控制电路 负责从BIU的指令队列缓冲器中取指令,并对指令译码,并向EU内部各部件发出控制命令。,2. 总线接口部件BIU 负责CPU对存储器和外设进行的信息交换,提供总线地址,将数据和指令存放到目的单元。包含:, 地址加法器和段寄存器 1个20位地址加法器、用于形成20位的物理地址。 16位指令指针IP 指令指针IP用来存放下一条要执行指令的偏移地址。 指令队列缓冲器 当EU正在执行指令中,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入1个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。 总线控制逻辑电路,2.1.2 8086的寄存器结构,8086的寄存器都为16位,分为: 通用数据寄存器 : AX、BX、CX、DX 地址指针和变址寄存器: BP、SP 、 DI、SI 段寄存器: CS、SS、DS、ES 指令指针和标志寄存器 IP 、PSW 掌握通用寄存器的作用,熟悉PSW中各个标志的含义,才能正确地使用微机解决实际问题。,通用数据寄存器,8086的16位通用寄存器是: AX BX CX DX 4个16位数据寄存器都可以分成高8位和低8位两个独立的寄存器,它们是: AH BH CH DH AL BL CL DL 对其中某个8位寄存器的操作,并不影响它所对应的另外一个8位寄存器。各寄存器的用法是:,数据寄存器用来存放参加运算和运算结果的操作数的,每个寄存器又有它们各自的专用目的: AX16位累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;AL为8位累加器。 BX基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。 CX计数器,作为循环和串操作等指令中的隐含计数器。 DX数据寄存器,用来存放外设端口的16位地址,或双字长数据的高16位。,变址寄存器,变址寄存器常用于存储器寻址时提供地址 SI是源变址寄存器 DI是目的变址寄存器 在串操作类指令中,SI和DI具有特别的功能,指针寄存器,指针寄存器用于寻址内存堆栈内的数据 SP为堆栈指针寄存器,指示栈顶的偏移地址。 BP为基址指针寄存器,表示数据在堆栈段中的基地址,指令指针寄存器 IP 指令指针寄存器IP,指示代码段指令的偏移地址 IP寄存器是一个专用寄存器,用户不能直接访问。,段寄存器,CS 代码段寄存器 计算机通过CS : IP寄存器联合使用来读取程序存储器的指令代码,从而控制指令序列的执行流程。 DS 数据段寄存器 计算机通过DS : BX/SI/DI寄存器联合使用来存取数据区(RAM)的临时数据。,SS 堆栈段寄存器 计算机通过SS:SP/BP寄存器联合使用以确定堆栈段中 的存储单元地址。,ES 附加段寄存器 计算机通过ES : DI寄存器联合使用来存取附加段的数据。,标志寄存器,标志(FLAGS)是用于存放ALU执行完算术和逻辑运算后的状态标志和控制标志的寄存器。反映指令执行结果或控制指令执行形式。 8086处理器中各种常用的标志形成了一个16位的标志寄存器FLAGS(也称程序状态字PSW寄存器)。,OF,11,15 12,DF,10,IF,9,TF,8,SF,7,ZF,6,5,AF,4,3,PF,2,1,CF,0,控制标志,反映结果状态,反应运算过程,标志的作用,标志分成两类: 状态标志用来记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。 CF OF AF SF ZF PF 控制标志可由用户根据需要用指令进行设置,用于控制处理器的具体工作方式。 DF IF TF,进位标志CF,当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则 CF=0。例如(以8位运算为例): 3AH + 7CHB6H 没有进位:CF=0 AAH + 7CH (1) 26H 有进位:CF=1,符号标志SF,运算结果最高位为1,则SF=1;否则SF=0。 3AH + 7CHB6H 最高位D71:SF=1 86H + 7CH 00H 最高位D70:SF=0,奇偶标志PF,当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0。 3AH + 7CHB6H10110110B, 结果中有5个1,是奇数,则 PF=0 注意:PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作。,辅助进位标志AF,运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0。例如: 3AH + 7CHB6H D3向前有进位:AF=1,溢出标志OF,若算术运算的结果有溢出,则OF=1;否则 OF0。例: 3AH + 7CHB6H 产生溢出:OF=1 AAH + 7CH (1) 26H 没有溢出:OF=0 什么是溢出? 溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?,零标志ZF,若算术运算的结果为0,则ZF=1;否则 ZF0,举例如: (AX)=734AH (BX)=5289H 求(AX)+(BX)? 0111 0011 0100 1010 + 0101 0010 1000 1001 - 1011 0101 1101 0011 ZF=0 PF=0(低8位) SF=1 CF=0 OF=1 AF=1(低4位),方向标志DF,用于串操作指令中,控制地址的变化方向: 设置DF0,串操作后存储器地址自动增量 ; 设置DF1,串操作后存储器地址自动减量 。,中断允许标志IF 用于控制外部可屏蔽中断是否可以被处理器响应: 设置IF1,则允许中断; 设置IF0,则禁止中断,陷阱标志TF 用于控制处理器是否进入单步执行方式: 设置TF0,处理器正常工作; 设置TF1,处理器每执行一条指令就中断一次,2.1.3 8086的工作模式和引脚特性,8086CPU可工作在两种不同的模式 最小模式 单处理器模式,只有1个主控制器构成小规模的应用系统 8088CPU本身提供所有的系统总线信号 最大模式 多处理器模式,8086为主处理器,可以接入数值协处理器8087和输入输出协处理器8089构成大规模的应用系统 8086和总线控制器8288共同形成系统总线信号,2. 8086的工作模式,3. 8086的引脚特性,8086CPU 为双列直插40引脚 的芯片,两种模式利用MN/MX*引脚区别 MN/MX*接高电平为最小模式 MN/MX*接低电平为最大模式 两种组态下的内部操作并没有区别,IBM PC/XT采用最大最小两种模式的信号分为:除读写控制引脚和总线请求和响应引脚不同 而数据和地址引脚相同、中断请求和响应引脚相同 其它引脚也相同,Vcc 电源输入,向CPU提供5V电源 GND 接地,向CPU提供参考地电平 MN/MX* 组态选择,输入 接高电平时,8086引脚工作在最小组态;反之,8086工作在最大组态,1、 最小模式下的引脚信号,数据和地址引脚,AD15AD0:地址/数据分时复用引脚,双向 A19/S6A16/S3:地址/状态分时复用,输出、三态,ALE 地址锁存允许,输出、三态、高电平有效 ALE引脚高有效时,表示复用引脚:AD7AD0和A19/S6A16/S3正在传送地址信息 由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来,RESET 复位信号,输入、高电平有效 该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作 8086复位后CSFFFFH、IP0000H,所以程序入口在物理地址FFFF0H,CLK 时钟输入, 系统通过该引脚给CPU提供内部定时信号。8086的标准工作时钟为5MHz IBM PC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns,M/IO* I/O/存储器访问选择,输出、三态 该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15A0提供16位I/O口地址 该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19A0提供20位存储器地址,WR* 写控制,输出、三态、低电平有效 表示CPU正在写出数据给存储器或I/O端口,M/IO*、WR*和RD*是最基本的控制信号 组合后,控制4种基本的总线周期,RD* 读控制,输出、三态、低电平有效 表示CPU正在从存储器或I/O端口读入数据,DEN* 数据允许,输出、三态、低电平有效 表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/R* 数据发送/接收,输出、三态 该信号表明当前总线上数据的流向 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收) BHE * /S7 高8位数据总线允许/状态 复用引脚(参看表2-3),READY 存储器或I/O口准备就绪信号 输入、高电平有效 在总线操作周期中,8088 CPU会在第3个时钟周期的前沿测试该引脚:如果测到高有效,CPU直接进入第4个时钟周期,否则将插入等待周期Tw CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。,TEST* 测试,输入、低电平有效 当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效继续测试;如果有效,则程序恢复运行 在使用协处理器8087时,通过该引脚和WAIT指令,可使8088与8087的操作保持同步,INTR 可屏蔽中断请求和响应引脚) 可屏蔽中断请求,输入、高电平有效 有效时,表示请求设备向CPU申请可屏蔽中断 并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽,INTA* 可屏蔽中断响应,输出、低电平有效 表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期,NMI 非屏蔽中断请求,输入、上升沿有效 该请求的优先级别高于INTR,并且不能在CPU内被屏蔽,当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务,HOLD 总线请求,输入、高电平有效 表示总线请求设备向CPU申请占有总线,HLDA 总线响应,输出、高电平有效 表示CPU已响应总线请求并已将总线释放 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线 待到总线请求信号HOLD有效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,“引脚”小结,CPU引脚是系统总线的基本信号 可以分成三类信号: 16位数据线:D0D15 20位地址线:A0A19 控制线: ALE、IO/M*、WR*、DT/R* 、DEN、RD*、READY INTR、INTA*、NMI,HOLD、HLDA RESET、CLK、Vcc、MN/MX、GND 为兰色信号线在最大模式下有不同的定义,2、 最大模式下的引脚信号,S2、S1、S0:总线周期状态信号,为最大模式下连接8288总线控制器的信号线,在执行不同指令的总线周期有6种不同的控制信号输出。见表2-4 P27 QS1、 QS0指令队列状态信号,表2.5 p47 RQ/GT0、RQ/GT1总线请求/总线允许 LOCK 总线封锁信号,S2*、S1*、S0*的编码意义,对比,2、最小组式的系统组成(P27),1、 8086的系统组成 (1)20位地址总线采用3片8282锁存器提供 (2)16位数据总线采用2片8286数据收发器进行驱动 (3)系统控制信号由引脚直接或由8288总线控制器 提供(最大模式) (4)时钟、复位、准备好信号-由时钟发生器 8284提供,2 .2 8086的系统组成和总线时序,3、最大组式的系统组成, 系统地址总线 采用三态锁存器74LS373 系统数据总线 通过三态双向缓冲器74LS245形成和驱动 系统控制总线 主要由总线控制器8288形成 MEMR*、MEMW*、IOR*、IOW*、INTA* (4)中断控制器8259形成中断响应控制线,74LS373同8282,具有三态输出的 TTL电平锁存器 LE 电平锁存引脚 OE* 输出允许引脚,上升沿锁存: 用负脉冲触发锁存,74LS245同8286,8位双向缓冲器,控制端连 接在一起,低电平有效可 双向导通,输出与输入同相,E*0,导通 DIR1 AB DIR0 AB E*1,不导通,物理存储器是指实际的存储器芯片 存储器内每1个存储单元存放8位2进制树 8086CPU有20条地址线 最大可寻址空间为2201MB 物理地址范围从00000HFFFFFH为地址空间 一个存储单元除具有一个唯一的物理地址编号 1MB的内存分为偶地址和奇地址两个区域。,4. 8086 的存储器组织与分段 1) 物理存储器和地址空间,8086系统的存储体结构,通常将8086CPU的地址线、数据线、读写线与内存条小板上对应存储器芯片引脚对应相连接,设计出具含有偶地址区和奇地址区的存储体结构。,512KB 需要19根地址线,8086CPU有16位数据线,每次与内存传送的数据为16位(1个字)或8位(1个字节)。字长是16位,数据以字节为单位按地址存放,一个字存入存储器占有相继的二个单元: 若低位字节存入低地址,高位字节存入高地址则为规则字,相反为非规则字。 字单元的地址采用它的低地址来表示。 例: 字单元 :(0004H)=1234H, 字节单元 :(0004H)=34H,规则字的存取操作可以在1个总线周期内完成 非规则字的存取操作需要2个总线周期才能完成,存储器的分段结构和物理地址的形成,8088有20条地址总线,直接寻址能力为220=1M字节。用16进制数表示1M字节的地址范围应为00000HFFFFFH。称为物理地址 1、存储器的分段结构 程序员在编制程序时把存储器划分成逻辑段。 段内地址16位,每个段的大小最大可达64KB; 当然可以根据需要来确定段大小,可以是1,100,1000等在64K范围内的任意字节数。 IBM PC机对段的起始地址有限制, 段必须从任一小段的首地址开始。 从0地址开始每16字节为一小段,物理地址是对应每个物理存储单元都有一个唯一的20位编号,从00000HFFFFFH。逻辑地址是程序中出现的16位段基地址和段内偏移地址。是CPU中的20位地址加法器将段寄存器和通用寄存器中的16位地址码计算后由20位地址线上送出的。,2. 8086内部20位物理地址形成,逻辑地址段地址:偏移地址,物理地址的形成: 物理地址=段基地址*16(左移4位) + 偏移地址 =(CS,DS,SS,ES)*10H + (IP,BX,SI,DI,BP,SP,),编程各逻辑段的物理地址获得的方法如下:,每个存储单元都有一个唯一20位物理地址,但可有多个逻辑段地址和偏移地址在指令执行时由地址加法器形成。 例如:物理地址: 00200H 逻辑地址: 0000H : 0200H 逻辑地址: 0020H : 0000H,2.2.2 8086的总线时序,时序是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。 总线时序描述CPU引脚如何实现总线操作 CPU时序决定系统各部件间的同步和定时 总线操作是指CPU通过总线对外的各种操作 8086的总线操作主要有: 存储器读、I/O读操作 存储器写、I/O写操作 中断响应操作 总线请求及响应操作,时钟周期:一个时钟脉冲时间称为一个时钟周期。时钟周期由计算机的主频决定,是CPU的定时基准,例如,8086的主频为5MHz则1个时钟为200ns。 总线周期:8086CPU通过总线与存储器或外设交换信息,存取一个字节(字)基本操作所需的时间。即一个总线周期完成一个基本的操作,由四个时钟周期组成,分别称为T1、T2、T3和T4状态。当需要延长总线周期时需要插入等待状态Tw 指令周期:一条指令从开始取指令到最后执行完毕所需的时间称为一个指令周期 。1个指令周期由若干个总线周期组成。,(1)最小组态的总线读操作,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,存储器写总线周期,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,I/O读总线周期,T1状态输出16位I/O地址A15A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,I/O写总线周期,T1状态输出16位I/O地址A15A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,插入等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步 在读写总线周期中,判断是否插入Tw 1. 在T3的前沿检测READY引脚是否有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论