文章目录
- 前言
- 一、常见的输入输出设备
- 1.字符输入设备
- 2.图形输入设备
- 3.图像输出设备
- 二、输入输出接口的通用设计
- 三、CPU与IO设备的通信
- 1.程序中断
- 2.DMA(直接存储器访问)
前言
今天给大家介绍计算机的输入输出设备,包括三个板块:常见的输入输出设备、输入输出接口的通用设计、CPU与IO设备的通信。
一、常见的输入输出设备
常见的输入设备包括两种:字符输入设备、图形输入设备。
1.字符输入设备
字符输入设备主要就是键盘,键盘大家都用的比较多,但是细分种类很多人还是不知道。键盘分为三类:薄膜键盘、机械键盘、电容键盘。
2.图形输入设备
常见的图形输入设备有:鼠标、数位板、扫描仪。
鼠标不多说了,大家都在用。数位板主要是给设计师使用的,常用于绘图设计创作。包括输入板和压感笔,如下图所示:
扫描仪的作用是将图形信息转换为数字信号,现在很多打印机也集成了扫描仪的功能,如下图:
3.图像输出设备
图像输出设备主要有:显示器、打印机、投影仪。
显示器有CRT显示器、液晶显示器,如下图:
二、输入输出接口的通用设计
了解通用设计之前,大家不妨来想想:如果说要设计输入输出接口,需要完成哪些功能呢?比如能否读取数据?能否向设备发送数据?能否判断设备有无被占用?能否判断设备是否已经连接?能否判断设备是否已经启动?
完成上述这些功能才能称之为通用的输入输出接口设计,其实完整的输入输出接口的通用设计包含以下几部分:
- 数据线
- 状态线
- 命令线
- 设备选择线
接下来逐一了解这些线的具体功能,首先是数据线,其特征如下:
- 是I/O设备与主机之间进行数据交换的传送线
- 有单向传输数据线
- 也有双向传输数据线
状态线特征如下:
- I/O设备状态向主机报告的信号线
- 查询设备是否已经正常连接并就绪
- 查询设备是否已经被占用
命令线特征如下:
- CPU向设备发送命令的信号线
- 发送读写信号
- 发送启动停止信号
设备选择线特征如下:
- 主机选择I/O设备进行操作的信号线
- 对连在总线上的设备进行选择
三、CPU与IO设备的通信
CPU与IO设备通信方法主要有两种:程序中断、DMA(直接存储器访问)。介绍这两种通信方法之前,我们先要明白一个前提:CPU速度与IO设备速度不一致,CPU速度比IO设备速度快多了。
1.程序中断
程序中断过程如下:
- 当外围IO设备就绪时,向CPU发出中断信号
- CPU有专门的电路响应中断信号
- CPU收到中断信号时会暂停当前手上工作,转为处理外围IO设备的工作,等外围IO设备事件处理完毕才会继续加载之前的工作
我们通过如下图示来理解这里面的程序中断:
图中下面的最长的红色箭头代表时间轴,有CPU和外围的打印机这两个设备。我们现在以时间推进的方式来理解整个程序中断过程。首先在某个时刻,CPU在执行主程序,这时候打印机处于待机状态,接着在某一时刻,CPU发出一个信号,就是启动打印机的信号,启动之后呢,CPU继续执行主程序。打印机在接收到这个启动信号之后,就会进行准备工作,准备一段时间之后,准备完成了。这时候打印机会向CPU发出一个中断,CPU在得到这个中断之后就会响应这个中断。需要注意的是:这个响应不是立即发生的,可能会延时。这里为了简要介绍,图示会显示为立即响应中断。CPU响应中断之后,会进行发送数据的操作,同时打印机也会进行接收数据的操作,接着在某一时刻,CPU发送完成了,那么CPU就会进行中断返回,继续执行前面所执行的主程序,同时打印机也会开始打印数据,这就是程序中断的一个简化流程。
简单总结下程序中断的方法:程序中断提供低速设备通知CPU的一种异步的方式,这个方式就是低速设备发出一个中断,然后让CPU来响应这个中断。因为有了程序中断,CPU可以高速运转的同时兼顾低速设备的响应。CPU在没有中断的时候可以执行自己的主程序,当外围的低速设备发出了中断之后,CPU可以结束手上的工作,来处理低速设备的请求,这就是程序中断的全过程方法。
在这里面,虽然说通过程序中断,CPU可以在高速运转的同时兼顾低速设备的响应。但是,如果频繁的打断CPU,并不是一个很好的方法,因为这样会降低CPU的使用效率。所以接下来,我们学习第二个方法:DMA(直接存储器访问)。
2.DMA(直接存储器访问)
DMA其实也是一种硬件设备,其特征如下:
- DMA直接连接主存与IO设备
- DMA工作时不需要CPU的参与
DMA图示过程如下:
如图所示,对于主存与IO设备的缓存,他们之间并不是直接连接,而是通过DMA的设备进行连接。当主存与IO设备交换信息时,不需要中断CPU,因为有DMA就可以处理主存与IO设备进行信息交换的操作。所以通过DMA直接存储器访问的方法,可以大大提高CPU的效率。
DMA在我们常见的硬盘和外置显卡中都有存在。