DMA传输原理
dma传输基本原理

dma传输基本原理DMA(Direct Memory Access)传输是一种计算机系统中常用的数据传输方式。
它通过绕过CPU,直接在外设和主存之间进行数据传输,提高了数据传输效率,减轻了CPU的负担。
DMA传输的基本原理是,在外设和主存之间建立一条专用的数据通路,通过DMA控制器来管理数据传输。
在传统的IO方式中,数据的传输需要通过CPU进行中转,即CPU从外设读取数据,然后再将数据写入主存。
这种方式效率较低,且占用了CPU的大量时间和资源。
而在DMA传输中,数据传输的过程可以分为三个步骤:首先,外设将数据传输请求发送给DMA控制器;然后,DMA控制器将请求转发给主存,并通过总线控制器将数据从外设读取到DMA缓冲区;最后,DMA控制器将数据从DMA缓冲区写入主存,或者从主存读取数据写入外设。
在这个过程中,CPU的作用主要是对DMA控制器进行初始化和设置,以及在数据传输完成后进行处理。
具体来说,CPU需要设置DMA控制器的起始地址、目的地址、传输长度等参数,然后启动DMA传输。
传输过程中,CPU可以自由进行其他任务,而不需要关注数据传输的具体细节。
使用DMA传输的好处有很多。
首先,它可以大大提高数据传输的效率。
由于数据传输直接在外设和主存之间进行,无需经过CPU的中转,减少了数据传输的延迟。
其次,DMA传输可以减轻CPU的负担,释放出更多的计算资源。
在大量数据传输的场景下,使用DMA传输可以提高系统的整体性能。
除了提高数据传输效率和减轻CPU负担外,DMA传输还具有其他一些特点。
首先,DMA传输是一种异步的传输方式,即外设和主存之间的数据传输可以独立于CPU的运行。
这意味着,在DMA传输过程中,CPU可以同时执行其他任务,提高了系统的并发性。
其次,DMA传输可以支持不同类型的外设,包括硬盘、网卡、显卡等。
这使得系统具有更好的扩展性和兼容性。
然而,DMA传输也存在一些限制和问题。
首先,DMA传输需要占用一部分内存空间作为DMA缓冲区,这会降低可用内存的大小。
DMA工作原理

DMA工作原理一、概述DMA(Direct Memory Access,直接内存访问)是一种计算机系统中用于高速数据传输的技术。
它允许外部设备(如硬盘、网络适配器等)直接与内存进行数据传输,而无需经过中央处理器(CPU)的干预。
DMA的工作原理是通过使用专门的DMA控制器来管理数据传输过程,提高数据传输的效率和速度。
二、DMA的工作过程1. 初始化在进行DMA传输之前,需要进行一系列的初始化操作。
首先,需要设置DMA控制器的寄存器,包括源地址、目的地址、传输长度等。
然后,需要将DMA请求信号与外部设备相连,以便在需要进行数据传输时触发DMA操作。
2. DMA请求当外部设备需要进行数据传输时,会向DMA控制器发送DMA请求信号。
DMA控制器接收到请求信号后,会暂停CPU的工作,开始进行数据传输操作。
3. 寻址DMA控制器根据初始化时设置的源地址和目的地址,通过总线控制器访问内存。
它可以直接读取源地址的数据,并将其写入目的地址。
4. 数据传输DMA控制器通过总线控制器与内存进行数据传输。
它可以在不干扰CPU工作的情况下,直接读取源地址的数据,并将其写入目的地址。
这样就实现了高速的数据传输。
5. 中断当DMA传输完成后,DMA控制器会向CPU发送中断请求信号,通知CPU数据传输已完成。
CPU接收到中断信号后,可以进行相应的处理,如更新数据状态、发送其他指令等。
三、DMA的优势1. 提高数据传输效率:DMA可以在不干扰CPU工作的情况下,直接进行数据传输,大大提高了数据传输的效率和速度。
相比于CPU通过程序控制数据传输,DMA可以在较短的时间内完成大量数据的传输。
2. 减轻CPU负担:DMA可以将数据传输的任务交给专门的DMA控制器处理,减轻了CPU的负担。
CPU可以将更多的时间和资源用于处理其他任务,提高整体系统的性能。
3. 支持多种外设:DMA可以支持多种外设进行数据传输,如硬盘、网络适配器、音频设备等。
DMA传输原理..

