计算机系统基础22---计算机的基本组成---IO控制方式
文章目录1、直接程序控制无条件传送方式一、基本原理二、工作流程程序查询方式一、基本原理二、工作流程2、中断方式一、基本原理3、直接存储器存取方式一、基本原理二、关键组件与机制三、工作流程以磁盘读取为例四、DMA传输模式4、输入输出处理机一、核心功能二、工作原理1、直接程序控制无条件传送方式、程序查询方式。无条件传送方式无条件传送方式是计算机输入输出I/O设备管理中的一种基础数据传输机制其核心特点是假设外设始终处于就绪状态CPU无需检测设备状态即可直接进行数据读写。一、基本原理1、同步假设无条件传送方式基于一个关键假设外设的数据准备速度与CPU的传输速度完全匹配即外设始终准备好接收或发送数据。例如开关状态、LED显示等简单设备其状态变化由CPU直接控制无需额外同步。2、直接操作CPU通过I/O指令如IN、OUT直接访问外设的寄存器无需检查状态寄存器或等待中断信号。数据传输过程完全由CPU的指令周期驱动。二、工作流程以CPU向LED输出数据为例无条件传送方式的流程如下1、初始化阶段CPU配置外设的寄存器地址如LED控制寄存器地址为0x3000。确保外设LED已正确连接并处于可操作状态。2、数据传输阶段CPU直接执行OUT指令将数据写入外设寄存器MOV AL, 0xFF;将数据0xFF全亮存入AL寄存器 OUT 0x3000, AL;将AL中的数据写入地址为0x3000的LED寄存器外设LED立即响应根据写入的数据更新显示状态。3、操作完成数据传输瞬间完成CPU无需等待或检测外设状态。程序查询方式程序查询方式Programmed I/O或称为忙等待方式是计算机输入输出I/O设备管理中的一种基础控制机制其核心思想是CPU通过主动轮询Polling外设的状态寄存器判断设备是否就绪再决定是否进行数据传输。一、基本原理1、CPU主导控制CPU完全控制I/O操作的每一个步骤包括设备启动、状态检测和数据传输外设仅被动响应CPU的指令。2、状态轮询机制CPU通过循环读取外设的状态寄存器Status Register检查特定标志位如“数据就绪”或“缓冲区空闲”直到外设满足传输条件。3、顺序执行数据传输必须在外设就绪后进行若外设未就绪CPU会持续等待忙等待无法执行其他任务。二、工作流程1、初始化阶段CPU向键盘的I/O接口发送“读取数据”命令如写入控制寄存器。设置键盘接口的状态寄存器为“忙”状态表示设备正在处理请求。2、状态检测阶段CPU循环执行以下操作a. 读取键盘接口的状态寄存器如通过IN指令。b. 检查“数据就绪”标志位假设为第0位若标志位为0未就绪继续循环检测。若标志位为1就绪进入数据传输阶段。关键问题在循环检测期间CPU无法执行其他任务资源利用率低。3、数据传输阶段CPU通过IN指令从键盘接口的数据寄存器读取按键值。将数据存入主存或寄存器中供后续处理。4、操作完成CPU向键盘接口发送“操作完成”信号清除状态寄存器的“忙”标志。2、中断方式中断方式Interrupt-Driven I/O是计算机系统中一种高效的输入/输出I/O控制机制它通过外设主动通知CPU来触发数据传输从而避免了程序查询方式中CPU的忙等待显著提高了系统资源利用率和并行性。一、基本原理1、外设主动通知当外设完成数据准备如键盘按键按下或需要CPU服务如磁盘数据传输完成时会向CPU发送一个中断信号Interrupt RequestIRQ。2、CPU响应中断CPU在执行完当前指令后暂停当前任务保存现场如程序计数器PC、寄存器状态等跳转到预设的中断服务程序ISR, Interrupt Service Routine执行。3、中断服务程序处理ISR负责处理外设请求如从外设读取数据、写入数据到外设或更新设备状态。4、返回原任务ISR执行完毕后CPU恢复现场继续执行被中断的任务。3、直接存储器存取方式直接存储器存取Direct Memory AccessDMA是一种高效的数据传输机制它允许外设如磁盘、网卡、显卡等直接与内存进行数据交换而无需CPU的持续干预。这种方式显著提高了数据传输速度减轻了CPU的负担特别适用于高速、大批量数据传输的场景。一、基本原理1、外设直接访问内存DMA控制器DMA ControllerDMAC作为CPU和外设之间的“中介”负责管理数据传输。它拥有独立的总线控制权可以直接读写内存而无需CPU逐字节或逐字地搬运数据。2、CPU初始化DMA传输CPU通过配置DMA控制器的寄存器如源地址、目标地址、传输长度、传输方向等来初始化一次DMA传输。配置完成后CPU启动DMA控制器并继续执行其他任务。3、DMA控制器接管总线DMA控制器向总线仲裁器Bus Arbiter请求总线控制权。获得总线控制权后DMA控制器直接访问内存和外设执行数据传输。4、传输完成通知CPU数据传输完成后DMA控制器通过中断DMA Interrupt通知CPU。CPU可以处理传输完成后的操作如更新缓冲区指针、启动下一次传输等。二、关键组件与机制1、DMA控制器DMAC核心功能管理DMA传输包括初始化、执行和完成通知。2、关键寄存器源地址寄存器Source Address Register存储数据来源的内存地址或外设端口地址。目标地址寄存器Destination Address Register存储数据目标的内存地址或外设端口地址。传输长度寄存器Transfer Count Register存储需要传输的数据量如字节数、字数等。控制寄存器Control Register配置传输方向读/写、传输模式单次/循环、中断使能等。总线控制权DMA控制器通过总线仲裁器获得总线控制权从而直接访问内存和外设。2、总线仲裁器Bus Arbiter负责协调多个设备如CPU、DMA控制器、其他外设对总线的访问请求。当DMA控制器请求总线时总线仲裁器会根据优先级策略如固定优先级、轮询优先级等决定是否授予DMA控制器总线控制权。3、内存DMA传输的数据源或目标通常是系统内存RAM或设备内存如显卡的显存。4、外设需要与内存进行数据交换的设备如磁盘、网卡、声卡、显卡等。三、工作流程以磁盘读取为例1、初始化阶段CPU配置DMA控制器的寄存器源地址磁盘控制器的数据端口地址或磁盘缓冲区地址。目标地址系统内存中的目标缓冲区地址。传输长度需要读取的数据量如512字节。控制寄存器设置传输方向为“外设→内存”启用中断。CPU启动DMA控制器并继续执行其他任务。2、DMA控制器接管总线DMA控制器向总线仲裁器请求总线控制权。获得总线控制权后DMA控制器开始执行数据传输从磁盘控制器的数据端口读取数据。将数据写入系统内存的目标缓冲区。重复上述步骤直到传输完成传输长度减至0。3、传输完成通知CPU数据传输完成后DMA控制器清除传输长度寄存器或设置完成标志。向CPU发送中断信号DMA Interrupt。CPU响应中断执行中断服务程序ISR检查DMA控制器的状态寄存器确认传输完成。处理传输完成后的操作如更新文件系统指针、启动下一次磁盘读取等。发送中断结束信号EOI给中断控制器。四、DMA传输模式1、单次传输模式Single Transfer Mode每次DMA传输仅传输一个数据单元如一个字节或一个字。传输完成后DMA控制器释放总线控制权需要CPU重新配置才能进行下一次传输。适用于低速设备或需要精细控制的场景。2、块传输模式Block Transfer Mode一次DMA传输可以传输多个连续的数据单元如一个磁盘扇区的数据。传输过程中DMA控制器持续占用总线直到传输完成。适用于高速设备或大批量数据传输的场景。3、循环传输模式Cycle Stealing ModeDMA控制器在CPU不需要总线时“偷取”总线周期进行数据传输。传输过程中DMA控制器与CPU交替使用总线减少对CPU的影响。适用于对实时性要求较高但数据量不大的场景。4、链式传输模式Chained Transfer Mode使用描述符表Descriptor Table定义多个不连续的传输任务。DMA控制器根据描述符表依次执行多个传输任务无需CPU干预。适用于复杂的数据传输场景如网络数据包分片传输。4、输入输出处理机输入输出处理机I/O Processor简称IOP是计算机系统中独立处理输入输出操作的核心组件其设计目的是减轻主CPU在I/O任务中的负担提高系统整体效率。一、核心功能1、独立执行I/O任务IOP能够脱离主CPU的直接控制独立执行数据传输、设备控制及错误处理等I/O任务。这显著降低了主CPU在I/O操作中的参与度使其能够专注于计算任务。3、数据传输与设备控制IOP负责管理外设与内存之间的数据传输包括PCI和SCSI总线的数据传输、RAID的处理、磁盘驱动器重建等。同时它还控制外设的操作如磁头定位、穿孔等。4、错误恢复与高速缓存管理在I/O操作过程中IOP能够检测并处理错误确保数据传输的准确性。此外它还管理高速缓存提高数据访问速度。二、工作原理1、接收请求CPU向IOP发送I/O请求指定需要执行的操作。2、执行操作IOP根据指令控制外设与内存之间的数据传输并处理相关数据。这一过程中IOP可能使用自身的指令集和逻辑电路运行无需CPU介入每个细节。3、状态报告操作完成后IOP将结果和状态信息反馈给CPU以便后续处理。