关注分享主机优惠活动
国内外VPS云服务器

操作系统中IO控制方式详解(IO操作的4种控制方式)

总结:在输入过程中,设备首先将输入信息放入控制器的数据寄存器中。 当保存一定量的数据或输入完成后,一次性导出数据,提高工作效率。 设备识别 状态感知控制器识别设备的操作状态并将操作状态存储在状态寄存器中以供检查。

IO 概述

IO 代表输入和输出。 主要包括磁盘IO、网络IO、键盘输入、显示器输出、USB等操作。

输入是从IO设备到内存,输出是从内存到IO设备。

IO控制器

CPU并不直接控制IO设备,而是通过IO控制器间接控制。 由于市场上的IO设备种类繁多,操作方式各异,CPU无法直接控制IO设备。 因此,引入了IO控制器,也称为设备控制器,来间接控制IO设备。

IO控制器充当CPU和IO设备之间的中介,通过地址总线和控制总线与CPU连接。 它具有以下特点: 1.数据缓冲。 IO控制器设置缓冲区是因为CPU和内存速度很快,但IO设备相对较慢。 输出时,CPU将数据放入IO控制器的数据寄存器中,然后可以进行其他工作。 IO设备可以缓慢地从IO控制器的数据寄存器中检索并输出数据。 输入时,IO设备首先将输入信息写入IO控制器中的数据寄存器。 当保存或输入一定量的数据时,CPU一次性取出数据,提高CPU效率。 2. IO 设备识别 状态识别 IO 控制器识别 IO 设备的运行状态,并将运行状态存储在状态寄存器中供 CPU 检查。 3. 控制IO设备。 控制 IO 设备的读写、定时和其他控制信号。

IO分类

IO主要分类分为程序查询方式、中断方式、DMA、通道四类。 这四类的效率不断提高。 接下来我们就逐一详细分析一下。 1.如何查询程序

读取数据时,CPU会查询设备控制器的状态寄存器,以查看设备是否可用。 如果不可用,则继续轮询,直到可用。 如果可用,它会发送读取信号并轮询以查看数据是否准备好。 如果准备就绪,则将数据从数据寄存器读取到CPU,并将数据从CPU传输到内存。

写入数据时,CPU还会轮询设备以查看是否可用。 如果可用,数据将从 CPU 写入数据寄存器。

缺点:编程式查询方式需要CPU不断执行查询,浪费CPU资源,导致CPU利用率低。

2. 中断驱动程序

中断驱动程序是对程序查询的改进。 中断是指CPU可以被中断。 硬件可以向CPU发送中断命令,CPU将执行相应的中断例程。

CPU请求IO时,直接发送IO读相关的命令。 如果当前设备被占用,则可以将其添加到队列中,IO设备将按顺序处理队列中的项目。 当处理完成后,它发出中断命令,中断CPU的正常工作,转而执行中断程序。 数据寄存器被传送到CPU,并且从CPU传送到存储器。

优点:IO过程中,CPU可以处理其他线程的工作,从而导致CPU使用效率更高。 缺点:IO完成后,CPU仍然要把数据传输到内存,需要花费一些时间。 中央处理器。

3.DMA DMA 的全称是Direct Memory Access,也称为直接内存访问。 DMA可以直接连接到内存,允许IO设备直接与内存交换数据,而不需要CPU传输。

与中断驱动程序相比,DMA 有以下改进。 1. 以块的形式发送 2. 内存和IO设备可以直接传输,无需经过CPU传输。 3、CPU只需先发出一条CPU指令即可。 最后,DMA发出中断,CPU执行相应的指令。只要关闭中断程序就可以了。

优点:CPU只需要指定首先从内存和IO设备中的哪个位置进行读写,进一步提高了CPU的利用率。

缺点:DMA可以一次读取多个块,但它们在内存和IO设备中必须是连续的。

当涉及到单独的块的读写时,CPU必须发出多条IO指令。

4. 通道

通道是一种本身可以执行IO命令的硬件。 它相当于执行单条指令的小型CPU的弱化版。

通道可以执行IO指令。 CPU只需向通道控制器发送相关IO指令即可。 通道执行IO指令并完成相应的传输。

与DMA相比,DMA实现固定数据传输,但通道有自己的指令和程序,并且具有更强大的IO处理能力。

未经允许不得转载:主机频道 » 操作系统中IO控制方式详解(IO操作的4种控制方式)

相关推荐

评论 抢沙发

评论前必须登录!