目录
1、常见的输入输出设备
输入设备:
- 键盘
- 鼠标
- 输入板和压感笔
输出设备:
- 显示器
- 打印机
2、设计输入输出接口面临的问题
- 如何读取设备里面的数据
- 如何向设备发送数据
- 设备有没有被占用
- 设备是否已经连接
- 设备是否已经启动成功
3、设计通用的输入输出接口
- 数据线
是I/O设备与主机之间进行数据交换的传送线
单向数据线
双向数据线
- 状态线
I/O设备状态向主机报告的信号线
查询设备是否已经正常连接并就绪
查询设备是否已经被其他进程占用
- 命令线
cpu向设备发送命令的信号线
发送读写信号
发送启动停止信号
- 设备选择线
主机选择I/O设备进行操作的
对连在总线上的设备进行选择
4、cpu与I/O设备的通信
- 程序中断
当外围IO设备就绪时,向cpu发出中断信号,cpu有专门的电路响应中断信号,
程序中断是提供给低速设备通知cpu的一种异步方式, cpu可以高速运转,同时
兼顾低速设备的响应但是频繁打断cpu,会降低cpu的使用率
- DMA(直接存储器访问)解决cpu被打断
DMA直接连接主存与IO设备
DMA工作时不需要cpu的参与,很好的解决了频繁中断cpu
cpu速度与IO设备速度不一致
DMA英文全称是Direct Memory Access,意思是直接存储器访问。他的作用就是不需要经过CPU进行数据传输,也就是替CPU分担点事情做,什么事情?数据传输方面的事情。也就是说,你只要使能并配置好了DMA,DMA就可以将一批数据从源地址搬运到目的地址去而不经过CPU的干预,这样可以为CPU节省好多精力去干更重要的事情很人性化。就像我们人一样,我们平常习惯性的动作是不用经过大脑思考的,比如说眨眼睛,呼吸等。DMA就是负责这些工作的,但它没人这么智能,需要将它设置好了它才会正常工作。