首页
联系我们
成功案例
400-033-9003

产品中心

IO控制器

    发布时间: 2022-10-08 14:18    
IO控制器

IO控制器是指挥计算机的各部件根据指令的功能要求协调工作的部件,是计算机的神经系统和指挥中心,由指令寄存器IR(InstructionRegister)、程序计算器PC(ProgramCounter)和操作控制器0C(OperationControler)三个部件构成,协调计算机的有序工作非常重要。

命令寄存器:保存当前执行或即将执行的命令的寄存器。指令包括确定操作类型的操作代码和指出操作数源或下落的地址。指令长度因计算机而异,指令寄存器的长度也不同。计算机的所有操作都是在分析存放在指令寄存器中的指令后执行的。指令寄存器的输人端接受来自内存的指令,指令寄存器的输出端分为两部分。操作代码的一部分送到译码电路进行分析,指出本命令应该执行哪种类型的操作的地址的一部分送到地址加法器生成有效的地址后送到存储器,作为取数储数的地址。

存储器(IO控制器)可以指主存储、缓存或存储器堆栈等,以保存目前正在执行的指令。执行指令时,将其从内存取入数据寄存器(DR),然后传输到IR。指令分为操作代码和地址代码字段,由二进制数字构成。为了执行任何指令,必须测试操作代码,以识别所需的操作。指令译码器是做这项工作的。指令寄存器中操作代码字段的输出是指令译码器的输入。操作代码翻译后,可以向操作控制器发出具体操作的特定信号。


CPU无法直接控制IO设备的机械部件,因此IO设备还要有个电子部件作为CPU和IO设备机械部件之间的“中介”,用于实现CPU对设备的控制。

这个电子部件就是IO控制器,又称为设备控制器。CPU可控制IO控制器,IO控制器来控制设备的机械部件。



IO控制器的功能


接收设备CPU指令:CPU的读写指令和参数存储在控制寄存器中

向CPU报告设备的状态:IO控制器中会有相应的状态寄存器,用于记录IO设备的当前状态。(比如1代表设备忙碌,0代表设备就绪)

数据交换:数据寄存器,暂存CPU发来的数据和设备发来的数据,之后将数据发给控制寄存器或CPU。

地址识别:类似于内存的地址,为了区分设备控制器中的各个寄存器,需要给各个寄存器设置一个特定的地址。IO控制器通过CPU提供的地址来判断CPU要读写的是哪个寄存器。


IO控制器的组成


CPU与控制器之间的接口(实现控制器与CPU之间的通信),IO逻辑(负责识别CPU发出的命令,并向设备发出命令),控制器与设备之间的接口(实现控制器与设备之间的通信)

两种寄存器编址方式

**内存映射IO:**控制器中的寄存器与内存统一编制,可以采用对内存进行操作的指令来对控制器进行操作。

寄存器独立编制:控制器中的寄存器独立编制。需要设置专门的指令来操作控制器。


I/O控制方式


程序直接控制方式

CPU向IO模块发出读指令,CPU会从状态寄存器中读取IO设备的状态,如果是忙碌状态就继续轮询检查状态,如果是已就绪,就代表IO设备已经准备好,可以从中读取数据到CPU寄存器中(IO->CPU)读到CPU后,CPU还要往存储器(内存)中写入数据。写完后,再执行下一套指令。

CPU干预的频率:很频繁,IO操作开始之前、完成之后需要CPU的介入,并且在等待IO完成的过程中CPU需要不断的轮询检查。


数据流向

读操作(数据的输入):IO设备->CPU->内存

写操作(数据的输出):内存->CPU->IO设备

每个字的读写都需要CPU的帮助。


主要缺点和主要优点

优点:实现简单。在读写指令之后,加上实现循环检查的一些列指令即可。

缺点:CPU和IO设备只能串行化工作,CPU需要一直轮询检查,长期处于忙等状态,CPU利用率很低。


中断驱动方式