(3)请求传输方式
• 申请一次总线可以连续进行多个数据的传输。
• 每传输1个字节后,8237A都对外设接口的请求信号 进行测试:
DREQ端无效,暂停传输;
DREQ有效,接着进行下一个数据的传输。
• 允许数据不连续,按照外设的最高速度进行数据传输, 使用比较灵活。
12
(4)级联传输方式
• 几个8237A进行级联,一片8237A用作主片,其余用 作从片,构成主从式DMA系统。 • 从片收到外设接口的DMA请求信号后,向DMA控制器 主片申请,再由主片向CPU申请。 • 一片主片最多可以连接四片从片。这样,五片8237A 构成的二级DMA系统,可以得到16个DMA通道。 • 级联时,主片通过软件在方式寄存器中设置为级联 传输方式。从片设置成上面的三种方式之一。
第 6章
6.1 DMA传输原理
DMA传输
6.2 DMA控制器8237A
6.3 8237A的编程使用
1
直接存储器传送
(Direct Memory Access—DMA) 将外设的数据不经过CPU直接送入内存储器, 或者,从内存储器不经过CPU直接送往外部设备
M
CPU
I/O
一次DMA传送只需要执行一个DMA周期(相当于 一个总线读/写周期),因而能够满足高速外设数 据传输的需要。
6
2. DMA传输过程
• 总线请求:DMAC向CPU申请使用总线
• 总线控制转移:CPU同意DMAC管理总线
• 数据传输:外设接口和存储器之间传输数据
• 修改地址和计数器:为下一次传输做准备
• 结束处理:DMAC放弃对总线的控制权
• 以上的过程完全由硬件电路实现,速度很快。
• 用DMA方式进行一次数据传输所经历的时间称为 “DMA周期”,大体上相当于一次总线读写周期的时 间。
简述dma工作原理

简述dma工作原理DMA(Direct Memory Access,直接内存访问)是一种计算机技术,它允许外设设备直接访问主存储器,而不需要CPU的干预。
DMA 技术的出现,大大提高了计算机的数据传输速度和效率,同时也减轻了CPU的负担,使得CPU可以更加专注于处理其他任务。
DMA的工作原理可以简单地概括为以下几个步骤:1. 初始化DMA控制器在进行DMA传输之前,需要先初始化DMA控制器。
DMA控制器是一种硬件设备,它负责管理DMA传输的过程。
初始化DMA控制器的过程包括设置DMA通道、设置传输模式、设置传输方向、设置传输数据的起始地址和传输数据的长度等。
2. 请求DMA传输外设设备需要进行数据传输时,会向DMA控制器发送请求。
DMA 控制器接收到请求后,会检查是否有可用的DMA通道,并根据请求的传输模式、传输方向、传输数据的起始地址和传输数据的长度等信息,为该请求分配一个DMA通道。
3. DMA传输DMA控制器分配DMA通道后,会开始进行DMA传输。
在传输过程中,DMA控制器会直接访问主存储器,将数据从外设设备读取到主存储器中,或将数据从主存储器中写入到外设设备中。
在传输完成后,DMA控制器会向外设设备发送传输完成的信号。
4. 中断处理当DMA传输完成后,DMA控制器会向CPU发送中断请求。
CPU 接收到中断请求后,会暂停当前的任务,转而处理中断请求。
在中断处理过程中,CPU会读取DMA控制器发送的传输完成信息,并根据需要进行后续的处理。
总的来说,DMA技术的工作原理就是通过DMA控制器实现外设设备和主存储器之间的直接数据传输,从而减轻CPU的负担,提高计算机的数据传输速度和效率。
在实际应用中,DMA技术被广泛应用于各种数据传输场景,如网络数据传输、磁盘数据传输、音视频数据传输等。
DMA原理与测试

