输入输出系统

概述

外部设备、接口部件、总线以及相应的管理软件统称为计算机的输入/输出系统,简称I/O系统

基本功能

  • 完成计算机内部二进制信息与外部多种信息形式间的交流
  • 保证CPU能够正确选择输入输出设备并实现对其控制,传输大量数据、 避免数据出错
  • 利用数据缓冲、选择合适的数据传送方式等,实现主机与外设间速度的匹配

特点

  • 异步性:外围设备相对于处理机通常是异步工作的
  • 实时性:当外围设备与处理机交互时,由于设备的类型不同,它们的工作步调是不同的,处理机必须按照不同设备所要求传送方式和传输速率不失时机地为设备提供服务,这就要求实时性控制
  • 与设备无关性:各种外部设备必须根据其特点和要求选择一种标准接口和处理机进行连接,它们之间的差别必须由设备本身的控制器通过硬件和软件来填补;这样,处理机本身无须了解外设的具体细节,可以采用统一的硬件和软件对其管理

交换数据的过程

输入过程:

  • CPU把一个地址值放在地址总线上,这一步将选择某一输入设备
  • CPU等候输入设备的数据成为有效
  • CPU从数据总线读入数据,并放在一个相应的寄存器中

输出过程:

  • CPU把一个地址值放在地址总线上,选择输出设备
  • CPU把数据放在数据总线上
  • 输出设备认为数据有效,从而把数据取走

性能

按照主要完成的工作可以分为以下二类:

  • 存储I/O
  • 通信I/O

I/O系统的性能对CPU的性能有很大的影响,若两者的性能不匹配,I/O系统就有可能成为整个系统的瓶颈

评价参数

  • 连接特性:哪些I/O设备可以和计算机系统相连接
  • I/O系统的容量:I/O系统可以容纳的I/O设备数
  • 响应时间:从用户输入命令开始,到得到结果所花费的时间,单位s
  • 吞吐率:单位时间完成的I/O操作次数,单位IOP

输入输出方式

输入输出系统用什么与计算机进行交互

无条件IO

在程序的适当位置直接安排I/O指令,当程序执行到这些I/O指令时,CPU默认外设始终是准备就绪的(I/O总是准备好接收CPU的输出数据,或总是准备好向CPU输入数据),无需检查I/O的状态,就进行数据的传输;

硬件接口电路和软件控制程序都比较简单。输入时,必须确保CPU执行I/O指令读取数据时,外设已将数据准备好;输出时,必须确保外部设备的数据锁存器为空,即外设已将上次的数据取走,等待接收新的数据,否则会导致数据传送出错,但一般的外设难以满足这种要求

程序控制I/O

一种早期计算机采用的输入/输出方式,数据在计算机和外设之间的传送全部靠计算机程序控制;计算机执行I/O指令时,先获取外设状态,并根据外设的状态决定下一步操作

批注 2020-02-20 185443

何时对何设备进行输入输出操作完全受CPU控制,外围设备与CPU处于异步工作关系,数据的输入/输出都要经过CPU

优点: 计算机和外设之间能够同步,控制简单,硬件简单。

缺点: CPU的大量时间用来查询外设的状态。

设备状态字寄存器

用来标志设备的工作状态,以便接口对外部设备进行监视

中断I/O

当外设准备好后,主动通知CPU并进行接收或输出数据的方法

CPU接到外设的通知后暂停现行的工作,转入中断服务程序,和外设交换数据,等中断程序处理完毕后,再返回到被中断的原程序中继续以前被暂停的工作

优点: 节约CPU时间,实时性好。

缺点: 控制电路相对复杂,服务开销较大(现场和断点的保护)。

应用场合: 实时性要求高,且数据传输量又不大的场合。

DMA

完全由硬件执行的I/O交换方式

当外设准备好后,通知DMA控制器,DMA控制器从CPU接管总线,并完成外设和内存之间的大量数据传输;传输完成后DMA控制器将总线控制权交还给CPU,整个数据交换的过程不需要CPU参与

优点: 既有中断的优点,同时又降低了服务开销。

缺点: 控制电路更加复杂。

应用场合: 高速、大批量数据传输。

