计算机组成结构—IO系统概述

        

目录

一、I/O 系统的发展

1. 早期阶段

2. 接口模块和 DMA 阶段

3. 通道结构阶段

4. 处理机阶段

二、I/O 系统的组成

1. I/O 软件

2. I/O 硬件

三、I/O 设备

1. I/O 设备分类

2. I/O 设备的组成


        在计算机中,除 CPU 和主存两大模块之外,第三个重要部分就是 输入输出模块,也叫做 输入输出系统,简写为 I/O 系统

        I/O 系统的主要功能,就是对不同类型数据信息的输入输出,进行高效的控制管理。

一、I/O 系统的发展

        I/O 系统的结构,从简单到复杂,发展主要经历了四个阶段。

1. 早期阶段

        早期的输入输出设备比较少,计算机的结构是以 CPU 为中心的分散连接方式;所有 I/O 设备都直接连接到 CPU ,与主存交换数据必须通过 CPU。

        这样,每个 I/O 设备都必须配备一套独立的逻辑电路与 CPU 连接,线路复杂、难以维护和扩展;而且输入输出数据会打断 CPU 运行,效率比较低。

2. 接口模块和 DMA 阶段

        之后计算机的连接方式发展出了总线结构,I/O 设备通过接口模块与总线相连,通过总线进行数据传输。

        通常,在接口模块中都会设有 数据通路控制通路。数据可以通过接口起到缓冲作用,也可以完成串并转换;控制通路则可以传送 CPU 发来的控制命令,或者向 CPU 发送来自 I/O 设备的反馈信号。许多接口还可以满足中断请求处理的要求,使 I/O 设备和 CPU 可以并行工作。

        为了进一步提高 CPU 的效率,又出现了 直接存储器存取(Direct Memory Access,DMA)技术。在 I/O 设备和主存之间增加一条专门的数据通路,让它们可以直接交换信息,而无需经过 CPU。

        在现代的小型或微型计算机中,一般都会采用接口模块和 DMA 的接口来实现 I/O 设备和主存的数据交换。

3. 通道结构阶段

        对于大中型计算机,I/O 设备数量庞大、数据传输非常频繁,采用 DMA 方式需要为每个设备都配置专用的 DMA 接口,CPU 也需要对众多的 DMA 接口进行管理;控制非常复杂、工作效率也会受到很大影响。

        因此在大中型计算机中,采用 I/O 通道 的方式来进行数据交换。

        通道 可以看作一种从属于 CPU 的专用处理器,专门负责管理 I/O 设备,实现主存和 I/O 设备之间的数据交换。采用通道结构的计算机,I/O 设备的数据传输就全部交给通道来处理,提高了 CPU 的资源利用率。

4. 处理机阶段

        I/O 系统进一步发展,出现了 I/O 处理机。I/O 处理机基本独立于主机工作,又称为 外围处理机。 具有 I/O 处理机的 I/O 系统与 CPU 的并行性更高,进一步解放了 CPU ,提升了 CPU 的工作效率。

二、I/O 系统的组成

        I/O 系统主要由两部分组成: I/O 软件I/O 硬件

1. I/O 软件

        I/O 系统软件的主要功能包括:

  • 将用户编写的程序输入主机;

  • 将运算结果传送给用户;

  • 协调 I/O 系统和主机的工作。

        不同结构的 I/O 系统采用的软件技术不同。

        生活中常见的计算机一般采用接口模块方式,指令系统中需要设置专门的 I/O 指令;调用 I/O 指令并配合系统软件中的管理程序,就可以实现 I/O 设备与主机的协调工作。

        如果采用通道管理方式,除 I/O 指令外,还需要有 通道指令 和相应的操作系统。

(1)I/O 指令

        I/O 指令也是一种机器指令,它的指令格式与普通的机器指令类似。

        上面的 I/O 指令格式中,分为三个字段:

  • 操作码:指明当前是一条 I/O 指令;

  • 命令码:指明 I/O 设备的具体操作;

  • 设备码:用来对多台 I/O 设备进行区分和选择,相当于设备地址。

        其中,命令码一般会包括以下几种情况:

  • 将数据从 I/O 设备输入主机;

  • 将数据从主机输出至 I/O 设备;

  • 状态测试。检测 I/O 设备的状态(”忙“ 还是 ”准备就绪“),来确定接下来是否可以进行数据交换;

  • 形成具体的操作命令。例如磁盘驱动器的磁头读扇区、写扇区、寻找磁道等等。

