[Linux]计算机软硬体系结构

news2024/9/20 17:34:09

[Linux]计算机软硬体系结构

文章目录

  • [Linux]计算机软硬体系结构
    • 冯诺依曼体系结构
      • 冯诺依曼体系结构的组成
      • 冯诺依曼体系结构中各部件的功能
      • 对存储器(内存)的理解
      • 对数据流的理解
    • 了解操作系统
      • 操作系统的概念
      • 管理的概念
      • 管理的本质
      • 管理的精髓“先描述,再组织”
      • 计算机软硬体系结构(部分)
      • 操作系统的管理策略
      • 编程语言和计算机体系结构的关系
      • 计算机软硬体系结构(整体)

冯诺依曼体系结构

冯诺依曼体系结构的组成

**现代计算机大多都遵守冯诺依曼体系结构。**冯诺依曼体系结构的示意图如下:

image-20230803114138672

冯诺依曼体系结构计算机由五大部件组成:

  1. 输入设备

  2. 输出设备

  3. 存储器(内存)

  4. 运算器

  5. 控制器

    注:如今大多的计算机都将运算器和控制器集成到一起,被称作中央处理器,简称CPU。

冯诺依曼体系结构中各部件的功能

冯诺依曼体系结构中各部件的功能如下:

  1. 输入设备:接受外部传入的数据并传入计算机。常见的输入设备有:键盘、话筒、摄像头、网卡、磁盘。
  2. 输出设备:接受计算机的计算结果。常见的输出设备包括:显示器、音响、网卡、磁盘。
  3. 存储器:对数据进行预加载,提高整机的效率。
  4. 运算器:完成各种算数运算和逻辑运算。
  5. 控制器:控制整个计算机能够有条不紊地工作、自动执行程序。

对存储器(内存)的理解

在谈关于存储器的理解前,首先我们要知道如下概念:

  • 输入设备和输出设备统称为外设设备,简称为外设。
  • 外设和CPU的部件相比速度是非常慢的。

由于CPU和外设速度差异很大,因此计算机不能被设计成如下结构:

image-20230803122039339

由于CPU和外设速度差异很大,CPU很快就完成了数据的计算并将数据传到输出设备,然后CPU要等待输入设备的数据传入,CPU会存在很多不必要的空档期,这样大大的降低了CPU的效率,这就如同木桶原理:

image-20230803121556142

由于外设的速度太慢导致整机的速度降低。

为了提高整机的效率,冯诺依曼体系结构将存储器部件加入了进来,存储器的速度相比外设要快很多并且有着一定的容量,在CPU运算前,存储器会预先加载大量的数据,往后CPU要进行运算时只需要从存储器获取数据,由于存储器预先存储了大量的数据,CPU可以向存储器不断的获取数据,不存在空档期,因此CPU就感受不到速度的差异,从而提高整机效率。

总结:

  • 在数据传输层面,CPU只与存储器进行数据交互。

  • 在数据传输层面,外设只与存储器进行数据交互。

根据如上对体系结构的理解,可以得知计算机要执行一个程序,首先要从磁盘这种外设加载到存储器中,然后CPU通过存储器获取数据来执行程序。

对数据流的理解

两台计算机的数据传输示意图如下:

image-20230803131142796

两台计算机的数据传输流程:设备1的输入设备接收数据和请求然后传入存储器,CPU对存储器的数据和请求做处理,然后将数据和请求传回存储器,存储器将数据数据和请求传到输出设备中,输出设备将数据和请求传入到设备2的输入设备中,设备2同设备1将数据和请求经输入设备到存储器到CPU到存储区最后到数据设备输出。

了解操作系统

操作系统的概念

操作系统是一款进行软硬件资源管理的软件

管理的概念

为了更好理解管理的概念,我们来看如下场景:

一个学校中要举办编程大赛,学校中有校长,辅导员,学生三种角色。

image-20230803133656536

  • 校长决定编程大赛在下个月举办,要求全部学生必须参加,并且将全部学生的成绩进行统计。

  • 辅导员得到校长的决策后,就召集全部学生开启大会,告知学生学校编程大赛的消息,筹备大赛,并在后续完成成绩统计工作。

  • 学生得知校长的决策后,就开始着手准备编程大赛的准备工作。

在如上的场景中,校长所作的内容就是做决策,辅导员所作的内容是将决策落地,也就是执行决策,学生所作的内容是参与决策的执行。

image-20230803134622207

在学校举办编程大赛的场景下,校长作为管理者,所要做的主要工作就是对任务做决策。决策编程大赛的举办时间,参与大赛的对象以及大赛相关所需要做的工作。因此我们可以看出管理的核心就是对事情相关的部分做决策。

管理的本质

同样是学校的场景,学校中有校长,辅导员,学生三种角色。

image-20230803133656536

