首先了解一个概念输入输出技术是处理内存和外设设备间数据联系的,并且交互过程受cpu控制。
程序控制输入输出
程序的输入输出方法主要有四种:
无条件传送
计算机系统存在一些简单外部设备,当他们开始工作时,随时准备好接收到cpu的数据,或随时准备好数据,被cpu调用。这就是一种无条件传送。
查询方式
无条件传送方式使用也是有条件的,就是外设总是准备好数据,或者运行很慢的外设。对于那些不总是准备好的外设,就是慢速或中速设备就使用查询的方式,这种方式要求外设提供设备状态。
通过询问外设的状态,就能实现输入输出。
查询方式存在多个外设情况,就要先多所有外设进行查询,如果有资源就直接利用,然后再查询后面的。
中断方式
cpu在执行一个程序过程的 时候,发生了其他的事件,cpu要去处理那个事件前(中断承认),那正在处理的事件就要停止(中断请求)并保存“事件现场”(断点保护),当处理完突发事件后,再回到原来终止的事件上进行处理(中断源识别),这个过程就是中断过程。
图中数字依次代表执行顺序,图示只代表主要步骤
中断方式可以 提高cpu的运行效率,因为这样cpu可以对外设进行实时响应,而不需要等待cpu所有事件处理完之后。
直接存储器(DMA)方式
DMA(Direct Memory Access),要实现DMA方式就要使用大型集成电路芯片DMAC。
1、外设向DMAC发出DMA请求;
2、然后DMAC根据CPU的HOLD信号向CPU提交DMA请求;
3、cpu完成当前总线周期后,立即对DMA请求作出相应;
4、待cpu执行完,DMAC就开始对总线实时控制并向外设发送DMA相应信号;
5、DMA送出信号 后,就实现了内存和外设,或内存和内存间的数据交换。
6、DMAC执行外任务后,通过CPU发HOLD信号,撤销DMA请求。
以上就是一个完整DMA方式的数据交换。
输入输出技术可以说是实现人机交互的重要通道,人们和计算机进行对话和交换,就要通过这个技术将我们的想法传达给计算机,然后计算机将它得到的结果显示给我们。
接下来要看看在计算机系统中起到很重要传输作用的总线,限于篇幅,请看下一篇博客。