计算机的输入输出设备


前言

今天给大家介绍计算机的输入输出设备,包括三个板块:常见的输入输出设备输入输出接口的通用设计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在我们常见的硬盘和外置显卡中都有存在。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小十一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值