在学校中,校长要管理学生考入时入学处理,对成绩优异的学生进行奖励,成绩不合格的学生的退学处理等等,在管理每一个学生时校长不需要跟每一个学生都进行交流,但是校长却能管理好每一个学生,校长管理每一个学生的依据是学生信息,比如入学时将学生的信息记录到学校中,查看学生的成绩信息就成绩优异的学生进行奖励,查看学生的成绩信息对成绩较差的学生进行退学处理,以上这些学生信息都可以称作数据,因此管理的本质是对数据的管理。其中校长作为管理者,其数据的来源是辅导员进行统计学生的信息然后上交给的校长,校长做出决策后执行决策的也是辅导员。

管理的精髓“先描述,再组织”

由于管理的本质是对数据的管理,为了更好的对数据进行管理,需要对数据进行建模,比如对于一个学生来讲,可以创建一个结构体来描述学生,结构体里包含学生的各种属性,由于要管理的学生众多,因此,需要将描述学生的结构体组织起来方便管理,比如链表结构:

image-20230803142646876

以上对学生用结构体描述,然后用链表结构组织起来的方式就是**“先描述,再组织”**。

经过先描述,再组织后,校长要开除成绩最差的学生时,只需要遍历链表寻找成绩最差的学生的结点,然后将其结点删除,这样学生就不在学校管理范围内,也就是被开除了。

计算机软硬体系结构(部分)

上面的学校场景中,校长、辅导员、学生对应计算机中的就是操作系统、硬件驱动、硬件,这些部分参与了计算机软硬体系结构的组成:

image-20230803145358849

  • 操作系统 – 对硬件进行先描述,再组织,然后通过对硬件的这种数据建模进行管理。
  • 硬件驱动(软件) – 传达操作系统的决策给硬件,让硬件去执行,并获取硬件的数据信息和请求上交给操作系统。
  • 硬件 – 将操作系统下发的决策进行执行,上交请求给硬件驱动。

操作系统的管理策略

操作系统管理的目的: 为上层的用户提供安全、稳定、高效、功能丰富的执行环境。

用户可能会对计算机的硬件有各种各样的需求,比如让计算机的音响音量放大等,用户如果直接操作硬件可能会出现问题,因此操作系统作为硬件的管理者,不会让用户直接去访问硬件,而是提供了各种各样的系统接口,用户可以通过调用系统接口来实现想要的功能,通过这种方式,操作系统可以认为用户的行为是可控的,从而更好的提供良好的执行环境。

image-20230803155445513

编程语言和计算机体系结构的关系

编程语言的使用在计算机体系结构中处于操作系统的上层–用户层,编程语言为了降低用户使用系统接口的成本,将系统接口封装成了库函数供用户使用:

image-20230803161308352

计算机软硬体系结构(整体)

计算机软硬体系结构是层状的,包含用户层,用户操作接口层、系统调用接口层、操作系统层、硬件驱动层、硬件层:

image-20230803161202216
程序执行任何操作都需要由计算机软硬体系结构的上层不断向下层传递才能完成。

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

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

相关文章

工业RFID系统故障的排查与维护手册

在工业领域中,RFID系统扮演着至关重要的角色,用于实现物品追踪、自动化控制和生产流程优化。然而,由于复杂的工作环境和设备运行条件,RFID系统故障可能会发生,对工业生产造成不利影响。为了帮助您排查和解决RFID系统故…

企业微信v4.1.8 版本新功能介绍

一、效率工具与基础体验优化 邮件 1、邮件安全 当邮件发件人、邮件内容存在风险时,将提示风险并自动隐藏邮件中的图片,避免轻信邮件内容。 对存在伪造风险的昵称将直接以发件地址代替展示,减少误导。 对邮件中的包含钓鱼欺诈、病毒或恶意软…

Java:Arrays类的API

Arrays // 1、public static string toString(类型[] arr):返回数组的内容 int[] arr {10,20,30,40,50,60}; system.out.println(Arrays.tostring(arr));//[10,20,30,40,50,60]// 2、public static类型[] copyOfRange(类型[] arr,起始索引,结束索引)﹔拷…

U 盘安装 Windows 10/11 时找不到磁盘驱动器的解决方法

1. 问题 使用 U盘安装 Windows10/11 的时候到选择安装位置时发现列表是空的无法选择任何驱动器。 2. 解决方法 (1) 点击下载安装 Intel Rapid Storage Technology (IRST) 驱动程序; (2) 在 U盘启动盘中创建名为 driver 的文件夹; (3) 将下载好的驱…

冠达管理:次新股为什么不能碰?

在出资过程中许多人都期望能够找到一种愈加快速、高效地赚取金钱的办法,这使得不少人瞄准了次新股。但是,次新股终究是什么,为何有人提醒咱们不要去碰它们呢? 一、什么是次新股? 所谓次新股,指的是上市时刻…

编译JSqlParser4.6-4.7最新源代码

通过https://github.com/JSQLParser/JSqlParser 下载最新的JSqlParser4.6-4.7的源代码,maven导入后出现下面问题 没有找到相应的源代码,原来这部分代码是这个下面 是jjt后缀的文件,原来JSQLParser源码中SQL解析那部分是使用JAVACC来生成的&a…

【LeetCode】地下城游戏(动态规划)

