i/o设备的概念和分类i/o控制器及其i/o控制方式

bfhonor bfhonor     2022-12-28     137

关键词:

一、I/O设备的基本概念与分类

(一)什么是I/O设备?

  • “I/O” 就是 “输入/输出”(Input/Output)
  • I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。
  • UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。
  • Write操作:向外部设备写出数据
  • Read操作:从外部设备读入数据

(二)按使用特性分类

(三)按传输速率分类

(四)按信息交换的单位分类

二、I/O控制器

(一)机械部件

  • I/O设备的机械部件主要用来执行具体I/O操作。
    如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。

(二)电子邮件(I/O控制器,设备控制器)

  • I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。
  • CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制
  • 这个电子部件就是I/O控制器,又称设备控制器。CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件。

1. I/O控制器的组成

  • 值得注意的小细节:
    ①、一个I/O控制器可能会对应多个设备;
    ②、数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/O专用地址,即寄存器独立编址

2. 内存映像I/O v.s. 寄存器独立编址

三、I/O控制方式

  • 用什么样的方式来控制I/O设备的数据读/写??

(一)程序直接控制方式

  • 1. 完成一次读/写操作的流程(以读操作为例)

  1. 完成一次读/写操作的流程(Key word:轮询
  2. CPU干预的频率
    很频繁,I/O操作开始之前、完成之后需要CPU介入,并且在等待I/O完成的过程中CPU需要不断地轮询检查。
  3. 数据传送的单位
    每次读/写一个字
  4. 数据的流向
    ①、读操作(数据输入):I/O设备→CPU(指的是CPU的寄存器)→内存
    ②、写操作(数据输出):内存→CPU→I/O设备每个字的读/写都需要CPU的帮助
  5. 主要缺点和主要优点
    ①、优点:实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可(因此才称为“程序直接控制方式”)
    ②、缺点:CPU和I/O设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状态 ,CPU利用率低

(二)中断驱动方式

  1. 完成一次读/写操作的流程(Key word:中断
  2. CPU干预的频率
    ①、每次I/O操作开始之前、完成之后需要CPU介入。
    ②、等待I/O完成的过程中CPU可以切换到别的进程执行。
  3. 数据传送的单位
    每次读/写一个字
  4. 数据的流向
    ①、读操作(数据输入):I/O设备→CPU→内存
    ②、写操作(数据输出):内存→CPU→I/O设备
  5. 主要缺点和主要优点
    ①、优点:与“程序直接控制方式”相比,在“中断驱动方式”中,I/O控制器会通过中断信号主动报告I/O已完成,CPU不再需要不停地轮询。CPU和I/O设备可并行工作,CPU利用率得到明显提升。
    ②、缺点:每个字在I/O设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。

(三)DMA方式

  • 与“中断驱动方式”相比,DMA方式( Direct Memory Access,直接存储器存取。主要用于块设备的I/O控制)有这样几个改进:
    ①、数据的传送单位是“块”。不再是一个字、一个字的传送;
    ②、数据的流向是从设备直接放入内存,或者从内存直接到设备。不再需要CPU作为“快递小哥”。
    ③、仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。

  1. 完成一次读/写操作的流程(见右图)
  2. CPU干预的频率
    仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。
  3. 数据传送的单位
    每次读/写一个或多个块(注意:每次读写的只能是连续的多个块,且这些块读入内存后在内存中也必须是连续的)
  4. 数据的流向(不再需要经过CPU
    ①、读操作(数据输入):I/O设备→内存
    ②、写操作(数据输出):内存→I/O设备
  5. 主要缺点和主要优点
    ①、优点:数据传输以“块”为单位,CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存,数据传输效率进一步增加。CPU和I/O设备的并行性得到提升。
    ②、缺点:CPU每发出一条I/O指令,只能读/写一个或多个连续的数据块。如果要读/写多个离散存储的数据块,或者要将数据分别写到不同的内存区域时,CPU要分别发出多条I/O指令,进行多次中断处理才能完成。

(四)通道控制方式

  • 通道:一种硬件,可以理解为是 “弱鸡版的CPU”。通道可以识别并执行一系列通道指令
  • 与CPU相比,通道可以执行的指令很单一,并且通道程序是放在主机内存中的,也就是说通道与CPU共享内存

  1. 完成一次读/写操作的流程
  2. CPU干预的频率
    极低,通道会根据CPU的指示执行相应的通道程序,只有完成一组数据块的读/写后才需要发出中断信号,请求CPU干预。
  3. 数据传送的单位
    每次读/写一组数据块
  4. 数据的流向(在通道的控制下进行
    ①、读操作(数据输入):I/O设备→内存
    ②、写操作(数据输出):内存→I/O设备
  5. 主要缺点和主要优点
    ①、缺点:实现复杂,需要专门的通道硬件支持
    ②、优点:CPU、通道、I/O设备可并行工作,资源利用率很高。

i/o设备的概念和分类i/o控制器及其i/o控制方式

...输速率分类(四)按信息交换的单位分类二、I/O控制器(一)机械部件I/O设备的机械部件主要用来执行具体I/O操作。如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。&#... 查看详情

操作系统王道考研p61-62i/o设备的基本概念和分类i/o控制器

I/O设备的基本概念和分类I/O控制器以下是I/O设备的基本概念和分类的内容知识总览什么是I/O设备I/O就是输入、输出。I/O设备就是可以将数据输入到计算机,或者可以接受计算机输出数据的外部设备,属于计算机的硬件设... 查看详情

i/o管理(代码片段)

...率分类1.2.3、按信息交换的单位分类🔥1.3、小结2、I/O控制器2.1、I/O设备的机械部件2.2、I/O设备的电子部件(I/O控制器)2.2.1、I/O控制器的功能2.2.2、I/O控制器的组成2.2.3、内存映像I/O和寄存器独立编 查看详情

i/o管理(代码片段)

...率分类1.2.3、按信息交换的单位分类🔥1.3、小结2、I/O控制器2.1、I/O设备的机械部件2.2、I/O设备的电子部件(I/O控制器)2.2.1、I/O控制器的功能2.2.2、I/O控制器的组成2.2.3、内存映像I/O和寄存器独立编址🔥2.3、小结3、I/O控制方... 查看详情

操作系统—i/o设备的基本概念和分类

【操作系统】—I/O设备的基本概念和分类一、什么是I/O设备I/O设备:I/O设备就是输入/输出(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。二、I/O... 查看详情

操作系统—i/o设备的基本概念和分类

【操作系统】—I/O设备的基本概念和分类一、什么是I/O设备I/O设备:I/O设备就是输入/输出(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。二、I/O... 查看详情

操作系统的i/o与设备管理

...与设备管理I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是:⑴完成用户提出的I/O请求;⑵提高I/O速率,以及提高设备的利用率;⑶为更高层的进程方便地使用这些设备提供手段。一、1I/O... 查看详情

(计算机组成原理)第七章输入和输出系统-第一节:i/o系统基本概念和i/o控制方式简介

文章目录一:I/O系统的基本组成(1)I/O硬件和I/O软件(2)I/O指令和通道指令二:I/O控制方式三:通道控制方式我们说过现代计算机结构大致分为主机和I/O设备(外设)I/O的意思就是Input/Outp 查看详情

os-输入输出系统(代码片段)

...备get和put操作in-control指令网络通信接口6.2I/O设备和设备控制器I/O设备类型按使用特性分类存储设备,I/O设 查看详情

i/o

...备包括:键盘,鼠标,显示器,磁盘。每一个I/O设备通过控制器或者适配器与I/O总线连接。控制器指的是设置在IO设备中的芯片,或者设置在主板上。而适配器是插在主板上的卡。二者的作用都是在I/O总线和I/O设备之间传递信息... 查看详情

i/o通道的i/o通道(channel)

...nel)某种程度上类似于PCI总线(bus),它能将一个或多个控制器连接起来,而这些控制器又控制着一个或更多的设备(磁盘驱动器、终端、LAN端口,等等。)大型机通道和PCI总线之间的一个主要区别是大型机通道通过几对大的bus... 查看详情

======第五章设备管理======(代码片段)

目录5.1I/O系统5.1.1I/O设备5.1.2设备控制器5.1.3I/O通道5.1.4总线系统5.2I/O控制方式5.2.1程序I/O方式5.2.2中断驱动I/O控制方式5.2.3直接存储器访问(DMA)I/O控制方式5.2.4I/O通道控制方式5.3缓冲管理5.3.1缓冲的引入5.3.2单缓冲和双缓冲... 查看详情

-输入输出系统

...型和接口I/O系统管理的主要对象:I/O设备,设备控制器。I/O系统的主要任务:完成用户提出的I/O请求;提高I/O速率;提高设备的利用率;为更高层的进程方便地使用这些设备提供手段;6.1.1I/O系统的基本功能... 查看详情

-输入输出系统

...型和接口I/O系统管理的主要对象:I/O设备,设备控制器。I/O系统的主要任务:完成用户提出的I/O请求;提高I/O速率;提高设备的利用率;为更高层的进程方便地使用这些设备提供手段;6.1.1I/O系统的基本功能... 查看详情

i/o系统(代码片段)

....6.2、例题3.7、小结4、程序中断方式进阶5、DMA方式5.1、DMA控制器5.2、DMA的传送过程5.3、DMA传送方式5.4、DMA方式与中断方式5.5、小结1、输入/输出系统I/O就是输入输出,I/O设备就是可以将数据输入道计算机,或者可以接收计... 查看详情

linux设备驱动程序如何与硬件通信

参考技术A  LINUX设备驱动程序是怎么样和硬件通信的?下面将由我带大家来解答这个疑问吧,希望对大家有所收获!  LINUX设备驱动程序与硬件设备之间的通信  设备驱动程序是软件概念和硬件电路之间的一个抽象层,因此... 查看详情

i/o输入系统

...操作系统在计算机I/O方面的作用是管理和控制I/O操作和I/O设备。概述    对与计算机相连设备的控制是操作系统设计者的主要任务之一。  查看详情

i/o系列磁盘结构-随机i/o/顺序io转

...用于与电子设备通信,如磁盘驱动器、USB密钥、传感器、控制器和执行器;通信:适用于与远程设备通信,如数字线路驱动器和调制解调器;另外,按照输入输出特性还可分为输入型外围设备、输出型外围设备和存储型外围设备... 查看详情