文章目录
7.2 IO接口
I/O接口(I/O控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。
主机和外设具有各自的工作特点,在信息形式和工作速度上有较大差异,接口的存在正是为了这些差异
7.2.1 I/O接口的功能
I/O接口主要功能如下:
- 进行地址译码和设备选择。CPU送来选择外设的地址码后,接口必须对地址进行译码。产生设备选择信息,使主机可以和指定的外设交换信息
- 实现主机和外设的通信联络控制。解决主机与外设时序配合问题
- 实现数据缓冲:解决CPU和外设速度不匹配的差异。接口应设置数据缓冲寄存器,用于数据暂存
- 信号格式转换: 提供计算机和外设之间信号格式的转换功能,例如电平转换、数模转换等
- 传送控制命令和状态信息
- IO指令实现的数据传送通常发生在:通用寄存器和IO端口之间
7.2.2 IO接口的基本结构
7.2.3 IO接口的类型
- 按照数据传送方式可以分为并行接口和串行接口,接口需要完成数据格式的转换
- 按照主机访问IO设备的控制方式可以分为程序查询接口、中断接口和DMA接口
- 按照功能选择灵活性可以分为可编程接口和不可编程接口
7.2.4 IO端口和编址
IO端口是指接口电路中可以直接被CPU访问的寄存器,主要有数据端口(可读可写)、状态端口(只读)和控制端口(只写)。
对IO端口的编址方式有:
统一编址方式
又称存储器映射方式,将IO端口作为存储器的单元进行统一地址分配,不需要设置专门的IO指令,使用统一的访存指令就可以访问IO端口
- 优点:不需要专门输入/输出指令,可使CPU访问IO的操作更灵活,方便,并且端口有较大的编址空间
- 缺点:端口占用存储器地址,内存容量变小。输入输出操作执行速度慢
- 统一编址方式下,区分存储单元和IO设备是靠:不同的地址码
独立编址
又称IO映射方式,需要专门的IO指令来访问IO端口
- 优点:清晰
- 缺点:增加了控制的复杂性
7.3 I/O方式
常用IO方式有:程序查询、程序中断、DMA和通道
- 虚拟存储器失效,引起缺页中断,属于内中断
7.3.1 程序查询方式
信息交换的控制完全由CPU执行程序实现,程序查询方式中设置一个数据缓冲寄存器(数据端口)和一个设备状态寄存器(状态端口)。
主机进行IO操作时,先发出询问信号,读取设备状态,根据设备状态进一步决定下一步操作是数据传送还是等待
工作流程:
- CPU执行初始化程序,预置传送参数
- CPU向IO接口发出命令字,启动IO设备
- 从外设接口读取其状态信息
- CPU不断查询IO设备状态,直到外设准备就绪
- 传送一次数据
- 修改地址和计数器参数
- 判断传送是否结束。若未结束,则转移到第三步,直到计数器为0
查询查询方式的特点
- CPU一旦启动IO,就必