I/O接口的典型结构
⚫
内部结构
–
数据寄存器
:保存微处理器与外设之间交换的数据
–
状态寄存器
:保存外设当前的工作状态信息
–
控制寄存器
:保存微处理器控制接口电路和外设操作的有关信息
⚫
外部特性
–
面向微处理器一侧的信号:与微处理器总线类似
–
面向外设一侧的信号:与外设有关
⚫
I/O端口(Port)泛指I/O地址,对应I/O接口寄存器
⚫
一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息
⚫
数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、
状态端口和控制端口,用于保存数据、状态和控制信息
⚫
输入、输出端口可以是同一个I/O地址
⚫
接口电路占用的I/O端口有两类编排形式
–
I/O端口单独编址
–
I/O端口与存储器统一编址
CPU和外设之间信息交换的方式
⚫
程序控制下的数据传送
–
通过CPU执行程序中的I/O指令来完成传送
–
程序查询方式
–
程序中断方式
⚫
直接存储器存取DMA方式
–
外设经DMA控制器向CPU申请总线,由DMA控制器利用系统总线完成外设和存储器间的
数据传送
⚫
通道方式
–
通道(I/O处理器)管理外设,完成传送和数据处理
⚫
外围处理机方式
–
通道方式的进一步发展,基本独立于主机工作
DMA传送过程
1.
CPU对DMA控制器进行初始化设置
2.
外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交
给DMAC控制
3.
DMA传送
–
DMA读存储器:存储器 → 外设
–
DMA写存储器:存储器 ← 外设
4.
自动增减地址和计数,判断传送完成否
通道的类型
⚫
选择通道
–
多个设备不能同时工作,在某一段时间内只能选择一个设备进行工作
–
只包含一个子通道
⚫
多路通道
–
在一段时间内能交替执行多个设备的通道程序
–
包含若干个子通道
–
数组多路通道
:以数据块为基本单位与设备进行数据传送
–
字节多路通道
:以字节为基本单位与设备进行数据传送