设备控制原理.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九讲 设备控制原理、设备使用方法目的与要求:掌握I/O控制的原理、设备的使用方法,理解I/O的层次结构重点与难点:三种不同的I/O控制方式;I/O的层次结构作业: 2,3,4,5第六章 设备管理6.1 输入输出硬件概念1. 常见I/O设备的分类 人机交互设备(字符设备,发送接收以字符方式)存储类型设备(块设备,读写以数据块方式)网络通讯的设备I/O设备的特点:数据传输速率不同数据传输单位不同控制的复杂性不同设备的使用目的不同2.设备控制器(I/O部件) I/O设备通常包含一个机械部件和一个电子部件。电子部件被称作I/O部件或设备控制器。 操作系统一般只与控制器打交道,而非设备本身。 早期CPU是直接控制外部设备的,在引入I/O部件之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来。连接CPU、内存、设备控制器和I/O设备模型 处理机内存显卡PCI总线控制器外设控制器IDE总线控制器控制器磁盘外设控制器光盘 控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换。比特流显示信号磁盘 控制器字符显示控制器转换、校验转换字节块字节流主存主存经CPU 每个控制器都有一些用来与CPU通讯的I/O寄存器。操作系统通过向这些寄存器写命令字来执行I/O功能。键盘060 - 063硬盘320 – 32F打印机378 – 37F软盘3F0 – 3F7彩色显示器3D0 – 3DFIBM PC的I/O地址3.输入输出控制方式 一、程序直接控制方式 CPU直接控制I/O操作的全过程,包括传输数据、发送读写命令、测试设备状态 。 因此,处理机指令集应包括控制类、测试类、读写类I/O指令 。 I/O部件接收到相应的命令后,将I/O状态寄存器的相应位置上。随着操作的执行更改状态位,由CPU执行相应指令读取I/O完成状态。I/O数据通过CPU寄存器转发。向I/O部件发读命令读I/O部件状态寄存器出错检查状态未OKOK从I/O部件读字数据未OK将该字写入内存OK下一指令该块读完?二、中断控制方式 CPU向I/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。 CPU不必反复测试寄存器状态,节约了时间。但总体看来,中断控制方式仍然消耗大量的CPU时间,因为每个字的数据传输都必须经过CPU寄存器转发。向I/O部件发读命令中断读I/O部件状态寄存器出错处理检查状态OK从I/O部件读字数据未OK将该字写入内存OK下一指令该块读完?三、DMA方式前两种方式的缺陷:I/O的传输速率受CPU测试或中断响应的速度限制CPU为管理I/O耗费大量时间。DMA(直接内存存取)负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。CPU向DMA部件发送I/O命令后,即可进行其他工作。给DMA的命令中应包括:操作类别、I/O设备的地址、读写数据在内存中的首地址、字数。向DMA部件发读命令中断读取DMA部件状态下一条指令 DMA的功能可以以独立的DMA部件在系统I/O总线上完成,也可整合到I/O部件中完成。读写内存时,DMA部件需要控制总线,CPU可能在涉及存储访问时因此而忙等待。CPU直接控制外部设备输入输出控制方式的发展过程引入I/O部件,CPU直接控制I/O部件引入中断驱动方式引入DMAI/O通道或I/O处理机 6.2 设备输入输出子系统6.2.1.设备的使用方法一、设备相关系统调用简介 申请设备。该系统调用中有参数说明了要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是分时共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。将数据写入设备从设备读取数据释放设备。这是申请设备的逆操作。 说明:上述的系统调用主要用于对人机交互类慢速外设的使用。对于存储类外设,用户程序一般通过对文件的访问,由文件管理模块读写存储外设间接使用它们,系统也提供直接使用存储类外设的接口。对于网络通讯外设,用户级程序也不直接使用它们,用户通过SOCKET通讯系统调用接口调用TCP/IP层程序,由IP层程序选择调用网络通讯设备驱动程序。在Unix中,你也可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”,O_RDRW);申请软盘,/dev/fd0代表软盘lseek(fd,1024,0);将软盘当前I/O位置定位到1024字节位置Write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘1024-1059字节…close(fd);释放软盘显然,这样的使用方式绕过了文件管理,而直接读/写软盘空间。当然你必须清楚软盘的什么位置存放了什么信息,你才能做到正确的读写。二、独占式共享使用设备

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地河北
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档