数据传送的控制方式
7.3 CPU与外设之间的数据传送方式

(3)连续方式 )
连续操作方式是指在数据块传送的整个过程中, 连续操作方式是指在数据块传送的整个过程中,不 请求是否撤消, 控制器始终控制着总线。 管DMA请求是否撤消,DMA控制器始终控制着总线。 请求是否撤消 控制器始终控制着总线 除非传送结束或检索到“匹配字节” 除非传送结束或检索到“匹配字节”,才把总线控制 权交回CPU。在传送过程中,当DMA请求失效时, 请求失效时, 权交回 。在传送过程中, 请求失效时 DMA控制器将等待它变为有效,却并不释放总线。 控制器将等待它变为有效, 控制器将等待它变为有效 却并不释放总线。
返 回
例
如图7-3-6所示,试编程实现将48000H 所示,试编程实现将 如图 所示 为首地址的顺序100个单元的数据,利用 个单元的数据, 为首地址的顺序 个单元的数据 查询方式输出到外设。 查询方式输出到外设。
程序如下: 程序如下: START: MOV AX, 4000H MOV DS, AX MOV SI, 8000H MOV CX, 100 GOON: MOV DX, 00F1H WAIT: IN AL, DX AND AL, 01H JZ WAIT MOV AL, [SI] MOV DX, 00F0H OUT DX, AL INC SI LOOP GOON RET
返 回
DMA控制器从CPU完全接管对总线的控制, DMA控制器从CPU完全接管对总线的控制,数据 控制器从CPU完全接管对总线的控制 交换不经过CPU 而直接在内存和I/O CPU, I/O设备之间 交换不经过CPU,而直接在内存和I/O设备之间 进行。 进行。 优点:传送速率很高, 优点:传送速率很高,这对高速度大批量数据传 送特别有用。 送特别有用。 缺点:要求设置DMA控制器,电路结构复杂, 缺点:要求设置DMA控制器,电路结构复杂,硬 DMA控制器 件开销大
单片机数据传送指令c语言

单片机数据传送指令c语言单片机是一种集成电路,也称为微控制器。
它内部集成了处理器、存储器和各种外围设备接口,并且可以通过程序来控制其工作。
在单片机编程过程中,数据传送指令是常用的指令之一。
数据传送指令用于在单片机中传输数据,可以实现寄存器之间的数据传递、数据移动和数据保存等功能。
下面我将详细介绍单片机数据传送指令的使用方法。
首先,我们需要了解数据传送指令的基本格式。
数据传送指令通常以下面的形式出现:MOV destination, source。
其中,destination表示目标操作数,source表示源操作数。
要执行一条数据传送指令,首先需要确定传输数据的源和目标,然后根据具体需求选择合适的寻址方式来指定源和目标的地址。
下面我将介绍几种常用的寻址方式。
第一种寻址方式是立即寻址(Immediate Addressing)。
在立即寻址中,source指定了一个立即数,表示需要传送的数据。
立即数是在指令中给出的常数值,可以直接传送到目标寄存器或内存地址中。
例如,MOV A, #15表示将立即数15传送到A寄存器中。
第二种寻址方式是直接寻址(Direct Addressing)。
直接寻址中,source 指定了一个源寄存器或内存地址,将该寄存器或内存地址中的内容传送到目标寄存器或内存地址中。
例如,MOV A, B表示将B寄存器中的内容传送到A寄存器中。
第三种寻址方式是寄存器间接寻址(Register Indirect Addressing)。
在寄存器间接寻址中,source指定了一个寄存器的地址,将该寄存器中的内容传送到目标寄存器或内存地址中。
例如,MOVX @DPTR, A表示将A 寄存器中的内容传送到DPTR寄存器指向的内存地址中。
第四种寻址方式是间接偏移寻址(Indirect Offset Addressing)。
在间接偏移寻址中,source指定了一个源寄存器和一个偏移量,将源寄存器地址加上偏移量得到的地址中的内容传送到目标寄存器或内存地址中。
数据链路传输控制规程

