计算机组成原理 第八章 输入输出系统(慕课学习笔记)
8.1 输入输出系统概述
输入输出系统的组成:外围设备、接口组件、通信通道以及管理系统共同构成计算机的输入/输出系统(缩略为I/O系统)。
2.I/O系统的基本功能
完成计算机内部二进制信息与外部多种信息形式之间的高效通信;
确保中央处理器能够准确选择输入输出设备并对其实施有效控制,高效地传输海量数据,最大限度地减少数据传输过程中的错误发生;
通过合理运用数据缓冲机制及优化数据传送路径等手段,确保主机与外设之间能够达成预期的速度匹配效果。
3.I/O系统的特点
- 异步工作特性:外围装置通常以异步方式进行工作;
- 当外围装置与处理器互动时,由于装置类型的不同会导致工作节奏差异。处理器需根据各装置所需的数据传输方式及速率及时提供服务以满足需求。因此便形成了实时性控制。
- 各种外部装置需基于自身特性选择合适的标准接口并连接至处理器。各装置间的差异需由控制器通过硬件和软件手段进行填补以确保一致性。这样一来处理器无需深入了解具体装置细节即可统一管理。
4.输入/输出设备同CPU交换数据的过程
输入过程:
-
CPU将一个地址值加载到地址总线上,并确定输入设备。
-
CPU等待输入设备的数据确保其有效性。
-
CPU从数据总线读取数据并存储至指定寄存器。
-
CPU将一个地址值放置于地址总线上,并负责选择输出设备;
-
CPU将计算所得的数据传输至数据总线;
-
输出设备接收到有效信号后会接收并带走该数据。
I/O系统的性能
主要依据完成的工作 可以将I/O系统划分为:存储设备(如硬盘或SSD);网络通信接口
如果两者性能不匹配 ,可能导致整个系统运行效率低下
主要评价参数:
- 连接特性:该类I/O设备与计算机系统之间能够实现的数据传输特性是什么?
- I/O系统的规模:该类I/O设备与计算机系统之间能够支持的最大数量。
- 系统的响应时间:从接收用户的操作指令到获得计算结果所需的时间;主要由该类I/O系统的响应时间和CPU的工作效率两个方面组成。
- I/O吞吐率:在特定时间段内执行完成的任务数量;通常用单位时间内可处理的任务数量来衡量。
8.2 输入输出方式
- 非条件的输入输出工作模式
- 程序控制型的输入输出操作
- 中断型的输入输出机制
- DMA的工作流程
- 通道型的数据传输模式
- I/O处理器的工作流程
在程序合理配置下直接安排相应的I/O指令,在其运行至相关指令时,CPU默认认为所有外设均处于待命状态(即所有I/O操作要么随时准备接收来自CPU的输出数据,要么随时准备接受来自其他设备的数据输入),因此无需进行状态检测即可完成数据传输;对于硬件接线及软件控制逻辑较为简单的系统而言,在输入操作前需确认相关外设已充分准备好接收相应数据,而在输出操作前应确保目标设备的数据锁存器处于空闲状态(即目标设备已清空上次存储的数据并等待新的输入),否则可能会导致传输过程出现错误.然而,在多数应用场景下这类严格的要求很难得到满足.
一种早期计算机采用的输入/输出方式,数据在计算机和外设之间的传输全部依赖计算机程序控制 ;当计算机执行I/O指令时会首先接收外设的状态信息并据此规划下一步的操作流程。
程序查询的I/O原理
当系统执行查询指令时会动态地向目标数据库发送查询请求并通过分析返回结果来优化后续的操作步骤。
- 程序首先发送给I/O设备一条I/O命令字指令;
- 程序从I/O设备中获取当前的工作状态信息ic值;
- 检查状态字中的标志位设置情况,判断是否允许完成数据传输操作;
- 当发现设备未处于就绪状态时,则重新进入上一步骤并重复查询;一旦确认准备好后,则发送准备好通知。
- CPU与接口的数据缓冲寄存器进行通信,并在此过程中将接口的状态标记归零。

