【计算机组成原理】输入输出(I/O)系统总结——基本知识要点汇总

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

【此部分内容与总线部分的知识联系密切,总线相关知识详细见本栏文章《总线系统总结——基本知识要点汇总》


【更新日志】

最近更新:

  • 暂时没有编辑记录,后续会持续完善优化
计算机统考408考纲要求

2021计算机统考408考纲计算机组成原理学科考察目标

  • 理解单处理器计算机系统中各部件的内部工作原理、组成结果以及相互连接方式,具有完整的计算机系统的整机概念
  • 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法
  • 能够综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,对一些基本部件进行简单设计,并能对高级程序设计语言(如C语言)中的相关问题进行分析

2021计算机统考408计算机组成原理考纲变动情况
在这里插入图片描述
2021计算机统考408考纲对输入输出(I/O)系统部分考察要求
在这里插入图片描述

I/O系统概述

发展:

  • 早期阶段:I/O设备种类较少,I/O设备与主存信息交换须通过CPU(即I/O设备与CPU直接串行相连)
    在这里插入图片描述
    每个I/O设备都须配有一套独立的逻辑电路与CPU相连,用来实现I/O设备与主机之间的信息交换,线路散乱复杂;CPU运算耗费时间长;增添、撤减或更换I/O设备困难

  • 接口模块和DMA阶段:I/O设备通过接口模块与主机连接(采用总线结构)
    在这里插入图片描述

  • 通道结构阶段:通道是用来负责管理I/O设备,实现主存与I/O设备间信息交换的部件,可以视为一种具有特殊功能的处理器。通道有专用的通道指令,能独立地执行用通道指令编写的输入输出程序,但不是完全独立的处理器,它依据CPU的I/O指令进行启动、停止或改变工作状态,是一个从属于CPU的专用处理器。依赖通道管理的I/O设备在与主机交换信息时,CPU不直接参与管理,故提高了CPU的资源利用率

  • I/O处理机阶段:I/O处理机又称为外围处理机,基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。具有I/O处理机的输入输出系统与CPU的并行性更高,有更大的独立性

【详细见本栏文章《总线系统总结——基本知识要点汇总》总线结构部分】

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

  • I/O软件:包括驱动程序、用户程序、管理程序、升级补丁等,通常采用I/O指令(CPU指令的一部分)、通道指令实现CPU和I/O设备的信息交换
  • I/O硬件:I/O接口、接口总线、总线、外部设备

基本功能:

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

概况说即完成信号转换、数据暂存、地址译码、控制设备、暂存设备状态等功能

特点:

  • 异步性,即外围设备相对于处理机通常是异步工作的
  • 实时性
  • 与设备无关性

性能:

  • 按主要完成的工作可分为存储I/O、通信I/O
  • I/O系统的性能对CPU性能有很大影响,若两者性能不匹配,I/O系统可能成为整个系统的瓶颈
  • 连接特性(哪些I/O设备可以和计算机系统相连)
  • I/O系统的容量(I/O系统可容纳的I/O设备数)
  • 响应时间(通常由I/O系统响应时间和CPU的处理时间构成,单位通通常为秒)和吞吐率(单位时间完成的I/O操作次数)

I/O接口(I/O控制器)

基本结构:
在这里插入图片描述

功能:

  • 主机和外设通道的通信联络控制
  • 进行地址译码和设备选择
  • 实现数据缓冲
  • 信号格式的转换
  • 传送控制命令和状态信息

I/O端口及其编址: 通常将I/O设备码看作地址码,对I/O地址码的编址可采用两种方式:统一编制或不统一编址,详细见下文I/O设备同主机的联系方式

I/O设备同主机的联系方式

I/O端口: 接口电路中可被CPU直接访问的寄存器,主要有

  • 数据端口(读写)
  • 状态端口(读)
  • 控制端口(写)

I/O设备编址方式: 通常将I/O设备码看作地址码,对I/O地址码的编址可采用两种方式:统一编制或不统一编址

  • 统一编址:将I/O端口地址看做是存储器地址的一部分,所用指令与访存指令相似
    在这里插入图片描述
  • 不统一编址:将I/O地址和存储器地址分开,所有对I/O设备的访问必须有专用的I/O指令
    在这里插入图片描述

