基本概念
输入输出设备就是将信息从外部设备传送到主机或者从主机接收的设备
IO控制方式
控制方式 | 内容 |
---|---|
程序查询方式 | CPU通过程序询问 |
程序中断方式 | IO准备就绪后发送中断请求 |
DMA方式 | 直接有一条数据通路方便主存和IO交换 |
通道方式 | 通道挂接外设,执行通道程序引入内容 |
方法一二都用于数据传输率低的外设
三四用于数据传输率高的外设
IO接口功能
- 进行地址译码和设备选择,根据不同的接口连接不同的外设,当然需要对接口译码
- 主机和外设之间通信联络,解决主机和外设时序逻辑的匹配。
- 实现数据缓冲,解决速度不匹配问题
- 信号格式转换,解决数据格式不匹配问题
- 传送控制指令和状态信息,让主机更好的知道外设的状态。
IO接口基本结构
分为两个部分:连接内部和连接外部的
内部连接CPU,包括解决速度不匹配的数据缓冲寄存器和告知CPU的状态\控制寄存器。
其中,状态寄存器的意思就是我告诉你我的状态,是接口发向CPU的
控制寄存器是CPU控制接口的,所以是CPU发向接口的,这两个共用一个寄存器,但方向正好相反。
外部连接外设,外设的控制逻辑在这里有专门的线缆连接到地址译码和IO控制逻辑,与IO接口进行数据交换。
对接口内部寄存器的访问操作选哟通过IO指令来访问
若干端口加上控制逻辑=接口
IO接口的类型
按照外设与接口之间数据传送的类型可分为:并行和串行
按控制方式划分为:程序查询接口、中断接口和DMA接口
按灵活性分类:可编程和不可编程
IO端口
指接口中可被CPU直接访问到的寄存器
下面是三种端口的划分和对应CPU能执行的操作。
端口 | CPU的操作 |
---|---|
数据端口 | 读写都可 |
状态端口 | 只可读 |
控制端口 | 只可写 |
同样,如果CPU想要访问端口,则需要寻址,对于端口的编址方式有两种
统一编址
把IO端口当作存储器的单元一起编址,使用访存指令就可以访问IO端口,不用单独的IO指令
优点:方便,灵活
缺点:内存变小,执行速度慢
独立编址
就是专门设置IO指令来访问IO端口
优点:方便区分,逻辑清晰
缺点:CPU控制复杂