- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 设备管理 P160;磁带机;负责管理系统中所有的外部设备。;按传输速度;按信息交换单位;5.1.1 I/O设备分类;
;1、什么是设备控制器;1、什么是设备控制器;2、设备控制器功能;;3、I/O逻辑
通过一组控制线与处理机交互。
处理机利用他向控制器发送I/O命令。
I/O逻辑对收到的命令进行译码。;1、虽然设备控制器已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间增设通道以建立独立的I/O操作。不仅数据的传送能够独立于CPU,也使得对I/O操作的组织、管理和结束处理尽量独立。
2、通道是一种特殊的处理机,具有执行I/O指令的能力。通过执行通道程序来控制I/O操作。
3、通道与一般的处理机又有所不同:其指令类型单一,即由于通道硬件比较简单,其所能执行的指令主要局限于与I/O操作有关的指令。主要为与I/O有关的指令;通道没有自己的内存,与CPU共享内存。;字节多路通道;1、字节多路通道;以数组为单位,可以连接多台高速设备;“瓶颈”问题;通道1;多通路:解决“瓶颈”问题的方法(交叉连接);5.1.5 总线系统;图6.1 总线型I/O系统结构;系统总线的发展;早期的PC总线和ISA总线;PCI/AGP总线、PCI-X总线;PCI Express、HyperTransport高速串行总线;5.2 I/O控制方式 ;5.2 I/O控制方式 ;
;5.2.2 中断驱动I/O控制方式 ;中断驱动I/O比程序I/O更有效。
它仍是以字(节)为单位进行I/O,每当完成一个字(节)的
I/O,控制器便向CPU请求一次中断。
中断驱动I/O方式的CPU是以字(节)为单位进行干预的。
这种方式用于块设备的I/O效率显然是较低的。
例如:为了从磁盘中读出1KB的数据块,需要中断CPU1K次。
为了进一步减少CPU对I/O的干预引入直接存储器访问方式。
;5.2.3 直接存储器访问(DMA)I/O控制方式 ;
;为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制器中设置如下四类寄存器:
(1) 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息, 或设备的状态。
(2) 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输??时,它存放由内存到设备的内存源地址。
(3) 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
(4) 数据计数器DC。 存放本次CPU要读或写的字(节)数。 ;
;5.2.4 I/O通道控制方式 ;2. 通道程序 ;操作 ;5.3 缓 冲 管 理 ;图 5-10 利用缓冲寄存器实现缓冲 ;5.3.1 缓冲思想的引入:; I/O缓冲技术的核心思想是:在内存中建立I/O缓冲区用于缓存从输入设备流入内存的数据或缓存从内存流向输出设备的数据。;5.3.3 I/O缓冲的组织形式;设备以速率V向缓冲输入数据;假定,一块数据从外部设备输入到内存所花费的时间为T,在内存中移动所花费的时间为M,被用户进程加工处理所花费的时间为C,那么
在没有使用I/O缓冲区的情况下,平均每块数据的处理时间近似为:T+C;
在使用单I/O缓冲区的情况下,平均每块数据的处理时间近似为:max(T,C)+M(计算前一个数据和输入下一个数据并列)。;
;相对于没有使用I/O缓冲区的情形,引入单I/O缓冲区后,用户进程的运行效率得到了提高。
但如果用户进程在对有关数据进行加工处理时不释放相关的I/O缓冲区,用户进程的性能则不能得到改善。
如果T远远大于C,即外部设备的I/O速度比用户进程的计算速度慢得多,那么即使引入单I/O缓冲区,用户进程的性能也几乎没有得到改善。
涉及到2个输入输出设备时,单缓冲无能为力。;2 双缓冲;;引入双I/O缓冲区后,即使用户进程在对有关数据进行加工处理时不释放相关的I/O缓冲区, 用户进程的性能也能得到改善。
不过,与使用单I/O缓冲区的情形类似,如果T远远大于C,即外部设备的I/O速度比用户进程的计算速度慢得多,那么即使引入双I/O缓冲区,用户进程的性能也几乎没有得到改善。
如果外部设备的I/O速度与用户进程的计算速度差异很大, 那么缓和两者速度不匹配的一种有效的办法就是在外部设备和用户进程之间设立多个I/O缓冲区。通常,这些I/O缓冲区被组织成一个环形队列,I/O缓冲区的这种组织形式为循环缓冲。;3 循环缓冲;;5.3.4 缓冲池(数据的输入和输出具有阵发性)
由于循环缓冲仅适用于某特定的I/O进程和计算进程,因此,它们属于专用缓冲。为了提高缓冲区的利用率,目前广泛流行着缓
文档评论(0)