问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【微机原理与接口技术】80x86的引脚信号及总线时序

创作时间:
作者:
@小白创作中心

【微机原理与接口技术】80x86的引脚信号及总线时序

引用
CSDN
1.
https://m.blog.csdn.net/m0_74209563/article/details/145204441

8086处理器是Intel公司于1978年推出的第一款16位微处理器,它在计算机发展史上具有重要地位。本文将详细介绍8086处理器的40个引脚信号及其功能,以及其总线时序的工作原理。

8086处理器共有 40 个引脚。学习 8086 引脚信号的目标就是分类学习这40个引脚(总线)信号:

  1. 数据和地址引脚
  2. 读写控制引脚
  3. 中断请求和响应引脚
  4. 总线请求和响应引脚
  5. 其它引脚(时钟信号、复位信号、组态选择输入、测试输入引脚、电源 VCC 和 地线 GND)

地址/数据信号

数量最多的处理器引脚是地址引脚和数据引脚,但功能单一。为减少引脚个数,8086采用了引脚信号分时复用的方法。所谓“分时复用”,是指同一引脚在不同的时刻具有不同的功能。

下面是最常见的地址总线和数据总线的复用,即数据总线在不同的时刻还具有地址总线的功能:

  • A D 15 ~ A D 0 AD_{15}~AD_0AD15 ~AD0 (Address/Data)

  • 地址/数据分时复用引脚,共16个引脚

  • 用作地址总线时是单向输出信号;用作数据总线时是双向信号,具有三态输出能力

  • 在访问存储器或外设的总线操作中
    这些引脚在第一个时钟周期输出存储器或 I/O 端口的低 16 位地址A 15 ∽ A 0 A_{15}\backsim{A_0}A15 ∽A0
    其他时间用于传送 16 位数据D 15 ∽ D 0 D_{15}\backsim{D_0}D15 ∽D0

  • A 19 / S 6 ~ A 16 / S 3 A_{19}/S_{6}~A_{16}/S_3A19 /S6 ~A16 /S3 (Address/Status)

  • 地址/状态分时复用引脚,是一组4个具有三态能力的输出信号

  • 引脚在访问存储器的第一个时钟周期输出高 4 位地址

  • 在访问外设的第一个时钟周期输出低电平,无效

  • 其他时间输出状态信号(反映处理器工作状态)

  • 状态信息S 6 S_6S6 总为低电平,表示8086与总线相连

  • S 5 S_5S5 反映当前允许中断标志的状态

  • B H E ‾ / S 7 \overline{BHE}/S_7BHE/S7 (Byte High Enable/Status)
  • 高字节允许/状态分时复用引脚,三态、输出信号
  • 访问存储器或外设的第一个时钟周期
  • 输出低有效信号,表示使用数据总线的高字节传送数据
  • 输出高电平信号,表示使用数据总线的低字节传送数据
  • 其他时间输出状态信号

读写控制信号

基本读写引脚(构成基本总线操作)

  • ALE(Address Latch Enable)

  • 地址锁存允许,三态、输出、高电平有效

  • 有效时,表示复用引脚正在传送地址信号
    8086 的A 19 / S 6 ~ A 16 / S 3 A_{19}/S_{6}~A_{16}/S_3A19 /S6 ~A16 /S3 和A 15 ~ A 0 A_{15}~A_0A15 ~A0 是复用信号,需要地址锁存器将地址信息保存起来,为外接存储器或外设提供地址信息
    需要锁存的信息是:地址信号及B H E ‾ \overline{BHE}BHE信号

  • M / I O ‾ M/\overline{IO}M/IO(Memory/Input and Output)(二合一信号)

  • 访问存储器或者I/O,三态、输出、高低电平均有效

  • 高电平(M),表示处理器访问存储器

  • 低电平时(I O ‾ \overline{IO}IO),表示处理器访问I/O端口

  • W R ‾ \overline{WR}WR(Write)

  • 写控制,三态、输出、低电平有效

  • 有效时,表示处理器正将数据写到存储单元或I/O端口

  • R D ‾ \overline{RD}RD(Read)

  • 读控制,三态、输出、低电平有效

  • 有效时,表示处理器正从存储单元或I/O端口读取数据

基本总线操作

  • 存储器读(Memory Read)
  • 处理器从存储器读取代码或读取操作数
  • 每条指令执行前都需要经过取指操作进入处理器
  • 以存储单元为源操作数的指令在执行时需要从主存获取操作数
  • 存储器写(Memory Write)
  • 处理器向存储器写入操作数
  • 以存储单元为目的操作数的指令在执行时需要将结果保存在主存中
  • I/O读(Input/Output Read)
  • 处理器从外设读取操作数
  • 只有执行输入指令IN时才启动一个I/O读总线操作
  • I/O写(Input/Output Write)
  • 处理器向外设写入操作数
  • 只有执行输出指令OUT时才才启动一个I/O写总线操作

