本章内容:
- 为什么要用接口电路?
- CPU和输入/输出设备之间的信号
- 接口部件的I/O端口
- 接口的功能以及在系统中的连接
- CPU和外设之间的数据传输方式
本章重点:
- 为什么要用接口?
- 中断传输的原理
- DMA方式的原理
5.1 为什么需要I/0接口电路?
- 外部设备功能多种多样,原理各不相同,而存储器功能单一
- 外部设备的信息既有数字式,又有模拟式,需要A/D或D/A接口来转换
- 多个外设共享总线,信息有串行和并行,而CPU只能接收和发送并行信息
- 外设速度慢且各不相同,需要接口电路对I/O过程实现缓冲和联络。
对于输入设备而言,接口的目的就是将输入设备送来的信息变成CPU能接收的格式(信息变换),并将其放在缓冲器中让CPU来接收(缓冲)
对于输出设备而言,接口将CPU传来的数据转换成外部设备所需要的的信息形式(信息变换),并放到缓冲器中(缓冲)
5.2 CPU和输入/输出设备之间的信号
数据信息
数字量:二进制形式数据或以ASCII码表示的数据和字符
模拟量:用于控制的计算机系统中,一般要进行A/D转换和D/A转换
开关量:表示两个状态,如开关的接通和断开、电机的运转和停止、阀门的打开和关闭等
状态信息:反映当前外设的工作状态,如READY、BUSY信号
控制信息:CPU通过接口传送给外设,控制外设的工作。如外设的启动和停止信号
5.3 接口部件的I/O端口
输入、输出都是站在CPU角度来看的。
数据输入端口和状态端口是“只读”的(为什么??)
数据输出端口和控制端口是“只写”的(为什么??)
CPU读取外设状态,是读;CPU控制外设,是写;
数据输入是,CPU去读取,是读;数据输出是写;
5.4 接口的功能以及在系统中的连接
5.5 CPU和外设之间的数据传输方式
1、程序方式
- 无条件传送
- 查询式传送
2、中断方式
3、DMA方式
5.5.1 程序方式-无条件传送
程序方式指在程序控制下进行信息传送。
适用于总是处于准备好的状态的外设。
- 开关
- 发光器件(LED灯等)
传送不能太频繁,以保证每次传送时,外设处于就绪状态。
in 和 out 是独立编制,针对的是 I/O端口,所以,例1和例2都是I/O端口有效,RD是只读,WR是只写,in是读入,所以是有效信号,out是写,所以wr也有效。
5.5.2 程序方式-查询式传送
CPU通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态或空闲状态,则CPU执行输入指令或输出指令与外设交换信息。
适用:外设并不总是准备好,对传送速率和效率要求不高。
条件传送的三个环节:
- CPU从接口中读取状态字
- CPU检测状态字的对应位判别外设是否就绪
- 传送数据
对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换。
查询传送的特点是:工作可靠,适用面宽,但传送效率低
5.5.3 中断方式
CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序
中断方式即为外设中断CPU的工作,外设具有主动权。
该种方式下,CPU和外设处于并行工作状态。
中断方式大大提高了CPU的工作效率
解决中断优先级的三中办法:
- 软件查询方式(转入服务程序花费时间较长)
- 简单硬件方式---菊花链法
- 专用硬件方式---可编程的中断控制器
菊花链法:
每个外设对应的接口上连接一个逻辑电路,这些逻辑电路构成一个链,称为菊花链。由菊花链来控制中断回答信号的通路。(不合理,因为这种模式下,越靠近CPU的接口,优先级就越高了)
5.5.4 DMA方式
DMA方式的提出:前几种方式都是需要CPU执行执行的。执行指令的话,要经过取指、识别、取操作数、执行4个过程,数据的传输率不会很高。所以,就产生了一种不需要CPU干预的方式!称之为直接存储器存取(Direct Memory Access)简称为DMA方式。
对这一专门的硬件控制电路称为DMA控制器,简称为DMAC