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


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

    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控制器对总线的使用优先级更高
  • 相关阅读:
    2023年软件测试常见面试题
    Juc并发编程
    Nginx站点访问基础问题
    云计算HCIA学习笔记-云计算基础概念
    KafkaQ - 好用的 Kafka Linux 命令行可视化工具
    SpringBoot 统一功能处理
    ssm小微企业人事管理系统的设计与实现毕业设计源码261630
    利用Bat批处理文件将.resources转换为.resx文件
    java使用POI导入excel并记录一个读取xlsx报错
    嵌入式 定时器/定时器中断实验
  • 原文地址:https://blog.csdn.net/weixin_44546342/article/details/126555298