1.输入输出控制方式
1.1直接程序控制
直接程序控制是指外设数据的输入输出过程实在CPU执行程序下完成的,这种方式分为无条件传送和程序查询方式两种
(1)无条件传送
在此情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据
(2)程序查询方式
在这种方式下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据这种状态,CPU有针对的为外设的输入/输出服务。
通常,一个计算机系统中可以存在着多种不同的外设,如果这些外设是用查询方式工作,则CPU应对这些外设逐一进行查询,发现哪个外设准备好就对这个外设服务,这种工作有两大缺点:
①降低了CPU的效率,在这种工作方式下,CPU不做别的事,只是不停的对外设状态进行查询,在实际的工程应用中,对于那些慢速的外设,在不影响外设工作的情况下,CPU应可以执行其它任务。
②对外部的突发时间==事件无法做出实时响应
![image-20221022180729319](https://imags-1259764475.cos.ap-nanjing.myqcloud.com/img/image-20221022180729319.png)
重点!!!
程序查询方式
1. CPU和I/O外设只能串行工作,CPU需要一直轮询检查,长期处于忙等状态。CPU的利用率低
2. 一次只能读/写一个字
3. 由CPU将数据放入内存
1.2中断驱动方式
由程序控制I/0的方法,其主要缺点在于CPU必须等待I/0系统完成数据的传输任务,在此期间CPU需要定期地查询I/0系统的状态,以确认是否完成。因此,整个系统的性能严重下降
利用中断方式完成数据的输入/输出过程:当系统与外设交换数据时,CPU无需等待,也不必去查询I/O状态,而可以抽身出来去处理其它任务,当I/O系统准备好后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/0系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率
![image-20221022181905572](https://imags-1259764475.cos.ap-nanjing.myqcloud.com/img/image-20221022181905572.png)
重点记忆!!!
中断驱动方式
1. I/O设备通过中断信号主动报告给I/O操作已完成
2. CPU和I/O(外设)可并行工作
3. CPU利用率得到提升
4. 由CPU将数放入内存
1.3直接存储器存储方式(DMA)
在计算机与外设交换数据的过程中,无论是无条件传送,利用查询方式传送还是利用中断方式传送,都需要CPU通过执行程序来实现,这就限制了数据的传送速度
直接内存存取,是指数据在内存与I/O设备间的成块传送,即在内存与I/O设备间传送一个数据块,不需要CPU的任何干预,只需要CPU在过程开始启动(即向设备发出"传送一块数据"的指令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事。
![image-20221022182609554](https://imags-1259764475.cos.ap-nanjing.myqcloud.com/img/image-20221022182609554.png)
重点记忆!!!
直接存储器存取方式(DMA)
1. CPU和I/O(外设可并行工作)
2. 仅在传送数据块的开始和结束时才需要CPU的干预
3.由外设直接将数据存入内存
4. 一次读写的单位为块而不是字