- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
向 I/O 控制器 发布读块命令 CPU-DMA CPU 做其它事 读 D MA 控制 器的状态 中断 DMA-CPU 下条指令 ( c ) DMA 方式 5.2.3 直接存储器访问DMA I/O控制方式 1. DMA(Direct Memory Access)控制方式的引入 5.2 I/O控制方式 5.2.3 直接存储器访问DMA I/O控制方式 1. DMA(Direct Memory Access)控制方式的引入 与中断方式的区别 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理;DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数。 中断方式的数据传送是由CPU控制完成的; 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的。 5.2 I/O控制方式 2. DMA控制器的组成 DMA控制器的组成 5.2.3 直接存储器访问DMA I/O控制方式 5.2 I/O控制方式 2. DMA控制器的组成 为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器: 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。 5.2.3 直接存储器访问DMA I/O控制方式 5.2 I/O控制方式 2. DMA控制器的组成 四类寄存器: 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。 数据计数器DC。存放本次CPU要读或写的字(节)数。 5.2.3 直接存储器访问DMA I/O控制方式 5.2 I/O控制方式 3. DMA工作过程 5.2.3 直接存储器访问DMA I/O控制方式 DMA方式的工作流程 设置 MAR 和 DC 初值 启动 DMA 传送命令 挪用存储器周期传送 数据字 存储器地址增 1 字计数寄存器减 1 DC=0? 请求中断 在继续执行用户 程序的同时,准 备又一次传送 否 是 5.2.4 I/O通道控制方式 1. I/O通道控制方式的引入 I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。 5.2 I/O控制方式 2. 通道程序 操作码。 (2)内存地址。 (3)计数。 (4)通道程序结束位P。 (5)记录结束标志R。 5.2.4 I/O通道控制方式 5.2 I/O控制方式 720 250 1 1 WRITE 1850 250 0 0 WRITE 2000 300 1 0 WRITE 5830 60 1 0 WRITE 1034 140 0 0 WRITE 813 80 0 0 WRITE 内存地址 计数 R P 操作 2. 通道程序 5.2.4 I/O通道控制方式 5.2 I/O控制方式 5.3 缓 冲 管 理 5.3.1 缓冲的引入 缓和CPU与I/O设备间速度不匹配的矛盾。 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 提高CPU和I/O设备之间的并行性。 利用缓冲寄存器实现缓冲 5.3 缓 冲 管 理 5.3.1 缓冲的引入 缓冲区的设置 硬缓冲:在设备中设置缓冲区,由硬件实现。 软缓冲:在内存中开辟一个空间用作缓冲区。 5.3.2 单缓冲和双缓冲 1. 单缓冲(Single Buffer) 单缓冲工作示意图 2. 双缓冲(Double Buffer) 双缓冲工作示意图 5.3.2 单缓冲和双缓冲 双机通信时缓冲区的设置 5.3.2 单缓冲和双缓冲 5.3 缓 冲 管 理 5.3.3 循环缓冲 1. 循环缓冲的组成 5.3 缓 冲 管 理 多个缓冲区 装输入数据的空缓冲区R; 已装满数据的缓冲区G; 计算进程正在使用的现行工作缓冲区C。 5.3.3 循环缓冲 1. 循环缓冲的组成 5.3 缓 冲 管 理 多个指针 指示计算进程下一个可用缓冲区G的指针Nestg; 指示输入进程下次可用的空缓冲区R的指针Nexti; 指示计算进程正在使用的缓冲区C的指针Current。 5.3.3 循环缓冲 1. 循环缓冲的组成 循环缓冲 5.3 缓 冲 管 理 2. 循环缓冲区的使用 Getbuf过程。 5.3.
您可能关注的文档
最近下载
- 必修 中外历史纲要(上)第2课诸侯纷争与变法运动 课件(共24张PPT).pptx VIP
- 分析化学英文课件CH01 Introduction 0830.ppt VIP
- 【新】珠海市纳税百强企业名单(权威).docx VIP
- 某水厂反恐应急预案范本.pdf VIP
- 2025河南省红十字血液中心招聘合同制人员12人笔试备考题库及答案解析.docx VIP
- 道德经全文和译文.doc VIP
- 一种永磁同步电机旋变零位初始角自学习方法及系统.pdf VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- GB50068-2018建筑结构可靠性设计统一标准.doc VIP
- 化工单元过程及操作练习题(附答案).docx VIP
文档评论(0)