设定期望字寄存器
◆用于标识设定期望的状态信息,并便于接口对外部设定期望进行监控。
◆CPU通过程序访问设定期望位来识别设定期望的状态信息。
由此可见, 设定期望字寄存器是设定期望对主机的一个窗口pane, 主机能够实时获取有关该设定期望的信息以制定相应的操作策略.
◆该设定期望字又称为设定期望字(DSP), 它包含了所有关于该设定期望的各种状态信息, 每个触发器对应一个特定的状态.
程序控制/O方式的特性在于:所有输入输出操作均由CPU发起,并非外设自主决定;此外,在这种模式下,外围设备与中央处理器之间采用的是异步工作状态,并非同步;最后,在数据处理的过程中需要确保所有传输环节都必须经过中央处理器。
优点:计算机与外围设备实现了同步功能,系统控制较为简便,整体架构较为简洁
缺点:中央处理器占用了过多的时间来进行外围设备状态的查询
当外设处于准备好状态时,向CPU发起请求以进行数据接收或发送
CPU接收到外设的通知后暂时停顿当前任务,并切换至中断服务程序以与外设进行数据交换。当中断服务程序处理完毕时,在返回原程序之前需暂且终止当前任务以供后续操作。
优点:该方法能够有效降低CPU运行时间,并具有良好的实时性表现。 缺点:该系统的控制电路架构较为 intricate,在实现功能时可能会导致较高的维护成本(包括对现场和断点进行保护的额外开销)。 应用场合:最佳适用场景是那些对实时响应有较高需求,并且数据传输量有限的环境。
4、DMA方式
是一种完全由硬件 执行的I/O交换方式
准备好后向DMA控制器发出指令,该控制器从中央处理器接手总线,并负责外设与内存之间的大量数据传输;在数据传输完毕后,DMA控制器将对总线的控制权移交给中央处理器.整个数据交换过程无需中央处理器直接参与.
优点:既有中断的优点,同时又降低了服务开销
缺点:控制电路更加复杂
在现代计算机系统中,各种类型的外围设备数量较多,由于它们在功能、运行模式以及处理速度上存在显著差异,因此需要一种有效的管理方法以将对外围设备管理工作的负担从中央处理器(CPU)上移除,为此人们提出了采用通道或I/O处理机的方式来实现资源的最佳利用
通道 具备专门执行1/O指令的能力。
通道 具备专门执行1/O指令的能力。
I/O处理机 是通道方式的进一步发展 ,它的结构更接近于一般处理机。
8.3 中断请求与响应
对于中断而言,它是CPU在正常执行任务时因触发条件(不论是硬件还是软件引发)而暂时停止当前作业并进入服务该事件的相关程序的状态。这种状态通常伴随着不可预测的时间间隔,并且完成服务后会转回继续执行原任务的状态。
中断作用(主要承担故障处理与实时响应) :
负责协调组织主机与外设间的并行操作流程
故障处理:当发生故障时启动相应的服务程序以应对问题

内部事件:来自中央处理器的内部操作
外设事件:由外设通过发送特定信号到处理器完成的请求流程
不可屏蔽事件NMI :由系统内部固件或硬件模块引发的事件,具有比外部硬件事件更高的优先级等级,其状态不受是否允许该中断位受制于允许标志位的影响,因此属于不可屏蔽事件类别。
可屏蔽事件:外设通过发送特定信号到处理器完成的请求流程,处理器可以通过启用相关指令来暂时阻止这些请求处理,从而实现对相关事件的有效遮蔽。
中断系统的基本功能:
1、中断请求信号的保持与清除(硬件实现)

2、中断源的识别
中断号是系统分配给每个中断源的一个代号;用于识别和处理。
CPU根据类型对不同的中断源进行处理。
3、中断控制
中断触发方式:是指外设如何通过何种逻辑信号去申请中断,并包含边沿触发与电平触发两种方法
中断排队方式:(多个中断源同时发送中断请求时需通过队列机制实现资源分配)处理器需优先处理具有更高优先级的任务
根据任务优先级等级的要求, 给每个中断源分配一个CPU响应优先级, 紧急的任务最先得到处理, 非紧急的任务则稍后再处理. CPU会按照一定的轮转顺序依次对各个中断源发出中断请求.
Interrupt Nesting:
When the CPU is handling an interrupt, a higher-priority interrupt may attempt to access the interrupted service. To ensure higher priority interrupts are immediately serviced, the current running interrupt service must be preempted (paused) temporarily to address the higher-priority request. Once this higher-priority service is completed, the paused service will be resumed in its original state.
However, lower-priority or same-priority interrupts are not allowed to preempt higher priority services; this is known as interrupt nesting.
Shielded interrupts can still employ nested interrupt handling. Non-maskable interrupts (NMI) cannot be nested.
间隔屏蔽机制:
》处理器通过特定指令来调节间隔屏蔽状态,以此决定是否接收来自特定外设的超时信号.
》处理器内置了一个间隔允许开关,仅在该开关处于"1"状态(即允许间隔)时,中央处理单元才会处理来自外部设备的超时信号.
4.Interrupt Priority
●Hardware Priority Order: When multiple interrupt sources are unblocked simultaneously,CPU selects the service target in accordance with the hardware circuitry, which cannot be altered by the user.
●Software Service Priority Order: At the beginning of each interrupt service routine, a specific bit mask is set by the software to determine its actual processing order.
5、断路器处理机制设计
●**断路器响应周期:**当主控制器(CPU)接收到外设发来的断路器请求时,在当前正执行的一条指令已完毕的前提下(即在允许的情况下),主控制器将进入断路器响应周期并发出应答信号来完成一次断路器响应循环。
●**断路器响应:**主控制器将对所接收到的断路器源进行解析,并在此基础上完成相应的操作以实现与该源的有效通信。
●断路器处理:
- 标志位的处理以及断点的位置维护:当处理器检测到外部中断时,会先保存当前状态(即返回地址),同时关闭保护机制。
- 将从当前位置转移到指定位置,并启动相应的服务流程。
- 当服务流程完成时,则会恢复到指定位置以便继续执行。