因为IO设备速度很快,CPU处理速度很快,因此在CPU发出读写命令后,可将等待IO的进程阻塞,先切换到别的进程执行。当IO完成后控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序。这样就使得CPU与IO设备能够并行工作。

优点:与程序直接控制方式相比,在中断驱动方式中,IO控制器会通过中断信号主动报告IO已完成,CPU不再需要不停的轮询。CPU和IO设备可并行工作,CPU利用率得到明显提升。

缺点:每个字在IO设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗很多的CPU时间。


DMA(直接存储方式)

与中断驱动方式相比,DMA方式有以下改进。


数据的传送单位是“块”。

数据的流向是从设备直接放入内存,或者是从内存直接到设备。不在使用CPU作中间者。

仅仅在传送一个或多个数据块的开始和结束时,才需要CPU的干预。

CPU在读写之前要指明要读入多少数据、数据要存放在内存中的什么位置、数据放在外部磁盘的什么位置。

DMA控制器会根据CPU踢出的要求完成数据的读写操作,整块数据的传输完成后,才像CPU发出中断信号。



DR:暂存从设备到内存,或从内存到设备的数据。

MAR(内存地址寄存器):再输入时,MAR表示数据应放在内存中的什么地方,输出时MAR表示要输出的数据放在内存中的什么位置。

DC(数据计数器):表示剩余要读/写的字节数

CR(命令/状态寄存器):用于存放CPU发来的IO命令,或设备的状态信息。

CPU干预的频率:仅在传送一个或多个数据块的开始和结束时,才需要CPU的干预。

数据传送单位是以块为单位,每次读写一个或多个块(需要注意的是读写的只能是连续的块,且这些块读入内存后在内存中也必须是连续的)

数据的流向也不再需要CPU干预。


优点:数据传输效率以块为单位,CPU的介入性进一步降低。CPU和IO设备的并行性进一步提升。

缺点:CPU发出一条指令,只能读或写一个或多个连续的数据块。如果读或写的数据块不是连续存放的而是离散的,那么CPU要分别发出多条IO指令,进行多次中断处理才能完成。


通道控制方式

通道是一种硬件,可以理解为“弱鸡版的CPU”。通道只能执行一类通道指令。

因为通道与CPU相比的话,CPU能够处理的指令的种类比通道多,也就是说通道执行的指令单一,他与CPU共用主机的内存。


具体处理过程:

CPU将操作步骤告诉通道,通道程序会把操作的指令列在一个类似于“任务清单上”。然后剩下的事CPU就不参与了,等到通道把指令执行完后,发出一个中断,告诉CPU我处理完了,然后CPU在处理后续操作。


这时候的CPU就像一个每天忙碌的大老板,通道就是小组的组长之类的,老板很忙,把一些任务交给组长去做,做完后得汇报给老板。


使用这种方式CPU干涉的频率极低,通道会根据CPU的指示执行响应的通道程序,只有完成一组数据块的读写后才需要发出中断信号让CPU干预。


每次读写一组数据块。


优点:CPU 通道、IO设备可并行工作,资源利用率极高。

缺点:实现复杂,需要专门的通道硬件支持。



  • LED显示屏

    LED显示屏

    LED大屏

    ¥0.00

    ¥0.00

  • 群晖(Synology)DS1522+ 5盘位 NAS网络存储服

    群晖(Synology)DS1522+ 5盘位 NAS网络存储服......

    群晖

    ¥0.00

    ¥0.00

  • 群晖(Synology) FS6400 I/O密集型和延迟敏感型

    群晖(Synology) FS6400 I/O密集型和延迟敏感型......

    群晖

    ¥0.00

    ¥0.00

  • 服务器

    服务器

    机房集成

    ¥0.00

    ¥0.00

  • UPS

    UPS

    机房集成

    ¥0.00

    ¥0.00

  • 模块化机房

    模块化机房

    机房集成

    ¥0.00

    ¥0.00

更多
推荐产品
<--这段代码是专属于这个站点的:www.liangy.cn 此段代码添加前,请勿添加到其他站点,否则将无法正常使用。-->