教师:王晓甜 Email: xtwang@mail.xidian.edu.cn 第五章 总线 及其形成 本节课之前,大家学习了: 1. 计算机中的数制和码制 (计算机中的所有信息都用 二进制 表示, 二进制,十进制,十六进制 BCD转换) 2. 8086CPU结构和组成 (微处理器内部结构,外部结构,总线,寄存器组织,存储器组织,IO组织) 8086CPU指令系统 汇编语言程序设计 在第二章,CPU的结构和组成中,大家对计算机CPU的内部和外部结构有了一定的了解 包括,CPU总线相关的概念 CPU内部寄存器组织 CPU的存储器组织和IO组织 在第二章中对这些概念都是非常基础的描述,让大家有个最基本了解,建立最基本的概念。 从本章开始,我们就针对这些部分进行详细的讲解,让大家在对概念的认识基础上,学习CPU内部硬件工作原理,以及内外交流的工作方式方法,并学习一些简单接口电路设计和IO电路设计。 在接下来的下半学期中,我们具体要学习CPU的 总线 及其 形成 存储器 及其 扩展 CPU常用芯片接口技术 中断控制系统 以及 中断控制逻辑8259A 定时计数器 8253 的工作原理 以及 应用设计 可编程并行接口芯片 8255A 的工作原理以及应用设计 教师:王晓甜 Email: xtwang@mail.xidian.edu.cn
综述—本门课学习的内容 系统软件 应用软件 CPU CPU 数字电路 算法语言 外设1 外设2 外设3 CPU:结构,工作原理,寄存器组织 内存 外设1 CPU CPU 外存1 外设2 外存2 外设3 系统软件 应用软件 总线 I/O接口电路 CPU:结构,工作原理,寄存器组织 必备知识 总线:概念,分类,CPU如何实现总线管理 数字电路 算法语言 存储器:结构,CPU对存储器的管理,存储器的扩展设计 I/O接口电路:典型I/O 接口电路的工作方式和设计方法 软件编程:汇编语言源程序编写 www.themegallery.com
回顾 EG1. CPU读取地址为PORT的端口内的一个字节数据 CPU 对 I/O 的输入输出指令 IN AL, DX EG2. CPU向地址为PORT的端口输出一个字数据 NUM CPU 对 I/O 的输入输出指令 IN AL, DX IN AX, DX OUT DX, AL OUT DX, AX 到目前为止,这门课难学吗? 汇编语言程序设计是一门最接近机器语言的底层程序设计,很不智能。大量的语法和指令需要学习和记忆 先回忆一下,第三章中学习的,CPU对于外设的输入输出指令是什么 Eg1. MOV DX, PORT IN AL, DX Eg2. MOV AX, NUM MOV DX, PORT OUT DX, AX 前面感觉汇编语言程序设计 太难的同学不用担心, 后面这半部分的学,会这几条语句就够了 xtwang@mail.xidian.edu.cn
Contents 总线定义及分类 几种常用芯片 8086的引脚功能及时序 系统总线的形成 8088与8086的差异 1 2 3 4 5 第二章中,P13, 我们已经初步接触到了总线的定义及一些基本的概念,比如说总线的分类,数据,地址,控制 8086CPU中有 16根数据总线, 20根地址总线, 寻址 1 MB 的地址空间 存储器与IO的地址编址方式, 统一编址,独立编址等等 这一章我们就要更加详细,深入的学习有关 微处理器 总线的相关 知识 系统总线的形成 4 8088与8086的差异 5 xtwang@mail.xidian.edu.cn
总线 5.1 总线的定义 一组共用的导线 通过总线可以实现计算机各模块之间的数据和命令传输 计算机中各种信息沟通的公共通道 5.1 总线的定义 总线 一组共用的导线 计算机中各种信息沟通的公共通道 通过总线可以实现计算机各模块之间的数据和命令传输 第二章中我们学习过,从外观上看,CPU体现为数量有限的输入输出引脚,这些引脚,就是微处理器级的总线 xtwang@mail.xidian.edu.cn
总线的分类 最通用的分类方法 连接对象 传输信息的种类 握手技术和联络方式 功能层次 体现了总线在系统中的功能层次结构 内总线 、外总线 数据总线、地址总线、控制总线 握手技术和联络方式 同步传输总线、异步传输总线 功能层次 片内总线、元件级总线、系统总线、通信总线 最通用的分类方法 体现了总线在系统中的功能层次结构 xtwang@mail.xidian.edu.cn
按功能层次的总线分类 片内总线 (封装在芯片内部,不可见) 元件级总线(可见,如显卡上各个芯片间的连线) 系统总线(主板插槽) 片内总线是指连接集成电路芯片内部各功能单元的信息通路。 元件级总线(可见,如显卡上各个芯片间的连线) 元件级总线是反映连接同一个插板内各个元件的总线。 系统总线(主板插槽) 系统总线是指连接微处理器、主存储器和I/O接口等系统部件的信息通路,也是连接各个插件板的通路。 通信总线(如数码相机的USB数据线,打印机连线) 通信总线又称为I/O总线或外总线,是指连接微型计算机主机与I/O设备、仪器仪表,甚至其他微型计算机的总线。 xtwang@mail.xidian.edu.cn
I/O 设备和存储器通过接口电路连接在系统总线上 总线的定义 存储器 RAM/ROM DB AB CB 系统(级)总线 系统总线形成与控制逻辑 微处理器级总线: 微处理器外部结构中的数量有限的输入输出引脚 系统级总线: 微处理器级总线和其他逻辑电路连接组成的主机板系统 I/O 设备和存储器通过接口电路连接在系统总线上 定时器 微处理器(CPU) I/O设备 (1) I/O接口 电路(1) DB AB CB 微处理器级总线 I/O接口 电路(2) I/O设备 (2) DB AB CB xtwang@mail.xidian.edu.cn
Diagram STD 常用系统总线 PC/XT ISA PCI MCA xtwang@mail.xidian.edu.cn
Contents 总线定义及分类 几种常用芯片 8086的引脚功能及时序 系统总线的形成 8088与8086的差异 1 2 3 4 5 微处理器级总线是CPU外部数量有限的输入输出引脚,这些引脚通过一系列的逻辑电路构成系统总线,那么这些逻辑电路中常用哪些芯片呢? 系统总线的形成 4 8088与8086的差异 5 xtwang@mail.xidian.edu.cn
三态门 双向三态门 带有三态门输出的锁存器 5.2 在系统总线形成中,经常要使用芯片: 总线控制逻辑:微处理器级总线和系统及总线之间的接 口逻辑电路。 控制逻辑所涉及的主要芯片很多,这里主要介绍 74LS244、 74LS245 、 74LS373 。其它同类功 能芯片的工作原理与此相同或相似。 三态门 双向三态门 带有三态门输出的锁存器 总线控制逻辑中的驱动器和接收器是为了提高总线的驱动电流的能力和承受电容负载的能力 另外,8086/8088 CPU采用的分时复用的 地址/数据总线,因此总线控制逻辑还要完成对分时复用的信息锁存,实现地址信息和数据信息的分离 xtwang@mail.xidian.edu.cn
1. 三态门 典型芯片74LS244 5.2 几种常用的芯片 三态门的输出Y由G控制 三态门:顾名思义,输出有三个状态:0,1,高阻 xtwang@mail.xidian.edu.cn
5.2 几种常用的芯片-三态门 74LS244功能 74LS244逻辑及引脚 5.2 几种常用的芯片-三态门 20 1 2 3 4 5 6 7 8 9 10 19 18 17 16 15 14 13 12 11 1G 2G GND VCC 高 阻 74LS244功能 提问:为什么不能作为数据总线的驱动芯片? 答:因为它的传输方向是单向的,而数据总线是双向的。 74LS244逻辑及引脚 单向三态门74LS244 在实际应用中可作为地址总线或控制总线的驱动芯片,也可用为输入端口的接口芯片。 xtwang@mail.xidian.edu.cn
2. 双向三态门 典型芯片74LS245 5.2 几种常用的芯片-双向三态门 G=1时,A组和B组均为三态 G=0时,DIR控制数据方向 5.2 几种常用的芯片-双向三态门 2. 双向三态门 典型芯片74LS245 G=1时,A组和B组均为三态 G=0时,DIR控制数据方向 xtwang@mail.xidian.edu.cn
5.2 几种常用的芯片-双向三态门 74LS245功能 74LS245逻辑及引脚 5.2 几种常用的芯片-双向三态门 A0 B0 A1 A2 A3 A4 A5 A6 A7 ≥1 T OE B1 B2 B3 B4 B5 B6 B7 74LS245功能 74LS245逻辑及引脚 单向三态门74LS245 在实际应用中可作为数据总线双向驱动器、地址总线或控制总线单向驱动以及输入端口的接口芯片。 xtwang@mail.xidian.edu.cn
3. 带有三态门输出的锁存器 典型芯片74LS373 5.2 几种常用的芯片-带有三态门输出的锁存器 时序关系: G=1 跟随 G=0 保持 5.2 几种常用的芯片-带有三态门输出的锁存器 3. 带有三态门输出的锁存器 典型芯片74LS373 时序关系: G=1 跟随 G=0 保持 xtwang@mail.xidian.edu.cn
5.2 几种常用的芯片-带有三态门输出的锁存器 74LS373功能 锁存器74LS373 74LS373逻辑及引脚 5.2 几种常用的芯片-带有三态门输出的锁存器 Q DI0 DO0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 1 STB OE DO1 DO2 DO3 DO4 DO5 DO6 DO7 D CLK 74LS373功能 G= 1 的时候 跟随 G= 0 的时候,保持 锁存器74LS373 74LS373逻辑及引脚 在实际应用中可作为地址总线或控制总线单向驱动锁存以及输出端口的接口芯片。 xtwang@mail.xidian.edu.cn
Contents 总线定义及分类 几种常用芯片 8086的引脚功能及时序 系统总线的形成 8088与8086的差异 1 2 3 4 5 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 5.3 8086的引脚功能与时序 1978/6 Intel 8086 5.3 8086的引脚功能与时序 5.3 8086的引脚功能与时序 1978年6月,Intel推出4.77MHz的8086微处理器,标志着第三代微处理器问世。它采用16位寄存器、16位数据总线和29000个3微米技术的晶体管,售价360美元。 8086微处理器有40条引脚,双列直插式封装(DIP)。为了减少引脚数采用了地址/数据线分时复用技术。+5V电源供电 1978/6 Intel 8086 29000 Transistors 3um xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 最大方式 最小方式 8086引脚说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET (RQ/GTO) (RQ/GT1) (LOCK) (S2) (S1) (S0) (QS0) (QS1) 最大方式 8086引脚说明 最小方式 xtwang@mail.xidian.edu.cn
引脚的功能: 5.3 8086的引脚功能与时序 CPU引脚 微处理器通过这些引脚与外部的逻辑部件连接,完成信息的交换。 5.3 8086的引脚功能与时序 引脚的功能: 微处理器通过这些引脚与外部的逻辑部件连接,完成信息的交换。 与存储器之间交换信息(指令及数据); 与I/O设备之间交换信息; 能输入和输出必要的信号。 CPU引脚 微处理级总线
1.数据总线 2.地址总线 3.控制总线 Data Bus (16) 传送指令或数据信息 Address Bus (20) 指示欲传信息的来源或目的地址 3.控制总线 Control Bus (16) 管理总线上数据或信息的活动方式
.控制总线: 控制总线管理总线上的活动 用来传送自CPU发出的控制信息或外设送到CPU的状态信息 大部分是单向的,有有一些是双向的
.数据总线: 用于CPU和存储器或I/O接口之间传送数据,是双向的。 8086 CPU的数据总线是16条(引脚:AD0-AD15), 我们就说8086 CPU是16位微处理器。
.地址总线: CPU通过地址总线输出地址码来选择某一存储单元或某一称为I/O端口的寄存器,是单向的。 地址码的位数决定了地址空间的大小。 n位地址总线可有 个地址(0∽ -1)。 Eg.16位地址总线 65536(64KB) 20位地址总线 1MB 32位地址总线 4GB 8086/8088CPU有20根地址线(引脚:AD0-A19/S6) 存储器地址总线20位 寻址空间 1MB I/O地址总线16位(低16位) 寻址空间 64KB
.8086微处理器级总线的特点 40根外部引脚 1根电源线 2根接地线 1根时钟线 16根数据总线 20根地址总线 21根控制总线 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET 8086引脚说明 最小方式 40根外部引脚 1根电源线 2根接地线 1根时钟线 16根数据总线 20根地址总线 21根控制总线 分时复用的总线利用方式
5.3 8086的引脚功能与时序 最大方式 最小方式 8086引脚说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET (RQ/GTO) (RQ/GT1) (LOCK) (S2) (S1) (S0) (QS0) (QS1) 最大方式 最大方式:在8086以外还配搭了8087和8089等协处理器,在最大方式下,控制信号不直接产生,而是将这些个信号输入8088译码器,新型控制信号的译码,生成相应的控制命令信号 8086引脚说明 最小方式 xtwang@mail.xidian.edu.cn
两种方式下部分控制引脚的功能是不同的。本节主要介绍8086,而对8088,则说明它与8086的不同之处。 5.3 8086的引脚功能与时序 最小方式: 适合用于由单处理器组成的小系统。在这种方式中,8088/8086CPU引脚直接产生存贮器或I/O读写的读写命令等控制信号。 最大方式: 适合用于实现多处理器系统,在这种方式中,8088/8086CPU不直接提供用于存贮器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为三个状态位(S2,S1,S0)输出,由外部的总线控制器8288对状态信号进行译码产生相应信号。 两种方式下部分控制引脚的功能是不同的。本节主要介绍8086,而对8088,则说明它与8086的不同之处。 下面先介绍8086的最小方式系统。 xtwang@mail.xidian.edu.cn
8086 最小方式 系统总线结构 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 CLK(输入) 8086/8088的CLK信号由8284A时钟发生器产生。 5.3 8086的引脚功能与时序 CLK(输入) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET 8086/8088的CLK信号由8284A时钟发生器产生。 时钟信号占空比为33%时是最佳状态。 最高频率对8086和8088为5MHz, 对8086-2为8MHz,对8086-1为10MHz。 xtwang@mail.xidian.edu.cn
时序:三种总线上出现的信息不但有严格的顺序,而且有 准确的时间,成为时序 时钟:时钟脉冲发生器产生具有一定频率和占空比的脉冲 信号,称之为及其的主脉冲或时钟 主频:时钟的频率,是衡量CPU性能的一个重要指标 时钟周期:主频的倒数,是CPU的基本时间计量单位。 也叫一个T周期或一个T状态。或一个节拍 xtwang@mail.xidian.edu.cn
EFI F/C RES RESET READY CLK RDY X1 X2 8086/8088 8284A 系统RESET信号 +5V 开关 5.3 8086的引脚功能与时序 EFI F/C RES RESET READY CLK RDY X1 X2 8086/8088 8284A 系统RESET信号 +5V 开关 R C ● xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 CLK 基本总线周期 T1 T2 T3 T4 时钟周期 TW T1 T2 T3 T4 微处理器是在统一的时钟信号CLK控制下,按节拍进行工作的。8086/8088的时钟频率为5MHz。时钟周期为200ns,它是CPU工作的最小节拍。 用于等待存储器或I/O接口响应的等待状态 总线周期 占空比(Duty Ratio)在电信领域中有如下含义: 在一串理想的脉冲周期序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。 强调 时钟周期, 总线周期 和 基本总线周期的概念及区别 Tw是CPU为了配合速度较慢的外设而插入的等待周期 总线周期和总线周期之间的若干个T1叫做空闲周期 一个已经传输好了,下一个还没有开始的状态 T1 T4 T2 T3 8086/8088 CPU对存储器或I/O进行一次访问,需要至少4个时钟周期,即称为基本总线周期 总线周期间的等待状态(空闲状态) xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 RESET(输入) 系统复位信号 系统复位: 至少保持4个时钟周期的高电平; RESET 信号有效时, 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET RESET(输入) 系统复位信号 系统复位: 至少保持4个时钟周期的高电平; RESET 信号有效时, CPU清除IP、DS、ES、SS、PSW、指令队列;置CS为0FFFFH。 提问:计算机系统复位后的启动物理地址为多少? 0FFFF0H 这个知识点经常考 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 AD15~AD0: A19/S6~A16/S3: 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET AD15~AD0: 三态,地址/数据复用线。ALE有效时为地址信号输出;否则,为双向数据线。 A19/S6~A16/S3: 三态,输出,地址/状态信号复用线。在总线周期的T1状态,输出高4位地址;其他状态输出CPU的状态信号。执行I/O操作时不用,全为低电平。 xtwang@mail.xidian.edu.cn
T1内,发送地址信息,作地址线用,输出所要寻址的存储单元或外设端口地址 5.3 8086的引脚功能与时序 分时复用的总线时序 T1 T2 T3 T4 AD15~AD0 CLK BHE/ S7 A19/ S6~ A16 / S3 S7 BHE A15~A0 D15~D0 A19~A16 S6~S3 1,T1状态发送地址信息,输出所要寻址的存储单元或外设端口地址(没有地址就谈不上数据) 2. T2 状态,CPU从总线上撤销地址,并使总线的低16位浮置位高阻状态,为传送数据作准备 T3状态,总线的高4位继续提供状态信息,低16位上出现数据,(也可能是CPU输出的,也可能是外设送来的) 等待状态:有时,外设不能及时配合CPU,那么在T3状态启动之前,他会通过READY引脚向CPU发威准备好信号。 T3状态之后,自动插入若干个Tw,直至CPU接收到准备好信号,自动脱离Tw进入T4状态 T3状态,总线的高4位 提供状态信息S3-S6,低16位上出现数据 T2 内,CPU从总线上撤销地址,并使总线的低16位浮置位高阻状态,为传送数据作准备 T4状态,CPU(或外设)从总线上读取数据 T1内,发送地址信息,作地址线用,输出所要寻址的存储单元或外设端口地址 Tw状态,外设速度不能及时配合CPU的时候,在T3 和 T4 之间插入TW xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 BHE低电平有效 表示使用 高8位数据线: AD15---AD8; 1 2 3 4 5 6 7 8 9 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET BHE低电平有效 表示使用 高8位数据线: AD15---AD8; xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 操 作 BHE A0 使用的数据引脚 0 0 AD15 ~AD0 1 0 AD7 ~ AD0 0 1 5.3 8086的引脚功能与时序 操 作 BHE A0 使用的数据引脚 读或写偶地址的一个字 0 0 AD15 ~AD0 读或写偶地址的一个字节 1 0 AD7 ~ AD0 读或写奇地址的一个字节 0 1 AD15 ~ AD8 读或写奇地址的一个字 (第一个总线周期放低位数据字节) (第二个总线周期放高位数据字节) 都等于1时无操作 xtwang@mail.xidian.edu.cn
A19/S6,A18/S5,A17/S4,和A16/S3为分时复用地址/状态信号线 S4、S3的功能 S4 S3 段寄存器 ES 1 SS CS(或I/O,中断响应) DS S3和 S4 用来表示现在正在使用的当前段 S6始终为低电平不用,S5 为标志寄存器PSW里中断允许标志位 的 IF 的当前状态 在存贮器读写操作总线周期的T1状态输出高4位地址A19—A16,对I/O端口输入输出操作时,这4条线不用,全为低电平。 xtwang@mail.xidian.edu.cn
利用它的下降沿把地址信号和BHE信号锁存在地址锁存器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET 7.ALE(输出) 地址锁存允许信号 高电平表示地址线的地址信息有效。 利用它的下降沿把地址信号和BHE信号锁存在地址锁存器 结合锁存器74LS373来考虑,ALE应该与373的什么线相接? 看书 P166 例5.1 ALE与使能端 G 相连, G=0的时候 保持, G=1的时候,跟随 看下页ppt xtwang@mail.xidian.edu.cn
共有 21根线需要进行分时复用 所以需要 3片 74LS373 20根地址线和 一根 BHE非 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 数据总线是双向的; DT/R (数据收/发信号) 控制数据传输方向; 控制74LS245的传送方向 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET 数据总线是双向的; DT/R (数据收/发信号) 控制数据传输方向; 控制74LS245的传送方向 DEN(数据允许) 控制数据有效时间。 控制74LS245的输出允许 xtwang@mail.xidian.edu.cn
… 数据总线形成 8086 ● MN/MX 微处理器级总线 AD15~ AD8 D15~D8 DEN DT/R 74LS245 +5V DEN AD15~ AD8 AD7 ~ AD0 系 统 数据 总 线 74LS245 微处理器级总线 A0 B0 A7 B7 E DIR … ● 数据总线形成 DEN非,数据有效信号,接片选信号E非,表示只有当 DEN非有效的时候才能开始传输数据 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 RD(输出,三态) 读信号 WR(输出,三态) 写信号 T2~T4状态有效。 T2~T4状态有效 1 2 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET RD(输出,三态) 读信号 T2~T4状态有效。 WR(输出,三态) 写信号 RD非, 低电平有效:表示CPU正在从存储器或I/O端口寄存器读取数据; WR非,低电平有效:表示CPU正在执行向存储器或I/O端口进行输出操作 这两个信号是用来显示CPU工作状态的 T2~T4状态有效 xtwang@mail.xidian.edu.cn
5.3 8086的引脚功能与时序 M/IO(输出,三 态) 存储器与I/O端口区分信号 5.3 8086的引脚功能与时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET M/IO(输出,三 态) 存储器与I/O端口区分信号 在Intel 8088中,该引脚定义为IO/M,极性与8086的M/IO反相。 xtwang@mail.xidian.edu.cn
写总线周期 5.3 8086的引脚功能与时序 DT/R (数据收/发信号) 控制数据传输方向; 控制74LS245的传送方向 5.3 8086的引脚功能与时序 写总线周期 DT/R (数据收/发信号) 控制数据传输方向; 控制74LS245的传送方向 DEN(数据允许) 控制数据有效时间。 控制74LS245的输出允许 高电平表示地址线的地址信息有效。 利用它的下降沿把地址信号和BHE信号锁存在地址锁存器 DTR非和 WR非都是表征 数据信号传输方向的信号,但是 DT/R 非是控制系统总线上数据信号的,wr非是与外设或存储器连接的握手信号 xtwang@mail.xidian.edu.cn
读总线周期 读周期,在T2中使总线处于浮动的(高阻)缓冲状态,以使CPU有足够的时间从输出地址方式转变为输入(读)数据方式。然后在T4状态的开始,CPU从总线上读入数据。 xtwang@mail.xidian.edu.cn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET 其它控制信号 xtwang@mail.xidian.edu.cn
准备好信号 READY(输入) CPU在T3 状态检测READY信号,如果READY为低电平,则插入等待状态Tw,同时再次检测READY信号,直到READY为高电平,则进入T4状态,完成本次总线周期。 外设向CPU发送的状态信息 外设速度较低的情况下,利用ready让高速的CPU进行等待 xtwang@mail.xidian.edu.cn
当CPU执行WAIT指令的操作时,每隔5个时钟周期对TEST输入端进行一次测试: 测试信号 TEST(输入) 当CPU执行WAIT指令的操作时,每隔5个时钟周期对TEST输入端进行一次测试: 高电平:CPU继续处于等待状态; 低电平:CPU执行下一条指令。 xtwang@mail.xidian.edu.cn
CPU有两类硬件中断: 非可屏蔽中断: NMI 可屏蔽中断: INTR,INTA xtwang@mail.xidian.edu.cn
注意:CPU中断响应不受标志寄存器中断允许标志位IF状态的影响。 15.NMI(输入) 非可屏蔽中断请求输入信号 条件:NMI出现上升沿 动作:CPU在执行完现行指令后,立即进入中断服务子程序。 注意:CPU中断响应不受标志寄存器中断允许标志位IF状态的影响。 非可屏蔽中断,必须响应,CPU在执行完当前指令之后,立即去响应,就如同上课,有同学举手,这就是费可屏蔽中断,我说完现在这句话之后必须响应这位同学的中断信号 可屏蔽中断,有响应条件的。取决于状态控制字PSW中的IF。比如说我正在上课,电话响了,但是此时是上课时间IF=0,我不能响应这个电话,所以我就不理他,继续进行我的课程。但如果现在课间休息了,IF=1,我就可以去接这个电话 xtwang@mail.xidian.edu.cn
注意: CPU对可屏蔽中断的响应受中断允许标志位IF状态的影响。 INTR(输入) 可屏蔽中断请求输入信号 条件:INTR高电平 IF=1 动作:CPU发出中断响应信号;从外设读取中断类型号;进入中断服务子程序。 注意: CPU对可屏蔽中断的响应受中断允许标志位IF状态的影响。 由外设发向CPU 当INTR为高电平时,表示CPU外部有中断请求,CPU在每个指令的最后一个时钟周期检测INTR,并根据IF的状态判断是否需要响应中断 举例,假设现在上课,我是CPU,有个人早上要来找我,我在没说完一句话都会听一下门口是否有人敲门,即检测INTR。但是现在是上课时间,相当于IF=0,我不能停下课程去响应中断,那我就不理他,继续上课,但如果现在是课间休息,IF=1,这个时候再有人敲门,那我说完我现在说的这句话,就停下来去开门,响应他这个中断 xtwang@mail.xidian.edu.cn
中断响应信号 17.INTA(输出) 在相邻的两个总线周期中输出两个负脉冲 空闲状态 ALE 中断类型号 通知外设,其中断请求被接收 由外设向CPU提供中断类型号 通知外设,其中断请求被接收 AD 7 ~ T 1 2 3 4 空闲状态 ALE INTA 中断类型号 由CPU发向外设 外部向CPU发送了INTR之后,如果IF=1,中断允许响应的情况下,CPU在执行完当前指令之后,开始响应中断,进入中断响应时序 CPU在这一过程中会发出两个INTA负脉冲,均从T2持续到T4。 第一个负脉冲实现握手,向外设通知,该中断被响应 第二个负脉冲是通知 8259(中断控制器)把中断类型码放到AD0~AD7上。 读到中断类型码之后,CPU去中断向量表里查找该外设的入口地址,响应中断程序 xtwang@mail.xidian.edu.cn
CPU总线使用权可以由外设控制 总线申请信号: HOLD 总线授予信号: HLDA 总线请求响应过程: CPU让出总线控制权,给出HLDA信号; 外部设备撤消HLOD信号,CPU恢复对总线的控制权。 关于这个概念在后面的DMA(direct memory access)中会详细介绍 当外设和 存储器之间存在大量数据交换的时候,我们现在学习的方法是不是必须通过CPU来进行 但是在有DMA工作方式的情况下,外设就可以向CPU请求总线的控制权,直接与存储器进行交流 HOLD:输入,总线保持请求信号输入端。当CPU以外的其它设备要求占用总线时,通过该引脚向CPU发出请求。 HLDA:输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线均变为高阻状态。 xtwang@mail.xidian.edu.cn
8086 最小方式 系统总线结构 MN / MX CLK READY RESET TEST HOLD HLDA M IO WR RD ALE BHE NMI INTR INTA + 5 V 时钟 8284 A 8086 CPU G 74 LS 373 OE 锁存器 19 ~ 16 AD 15 DT R DEN DIR 245 收发器 数据总线 D 地址总线 控制总线 8086 最小方式 系统总线结构 xtwang@mail.xidian.edu.cn
8086 CPU 最 小 方 式 系 统 总 线 8088 CPU 最 小 方 式 系 统 总 线 D15-D8 D7-D0 A19-A16 A15-A0 BHE M/IO WR RD NMI INTR INTA 8088 CPU 最 小 方 式 系 统 总 线 D7-D0 A19-A16 A15-A0 IO/M WR RD NMI INTR INTA (1)8086中的AD15—AD8 在8088中为单一的地址总线A15—A8(输出,三态),只用于输出地址。系统数据总线为D0—D7。 (2) 在最小方式下,8086的M/IO引脚在8088中为IO/M ,信号极性与8086反相。 (3)8086中的BHE/S7引脚在8088中为SS0(输出),仅用于在最小方式时提供状态信息,在最大方式中始终为高电平。 xtwang@mail.xidian.edu.cn
本章 作业 课后习题 填空题全部做书上 作业本: 5.21, 5.22(1),(3) xtwang@mail.xidian.edu.cn
8086 最大方式 系统总线结构 什么是最大工作方式: 8086最小工作方式中,8086CPU直接提供必需的总线控制信号,单系统工作方式。 最小工作方式中,系统总线是由CPU掌控, 为了提高总线利用率,也允许其他主控设备(DMA)可以占用系统总线,实现外设和存储器之间数据的直接传输。就是刚才讲的HOLD和HLDA的用法中提到的。 但DMA只能负责传输,不能执行任何指令,这就又从另一个层面上降低了系统效率。 为此呢,我们希望系统中有多个能同时执行指令的处理器————既多处理器系统 在这种情况下,8086就工作在最大工作方式中。 IBM PC机系列都是最大工作方式处理器。 xtwang@mail.xidian.edu.cn
最小工作模式 由8086单一微处理器构成的小系统。 在这种方式下,由8086CPU直接产生小系统所需要的全部控制信号。 最小的含义是: 系统中的存储器容量较小, 外设端口也较少, 所需的系统总线控制逻辑的规模较小, 总线的驱动能力不高。 最小组态工作模式适用于小规模应用场合 xtwang@mail.xidian.edu.cn
最大工作模式 多处理器系统,其中,8086CPU为主处理器,其他处理器被称为协处理器。 在这种方式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信号进行译码产生相应控制信号。 xtwang@mail.xidian.edu.cn
最大模式系统的特点 总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号 协处理器只是协助主处理器完成某些辅助工作,即被动的接受并执行来自主处理器的命令。 和8086配套使用的协处理器有两个:一个是专用于数值计算的协处理器8087,另一个是专用于输入输出操作的协处理器8089。8087通过硬件实现高精度整数浮点数运算。8089有其自身的一套专门用于输入输出操作的命令系统,还可带局部存储器,可以直接为输入输出设备服务。增加协处理器,使得浮点运算和输入输出操作不再占用8086时间,从而大大提高了系统的运行效率。 xtwang@mail.xidian.edu.cn
构成多处理器系统,显著提高系统的工作效率 最大工作模式特点 8086CPU处于最大组态工作模式时,系统中可包含两个或两个以上CPU, 8086称为主处理器,其他的称为协处理器 8087 数学协处理器,8089 输入输出协处理器 CPU的控制总线信号由引脚 24 ~ 31经8288总线控制器转换后接出。 最大的含义是:构成的计算机系统规模较大, 存储器容量较大,外设端口也较多, 总线的控制和驱 动能力较强, 构成多处理器系统,显著提高系统的工作效率 xtwang@mail.xidian.edu.cn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK INTEL 8086 CPU Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M /IO DT/R DEN ALE INTA TEST READY RESET (RQ/GTO) (RQ/GT1) (LOCK) (S2) (S1) (S0) (QS0) (QS1) 最大方式 当MN / MX=0时工作于于最大模式,在最大模式下,通常把该引脚接地。 为满足多处理器系统的需要,又不增加引脚数,8086 CPU在最大模式下只有24~31引脚与最小模式的功能不同。以下介绍这些引脚的功能。 最大模式是指用于多微处理器组成的系统。在最大模式下,8086 CPU不能直接产生存储器或I/O的读写控制信号。CPU输出3个状态位,由总线控制器8288译码后产生相应的控制信号。 xtwang@mail.xidian.edu.cn
QS1~QS0,输出 指令队列的状态输出线。当8086在执行当前指令的同时,总线接口单元BIU从存储器中预取后面的指令,并将其存放在指令预取队列中。 QS1~QS0用来提供指令队列的状态信息,以便外部逻辑,比如协处理器,跟踪内部指令序列。 QS1 QS0 指令队列状态 无操作,队列中指令未被取出 1 从队列中取出当前指令的第一个字节 队列空 从队列中取出指令的后续字节 xtwang@mail.xidian.edu.cn
RQ/GT1和RQ/GT0,输入/输出 双向,RQ:入,GT:出。低电平有效。用于总线请求信号的输入和总线授权信号的输出,特点是请求和授权功能由一根线来实现。(其它处理器请求总线、CPU授权)。 总线的请求/允许在时序上分为三个阶段:请求、允许、释放。 两条控制线可同时接两个协处理器,RQ/GT0优先级高。 xtwang@mail.xidian.edu.cn
最大方式时总线请求和总线授予时序图 主设备 请求总线存取 CPU将总线 授予主设备 主设备 释放总线 T4 或 T1 ≈ CLK ≈ RQ/GT 主设备 请求总线存取 CPU将总线 授予主设备 主设备 释放总线 xtwang@mail.xidian.edu.cn
有效方式:指令前缀LOCK:维持到该条指令执行结束 INTR引脚上的中断请求信号 总线锁定信号,低电平有效。该信号用来封锁外部处理器的总线请求。不允许总线上的主控设备占用总线。 有效方式:指令前缀LOCK:维持到该条指令执行结束 INTR引脚上的中断请求信号 xtwang@mail.xidian.edu.cn
取指令和读存储器都是对存储器进行操作,一个是对ROM操作,一个是对RAM操作 S2~S0,输出,三态 CPU状态输出线,其编码表示CPU当前总线周期的操作类型。总线控制器8288接收这个状态信息,并产生访问存储器或I/O端口和对74LS373、74LS245的控制信号。 S2 S1 S0 操作状态 8288产生的信号 0 0 0 中断响应 INTA 0 0 1 读I/O端口 IORC 0 1 0 写I/O端口 IOWC、AIOWC 0 1 1 暂停 无 1 0 0 取指令 MRDC 1 0 1 读存储器(数据) MRDC 1 1 0 写存储器(数据) MWTC、AMWC 1 1 1 保留 无 取指令和读存储器都是对存储器进行操作,一个是对ROM操作,一个是对RAM操作 取指令和读存储器都是对存储器进行操作 xtwang@mail.xidian.edu.cn
8288对CPU输出的S2,S1,S0三个状态信号译码产生的控制信号如下图所示。 8288 8086/8088 MRDC S2 MWTC MN/MX S2 S1 S0 MRDC MWTC IORC IOWC ALE DT/R DEN INTA 8288 xtwang@mail.xidian.edu.cn
用于总线控制的命令信号 INTA:CPU向中断控制器或设备发出的中断响应信号。 IORC:I/O读命令,命令I/O接口把数据放在数据总线上。 IOWC:I/O写命令,命令I/O接口接收数据总线上的数据。 MRDC:存储器读命令。 MWTC:存储器写命令。 AIOWC、AMWC:先行I/O写命令、先行存储器写命令,对于慢速接口增加一个时钟周期准备数据。(P173, 图5.13) xtwang@mail.xidian.edu.cn
通过译码 生成的总线 命令信号 由控制信号发生器生成的控制信号 输出: MRDC AMWC MWTC IORC IOWC AIOWC INTA DEN DT/R ALE MCE/PDEN 通过译码 生成的总线 命令信号 输入: CLK S0-S2 AEN IOB CEN 由控制信号发生器生成的控制信号 Intel 8288引脚 xtwang@mail.xidian.edu.cn
Intel 8288结构框图 状态译码器 控制电路 命令信号 发生器 控制信号 S 状态信号 (来自CPU) MRDC MWTC AMWC 1 状态信号 (来自CPU) MRDC MWTC AMWC IORC AIOWC INTA DT / R DEN MCE PDEN ALE 总 线 命 令 信 号 控 制 CLK AEN CEN IOB 控制输入 Intel 8288结构框图 xtwang@mail.xidian.edu.cn
8086 最大方式 系统总线结构 READY 时钟 8284 A MN / MX CLK READY RESET TEST RQ / GT NMI INTR 控制总线 CLK 8288 S S S S INTA 1 1 S S MRDC 2 2 DEN MWTC DT / R IORC 8086 CPU ALE IOWC 系统总线 G BHE BHE 锁存器 A ~ A 74 LS 373 地址总线 A ~ A 19 16 19 AD ~ AD OE 15 收发器 74 LS 245 数据总线 D ~ D DIR 15 OE xtwang@mail.xidian.edu.cn
与最小方式系统的主要不同 M/IO RD WR 1、用于74LS373锁存器及74LS245收发器的控制信号、读写控制信号和INTA 信号在最大方式系统中均由8288总线控制器根据CPU输出的3个状态位S2、S1和S0的状态产生 M/IO RD WR MRDC IORC MWTC AMWTC IOWC AIOWC MEMW MEMR IOW IOR 3、8288输出的数据允许信号DEN的极性与最小方式下CPU产生的DEN相反 2、 xtwang@mail.xidian.edu.cn
最大工作方式读总线周期 xtwang@mail.xidian.edu.cn
最大工作方式写总线周期 xtwang@mail.xidian.edu.cn
最大方式系统总线基本框图 D15-D8 D7-D0 8088 8086 D7-D0 CPU CPU 最 最 大 A19-A16 大 MEMW MEMR IOW IOR 8086 CPU 最 大 方 式 系 统 总 线 D7-D0 A19-A16 A15-A0 BHE MEMW MEMR IOW IOR xtwang@mail.xidian.edu.cn
Contents 总线定义及分类 几种常用芯片 8086的引脚功能及时序 系统总线的形成 8088与8086的差异 1 2 3 4 5 xtwang@mail.xidian.edu.cn
8086与8088的差异 (1)CPU内部 差异 8086 8088 指令队列寄存器 6字节 4字节 xtwang@mail.xidian.edu.cn
(2)CPU外部 差异 8086 8088 数据总线 16条D0-D15 8条D0-D7 AD15-AD8 分时复用 单一地址线 极性相反 M/IO IO/M 其它 BHE/S7 SS0 xtwang@mail.xidian.edu.cn
PC/XT 总线 PC/XT总线是IBM 公司推出的微机所配备的系统总线,采用8位的总线标准。 PC/XT总线共有62个信号,时钟频率为4.77MHz。 PC/XT机采用的CPU为 8088最大方式 xtwang@mail.xidian.edu.cn
IBM PC/XT总线信号排列图 xtwang@mail.xidian.edu.cn
系统总线形成电路 IBM PC/XT xtwang@mail.xidian.edu.cn
系统总线分类: 1、地址总线:A0-A19 输出 2、数据总线:D0-D7 双向 3、控制总线 (1)扩充板上存储器操作需要的控制信号线 MEMR:输出 存储器读控制信号 低电平有效 MEMW:输出 存储器写控制信号 低电平有效 xtwang@mail.xidian.edu.cn
(2)I/O读写操作需要的控制信号线 IOR:输出 I/O端口读操作控制信号 低电平有效 IOW:输出 I/O端口写操作控制信号 低电平有效 AEN:输出 控制信号,DMA操作时为高,执行IN和OUT时为低,所以在I/O设计时,必须有这个信号=0参加地址译码 I/OCHCK: 低电平有效,向CPU提供外设是否准备好的信号 xtwang@mail.xidian.edu.cn
(3)存储器读写和I/O读写都需要的控制信号线 ALE:输出 地址锁存控制信号 I/O CHRDY:外部输入信号引端 向CPU提供准备好信号 (4)中断请求信号线 IRQ2-IRQ7:2-7级的中断请求信号输入端 xtwang@mail.xidian.edu.cn
DRQ1—DRQ3:输入 DMA传送请求信号端 DACK0—DACK3:输出 CPU对DMA请求的应答信号 T/C:输出 当某个通道计数到终值时,输出高电平 xtwang@mail.xidian.edu.cn
4、其他信号线 OSC:输出14.318MHz的方波 CLK:输出4.77MHz基本时钟脉冲 RESETDRV:输出 对接口或外设初始化 电源:+5V两端 -5V一端 +12V一端 -12V一端 GND三端 xtwang@mail.xidian.edu.cn
PC/XT系统基本框图 D7-D0 A19-A0 PC/XT MEMW 系 统 总 MEMR 线 IOW IOR AEN xtwang@mail.xidian.edu.cn
本章要点回顾 xtwang@mail.xidian.edu.cn
1.总线的概念及分类 2.微处理器级总线与系统总线的关系 3.总线形成过程中常用的三个芯片 4.8086的引脚及各自功能 5.8086时钟的概念,总线周期的概念 6.分时复用的地址/数据总线的实现形式 7.总线读/写时序 8.8086最小工作方式和最大工作方式的概念及区别 9.8086CPU与8088CPU的区别 10.8086/8088与PC/XT的总线形成 xtwang@mail.xidian.edu.cn
Thank You !