计组-输入/输出系统
2020 年 11 月 17 日 196 2830 字 暂无评论

01.基本概念

1.1I/O系统演变过程

  • 早期

    • CPU和I/O串行工作,分散连接。
    • 程序查询方式:由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。

  • 接口模块和DMA阶段

    • CPU和I/O并行工作,总线连接。
    • 中断方式:只有I/O设备准备就绪并向CPU发出中断请求时才予以响应。
    • DMA方式:主存和I/O设备之间有一条直接数据通路,当主存和I/O设备交换信息时,无需调用中断服务程序。

  • 具有I/O通道结果的阶段

    • 在系统中设有通道控制部件,每个通道都挂接若干个外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作。
  • 具有I/O处理机的阶段

1.2I/O系统的基本组成

  • I/O软件

    • I/O指令,CPU指令的一部分
    • 通道指令:指出数据的首地址、传送字数、操作命令,通道指令放在主存中,由CPU执行启动I/O设备的指令,由通道代替CPU对I/O设备进行管理。

  • I/O硬件

    • 包括外部设备、设备控制器和接口、I/O总线等。

1.3I/O方式简介

02.外部设备

外部设备也称为外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。

  • 输入设备

    • 用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
  • 输出设备

    • 用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
  • 外存设备

    • 是指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。

03.I/O接口

接口可以看作是两个部件之间的交接部分。

3.1I/O接口的功能

  • I/O接口(I/O控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。

3.2I/O接口的基本结构

04.I/O方式

4.1程序查询方式

  • 优点:接口设计简单,设备量少。
  • 缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。
  • 程序查询方式接口的结构

4.2程序中断方式

  • 中断的基本概念

    • 程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊情况,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
  • 工作流程

    • 中断请求:中断源向CPU发送中断请求信号。
    • 中断响应:响应中断的条件。中断判优:多个中断源同时提出请求。
    • 中断处理:中断隐指令。中断服务程序。

注:中断隐指令----是指指令系统中没有的指令,它由CPU在中断响应周期自动完成。其功能是保护程序断点、硬件关中断、向量地址送PC(硬件向量法)或中断识别程序入口地址送PC(软件查询法)。

  • 中断请求的分类

  • 中断请求标记

    • 每个中断源向CPU发出中断请求的时间是随机的。
    • 为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为"1"时,表示中断源有请求。
    • 这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。
    • 对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻
  • CPU响应中断必须满足以下3个条件:

    • 中断源有中断请求。
    • CPU允许中断即开中断。
    • 一条指令执行完毕,且没有更紧迫的任务。
  • 实现: 既可以用硬件实现,也可用软件实现
  • 硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中。

  • 软件实现是通过查询程序实现的。

  • 优先级设置:
  1. 硬件故障中断属于最高级,其次是软件中断;
  2. 非屏蔽中断优于可屏蔽中断;
  3. DMA请求优于I/O设备传送的中断请求,
  4. 高速设备优于低速设备;
  5. 输入设备优于输出设备
  6. 实时设备优于普通设备。
  • 中断处理过程:

  • 中断隐指令的主要任务:

    • 关中断:在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确低执行下去。
    • 保存断点:为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。
    • 引出中断服务程序:引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。

      • 可通过软件查询法和硬件向量法
      • 硬件向量法:由硬件产生向量地址,再由向量地址找到入口地址
  • 中断服务程序的主要任务:

    • 保护现场:一是保存程序断点(PC),已由中断隐指令完成;二是保存通用寄存器和状态寄存器的内容,由中断服务程序完成。可以使用堆栈,可以是使用特定存储单元。
    • 中断服务(设备服务):主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。
    • 恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器中。
    • 中断返回:通过中断返回指令回到原程序断点处。
  • 单重中断和多种中断

  • 中断屏蔽技术

    • 中断屏蔽技术主要用于多重中断,CPU要具有多重中断的功能,须满足下列条件。

      • 在中断服务程序中提前设置开中断指令。
      • 优先级别高的中断源有权中断优先级别低的中断源。
    • 每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。

  • 小结
  • 程序中断的作用如下:

    • 实现CPU与I/O设备的并行工作。
    • 处理硬件故障和软件错误。
    • 实现人机交互,用户干预机器需要用到中断系统。
    • 实现多道程序、分时操作,多道程序的切换需借助于中断系统。
    • 实现处理需要借助中断系统来实现快速响应。
    • 实现应用程序和操作系统(管态程序)的切换,称为"软中断"。
    • 多处理器系统中各处理器之间的信息交流和任务切换。

4.3DMA方式

DMA控制器

  • 每准备好一个数据都要中断CPU,由CPU运行中断服务程序来完成一次传送
  • 磁盘机、磁带机等高速设备需要大批量的数据传送->CPU大量时间用于中断服务
  • 硬件实现控制大批量的数据传送->DMA控制器
  • 在DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。其主要功能有:

    • 接受外设发出的DMA请求,并向CPU发出总线请求。
    • CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期。
    • 确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。
    • 规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。
    • 向CPU报告DMA操作的结束。

  • 中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。
  • 控制/状态逻辑:由控制和时序电路及状态标志组成,用于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步。
  • DMA请求触发器:每当I/O设备准备好数据后给出一个控制信号,使DMA请求触发器置位。
  • 主存地址计数器:简称AR,存放要交换数据的主存地址。
  • 传送地址长度计数器:简称WC,用来记录传送数据的长度,计数溢出时,数据即传送完毕,自动发中断请求信号。
  • 数据缓冲寄存器:用于暂存每次传送的数据。

DMA传送过程

DMA传送方式

  • 主存和DMA控制器之间有一条数据通路,因此主存和I/O设备之间交换信息时,不通过CPU。
  • 但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方式使用主存。
  • 停止CPU访问主存

    • 控制简单;
    • CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率。

  • DMA与CPU交替访存

    • 一个CPU周期分为C1C1和C2C2两个周期;C1C1专供DMA访存,C2C2专供CPU访存。
    • 不需要总线使用权的申请、建立和归还过程。硬件逻辑更为复杂。

  • 周期挪用(周期窃取)
  • DMA访问主存有三种可能:

    • CPU此时不访存(不冲突)
    • CPU正在访存(存取周期结束让出总线)
    • CPU和DMA同时请求访存(I/O访存优先

DMA方式的特点

  • 主存和DMA接口之间有一条直接数据通路。
  • 由于DMA方式传输数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
  • DMA方式具有下列特点;

    • 它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。
    • 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
    • 主存中要开辟专用缓冲区,及时供给和接收外设的数据。
    • DMA传送速度快,CPU和外设并行工作,提高了系统效率。
    • DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。

DMA方式与中断方式


版权属于:zfh

本文链接:http://zfhblog.com/index.php/archives/180/



评论已关闭