【计算机组成原理】七、输入/输出系统:2.I/O接口、I/O控制方式

2024-09-01 19:20

本文主要是介绍【计算机组成原理】七、输入/输出系统:2.I/O接口、I/O控制方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

I/O接口、I/O控制方式

2. I/O接口

文章目录

  • I/O接口、I/O控制方式
    • 2. I/O接口
      • 2.1 I/O接口的作用
      • 2.2 结构
      • 2.3 工作原理
      • 2.4 I/O端口
      • 2.5 分类
    • 3. I/O控制方式
      • 3.1程序查询方式
      • 3.2程序中断方式
        • 3.2.1中断系统
        • 3.2.2工作流程
        • 3.2.3多重中断与==中断屏蔽技术==
        • 3.2.4程序中断方式
      • 3.3DMA控制方式
        • 3.3.1工作流程
        • 3.3.2传送方式
      • DMA方式vs中断方式
      • 3.4通道控制方式

详见:操作系统 - 5.输入输出(I/O)管理 - 2. I/O 控制器

I/O接口:又称I/O控制器(I/O Controller)、设备控制器,负责协调主机与外部设备之间的数据传输。

2.1 I/O接口的作用

数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设工作速度的匹配;

错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用;

控制和定时:接收从控制总线发来的控制信号、时钟信号;

数据格式转换:串-并、并-串等格式转换;

与主机和设备通信:实现主机一I/o接口一I/o设备之间的通信。

2.2 结构

在这里插入图片描述

主机测:内部接口:内部接口与系统总线相连,实质上是与内存、CPU相连。

设备测:外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。

在这里插入图片描述

2.3 工作原理

在这里插入图片描述

  • 如何确定要操作的设备?

每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备。

2.4 I/O端口

I/O端口是指接口电路中可以被CPU直接访问的寄存器

  • 接口interface

    • 端口port
      • 数据端口、数据寄存器:读写
      • 控制端口、控制寄存器:只能写
      • 状态端口、状态寄存器:只能读
    • 控制逻辑
  • 如何访问I/O端?

2种方式:统一编制、独立编址。

  1. 统一编制

把l/O端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问I/O端口,又称存储器映射方式。靠不同的地址码区分内存和l/O设备,I/O地址要求相对固定在地址的某部分。

优点

  1. 不需要专门的输入/输出指令,所有访存指令都可直接访问端口,程序设计灵活性高;
  2. 端口有较大的编址空间;
  3. 读写控制逻辑电路简单。

缺点:端口占用了主存地址空间,使主存地址空间变小外设寻址时间长(地址位数多,地址译码速度慢)。

  1. 独立编址

I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称I/O映射方式。靠不同的指令区分内存和I/O设备。

优点:使用专用I/O指令,程序编制清晰I/O端口地址位数少,地址译码速度快I/O端口的地址不占用主存地址空间。

缺点:

  1. I/O指令类型少,一般只能对端口进行传送操作,程序设计灵活性差;
  2. 需要CPU提供存储器读/写、I/O设备读/写两组控制信号,增加了控制逻辑电路的复杂性。

有个图找不到了

2.5 分类

按数据传送方式可分为

  1. 并行接口:一个字节或一个字所有位同时传送
  2. 串行接口:一位一位地传送。

注:这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,接口要完成数据格式转换。

按主机访问I/O设备的控制方式可分为

  1. 程序查询接口
  2. 中断接口
  3. DMA接口

按功能选择的灵活性可分为

  1. 可编程接口
  2. 不可编程接口

3. I/O控制方式

详见:操作系统 - 5.输入输出(I/O)管理 - 3. I/O 控制方式

在这里插入图片描述

CPU如何控制键盘I/O的完成?

3.1程序查询方式

程序查询方式:CPU不断轮询检查l/O控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从“数据寄存器”取出输入数据。

这个阶段CPU需要一直检查,进行忙等,CPU与I/O串行工作,而无法去做其他的事情,效率很低。

  • 优点:接口设计简单、设备量少。
  • 缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且如果采用独占查询,则在一段时间内只能和一台外设交换信息,效率大大降低。