8.4 DMA方式
数据传输无需经过CPU,由DMA控制器(DMAC)负责执行内存与外设、外设与外设之间的高效直接传输。(适用于对高速大规模数据传输要求较高的系统)
DMA控制器作为主设备之一:

DMA控制器与IO接口集成:

DMA控制器提供专门IO总线:

DMAC有两种工作状态:
被动模式(控制器):未获得总线管理权限,在中央处理器下执行任务。
主动模式(控制器):接手并获得总线管理权限,并替代中央处理器角色成为系统管理者。
DMA传输步骤:
申请阶段: 设备接口尝试通过总线直接向另一个设备发送大量数据, CPU将发起DMA请求信号;
响应阶段: 当CPU接收到DMA请求信号时,在下一个总线周期开始时, 根据DMA优先级和顺序响应相应的DMA请求;
数据传送阶段: CPU接收到DMA响应后, 腾出总线控制权限, DMA控制器负责完成与外设及存储器之间的数据交换;
传送结束阶段: 数据传输完成后, 设备接口会发送DMA结束指令, 恢复总线控制权。
DMA操作类型:
数据传送 :将源地址的数据通过传输通道发送至目的地址(如存储器或I/O设备)。
数据校验 :该过程仅对每个字节执行特定检验,其主要目的是确保每组被读取的数据均为有效状态,通常在读取操作完成之后立即执行此类验证操作。
数据检索 :该操作仅限于特定内存区域,在此区域内搜索特定关键字节或某些特定位的状态。
DMA操作方式:
单字节传输模式 :每次完成一次DMA操作后会立即释放总线。
块传输模式 :该模式下系统会依次连续发送多一字节数据。每当完成一字符的数据发送时,系统会根据方向性调整地址寄存器值(即按方向递增或递减)。直到累计发送完毕(当前计数器归零)后才重新释放总线。
请求传输模式 :在该机制下,DMA控制器需向外设发起查询指令。若外设请求信号无效则暂停发送数据(不释放总线);当接收到有效的外设请求信号后则允许继续执行数据发送操作。
级联传输模式 :该系统采用多片DMA控制器进行级联工作,从而实现主从式的数据传递机制。
请求传输模式
在启动数据传输操作时, DMA先发出指令让CPU暂时松开对总线的所有权,随后开始完成数据转移工作。一旦全部数据传输完毕后, DMA立即释放总线权限并通知CPU可以重新使用内存资源
在这种DMA传送过程中, CPU基本处于不工作状态或者说保持状态。
优点:
操作简便,该方案特别适合于那些具有高数据传输率的装置来进行成组传送.
缺点:
在DMA控制器访问内存的过程中,内存资源未能得到充分释放,相当一部分内存工作周期处于闲置状态.这是因为任何两个连续数据之间的传输间隔通常都大于系统内的存储周期长度,即使是速度极快的I/O设备也难以避免这种情况.
2、周期挪用:
当I/O设备无DMA请求时,CPU将遵循指令读取或写入内存;一旦I/O设备存在DMA请求,则由其占用若干个内存周期。
在处理DMA传送任务时,I/O设备可能会经历以下两种情况:
第一种情况是当CPU在执行任务时不占用内存时,此时I/O操作不会干扰CPU的任务执行,因此在这种情况下,I/O操作不会影响到CPU程序的运行;
第二种情况是当CPU也在请求内存访问时会产生内存访问冲突,在这种情况下,I/O操作会优先于CPU完成内存访问请求。
优点:
不仅实现了I/O传送功能,并且有效利用了内存和CPU资源的一种广泛采用的方法。
缺点:
每次进行I/O操作时都会经历申请、建立和释放总线控制权的过程;传输一个字符需要占用一个完整的周期时间单位。
3、DMA与CPU交替访问内存: (完全透明的DMA模式) 如果CPU的工作周期远长于内存访问周期,则采用 DMA 与 CPU 交替访问内存的方式可显著提升系统的吞吐量。
优点:
这种方式无需总线使用权的申请、建立和归还过程,总线使用权是通过分时操作进行,这种总线控制权的转移几乎无需时间投入,因此对DMA传送而言效率非常高。
缺点:
硬件结构较为复杂
