文章目录
一,输入/输出接口基础
1,概述
输入/输出接口就是主机与外部设备之间的一种缓冲电路。
1.1 输入/输出接口的功能
- 解决CPU 与外设之间的速度不匹配问题
- 实现信号电平的转换
- 实现信号格式的转换
- 实现CPU与外设之间同步工作
- 实现 CPU 对端口的选择
为什么要有输入/输出接口?
外部设备的功能多种多样;与CPU 所传递的信息有数字式/模拟式;传递的信息有并行
/串行的;外设的工作速度通常比CPU 低得多,且外设的工作速度差别很大;输入输出过程
通常需要缓冲和联络;多个外设以中断方式与CPU 进行信息交换时需要中断管理,等等。
2,CPU与端口之间的接口技术
2.1最常用的简单输入/输出接口芯片
- 单向缓冲器 74LS244
- 双向缓冲器 74LS245
- 锁存器 74LS373
- 译码器 74LS138
2.2 端口的编码方式
2.2.1 端口
接口内包含多个端口,每个端口对应一个寄存器,每个端口都有独立的地址
- 数据端口
- 命令端口
- 状态端口
2.2.2 I/O 端口的寻址方式
- 统一编址方式
映射到存储空间,即把存储空间的一部分地址划出给外设用。
优点:简化指令设计。更方便,灵活。I/O地址空间可大可小
缺点:占了地址空间。译码电路更复杂。慢。 - 独立编址方式(习惯上采取)
用 IN OUT 那种
优点:可读性好;指令长度更短,速度快,占用内存空间少;译码电路更简单
缺点:必须有专门的 IN OUT 指令,且这些指令没有访问存储器的指令功能强
2.2.3 端口与 CPU 之间的接口
简单I/O接口的组成
- 地址译码
- 数据锁存与缓冲器
- 状态寄存器
- 命令寄存器等
(1)地址译码电路
常见地址译码电路分为两部分:接口的选择,端口的选择。
先判断高位作为接口地址,低位为端口地址。
然后会用74LS138,高位地址线使能74138(接口地址),然后低地址线选择端口(端口地址)
接口地址(高位部分)是1的位与门接到
G
1
G_1
G1(高电平有效),是0的位或门接到
G
2
A
‾
\overline {G_2A}
G2A(低电平有效),
M
/
I
O
‾
M/\overline {IO}
M/IO 接到
G
2
B
‾
\overline {G_2B}
G2B(低电平有效)
(2)8086CPU 与端口之间的硬件接口
8086CPU 的数据总线是16位的,而接口电路芯片的数据端口是8位的。
要知道 CPU的数据总线 高8位 对应奇地址,低八位对应偶地址。
所以要有8086CPU 与端口之间的硬件接口技术(三种)
- 仅使用8086CPU偶地址的接口技术
用CPU的低8根数据线
CPU的 A 0 A_0 A0地址线 参与片选信号的选中( A 0 A_0 A0=0才可能选中)
CPU的 A 1 A_1 A1地址线 接端口地址的 A 0 A_0 A0,依次类推… - 仅使用8086CPU奇地址的接口技术
用CPU的高8根数据线
CPU的 A 0 A_0 A0地址线 参与片选信号的选中( A 0 A_0 A0=1才可能选中)
CPU的 A 1 A_1 A1地址线 接端口地址的 A 0 A_0 A0,依次类推… - 使用8086CPU连续地址的接口技术
必须附加8位数据到16位数据的转换逻辑电路
A 0 A_0 A0=0才选择接口的8位数据线与CPU的低8位数据线相接。
A 0 A_0 A0=1才选择接口的8位数据线与CPU的高8位数据线相接。
3,CPU 与端口之间的数据传送方式
3.1 程序控制传送方式
3.1.1 无条件传送方式
慢速外设需与CPU保持同步
3.1.2 条件传送方式
…
程序控制传送方式的优点
简单实用
程序控制传送方式的缺点
- CPU使用效率低
- 实时性差
3.1 中断技术传送方式
外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销
3.2 DMA传送方式
DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送
二,总线技术
根据总线中信息传送类型 可将总线分为三类:
- 地址总线
- 数据总线
- 控制总线