目录
5.1.1 I/O设备基本概念和分类
一、什么是 I/O设备
I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备
属于计算机中的硬件部件
二、按使用特性分类
(1)人机交互类外部设备(鼠标、键盘、打印机):数据传输速度慢
(2)存储设备(光盘) :数据传输速度快
(3)网络通信设备(调制解调器) :数据传输速度中
三、按信息交换的单位分类
(1)块设备(磁盘):数据传输的基本单位是“块”
传输速率较高,可寻址,即对它可随机地读/写任一块
(2)字符设备(鼠标、键盘):数据传输的基本单位是字符
传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式
5.1.2 I/O控制器
一、什么是 I/O控制器
(1)I/O设备分为机械部件and电子部件,CPU无法直接控制l/O设备的机械部件
(2)因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,实现CPU对设备的控制
(3)这个电子部件就是l/O控制器/设备控制器
CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件
二、I/O控制器の功能
1、接受、识别CPU发出的命令
如CPU发来的read/write命令,I/O控制器中会有相应的控制寄存器来存放命令和参数
2、向CPU报告设备的状态
I/O控制器中会有相应的状态寄存器,用于记录l/O设备的当前状态; 如:1表示空闲,0表示忙碌
3、数据交换
I/O控制器中会设置相应的数据寄存器
输出时,数据寄存器用于暂存CPU发来的数据,之后再由控制器传送设备
输入时,数据寄存器用于暂存设备发来的数据,之后CPU从数据寄存器中取走数据
4、地址识别
类似于内存的地址,为了区分设备控制器中的各个寄存器,也需要给各个寄存器设置一个特定的“地址”
I/O控制器通过CPU提供的“地址”来判断CPU要读/写的是哪个寄存器
三、I/O控制器の组成
♥值得注意的小细节:
1、一个I/O控制器可能会对应多个设备
2、数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),
且这些寄存器都要有相应的地址,才能方便CPU操作
(1)有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像l/O
(2)另一些计算机则采用I/O专用地址,即寄存器独立编址
(1)内存映射I/O
控制器中的寄存器与内存地址统一编址
优点:简化指令,可以采用对内存进行操作的指令来对控制器操作
(2)寄存器独立编址
缺点:需要设置专门的指令对控制器进行操作,不仅要指明寄存器的地址,还要指明控制器的编号