微机接口笔记5-主机与外设的数据传送

为何

所有存储器用来保存信息,功能单一,速度基本与CPU速度匹配,决定了存储器能够通过总线与CPU直接相连

但是外设功能多样,有些外设既能作为输入又能作为输出设备,多种作用,多种工作原理,信息可能是数字可能是模拟,串行并行也不一定,速度一般比CPU要低很多。使用接口是为了解决计算机和外设之间信息转换的问题。

  1. 速度差异
  2. 数据表示差异
  3. 电平差异
  4. 电量与非电量之间差异

CPU与IO设备之间的信号

数据信息

  1. 数字量:二进制表示的数据
  2. 模拟量:随时间连续变化的数据
  3. 开关量:两种状态变化的量

状态信息

反应外设当前所处的状态,如打印机是否有纸,打印机是否在打印

控制信息

用于控制外设工作

IO端口与寻址方式

端口

每个接口部件都包含一组寄存器这些寄存器称为端口,每个端口都有相应的地址

  1. 数据端口:存放接口部件的数据信息
  2. 状态端口:存放反应接口部件的状态信息
  3. 数据端口:存放CPU送给接口部件的命令信息

寻址方式

存储器对应的输入输出方式

将一个外设当作存储器的一个单元来对待,故每个外设中的寄存器都占用一个存储器的地址。CPU对IO操作可以使用全部的存储器操作指令,内存和外设的分布图是同一个,不需要专门的IO地址,外设占用内存地址,使得内存容量减少,指令长度加长从增长了指令的执行时间

端口寻址的输入输出方式

CPU有专门的IO操作指令;内存与外设分别有自己的地址分布;指令长度短,执行时间快

CPU与IO设备之间的传输方式

程序方式

无条件传送方式

特点:不需要查询,发送端只送,接收端只收,要求发送端与接收端严格同步

条件传送方式

特点:每次接受或发送一个数据前都要进行一次状态查询只有在条件满足时才能进行数据传输

  • 查询式输入
  • 查询式输出

中断方式

查询方式尽管比无条件方式传送可靠,但是在查询方式下,CPU不断读取状态字检测状态字,过程占用了太多CPU时间,而真正用于CPU传送回数据的时间却很少

中断方式下,外设具有主动申请CPU服务的主动权,向CPU发送中断请求,使CPU暂停目前的工作和外设进行数据传输,等完成后回到原来的工作

8086的中断方式

  1. NMI 非屏蔽中断,硬件中断外部中断,上升沿触发,类型码=2
  2. INTR 可屏蔽中断,硬件中断外部中断,高电平有效,IF=1响应,类型码由申请中断的外设给出
  3. 软件中断内部中断,以INT指令或CPU的运算错误产生,中断类型码由INT给出,或事先设定

DMA方式

直接存储器存取方式,即外设不通过CPU直接与存储器进行操作,CPU释放总线,IO操作完全由DMA控制器管理

三种方式的优缺点

  1. 条件传送方式优点是:接口电路简单,适合外设较少,CPU速度不高,速度数据交换不频繁;缺点是:花费CPU的时间作等待循环,大大降低了CPU的运行效率。
  2. 中断方式优点是:外设准备就绪时向CPU申请中断,再进行传送,因而CPU无需花费时间作等待循环,弥补了查询方式的缺点。适合实时控制,CPU效率较高;缺点是:CPU执行一次传送要花费许多与传送操作无关的指令执行等时间(保存断点等),另外中断传送方式不能进行数据块传送,而是按字节或字传送。
  3. DMA方式优点:DMA中CPU仅暂停程序而不切换,无须保存断点、现场和中断响应等工作;连续传送是一种简单传送操作,可由硬件直接控制,实现快速的数据直接传送;缺点:只能处理数据传送简单工作,复杂的随机事态只能由中断处理;接口较复杂