分类:

  1. 独占查询:CPU 100%的时间都在查询l/O状态,完全串行。
  2. 定时查询:在保证数据不丢失的情况下,每隔一段时间CPU就查询一次I/O状态。查询的间隔内CPU可以执行其他程序。

在这里插入图片描述

程序查询流程图:

在这里插入图片描述

列题

在这里插入图片描述

3.2程序中断方式

3.2.1中断系统

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

中断分类:

在这里插入图片描述

3.2.2工作流程

工作流程:

  1. 中断请求

    • 中断源向CPU发送中断请求信号。

    • 中断请求标记触发器INTR

      对于外中断:CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。

  2. 中断响应

    • 响应中断的条件:
      1. 中断源有中断请求;
      2. CPU允许中断即开中断。(“关中断”则不响应中断);
      3. 一条指令执行完毕,且没有更紧迫的任务。
    • 中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源
      • 中断判优既可以用硬件实现,也可用软件实现:
        • 硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;
        • 软件实现是通过查询程序实现的。
      • 中断判优-优先级:
        1. 硬件故障中断属于最高级,其次是软件中断;
        2. 非屏蔽中断优于可屏蔽中断;
        3. DMA请求优于I/O设备传送的中断请求;
        4. 高速设备优于低速设备;
        5. 输入设备优于输出设备;
        6. 实时设备优于普通设备。
  3. 中断处理

    • 中断隐指令
      1. 关中断:原子操作,需要关中断;
      2. 保存断点:保存原程序的PC值
      3. 引出中断服务程序:PC指向中断服务程序的第一条指令。
    • 中断服务程序
      1. 保护现场:保存通用寄存器状态寄存器的内容,以便返回原程序后可以恢复CPU环境;
      2. 中断服务(设备服务、中断要做的主体);
      3. 恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器。

中断处理流程图:

在这里插入图片描述

在关中断、开中断这中间的一段原子操作不能再进入新的中断。所以只允许一个中断服务程序的就是单重中断

3.2.3多重中断与中断屏蔽技术

单重中断:执行中断服务程序时不响应新的中断请求。

多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。

在这里插入图片描述

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

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

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

中断屏蔽字设置的规律:

  1. 一般用**'1’表示屏蔽(高优先级)**,'0’表示正常申请;
  2. 每个中断源对应一个屏蔽字(在处理该中断
    源的中断服务程序时,屏蔽寄存器中的内容
    为该中断源对应的屏蔽字);
  3. 屏蔽字中’1’越多,优先级越高。每个屏蔽
    字中至少有一个’1’(至少要能屏蔽自身的中断)。

例题:

在这里插入图片描述

3.2.4程序中断方式

程序中断方式:等待键盘I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。

在这里插入图片描述

详细:

在这里插入图片描述

  • PC值:中断隐指令自动保存(硬件完成);
  • 通用寄存器、中断屏蔽字:操作系统保存;
  • 块表(TLB)和Cache:硬件机构保存。

例题:

在这里插入图片描述

3.3DMA控制方式

而对于快速I/O设备,如“磁盘”,每准备好一个字就给CPU发送一次中断请求,会导致CPU需要花大量的时间来处理中断服务程序,CPU利用率严重下降。


DMA接口,即DMA控制器,也是一种特殊的I/O接(I/O控制器)。

DMA控制方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线)。CPU同DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。

(三总线方式)

DMA控制器自动控制磁盘与主存的数据读写(每传送1个字);每完成一整块数据读写(如1KB为一整块),才向CPU发出一次中断请求

在这里插入图片描述

3.3.1工作流程

(单总线方式)

在这里插入图片描述

DMA详细传送过程:

在这里插入图片描述

3.3.2传送方式

用于解DMA和CPU的访存冲突

在这里插入图片描述

DMA方式vs中断方式

在这里插入图片描述

3.4通道控制方式

有的商用中型机、大型机可能会接上超多的I/O设备,如果都让CPU来管理,那么CPU就太累了…

通道:可以理解为是“弱鸡版的CPU”。通道是一种特殊的处理器,可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一。

在这里插入图片描述

这篇关于【计算机组成原理】七、输入/输出系统:2.I/O接口、I/O控制方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127827

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在