读写控制信号的组合

8086处理器利用M / I O ‾ M/\overline{IO}M/IO、W R ‾ \overline{WR}WR和R D ‾ \overline{RD}RD这 3 种最基本的控制信号组合后控制 4 种基本的总线周期
从表中可以很明显的看出对应关系

同步操作引脚

读写操作需要保证存储器或外设与处理器速度一致,慢速的 I/O 或存储器发出一个信号(READY信号),让快速的处理器等待

  • READY信号
  • 是一个输入给处理器的信号,高电平有效表示可进行数据读写
  • 所以,存储器或I/O端口可利用该信号无效来请求处理器等待数据的到达
  • 处理器在进行读写前检测READY引脚

中断请求和响应引脚

  • INTR(Interrupt Request)

  • 可屏蔽中断请求,高电平有效的输入信号

  • 有效时,表示中断请求设备向处理器申请可屏蔽中断

  • 中断IF标志对该中断请求进行屏蔽(STI(IF=1),CLI(IF=0))

  • 主要用于实现外设数据交换的中断服务

  • I N T A ‾ \overline{INTA}INTA(Interrupt Acknowledge)

  • 可屏蔽中断响应,低电平有效的输出信号

  • 有效时,表示来自INTR引脚的中断请求已被处理器响应

  • NMI(Non-Maskable Interrupt)

  • 不可屏蔽中断请求,上升沿有效的输入信号

  • 有效时,表示外界向CPU申请不可屏蔽中断

  • 中断级别高于可屏蔽中断请求INTR

  • 常用于处理系统发生故障等紧急情况下的中断服务

总线请求和响应引脚

  • HOLD

  • 总线请求高电平有效的输入信号

  • 有效时,表示其他总线主控设备申请使用总线

  • HLDA(HOLD Acknowledge)

  • 总线响应高电平有效的输出信号

  • 有效时,表示处理器已响应总线请求并将总线释放

  • CPU进行总线释放:处理器的地址总线、数据总线及具有三态输出能力的控制总线呈现高阻状态,使总线请求设备可以顺利接管和使用总线

其它引脚

  • RESET

  • 复位,高电平有效的输入信号

  • 有效时,将迫使处理器回到其初始状态

  • 8086复位后,寄存器 CS=FFFFH,IP=0000H

  • 复位后第一条执行的指令在物理地址FFFF0H处,即主存地址高端

  • 通常系统会安排一条段间无条件转移指令JMP,将控制转移到程序入口

  • CLK(Clock)

  • 时钟输入,频率稳定的数字信号

  • 处理器的基本操作节拍

  • 频率的倒数是时钟周期的时间长度

  • M N / M X ‾ MN/\overline{MX}MN/MX(组态选择输入)

  • 选择CPU工作于最小/最大组态

  • 最小组态模式
    构成小规模的应用系统,如系统中只有一个8086
    8086本身提供所有的系统总线信号

  • 最大组态模式
    构成较大规模的应用系统,例如与数学协处理器8087一起构成系统时
    此时,8086和总线控制器8288共同形成系统总线信号

  • T E S T ‾ \overline{TEST}TEST

  • 测试输入引脚,用于与数字协处理器8087保持同步操作

8086的总线时序

  • 处理器以统一的时钟信号为基准,控制其他信号跟随时钟相应改变,实现总线操作
  • 8086处理器的基本总线周期由4个时钟周期构成,分别使用T1、T2、T3、T4表述
  • 每个时钟周期,8086将进行不同的具体操作、处于不同的操作状态(State)
  • 4个基本总线周期
  • 读总线周期:存储器读和I/O读
  • 写总线周期:存储器写和I/O写

写总线周期

写总线周期用来完成对存储器或I/O的一次写操作

  • T1状态

  • 输出20位存储器地址A 19 ~ A 0 A_{19}~A_0A19 ~A0

  • M / I O ‾ M/\overline{IO}M/IO输出高电平,表示存储器操作

  • 或者M / I O ‾ M/\overline{IO}M/IO输出低电平,表示 I/O 操作

  • ALE 输出正脉冲,表示复用总线输出地址

  • T2状态

  • 输出控制信号W R ‾ \overline{WR}WR和数据D 15 ~ D 0 D_{15}~D_0D15 ~D0

  • T3状态

  • 检测数据传送是否能够完成

  • T4状态

  • 完成数据传送

写总线周期时序

没有插入等待状态的基本总线周期由4个T状态组成,编号为 T1~T4
在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据
这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟1周期Tw(可在T3、T4 间插人若干个等待状态Tw

参考教材 《微机原理与接口技术——基于IA-32处理器和32位汇编语言(第5版)》

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号