网站大量收购独家精品文档,联系QQ:2885784924

体系结构第6章 第4讲.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
体系结构第6章 第4讲

计算机体系结构 计算机体系结构 国家精品课程:计算机体系结构 第六章:输入输出系统 国防科技大学计算机学院 主讲人: 副教授 设备的连接 设备的连接 I/O设备编址方式 存储器映射I/O 独立编址 I/O设备控制方式 程序查询 中断 DMA I/O处理机等 程序查询I/O CPU 存储器 I/O控制器 外设 状态位 CPU需要不断监测状态位以确定是否该做下一个I/O操作。由于CPU比I/O设备快得多,所以轮询就要浪费大量的CPU时间。 中断 I/O CPU 存储器 I/O控制器 外设 中断 寄存器 ADD SUB AND OR READ STORE RTI 中断 服务例程 保存PC 中断服务地址 DMA I/O CPU 存储器 I/O控制器 DMA控制器 外设 外设 CPU向DMA控制器发送开始地址、方向;然后,发射“开始”命令。 DMA控制器向外设提供握手信号;向存储器提供地址和握手信号。 ROM RAM DMA 输入输出系统 通道 通道的功能 接受CPU发来的I/O指令,根据指令要求选择一台指定的外围设备与通道相连接。 执行CPU为通道组织的通道程序,从主存中取出通道指令,对通道指令进行译码,并根据需要向被选中的设备控制器发出各种操作命令。 通道的功能 给出外围设备的有关地址,即进行读/写操作的数据所在的位置。如,磁盘存储器的柱面号、磁头号、扇区号等。 给出主存缓冲区的首地址,这个缓冲区用来暂时存放从外围设备上输入的数据,或者暂时存放将要输出到外围设备中去的数据。 通道的功能 控制外围设备与主存缓冲区之间数据交换的个数,对交换的数据个数进行计数,并判断数据传送工作是否结束。 指定传送工作结束时要进行的操作。例如,将外围设备的中断请求及通道的中断请求送往CPU等。 通道的功能 检查外围设备的工作状态,是正常或故障。根据需要将设备的状态信息送往主存指定单元保存。 在数据传输过程中完成必要的格式变换,例如,把字拆卸为字节,或者把字节装配成字等。 通道的种类 通道分为三种类型: 字节多路通道:简单的共享通道,为多台低速或中速的外围设备服务。采用分时方式工作。 选择通道:为高速外围设备(如磁盘存储器等)服务。在传送数据期间,只能为一台高速外围设备服务,在不同的时间内可以选择不同的设备。 数组多路通道:为高速设备服务。各台高速设备重迭操作。 输入输出系统 I/O与操作系统 I/O与Cache的一致性问题 问题的提出: 对一致性问题的思考 数据不一致问题有两个方面: 存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来使用的是陈旧数据; I/O与存储器交换数据之后,在Cache中被CPU使用的可能就是陈旧数据。 对一致性问题的思考 对一致性问题的思考 写直达Cache可以保证存储器和Cache有相同的数据; 写回Cache则需操作系统帮助进行数据检查。 根据I/O使用的存储器地址来清除Cache相应的块,确保I/O使用的数据不在Cache中。 地址检查过程也可以使用硬件完成。 DMA与虚拟存储器 使用物理地址进行DMA,存在以下两个问题: 对于超过一页的数据,由于缓冲区使用的页面在物理存储器中不一定是连续的,传输会发生问题。 DMA正在存储器和帧缓冲器之间传输数据时,操作系统从存储器中移出一些页面(或重新分配),DMA将会在存储器中错误的页面上传输数据。 DMA是使用虚拟地址还是物理地址来传输数据? 虚拟DMA技术 谢谢! * 在大型计算机系统中,采用程序控制、中断和DMA这三种基本的I/O方式来管理外围设备,会引起如下两个问题: (1)所有外围设备的I/O工作全部都要由CPU来承担,CPU的I/O负担很重,不能专心于用户程序的计算。低速外围设备每传送一个字符都要由CPU执行一段程序来完成,而高速外围设备虽然使用DMA方式减少了CPU的干预,但初始化工作仍然需要CPU用程序来完成。 * 能够使处理器性能发挥的软件是编译器,而发挥存储性能的软件是操作系统,采用哪种硬件进行I/O处理由操作系统决定,所以在设计I/O系统时还要注意操作系统的因素。 * 如果使用虚拟存储器,那么就存在DMA使用的是虚拟地址还是物理地址来传输数据的问题。使用物理地址进行DMA传输,存在以下两个问题: (1)对于超过一页的数据缓冲区,由于缓冲区使用的页面在物理存储器中不一定是连续的,所以传输可能会发生问题。 (2)如果DMA正在存储器和缓冲器之间传输数据时,操作系统从存储器中移出(或重新装载)一些页面后,DMA将会在存储器中错误的页面上传输数据。 * 允许DMA设备直接使用虚拟地址,在DMA期间由硬件将虚拟地址映射到物理地址。这样,I/O使用的缓冲区页面在虚拟存储器中是连续的,但物理页面可以分散在物理存储器中

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档