知ing

微型计算机接口技术及应用(第二版)

刘乐善 编 / 中国工业出版社

_南音少女 上传

查看本书

1采用DMA方式为什么能实现高速传送?

DMA传送方式能够实现高速数据传送主要有两个原因:

(5) 它为两个存储介质提供了直接传输通道,不象CPU控制的传送那样

要通过内部寄存器中转。

(6) 用硬件取代了软件,它直接发出对两个介质的选中信号及其读写控

制信号,而不是通过执行指令来控制传送

2.DMA方式传送的一般过程如何?

DMA方式在传送之前,要对DMA控制器进行初始化编程,设置诸如传送方向、内存首址、数据块大小等信息,而传送过程一般可分为4个阶段:

(7) 申请阶段:外设向DMA控制器发出DREQ信号请求DMA服务,

DMA控制器向CPU发出HRQ信号,请求占用总线

(8) 响应阶段:CPU向DMA控制器发出HLDA信号,将总线控制权让

给DMA控制器,DMA控制器接管总线

(9) 数据传送阶段:DMA控制器发出DACK信号,选中I/O设备;发

出内存地址,选中存储单元,并根据初始化时设定的传送方向给I/O设备和存储器发出读写控制信号,数据由源介质直接传送到目的介质

(10) 传送结束阶段:传送了指定长度的数据块后,或收到外部强制结束

的控制信号(EOP)时,外设、DMA控制器相继撤除DREQ、HRQ信号,CPU撤除HLDA信号,总线控制权归还CPU。

3.什么是DMA方式的操作类型和操作方式?DMA方式一般有哪几种操作类型和操作方式?

DMA方式的操作类型是指进行DMA操作的种类,一般有3种:

(11) 数据传送:将源介质中的数据传送到目的介质中,包括DMA读

(MI/O)和DMA写(I/OM)

(12) 数据校验:对数据块内部的每个字节进行某种校验,而不进行数据

传送(不发出读写控制信号)

(13) 数据检索:也不进行数据传送,而是在指定的内存区内查找某个关

键字节或某几个关键数据位是否存在

DMA方式的操作方式是指在进行DMA操作时,每次所操作的字节数,不同的操作方式释放总线的条件不同。操作方式一般有以下3种:

(1) 单字节方式(单一方式):每次取得总线控制权只操作一个字节就释

放总线,下个字节的操作要重新申请

(2) 连续方式(块字节方式):只要DMA操作一开始,就一直占用总线,

直到全部操作完毕。在操作过程中,即使DMA请求信号无效,也只是暂停操作,将总线暂时挂起,而不释放,待DREQ有效后再继续操作

(3) 请求方式(询问方式):这种方式是否释放总线取决于DREQ信号,

若DREQ保持有效,则占用总线,进行DMA操作;若DREQ变为无效,就释放总线

4.DMA控制器在微机系统中有哪两种工作状态?其工作特点如何?

DMA控制器在微机系统中有主动工作状态和被动工作状态。

主动工作状态:在DMA操作期间,DMAC控制总线,控制数据在两个存储介质之间直接传送

被动工作状态:非DMA操作期间,DMAC受CPU的控制,此时它主要有

两个工作,一是检测片选信号,看CPU是否对它进行读写控制;二是检测DMA请求信号,看外设是否有DMA操作请求。

5.DMA控制器的地址线和读写控制线与一般的接口控制芯片的相应信号线有什么不同?

由于DMA可以作为系统的主控器,所以在地址线和读写控制线的设置上与一般的接口控制芯片有所不同,主要体现在以下几个方面:

(1) 地址线中的端口选择信号线是双向的,被动态时接收CPU发出的低

位地址,实现片内端口选择;主动态时发出内存地址的低位。如:8237A-5的A0~A3

(2) 除了端口选择信号线,还有其他的地址线,输出方向,用于主动态

发出内存地址。如:8237A-5的A4~A7(发出内存地址的A4~7),DB0~7(送出内存地址的A8~15)

(3) 读写控制信号中的 IOR 、IOW 是双向的,被动态时接收CPU的

读写信号;主动态时向I/O发出读写控制信号

