目录
为什么用接口
中断传输原理
DMA方式的原理
接口电路是为了解决计算机和外设之间的信息变换和缓冲问题提出来的
接口电路可以分:
微处理器正常工作所需要的电路
输入输出接口电路
为什么需要接口电路:
1:外部设备功能多种多样,原理各不相同,而存储器功能单一
2:外部设备的信息既有数字式又有模拟式,需要A/D,D/A转换。外部模拟信息
传送给cpu需要将模拟信息转换成cpu能够处理的数字信息。而CPU发送给接口的信息
也需要转换成外部设备能够接受的模拟信息。
3:多个外设共享总线,信息有串行和并行,而CPU只能接收和发送并行信息。
(联想:pentium流水线U/V两条流水线,并行处理信息)
4:外设速度低且各不相同,需要接口电路对I/O过程实现缓冲和联络
端口:CPU与I/O设备交换信息的窗口和通道
CPU要和外设进行交流,我们知道是通过接口的。但是为什么接口可以控制他们的交流呢?
他们是怎么知道要和那个外设进行通信呢?他们又怎么知道是进行“读”还是进行“写”呢?
I/O接口中都包含一组能够被CPU直接访问的寄存器,这些寄存器就称为I/O端口,每一个端口
都有一个端口地址。
数据端口:cpu对外部I/O设备输入输出数据时,使用改端口暂存数据,起缓冲作用
状态端口:存放I/O设备或接口本身的工作状态
控制端口:存放cpu发出的控制指令,便于控制接口及I/O设备的动作。
注意:
数据的输入端口和状态端口都是“只读的”。(对于外设的状态及外设输入的数据,cpu都是智能
读取的,不能更改的)
数据的输出端口和控制端口都是“志协的”(输出端口是cpu传送数据给外设,控制端口也是cpu
发出控制信息给外设的)
我们知道数据传送是受控制信号的,但是具体怎么控制的呢?
主机与外围设备之间的数据传送控制方式:
- 程序方式 (无条件传送、查询时传送)
- 中断方式
- DMA方式
程序方式---无条件传送
适用于外设总是准备好的状态
优点:软件及接口用件简单
缺点:只适用于简单外设,适用范围窄
条件传送----查询式传送
CPU不断地读取或测试外设的状态,如果CPU出于空闲或者准备好的状态时
那么cpu执行指令与外设交换信息。
那么这个过程又是怎么实现的呢?
我们知道接口中有状态寄存器,可以读取状态寄存器的信息进行判断。
那么又怎么读取状态寄存器呢?
1:cpu从接口中读取状态字
2:cpu检测状态字对应的位判断是否准备就绪(例如之前学习的BRDY)
3:传送数据
优点:工作可靠,适用面广
缺点:效率低
中断方式:
1:中断方式即为外设中断CPU的工作,外设具有主动权
2:cpu和外设处于并行工作状态
3:中断方式大大提高了CPU的工作效率
但是此时可能又会出现问题:
当多个中断一起发生时:CPU先为谁服务即中断优先级
解决中断中断优先级的三种办法:
软件查询方式
简单硬件方式----菊花链
专用硬件方式----可编程的中断控制器