(2)通道指令

        通道指令是具有通道的 I/O 系统专门设置的指令,又称为 通道控制字(Channel Control Word,CCW),是通道用来执行 I/O 操作的指令。

        这类指令位数一般会比较多,主要功能有:

  • 指明要交换的一组数据在主存中的首地址;

  • 指明要传送数据的字节数,或者在主存中的末地址;

  • 指明所选设备的设备码,以及要完成的具体操作的命令码。

        对于采用了通道结构的计算机,CPU 执行的 I/O 指令就只负责启、停 I/O 设备,查询通道和设备状态以及对通道进行操作控制;而具体的数据传输则交给通道来完成。

2. I/O 硬件

        I/O 系统的硬件组成是多种多样的,不同结构的 I/O 系统硬件组成也会有所不同。

  • 采用接口模块结构的 I/O 系统,硬件主要包括 接口模块I/O 设备 两大部分。I/O 设备通过接口连接到主机;

  • 采用通道或处理机结构的 I/O 系统,硬件主要包括 通道/处理机设备控制器I/O 设备;一个通道/处理机可以和多个设备控制器相连,一个设备控制器又可以控制多台同类型的设备。

    此外,连接各模块的数据通路(I/O 总线)也是 I/O 硬件的一部分。

三、I/O 设备

        计算机硬件系统中,主要由三部分组成:CPU 、主存储器和输入输出设备。输入输出设备和它们对应的接口模块,就构成了输入输出系统。

        CPU 与主存合称 主机,主机之外的大部分硬件设备都可以称为 I/O 设备,统称为 外部设备,简称 外设

1. I/O 设备分类

        从应用场景和功能上看,I/O 设备可以分为三大类:

(1)人机交互设备

        实现用户(操作者)和计算机之间信息交流的设备,又可以分为两类:

  • 输入设备:将人们熟悉的信息形式转换为机器能识别的信息形式,如键盘、鼠标、摄像头等。

  • 输出设备:将机器运算结果转换为人们熟悉的信息形式,如打印机、显示器等。

(2)信息存储设备

        系统软件和各种有用信息,都需要进行存储保留,这就需要能够持久化保存的外部存储设备。这类存储设备一般可以作为计算机的辅助存储器,比如磁盘、光盘、固态硬盘等。

(3)机-机通信设备

        多台计算机之间、或者是计算机和其它系统之间如果需要进行通信,必须借助专门的通信设备。比如调制解调器(Modem),A/D、D/A 转换设备等。

2. I/O 设备的组成

        I/O 设备的基本组成如下:

  • 设备控制器用来控制 I/O 设备的具体动作,不同的 I/O 设备需要完成的控制功能也不同;

  • 机、电、磁、光部件是 I/O 设备的工作部件,与具体功能有关;内部结构涉及到机、电、磁、光工作原理;

  • 现代 I/O 设备一般还会通过 I/O 接口与主机相连。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#中使用Mysql批量新增数据 MySqlBulkCopy

在C#中使用MySqlBulkCopy类来批量复制数据到MySQL数据库,首先需要确保你的项目中已经引用了MySQL Connector。以下是使用MySqlBulkCopy的基本步骤: 1.安装MySQL Connector。 可以通过NuGet安装MySQL Connector: 2.在代码中引用必要的命名空间…

物资材料管理系统建设方案(Word)—实际项目方案

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 4.4.11.7 非功能性需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口…

[线程与网络] Java虚拟机常考面试题(线程与网络完结)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀线程与…

使用 GPT-4 创作高考作文 2024年

使用 GPT-4 创作高考作文 2024年 使用 GPT-4 创作高考作文:技术博客指南 🤔✨摘要引言正文内容(详细介绍) 📚💡什么是 GPT-4?高考作文题目分析 ✍️🧐新课标I卷 人类智慧的进步&…

atomic特质的局限性

为什么在实际的 Objective-C 开发中, 几乎所有的属性都声明为 nonatomic ? 声明为 atomic 的属性我是真的没见过 在实际的 Objective-C 开发中,大多数属性通常声明为 nonatomic,主要原因包括性能考虑和常见的设计模式。具体原因如下: 性能问…

openai 前员工释放出关于AGI的前世今生和未来发展趋势的详细报告

目录 1.引言2.AGI的临近3.投资与工业动员4.国家安全与AI竞赛5.技术挑战与机遇6.项目与政策7.结语8.原文PDF链接PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源 1.引言 2024年,我们站在了一个全新的科技前沿。在这篇文…