(4) 除了IOR 和 IOW 以外,读写控制信号还设置了MEMW MEMR ,

输出方向,用于在主动态时向存储器发出读写控制信号

6.可编程DMA控制器8237A-5的操作功能由它的寄存器内容来体现,请指出它有哪些寄存器,其功能如何?

8237A-5的内部寄存器有以下几种:

(14) 基地址寄存器:16位,每个通道都有。寄存内存首址,写入后不变,

自动预置方式中用于为当前地址寄存器重新装入初值

(15) 当前地址寄存器:16位,提供当前操作的内存单元的地址,具有自

动修改的功能

(16) 基字节计数器:16位,每个通道都有。寄存操作数据块的大小(N-1),

写入后不变,自动预置方式中用于为当前字节计数器重新装入初值

(17) 当前字节计数器:16位,指示当前还有多少字节没有操作,具有自

动减1的功能

(18) 命令寄存器:用于设置该片8237A-5的工作条件及相关信息

(19) 状态寄存器:寄存各通道是否已完成DMA操作及是否有未处理的

DMA请求

(20) 请求寄存器:用于软件发出DMA请求

(21) 屏蔽寄存器:用于控制各通道是否允许DMA请求

(22) 方式寄存器:用于设置各通道具体的工作方式

(23) 暂存寄存器:在存储器到存储器的数据传送方式中,用于暂存由源

单元中读出的数据

7.什么叫软命令?8237A-5有几个软命令?

所谓软命令就是只要对特定的地址进行一次写操作(即 CS 、IOW 及内部寄存器地址同时有效),命令就生效,与写入的具体数据无关。

8237A-5有3条软命令:清先/后触发器软命令、总清除软命令、清屏蔽寄存器软命令。

8.什么是DMA页面地址寄存器?它的作用如何?

由于DMAC8237A-5只能提供内存地址的低16位,而实际中内存地址可能是20位、24位或32位的,等等,这样就要在DMA系统中配置寄存器组,由这些寄存器组提供存储器的高位地址,这些寄存器组就是页面地址寄存器。它

的作用是提供存储单元的页面地址,即高位地址。

9.采用DMA方式在内存与I/O设备之间传送数据时,DMA控制器8237A-5怎样实现对I/O设备的寻址?

DMA控制器8237A-5提供DACK信号给I/O设备,取代其地址选择信号,使申请DMA传送并被允许的设备在DMA传送过程中一直是有效设备。即:用DACK信号取代了芯片选择和片内端口选择信号。

10.DMA控制器8237A-5在系统中如何生成访问内存的有效地址?

内存地址是通过地址线传送的,如在PC机系统中,20位物理地址由几部分构成:

A0~7:由8237A-5的A0~7引脚直接发出

A8~15:由8237A-5的DB0~7引脚发出,然后由外部地址锁存器锁存后提供 A16~19:由页面地址寄存器74LS670提供A4~7

11.IBM-PC系列微机中DMA系统的配置情况有哪两种?

在IBM-PC系列微机中DMA系统有单片DMAC和双片DMAC两种配置。 单片系统:支持4个通道的8位数据传送。每个通道有64KB的计数能力,有一个能提供4位地址的页面地址寄存器,所以寻址能力达到1MB

双片系统:支持7个通道的数据传送,其中3个通道支持8位传送,4个通道支持16位传送。每个通道有64KB的计数能力,系统配置了一个能提供8位地址的页面地址寄存器,所以寻址能力达到16MB。

12.用户利用PC微机的DMA系统资源进行DMA传送时,是否要求用户对8237A-5的16个寄存器全部进行编程?为什么?一般需要对8237A-5的哪几个寄存器进行编程?

用户利用PC微机的DMA系统资源进行DMA传送时,并不需要也不能对16个寄存器全部进行编程。因为系统在ROM-BIOS的初始化测试阶段已对8237A-5的命令寄存器进行了设置,不允许用户进行修改。

用户在使用时一般只要根据需要对方式寄存器、基(当前)地址寄存器、基(当前)字节计数器、屏蔽寄存器(单个通道)进行编程,并用软命令清除先/后触发器即可。


查看更多