【计算机组成原理】IO系统

  • ~3.16K 字
  1. 1. IO控制方式
    1. 1.1. 低速IO设备
    2. 1.2. 高速IO设备
  2. 2. IO系统基本组成
    1. 2.1. IO硬件
    2. 2.2. IO软件
  3. 3. IO接口
    1. 3.1. 作用
    2. 3.2. 工作原理
    3. 3.3. 编址
      1. 3.3.1. 统一编址
      2. 3.3.2. 独立编址
    4. 3.4. 类型
  4. 4. IO方式
    1. 4.0.1. 程序查询方式
  • 5. 程序中断方式
    1. 5.1. 概念
      1. 5.1.1. 工作流程
      2. 5.1.2. 关中断
      3. 5.1.3. 中断请求标记
      4. 5.1.4. 中断判优
    2. 5.2. 中断处理过程
      1. 5.2.1. 中断隐指令
      2. 5.2.2. 中断服务程序
    3. 5.3. 多重中断
      1. 5.3.1. 中断屏蔽技术
    4. 5.4. DMA方式
      1. 5.4.1. 步骤
      2. 5.4.2. 结构
      3. 5.4.3. 特点
      4. 5.4.4. 同时使用主存

  • IO控制方式

    低速IO设备

    IO控制

    数据流:键盘→IO接口的数据寄存器→数据总线→CPU某寄存器→主存(指定变量位置)

    图示

    高速IO设备

    DMA控制方式:

    主存和高速IO设备之间有一条直接数据通路,CPU向DMA接口发出读写命令,指明主存地址、磁盘地址、读写数据量等,DMA控制器自动控制磁盘和主存的数据读写,每完成一整块数据读写,才向CPU发出一次中断请求

    DMA 图示

    通道控制方式:

    通道是一种特殊功能的处理器,可以对IO设备统一管理,它可以识别并执行一系列通道指令

    通道

    IO系统基本组成

    由IO硬件和软件两部分组成

    IO硬件

    包括外部设备,IO接口和IO总线等

    IO硬件

    IO软件

    包括驱动程序、用户程序、管理程序、升级补丁等

    通常采用IO指令和通道指令实现主机和IO设备的信息交换

    • IO指令:CPU指令的一部分

      IO指令

      操作码指明CPU对IO接口做什么,命令码指明IO接口对设备做什么

    • 通道指令:提前编好放在主存中

      在含有通道的计算机中,CPU执行IO指令对通道发出命令,由通道执行通道指令,代替CPU管理IO设备

    IO接口

    包括输入设备,输出设备和外存设备

    作用

    • 数据缓冲:通过数据缓冲寄存器DBR打到工作和外设工作速度的匹配
    • 错误或状态检测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用
    • 控制和定时:接受从控制总线发来的控制信号、时钟信号
    • 数据格式转换:串-并、并-串等格式转换
    • 与主机和设备通信:实现主机-IO接口-IO设备之间的通信

    工作原理

    编址

    统一编址

    统一

    把IO端口当作存储器的单元进行地址分配,可以靠不同地址码区分内存和IO设备,统一的访存类的指令都可以访问IO端口,又称存储器映射方式

    常用于RISC

    优点:

    不需要专门的输入输出指令,所有访存指令都可以直接访问端口,设计灵活性高

    端口有较大编址空间

    读写控制逻辑电路简单

    缺点:

    占用主存地址空间

    外设寻址时间长,位数多,译码速度慢

    独立编址

    独立

    IO端口地址和存储器地址无关,独立编址,靠不同指令区分内存和IO设备,只能用专门的IO指令访问IO端口,又称IO映射方式

    优点:

    使用专用IO指令,程序编制清晰

    IO端口地址位数少,译码速度快

    IO端口地址不占用主存地址空间

    缺点:

    指令类型少,设计灵活性差

    需要CPU提供存储器读写,IO设备读写两组控制信号,增加电路复杂性

    类型

    IO方式

    程序查询方式

    例:x86中的IO指令

    IN Rd, Rs:把IO端口Rs的数据输入到CPU寄存器Rd

    OUT Rd, Rs:把CPU寄存器Rs的数据输出到IO端口Rd

    例:打印几个字符

    • 首先将要打印的字符放入寄存器R0,将OUT的命令字放入寄存器R1
    • 把R1的命令字输出到Rn+1的控制寄存器
    • CPU通过地址线指明输出地址为n+1, 控制线传输写操作
    • IO控制逻辑根据CPU送来的命令字,向对应外设发出对应控制信号
    • 打印机启动并给IO接口返回状态,IO控制逻辑将打印机当前状态存入状态寄存器
    • CPU轮询使用IN指令获取状态寄存器中的状态,判断是否为就绪状态
    • 若某次轮询是就绪状态,CPU可以给打印机输出第一个字符,首先通过地址线指明输出地址为Rn,控制线传输写操作,通过数据线把第一个字符写入数据缓冲寄存器Rn
    • IO控制逻辑把Rn内的当前字符信息通过线输出给打印机,打印时返回忙碌状态,完成后通过状态接口返回,同样通过IO控制逻辑处理
    • CPU轮询到就绪状态后继续重复上述操作,传入第二个字符
    • 所有字符输出后,打印机最后给IO控制逻辑返回完成状态,当CPU判断所有数据输出完成,CPU给Rn+1控制寄存器发出一个停机命令,通过IO控制逻辑传给打印机,打印机停止
    流程图

    程序中断方式

    概念

    执行某些程序的过程中,出现某些急需处理的情况或请求,CPU暂时中止现行操作,对这些异常情况进行处理,处理完后又自动回到先行程序的断点处,继续执行原程序

    工作流程

    • 中断源向CPU发送中断请求信号
    • 若处于关中断状态,则不响应中断信号
    • 否则响应中断条件,若多个中断源同时提出请求,中断判优逻辑选择响应一个中断源
    • 中断处理:通过中断隐指令改变PC的指向,执行中断服务程序

    关中断

    作用:实现原子操作

    当CPU的PSW寄存器中IF位为1时,表示开中断,否则为关中断

    有一种非屏蔽中断在关中断时也会被响应(如掉电)

    中断请求标记

    终端系统对每个中断源设置中断请求标记触发器INTR,状态为1时,表示中断原有请求,这些触发器组成中断请求标记寄存器

    对于外中断,CPU在统一时刻即每条指令执行阶段结束前向接口发出中断查询信号,来获取IO中断请求,即响应中断的时间是指令执行阶段的结束时刻

    响应中断满足条件:

    • 中断源有中断请求
    • CPU处于开中断
    • 一条指令执行完毕,且没有更紧迫的任务

    中断判优

    • 硬件实现:硬件排队器
    • 软件实现:查询程序
    中断判优

    优先级设置:

    优先级

    中断处理过程

    中断隐指令

    主要任务:

    • 关中断:为了保存中断现场期间不被新的中断打断
    • 保存断点:保证中断服务程序执行完毕后能正确回到原来程序,把原来程序的断点(PC的内容)保存起来,可以存入堆栈或指定单元
    • 引出中断服务程序: 取出中断服务程序入口地址并传给PC
      • 软件查询法
      • 硬件向量法
    硬件向量

    中断服务程序

    • 保护现场:保护通用寄存器和状态寄存器的内容,以便返回原程序后可以恢复CPU环境,可以使用堆栈或特定存储单元
    • 中断服务:主体部分,如键盘输入,打印机输出
    • 恢复现场:通过出栈或取数指令把之前保存的信息送回寄存器中
    • 中断返回:开中断,通过中断返回指令回到原程序断电处

    多重中断

    执行中断服务程序时可能响应新的中断请求

    中断屏蔽技术

    用于多重中断,CPU要具备多重中断的功能,要满足下列条件:

    • 中断服务程序中提前设置开中断指令
    • 优先级高的中断源有权中断优先级低的中断源

    每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起构成一个屏蔽字寄存器,内容称为屏蔽字

    • 一般用1表示屏蔽,0表示正常申请
    • 每个中断源对应一个屏蔽字,在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字
    • 屏蔽字中1越多,优先级越高,每个屏蔽字中至少有一个1,能屏蔽自己的信号

    DMA方式

    步骤

    结构

    特点

    特点

    同时使用主存

    当CPU和IO设备同时访问主存时,可能发生冲突,DMA和CPU通常有以下三种方式使用主存:

    赞助喵
    非常感谢您的喜欢!
    赞助喵