地下城游戏 题目描述算法分析编程代码 链接: 地下城游戏 题目描述 算法分析 编程代码 class Solution { public:int calculateMinimumHP(vector<vector<int>>& dungeon) {int m dungeon.size();int n dungeon[0].size();vector<vector<int>> d…

Flutter 文件上传(七牛云)简单封装

前言&#xff1a;记录了七牛云上传图片的简单封装、若有不足 欢迎指正。 开始前准备&#xff1a; A、七牛sdk版本一定要和dart版本相对应&#xff08;推荐用any方式、让其自己去匹配&#xff09;&#xff1b; qiniu_flutter_sdk: any B、七牛上传文件所需的参数&#xff1a; …

谈谈python编程语言

目录 1.什么是python 2.python的发展历史 3.python的具体应用领域 4.就业前景 1.什么是python Python是一种高级编程语言&#xff0c;它具有简单易学、可读性强和功能丰富的特点。Python由Guido van Rossum于1991年开发&#xff0c;并成为一种通用的编程语言。 以下是一些Py…

蓝队的自我修养之如何从流量中检测 WebShell

HW期间&#xff0c;为防范钓鱼&#xff0c;即日起FreeBuf将取消投稿文章的一切外部链接。给您带来的不便&#xff0c;敬请谅解~ 背景 众所周知&#xff0c;攻防演练过程中&#xff0c;攻击队入侵企业网站时&#xff0c;通常要通过各种方式获取 webshell&#xff0c;从而获得企…

unity TextMeshPro 富文本

<b>粗体标签</b> <i>斜体标签</i> <u>下划线标签</u> <s>删除线标签</s> <sup>上标标签</sup>前面后边上标签 5<sup>。</sup>C <sub>下标标签&#xff0c;如&#xff1a;</sub>H<sub&…

JS进阶-Day2

&#x1f954;&#xff1a;万物皆有裂痕&#xff0c;那是光照进来的地方 JS进阶-Day1——点击此处&#xff08;作用域、函数、解构赋值等&#xff09; JS 进阶 - Day2 深入对象构造函数&#xff08;⭐&#xff09;面试小题&#xff1a; 实例成员静态成员&#xff08;⭐&#xf…

微信小程序nodejs+vue+uniapp高校食堂线上预约点餐系统

本次设计任务是要设计一个食堂线上预约点餐系统&#xff0c;通过这个系统能够满足管理员及学生的食堂线上预约点餐分享功能。系统的主要包括首页、个人中心、学生管理、菜品分类管理、菜品管理、关于我们管理、意见反馈、系统管理、订单管理等功能。 开发语言 node.js 框架&am…

【Opencv入门到项目实战】(二):图像阈值与平滑处理

文章目录 1.图像阈值处理1.1简单阈值处理&#xff08;Simple Thresholding&#xff09;1.2自适应阈值处理&#xff08;Adaptive Thresholding&#xff09;1.3Otsus阈值处理 2.平滑处理1.1均值滤波&#xff08;Mean Filter&#xff09;1.2高斯滤波&#xff08;Gaussian Filter&a…

FPGA纯verilog实现Gzip数据压缩deflate算法,提供工程源码和技术支持

目录 1、前言2、我这儿已有的FPGA压缩算法方案3、FPGA Gzip数据压缩功能和性能4、FPGA Gzip数据压缩设计方案输入输出接口描述数据处理流程LZ77压缩器哈夫曼编码输出缓存 数据输出说明特殊说明 5、vivado仿真6、vivado工程7、上板调试验证FPGA开发板测试本zip算法对比于评估 8、…

【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述

Objects.requireNonNullElseGet 是 Java 9 引入的方法&#xff0c;不在 Java 8 中可用。但是&#xff0c; 可以使用 Java 8 的一些功能来模拟类似的效果。 快速查阅 JDK9以上表述&#xff1a; this.principalFactory Objects.requireNonNullElseGet(principalFactory, Defau…

如何测出 Scratch 的指令反应时间

相信看了标题&#xff0c;你一定会很吃惊&#xff0c;你会觉得scratch不是没有反应时间吗&#xff1f; 但其实不是&#xff0c;这也是我偶然间发现的&#xff0c;这期的内容较少&#xff0c;对你的技术涨幅很小&#xff0c;但可以当作娱乐来看 其实就7个代码&#xff0c;但看着…

(自控原理)线性系统的时域分析法

目录 一、系统时间响应的性能指标 1、典型输入信号 2、动态性能与稳态性能 二、一阶系统的时域分析 1、一阶系统的数学模型 2、一阶系统的单位阶跃响应 三、二阶系统的时域分析 1、二阶系统的数学模型 2、二阶系统的单位阶跃响应 3、欠阻尼二阶系统的动态过程分析 4…

redis原理 5:同舟共济 —— 事务

为了确保连续多个操作的原子性&#xff0c;一个成熟的数据库通常都会有事务支持&#xff0c;Redis 也不例外。Redis 的事务使用非常简单&#xff0c;不同于关系数据库&#xff0c;我们无须理解那么多复杂的事务模型&#xff0c;就可以直接使用。不过也正是因为这种简单性&#…

国内版ChatGPT平替

想体验的朋友可以去微信搜索小程序 “ robot buddy ”