设备寻址: 每台设备都赋予一个设备号,当要启动某一设备时,可由I/O指令的设备码字段直接指出该设备的设备号,通过接口电路中的设备选择电路,便可选中要交换信息的设备

传送方式: 串行方式或并行方式

联络方式: 按I/O设备工作速度的不同,可分为三种联络方式

  • 不需要定时的设备采用立即响应方式,只要指令一到,它们便立即响应

  • 异步定时工作采用应答信号联络
    在这里插入图片描述

  • 同步定时工作采用同步时标联络

不同速度I/O设备与CPU的定时与控制详细见下文,与总线相关知识详细见本栏文章《总线系统总结——基本知识要点汇总》总线通信与总线控制部分

I/O设备与主机的连接方式:

  • 辐射式连接方式
    在这里插入图片描述
  • 总线连接方式
    在这里插入图片描述

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

I/O设备同CPU交换数据的过程

  • 输入过程:
    (1)CPU地址译码选择设备
    (2)CPU等待输入数据有效
    (3)CPU读入数据并将其放在相应寄存器
  • 输出过程:
    (1)CPU地址译码选择设备
    (2)CPU将数据放在数据总线上
    (3)输出设备认为数据有效,从而将数据取走

I/O设备与CPU的定时与控制

由于不同I/O设备速度差异很大,为保证CPU与外部设备工作有序,在进行数据传送时,对于不同速度的外围设备,需要有不同的定时方式与控制方式

简单外围设备:

  • CPU和这类设备的数据交换不需要定时,CPU认为它们始终处于就绪状态,例如机械开关, CPU认为输入设备的数据一定就绪,因为只要根据开关的闭/合就可以输入0/1信号

  • CPU和这类设备的数据交换一般采用无条件传送方式

慢速外围设备:

  • 由于这类设备的速度和CPU的速度不在一个数量级上(如打印机),或由于设备本身是在不规则时间间隔下操作的(如键盘)。因此CPU与这类设备之间通常采用异步定时方式
    ○ 输入:CPU读取外部设备的状态位,如果数据就绪则通过数据总线输入数据,否则循环等待直到数据就绪;或者由外部设备在数据就绪时通知CPU,CPU通过数据总线输入数据
    ○ 输出:CPU读取外部设备的状态位,如果状态就绪则通过数据总线输出数据,否则循环等待直到外设就绪;或者由外部设备在状态就绪时通知CPU,CPU通过数据总线输出数据
  • CPU和这类设备的数据交换一般采用程序查询方式或者中断方式

高速外围设备:

  • 由于这类外设是以相等的时间间隔操作的,则CPU可以用等间隔的速率执行输入/输出指令。因此CPU与这类设备之间的通常采用同步定时方式。例如外设的速度是2400B/s,则CPU每隔1/2400执行一次输入指令即可
  • CPU和这类设备的数据交换一般采用DMA方式或通道方式

I/O设备控制方式

无条件I/O方式

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

程序控制I/O方式(程序查询方式)

  • 数据在计算机和外设之间的传送全部靠计算机程序控制,计算机执行I/O指令时,先获取外设状态,并根据外设的状态决定下一步操作
  • 程序向I/O设备发出I/O命令字——>
    读取I/O设备工作状态信息——>
    检查状态字中的标志——>
    若设备未准备就绪,则返回上步重复查询(即踏步等待,CPU和I/O串行工作),否则发出设备准备就绪的信号——>
    CPU与I/O接口的数据缓冲寄存器进行数据交换,接口中的状态标志复位
    在这里插入图片描述
    在这里插入图片描述

中断I/O方式(程序中断方式)

中断I/O方式概述:

  • 当外设准备好后,主动通知CPU并进行接收或输出数据的方法
  • 当CPU接到外设的通知后暂停现行的工作,转入中断服务程序,和外设交换数据,等中断程序处理完毕后,再返回到被中断的原程序中继续以前被暂停的工作
  • 优点:节约CPU时间,实时性好
  • 缺点:控制电路相对复杂,服务开销较大
  • 应用场合:实时性要求高,且数据传输量不大的场合