差错控制。物理电路不 可避免地存在各种噪声和干扰 , 据信息在 数 传送过程 中会产生差错 。规程应能检测出链路发生 的码组差错 , 于接 对 收正确 的帧发 出认可信 号 ; 对收到有差错 的帧 , 将差错帧 的编号反馈 给 发站 , 求重发。 要 透 明传送。 帧的开头 、 结尾标志字符和执行监控 功能 的字符 , 必须要 独立于所传输的数据信息字符 。 这样 , 不致产生信息 和标志的混淆 , 意味 降传输透明度高。 ‘ 络。 流量控制。 为了避免链路阻塞 , 规程应 调节链路上的数据流量 , 能够 节点有两个功能 : 为终 端和网络提供接 口; 一 二是将发信 终端传送 决定暂停 、 停止或继续接收信息 。 来 的分组数据先接收 、 理并 存储 , 处 待通往终端 的下一个 节点空闲时再 链 路管理 。 控制信息传输方向 , 建立和结束链路 的逻辑连接 , 显示站 转发出去。网络节点一次又一次的转发信息 , 最终将数据从发端传输给 的工作状态等 。如信息流量 突பைடு நூலகம்停止 , 或超过规定 时间 , 决定继续做什 收端。 由节点功能滑出, 节点并不是几根导线 的单纯连接点 , 而是一个通
民营科 技 2 1 年第 2期 O0
数据链 路传 输控制 规程
普国超 安 红 军
信科 息学
( 陕西高速 电子工程有限公 司, 陕西 西安 7 0 0 ) 10 0
摘 要: 数据链路由数据 电路加上传输控 制器组成 。一个数据通信 系统 包括一或 多个数据链路 。数据链路有点到点和点对 多点等形式。 关 键 词 : 据 链路 ; 数 传输 数 据 ; 息 ; 据 通信 信 数 前言 数据链路传输数据信息 的操作方式也与通信方式类 似 , 有单 工, 半 双工 和全双工三种。 从链路逻辑功能出发, 可将不 同类型的数据终端统称 为“ ” 站 。在点 对点链路中 , 发送信 息或命令的站称为“ 主站”接 收信息 、 而发 出认 ; 命令 可响应信号的站称为“ 从站 ” 在一点对多点链 路中, 。 总有一个站为“ 控制 站 ”它负责组织链路上 的数据流 , , 处理链路上 出现的差错 , 其余各站 则 为“ 辅助站 ” 。如控制站发送信 息 , 某辅助站接 收信 息, 则此时控制站为 “ 主站” 接收信息的辅助站为“ , 从站” 其它 辅助站 为中性状态 。主 、 , 从站 在通信过程中可以相互转化 , 在某时刻发信的辅助站就变为“ 主站 ” 。 公路通信大都采用集 中控制的点对多点链路 , 监控 中心 和收费 中心 作为控制站 , 外场监控站 和收 费监控楼则成为辅助站 , 只允许控制站与 辅助站之间传送信息 , 控制站 发送 命令或控制序列 , 引导辅助站发送或 接收信息文电, 而不允许辅助站之间传送数据信息。 1 链路控 制规程 的功能要求 数 据通信双方要进行有效的数 据交换 , 必须建立共 同遵守的通信规 程。 目的是在 已经建成物理电路连接的基础上 , 把易 出错的物理电路改 造成相对无差错的逻辑链路 。以便在终点和 网络 间可靠 地传送 数据信 息, 也允许通信的任何一方终止信 息流 , 避免 电路阻塞。 链路级 的通信规程称为数据链路控制规程 , 它应具备 下述功能 : 帧控 制。 为方便数据在链路传送 , 规程应控制帧 的结构 。 发送站臣将 数据源送来 的信息文电分为若干个码组 , 采用特殊的字符或二进制数组 合作为码组的开头和结尾标 志 , 并在码组 中加人数据收端的地址和必 要 控制信息 , 这样的码组称 为帧( 或包 ) 。应注意这里所说 的帧具 有一定 的 编制灵活性 , 与话音传输中有固定格式 的帧不是一回事 。接收站将收到 的文电码 组去掉开头 、 尾标志 , 结 地址 和控 制字段 , 还原成信息 电文, 送 至数据收端 。 为了防止帧的重收 和漏收 , 必须对帧进行编号发送 , 接收时
DMA技术

