- 1、本文档共83页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. DMA 接口功能 (1) 向 CPU 申请 DMA 传送 (2) 处理总线 控制权的转交 (3) 管理 系统总线、控制 数据传送 (4) 确定 数据传送的 首地址和长度 (5) DMA 传送结束时,给出操作完成信号 修正 传送过程中的数据 地址 和 长度 2. DMA 接口组成 (1)主存地址计数器(AR) 用来存放待交换数据的主存地址。该计数器的初始值为主存缓冲区的首地址,当DMA传送时,每传送一个数据,将地址计数器加“1”,直至这批数据传送完毕为止。 (2)字计数器(WC) 用来记录传送数据块的长度。其初始值为传送数据的总字数或总字节数,每传送一个字或一个字节,计数器自动减“1”,当其内容为0时表示数据已全部传送完毕。 (有些DMA控制器中,初始时将字数或字节数求补之后送计数器,每传送一个字或一个字节,计数器加“1”,当计数器溢出时,表示数据传送完毕) (3)数据缓冲寄存器(BR) 用来暂存每次传送的数据。输入时,数据由外设(如磁盘)先送往数据缓冲寄存器,再通过数据总线送到主存。输出,则相反。 (4)设备地址寄存器(DAR) 存放I/O设备的设备码或表示设备信息存储区的寻址信息,如磁盘数据所在区号、盘面号等,具体内容取决于I/O设备的数据格式和地址编码方式。 (5)DMA请求触发器 每当外设准备好数据后给出一个控制信号 DREQ ,使DMA请求触发器置位。 (6)DMA控制逻辑 它由控制和时序电路以及状态标志等组成,当收到设备准备好一个数据字时发送的 DREQ 信号后,发送DMA请求信号 HRQ 到CPU ,在收到CPU响应信号 HLDA 后负责管理DMA传送全过程,包括修改传送参数、识别总线类型、指定传送方向,通知设备已授予使用一个DMA周期,发出 DACK 信号。 (7)中断机构 当一个数据块传送完毕后触发中断机构,向CPU提出中断请求,CPU将进行DMA传送的后处理。 DMA接口 主 存 CPU DMA 接口组成 DMA 控 制 逻 辑 中 断 机 构 设备 HLDA AR WC DAR HRQ 中断请求 数据线 地址线 +1 +1 溢出信号 DREQ DACK BR 三、DMA 的工作过程 1. DMA 传送过程 预处理、数据传送、后处理 (1) 预处理 通过几条输入输出指令预置如下信息 通知 DMA 控制逻辑传送方向(入/出) 设备地址 DMA 的 DAR 主存地址 DMA 的 AR 传送字数 DMA 的 WC (2) 数据传送 预处理: 主存起始地址 设备地址 传送数据个数 启动设备 DMA DMA DMA 数据传送: 继续执行主程序 同时完成一批数据传送 后处理: 中断服务程序 做 DMA 结束处理 继续执行主程序 CPU 允许传送? 主存地址送总线 数据送I/O设备(或主存 ) 修改 主存地址 修改 字计数器 数据块 传送结束? 向CPU申请 程序中断 DMA请求 否 否 是 是 数据传送 DMA 传送过程示意图 BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA接口 主 存 CPU +1 +1 数据传送过程(输入) DREQ ② HRQ ③ HLDA ④ 地址线 ⑤ DACK ⑥ ① 数据线 ⑦ 溢出信号 中断请求 AR WC +1 +1 BR BR BR BR BR BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA接口 主 存 CPU +1 +1 BR DREQ ② HRQ ③ HLDA ④ 地址线 ⑤ DACK ⑥ ① 数据线 ⑦ 溢出信号 中断请求 AR WC +1 +1 数据传送过程(输出) BR BR BR BR (3) 后处理 校验送入主存的数是否正确 决定是否继续用 DMA传送其它数据块 测试传送过程是否正确,错则转诊断及处理程序 由中断服务程序完成 例5.3: 由传输速率确定每秒传输字节数; 9600/8=1200B 由最大批量字节数确定传输数据块数; 1200B/400B=3块 采用DMA方式占用处理器时间; 0.1×1200 + 5 ×3 = 135 us 采用中断方式,每个字符要申请一次中断; 5×1200=6000us 2. DMA 接口与系统的连接方式 DMA 接口1 DMA 接口2 DMA 接口n CPU … 主存 DMA响应 I/O总线 数据线 地址线 DMA请求 (1) 具有公共请求线的 DMA 请求 (2) 独立的 DMA 请求 DMA 接口1 DMA 接
文档评论(0)