微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第09章 DMA控制接口.ppt

微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第09章 DMA控制接口.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 DMA控制接口 9.1 DMA控制器概述 9.2 可编程DMA控制器8237A 第9章 DMA控制接口 为了实现CPU与I/O设备之间的数据传送,通常采用程序控制方式、中断方式和DMA方式这样三种数据传送方式。 程序控制方式和中断方式 程序控制方式和中断方式都需要CPU作为中介: 外设 CPU 内存 两个含义: 1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度—解决:DMA传输 9.1.1、DMA传送的特点 1. DMA传送的特点: 外设 内存 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。 优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率 DMA传送类型 DMA读——把数据由存储器传送到外设 由MEMR*有效从存储器读出数据,由IOW*有效把这一数据写入外设 DMA写——把外设输入的数据写入存储器 由IOR*有效从外设输入数据,由MEMW*有效把这一数据写入存储器。 DMA检验——空操作 8237A不进行任何检验 外设可以进行DMA校验 存储器和I/O控制线保持无效,不进行传送 DMA传送方式通常用来高速传送大批量的数据块。如: ? 硬盘和软盘I/O; ? 快速通信通道I/O; ? 多处理机和多程序数据块传送; ? 在图像处理中,对CRT屏幕送数据; ? 快速数据采集; ? DRAM的刷新操作。 2、DMA控制器的基本功能 ①能接收外设的DMA请求,并能向CPU发出总线保持请求,以便取得总线使用权。 ②能接收CPU的总线保持允许信号,并能实行对总线的控制。 ③在获得总线控制权后,能提供访问存储器和I/O端口的地址,并在数据传送过程中能够自动修改地址指针,以便指向下一个要传送的数据单元。 ④在DMA期间向存储器和I/O设备发出所需要的控制信号,如读/写控制信号等。 ⑤能控制数据传送过程的进行和结束。 ⑥当DMA传送结束时,能向CPU发出DMA结束信号,以便CPU恢复对总线的控制。 3、DMA控制器的基本组成 ①地址寄存器 ②字节计数器 ③控制寄存器 ④状态寄存器 ⑤内部定时与控制逻辑 9.1.2 DMA传送机制 DMA传送流程 DMAC占用总线控制权的方法 (1)周期挪用 (2)周期扩展 (3)CPU停机 3、DMA控制器在系统中的地位 9.2 可编程DMA控制器8237A 9.2.1 8237A的引脚信号和内部结构 8237A的主要特性 ① 具有4个独立的DMA通道,每个通道都可独立地进行初始化。 ② 每个通道的DMA请求都可以被允许或禁止。 ③ 每个通道的DMA有不同的优先级,既可以是固定优先级,也可以是循环优先级。 ④ 每个通道进行一次传送的最大字节数为64K。 ⑤ 提供4种传送方式:单字节传送方式、数据块传送方式、请求传送方式和级联传送方式。 ⑥多个8237A芯片可以级连,扩展通道数 8237A 的内部寄存器 1. 工作方式寄存器的格式 9.2.2 8237A的寄存器格式及其编程命令 【例9.1】PC系列微机软盘读/写操作选择DMA通道2,单字节传送,地址增1,不用自动预置,其读、写、校验操作的方式如下: 写操作=46H ;读盘,DMA写 读操作=4AH ;写盘,DMA读 校验操作=42H ;校验盘,DMA校验 2. 控制寄存器的格式 【例9.2】PC微机中的8237A按照如下要求工作:禁止存储器到存储器传送,正常时序,滞后写入,固定优先级,允许工作,DREQ高有效,DACK低有效,控制字为00H,将此命令写入控制寄存器的程序段为: MOV AL,00H ;控制字 OUT 08H,AL ;控制口地址08H 3. 请求寄存器 存放软件DMA请求状态 除硬件DMA请求外,当工作在数据块传送方式时也可以通过软件发出DMA请求 若是存贮器到存贮器传送,则必须由软件请求启动通道0 3. 请求寄存器的格式 例如,如果用软件请求使用通道1进行DMA传送,则向请求寄存器写入05H代码即可。 MOV AL,05H ;请求字 OUT 09H,AL ;请求寄存器端口地址09H 4. 屏蔽寄存器的格式 控制外设硬件DMA请求是否被响应(为0允许

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档