首页 > 其他分享 >OS(十八):设备管理之I/O控制方式

OS(十八):设备管理之I/O控制方式

时间:2023-08-23 17:34:12浏览次数:39  
标签:DMA 控制器 数据 十八 内存 OS CPU 设备

1、程序I/O方式

  程序I/O方式,称为忙-等待方式,即在处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后不断的循环测试busy。

 0

  busy为1时,表示输入机尚未输完一个字,处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。

  该种方式使得CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试,造成对CPU的极大浪费。

2、中断驱动I/O控制方式

  由于中断机构的引入,对IO设备的控制都采用中断驱动(Interrupt Driven)方式,当某进程要启动某个I/O设备时,由CPU向相应的设备控制器发出一条I/O命令,立即返回继续执行原来的任务,设备控制器按照该命令要求去控制指定I/O设备,CPU与I/O设备并行操作。

 0

  中断驱动I/O是以字节为单位进行I/O的,每完成一字节的I/O时,控制器便要向CPU请求一次中断。

3、直接存储器访问(DMA) I/O控制方式

3.1、DMA控制方式引入

  中断驱动I/O方式时的CPU是以字(节)为单位进行干预的,为减少CPU对I/O的干预,引入直接存储器访问方式:

 0

  数据传输的基本单位是数据块

  传送的数据是从设备直接送入内存

  仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。

  DMA方式,进一步较少了CPU对I/O的干预,提高了CPU与I/O设备的并行操作程度。

3.2、DMA控制器的组成

  DMA控制器由三部分组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑。

 0

  为实现主机与寄存器之间成块数据的直接交换,在DM控制器中设置四类寄存器:

  命令/状态寄存器(CR),接收从CPU发来的I/O命令。

  内存地址寄存器(MAR),输入时,存放数据从设备传送到内存的起始目标地址;输出时,存放由内存到设备的内存源地址。

  数据寄存器(DR),暂存从设备到内存,或从内存到设备的数据。

  数据计数器(DC),存放本次CPU要读或写的字(节)数。

3.3、DMA工作过程

  当CPU要从磁盘读入一个数据块时,便向磁盘控制器发送一条读命令。该命令被送到其中的命令寄存器(CR)中。同时,发型本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器(MAR)中,本次要读数据的字(节)数则送入数据计数器(DC)中,还须将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。

  启动DMA控制器进行数据传送,此后,CPU可去处理其他任务,整个数据传送过程由DMA控制器进行控制,当DMA控制器已从磁盘中读入一个字(节)的数据并送入数据寄存器DR后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。

  对MAR内容进行加减1,若MAR内容不为0,标识传送未完,继续传送下一个字;否则,由DMA控制器发出中断请求。

 0

4、I/O通道控制方式

  I/O通道方式是DMA方式的发展,把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。

  通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制。

  通道程序是由一系列通道指令所构成的,通道指令包含如下信息:

操作码 指令所执行的操作
内存地址 字符送入内存和从内存取出时的内存首址
通道程序结束位P 表示通道程序是否结束
计数 本条指令要读(写)数据的字节数
记录结束标志R R=0表示本通道指令与下一指令所处理的数据是同属于一个记录;R=1表示处理某记录的最后一条指令

 

标签:DMA,控制器,数据,十八,内存,OS,CPU,设备
From: https://www.cnblogs.com/RunningSnails/p/17652287.html

相关文章

  • CocosCreator ProejctSetting Macro Configurations 各项设置有何功能
     通过官方对应IDE版本的API文档可知:CocosCreator3.8API-Macro......
  • OS(十五):文件管理之文件存储空间管理
    文件管理主要解决如何为新创建的文件分配存储空间。文件存储空间分配的基本单位是磁盘块。内存分配方法:连续分配方式和离散分配方式。连续分配有较高的文件访问速度,会产生较多的外碎片;离散分配能有效的利用外存空间,但访问速度较慢。1、空闲表法和空闲链表法1.1......
  • iOS开发Swift-字符串与字符
    1.字符串的定义letsomeString="somestringvalue"2.多行字符串的定义(""")letquotation="""有一个人前来买瓜。"这瓜甜吗?"他问。""" 前一个"""前和后一个"""后无换行//前一个"""前和后一个......
  • OS(十六):文件管理之文件共享与保护
    文件共享:允许多个用户共享同一份文件,系统只需保留该共享文件的一份副本。1、基于索引节点的共享方式文件的物理地址及其它的文件属性属性,存放在索引节点中,文件目录中只设置文件名及指向相应索引节点的指针。 在索引节点中有一个链接计数count,表示链接到本索引结......
  • OS(十二):文件管理之文件的逻辑结构
    文件存在两种形式的结构:逻辑结构:又称为文件组织,用户角度的文件组织形式,用户可直接处理数据及其结构,独立于文件的物理特性。物理结构:又称为文件的存储结构,值文件在外存上的存储组织形式。1、文件逻辑结构的类型文件逻辑结构分为两大类:有结构文件,也被称为记录式文......
  • Linux 内核设备树时钟绑定
    这种绑定依然处于开发中,并且基于benh[1]的一些实验性工作。时钟信号源可以由设备树中的任何节点表示。这些节点被指定为时钟提供者。时钟消费者节点使用phandle和时钟指示符对将时钟提供者输出连接到时钟输入。与gpio指示符类似,时钟指示符是0个、1个或多个标识设备上的......
  • plutosdr通过uboot单独加载bit文件
    导出bit文件,修改uEnv.txt文件,修改bitstream_image为自己的bit文件,如system_top.bit,并增加两行:bitstream_image=system_top.bitmmc_loadbit_fat=echoLoadingbitstream${bitstream_image}fromSDtoRAM...&&mmcinfo&&fatloadmmc0${loadbit_addr}${bitstream_imag......
  • OS(十三):文件管理之外存分配方式
    文件分配外存空间时所要考虑的主要问题是:怎样才能有效地利用外存空间和如何提高对文件的访问速度。外存分配方式有连续分配、链接分配和索引分配。文件的物理结构直接与外存分配方式有关,采用不同的分配方式时,将形成不同的文件物理结构。1、连续分配1.1、连续分配......
  • GB28181视频监控国标平台EasyGBS角色绑定设备通道的功能优化
    GB28181视频监控国标平台EasyGBS是基于国标GB28181协议、支持多路设备同时接入的视频监控/视频云服务平台,支持对多平台、多终端分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。国标GB28181平台EasyGBS可提供视频直播监控、云端录像、云存储、检索回放、智能告警、语音对讲、平台......
  • 2、postgres数据导入
    目录postgres数据导入1、数据导入2、导入不存在数据库处理3、整库导入postgres数据导入1、数据导入psql-fuser_export.sql-hlocalhost-Umypguser-Wmypostgres参数说明:-f读取的sql文件-h导入的ip地址-U导入的用户-W导入指定的数据库2、导入不存在数据库处理......