常见的输入输出设备
输入设备:
- 键盘
- 鼠标
- 输入板和压感笔
输入设备:
- 显示器
- 打印机
设计输入输出接口面临的问题
- 如何读取设备里面的数据
- 如何向设备发送数据
- 设备有没有被占用
- 设备是否已经连接
- 设备是否已经启动成功
设计通用的输入输出接口
-
数据线
是I/O设备与主机之间进行数据交换的传送线
单向数据线
双向数据线 -
状态线
I/O设备状态向主机报告的信号线
查询设备是否已经正常连接并就绪
查询设备是否已经被其他进程占用 -
命令线
cpu向设备发送命令的信号线
发送读写信号
发送启动停止信号 -
设备选择线
主机选择I/O设备进行操作的
对连在总线上的设备进行选择
cpu与I/O设备的通信
-
程序中断
当外围IO设备就绪时,向cpu发出中断信号
cpu有专门的电路响应中断信号
程序中断是提供给低速设备通知cpu的一种异步方式
cpu可以高速运转,同时兼顾低速设备的响应但是频繁打断cpu,会降低cpu的使用率
-
DMA(直接存储器访问)解决cpu被打断
DMA直接连接主存与IO设备
DMA工作时不需要cpu的参与,很好的解决了频繁中断cpu
-
cpu速度与IO设备速度不一致
总结一波:
今天学习了计算机组成原理里面输入输出设备的一些基本应用,以及设计通用的输入输出设备所面临的问题,最后设计使用数据线、状态线、命令线、设备选择线就能够很好的解决面临的问题,最后我又说到了我们的程序中断,一开始我们IO操作的时候需要中断cpu,但是频繁中断cpu会降低cpu的利用率,最后我们的DMA很好的解决了这个问题,学习技术的过程,其实就是遇到问题解决问题的过程,学习不是一蹴而就,而是持续不断,又要跟美好的一天说一声晚安了!