输入输出系统
输入系统的组成
I/O软件
I/O指令 CPU指令的一部分
操作码相当于I/O指令的一个标志,表示这样的指令是一个I/O指令
![](https://i-blog.csdnimg.cn/blog_migrate/29f44b876a7074617d2e6894cf3852c4.png)
通道指令 通道自身的指令
通道是一种小型的DMA处理机,可以实现I/O设备和主机之间直接进行信息传送
需要传递的参数:
指出数组的首地址,传送字数,操作命令
I/O硬件
设备通过接口连接在总线上和主机进行信息交换
![](https://i-blog.csdnimg.cn/blog_migrate/7f3ab16a56fe470e614e96459d07e975.png)
I/O设备与主机之间的连接方式
I/O设备的编制方式
统一编址 用取数,存数指令 只要地址落入I/O地址就可以
不统一编址 专门的I/O指令
设备选址
用设备选择电路识别是否被选中
传送方式
串行 并行
联络方式
立即响应 异步工作采用应答响应
I/O设备与主机的连接方式
![](https://i-blog.csdnimg.cn/blog_migrate/978dd7480d0123e5c870fc643bdd3724.png)
I/O设备与主机信息传送的控制方式
程序查询方式
![](https://i-blog.csdnimg.cn/blog_migrate/ae0c27ca2adfb00311ba909ef27534b4.png)
没有顺利读取数据的时间段内 cpu一直在原地踏步,没有去做其他的工作
cpu的效率很低
改进:程序中断方式
![](https://i-blog.csdnimg.cn/blog_migrate/a296e345a2714c7d443be3f349510cdb.png)
上下文切换依然要花比较长的时间
是对cpu的不完全解放
![](https://i-blog.csdnimg.cn/blog_migrate/a7c8c908c4f760a67d4db47d06c44fd2.png)
DMA方式
在这一个存取周期中间cpu不能使用总线,不能使用系统的内存
如果在存取周期中cpu有预取的不需要总线的不需要访问内存的指令也可以在这段时间内执行
![](https://i-blog.csdnimg.cn/blog_migrate/af8cbe2266c38444f6556df0b56ec33d.png)
外部设备(简要介绍,了解即可)
![](https://i-blog.csdnimg.cn/blog_migrate/0bda1595a8fa247e4fa6ef136bcba786.png)
没意义,都不值得记,我直接二倍速
I/O接口
概述
![](https://i-blog.csdnimg.cn/blog_migrate/b64038afe29638d070906ff8a1cc7fe7.png)
接口的功能和组成
![](https://i-blog.csdnimg.cn/blog_migrate/3a5809d7025276aa2a57dac1900ff296.png)
仔细看箭头的指向,箭头的单双方向
![](https://i-blog.csdnimg.cn/blog_migrate/66a727b44cfa9ef6539f4540bbb78be6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e543b3153d898e88183ba37138b6ab1f.png)
接口类型
![](https://i-blog.csdnimg.cn/blog_migrate/ddc522815704bfe902c1c433acf014b9.png)
程序查询方式
程序查询方式的流程
![](https://i-blog.csdnimg.cn/blog_migrate/8789d1f8e0d00d1eb16035bbc6000fa0.png)
程序流程
![](https://i-blog.csdnimg.cn/blog_migrate/6932e254e4fc5e6e2a11c03b6b40cec9.png)
程序查询方式的接口电路
![](https://i-blog.csdnimg.cn/blog_migrate/496ff7c6429c88761a0644295d098b4c.png)