DMA原理与测试DMA(Direct Memory Access)直接内存访问是计算机系统中一种用于数据传输的技术,它可以通过绕过中央处理器(CPU)来实现高速数据传输。
DMA原理是通过一个特殊的硬件控制器来控制数据的传输,而无需CPU的直接参与。
在计算机系统中,数据传输通常需要CPU的介入,即通过CPU的寄存器和内存来进行数据的读写。
这意味着CPU需要在数据传输过程中不断地进行读写操作,从而占用了CPU的时间和资源。
而DMA技术则通过将数据传输的任务交给一个专门的硬件控制器来完成,从而减轻了CPU的负担。
DMA技术可以实现高速数据传输的原理主要包括以下几个步骤:1.初始化:首先,由CPU向DMA控制器发送启动传输的命令,并同时将要传输的数据的起始地址、目的地址和传输长度等信息写入DMA控制器的寄存器中。
2.申请总线控制权:DMA控制器需要通过总线控制权来与内存进行数据传输,因此需要向CPU发送请求总线控制权的信号。
CPU收到请求后会立即释放总线控制权,使DMA控制器可以开始传输。
3.数据传输:DMA控制器开始传输数据。
它通过总线直接与内存进行读写操作,与内存进行交互,并将数据从源地址传输到目的地址。
4.中断通知:当数据传输完成后,DMA控制器会向CPU发送中断信号,以通知CPU数据传输已完成。
通过DMA技术进行数据传输具有以下几个优点:1.提高数据传输速度:DMA技术可以直接在内存和外设之间进行数据传输,无需CPU的参与,从而大大提高了数据传输的速度。
与通过CPU进行数据传输相比,DMA技术的数据传输速度更高效。
2.减轻CPU负担:使用DMA技术进行数据传输可以减轻CPU的负担,使CPU可以更多地用于处理其他任务。
这对于需要大量数据传输的任务而言,对于系统的整体性能至关重要。
3.合理利用系统资源:DMA技术可以高效地利用CPU、内存和外设等系统资源,提高系统的整体性能和效率。
针对DMA技术,可以进行一些测试以验证其性能和功能。
DMA工作原理

DMA工作原理DMA(Direct Memory Access,直接内存访问)是一种计算机系统中的数据传输技术,它允许外部设备直接访问主存储器,而无需通过CPU的干预。
DMA工作原理是通过硬件控制器来实现的,下面将详细介绍DMA的工作原理。
DMA的工作原理如下:1. 初始化:首先,CPU通过设置DMA控制器的寄存器来初始化DMA传输。
这些寄存器包括源地址寄存器、目标地址寄存器、传输长度寄存器等。
源地址寄存器存储数据的起始地址,目标地址寄存器存储数据传输的目的地地址,传输长度寄存器存储要传输的数据长度。
2. 请求传输:外部设备向DMA控制器发送传输请求。
一旦接收到传输请求,DMA控制器将暂停CPU的数据传输,并开始执行DMA传输。
3. 地址传输:DMA控制器将源地址寄存器和目标地址寄存器中的地址发送给内存控制器,以便在主存储器中定位数据的起始位置和目的地位置。
4. 数据传输:DMA控制器通过总线直接从主存储器中读取数据,并将其存储到内部缓冲区中。
一旦缓冲区中存储了足够的数据,DMA控制器将通过总线将数据传输到目标设备。
5. 中断处理:一旦DMA传输完成,DMA控制器将发送中断请求给CPU,以通知传输的完成。
CPU在接收到中断请求后,可以执行相应的中断处理程序。
DMA的工作原理可以带来以下几个优点:1. 减轻CPU的负担:由于DMA传输是由硬件控制器完成的,CPU无需直接参与数据传输,因此可以减轻CPU的负担,让CPU能够更多地处理其他任务。
2. 提高数据传输速度:相比于CPU通过程序控制数据传输,DMA传输速度更快。
DMA控制器可以直接访问主存储器,从而避免了CPU与外部设备之间的频繁数据传输。
3. 实现并行处理:由于DMA传输无需CPU干预,CPU可以在数据传输过程中继续执行其他任务,从而实现并行处理,提高系统的效率。
总结:DMA是一种通过硬件控制器实现的数据传输技术,它可以在不干扰CPU的情况下实现外部设备与主存储器之间的数据传输。
请描述dma通道的工作模式和工作原理

