计组_输入输出系统

news2024/11/25 22:29:32

2024.08.05:计算机组成原理输入输出学习笔记

第25节 输入输出系统

  • 5.1 IO基本职能
  • 5.2 IO接口的通用结构
  • 5.3 IO数据传送控制方式
    • 5.3.1 程序直接控制(程序查询控制)
      • (1)独占查询
      • (2)定时查询
    • 5.3.2 中断控制(程序中断IO方式)
      • (1)中断响应步骤
      • (2)中断响应的条件
    • 5.3.3 DMA控制
      • (1)三种DMA方式
      • (2)DMA操作步骤
      • (3)DMA与存储系统
      • (4)DMA以虚拟地址还是以物理地址工作?
      • (5)DMA&Cache


  • 输入输出系统控制着计算机和外设之间的交流,计算机(主机)与外设之间交流走的这条路叫做(IO接口),它是一个硬件设备,用来连接外设和主机
  • IO接口就是外设和主机之间进行数据交流的媒介

5.1 IO基本职能

主机侧的称为内部接口:通过IO总线和内存、CPU相连
外设侧的通常称为外部IO接口:通过IO接口电缆(USB线、网线)连接到外设上

在这里插入图片描述

  1. 数据缓冲:主存和CPU寄存器的存取速度非常快,外设速度较低,所以在IO接口中引入数据缓冲寄存器,匹配主机、外设的工作速度
  2. 错误或状态检测:在IO接口中提供状态寄存器保存各种状态信息
  3. 控制和定时:提供控制、定时逻辑,以接受系统总线来的控制命令和定时信号
  4. 数据格式转换:提供数据格式转换部件,使通过外部接口得到的数据转换为内部接口需要的格式或者反着转换

5.2 IO接口的通用结构

在这里插入图片描述


IO接口在主机侧通过IO总线与内存、CPU相连

  • 通过数据线,在数据缓冲寄存器与内存或CPU的寄存器之间进行数据传送 在这里插入图片描述

同时接口和设备的状态信息被记录在状态寄存器中
状态信息就是供CPU去检查一下外设是否准备号去传数据

  • 通过数据线将(状态信息)送到CPU,以供查用

CPU对外设的(控制命令)也通过数据线传送,一般将其送到IO接口的控制寄存器
控制命令走数据线,一般将这些控制命令送到IO接口里面的控制寄存器

  • 因为(状态寄存器)和(控制寄存器)传送方向相反,CPU对他们的访问时间一般都是错开的,所以有的IO接口将它们合二为一
    在这里插入图片描述

地址线用于给出要访问的IO接口中寄存器的地址,它和(读/写控制信号)一起被送到IO接口中的控制逻辑部件中


5.3 IO数据传送控制方式

从刚才我们分析IO接口它的结构的过程中,我们发现如果想要实现外设和CPU之间的数据传输的话,你需要去协调CPU与外设它们彼此之间应该如何配合,那么输入输出系统里面会有三种去控制数据传输的方式

5.3.1 程序直接控制(程序查询控制)

通过程序来定时或持续查询接口方式

  • 优点:简单易控制,外围接口控制逻辑少
  • 缺点:CPU需要从外设接口读取状态,并在外设未就绪时一直处于忙等待(独占查询),由于CPU速度比外设快得多,CPU在等待外设完成任务过程中浪费了很多时间

在这里插入图片描述

(1)独占查询

一旦设备被启动,CPU就一直持续查询接口状态,CPU花费全部时间用于IO操作,此时外设和CPU完全串行工作


(2)定时查询

CPU周期性地查询接口状态,每次总是等到条件满足才进行一个数据的传送,传送完成后返回到用户程序。定时查询的时间间隔与数据传输速率有关


5.3.2 中断控制(程序中断IO方式)

让CPU完全释放出来!

基本思想:外设和CPU并行工作,外设向CPU发出中断请求,在可以响应中断的条件下,CPU再暂时中止正在执行的程序,转去执行中断服务程序为外设服务

在这里插入图片描述
在这里插入图片描述


(1)中断响应步骤

中断响应步骤学习笔记

  1. 关中断
  2. 保存断点
  3. 引出中断服务程序

(2)中断响应的条件

中断响应条件学习笔记

  • CPU要处于开中断的状态
  • 至少要有一个未被屏蔽的中断请求
  • 当前指令刚执行完

