




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 3 章 8086/8088微处理器,3.1 8086微处理器的结构 功能结构、编程结构、引脚信号 3.2 8086存储器组织和管理,重点掌握处理器的编程结构及存储器组织和管理,8086微处理器是Intel系列的16位微处理器,内部包含约29000个半导体管。 16根数据线,可以同时处理16位二进制数据 20根地址线,可用20位二进制数码编写地址,存储器以字节(8位二进制数据)为单位组织存储,可寻址的地址空间可达220,即1M字节 时钟频率为5MHz,工作时,只要一个5V电源, 除了数据总线宽度不同外,8088与8086在其他方面几乎完全相同。它们的另一个突出特点是其多重处理的能力,能极方便的和数值数据处理器(NPX)8087,输入输出I/O处理器(IOP)8089或其他处理器组成多处理器系统,大幅度提高系统数据吞吐能力和数据处理能力。,8086/8088微处理器简介,3.1.1 8086/8088的功能结构,一、总线接口部件 BIU,功能:负责微处理器与存储器、I/O接口传送数据。包括取指令、传送数据和形成20位的物理地址。 CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据或指令,将数据先放入“指令队列”排队,当需要时,再由执行部件EU从中取出;或者把执行部件EU的操作结果传送到指定的内存单元或外设端口中。,(1)4个16位的段地址寄存器: CS16位的代码段寄存器:用来存放当前程序所在段的段基; DS16位的数据段寄存器:用来存放当前程序所用数据段的段基址; ES16位的扩展段寄存器:用来存放辅助数据所在段的段基址; SS16位的堆栈段寄存器:用来存放当前程序所用堆栈段的段基 (2)16位的指令指针寄存器IP:用来存放下一条指令的偏移地址,IP在当前程序运行中能够进行自动加1的修正,使其指向下一条指令; (3)20位的地址加法器:用来形成20位的物理地址; (4)6字节的指令队列缓冲器。 (5)总线控制部件,用来产生并发出总线控制信号,实现对存储器、I/O端口的读写控制,并将内部总线与外部总线相连接。,总线接口部件的组成部分:,二、执行部件EU,ALU算术逻辑运算单元 PSW标志寄存器 存放运算结果特征 寄存器组 存放中间结果 EU控制器 取指令控制、时序控制,指令译码 、执行指令 向BIU提供逻辑地址的偏移量 管理通用寄存器和标志寄存器,功能:,组成:,(1)算术逻辑单元ALU: 进行算术、逻辑运算,以及按照寻址方式计算寻址单元的偏移量。 (2)暂存器: 协助ALU完成运算,暂时存放参加运算的数据。 (3)16位的标志寄存器FR: 存放控制标志和反映CPU运行的状态特征。,(4)通用寄存器组:包括4个通用寄存器,即AX(也称累加器)、BX、CX、DX;以及4个专用寄存器: 基数指针寄存器BP:存放数据段中某一单元的偏移地址;也可指示堆栈段中某一单元的偏移地址;堆栈指针寄存器SP:存放堆栈栈顶偏移地址; 源变址寄存器SI: 与数据段寄存器DS连用,确定数据段中某一存储单元的地址; 目的变址寄存器DI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址; (5)EU控制电路: 由定时电路、控制电路和状态逻辑电路组合而成。,3“流水线”结构的指令队列 总线接口部件BIU和执行部件EU并不是同步工作的, 每当EU从指令队列头部取出一条指令并在分析、执行指令这段时间内,或当指令队列中有2个空字节时,BIU会自动把指令取到指令队列中。当指令队列已满(6个字节),而且EU对BIU又无总线访问请求时,BIU便进入空闲状态;但EU在分析、执行指令过程中,如须访问内存或I/O设备,EU就会向BIU申请总线周期,若BIU总线空闲,就会立即响应;若BIU此时正在取一条指令,EU就必须等待BIU取指令的操作完成以后,才会得到BIU响应。 在8086/8088中,EU和BIU这种并行的工作方式有力地提高了工作效率。,3.1.2 8086/8088的编程结构,1通用寄存器 通用数据寄存器 用来存放8位、16位或32位的操作数。由于具有良好的通用性,因而被称为通用寄存器,其中包括AX,BX,CX,DX。通用寄存器主要用来保存算术或逻辑运算的操作数、中间运算结果。它们既可以作为一个16位的寄存器使用,也可以分别作为两个8位的寄存器使用,高位字节的寄存器为AH,BH,CH,DH;低位字节的寄存器为AL,BL,CL,DL。 指针寄存器和变址寄存器 堆栈指针寄存器ESP、 基址指针寄存器EBP 源变址寄存器ESI、 目的变址寄存器EDI,2.指令指针寄存器 EIP,3.标志寄存器 EFLAGS,4.段寄存器,寄存器的特殊用途和隐含用法,寄存器的特殊用途和隐含用法,标志寄存器共有16位,其中有7位未用,已用的9个标志位按功能可分为6个条件标志和3个控制标志。 (1)条件标志 (条件标志用于存放程序运行的状态信息,由硬件自动设定。控 制标志由软件设定,用于中断、串操作等控制): OF:溢出标志。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为-128+127,对字运算为-32768+32767。若超过上述范围称为“溢出”,OF置1。否则,置0。实际机器在进行处理时,是判断最高位的进位(CF)与次高位的进位是否相同,若二者相同,则OF。否则,OF。,标志寄存器(Flag Register),图2-2 标志寄存器结构图,SF:符号标志 反映运算结果的符号。若结果为负数,即最高位为1时,SF置1,否则,置0。SF取值与运算结果最高位一致。 ZF:零标志 反映运算结果是否为零。若结果为零,ZF置1,否则,置0。 AF:半进位标志。反映一个8位量的低4位向高4位有无进位或借位。有则置1,否则,置0。用于BCD码算术运算指令。PF:奇偶标志。反映操作结果的低8位中“1”的个数的奇偶性。若“1”的个数为偶数,PF置1,否则,置0。 CF:进位标志 反映算术运算后最高位出现进位或借位的情况。有则置1,否则,置0。移位和循环指令也会改变CF的值。,标志寄存器(Flag Register),(2)控制标志 DF:方向标志 进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由DF决定地址是增还是减。若DF为1,则为减,否则为增。 IF:中断标志 表示系统是否允许“外部可屏蔽中断”(其含义见后述“中断”内容)。若IF为1,表示允许,否则表示不允许。IF对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。 TF:陷阱标志。TF为1时,CPU每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行”就是利用这个标志。,标志寄存器(Flag Register),3.1.3 8086/8088的引脚信号,一、 8086/8088的两种工作模式,(1)最小工作模式 系统中只有8086/8088一个微处理器。 所有的总线控制信号都直接由8086/8088产生。 (2)最大工作模式 构成较大规模的应用系统,系统中包含两个或多个微处理器,其中8086/8088是主处理器,其他的处理器称为协处理器。和8086/8088配合使用的协处理器主要有两个:数值运算协处理器8087和输入/输出协处理器8089。 8086/8088和总线控制器8288等共同形成总线控制信号。,两种模式利用MN/MX*引脚区别 MN/MX接高电平为最小工作模式 MN/MX接低电平为最大工作模式 两种模式下的内部操作并没有区别 IBM PC/XT采用最大模式 本节以最小模式展开基本原理,8086/8088的两种工作模式,1. 数据和地址引脚,AD7AD0(Address/Data) 地址/数据分时复用引脚,双向、三态 在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7A0 其他时间用于传送8位数据D7D0 AD15AD8(Address) 中间8位地址引脚,输出、三态 这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15A8,二、引脚功能,1. 数据和地址引脚(续2),A19/S6A16/S3(Address/Status) 地址/状态分时复用引脚,输出、三态 这些引脚在访问存储器的第一个时钟周期输出高4位地址A19A16 在访问外设的第一个时钟周期全部输出低电平无效 其他时间输出状态信号S6S3,2. 读写控制引脚,ALE(Address Latch Enable) 地址锁存允许,输出、三态、高电平有效 ALE引脚高有效时,表示复用引脚:AD7AD0和A19/S6A16/S3正在传送地址信息 由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来,2. 读写控制引脚(续1),M/IO*(Input and Output/Memory) I/O或存储器访问,输出、三态 该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15A0提供16位I/O口地址 该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19A0提供20位存储器地址,2. 读写控制引脚(续2),WR*(Write) 写控制,输出、三态、低电平有效 有效时,表示CPU正在写出数据给存储器或I/O端口 RD*(Read) 读控制,输出、三态、低电平有效 有效时,表示CPU正在从存储器或I/O端口读入数据,2. 读写控制引脚(续3),M/IO*、WR*和RD*是最基本的控制信号 组合后,控制4种基本的总线周期,2. 读写控制引脚(续4),READY 存储器或I/O口就绪,输入、高电平有效 在总线操作周期中,8088 CPU会在第3个时钟周期的前沿测试该引脚 如果测到高有效,CPU直接进入第4个时钟周期 如果测到无效,CPU将插入等待周期Tw CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。,2. 读写控制引脚(续5),DEN*(Data Enable) 数据允许,输出、三态、低电平有效 有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/R*(Data Transmit/Receive) 数据发送/接收,输出、三态 该信号表明当前总线上数据的流向 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收),2. 读写控制引脚(续6),SS0*(System Status 0) 最小模式模式下的状态输出信号 它与IO/M*和DT/R*一道,通过编码指示CPU在最小模式下的8种工作状态: 1. 取指 5. 中断响应 2. 存储器读 6. I/O读 3. 存储器写 7. I/O写 4. 过渡状态 8. 暂停,2. 读写控制引脚(续6),BHE*/S7(Bus Higher Enable) 最小模式模式下的高8位数据总线(AD15AD8)有效信号,三态,输出 BHE*在总线周期的T1状态输出,S7是状态信号,在T2T4时输出 在8088中,此信号被SS0所替代。,3. 中断请求和响应引脚,INTR(Interrupt Request) 可屏蔽中断请求,输入、高电平有效 有效时,表示请求设备向CPU申请可屏蔽中断 该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽 INTA(Interrupt Acknowledge) 可屏蔽中断响应,输出、低电平有效 有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期 中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线,3. 中断请求和响应引脚(续2),NMI(Non-Maskable Interrupt) 不可屏蔽中断请求,输入、上升沿有效 有效时,表示外界向CPU申请不可屏蔽中断 该请求的优先级别高于INTR,并且不能在CPU内被屏蔽 当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务,4. 总线请求和响应引脚,HOLD 总线保持(即总线请求),输入、高电平有效 有效时,表示总线请求设备向CPU申请占有总线 该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权 HLDA(HOLD Acknowledge) 总线保持响应(即总线响应),输出、高电平有效 有效时,表示CPU已响应总线请求并已将总线释放 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线 待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,5. 其它引脚,RESET 复位请求,输入、高电平有效 该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作 8086复位后CSFFFFH、IP0000H,所以程序入口在物理地址FFFF0H CLK(Clock) 时钟输入 系统通过该引脚给CPU提供内部定时信号。8086的标准工作时钟为5MHz IBM PC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns,5. 其它引脚(续2),Vcc 电源输入,向CPU提供5V电源 GND 接地,向CPU提供参考地电平 MN/MX*(Minimum/Maximum) 模式选择,输入 接高电平时,8088引脚工作在最小模式;反之,8088工作在最大模式,“引脚”小结,CPU引脚是系统总线的基本信号 可以分成三类信号: 16位数据线:D0D15 20位地址线:A0A19 控制线: ALE、IO/M*、WR*、RD*、READY INTR、INTA*、NMI,HOLD、HLDA RESET、CLK、Vcc、GND,最小模式总线形成 (Intel产品手册推荐电路),RESET TEST HOLD HLDA NMI INTR INTA M / IO WR RD,READY CLK,READY,MN / MX,+5V,控制总线,地址总线A19 A0,数据总线D15D0,ALE,DT / R DEN,8086 CPU,STB 8282,OE,T OE,8286,8284A,系统总线,A19A16 AD15AD0,BHE*,BHE*,READY信号经过8284A后,起到同步的作用,三 、8088的总线时序(续1),1、总线周期的概念 时钟周期是微处理器的最小定时单位,由CPU主频决定; 完成一个独立的操作所需的时间称为机器周期,一个机器周期包含若干个时钟周期; 总线周期是指完成一次总线操作所需要的读或写的机器周期,通常用时钟周期的个数来表示,总线操作是指CPU通过总线对外的各种操作主要有: 存储器读、I/O读操作 存储器写、I/O写操作 中断响应操作 总线请求及响应操作 CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti,指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期 描述总线操作的微处理器时序有三级: 指令周期 总线周期 时钟周期 8086的基本总线周期包含4个时钟周期 4个时钟周期编号为T1、T2、T3和T4 总线周期中的时钟周期也被称作“T状态” 时钟周期的时间长度就是时钟频率的倒数 当需要延长总线周期时需要插入等待状态Tw,总线操作中如何实现时序同步是关键 CPU总线周期采用同步时序: 各部件都以系统时钟信号为基准 当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器) CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作,2. 最小模式的总线时序,本节展开微处理器最基本的4种总线周期 存储器读总线周期 存储器写总线周期 I/O读总线周期 I/O写总线周期,存储器写总线周期,I/O写总线周期,T1状态输出16位I/O地址A15A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,存储器读总线周期,演示,存储器读总线周期,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,I/O读总线周期,存储器读总线周期,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,演示,插入等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步 在读写总线周期中,判断是否插入Tw 1. 在T3的前沿检测READY引脚是否有效 2. 如果READY无效,在T3和T4之间插入一个等效于T3的Tw ,转1 3. 如果READY有效,执行完该T状态,进入T4状态,什么是分时复用?,分时复用就是一个引脚在不同的时刻具有两个甚至多个作用 最常见的总线复用是数据和地址引脚复用 总线复用的目的是为了减少对外引脚个数 8088 /8086CPU的数据地址线采用了总线复用方法,S2*、S1*、S0*的编码意义,总线周期,基本总线周期由4个T状态组成:T1、T2、T3、T4 等待时钟周期Tw,在总线周期的T3和T4之间插入 空闲时钟周期Ti,在两个总线周期之间插入,动态,存储器读20002H35H,等待状态,动态,等待状态Tw的插入,3.2 存储器组织及管理,3.2.1 主存储器的组织 存储器由若干存储单元组成,存储单元的多少表示存储器的容量; 8086构成的系统中,每个存储单元的长度为8个二进制位,每个存储单元被指定一个唯一的单元号码,即存储单元地址; 8086有20根地址线,可以产生20位长的地址码,存储器寻址空间为220个存储单元,即可以直接访问1MB存储空间,1. 存储单元的地址表示,2、字数据的存放规则,存储器每个单元只能存储一个字节,对于字数据,通常使用相邻的2个存储单元来存储; 存储规则: (1)字的低位字节存放在低地址单元,高位字节存放在高地址单元; (2)字单元的地址用低字节单元的地址表示。,3.2.2 主存储器的段结构,一、存储器分段技术 由于8086可寻址的存储空间1MB,需要提供20位的地址码,而CPU内部的寄存器长度只有16位,能直接访问的最大地址空间是64KB。为了实现对1MB单元的寻址,80x86系统将1MB的存储空间分成许多逻辑段,每段最长64KB,可以用16位的地址码进行寻址。每个逻辑段在实际存储空间中的位置可以浮动,段的起始地址可由段寄存器的内容来确定,这种技术即存储器分段技术,每个段最大长度64KB,段的用途由用户自己定义,代码或数据可以存放在段内任意单元; 逻辑段在物理存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025小学英语校本培训计划
- 【可行性报告】2025年煤制甲醇相关项目可行性研究报告
- 学校控烟健康档案管理计划
- 2025-2030年中国芫荽粉项目投资可行性研究分析报告
- 人教版六年级英语下册学生诊断计划
- 2025年四年级数学学科能力培养计划
- 塑胶跑道工程施工质量提升措施
- 纳章小学2025体育锻炼健康促进计划
- 一般工业项目基本建设流程优化方案
- 2025年中国网上商城行业未来趋势预测分析及投资规划研究建议报告
- 服饰2个人合伙人协议书范文
- 高血压病课件
- 生殖健康咨询师复习题
- DB4116-T 058-2024 智慧消防物联感知设备配置规范
- 2024年西藏自治区中考化学试题卷(含答案)
- 中间人介绍工作合同模板
- 第3章-机床夹具
- L07G324钢筋混凝土密肋楼板
- 2024年软件测试合同
- 班组长生产管理能力考试题库-上(选择题)
- GB/T 4074.2-2024绕组线试验方法第2部分:尺寸测量
评论
0/150
提交评论