DMA(直接存储器访问)通道是一种可以直接将数据从外设传输到内存或者从内存传输到外设的控制器,它可以在不占用CPU时间的情况下完成数据传输操作。
DMA通道的工作模式和工作原理对于理解系统性能和设计高效的数据传输具有重要意义。
下面将对DMA通道的工作模式和工作原理进行详细描述。
一、DMA通道的工作原理1. 初始化:DMA控制器根据软件设定的参数进行初始化,包括传输的起始位置区域、数据长度、传输方向、传输模式等。
2. 触发传输:一旦初始化完成,DMA通道就可以根据软硬件的触发信号开始数据传输操作。
这个触发信号可以是外部设备的中断请求、定时器溢出、特定的IO口输入等。
3. 数据传输:DMA通道根据初始化设置和触发信号,从外设或内存读取数据,然后通过总线传输到目标位置区域,完成数据的读取或写入操作。
4. 完成传输:当DMA通道完成数据传输后,会发出一个传输完成的信号,软件可以根据这个信号进行后续的处理。
二、DMA通道的工作模式1. 单次传输:DMA通道进行一次数据传输操作后即停止,需要重新初始化后才能进行下一次传输。
2. 循环传输:DMA通道可以根据设定的循环次数进行多次数据传输,适用于数据缓冲区的循环读写操作。
3. 自动请求:DMA通道可以根据外部设备的请求信号自动启动数据传输,无需CPU的参与,适用于实时数据采集等场景。
4. 块传输:DMA通道可以按照设定的块大小进行数据传输,可以实现高效率的大数据块传输。
5. 中断传输:DMA通道在传输完成后可以发出中断信号,通知CPU 进行进一步的处理。
三、DMA通道的工作流程1. 软件初始化:首先需要由软件对DMA通道进行初始化,在初始化的过程中设置传输的起始位置区域、数据长度、传输方向、传输模式等参数。
2. 触发传输:一旦初始化完成,DMA通道就可以通过外部触发信号或者自动请求机制开始数据传输操作,根据初始化设置和触发信号进行数据传输。
3. 数据传输:DMA通道进行数据传输的过程中,可以同时访问内存和外设,并且不需要CPU的干预,从而释放CPU的负担,提高系统性能。
dma工作原理

