计算机组成原理知识点总结——第七章输入/输出系统

一、输入输出系统的基本概念

I/O设备就是可以将数据输入到计算机,或者接收计算输出数据的外部设备。例如显示器、鼠标键盘。可统称为外部设备。
在这里插入图片描述
I/O接口:又称I/O控制器设备控制器,负责协调主机与外部设备之间的数据传输。因为I/O设备繁多,所以I/O接口的种类也很多。

(一)I/O控制方式

在这里插入图片描述

  1. 程序查询方式
    CPU执行某程序,发出启动I/O设备指令,而后CPU对I/O接口的状态寄存器进行轮询,判断I/O设备是否响应,如果有则CPU从数据寄存器中的内容进行转存处理,否则进行持续的轮询忙等,造成CPU效率低
  2. 程序中断方式
    CPU执行某程序是,发出I/O启动命令,而后CPU执行其他指令,当I/O设备准备完成后,I/O接口的状态寄存器发出中断请求,CPU在指令执行周期结束后处理中断服务,进行I/O设备响应处理
    在这里插入图片描述
  3. ⭐DMA控制方式(三总线结构)⭐
    DMA接口也是I/O控制器只是为了⭐连接高速外设⭐
    在这里插入图片描述
    主存与高速I/O设备之间有一条直接数据通路(DMA总线)。CPU向DMA接口发出“读/写”命令,并指名主存地址、磁盘地址、读写数据量等参数。
    DMA控制器自动控制磁盘与主存的数据读写,⭐每次只传一个字每完成一整块的数据读写⭐(如1KB为一整块),才向CPU发出一次中断请求
    在这里插入图片描述
  4. 通道控制方式
    为了应对一些大型商用设备会有很多I/O设备,全交给CPU导致CPU资源使用紧张或不足。
    在这里插入图片描述
    通道可以理解为是阉割版的CPU。通过程序编写通道指令,存在内存中,CPU需要对外部设备进行交互时给出I/O指令,并指明I/O设备,然后通道就可以识别I/O指令,从内存中取出通道指令并进行处理,而后将数据存入内存,然后向CPU发出中断请求,CPU对内存中的数据进行处理

(二)I/O系统基本组成

在这里插入图片描述

(三)本章回顾

在这里插入图片描述

二、外部设备

大部分了解,主要是带⭐的知识点

(一)输入设备

键盘
在这里插入图片描述
鼠标
在这里插入图片描述

(二)输出设备

1、显示器
屏幕大小:以对角线长度表示,常用的有12~29尹村
分辨率:所能表示的像素个数,频幕上的每一个光电就是一个像素,以宽、高的像素的乘积表示,例如,800x600
灰度级:灰度级是指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有8位(256级)、16位等。n位可以表示2n种不同的亮度或颜色。
刷新:光点只能保持极短的时间便会小事,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的树蕨生理,刷新率大于30Hz时才不会感到闪烁,通常显示器刷新频率在60~120Hz。
⭐显示存储器(VRAM)⭐:也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
⭐VRAM容量 = 分辨率 X 灰度级位数⭐
⭐VRAM带宽 = 分辨率 X 灰度级位数 X 帧频⭐

2、显示器的分类
在这里插入图片描述
阴极射线管(CRT)显示器
在这里插入图片描述
3、 打印机
在这里插入图片描述
在这里插入图片描述

(三)章节回顾

在这里插入图片描述

三、I/O接口

(一)I/O接口的功能

在这里插入图片描述

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

(二)I/O接口的结构

在这里插入图片描述
内部接口:内部接口与系统总线相连,实质上是与内存、CPU相连。数据的传输方式可能串行也可能并行。
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换的功能。
⭐有的I/O接口可以连接多个设备⭐

(三)I/O接口的工作原理

在这里插入图片描述

  • ①发命令:发送**命令字(控制字)**到I/O控制寄存器,向设备发送命令(这一步需要驱动程序的协助)
  • ②读状态:从状态寄存器读取状态字,获得设备或I/O控制器的状态信息
  • ③读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换