地址增量
D5=1 地址加1 =0 地址减1
注意:
询问传送:
每传送一个字节之后,要检测(询问)DREQ是否有 效,若无效,则“挂起”但不释放总线,若有效,继 续传送直至字节计数器为0。 单一方式: 通道启动一次,只传送一个数据,传送完就 释放系统总线交还CPU,并且: 当前地址寄存器+1(-1) 当前字节计数器+1(-1) 成组(块)传送: 启动一次可把整个数据块传送完,并且,当前字 节计数器减到0,产生EOP_信号,释放总线。
注意:
系统允许多个DREQ信号,同时有效,即可以几个I/O同时 提出申请。但同一个时间,只能有一个DACK信号有效。
(3)总线请求和应答: HRQ和HLDA
(4)读写控制: IOR-
IOW- MEMR- MEMW;
(5) 地址线:A0- A7 A3~A0:地址总线低4位,双向。当CPU控制总线时,它们是 地址输入线。CPU用这4条地址线对DMA控制器的内部寄存器进 行寻址,完成对DMA控制器的编程。当8237A控制总线时,由 这4条线输出要访问的存储单元的最低4位地址。 A7~A4: 地址线,输出,只用于在DMA传送时,输出要访问的 存储单元的低8位地址中的高4位。 (6) 双向数据线:DB0-7,既是数据线,又是16位地址线的高8位。
6.2 DMA控制器
一. DMAC在系统中的工作状态: 主动态(主控器): 接管并取得总线控制权,取代CPU而成为 系统的主控者。 被动态(受控器): 未取得总线控制时,受CPU的控制。
DMAC I/O R/W RAM DMA CPU
3. 传送顺序
I/O ①DREQ DMA ②HRQ CPU ③HLDA DMA ④DACK I/O
DMA传送的基本原理图
第8章 DMA控制器(微型计算机技术课件)

二、 DMA数据传送的工作过程(续)
⑤ 待 CPU 将总线浮空,即放弃了总线控制权后,由 DMAC接管系统总线的控制权,并向外设送出DMA 的应答信号。 ⑥ 由DMAC送出地址信号和控制信号,实现外设与内 存或内存不同区域之间大量数据的快速传送。 ⑦ DMAC将规定的数据字节传送完之后,通过向CPU 发HOLD信号,撤消对CPU的DMA请求。CPU收到 此信号,一方面使 HLDA 无效,另一方面又重新开 始控制总线,实现正常取指令、分析指令、执行指 令的操作。
四、8237A的两种工作状态(续)
作为主模块工作时(有效周期): 当 8237A 作为主模块工作时,它会往总线 上提供要访问的内存地址,地址的低8位放在 A7~A0,而地址的高8位放在D7~D0。 作为主模块工作时, 8237A 还必须输出必 要 的 读 写 信 号 , IOR 、 IOW 、 MEMR 、 MEMW。
8 8 8 6 4 4
5.8237的三态缓冲器
8237 的数据引线,地址引线都有三 态缓冲器,因而可以接也可以释放 总线。
三、8237的外部结构
8237 是具有 40 个引脚的双列直插式 集成电路芯片
首先分类展开外部引脚
1. 请求与响应信号
DREQ0~DREQ3:DMA通道请求。当外设需 要请求DMA服务时,将DREQ信号置成有效电 平,并要保持到产生响应信号。对应于四个独 立的通道,DREQ的有效电平可以通过编程来 加以确定,优先级可以固定,也可以旋转。 HRQ :总线请求。 8237A 输出有效的 HRQ 高 电平,向CPU申请使用系统总线。 HLDA:总线响应。8237A接受来自CPU的响 应信号HLDA,取得了总线的控制权。 DACK0~DACK3:DMA通道响应。8237A使 请求服务的通道产生相应的DMA响应信号。
第9讲 微型计算机和外设的数据传输

