计算机组成原理:I/O

一、IO设备与IO接口

(一)IO设备

1.IO设备:外部输入输出设备

(二)IO接口

1.基本组成

计算机组成原理:I/O_第1张图片
(1)控制逻辑电路:用于协同控制各个模块

(2)设备选择电路:I/O接口连接多个外部设备,该电路选择需要工作的设备

(3)命令寄存器和命令译码器:对CPU的命令进行译码和存储

(4)设备状态标记:用于判断设备状态

  • 完成触发器D
  • 工作触发器B
  • 中断请求触发器INTR
  • 屏蔽触发器MASK(当CPU正在进行重要操作时,用于屏蔽外部设备请求)

(5)数据缓冲寄存器DBR:将外部设备的数据存入用于CPU通信

2.工作流程

(1)CPU通过命令线发出命令,同时通过地址线给出设备地址给IO接口,选取设备

(2)IO接口通过设备选择电路选择CPU所需外部设备,同时发出命令给外部设备

(3)外部设备给出状态给IO接口,IO接口将相应状态转化为设备状态标记

(4)CPU判断设备状态标记,若可以开始通信,则与IO接口通过数据线进行数据交换

  • 若是读取命令,则外部设备将数据放入数据缓冲寄存器,然后CPU读取
  • 若是写命令,则CPU将数据写入数据缓冲寄存器,然后外部设备读取


二、IO设备与主机信息传送的控制方式

(一)程序查询方式

1.程序查询流程

(1)CPU发出命令,同时给出设备地址

(2)设备读取命令,开始准备

(3)CPU查询设备状态,若设备为准备好,则CPU一直等待不断查询直到设备准备完毕

(4)设备准备完毕,开始数据通信

2.程序查询接口电路

计算机组成原理:I/O_第2张图片
(1)CPU发出命令,给出地址线选择设备

(2)设备读取命令开始启动准备(B触发器为1,D触发器为0)

(3)设备输入数据,设备工作结束(B触发器为0)

(4)CPU判断设备状态,若准备就绪(B触发器为0,D触发器为1),则开始数据通信

3.特点

(1)在查询时,CPU处于等待状态,CPU效率不高


(二)程序中断方式

1.程序中断流程

(1)CPU发出命令,给出地址线选出设备,然后CPU去执行其他工作

(2)设备读取命令,开始准备,若准备就绪,发出中断请求

(3)CPU停止工作,响应中断请求,执行中断服务程序,程序执行完毕,则继续工作

2.程序中断接口电路

计算机组成原理:I/O_第3张图片
(1)CPU发出命令,给出地址线选择设备

(2)设备开始启动(B触发器为1),设备准备工作

(3)设备准备工作结束(B触发器为,D触发器为1),若未被屏蔽(MASK触发器为0),则发出中断请求

(4)CPU查询中断,若检查到中断请求,根据中断优先级(排队器),中断响应

(5)CPU根据中断源找出储存中断程序的向量地址空间,开始执行中断服务程序

3.中断服务程序

(1)单重中断:在执行中断程序时,不允许执行其他中断

  • 保护现场:保存原CPU执行程序的执行空间,进入中断服务程序的执行空间(入栈)
  • 中断服务:开始执行中断服务程序
  • 恢复现场:退出中断服务程序的执行空间(出栈)
  • 中断返回:返回原CPU执行程序的执行空间
  • 开启中断:中断被允许,接收下一次中断

(2)多重中断:在执行中断程序时,可以去执行比它优先级更高的中断

  • 保护现场:保存原CPU执行程序的执行空间,进入中断服务程序的执行空间(入栈)
  • 开启中断:中断被允许,可以接收其他中断
  • 中断服务:开始执行中断服务程序
  • 恢复现场:退出中断服务程序的执行空间(出栈)
  • 中断返回:返回原CPU执行程序的执行空间

4.中断流程总结

(1)中断请求:中断源向CPU发出中断请求

(2)中断判优:判断中断源优先级,先执行优先级最高的

(3)中断隐指令

  • 中断响应
  • 中断服务程序断点入栈
  • 关闭中断
  • 将中断程序的向量地址放入计算机

(4)中断服务程序寻址:根据向量地址查询

(5)执行中断服务程序

5.特点

(1)在设备准备期间,CPU可以去做其他事,相较查询方式效率提高


(三)DMA方式

1.DMA接口组成

计算机组成原理:I/O_第4张图片
(1)AR:主存地址

  • 用于存放于设备交互的数据地址

(2)WC:数据字计数器

  • 一段数据有多个字的内容,而计算机一次只能传输1、2、4、8个字

(3)DAR:设备地址

(4)BR:数据缓冲器

2.DMA工作流程

(1)预处理

  • DMA控制逻辑给出数据方向(输入/输出)
  • 设备地址(DAR)给入DMA
  • 主存给出数据存储首地址(AR)
  • 计数器决定输入数据的字数(WC)
  • 启动设备

(2)数据传送

  • DMA向CPU申请主存控制权(HRQ)
  • 若允许控制,CPU应答(HLDA)
  • CPU控制数据送入主存或设备
  • 计数器开始递减完成数据字传送(WC),随之数据地址变化(AR)
    • 若数据溢出,启动中断机构
  • 数据传送完成,向CPU提出中断

(3)后处理

  • 判断数据是否传输正确
  • 是否继续DMA
  • 判断传输过程是否正确

3.特点

(1)此数据传输方式,不需要CPU直接参与,CPU效率大大提高


三、总结

(一)IO设备数据传输流程

1.CPU给出命令,设备地址

(1)程序查询方式

  • CPU给出读/写命令
  • CPU给出设备地址,指定设备进行数据传送

(2)程序中断方式

  • CPU给出读/写命名
  • CPU给出设备地址,指定设备中断

(3)DMA方式无CPU参与命令

2.数据准备阶段

(1)程序查询方式:数据放入数据缓冲器,CPU等待

(2)程序中断方式:数据放入数据缓冲器,CPU执行其他程序

(3)DMA方式:数据放入数据缓冲器(AR、WC、DAR)

2.向CPU请求,CPU响应请求

(1)程序查询方式:CPU直接参与

(2)程序中断方式:中断源发出中断请求,CPU响应中断服务程序

(3)DMA方式:DMA向CPU发出控制请求,CPU响应请求放弃主存控制权

3.数据传输

(1)程序查询方式:直接进行传输

(2)程序中断方式:CPU响应中断服务程序

(3)DMA方式:DMA与主存交互

  • 修改AR、WC
  • 主存向BR写入,或BR向主存写入

4.结束阶段

(1)程序查询方式:直接结束

(2)程序中断方式:跳出中断服务程序

(3)DMA方式:DMA放弃主存总线控制权


你可能感兴趣的:(计算机组成原理)