【wiki知识库】06.文档管理页面的添加--前端Vue部分

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、🐻前端Vue模块的改造 BUG修改 1.wangeditor无法展示问题 2.弹窗无法正常关闭问题 2.1 添加admin-doc.vue 2.1.1 点击admin-ebook中的路由跳转到admin-doc 2.2.2 进入…

9.2 Go 接口的实现

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

在Ubuntu中进行PX4配置的过程中出现以下报错,且不能正常打开gazebo

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

【MATLAB源码-第222期】基于matlab的改进蚁群算法三维栅格地图路径规划,加入精英蚁群策略。包括起点终点,障碍物,着火点,楼梯。

操作环境: MATLAB 2022a 1、算法描述 蚁群算法(Ant Colony Optimization,ACO)是一种通过模拟蚂蚁觅食行为的启发式优化算法。它由意大利学者Marco Dorigo在20世纪90年代初提出,最初用于解决旅行商问题(T…

Docker高级篇之Docker网络

文章目录 1. Docker Network简介2. Docker 网络模式3. Docker 网络模式之bridge4. Docker 网络模式之host5. Docker 网络模式之none6. Docker 网络模式之container7. Docker 网络模式之自定义网络模式 1. Docker Network简介 从Docker的架构和运作流程来看,Docker是…

LeMeViT:具有可学习元令牌的高效ViT

本文提出使用可学习的元令牌来制定稀疏令牌,这有效地学习了关键信息,同时提高了推理速度。从技术上讲,主题标记首先通过交叉关注从图像标记中初始化。提出了双交叉注意(DCA)来促进图像令牌和元令牌之间的信息交换&…

MATLAB入门知识

目录 原教程链接:数学建模清风老师《MATLAB教程新手入门篇》https://www.bilibili.com/video/BV1dN4y1Q7Kt/ 前言 历史记录 脚本文件(.m) Matlab帮助系统 注释 ans pi inf无穷大 -inf负无穷大 i j虚数单位 eps浮点相对精度 0/&a…

设计软件有哪些?效果工具篇(3),渲染100邀请码1a12

这次我们再介绍一批渲染效果和后期处理的工具。 1、ColorCorrect ColorCorrect是一种图像处理技术,用于调整图像的色彩和对比度,使其更加自然和平衡。通过ColorCorrect,用户可以调整图像的色调、亮度、饱和度等参数,以达到理想的效…

关于CodeCombat(沙漠)布朗噪声的攻略

关于CodeCombat(沙漠)//布朗噪声的攻略 总的来说怎么猥琐怎么来 1.走到墙角骷髅看不到的位置,让宠物制造噪音,然后英雄走过去,就是这样没错(坐标之类能明白) 最后看看运行结果吧 Rec 0002 希望天天开心

FreeRTOS基础(十三):队列集

队列集(Queue Set)通常指的是一组队列,它们可以用于处理不同的任务或数据流。每个队列可以独立地处理自己的元素,但作为一个集群,它们可以协同工作来完成更复杂的任务。下面进行介绍。 目录 一、队列集简介 二、队列…

【JS】理解闭包及其应用

历史小剧场 明朝灭亡,并非是简单的政治问题,事实上,这是世界经济史上的一个重要案例。 所谓没钱,就是没有白银。----《明朝那些事儿》 什么是闭包? 闭包就是指有权访问另一个函数作用域中变量的函数 闭包变量存储位置&…

六、【源码】SQL执行器的定义和实现

源码地址:https://github.com/mybatis/mybatis-3/ 仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/06-sql-executor SQL执行器的定义和实现 之前的Sql执行都是耦合在SqlSession里的,现在要对这部分进行解耦和重构,引…

1奇函数偶函数

文章目录 自变量有理化奇偶性周期性初等函数 自变量 自变量是x,这个还挺奇怪,记住就好 y f ( e x 1 ) yf(e^x1) yf(ex1) 里面 e x e^x ex 只算中间变量,自变量是x 做这些题,想到了以前高中的时候做数学题,不够扎实…

Java 18 的主要新特性和代码演示

默认 UTF-8 从 JDK8 开始,UTF-8 就是 Java SE API 的默认字符集。java.nio.charset.Charset#defaultCharset() 现在默认返回 UTF-8 。现在 Java 的标准 API 都默认使用 UTF-8 编码,目的是让 Java 程序可预测和可移植。在之前, 读取同一个文件…