红魔咖啡馆

头发越掉越多,头发越掉越少

0%

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

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通常有以下三种方式使用主存: