数据传送的控制方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据传送的控制方式
程序控制的数据传送分为无条件传送、查询传送和中断传送,这类传送方式的特点是以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。
这种传送方式的数据传送速度较低,传送路径要经过CPU内部的寄存器,同时数据的输入输出的响应也较慢。
一、无条件传送方式
又称“同步传送方式”。
主要用于外设的定时是固定的并且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。
通常采用的办法是:把I/O指令插入到程序中,当程序执行到该I/O指令时,外设必定已为传送数据作好准备,于是在此指令时间内完成数据传送任务。
无条件传送是最简便的传送方式,它所需的硬件和软件都较少。
二、查询传送方式
无条件传送对于那些总是准备好的外设来说是比较适用的,但是,还有许多外设并不是总是准备好的。
当CPU与这类外设进行数据交换,经常采用程序查询方式。
查询方式传送数据的过程如下:
1、如果CPU要从外设接收一个数据,CPU首先查询外设的状态,看外设数据是否准备好,若没有准备好,则等待;若外设已将数据准备好,则CPU由外设读取数据。
2、接收数据后,CPU向外设发响应信号,表示数据已被接收。
外设收到响应信号之后,即可开始下一个数据的准备工作。
3、当CPU需要向外设输出一个数据,同样,CPU首先查询外设的状态,看其是否空闲。
若正忙,则等待;若外设准备就绪,处于空闲状态,则CPU向外设送出数据和输出就绪信号,外设接收数据后,向CPU发出数据已收到的状态信息,这样,就完成了一个数据的输出过程。
在条件查询方式下,CPU在与外设打交道时,必须采样READY信号。
(1)查询方式
◆从硬件上来说,必须有两个端口,状态端口,数据端口。
◆从软件上来说,必须有查询循环。
(2)查询传送的缺点
不能对外设进行及时的数据交换,这对许多实时性要求较高的外设来说,就可能造成丢
失数据。
三、中断传送方式
无条件传送和查询传送的缺点是CPU和外设只能串行工作,各外设之间也只能串行工作。
为了使CPU和外设以及外设和外设之间能并行工作,以提高系统的工作效率,充分发挥CPU高速运算的能力,在计算机系统中引入了“中断”系统,利用中断来实现CPU与处设之间的数据传送,这就是中断传送方式。
在中断传送方式中,通常是在程序中安排好在某一时刻启动某一台外设,然后CPU继续执行其主程序,当外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU 可以响应中断的条件下,现行主程序被“中断”,转去执行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行。
采用中断传送方式时,CPU从启动外设直到外设就绪这段时间,一直在执行主程序,而不是像查询方式中长时间处于等待状态,仅仅是在外设准备好数据传送的情况下才中止CPU执行的主程序,在一定程序上实现了主机和外设的并行工作。
同时,如果某一时刻有几台外设发出中断请求,CPU可以根据预先安排好的优先顺序,按轻重缓急处理几台外设同CPU的数据传送,这样在一定程度上也可实现几个外设的并行工作。
四、DMA(直接存储器存取)传送方式
DMA(Direct Memory Access)是一种不需要CPU干预也不需要软件介入的高速数据传送方式。
即直接存储器存取。
其特点是在传送过程中,直接由DMA控制器控制数据在外设和存储器之间传送。
而CPU放弃总线,不进行传送控制。
它之所以适用大批量快速传送是因为:一方面,传送计数和内存地址的修改等均由DMA 控制器硬件完成(而不是由CPU指令完成)。
另一方面,CPU放弃总线,其现场不受影响,无须保存和恢复。
所以,DMA传送一个数据,大约仅花一微秒左右时间。
若不用DMA方式,则传送一个字节需要几十微秒时间。
使用DMA数据传送率最高可达1.5M字节/秒。
DMA控制器是一个高性能可编程的DMA控制器,他允许外部设备直接存取系统存储器信息,它提供了许多典型的可编程的控制特性,以增进系统的优化和数据的吞吐量。
并允许在程序控制下实现动态控制。
DMA控制器有四个独立的通道,每个通道都有64K寻址和字计数能力,并允许以级联方式来扩充更多的通道。
1、DMA操作的基本方法
(1)周期挪用(Cycle Stealing)
(2)周期扩展
(3)CPU的停机方式
2、DMA的传送方式
(1)单字节传送方式
(2)成组传送方式(数据块传送方式)
(3)请求传送方式
3、DMA控制器的基本功能
在DMA操作中,DMAC是控制存储器和外设之间高速传送数据的硬件电路,是一种完成直接数据传送的专用处理器,它必需能够取代CPU和软件在程序控制传送中的各项功能,因此DMAC应该具有如下功能:
(1)能接受外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK;
(2)能向CPU发出总线请求信号(HLDA或BUSAK),当CPU发出总线响应信号(HLDA或BUSAK)后能接管对总线的控制权,进入DMA方式;
(3)能发出地址信息,对存储器寻址并修改地址指针;
(4)能发出读、写等控制信号,包括存储器访问信号和I/O访问信号;
(5)能决定传送的字节数,并能判断DMA传送是否结束;
(6)能发出DMA结束信号,释放总线,使CPU恢复正常工作。