计算机组成原理 | 第五章:输入输出系统 | 程序中断方式

文章目录

  • 概述
    • I/O系统的概述
    • 输入输出系统的组成
    • I/O设备与主机的联系
    • I/O设备与主机信息传送的控制方式
  • I/O接口
    • 为什么要设置接口❓
    • 接口的功能和组成
    • 接口和端口
  • 程序查询方式
    • 程序查询流程
      • 查询流程
      • 程序流程
    • 接口电路
  • 程序中断方式
    • 中断相关概念
      • 中断的概念
      • 中断的分类
    • 程序中断的接口电路
      • 配置中断请求触发器和中断屏蔽触发器
      • 排队器(链式排队器)
      • 中断向量地址形成部件
      • 程序中断方式接口电路的基本组成
      • 程序中断处理过程
        • 划个重点
        • 中断判优补充
    • 中断服务程序流程
      • 中断服务程序流程
      • 单重中断与多重中断⭐️
    • 中断流程总结
  • DMA方式
    • DMA传送方式(关注周期挪用⭐️)
    • DMA接口的功能和组成(了解)
    • DMA传送过程
  • 小结
    • 本章掌握要点

概述

I/O系统的概述

  • 组成:外部设备、接口部件、总线以及相应的管理软件统称为计算机的输入输出系统,简称I/O系统
  • 功能
    • 完成计算机内部二进制信息与外部多种信息形式间的交流
    • 利用数据缓冲,选择合适的数据传送方式等,实现主机与外设间速度的匹配
  • 特点
    • 异步性:外围设备相对于处理机通常是异步工作
    • 实时性: 当外围设备与处理机交互时,由于设备的类型不同,它们的工作步调是不同的,处理机必须按照不同设备要求的传送方式和传输速率不失时机地为设备提供服务,这就要求实时性控制
    • 与设备无关性:各种外部设备必须根据其特点和要求选择一种标准接口和处理机进行连接
  • 数据交换过程
    • 输入
      • CPU将一个地址放在地址总线
      • 选择某一输入设备,CPU等待输入设备的数据有效
      • CPU从数据总线读入数据
      • 并放在相应的寄存器
    • 输出
      • CPU将一个地址放在地址总线上,选择输出设备
      • CPU把数据放数据总线
      • 输出设备认为数据有效,从而把数据取走
  • 性能

    按照主要完成的工作可以分成以下两类:存储I/O、通信I/O;I/O系统的性能对CPU的性能有很大影响。

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

输入输出系统的组成

  • I/O软件
    • I/O指令:CPU指令的一部分
      操作码 命令码 设备码
      识别I/O指令 做什么操作 对哪个设备操作
    • 通道指令:通道自身的指令
      • 指出数组的首地址、传送字数、操作命令
  • I/O硬件
    • I/O接口、设备控制器、通道

I/O设备与主机的联系

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第1张图片

I/O设备与主机信息传送的控制方式

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第2张图片

  • 无条件I/O方式:在程序的适当位置直接安排I/O指令,当程序执行到这些I/O指令时,CPU默认外设始终是准备就绪的
    • 输出:I/O总是准备好接收CPU的输出数据
    • 输入:外设总是准备好向CPU输入数据
  • 程序查询方式:其特点是主机与I/O串行工作
  • 程序中断方式:其特点是主机与I/O并行工作,传送与主程序串行工作
  • DMA方式:其特点是主机与I/O并行工作,传送与主程序并行工作
  • 通道方式:CPU把部分权利下放给通道,提高CPU效率,但硬件代价更大
  • I/O处理机方式:实质是多机系统,效率更大提升

I/O接口

为什么要设置接口❓

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第3张图片

接口的功能和组成

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第4张图片

  • 功能和组成对照表格
    组成 功能
    设备选择电路 选址功能
    命令寄存器、命令译码器 传送命令的功能
    数据缓冲寄存器 传送数据的功能
    设备状态标记 反映设备状态的功能
    • 针对反映设备状态的功能
      • 完成触发器D
      • 工作触发器 B
      • 中断请求触发器 INTR
      • 中断请求触发器 INTR

接口和端口

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第5张图片
计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第6张图片


程序查询方式

程序查询流程

查询流程

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第7张图片

程序流程

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第8张图片

  • 保护寄存器内容:由于这种方式传送数据时要占用CPU中的寄存器,故首先要将寄存器原内容保护起来(若存有有用信息)
  • 设置计数值:由于传送往往是一批数据,因此需先设置I/O设备与主机交换数据的计数值
  • 设置主存缓冲区首址:设置欲传送数据在主存缓冲区的首地址

接口电路

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第9张图片

  1. 当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路
  2. 若该接口的设备码与地址线上的代码吻合,其输出SEL有效
  3. I/O指令的启动命令经过“与非”门将工作触发器B置为“1”,将完成触发器D置“0”
  4. B触发器启动设备工作
  5. 输入设备将数据送至数据缓冲寄存器
  6. 由设备发设备工作结束信号将D置“1”,B置“0”表示外设准备就绪
  7. D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”
  8. CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元