CPU通过地址线确定要读取的I/O端口,通过控制线发出读/写端口信号、中断请求信号。数据总线用于读写数据、传送状态字、控制字、中断类型号。
控制寄存器、状态寄存器在使用时间上是错开的,因此有的I/O接口中可将二者合二为一
I/O控制器中的各种寄存器称为I/O端口。

(四)接口与端口

I/O端口是指接口电路中可以被CPU直接访问的寄存器
在这里插入图片描述
统一编制(RISC机器常用) V.S. 独立编制
在这里插入图片描述
统一编制就是和主存同用一套连续的地址,寄存器地址唯一。独立编制就是主存和I/O设备地址有重复,两套连续地址。需要通过I/O指令来区分是访问主存的指令还是访问I/O端口的指令。

1、统一编制

  • 优点
    不需要专门的输入/输出指令,所有访存指令都可直接访问端口,程序设计灵活性高;端口有较大的编址空间;读写控制逻辑电路简单
  • 缺点
    端口占用了主存地址空间,使主存地址空间变小外设寻址时间长(地址位数多,地址译码速度慢)

2、独立编制

  • 优点
    使用专门的I/O指令,程序编制清晰;I/O端口地址位数少,地址译码速度快;I/O端口的地址不占用主存地址空间
  • 缺点
    I/O指令类型少,一般只能对端口进行传送操作,程序设计灵活性差;需要CPU提供存储器读/写、I/O设备读/写两组控制信号,增加了控制逻辑电路的复杂性。

(五)I/O接口的类型(了解)

在这里插入图片描述

(六)知识回顾

在这里插入图片描述

四、I/O方式

(一)⭐程序查询方式⭐

在这里插入图片描述
⭐优点:接口设计简单、设备量少⭐
⭐缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。⭐

CPU发出I/O指令后,就会开始进入忙等,等待I/O设备处理完后才会结束,所以这段时间内CPU独占资源且只等待外设,造成资源利用率低下。

本节回顾
在这里插入图片描述
⭐注意程序查询方式包含独占查询和定时查询两种方式,定时查询方式的前提是保证数据不丢失的情况下。⭐

(二)中断的作用和原理

在这里插入图片描述

中断的基本概念

程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
在这里插入图片描述
工作流程

  1. 中断请求
    中断源向CPU发送中断请求信号
  2. 中断响应
    判断是否响应中断,某些关中断程序不响应中断请求信号
    中断判优,多个中断源同时提出请求时,根据优先级判断执行顺序
  3. 中断处理
    中断隐指令,即PC指向中断服务地址
    执行中断服务程序

中断请求的分类

在这里插入图片描述
⭐关中断的作用:实现原子操作。⭐
原子操作:即开启关中断后,直至结束关中断期间所执行的指令不允许被打断,一气呵成的执行完毕。
⭐⭐CPU的标志寄存器PSW中,IF=1表示开中断(允许中断);IF=0表示关中断(不允许中断)⭐⭐

中断判优

⭐中断判优既可以用硬件实现,也可用软件实现⭐:
硬件实现是通过硬件排队器实现的,它它既可以设置在CPU中,也可以分散在各个中断源中;软件实现是通过查询程序实现的。
在这里插入图片描述
用软件实现需要写程序,速度会比硬件中断慢。

中断优先级设置

  1. 硬件故障中断属于最高级,其次是软件中断
  2. 非屏蔽中断优于可屏蔽中断
  3. DMA请求优于I/O设备传送的中断请求
  4. 高速设备优于低速设备
  5. 输入设备优于输出设备
  6. 实时设备优于普通设备

中断隐指令
中断隐指令是指一系列的指令,并不是一条指令。

  1. 关中断。 为了中断程序实现原子操作
  2. 保存断点。 将原PC值保存,存入堆栈中。
  3. 引出中断服务程序。 将中断地址传送给程序计数器PC