5.3.3 DMA控制

DMA是可以跨国CPU直接和内存进行交互的
DMA即直接存储器存取,让外设和内存直接去进行一个数据交换,不需要去通过CPU

通常把专门用来控制总线进行DMA传送的接口硬件称为DMA控制器

DMA传送时,CPU让出总线控制权,由DMA控制器控制总线,通过“挪用”一个主存周期完成和主存之间的一次数据交换,或独占若干个主存周期完成一批数据的交换
在这里插入图片描述
主要用于磁盘等高速设备数据传送:这类设备大多采用成批数据交换方式

采用“请求-响应”方式:中断IO方式请求的是处理器的时间,DMA方式请求的是总线控制权


(1)三种DMA方式

由于DMA控制器和CPU共享主存,所以可能出现二者争用主存的现象,通过这三种方法来让他们协调使用内存

CPU停止法

  • DMA传输的时候,由DMA控制器发一个停止信号给CPU,使得CPU脱离总线,停止访问主存,直到DMA传送一块数据结束

周期挪用法

  • DMA传输时,CPU让出一个总线事物周期,由DMA控制器挪用一个主存周期来访问主存,传送完一个数据后立即释放总线,是一种单字传输方式

交替分时访问法

  • 每个存储周期分成两个时间片,一个给CPU,另一个给DMA控制器,这样在每个存储周期内,CPU和控制器都可以访问存储器

(2)DMA操作步骤

在这里插入图片描述
在这里插入图片描述


(3)DMA与存储系统

没有DMA控制器的,所有对存储器的访问都来自CPU,通过MMU中的地址转换和cache访问来进行存储器存取
在这里插入图片描述
有了DMA后,系统中就有了另一个访问存储器的路径,它不通过地址转换机制和cache层次。这样,在虚拟存储器和cache系统中就会产生一些问题。这些问题的解决通常要结合硬件和软件两方面的技术支持
在这里插入图片描述


(4)DMA以虚拟地址还是以物理地址工作?

  • 如果使用虚拟地址,在DMA接口中就必须将虚实地址转换
    在这里插入图片描述

  • 如果使用物理地址,每次DMA传送就不能跨页
    在这里插入图片描述


(5)DMA&Cache

具有DMA的cache系统也会产生问题。DMA控制器直接向存储器发出访存请求而不通过cache,DMA看到的主存单元值和CPU看到的cache中的副本可能不同
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

衡石分析平台---分析人员手册

分析人员是 HENGSHI SENSE 系统最主要的用户。在企业内部,他们应该是了解相关业务,需要在纷繁复杂的数据中发现数据规律的人。 从岗位上来说,他们可能来自运营部门,需要从日常运营数据中发现用户的使用规律;可能来自销…

【element-tiptap】如何引进系统中的字体?

源码地址: https://github.com/Leecason/element-tiptap 源码中给出的字体如下 可以看到,咱们日常需要的黑体、微软雅黑等都没有,所以这篇文章来探索一下怎么加字体。 另外呢,肯定有小伙伴发现,这个按钮点击的时候&am…

ssm资产管理信息系统+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码请私聊我 需要定制请私聊 目录 摘要 I Abstract II 1 绪论 - 1 - 1.1 研究背景与意义 - 1 - 1.1.1 研究背景 - 1 - 1.1.2 研究意义 …

jQuery——区别onload和ready

区别:window.onload 与 $(document). ready() window.onload 包括页面的图片加载完后才会回调(晚)只能有一个监听回调 $(document). ready() 等同…

echarts图例右侧竖向排列

实操链接戳这里哈 left代表图例在水平放置的位置,有left、center、right top代表图例在垂直方向的位置,有top、middle、bottom width是最主要的,当设置的宽度比较小时,才会迫使图例换行,从而形成竖直排列的现像。 lege…

MySQL:小练习

安装MySQL并且创建库和表 一, windows采用zip安装MySQL1. 卸载已有的MySQL2. 下载zip格式3. 解压缩4. 配置环境变量5. 创建配置文件6. 初始化mysql服务 二, 新建产品库mydb6_product,新建三张表 一, windows采用zip安装MySQL 1. …

【conda】创建、激活、删除虚拟环境