程序中断方式

中断相关概念

中断的概念

CPU在正常运行程序时,由于内部/外部事件引起CPU中断正在进行的程序,而转为中断事件服务的程序中去,服务完毕,再返回执行原程序的这一过程。

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第10张图片

  • 这一过程具有随机性,可提高效率
  • 总之,“中断”技术为了提高计算机的整体效率为了应付突发事件,为了实时控制的需要

中断的分类

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第11张图片
计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第12张图片

程序中断的接口电路

配置中断请求触发器和中断屏蔽触发器

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第13张图片

排队器(链式排队器)

  • 处理器在一个时刻只能相应并处理一个中断请求,因此需要中断排队
  • 硬件:集中在CPU内或分散于接口电路中(链式排队器);软件详见第八章

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第14张图片

中断向量地址形成部件

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第15张图片

程序中断方式接口电路的基本组成

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第16张图片

程序中断处理过程

  1. CPU启动I/O设备命令,将接口中的B置“1”,D置“0”
  2. 接口启动输入设备开始工作。
  3. 输入设备将数据送入数据缓冲寄存器。
  4. 输入设备向接口发出设备工作结束信号,将D置为“1”,B置为“0”,标志设备准备就绪
  5. 设备准备就绪(D=1),且本设备未被屏蔽(MASK=0)时在指令执行阶段的结束时刻,向CPU发出中断查询信号
  6. 设备中断请求触发器INTR被置为“1”标志设备向CPU提出中断请求。与此同时,INTR送至排队器,进行中断判优
  7. 若CPU 允许中断EINT=1),设备又被排队器选中,即进入中断相应阶段。由中断响应信号INTA将排队器输出送至编码器形成向量地址。
  8. 向量地址送至PC,作为下一条指令的地址
  9. 由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后,即无条件转至该设备的服务程序入口地址,开始执行中断服务程序。进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至CPU的通用寄存器,再存入主存相关单元
    10.中断服务程序的最后一条指令是中断返回指令,当其执行结束时,即中断返回至原程序的断点处。至此结束。

好多呀,记不住

划个重点

  • 一次中断过程包括:中断请求、中断屏蔽(用于多重中断,详见第八章)、中断判优、中断响应、中断处理、中断返回
  • CPU响应中断时间:当D=1且MASR=0时,在当前指令结束时,CPU发中断查询信号(j将INTR置“1”)
  • CPU响应中断条件:允许中断触发器EINT=1(所有中断必须条件)
    • 用开中断指令将EINT置“1”
    • 用关中断指令将EINT置“0”或硬件自动复位
  • 中断相应信号(INTA) 将排队器输出送至编码器形成向量地址。

中断判优补充

  • 中断判优:多个中断源同时提出请求,其硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,又可以分散在各个中断源中,其软件实现是通过查询程序实现的
  • 优先级设置
    • 硬件故障优于软件中断
    • 非屏蔽中断优于可屏蔽中断
    • DMA请求优于I/O设备传送的中断请求
    • 高速设备优于低速设备
    • 输入设备优于输出设备
    • 实时设备优于普通设备

中断服务程序流程

中断服务程序流程

  • ①保护现场
    • 程序断点的保护,由中断隐指令完成
    • 寄存器内容的保护,由进栈指令完成
    • 关于中断隐指令的功能
      • 关中断:保护中断现场不被新的中断所打断
      • 保存断点:将原程序的断点(即PC(程序计数器)的内容)保存起来
      • 引出中断服务程序:取出中断服务程序的入口地址并传送给PC
  • ②中断服务:主体部分
  • ③恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器
  • ④中断返回:通过中断返回指令回到程序断点处

单重中断与多重中断⭐️

  • 单重中断:不允许中断现行的中断服务程序
  • 多重中断:又称中断嵌套,允许级别更高的中断源中断现行的中断服务程序

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第17张图片

  • 单重中断中,由于执行中断时不会被其他中断打断,所以只需要在中断返回前打开中断。
  • 多重中断的情况下,在执行中断服务程序的过程中允许被优先级更高的中断打断,所以需要在进入中断服务程序前打开中断
  • 中断屏蔽技术(详见第八章)主要用于多重中断,需满足条件
    • 在中断服务程序中提前设置开中断指令
    • 优先级别高的中断源有权中断优先级别低的中断源

中断流程总结

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第18张图片


DMA方式

DMA 和程序中断两种方式的数据通路
计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第19张图片

DMA传送方式(关注周期挪用⭐️)

DMA接口的功能和组成(了解)

  • DMA接口功能
    计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第20张图片
  • DMA接口组成
    计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第21张图片

DMA传送过程

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第22张图片

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


计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第23张图片

与中断方式相比,CPU对DMA方式响应速度更快:因为两种方式的交换速度相差很大,CPU必须以更短的时间间隔查询并响应DMA请求(一个存储周期末)


小结

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式_第24张图片

本章掌握要点


参考博客
I/O系统(部分图片来源)

你可能感兴趣的:(计算机组成原理,输入输出系统,程序中断方式,DMA方式)