dma工作原理
DMA (Direct Memory Access) 是一种数据传输机制,能够在减少CPU负载的同时,实现高速度和高效率的数据传输。
DMA 的工作原理如下:
1. CPU下达传输指令:当CPU需要将数据从一个设备(如硬盘、网络适配器)传输到内存,或从内存传输到设备时,它向DMA控制器下达传输指令。
传输指令包含源地址和目的地址等信息。
2. DMA控制器初始化:DMA控制器接收到传输指令后,首先会进行初始化。
它将检查传输指令中的源地址和目的地址,然后检查数据传输的方向,以及需要执行的其他操作(如数据复制或清零)。
3. DMA访问总线:DMA控制器获得后,它会请求访问系统总线。
在成功获得总线之后,DMA控制器便可以直接与内存进行数据传输,而不需要经过CPU。
4. 传输数据:DMA控制器通过直接操作内存地址,将源设备或内存中的数据传输到目标设备或内存中。
它使用内存地址寄存器来跟踪数据传输的进度,以及传输的字节数。
5. 中断通知:当数据传输完成后,DMA控制器通过向CPU发送中断信号来通知它。
CPU可以通过检查中断请求来知道DMA传输的完成状态。
通过使用DMA,数据传输的工作由DMA控制器来完成,而不是由CPU来执行。
这样一来,CPU就可以在数据传输期间执行其他任务,提高了系统的整体性能。
而且,由于DMA控制器直接与内存进行交互,传输速度更快。
总而言之,DMA 通过提供一种高效的数据传输机制,有助于提高系统的吞吐量和响应能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
+5V HOLD HLDA CLK 使微处理器地址锁存信号无效 1 EN 锁存缓冲器 STB 连接数据总线 M/IO A8~A15 HRQ HLDA CLK AEN ADSTB 方式寄存器 DB0~7 基本地址寄存器 基本字节计数器 CS A4~A7 A0~A3 1 2 通道0 DREQ0 DACK0 DREQ1 DACK1 DREQ2 DACK2 DREQ3 DACK3 EOP 16 当前地址寄存器 当前字节计数器 地 控制寄存器 状态寄存器 暂存寄存器 公 共 部 份 电源 IOR IOW MEMR MEMW READY 1:请求触发器 2:屏蔽触发器
24
6.2.3 8237A的对外连接信号
8237A作为从模块时的引脚信号(1)
RESET—复位输入端,高电平有效。复位时,屏蔽寄存器 被置1,其他寄存器均清0。 CS# ——片选输入端,低电平有效,由A4~A15译码得到。 为低电平时,8237A被选中,CPU可以对8237A进 行读写(进行预置或读取工作状态)。 A3~A0—最低的4位地址线,双向信号引脚。DMA控制器 作为从模块时,A3~A0作为输入端,用来选择 DMAC内部的16个端口地址。
在DMA传送之前,8237A从DB0~DB7把存储器地址 的A8~A15送入这个锁存器。
在DMA周期里,锁存器将锁存的地址送往系统地址 总线的A8~A15,同时从A0~A7引脚发送地址的低八位。
23
5. 页面地址寄存器(外接)
8237A控制了地址总线的16位,所以最多只能连续传 送64K字节的数据。 为了控制8086系统20位的物理地址,需要外接一个四位 的“页面地址寄存器”(PC机地址:83H) 页面地址寄存器的值由CPU写入 8237A发送低16位地址时,高四位的地址从页面地址寄 存器发往地址总线的A16~A19
7
[例]:用DMA方式将串行通信口接收到的200字节 的数据存入以BUFFER为首地址内存区域
对DMAC进行预置:向DMAC写入内存首地址,传输字 节数(200),传输方向(外设接口→内存),控制命令 (允许DMA传输)等;
对串行通信接口进行初始化,设置串行通信的参数,允 许串行输入等; 串口每输入一个数据,自动进行DMA传输; 最后一个数据传输结束后,DMAC发出传输结束信号 EOP。CPU可以通过查询知道传输已经结束,也可以利 用EOP信号申请中断,在中断服务程序里进行结束处理。 DMA方式传输200字节过程为:1次对DMAC初始化, 1次对串口初始化, 200次DMA周期,1次结束处理。
第6 章
6.1 DMA传输原理
DMA传输
6.2 DMA控制器8237A
6.3 8237A的编程使用
1
直接存储器传送
(Direct Memory Access—DMA) 将外设的数据不经过CPU直接送入内存储器, 或者,从内存储器不经过CPU直接送往外部设备
M
CPU
I/O
一次DMA传送只需要执行一个DMA周期(相当于 一个总线读/写周期),因而能够满足高速外设数 据传输的需要。
21
3. 控制逻辑
•
•
DMA周期内,控制逻辑通过产生控制信号和16位要存 取的存储单元地址来控制DMA操作步骤。
初始化时,通过对方式寄存器编程,使控制逻辑可以 对各个通道的操作进行控制。
22
4. 锁存缓冲器(外接)
使用8237A工作时,需要外接一个八位的地址锁存缓 冲电路,它能够储存八位的地址信号,通过可控的三 态门连接系统地址总线。
13
3. 8237A的传输类型
(1)DMA写传输(I/O→存储器) (2)DMA读传输(存储器→I/O) (3)DMA检验 (完成校验过程,测试DMA控制器的状态)。 (4)存储器到存储器传输
14
6.2.2 8237A的内部结构和外部连接
8237A的内部结构分成二部分: 四个DMA通道和一个公共控制部分
28
(2)对存储器/外设接口的读写控制信号
IOR#——作为主模块时,IOR#输出外设接口的读控制信 号,信号有效时,I/O接口部件中的数据被读出 送往数据总线。 IOW#——作为主模块时,IOW#输出外设接口的写控制信 号,信号有效时,存储器中读出的数据被写入 I/O接口中。 READY——准备就绪信号,输入,高电平有效。所用的存 储器或I/O接口的速度较慢时,使READY处于 低电位,8237A会自动插入等待周期。数据准备 就绪时,READY端为高电平,表示可以进行数 据传输。 29
8
3.
8086系统中的DMA信号
•最小模式 CPU通过HOLD接收DMA控制器的总线请求; 在HLDA引脚上发出对总线请求的允许信号。 •最大模式 通过RQ/GT0和RQ/GT1引脚接收DMA控制器的 总线请求,发送对总线请求的允许信号。 RQ/GT0引脚有较高的优先权。
9
6.2 DMA控制器8237A
18
DMA通道--字节计数器
• 字节计数器由基本字节计数器和当前字节计数器组成。 • 编程时,由指令把DMA传输的字节数写入基本字节计数器, 继而传送到当前字节计数器(初值要比实际传输的字节数少1) • 每进行一次DMA传输,当前字节计数器自动减1。它的值由0 减到FFFFH(-1)时,产生计数结束信号EOP。 • 当前计数器的值可以由CPU通过输入指令分两次读出。
26
8237A作为总线主模块时的引脚信号
(1)地址信号
A3~A0—— DMAC为主模块时,提供存储器最低4位地址 (输出) 。 A7~A4 —- 提供存储器的中间4位地址(输出) DB7~DB0— 输出当前地址寄存器中的高8位地址,并通过信号 ADSTB打入外部锁存器,和A7~A0输出的低8位 地址一起构成16位地址。
19
2. 读/写逻辑
8237A在系统总线中作为“从模块”时
• 接收CPU对I/O接口的读(IOR#)、写(IOW#)信号; • 对地址总线的低4位 (A0 ~A3) 译码; • 片选和IOW#信号有效时,把数据总线的内容写入所寻 址的寄存器; • 片选和IOR#有效时,把选择的寄存器内容送到数据总 线上。
10
2. 8237A的工作方式
(1)单字节传输方式
8237A每申请一次总线,进行1个字节传输,然后释放系 统总线,一次DMA传输结束。
CPU可以在每个DMA周期结束后控制总线,进行数据传输, 所以不会对系统的运行产生大的影响。
(2)块传输方式
DMA控制器获得总线控制权后,可以连续进入多个DMA周 期,进行多个字节的传输(最多64K字节)。 这种方式可以获得最高的数据传输速度。如果一次传输的数 据较多,对系统工作可能产生一定的影响。
11
(3)请求传输方式
• 申请一次总线可以连续进行多个数据的传输。
• 每传输1个字节后,8237A都对外设接口的请求信号 进行测试:
DREQ端无效,暂停传输;
DREQ有效,接着进行下一个数据的传输。
• 允许数据不连续,按照外设的最高速度进行数据传输, 使用比较灵活。
12
(4)级联传输方式
• 几个8237A进行级联,一片8237A用作主片,其余用 作从片,构成主从式DMA系统。 • 从片收到外设接口的DMA请求信号后,向DMA控制器 主片申请,再由主片向CPU申请。 • 一片主片最多可以连接四片从片。这样,五片8237A 构成的二级DMA系统,可以得到16个DMA通道。 • 级联时,主片通过软件在方式寄存器中设置为级联 传输方式。从片设置成上面的三种方式之一。
(2)对存储器/外设接口的读写控制信号
MEMR#——存储器读信号,低电平有效,输出。信号有效 时,所选中的存储器单元的内容被读到数据 总 线。 MEMW#——存储器写信号,低电平有效,输出。信号有 效时,数据总线上的内容被写入选中的存储单 元。
30
(3) DMA联络信号
DREQ——通道DMA请求信号,输入。 每个通道对应一个DREQ信号端,它的极性可以 通过编程来选择。 外设接口要求DMA传输时,使DREQ处于有效, DMAC控制器送来DMA响应信号DACK以后, 接口撤除DREQ的有效电平。
27
地址信号
ADSTB——地址选通信号,输出,高电平有效。信号有效 时,将DMAC高8位地址经DB7~DB0送到外部 锁存器。 AEN——地址允许信号,输出,高电平有效。 把高12位地址(地址锁存器中高8位、页面地址寄 存器最高4位)一起送到地址总线上,与芯片直接 输出的低8位地址共同构成20位内存地址。 AEN信号也使与CPU相连的地址锁存器无效。保证 地址总线上的信号来自DMA控制器,而不是来自 CPU。
6
2. DMA传输过程
• 总线请求:DMAC向CPU申请使用总线
• 总线控制转移:CPU同意DMAC管理总线
• 数据传输:外设接口和存储器之间传输数据
• 修改地址和计数器:为下一次传输做准备
• 结束处理:DMAC放弃对总线的控制权
• 以上的过程完全由硬件电路实现,速度很快。
• 用DMA方式进行一次数据传输所经历的时间称为 “DMA周期”,大体上相当于一次总线读写周期的时 间。
25
8237A作为从模块时的引脚信号(2)
IOR#——I/O设备读信号,双向、三态、低电平有效。 作为从模块时为输入。有效时,CPU读DMA控 制器内部寄存器的值。 IOW#——I/O设备写信号,双向、三态、低电平有效。 作为从模块时输入。有效时,CPU向DMA控制 器的内部寄存器中写入信息(进行编程)。 DB7~DB0——8位双向三态数据线。DMA控制器作为从 模块时,CPU通过DB
• 由基地址寄存器和当前地址寄存器组成。 • 对8237编程时,把本通道DMA传输的地址初值写入基地址寄 存器,再由8237A传送到当前地址寄存器。 • 当前地址寄存器在每次DMA传输后自动加 1或减1。 • CPU可以通过输入指令读出当前地址寄存器值(每次读8位)。 基地址寄存器不能被读出,且一直保持初值。 • 数据块传送完成后,可以把当前地址寄存器的内容恢复为基 地址寄存器保存的初值。 (需要在编程时设置“自动预置”方式)