IO接口
一.概述
为什么要设置接口?
1.实现设备的选择
我们是采用总线的方式来完成主机和外部设备之间的连接,所以外部设备要有地址。主机进 行数据传输的时候需要知道本次传输是和哪个设备进行传输,所以接口我们首先要实现的就是设备的选择。
2.实现数据缓冲
外部设备种类多,速度差异也不同。比如相对来说,硬盘快,键盘慢,可能很长时间才能输入一个字节的数据,所以需要设置数据的缓冲来达到速度的匹配。
3.实现数据格串–并格式的转换
接口和主机之间采用并行传输,一次传输一个字节或者一个字,外部设备和接口之间可能会采用串行传输,数据要在接口当中完成组装或者是拆解做格式转换
4.实现电平转化
IO和主机电平不一样,则通过接口进行电平的转换,实现主机和IO能够协调的工作
5.传送控制命令
6.反应设备的状态(忙,就绪,中断请求)

二.接口的功能和组成
1.总线连接方式的IO接口电路
I.设备选择线:参与本次信息交换的设备码或者端口号,实际上,就是设备的地址,端口的地址,这个地址传输给接口,在IO接口当中进行匹配,看是否是在这个接口上连接的某个设备要参数这次数据传输,所以这条线是单向的线
2.数据线
3.命令线,CPU发送命令到IO接口中经过缓冲和译码以后可以控制IO设备进行相应的工作
4.状态线,单向的从IO设备发送给IO接口,IO接口又发送给主机设备,可以知道IO的工作状态

功能:组成
选址功能:设备选择电路,实际上是一个比较器
传送命令的功能:命令寄存器,命令译码器
传送数据的功能:数据缓冲寄存器,次寄存器稍加改变就可以完成串并转换的工作
反应设备状态的功能:设备状态标记,使用一些咧的触发器就可以完成
我们看一下反应设备的那些状态
1.完成触发器D:用于标记数据是否准备好
2.工作触发器B:用来标记外部设备工作状态,忙,空闲。
3.前面我们已经讲过了,中断方式。它是由设备准备好以后,由主机主动的提出中断请求,因此接口当中要有中断请求触发器INTR
4.当IO设备进行中断请求时候,IO接口有权利屏蔽该中断请求,因此我们咋接口当中还设置了屏蔽触发器MASK,如果CPU当前正在进行的工作比IO操作更重要,那么IO就可以将其中断信号屏蔽

3.IO接口的基本电路
由上述可以推断出,IO接口要有数据缓冲记存器,设备选择电路,设备状态标记,命令寄存器和命令译码器,以及要控制个个电路部件时序的控制逻辑电路

三.接口类型
1.按照数据传送方式分类
并行接口 intel 8255
串行接口 intel 8251
2.按功能 选择的灵活性分类
可编程接口 intel 8255,intel 8251
不可编程接口 intel 8212
3.安通用性分类
通用接口 intel8255,intel8251
专用接口 intel 8279,intel 8275
4.按数据传送的控制方式
中断方式接口
DMA接口