【微机原理及接口技术】8086/8088系统时序和微机总线
文章目录
- 【微机原理及接口技术】8086/8088系统时序和微机总线
- 前言
- 一、8086/8088引脚信号和工作模式
- 1.8088 的两种组态模式
- 2.最小组态的引脚信号
- 3.最小组态的总线形成
- 4.最大组态的总线形成
- 二、8086/8088典型时序
- 1.三种周期定义及关系
- 2.最小组态的总线时序
- 三、总线标准
- 总结
前言
在本篇文章当中我们会详细讲到8086/8088引脚信号和工作模式,8086/8088典型时序,以及总线标准。
一、8086/8088引脚信号和工作模式
外部特性表现在引脚信号上
学习是应关注:
1)引脚的功能:引脚信号的定义、作用;通常采用英文单词或其缩写表示;
2)信号的流向:信号从芯片向外输出还是从外部输入芯片或者是双向的;
3)触发方式:起作用的电平或脉冲,高、低电平有效,上升,下降边沿有效;
三态能力:输出正常的低电平、高电平外,还可以是输出高阻的第三态;
1.8088 的两种组态模式
两种组态构成两种不同规模的应用系统
最小组态模式:
构成较小规模的应用系统
8088本身提供所有的系统总线信号
最大组态模式:
构成较大规模的应用系统
8088和总线控制器8288共同形成系统总线信号(8088提供DB、AB,8288提供CB)
两种组态利用MN/MX引脚区别
MN/MX接高电平为最小组态模式
MN/MX*接低电平为最大组态模式
两种组态下的内部操作并没有区别
我们接下来以最小组态展开基本原理
8088 的引脚图,40个引脚:(看起来很多我们接下来一步步介绍)
2.最小组态的引脚信号
对照上面的引脚图接下来我们逐个介绍:
1.数据和地址引脚
2.读写控制引脚
3中断请求和响应引脚
4.总线请求和响应引脚
5.其他引脚
- 1.数据和地址引脚
AD7~AD0(Address/Data)
地址/数据分时复用引脚,双向、三态
这些引脚在访问存储器或I/O端口的总线操作周期中:
在第一个时钟周期,输出存储器或I/O端口的低8位地址A7~A0
其它时间用于传送8位数据D7~D0
A15~A8(Address)
中间8位地址引脚,输出、三态
这些引脚在访问存储器或I/O端口时,提供全部20位地址中的中间8位地址A15~A8
A19/S6~A16/S3(Address/Status)
地址/状态分时复用引脚,输出、三态
这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16
在访问I/O端口的第一个时钟周期全部输出低电平无效
其它时间输出状态信号S6~S3
- 2.读写控制引脚
ALE(Address Latch Enable)
地址锁存允许,输出、三态、高电平有效
ALE引脚高电平有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息
由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来
IO/M* (Input and Output/Memory)
I/O或存储器访问,输出、三态
该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O端口地址
该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址
WR* (Write)
写控制,输出、三态、低电平有效
有效时,表示CPU正在写出数据给存储器或I/O端口
RD* (Read)
读控制,输出、三态、低电平有效
有效时,表示CPU正在从存储器或I/O端口读入数据
IO/M*、WR和RD是最基本的控制信号,组合后,控制4种基本的总线周期
READY
存储器或I/O端口就绪,输入、高电平有效
在总线操作周期中,8088 CPU会在第3个时钟周期的前沿测试该引脚
如果测到高有效,CPU直接进入第4个时钟周期
如果测到无效,CPU将插入等待周期Tw
CPU在等待周期的前沿仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。
DEN* (Data Enable)
数据允许,输出、三态、低电平有效
有效时,表示当前数据总线上正在传送数据,可利用它来控制对数据总线的驱动
DT/R* (Data Transmit/Receive)
数据发送/接收,输出、三态
该信号表明当前总线上数据的流向
高电平时数据自CPU输出(发送)
低电平时数据输入CPU(接收)
SS0* (System Status 0)
最小组态模式下的状态输出信号
它与IO/M* 和DT/R* 一道,通过编码指示CPU在最小组态下的8种工作状态:
- 取指 5. 中断响应
- 存储器读 6. I/O读
- 存储器写 7. I/O写
- 过渡状态 8. 暂停
- 3中断请求和响应引脚
INTR(Interrupt Request)
可屏蔽中断请求,输入、高电平有效
有效时,表示请求设备向CPU申请可屏蔽中断
该请求的优先级别较低,并可通过中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽
INTA* (Interrupt Acknowledge) ***
可屏蔽中断响应,输出、低电平有效
有效时,表示来自INTR引脚的中断请求已被CPU响应*,CPU进入中断响应周期
中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设接口它们的中断请求已被响应、并令有关外设接口将中断向量号送到数据总线
NMI(Non-Maskable Interrupt)NMI(Non-Maskable Interrupt)
不可屏蔽中断请求,输入、上升沿有效
有效时,表示外界向CPU申请不可屏蔽中断
该请求的优先级别高于INTR,并且不能在CPU内被屏蔽
当系统发生紧急情况时,可通过它向CPU申请不可屏蔽中断服务
- 4.总线请求和响应引脚
HOLD
总线保持(即总线请求),输入、高电平有效
有效时,表示总线请求设备向CPU申请占有总线
该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权
HLDA(HOLD Acknowledge)
总线保持响应(即总线响应),输出、高电平有效
有效时,表示CPU已响应总线请求并已将总线释放
此时CPU的地址引线、数据引线及具有三态输出能力的控制引线将全面呈现高阻,使总线请求设备可以顺利接管总线
待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权
- 5.其它引脚
RESET
复位请求,输入、高电平有效
该信号有效,将使CPU回到其初始状态;当它再度返回无效时,CPU将重新开始工作
8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H
CLK(Clock)
时钟信号,输入
系统通过该引脚给CPU提供内部定时信号。8088的标准工作时钟为5MHz
IBM PC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns
Vcc
电源输入,向CPU提供+5V电源
GND
接地,向CPU提供参考地电平
MN/MX* (Minimum/Maximum)
组态选择,输入
接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态
TEST*
测试,输入、低电平有效
该引脚与WAIT指令配合使用
当CPU执行WAIT指令时,它将在每5个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行
也就是说,WAIT指令使CPU产生等待,直到TEST*引脚有效为止
引脚小结:
8088的CPU引脚提供系统总线的基本信号
可以分成三类信号线:
8位数据线:D0~D7
20位地址线:A0~A19
控制线:
ALE、IO/M*、WR*、RD*、READY
INTR、INTA*、NMI,HOLD、HLDA
RESET、CLK、Vcc、GND
“引脚”提问
问一:
CPU引脚是如何与外部连接的呢?
解答:通过总线——总线形成?
问二:
CPU引脚是如何相互配合来实现总线操作,从而控制系统工作的呢?
解答:通过控制总线时序——总线时序?
接下来我们将讲到总线形成。
3.最小组态的总线形成
1)20位地址总线——
采用3个三态透明锁存器8282进行锁存和驱动
2)8位数据总线——
采用数据收发器8286进行驱动,
也可由8088直接提供
3)系统控制信号——
由8088引脚直接提供
补充内容:三态门和D触发器
以三态门形成的三态缓冲器和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路
三态门:功率放大、导通开关
器件共用总线时,一般使用三态电路:
需要使用总线的时候打开三态门(高、低电平);
不使用的时候关闭三态门,使之处于高阻
D触发器:信号保持,也可用作导通开关
D触发器
电平锁存:低电平锁存
上升沿锁存:通常用负脉冲上升沿触发锁存
Intel 8282
三态缓冲器
三态门具有单向导通和三态的特性
T为低电平时:
输出为高阻抗(三态)
T为高电平时:
输出为输入的反相
双向三态缓冲器
三态门具有双向导通和三态的特性
OE=0,导通
T=1 A→B
T=0 A←B
OE=1,不导通
Intel 8286
4.最大组态的总线形成
⑴ 系统地址总线
采用三态透明锁存器8282锁存和驱动
⑵ 系统数据总线
通过三态双向缓冲器8286形成和驱动,
也可由8088直接提供
⑶ 系统控制总线
主要由总线控制器8288形成
MEMR*、MEMW*、IOR*、IOW*、INTA*
二、8086/8088典型时序
总线时序描述CPU引脚如何实现总线操作,从而决定系统各部件间的同步和定时。
总线操作是指CPU通过总线对外的各种操作
8088的总线操作主要有:
存储器读操作、I/O读操作
存储器写操作、I/O写操作
中断响应操作
总线响应操作
1.三种周期定义及关系
时钟周期:时钟是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态。
总线周期:指CPU通过总线进行某种操作的过程。如存储器读周期、存储器写周期、I/O读周期、I/O写周期等。
指令周期:指一条指令经取指、译码、读操作数、执行、送结果数据的过程。
一个基本总线周期包含4个时钟周期:
4个时钟周期编号为T1、T2、T3和T4
当需要延长总线周期时,需要在T3和T4之间插入若干时钟周期Tw, Tw又称为等待周期
在两个总线周期之间,系统总线处在空闲状态,需要执行若干时钟周期Ti, Ti又称为空闲周期
基本总线周期由4个T状态组成:T1、T2、T3、T4
等待时钟周期Tw,在总线周期的T3和T4之间插入
空闲时钟周期Ti,在两个总线周期之间插入
一个指令周期包含若干总线周期:
任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码
任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期
只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期
CPU响应中断请求(包括INTR和NMI)时生成中断响应总线周期CPU总线周期采用同步时序
各部件都以系统时钟信号为基准
当相互不能配合时,快速部件(CPU)插入等待周期Tw等待慢速部件(I/O和存储器)
CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作
2.最小组态的总线时序
接下来展开介绍微处理器最基本的四种总线周期
1.存储器读总线周期
2.存储器写总线周期
3.I/O读总线周期
4.I/O写总线周期
- 1.存储器读总线周期
T1状态——IO/M输出低电平,表示存储器操作;
输出20位存储器地址A19~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号RD
T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送
- 2.存储器写总线周期
T1状态——IO/M输出低电平,表示存储器操作;输出20位存储器地址A19~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号WR和数据D7~D0
T3和Tw状态——检测数据传送是否能够完成
T4状态——完成数据传送
- 3.I/O读总线周期
T1状态——IO/M输出高电平,表示I/O操作;
输出16位I/O地址A15~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号RD
T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送
- 4.I/O写总线周期
插入等待周期TW
三、总线标准
总结
到这里这篇文章的内容就结束了,谢谢大家的观看,如果有好的建议可以留言喔,谢谢大家啦!