目录
5.1 I/O管理的概述
5.1.1 I/O设备
1.设备的分类
按信息交换的单位分类,IO设备可以分为
- 块设备:信息交换以数据块为单位。属于有结构设备,例如磁盘。特点是传输速率较高、可寻址、可随机读写任意块
- 字符设备:信息交换以字符为单位。属于无结构设备,例如交互式终端机、打印机等。特点是传输速率低、不可寻址、时常采用IO中断方式
按照传输速率分类,可以分为
- 低速设备,例如键盘、鼠标
- 中速设备,例如激光打印机
- 高速设备,例如磁盘机、光盘机
2.I/O接口(设备控制器)
IO接口(设备控制器)位于CPU和设备之间,既要和CPU通信,又要和设备通信,具有按照CPU的命令控制设备工作的功能
- 设备控制器与CPU的接口:具有三类信号线,数据线、地址线和控制线;与数据寄存器和控制状态寄存器相连,分别存放CPU发来的数据和设备控制信息
- 设备控制器与设备的接口:可以存在多个设备接口,每个接口中存在数据、控制和状态三种类型的交互
- IO逻辑:用于实现对设备的控制
设备控制器的功能
- 接收和识别CPU发来的命令,例如磁盘控制器能接受读、写、查找等
- 数据交换,包括设备和控制器之间的数据传输,以及控制器和主存之间的数据传输
- 标识和报告设备的状态,以供CPU处理
- 地址识别
- 数据缓冲
- 差错控制
- 为了便于上层软件的编制,设备控制器通常要提供控制寄存器、状态寄存器和控制命令
- 设备控制器中用于实现设备控制功能的是:IO逻辑
3.I/O端口
IO端口:设备控制器中可被CPU直接访问的寄存器,主要有以下三类
- 数据寄存器:实现CPU和外设之间的数据缓冲
- 状态寄存器:获取执行结果和设备的状态信息,以让CPU知道是否准备好处理
- 控制寄存器:由CPU写入,以便启动命令或更改设备模式
为了实现CPU和IO端口进行通信,有两种编址方式
- 独立编址:为每个端口分配一个IO端口号,所有IO端口形成IO端口空间,只有操作系统才能使用特殊IO指令访问,普通用户程序不能访问
- 统一编址:又称内存映射IO,每个端口被分配唯一内存地址,通常分配靠近地址空间的顶端
5.1.2 I/O控制方式
1.程序直接控制方式
2.中断驱动方式
3.DMA方式
4.通道控制方式