5
5.2 CPU和输入输出设备之间的信号
(1)数据信息 在微型机系统中,CPU通过接口与外 设交换信息时,数据信息、状态信息 数字量 和控制信息都被看做一种数据信息, 模拟量 通过数据总线传输。它们对应三种不 开关量 同的寄存器:数据寄存器、状态寄存 (2)状态信息 (输入) 器和控制寄存器。 外设通过接口送往CPU 对输入设备来讲,一般是用READY表示数据准备就绪 对输出设备来讲,一般是用BUSY表示设备是否空闲 (3)控制信息 (输出) CPU通过接口送给外设,控制外设的工作
3
为什么要用接口电路?
微机的外部设备多种多样 , 例如打印机、扫描 仪、硬盘等,它们的功能、工作原理、信息格式、 以及工作速度等方面彼此差别很大,因此不能与 CPU 直接相连,必须经过中间电路再与系统相连, 这部分电路被称为I/O接口电路。
4
接口的用途
对于输入设备来说,接口通常起信息转换和缓冲 的功能,将输入设备送来的信息变换成 CPU 能够 接收的格式,并将其放在缓冲器中让 CPU 来接收; 对输出设备来说,接口起信息变换和锁存的功能, 将CPU输出的信息转换成设备需要的格式。
微型计算机系统的硬件结构
系统总线BUS 系 统 总 线 形 成
地址总线AB
数据总线DB 控制总线CB 主存
I/O接口
CPU
主机
I/O设备
外设
1
第五章 微型计算机和外设的数据传输
第四章 DMA技术
减1,当减到0时,产生EOP,表示传送完毕。
-- 初值与基值字节计数器的内容相同,并由CPU同时写入。 -- 自动预置时,EOP信号使内容重新预置为基计数值。 -- 可读可写。
计算机接口技术
(第四章)
辽宁石油化工大学计算机与通信工程学院 主讲人:王晓虹
第四章 DMA技术
本章内容
4.1 4.2 4.3 4.4 4.5 4.6 DMA传送的特点 DMA传送的过程 DMA传送的方式 DMA控制器 DMA系统 DMA传送的应用
4.1 DMA传送的特点
- 一般的程序控制传送方式(查询和中断方式): • 在存储器和I/O之间交换数据,要经过CPU的累加器中转; • 程序控制检查是否传送完毕及修改内存地址; - DMA方式: • 存储器与外设、外设与外设间直接交换数据,不经过累加器; • 硬件控制内存地址的修改、传送完毕的结束报告; I/O I/O;I/O M;M M
4.3 DMA传送的方式
一、DMA操作类型
1)数据传送 源 目标,源和目标为M或 I/O 传送方向:DMA读指从M读; DMA写指向M写
数据
2)数据校验 进行某种校验,不发读/写 信号,一般在DMA读之后
3)பைடு நூலகம்据检索
不发读/写信号,在M中查找 关键字节或关键位——比较
二、DMA操作方式
1)单字节方式(单一方式) 操作一个字节就释放总线 3)请求方式(询问方式) 操作结束或DREQ无效即释放
寄存器
3种方式,区别:释放总线的条件不同 2)连续方式(块字节方式)
总线
操作结束(数据块操作结束,检索时 找到关键字节或关键位)才释放总线; 在操作过程中,DREQ无效则等待其有 效
DMA传送方式
DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序.那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法:(1)停止CPU访内;(2)周期挪用;(3)DMA与CPU交替访内存. 1.停止CPU访问内存当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权.DMA控制器获得总线控制权以后,开始进行数据传送.在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU.图(a)是这种传送方式的时间图.很显然,在这种DMA传送过程中,CPU基本处于不工作状态或者说保持状态.优点: 控制简单,它适用于数据传输率很高的设备进行成组传送。
缺点: 在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。
这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。
例如,软盘读出一个8位二进制数大约需要32us,而半导体内存的存储周期小于0.5us,因此许多空闲的存储周期不能被CPU利用. 2.周期挪用:当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。
这种传送方式的时间图如下图(b):?I/O设备要求DMA传送时可能遇到两种情况:(1)此时CPU不需要访内,如CPU 正在执行乘法指令。
由于乘法指令执行时间较长,此时I/O访内与CPU访内没有冲突,即I/O设备挪用一二个内存周期对CPU执行程序没有任何影响。
(2)I/O设备要求访内时CPU也要求访内,这就产生了访内冲突,在这种情况下I/O设备访内优先,因为I/O访内有时间要求,前一个I/O数据必须在下一个访内请求到来之前存取完毕。
显然,在这种情况下I/O 设备挪用一二个内存周期,意味着CPU延缓了对指令的执行,或者更明确地说,在CPU 执行访内指令的过程中插入DMA请求,挪用了一二个内存周期。
dma方式名词解释
dma方式名词解释DMA(Direct Memory Access) 方式是一种计算机系统中用于实现高速数据传输的技术。
在 DMA 方式中,外部设备可以无需 CPU 干预,直接访问内存,从而实现高速数据传输。
DMA 方式通常用于处理 I/O 操作,特别是在需要大量数据传输的情况下,可以减少 CPU 的工作量,提高系统的响应速度和效率。
DMA 方式的主要特点是:1. 数据传送高速化:DMA 方式可以实现高速数据传输,通常外部设备与内存之间的数据传输速度比 CPU 内部数据传输速度快得多。
2. 减少 CPU 干预:在 DMA 方式中,CPU 通常不参与数据传输和处理,可以减少 CPU 的工作量,提高系统的效率。
3. 简化系统结构:DMA 方式可以减少系统的复杂度,简化系统的结构,提高系统的可维护性和可扩展性。
4. 支持多任务处理:DMA 方式可以支持多任务处理,使系统能够同时执行多个任务,提高系统的处理能力和效率。
在 DMA 方式中,通常采用以下三种方式来实现外部设备的高速数据传输: 1. 停止 CPU 访内存:当外部设备需要传输一批数据时,DMA 控制器会发一个停止信号给 CPU,要求 CPU 放弃对地址总线、数据总线和有关控制总线的使用权,DMA 控制器获得总线控制权后,开始进行数据传送。
这种方式可以实现高速数据传输,但 CPU 需要停止工作,效率较低。
2. 周期挪用:当外部设备需要传输一批数据时,DMA 控制器会发一个停止信号给 CPU,要求 CPU 放弃对地址总线、数据总线和有关控制总线的使用权,DMA 控制器获得总线控制权后,开始进行数据传送。
在一批数据传送完毕后,DMA控制器通知 CPU 可以使用内存,并把总线控制权交还给 CPU。
这种方式可以实现高速数据传输,但 CPU 需要停止工作,效率较低。
3. DMA 与 CPU 交替访问内存:当外部设备需要传输一批数据时,DMA 控制器会发一个停止信号给 CPU,要求 CPU 放弃对地址总线、数据总线和有关控制总线的使用权,DMA 控制器获得总线控制权后,开始进行数据传送。
rs485数据全双工、半双工的定义与应用[重点]
RS485数据全双工、半双工的定义与应用在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工,但单工目前已很少采用。
1、全双工方式(full duplex)当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制,如图1所示。
在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。
全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。
这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号,可能还需要控制线和状态线,以及地线。
图12、半双式方式(half duplex)若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2所示。
采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。
收/发开关实际上是由软件控制的电子开关。
图23.单工方式如果在通信过程的任意时刻,信息只能由一方甲传到另一方乙,则称为单工。
图34.各种工作模式说的应用范围1)全双工多用在要实现两端都可以控制云台上,其它的使用用途还在查找中…..2)半双工多用在键盘矩阵的连接,语音对讲(来帮对讲系统)、硬盘录像机等。
一般常见的设备之间的通讯都是使用的此模式。
3)单工多用在单向的云台控制。
即我们常见的正向、反向控制数据等,我们光端机常规的都是这种工作方式。
在接受客户订单时,一定要区分数据的类型,特别是半双工和全双工,单工只需确认数据是正向和反向。
- 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恢复正常工作。