DMA控制器的两种工作状态

  • 被动态(受控器):未取得总线控制权,受CPU的控制
  • 主动态(主控器):接管并取得总线控制权,取代CPU而成为系统的主控者。

传输步骤

申请阶段:一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号

响应阶段:CPU收到DMA请求信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号

数据传送阶段:CPU对某个设备接口响应DMA请求时,会让出总线控制权;于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预

传送结束阶段:数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权

操作类型

数据传送:把源地址的数据传输到目的地址去(存储器或I/O)

数据校验:不进行数据传输,只对数据块内部的每个字节进行某种校验;这种数据校验一般安排在读数据块之后,以便校验所读的数据是否有效

数据检索:不进行数据传输,只是在指定的内存区域内查找某个关键字节或某几个数据位是否存在

操作方式

  • 单字节传输模式
  • 块传输模式
  • 请求参数模式
  • 级联传输模式

通道和I/O处理机

在复杂的计算机系统中,外围设备的台数一般比较多,设备的种类、工作方式和工作速度的差别很大,为了把对外围设备的管理工作从CPU中分离出来,采用通道或I/O处理机方式

通道是能够专门执行I/O指令的处理机,它可以实现对外围设备的统一管理,以及外设与主存之间的数据传输

I/O处理机是通道方式的进一步发展,它的结构更接近于一般处理机。

中断请求与响应

中断: 是指CPU在正常运行程序时,由于内部/外部事件(或由程序)引起CPU中断正在运行的程序,而转到为中断事件服务的程序中去,服务完毕,再返回执行原程序的这一过程。中断具有 随机性

中断的作用

  • 实现主机与外设之间的并行工作
  • 故障处理
  • 实时处理

中断的类型

  • 内部中断
    • 软件中断
    • 异常
      • 故障(Fault)
      • 陷阱(Trap)
      • 终止(Abort)
  • 外部中断
    • 可屏蔽中断INTR:由外设通过中断请求线向处理器申请而产生的中断,处理器可以用指令来屏蔽(禁止),即不响应它的中断请求
    • 不可屏蔽中断NMI:由系统内部硬件引发的中断,优先级高于外部硬件中断,且不受中断允许标志位的影响,所以是不可屏蔽中断

中断的基本功能

  • 中断请求信号保持与清除

批注 2020-02-20 191316

  • 中断源识别

中断号: 是系统分配给每个中断源的代号,以便识别和处理。中断号在中断处理过程中起到很重要的作用。

  • 中断控制

中断触发方式: 是指外设以什么逻辑信号去申请中断,即边沿触发和电平触发两种方式

中断排队方式: 当系统有多个中断源时,就可能出现同时有几个中断源都申请中断,而处理器在一个时刻只能响应并处理一个中断请求;为此,要进行中断排队。处理器按“优先级高的先服务”的原则提供服务

当CPU正在处理某个中断时,会出现优先级更高的中断源申请中断;为了使更紧急的、级别更高的中断源及时得到服务,需要暂时打断(挂起)当前正在执行的中断服务程序,去处理级别更高的中断请求,处理完成后再返回被打断了的中断服务程序继续执行

但级别相同或级别低的中断源不能打断级别高的中断服务,这就是所谓的中断嵌套

可屏蔽中断可以进行中断嵌套。NMI不可以进行中断嵌套

  • 中断屏蔽

处理器用指令来控制中断屏蔽触发器的状态,从而控制是否接受某个特殊外设的中断请求

处理器内部也有一个中断允许触发器,只有当其为“1”(即开中断),CPU才能响应外部中断

  • 中断优先级

指CPU响应和处理中断请求的先后次序

硬件响应优先序:未被屏蔽的几个中断源同时提出申请时,CPU选择服务对象的顺序由硬件电路实现,用户不能修改

软件服务优先序:在各中断服务程序开头,用软件设置自己的中断屏蔽字,以此改变实际服务顺序

  • 中断的处理

当CPU收到外设的中断请求后,如果当前一条指令已执行完,且允许中断,CPU进入中断响应周期,发出中断应答信号完成一个中断响应周期

读取中断源的中断号,完成中断申请与中断响应的握手过程

批注 2020-02-20 193226

results matching " "

No results matching " "

results matching " "

No results matching " "