中断概念: 计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,转而处理异常或特殊请求,处理完毕后CPU又自动返回现行程序断点处
在这里插入图片描述

  • 可屏蔽中断:硬件中断的一类,可通过在中断屏蔽寄存器中设定位掩码来关闭
  • 非可屏蔽中断:硬件中断的一类,无法通过在中断屏蔽寄存器中设定位掩码来关闭。不可屏蔽中断请求信号NMI用来通知CPU,发生了“灾难性”的事件,如电源掉电、存储器读写出错、总线奇偶位出错等。NMI线上中断请求是不可屏蔽的(即无法禁止的)、而且立即被CPU锁存

在这里插入图片描述
中断过程(可屏蔽中断):

  • 中断请求:外设通过中断请求输入线INTR给出中断请求
  • 中断判优:同一时刻出现多个请求时,CPU按中断优先级的高低通过中断请求应答线INTA对优先级别最高的中断给予响应
    软件——程序查询
    硬件——硬件排队器
    优先级——硬件>软件;非屏蔽>屏蔽;DMA>I/O;高速>低速;I>O;实时>普通
  • 中断响应:CPU在每一条指令执行结束之后,即转入公操作时才受理设备的中断请求,这样才不至于使当前指令的执行受到干扰。每当一条指令执行完毕,CPU便检查外设的中断请求信号,若中断请求信号为1,并且CPU内部的中断管理部件的中断屏蔽触发器为0时,(为1时CPU不响应外设的中断)则CPU通过INTA引脚给出中断响应输出信号,转入中断周期
    响应中断的条件:中断源有中断请求;CPU允许中断及开中断;一条指令执行完毕,没有更紧迫的任务
  • 保存断点:中断前CPU将执行的下一条指令的地址(即程序计数器PC的值与状态寄存器)推入堆栈,以便于在中断服务结束之后能返回中断的主程序继续执行原来的程序
  • 关闭中断:为了在中断服务过程中CPU不再被新的中断源的中断请求打扰,将中断屏蔽触发器置1
  • 中断地址形成:中断地址是中断服务子程序入口地址,即运行服务程序在内存中的起始地址
  • 转入中断服务处理程序
  • 保护现场:在中断处理之前须把中断处理将要使用的寄存器的数据压入堆栈加以保护,这个过程称为保存现场
  • 执行中断服务处理程序:为提出中断请求的设备服务
  • 恢复现场:将原来推入堆栈的通用寄存器的数据弹出,恢复响应中断之前的程序的运行状态
  • 开放中断:为了在中断服务结束之后,CPU能够响应新的中断源的中断请求,将中断屏蔽触发器置0
  • 恢复断点:恢复程序计数器PC以及状态寄存器的内容,使处理器从被中断的主程序的下一条指令继续运行
  • 返回主程序继续执行

在这里插入图片描述
在这里插入图片描述

单重中断(单极中断):

  • 在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断
  • 采用串行排队链法(称为菊花链法)来实现具有公共请求线的中断源判优识别

在这里插入图片描述
多重中断(多级中断):

  • 如果CPU暂停现行的中断服务程序,转去处理新的中断请求,这种中断为多重中断,又称中断嵌套
  • 根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。优先权高的中断级可以打断优先权低的中断服务程序

在这里插入图片描述

  • 系统为每一级中断配有一个中断请求触发器保存外设的中断请求,一个系统若有n级中断,在CPU中就有n个中断请求触发器,总称为中断请求寄存器
  • 系统为每一级中断配有一个中断屏蔽触发器决定是否响应外设的中断请求,一个系统若有n级中断,在CPU中就有n个中断屏蔽触发器,总称为中断屏蔽寄存器

在这里插入图片描述
多重中断与单重中断的区别在于多重中断在保护现场后需要开中断,以便响应更高优先级的中断请求,而在恢复现场前又需要关中断,恢复现场的过程不能被中断

DMA方式

DMA方式概述:

  • 优点外设准备好后,通知DMA控制器,DMA控制器从CPU接管总线,并完成外设和内存之间的大量数据传输;传输完成后DMA控制器将总线控制交还给CPU
  • 优点:既有中断的优点,又降低了服务开销
  • 缺点:控制电路复杂
  • 应用场合:高速、大批量数据传输