前言一、创建虚拟环境二、删除虚拟环境总结 前言 主要是记录一下步骤 一、创建虚拟环境 地址栏输入cmd,唤起命令符栏目,就可以在指定目录下创建虚拟环境了。 这样方便日后在pycharm直接配置虚拟环境。 conda create -n yolo5-lite python3.9 -y简单来说…

书店仓库管理系统 (论文+源码)-kaic

摘 要 仓库是储存货物的核心,是现代社会物质生产的必要条件。为了保障货物的 质量和准备货物进入市场的工作,一个良好的仓库布局环境尤为重要。例如书店仓库管理中的功能分区不够清晰、书本摆放混乱、通道设计不合理等。因此,我们需要对这些…

3D医学影像开发入门<二>:VS2019+Qt5.15.2+VTK9.3.1编译及环境配置

VTK(Visualization Toolkit)是一个开源的、跨平台的三维可视化开发库,用于处理和可视化三维数据。它提供了一系列算法和工具,用于创建、操作和渲染复杂的三维图形,并支持多种数据表示方式,包括点、线、面、…

传值与传址

目录 前言1.基础2.实际计算 前言 这是在软考中软件设计师有关的考点,关于程序设计基础——传值与传址 1.基础 传值和传址是两种不同的参数传递方式。 传值(传递值)是指将参数的副本传递给函数或方法。在函数或方法中对参数的任何修改不会影…

WebGL 入门学习

1. WebGL是什么? WebGL(Web Graphics Library)是一种JavaScript API,它允许你在不需要安装任何额外插件的情况下,直接在浏览器中渲染高性能的2D和3D图形。WebGL利用了用户的图形处理单元(GPU)来…

竹壳天气时钟(二)第二阶段任务已完成

一、简介 准备用基于esp8266的nodemcu开发板做一个天气时钟。 一步一步记录代码编写过程。 竹壳天气时钟 Bamboo shell weather clock 使用基于esp8266的NodeMCU制作。 计划用竹子做最后成品的外壳,所以才有了这个名称。 第一阶段任务: 1.开启混合模式&…

【吊打面试官系列-微服务面试题】单片,SOA 和微服务架构有什么区别?

大家好,我是锋哥。今天分享关于【单片,SOA 和微服务架构有什么区别?】面试题,希望对大家有帮助; 单片,SOA 和微服务架构有什么区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 …

基于SSM框架学籍管理系统的设计与实现

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 🎓擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号:乡下小哥编程。回复 Java全套视频教程 或 前端全套视频教…

DataStore存储数据+加上加密

如果没有使用SP来存储数据,而是用datastore的话 但是datastore存储是个文件,所以我们需要再加密。 先展示没有加密的存储方式,然后再结合上一节的加密,再将存储的数据进行加密 使用datastore存储数据 添加依赖库 implementat…

心血之作!独家原创改进班翠鸟优化算法IPKO!2024年新算法!效果极佳!

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ ​历经数月,今天又给小伙伴们带了一期独…

IRP学习理解

IRP是Windows内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣例程中进行处理。 irp相当于R3下的消息&#xff0c…

【文档智能】文本文字识别、公式识别、表格文字识别核心算法及思路及实践-DBNet、CRNN、TrOCR

前言 OCR技术作为文档智能解析链路中的核心组件之一,贯穿整个技术链路,包括:文字识别、表格文字识别、公式识别,参看下面这张架构图: 前期介绍了很多关于文档智能解析相关核心技术及思路,本着连载的目的&a…

特斯拉“We, Robot“发布会:Robotaxi亮相,马斯克兑现承诺

在加利福尼亚州伯班克的华纳兄弟电影制片厂,特斯拉举办了以"We, Robot"为主题的发布会,这场活动吸引了全球科技爱好者的目光。特斯拉在此次发布会上展示了其在自动驾驶领域的最新突破,特别是公司CEO埃隆马斯克多年来承诺…

麒麟桌面版v10 SP1以docker方式安装达梦数据库

安装docker 0.切换root用户(可以不切换,但要注意权限问题,我是用root) ymym-pc:~/桌面$ whoami ym ymym-pc:~/桌面$ sudo -i rootym-pc:~# whoami root rootym-pc:~# 1.查看系统版本 [rootlocalhost opt]# cat /etc/os-release…