第8章 DMA控制器
第8章DMA技术
采用程序传送数据
除了专用的计算机系统外,一般的计算机系统 要不断更换工作任务,因此经常要与外部设备 进行数据交换,特别是与磁盘的数据交换。
磁盘数据是按扇区为单位存储的。一次传送至 少上百字节。
DMA技术就是为加速大量数据传输过程发明的技 术。
在DMA期间,CPU让出对系统总线的控制权,由 DMA控制器负责外部设备与存储器之间的数据 传送。
8237的工作过程
若在S4状态结束前不能完成数据的传送,则只需使READY 信号线变低,就可以在S3(S2)和S4状态间插入Sw等待状 态。直到READY变高,才进入S4。
用DMA传送数据,要求存储器区地址是连续的。因此, 许多时候地址的高8位不变,只是低8位改变。所以,输 出和锁存高8位地址的S1状态不需要,可直接进入S2状态。
其缺点是,在整个DMA传送期间CPU无法控制总线。 (CPU无法处理中断。)
8237的传送方式
DMA传送方式3:请求传送方式
在这种方式下,DREQ信号有效,8237A连续传送数据; 但当DREQ信号无效时,DMA传送被暂时中断,8237A释放总 线,CPU得到总线控制权。但DMA传输并未终止,DMA通道的 地址和字节数的当前值,仍保持在相应通道的当前地址和 当前字节数寄存器中。当外设又准备好进行传送时,只要 使DREQ信号再次有效,DMA传送就继续进行下去。
8237的引脚信号—CPU接口信号
当8237A作为CPU外部芯片时,通过下列引脚, 接受CPU管理和控制
1. DB7~DB0:双向三态数据总线。(非复用) 2. A3~A0地址线:低4位地址总线。8237在系统中占 16个地址单元。 3. CS :片选信号。 4. IOR / IOW :作为CPU外部芯片时的读/写信号。 5. RESET复位
微机原理与接口技术:18第8章 计数器定时器与DMA控制器
交通信息与控制工程系教案(理论教学用)
课程名称微机原理与接口技术第 18 次第 9 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第8章计数器/定时器与DMA控制器(8.1,8.2)
教学目的和要求1.了解软硬件定时的原理;2.掌握8253的原理及应用。
讲授主要内容及时间分配1.接口电路概况;(10min)
2.8253的外部引线和内部结构;(20min)
3.8253的工作方式和控制字;(30min)
4.8253的应用。
(30min)
教学重点与难点重点:
1.软硬件定时的原理;2.8253的原理及应用。
难点:
8253的原理及应用。
要求掌握知识点和分析方法1.了解软硬件定时的原理;2.掌握8253的原理及应用。
启发与提问
1.软件定时与硬件定时的区别?教学手段
多媒体
作业布置思考题:
1.了解最新的硬件定时芯片的原理及其应用,如DS12887等。
主要参考资料
备注
长安大学讲稿(第十九讲)。
精品课件-ARM Cortex-A9多核嵌入式系统开发-第八章
第8章 DMA控制器
(4) 在DMA传送期间,DMAC发出内存和外设的读/写信号。 (5) 为了决定数据块传输的字节数,在DMAC内部必须有一个 “字节计数器”。在开始时,由软件设置数据块的长度,在 DMA传送过程中,每传送一个字节,字节计数器减1,减为0 时,该次DMA传输结束。 (6) DMA过程结束时,DMAC向CPU发出结束信号(撤消HOLD请 求),将总线控制权交还CPU。
第8章 DMA控制器
DMAC(Direct Memory Access Controller)是一 个自适应、先进的微控制器总线体系的控制器,它由ARM公 司设计并基于PrimeCell技术标准。DMAC提供了一个AXI接口 用来执行DMA传输,以及两个APB接口用来控制这个操作。 DMAC在安全模式下用一个APB接口执行TrustZone技术,其他 操作则在非安全模式下执行。图8.1是DMAC外部接口框图。
首先,送出存储器源的地址和控制信号,将选中内存单元的 数据暂存,然后修改“地址寄存器”和“字节计数器”的值, 接着,送出存储器目标的地址和控制信号,将暂存的数据通 过数据总线写入存储器的目标区域中,最后修改“地址寄存 器”和“字节计数器”的内容,当“字节计数器”的值减少 到零时便结束一次DMA传送。
第8章 DMA控制器
8.2 DMAC工作原理 DMAC内部包括了指令处理模块,使得DMAC本身能 够处理代码以控制DMA传送。这些指令代码存储在系统存储 器中,DMAC通过AXI接口获取这些代码。DMAC的8个通道都是 可配置的,且每个都支持单个并发线程的操作。除此之外, 还有一个管理线程、专门用来初始化DMA通道的线程。DMAC 使用了变长指令集,范围为1~6字节,并为每个通道提供了 单独的PC寄存器。
第8章 IO接口与DMA技术
这种编址方式的缺点是: 第一,单独I/O指令的功能有限,只能对端口数据进行 输入/输出操作,不能直接进行移位、比较等其他操作; 第二,由于采用了专用的I/O操作时序及I/O控制信号 线,因而增加了微处理器本身控制逻辑的复杂性。 微处理器Z80系列、Intel 80x86系列采用了这种编址方 式。
内存 8086 和总线 控制逻辑
(6) 内存把数据送数据总线
HOLD HLDA 地 址 总 线 数 据 总 线
接口
I/O 设备
(7) 接口锁存数据
(5) DMA请求得到确认 (2) 发总线请求 控 制 总 线 (3) 总线允许
(1) 接口准备就绪,发 DMA请求
DMA 控制器
(4) DMA控制器把地址送地址总线 (8) 撤销总线请求 (9) 8086收回总线控制权
8.1.2 I/O接口的基本结构
I/O接口的基本结构如图8.1所示。
I/O接口 数据总线 数据输入寄存器
数据输出寄存器
地址总线 外 状态寄存器 控制寄存器 中断控制逻辑 围 设 备
cpu
控制总线
图8.1 I/O 接口的基本结构
8.1.3 I/O端口的编址方式
输入输出接口包含一组称为I/O端口的寄存器。为了让 CPU能够访问这些I/O端口,每个I/O端口都需有自己 的端口地址(或端口号)。 在一个微型计算机系统中,如何编排这些I/O接口的端 口地址,称为I/O端口的编址方式。
(4) 能向存储器和I/O接口发出相应的读/写控制信号; (5) 能控制数据传送的字节数,控制DMA传送是否结束; (6) 在DMA传送结束后,能释放总线给CPU,恢复CPU对 总线的控制。
8第八章 DMA 8237控制器
0 0 0 0
0 1 0 1
A0~A7 A8~A15 A0~A7 A8~A15 W0~W7 W8~W15 W0~W7
写 读
0 0 0 0
1 1 0 0
0 0 1 1
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
0 1 0 1
W8~W15
第八章
DMA技术
8237通道寄存器寻址
通 道
信
寄存器 操作
号
CS IOR IOW A3 A2 A1 A0
内部先/ 后触发 器
数据总线
基本地 址寄存 器
写
2
当前地 址寄存 器
基本字 节计数 器 当前字 节计数 器
读
0 0 0 0 0 0 0 0
1 1 0 0 1 1 0 0
第八章
DMA技术
4.8237A各寄存器对应的端口地址(戴P268 )
表8-1 操作命令与有关信号的对应关系
CS
0 0 0
A3 A2 A1 A0
1 1 1 0 0 0 0 0 0 0 0 1
IOR IOW
0 1 1 1 0 0
命
令
读状态寄存器 写控制寄存器 写DMA请求标志寄存器
0
0 0
1
1 1
0
0 1
8237A在传送时有四种工作模式
① 单字节传送模式(戴P262 ) ② 块传送方式(戴P262 ) ③ 请求传送模式(戴P262)④级连传输模式 (戴P262)
在这种传送模式下,8237A可以进行连续的数据传送。当出现以下三种 情况之一时停止传送: a.字节计数器减到0,产生DMA传输结束信号,在线上输出一个有效脉冲。 b.由外界送来一个有效的信号 EOP 。 c.外界的DREQ信号变为无效(外设来的数据已送完)。
微机填空题题库-2014(终极版)
微机填空题题库-2014(终极版)填空题第1章微型计算机概述1.微型计算机中各部件是通过总线构成一个整体的.2.____微处理器_____是微型计算机的核心。
3.总线按照其规模、用途和应用场合可分为_数据总线_________、_地址总线_________和___控制总线_________。
4.微型计算机由_ CPU_______ 、存储器___ 、输入/输出接口_______ 和_系统总线______ 组成。
5.以微型计算机为主体,配上系统软件、应用软件和外设之后,就成了微型计算机系统。
6.微型计算机的主要性能指标有CPU的位数、____CPU的主频__、_内存容量和速度______________、__硬盘容量________第2章 16位和32位微处理器1.Intel 8086CPU是__16_____位微处理器,有__16___根数据总线和__20__根地址总线,存储器寻址的空间为_ 1MB______,端口寻址空间为_64KB____。
8088CPU有_8_根数据总线。
2.输入/输出端口有两种编址方法,既I/O端口与存储单元统一编址和I/O单独编址。
前一种编址的主要优点是功能强和指令灵活。
后一种编址的主要优点是指令运行速度快和增强了程序的可读性。
3.所谓最小模式,就是在系统中只有8086一个微处理器。
4.所谓最大模式是在系统中包含两个或多个微处理器。
(主 8086,其他称协处理器)5.8086工作在最大模式下,引脚MN/MX*接低(高/低)电平。
6.8086/8088CPU的数据线和地址线是以__分时复用_____ 方式轮流使用的。
7.8086中的BIU由___4_______个_______16_____位段寄存器、一个___16____位指令指针、___6_______字节指令队列、__20_____位地址加法器和控制电路组成。
8.8086/8088提供的能接受外中断请求信号的引脚是INTR 和NMI 。
第8章 可编程DMA控制器8237A解析
2) DMA传送控制信号引脚
IOR/IOW: 双向,被动态时接收CPU的读/写命令,主动态时向
I/O发读/写命令; MEMR/MEMW: 输出,主动态时向M发读/写命令; CS: 被动态时,由CPU选中该芯片进行读/写操作; DB0~DB7:被动态时作数据线,双向三态,主动态时双功能, 地址和数据分时复用:传送M地址的A8~15,M-M传输时作数据 输入/输出线; A0~A3:双向,被动态作端口选择线(16个可访问端口),主动 态发出M地址的A0~3; A4~A7:单向,主动态发出M地址的A4~7; ADSTB:地址选通,输出,用于将DB0~DB7发出的A8~15锁存 到外部地址锁存器;
内部寄存器组
有4个独立通道,每个通道有4个16位寄存器,一个工 作方式寄存器; 另有5个全芯片共用寄存器:命令,状态,请求,屏 蔽,暂存。
14
8.2 8237A内部结构及引脚
问题:芯片对外的联络方式如何?(引脚信号情况) 8-2-2 8237A的引脚 8237A是40引脚的双列直插式器件,由于它既可做主模块又
EOP RESET CS READY CLK AEN ADSTB
MEMR MEMW
地址暂存器 A15 ~A8 读/写缓冲器 当前地址 寄存器 (16×4) 当前字 计数器 (16×4)
I/O缓冲 A3~A 0 输出缓冲 A7~A4
16 读缓冲器 时 序 与 控 制 逻 辑 基地址 基字 寄存器 寄存器 4) (16× 4) (16×
可做从模块,故其外部引脚设置也具有一定的特点。如它的 I/O读写线和数据线是双向的,另外,还设置了存储器读/写 线和16位地址输出线。这些都是其他I/O接口芯片所没有的。
15
s3c2410_第八章DMA
8 DMA概述S3C2410A支持位于系统总线和外设总线之间的4个通道的DMA控制器。
每一个通道的DMA控 制器都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理下面四 种情况:1) 源器件和目的器件都在系统总线2) 源器件在系统总线,目的器件在外设总线3) 源器件在外设总线,目的器件在系统总线4) 源器件和目的器件都在外设总线DMA的主要优点是:可以不通过CPU的干预来实现数据的传输,DMA的运行可以通过软件、内 部外设或外部请求引脚信号的请求来初始化。
DMA 请求源每个通道的DMA控制器都能够从4个DMA 如果在DCON寄存器中H/W DMA请求模式被选中,请求源中选择一个 DMA 请求源。
(注意:如果 S/W 请求模式被选中,中断请求源的设置没有 任何意义)表 81 列出了每一个通道的 4 个 DMA 请求源。
Table 81. 每一个通道的DMA请求源Source0 Source1 Source2 Source3 Source4 Ch0 nXDREQ0 UART0 SDI Timer USB device EP1 Ch1 nXDREQ1 UART1 I2SSDI SPI0 USB device EP2 Ch2 I2SSDO I2SSDI SDI Timer USB device EP3 Ch3 UART2 SDI SPI1 Timer USB device EP4在这里,nXDREQ0和nXDREQ1表示两个外部源(外部设备),I2SSDO和I2SSDI分别表示IIS 的发送和接收。
DMA 工作过程DMA 使用三态 FSM(有限状态机)进行操作,以下用三个步骤描述:State1. 初始状态,DMA 等待DMA 请求。
若请求到达,进入状态 2。
此阶段,DMA ACK 和 INT REQ 都为 0。
dma控制器名词解释
dma控制器名词解释
DMA(Direct Memory Access)控制器是一种计算机硬件设备,
用于实现直接内存访问。
它充当了主机CPU和系统内存之间的数据
传输中介,可以在不占用CPU时间的情况下,直接将数据从外设传
输到内存,或者从内存传输到外设。
DMA控制器的主要作用是减轻CPU的负担,提高数据传输的效率。
传统上,当需要进行数据传输时,CPU需要通过程序控制来完
成数据的读取或写入操作,这会消耗大量的CPU时间和资源。
而有
了DMA控制器,数据传输可以在CPU的干预下进行,CPU只需进行
一次初始化设置,之后可以将控制权交给DMA控制器,从而释放出
更多的CPU资源来处理其他任务。
DMA控制器通常与外设设备(如硬盘、网络适配器、显卡等)
相连,通过DMA通道进行数据传输。
控制器通过直接访问系统总线,绕过了CPU,实现了高速的数据传输。
在数据传输过程中,DMA控制
器会负责处理数据的读取、写入、校验和中断等操作,以确保数据
的可靠性和完整性。
DMA控制器的工作原理大致如下,首先,CPU通过DMA控制器的
寄存器设置传输的起始地址、目的地址、数据长度等参数。
然后,DMA控制器根据这些参数控制总线的访问,直接将数据从外设读取到内存,或者从内存写入到外设。
在数据传输完成后,DMA控制器可以触发中断信号,通知CPU数据传输已完成。
总之,DMA控制器是一种重要的硬件设备,它可以提高数据传输的效率,减轻CPU的负担,实现高速、可靠的数据传输。
通过直接访问内存,它允许外设设备与内存之间进行直接的数据传输,提升系统的整体性能。
DMA控制器专业知识讲座
8.3 8237A旳工作模式和模式寄存器
1)工作模式:
① 单字节传播模式 ② 块传播模式 ③ 祈求传播模式
每完毕一种字节就释放 总线,然后P时中断传播。
每传完一种字节, 对DREQ测试。
④ 级联传播模式
第8章 DMA控制器
8.1 DMA控制器概要
DMA传送方式
为了克服程序控制传送旳不足:
外设←→CPU→←存储器
用专用接口电路直接和存储器进行数据传
送。
外设←→存储器
直接存储器存取DMA方式
特点:DMAC取得总线旳控制权,而且提供内 存/外设旳地址和读写控制信号
8.1 DMA控制器概要
① 作为从模块工作时 作为一种一般I/O接口与CPU通信。 CPU对它进行读写操作,以便初始化 或读取状态。
模式寄存器旳格式
8.4 8237A旳工作时序
8.5 8237A旳控制寄存器和状态寄存器
1、控制字:控制DMA控制器全部通道旳操作方式。
8.5 8237A旳控制寄存器和状态寄存器
2、状态字:
8.5 8237A旳控制寄存器和状态寄存器
3、祈求字和屏蔽字 DMA祈求寄存器旳格式 :
软件设置DMA 祈求,EOP信 号清除标志
8.5 8237A旳控制寄存器和状态寄存器
屏蔽寄存器旳格式
单个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
综合屏蔽命令旳格式
4个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
4、复位命令也叫综合清除命令,它旳功能
和RESET信号相同。使控制寄存器、状态 寄存器、DMA祈求寄存器、暂存器以及先/ 后触发器都清0,而使屏蔽寄存器置位。
DMA 控制器介绍
下页图是选择型DMA控制器的逻辑框图,它在物理上可以 连接多个设备,而在逻辑上只允许接—个设备.换句话说, 在某一段时间内只能为一个设备服务.
选择型DMA控制器工作原理与前面的简单DMA控制器基本 相同.除了前面讲到的基本逻辑部件外,还有一个设备号 寄存器.数据传送是以数据块为单位进行的,在每个数据 块传送之前的预置阶段,除了用程序中I/O指令给出数据块 的传送个数、起始地址、操作命令外,还要给出所选择的 设备号.从预置开始,一直到这个数据块传送结束,DMA 控制器只为所选设备服务.下—次预置再根据I/O指令指出 的设备号,为另—选择的设备服务.
工作。这些工作包括校验送入内存的数据是否正确;决定
继续用DMA方式传送下去,还是结束传送;测试在传送过
• 基本DMA控制器与系统的连接方式:
• (1)公用的DMA请求方式;(2)独立的DMA请求方式,
.
8
四、选择型和多路型DMA控制器
前面介绍的是最简单的DMA控制器,一个控制器只控制一 个I/O设备.实际中经常采用的是选择型DMA控制器和多 路型DMA控制器,它们已经被做成集成电路片子.
2.DMA DMA的数据块传送过程可分为三个阶段:传送前预处理;
预处理 由CPU执行几条输入输出指令,测试设备状态, 向DMA控制器的设备地址寄存器中送入设备号并启动设备, 向内存地址计数器中送入起始地址,向字计数器中送入交 换的数据字个数。在这些工作完成后,CPU继续执行原来
正式传送 当外设准备好发送数据(输入)或接受数据(输出) 时,它发出DMA请求,由DMA控制器向CPU发出总线使 用权的请求(HOLD)。下页图示出了停止CPU访内方式的 DMA传送数据的流程图。
DMA技術中,數據的傳送是在DMA控制器(DMAC)的控 制下進行的。
DMA控制器工作原理
DMA控制器工作原理DMA(Direct Memory Access)控制器是一种计算机设备,用于在外设和主内存之间传输数据。
它的工作原理是通过旁路主处理器,直接在外设和内存之间进行数据传输,从而减少对主处理器的干预。
1.初始化:主处理器通过向DMA控制器发送初始化命令,设置传输参数和传输方向等。
DMA控制器根据这些参数进行设置,以确定传输的方式和范围。
2.请求DMA通道:外设在需要与主内存进行数据传输时,向DMA控制器发送请求。
DMA控制器接收到请求后,暂停主处理器的操作,开始控制数据传输。
3.确认DMA通道:DMA控制器检查请求,并通过向外设发送确认信号来确保通道可用。
如果通道不可用,DMA控制器将外设的请求排队,并在通道可用时进行传输。
4.寻址:DMA控制器从外设中读取数据的地址,并从主内存中读取或写入数据的地址。
这些地址将用于确定传输的起始位置和目的位置。
5.数据传输:DMA控制器将数据从外设读取到内存,或者从内存写入到外设。
数据传输过程中,DMA控制器通过DMA总线直接与内存进行通信,跳过主处理器。
6.中断通知:当传输完成时,DMA控制器会向主处理器发送中断请求,以便主处理器可以执行与传输相关的操作。
从以上步骤可以看出,DMA控制器在传输数据时,与主处理器并行工作,极大地提高了数据传输效率。
相比由主处理器执行的数据传输,DMA 控制器具有以下优势:1.减少主处理器负担:数据传输由DMA控制器完成,主处理器无需处理大量数据传输的细节和中断请求,从而减少了主处理器的负担,提高了系统的整体性能。
2.提高数据传输效率:DMA控制器通过直接访问内存,跳过主处理器的介入,减少了数据传输的延迟,提高了传输的效率。
3.支持多种外设:DMA控制器可以同时支持多种外设,通过适当的配置,可以使多个外设同时进行数据传输。
4.支持高速数据传输:由于DMA控制器是专门设计用于数据传输的设备,其硬件结构和数据通路优化,能够支持高速数据传输,提高系统的数据吞吐量。
(精)第8章 可编程DMA控制器8237A
和当前字计数器,以及一个6位的工作方式寄存器。片内还
各有一个可编程的命令寄存器、屏蔽寄存器、请求寄存器、
状态寄存器和暂存寄存器,以及不可编程的字数暂存器和地
址暂存器等。
2. 8237A的引脚 8237A是一种具备40个
引脚的双列直插式DIP封 装的芯片,如图8-2所示。
8.3 8237A的工作方式 8237A在系统中可以有两种功能:一种功能是系统总线的主 控者,这是它工作的主方式。在取代CPU控制DMA传送时,它 应 提供存储器的地址和必要的读写控制信号,数据是在I/O设备 与存储器之间通过数据总线直接传递;另一种功能是在成为主控 者之前,必须由CPU对它编程以确定通道的选择、数据传送的模 式、存储器区域首地址、传送总字节数等等。在DMA传送之后 ,也有可能由CPU读取DMA控制器的状态。这时8237A如同一般 I/O端口设备一样,是系统总线的从设备,这是8237A工作的从方 式。
8.5 8237A的编程及应用
1. 8237A编程的一般步骤 在进行DMA传输之前,CPU要对8237A进行初始化编程, 设 定工作模式及参数等。通常,其编程内容主要包括以下几 步: 1 输出总清除命令,使8237A处于复位状态,做好接收 新命令的准备; 2 根据所选通道,写入相应通道的基地址寄存器和当前 地址寄存器的初始值; 3 写入基字节计数寄存器和当前字节计数寄存器的初始 值; 4 写入方式控制寄存器,以确定8237A的工作方式和传 送类型; 5 写入屏蔽寄存器; 6 写入命令寄存器,以控制8237A的工作; 7 写入请求寄存器。
DMA EQU 00H OUT DMA+0DH,AL MOV AX,6000H OUT DMA+00H,AL MOV AL,AH OUT DMA+00H,AL MOV AX,0400H DEC AX OUT DMA+01H,AL MOV AL,AH OUT DMA+01H,AL
计算机接口技术第8章DMA接口技术
更强的可扩展性
更完善的安全性和可靠性 保障
随着系统规模的扩大和设备数 量的增加,DMA接口技术将向 更强的可扩展性发展,以支持 更多设备的同时传输。
在数据传输过程中,安全性和 可靠性至关重要。未来的DMA 接口技术将更加注重安全性和 可靠性的保障,提供更加完善 的数据传输安全机制和错误处 理机制。
06 DMA接口技术的应用实 例
状态机
控制DMA传输的开始、暂停和结束 等操作,确保数据传输的正确性和可 靠性。
控制寄存器
存储DMA传输的配置和控制信息, 如传输方向、数据长度等。
错误检测与处理逻辑
用于检测数据传输过程中的错误,如 地址错误、数据校验错误等,并进行 相应的处理。
DMA数据传输的硬件支持
数据缓冲区
用于暂存DMA传输的数据,确保数据在传 输过程中的完整性和正确性。
中断的清除与返回
在中断服务程序执行完毕后,需要清除中断标志位,以便于下一次的中 断处理。同时,中断处理程序需要返回,以便于CPU继续执行后续的指 令。
05 DMA接口技术的优缺点 分析
DMA接口技术的优点
高传输速率
DMA接口技术能够实现高速数据传输, 显著提高数据吞吐量,满足大规模数据
处理的需求。
DMA接口技术的应用场景
数据采集
在实时数据采集系统中,DMA接口技术可以快速 传输大量数据到内存中,便于后续处理和分析。
高速网络通信
在高速网络通信中,DMA接口技术可以用于快速 传输数据,提高网络通信的效率。
音视频处理
在音视频处理中,DMA接口技术可以用于快速传 输大量数据,提高音视频处理的效率。
查询方式
在查询方式下,CPU会不断查询DMA接口的状态,以了解数据传输是否完成。 如果数据传输未完成,CPU需要等待;如果数据传输完成,CPU可以继续执行其 他任务。这种方式不需要编写复杂的程序,但会占用CPU的时间。
《计算机接口技术》(函授)部分习题参考解答
《计算机接口技术》部分习题参考解答第4章 PC机的总线结构和时序4-1 答:总线周期是指CPU从存储器端口或I/O端口存取一个字节所需的时间。
8088/8086基本总线周期由4个时钟周期组成。
IBM PC/XT/A T中,CPU时钟频率是4.77MHz,时钟周期是210ns。
XT机的一个基本总线周期是4个时钟周期,一个输入或输出周期是5个时钟周期。
4-2 答:在T1状态下,8088/8086CPU数据/地址线上是地址信息。
用ALE信号可将地址信息锁存起来。
数据信息在T2开始以后送出。
XT机的AD7~AD0在ALE下降沿控制锁存后送系统地址总线A7~A0。
A19/S6~A16/S3经ALE下降沿控制锁存后送系统地址总线A15~A8;CPU的AD7~AD0在8288发出的DT/!R(数据收发控制信号)和DEN(数据允许)信号控制下,经双向总线驱动器连接到系统数据总线D7~D0,这样,实现了地址和数据及状态信号的分离,使地址信号和数据信号同时分别出现在系统地址总线和数据总线上。
(注意:这里用符号“!”表示逻辑非,对于信号则表示低电平有效,下同。
)4-3 答:PC/XT机中8088的MN/!MX引脚接地,因此工作在最大模式。
8088最大模式系统由8088CPU、8284时钟信号发生器和8288总线控制器组成。
总线控制器发出一些存储器和输出控制信号,接入系统总线后的名称为!IOW、!IOR、!MEMW、!MEMR、ALE信号,此外它还发出中断响应信号!INTA、DT/!R和DEN 等信号。
这些信号是由CPU连接8288的S2、S1、S0三线的电平决定的。
4-4 答:8284时钟发生器的作用是将晶振信号分频,向8088及计算机系统提供符号定时要求的各种时钟信号,并产生准备好和系统复位信号。
CLK信号:4.77MHz,提供XT机时钟频率。
PCLK信号:2.38MHz,分频后供8253使用。
OSC信号:14.31818MHz,供显示器使用。
DMA控制器
9.何谓DMA方式? DMA控制器可采用哪几种方式与CPU分时使用内存?
【解】直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。DMA控制器从CPU完全接管对总线的控制。数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA控制器采用以下三种方式:
①停止CPU访问内存:当外设要求传送一批数据时,由DMA控制器发一个信号给CPU。DMA控制器获得总线控制权后,开始进行数据传送。一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
DMA控制器在微机系统中起什么作用?它的工作特点如何
悬赏分:0 | 提问时间:2006-11-14 16:03 | 提问者:繌苽Deじ☆ve
推荐答案
直接存储存取方式(DMA)是在存储器与输入输出设备间直接传送数据,是一种完全由硬件完成输入输出操作的方式。
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。
利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。
在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的适当地址。DMA控制器将这些操作简化为一步,它操作总线上的控制信号,使写字节一次完成。这样大大提高了计算机运行速度和工作效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2.4 8237A方式控制字
2.当前地址寄存器
当前地址寄存器为16位,用于存放DMA传送访问的存储器地址。 该寄存器的初值是在CPU编程时和基地址寄存器同时写入的。 在DMA传送时,每传送一个字节,寄存器的内容自动加1或减1, 以提供下一次传送的地址值。 当前地址寄存器的内容可由CPU以连续两字节方式写入或读出。 若设置成自动预置方式,则在有效,DMA传送结束后,将基地址寄存 器的内容重新赋给当前地址寄存器,恢复其初值。
8.1.1 直接存储器存取DMA概念
8.1.2 DMA控制器组成与功能
一个DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电 路,这个接口电路是在中断接口的基础上再加DMA机构组成习惯上将DMA方式的接 口电路称为DMA控制器。
DMA控制器在存储器与I/O设备之间传送数据时,是具有控制作用器件,DMA 控制器具有对存储器和I/O端口存取数据的能力。
8.状态寄存器
状态寄存器为8位寄存器,用于存放8237A内部的状态信息,提供哪些 通道已到终止计数,哪些通道有DMA请求等状态信息供CPU使用,只能由 CPU读取。该寄存器只能读出,不能写入。
8.2.4 8237A方式控制字
9.暂存寄存器
暂存寄存器为8位寄存器。在存储器至存储器传送方式中,用于 暂时存放由源地址单元读出的数据,再由暂存器写至目的单元。在一 个字节传送完后,暂存器保存着刚传送的字节。RESET信号清除暂存 寄存器的内容。
8.2.4 8237A方式控制字
4.工作方式寄存器
工作方式寄存器用于控制某个通道的DMA传送方式和传送方向。 D7D6:这两位决定DMA传送方式。分为请求工作方式、单字节方式、成组传送 方式和级联方式四种。
8.2.4 8237A方式控制字
5.命令寄存器
命令寄存器为8位寄存器,4个通道公用。用于控制8237A的操作,其内容 由CPU写入,进行初始化编程或写入新的命令,而用复位信号RESET或软件清除 命令来清除它的内容。该寄存器只能写,不能读。
8.1.3 DMA操作步骤
3.DMA传送结束
DMA传送完毕时,可利用字 节计数器为0的信号由DMA控制 器发出一信号使微处理器中用 作总线请求的引线HOLD端被禁 止,从而结束DMA控制。
8.2 可编程DMA控制器8237A
8.2.1 8237A主要特性 8.2.2 8237A内部结构 8.2.3 8237A的引脚及功能 8.2.4 8237A方式控制字 8.2.5 内部寄存器的寻址 8.2.6 软件命令
8.3.1 8237A初始化编程 8.3.2 8237A应用实例
8.3.1 8237A初始化编程
初始化编程主要包括:
(1)输出主清除命令,使8237A处于复位状态,以接收新命令; (2)写入工作方式寄存器,以确定8237A工作方式和传送类型; (3)写入命令寄存器,以控制8237A的工作; (4)根据所选通道,输入相应通道当前地址寄存器和基地址寄存 器的初始值; (5)输入当前字节计数器和基字节数寄存器的初始值; (6)写入屏蔽寄存器; (7)写入请求寄存器,便可由软件启动DMA传送。否则,经过(1) -(6)步编程后,由通道DREQ启动DMA传送的过程。
CMP BX, AX ;读出的与写入的比较
JE LP2
;相等,则转LP2,转入下一寄存器
HLT
;不相等,则出错,系统停止
LP2:INC DX
;寄存器口地址+1,指向下一个寄存器
MOV DX, DMA ;FF写入0-3号通道的基地址或字节数寄存器
8.3.1 8237A初始化编程 【例8-1】
LP1:OUT DX, AL ;写入低8位
OUT DX, AL ;再写入高8位
IN AL, DX ;读出写入的低8位
MOV AH, AL ;保存到AH
IN AL, DX ;读出写入的高8位
8.2.4 8237A方式控制字
7.屏蔽寄存器
用来禁止或允许通道的DMA请求。当屏蔽位置位时。禁止本通道的DREQ进入。 若通道编程为不自动预置,则当该通道遇到 EOP 信号时,它所对应的屏蔽位置 位。
屏蔽字有两种格式,即写1位屏蔽位的屏蔽字和写4位屏蔽位的屏蔽字。
8.2.4 8237A方式控制字
MOV AL, 04
;命令字,禁止8237A工作
OUT DMA+08, AL
;命令字送命令寄存器
OUT DMA+0DH,AL
;总清命令,8237A进入空闲周期
;全“1”检测
MOV AL, 0FFH
BEG:MOV BL, AL ;暂存AX到BX
MOV BH, AL
MOV CX, 8 ;循环测试8个寄存器
8.2.4 8237A方式控制字
3.当前字节计数器
当前字节计数器为16位。 在DMA传送中,当前字节计数器保存当前所要传送的字节数,其初 值是CPU编程时和基字节数寄存器同时写入的。每传送一个字节,寄存 器的内容减1,减至0时,将产生一个终止计数脉冲输出。 该寄存器的内容可由CPU以连续二字节方式写入或读出。若设置成 自动预置方式,在DMA传送结束,产生 EOP 有效信号后,将基字节数 寄存器的内容置新赋给当前字节计数器,恢复其初值。
8.2.4 8237A方式控制字
5.命令寄存器
旋转优先权示意
8.2.4 8237A方式控制字
6.请求寄存器
DMA请求可由I/O设备发出,也可由软件产生。请求寄存器是用于由软件来 启动DMA请求的。软件请求DMA传输操作必须是成组传输方式,并且在传送结束 后,EOP 信号会清除相应请求位。
每执行一次软件请求DMA传送,都要对请求寄存器编程一次。RESET信号清 除整个请求寄存器。软件请求位是不可屏蔽的。该寄存器只能写,不能读。
8.3.1 8237A初始化编程 【例8-1】
【例8-1】初始化8237A。对PC系列的DMA控制器8237A进行检测用。测试程
序对4个通道的8个16位寄存器先后写入全“1”和全“0”,再读出比较其是否一
致。若不一致,则出错,停机。(设程序中的变量DMA地址是00H)。
;检测前,禁止DMA控制器工作
(2)若CPU响应请求,则发出DMA响应信号后,DMA控制器能接管对总线 的控制,进入DMA操作方式。
(3)DMA控制器具有存储器寻址功能,并能自动修改地址指针。 (4)根据数据传送的方向,由DMA控制器向外设或存储器发出相应的读 或写等控制信号。 (5)DMA控制器控制传送数据的字节数,并根据传送字节数的状态判断 DMA传送是否结束。 (6)当数据传送完成后,DMA控制器发出DMA操作的结束信号,释放总线 控制权给CPU,使CPU恢复正常工作。
8.2.5 内部寄存器的寻址
8.2.6 软件命令
对于内部寄存器,8237A还提供了软件命令以清除某些 寄存器。
软命令就是只要对特定的地址进行一次写操作命令就生 效,而与写入的具体数据无关。
软件命令共有三条:
1、主清除命令 2、清字节指针触发器命令 3、清屏蔽寄存器命令
8.3 8237A程序设计
DMA控制器(简称DMAC)是专用于控制数据的输入和输出的硬件。 DMA方式可实现:
数据存储器RAM → I/O端口的DMA读传送、I/O端口 → 数据存储器RAM的DMA写传送、数据存储器RAM → 数据存储器RAM的存储单元传送。 在DMA传送期间,CPU释放系统总线的控制权,由DMA控制器接管。在 DMA控制器的控制下,数据直接在存储器和I/O设备之间传送。 DMA方式是采用请求-响应方式工作,它的优先权高于中断方式的优 先级别。
8.2.2 8237A内部结构
8.2.2 8237A内部结构
1.控制逻辑单元
定时和控制逻辑单元 命令控制单元 优先权控制逻辑单元
2.缓冲器
两个I/O缓冲器 一个输出缓冲器
8.2.2 8237A内部结构
3.内部寄存器
8.2.3 8237A的引脚及功能
8.2.4 8237A方式控制字
8237A每个通道有5个寄存器 工作方式寄存器 基地址寄存器 当前地址寄存器 基字节数寄存器 当前字节数计数器
8.3 8237A程序设计 8.3.1 8237A初始化编程 8.3.2 8237A应用实例
8.1 DMA基本概念
8.1.1直接存储器存取DMA概念 8.1.2 DMA控制器组成与功能 8.1.3 DMA操作步骤
8.1.1 直接存储器存取DMA概念
DMA是用硬件实现计算机内存储器与I/O设备之间直接进行数据传送, 而不再通过CPU进行传送,传送期间也无须CPU干预。
8.1.3 DMA操作步骤
2.DMA数据传送
DMA数据传送步骤如下(以输入操作为例): (1)外设发出选通脉冲,把输入数据送入数据缓冲寄存器,并使DMA请求触 发器置“1”; (2)DMA请求触发器向控制/状态端口发出准备就绪信号,同时向DMA控制器 发出DMA请求信号; (3)DMA控制器向CPU发出HOLD请求; (4)CPU在完成了现行机器周期后,即响应DMA请求,发出HLDA信号,并由 DMA控制器发出DMA响应信号,使DMA请求触发器复位。此时,CPU浮动它的总线, 使之进入高阻状态,于是由DMA控制器或相应的外围设备接管系统总线; (5)DMA控制器控制系统总线,发出存储器地址,并在数据总线上给出数据, 随后在其R/W线上发出“读”或“写”的命令; (6)数据沿着数据总线直接在I/O设备与存储器之间传送; (7)每传送一个字节,DMA控制器的地址寄存器加1,从而得到下一个地址, 字节计数寄存器则减1。如此循环,直到字计数器的值为0,数据传送完毕。
第8章 DMA控制器
8.1 DMA基本概念 8.1.1直接存储器存取DMA概念 8.1.2 DMA控制器组成与功能 8.1.3 DMA操作步骤
8.2 可编程DMA控制器8237A 8.2.1 8237A主要特性 8.2.2 8237A内部结构 8.2.3 8237A的引脚及功能 8.2.4 8237A方式控制字 8.2.5内部寄存器的寻址 8.2.6软件命令