微机接口技术
2004,5,10
第七章 数据传送机制
1,程序控制方式无条件传送方式,查询传送方式
2.中断传送方式
3.直接存储器访问( DMA)方式
1.程序控制方式无条件传送方式又称同步传送方式,用于 外设在任何时刻都已准备好数据或处于接收数据状态 的情况,
无条件传送方式用于输入时一般需要三态缓冲器,用于输出时一般需要锁存器,
查询传送方式通常外围设备工作速度较慢,为了确保在数据传送过程中 CPU与外设同步,CPU就必须了解外围设备的状态,如果输入设备已准备就绪,或输出设备不,忙,,就进行数据传送 ;否则,CPU继续查询外设状态,
从硬件上来说,接口电路包括状态口和数据口两部分,分别由不同的片选信号选中 ;外设要有相应的能够反映其工作状态的电路,
查询传送过程,
首先 启动 设备,CPU等待外围设备完成接收或发送数据的准备工作 ;
在等待时间内,CPU不断地用一条 测试 指令检测外围设备工作状态标志触发器 ;
一旦测试到标志触发器已置成“完成”状态,
即进行数据 传送,
特点:
– 控制简单 ;
– CPU和外设只能串行工作,
系统效率低 ;
– CPU在任一时刻只能和一个外设交换信息。
向 I/O模块发出读命令读 I/O模块状态由 I/O模块读取字向存储器写入字结束?
Y
检查状态
N
出错不就绪就绪
CPU->I/O
I/O->CPU
I/O->CPU
CPU->存储器下一指令
2.中断传送方式
程序中断传送 (program interrupt transfer)
– 过程,
通常在程序中安排一条指令,发出 START信号 启动外围设备;
然后 主机继续执行程序,当 外围设备完成数据传送的准备 后,外围设备向 CPU发“中断请求” (INT)信号;
CPU接到请求后若可以停止正在运行的程序,则在一条指令执行完后 (非流水线计算机 ),转去 执行“中断服务程序”;
完成 传送数据 工作,通常传送一个字或一个字节;
传送完毕仍 返回原来的程序,
特点:
由于系统在启动外围设备后到数据的准备完成这段时间内一直在执行原程序,不是处于踏步等待状态,而仅仅在外围设备交换数据的准备工作完成之后才中止程序的执行,转而进行数据传送,因此,这 在一定程度上实现了 CPU和外围设备的并行工作,
– 有多台外设依次启动后,可同时进行数据交换的准备工作,若在某一时刻有几台外围设备发出中断请求信号,
CPU可根据预先规定好的 优先顺序,按轻重缓急去处理几台外设的数据传送,从而实现了外围设备的并行工作,
– 但对于一些工作频率较高的外设,例如,磁盘,磁带等,数据交换是成批的,且 单位数据之间的时间间隔较短,如果也采用程序中断方式,将造成信息丢失,
3.直接存储器访问( DMA)方式
直接存储器存取 (direct memory access)方式
– 基本思想是在外围设备和主存之间 开辟直接的数据传送通路,
在正常工作时,所有工作周期均用于执行 CPU的程序,
当外围设备完成输入或输出数据的准备工作后,占用总线一个工作周期,和主存直接交换数据,
这个周期过后,CPU又继续控制总线执行原程序,如此重复,直到整个数据块的数据传送完毕,这项工作是由
I/O系统中增设的 DMA控制器完成的,由它给出每次传送数据的主存地址,并统计已传送数据的个数以确定是否传送结束,
除了在数据块传送的起始和结束时需用中断分别进行前处理和后处理外,无需 CPU的频繁干预,主存储器被并行工作的 CPU和 I/O子系统所共享
特点
– 在外设和主存之间开辟一个通道完成成批数据的交换 ;
– 成批数据交换方便、
及时、准确 ;
– 在多个 DMA时会发生冲突。
向 DMA模块发读块命令读 DMA
模块状态
CPU->DMA
CPU可做其它中断
DMA->CPU
下一条指令
DMA方式工作示意图程序控制的数据输入 / 输出
DM A 控制的数据输入 / 输出
CPU
总线外设存储器
DMA数据传送的基本过程
1) 向 DMAC发出 DMA传送请求信号 ( DREQ) ;
2) DMAC向总线仲裁机构请求占用总线 ;
3) DMAC接到 HLDA信号后成为总线的主控者 ;
4) 向存储器和进行 DMA传送的外设发出读写命令,开始 DMA传送 ;
5) 撤消对 CPU的总线请求,交回系统总线的管理和控制权,