第七章 设备管理 - 2.pptx

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设备控制器是计算机中的一个实体,主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的/lemma/ShowInnerLink.htm?lemmaId=54135ss_c=ssc.citiao.link数据交换。它是CPU与I/O设备之间的接口,接收从CPU发来的命令,并去控制I/O设备工作,使/lemma/ShowInnerLink.htm?lemmaId=527978ss_c=ssc.citiao.link处理机从繁杂的设备控制事务中解脱出来。第七章 设 备 管 理7.2 I/O控制方式7.3 I/O系统7.4 磁盘管理 7.5 缓冲管理7.2 I/O控制方式 7.2.1 程序I/O方式7.2.2 中断驱动I/O控制方式7.2.3 直接存储器访问(DMA)I/O控制方式 DMA控制器,使传输以字节为单位转为以数据块为单位。7.2.4 I/O通道控制方式 使I/O的组织和数据的传送,都能独立进行,无需CPU干预。7.2 I/O控制方式 7.2.1 程序I/O方式(程序直接控制方式) 早期的计算机系统中,由于无中断机构,处理机对I/O设备的控制采取程序I/O(Programmed I/O)方式,或称为忙—等待方式,即在处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。当busy=1时,表示输入机尚未输完一个字(符),处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机将数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字(符)的I/O。接着再去启动读下一个数据,并置busy=1。程序I/O方式流程图 7.2.2 中断驱动I/O控制方式 进程执行过程中发i/o请求进程转入睡眠状态cpu调度新进程I/O完毕,设备控制器发中断信号,cpu收到中断,处理中断并接收数据使发出I/O请求的进程就绪cpu可以调度一个进程执行。7.2.3 直接存储器访问(DMA)I/O控制方式 1.DMA(Direct Memory Access)控制方式的引入 虽然中断驱动I/O比程序I/O方式更有效,但须注意,它仍是以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器便要向CPU请求一次中断。换言之,采用中断驱动I/O方式时的CPU是以字(节)为单位进行干预的。如果将这种方式用于块设备的I/O,显然是极其低效的。例如,为了从磁盘中读出1 KB的数据块,需要中断CPU 1K次。为了进一步减少CPU对I/O的干预而引入了直接存储器访问方式。该方式的特点是: (1) 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;  (2) 所传送的数据是从设备直接送入内存的,或者相反; (3) 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。 可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。   2.DMA控制器的组成 DMA控制器由三部分组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑。下图示出了DMA控制器的组成。这里主要介绍主机与控制器之间的接口。 图5-8 DMA控制器的组成  为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器: (1) 命令/状态寄存器(CR)。用于接收从CPU发来的I/O命令,或有关控制信息,或设备的状态。 (2) 内存地址寄存器(MAR)。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。? (3) 数据寄存器(DR)。用于暂存从设备到内存,或从内存到设备的数据。 (4) 数据计数器(DC)。存放本次CPU要读或写的字(节)数。   3.DMA工作过程 我们以从磁盘读入数据为例,来说明DMA方式的工作流程。当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令。该命令被送到其中的命令寄存器(CR)中。同时,还须发送本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器(MAR)中;本次要读数据的字(节)数则送入数据计数器(DC)中,还须将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。然后,启动DMA控制器进行数据传送,以后,CPU便可去处理其它任务。此后,整个数据传送过程便由DMA控制器进行控制。 当DMA控制器已从磁盘中读入一个字(节)的数据并送入数据寄存器(DR)后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。接着便对MAR内容加1,将DC内容减1。若减1后D

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档