DMA概念: 直接内存访问技术,在DMA方式下,外部设备利用专门的接口电路直接和内存进行高速的数据交换,不需要CPU的干预。这样在进行数据传输时就不需要像中断那样要进行保护断点之类的一系列操作,使CPU的利用率得到大幅度的提高

DMA特点:

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

基本DMA控制器:

  • 外设准备进行DMA操作时,DMA控制器必须能够接收外设发来的DMA请求信号,并向CPU发送总线请求信号
  • CPU接收到总线请求信号后,如果同意放弃总线,向DMA控制器发送总线请求应答信号
  • DMA控制器得到总线控制权后,能向地址总线发地址信号指示出写入数据的内存单元或者读出数据的内存单元,因此DMA控制器中必须有地址寄存器存放读写数据的起始内存单元的地址。而且每传送一个字节,会自动对地址寄存器进行修改,指向下一个要传送的字节
  • DMA控制器应该能判断DMA过程是否结束,即一次传送的字节数,因此 DMA控制器必须有字节计数器,用来存放要传递的字节数,并且每传递一个字节,字节计数器自动减1
  • DMA过程结束时,DMA控制器能向CPU发DMA中断结束信号,交还总线控制权。

在这里插入图片描述
DMA传送过程: 如果外设向内存传送一个数据块(输入过程),使用DMA方式时,系统按照下面的过程动作:

  • CPU 向地址寄存器写入起始地址,向字节计数器写入字节数
  • 外设准备好数据后向DMA发送一个DMA请求
  • DMA控制器发总线请求,得到CPU的允许信号取得总线控制权
  • DMA控制器中的地址寄存器的内容送地址总线
  • DMA控制器向外设发送确认DMA传输信号,用来通知外设将数据送到数据总线
  • 数据总线上的数据送到地址总线所指示的内存单元
  • 地址寄存器的值加1,指示下一个数据存放的内存单元
  • 字节计数器的值减1
  • 如字节计数器的值不为0,则回到第4步,否则DMA过程结束

在这里插入图片描述
DMA传送方式:

  • 停止CPU访问主存:当外围设备要求传送一批数据时,由DMA控制器发一个总线请求信号给CPU,要求CPU放弃地址线、数据线和控制线的使用权。 DMA控制器获得总线控制权后,开始进行数据传送。在一批数据传送完后,DMA控制器通知CPU可以使用内存,并把总线控制权还给CPU

在这里插入图片描述

  • DMA与CPU交替访存:将CPU周期一分为二,一半由DMA控制器使用,一半由CPU使用。时间上不会发生冲突,这种方式只适用于CPU的指令周期比主存存取周期长的情况下

在这里插入图片描述

  • 周期挪用(周期窃取):当I/O设备没有DMA请求时,CPU按程序要求访问内存,一旦I/O设备有DMA请求,则DMA控制器挪用一个或几个内存周期

在这里插入图片描述

DMA方式与中断方式对比:
在这里插入图片描述

通道和I/O处理机方式

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

  • 通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将传输控制的功能下放给通道后只负责数据处理功能
  • 通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的平行工作,进一步提高了CPU的效率
  • 具有通道的计算机系统具有两种类型的总线,一种是存储总线,承担通道与内存、CPU与内存之间的数据传输任务。另一种是通道总线,承担外围设备与通道间的数据传送任务
  • 从逻辑结构上讲,输入输出系统一般具有四级连接:CPU与内存<——>通道<——>设备控制器<——>外围设备

在这里插入图片描述
通道的基本功能: 执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断等,具体含以下几项任务:

  • 接受CPU的I/O指令,与指令指定的外围设备进行通信
  • 从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令
  • 组织外围设备和内存之间进行数据传送,根据需要提供数据缓存空间,以及提供数据存入内存的地址和传送的数据量
  • 从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用
  • 将外围设备的中断请求和通道本身的中断请求,按次序及时报告CPU

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

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

猜你喜欢

转载自blog.csdn.net/bay_Tong/article/details/113530428