硬件向量法
在这里插入图片描述
排队器指名中断部件交由中断向量地址形成部件,中断向量形成部件会给出向量地址,通过向量地址找到中断向量,即中断程序在内存中的首地址,然后跳转至中断程序执行。

中断服务程序

  1. 保护现场:使用堆栈或特定存储单元,将通用寄存器和状态寄存器的内容
  2. 中断服务(设备服务):执行中断程序
  3. 恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器中
  4. 中断返回(开中断):通过中断返回指令回到原程序断点处,从堆栈中弹出原PC值。

(三)⭐多重中断⭐

单重中断:执行中断服务程序时不响应其他中断程序
⭐多重中断⭐:又称中断嵌套,执行中断服务程序时可响应新的中断请求
在这里插入图片描述
屏蔽字:CPU在处理某些中断时,需要一个屏蔽字来指明接下来哪些中断请求要被屏蔽。屏蔽字=1表示屏蔽,程序执行过程中不允许被对应设备中断,屏蔽字=0时表示不屏蔽,程序执行过程中允许被该设备中断。

中断屏蔽技术

中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。

  1. 在中断服务程序中提前设置中断指令
  2. 优先级别高的中断源有权中断优先级别低的中断源

每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
在这里插入图片描述
屏蔽字设置的规律

  1. 一般用“1”表示屏蔽,“0”表示不屏蔽,可多重中断
  2. 每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)
  3. 屏蔽字中“1”越多,优先级越高。每个屏蔽字中至少有一个“1”其自身屏蔽自身中断

(四)⭐程序中断方式⭐

在这里插入图片描述
例题

(五)DMA方式

DMA控制器通常用来控制块设备和高速设备,如磁盘。
在这里插入图片描述
当设备中的数据传完一个字到数据缓冲寄存器中,然后设备给DMA请求触发器发送一个1,控制逻辑单元收到高电平给CPU发从总线请求,DMA控制器接管系统总线。
在这里插入图片描述
⭐在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU只能进行等待,只有当DMA传送结束后,CPU才能恢复控制权。⭐

DMA传送方式
在三总线方式中,主存和DMA控制器之间有一条专门的DMA数据通路,因此不通过CPU即可和主存进行数据交互。但是若主存不是双端口主存时,会造成访存冲突,为了有效的使用主存,DMA控制器与CPU通常采用以下3中方法使用主存。

  1. 停止CPU访问
    在这里插入图片描述
    工作状态:DMA控制器工作期间CPU不执行程序。
    优点:控制简单
    缺点:CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率。
  2. DMA与CPU交替访存
    在这里插入图片描述
    工作状态:将一个CPU周期分为两个周期,DMA控制器和CPU分别在一个周期内进行访存。
    优点:不需要总线使用权的申请、建立和归还过程
    缺点:硬件逻辑更为复杂
  3. 周期挪用(周期窃取)
    在这里插入图片描述
    工作状态:这里的周期是指存取周期,DMA访存会出现以下情况:当CPU此时不访存时不产生冲突;CPU正在访存时,在CPU存取周期结束让出总线给DMA控制器;CPU与DMA同时请求访存,则让DMA控制器优先访存

DMA方式的特点
三总线方式,由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,⭐I/O与主机并行工作,程序和传送并行工作⭐
在这里插入图片描述

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

小节回顾
在这里插入图片描述

补充

  1. 中断向量产生的是中断程序入口地址的地址
  2. 从正方向超过了数的表示范围,称为上溢;从负方向超过了数的表示范围,则称为下溢。上溢需要进行中断处理,下溢则视为机器数零,不需要中断处理。
  3. 硬件排队次序决定中断响应次序,中断屏蔽标志决定中断处理次序
  4. DMA中断中,相对CPU,DMA控制器对总线的使用优先级更高
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖安大龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值