【Linux】操作系统之冯诺依曼体系

图片名称
🎉博主首页: 有趣的中国人

🎉专栏首页: Linux

🎉其它专栏: C++初阶 | C++进阶 | 初阶数据结构

在这里插入图片描述

小伙伴们大家好,本片文章将会讲解 操作系统中 冯诺依曼体系 的相关内容。


如果看到最后您觉得这篇文章写得不错,有所收获,麻烦点赞👍、收藏🌟、留下评论📝。您的支持是我最大的动力,让我们一起努力,共同成长!

文章目录

  • `1. 冯诺依曼体系介绍`
    • ==<font color = blue><b>🎧1.1 冯诺依曼体系结构介绍🎧==
    • ==<font color = blue><b>🎧1.2 冯诺依曼体系结构示意图🎧==
  • `2. 为什么会出现冯诺依曼体系`
    • ==<font color = blue><b>🎧2.1 内存的特点🎧==
  • `3. 冯诺依曼体系的深度理解`



1. 冯诺依曼体系介绍


🎧1.1 冯诺依曼体系结构介绍🎧


冯·诺伊曼体系是 计算机体系结构的一种基本设计范式,以美国数学家兼计算机科学家约翰·冯·诺伊曼(John von Neumann)的名字命名。该体系结构是20世纪40年代末和50年代初期发展起来的,并且至今仍然是现代计算机设计的基础之一。

冯·诺伊曼体系主要包括以下几个重要组成部分:

  1. 存储器(Memory):计算机内部用于存储数据和指令的地方。在冯·诺伊曼体系中,数据和指令都以二进制形式存储在存储器中,并且可以通过地址访问。
  2. 中央处理器(Central Processing Unit,CPU):负责执行计算机程序中的指令,并处理数据的部件。CPU包括 算术逻辑单元(Arithmetic Logic Unit,ALU)负责执行算术和逻辑运算,以及 控制单元(Control Unit)负责控制指令的执行顺序。
  3. 输入输出设备(Input/Output Devices,I/O Devices):用于与计算机进行交互的外部设备,如键盘、鼠标、显示器、打印机等。输入输出设备通过输入输出接口(I/O Interface)与计算机连接。

🎧1.2 冯诺依曼体系结构示意图🎧


在这里插入图片描述

截至目前,我们所认识的计算机,都是有一个个的硬件组件组成

  • 输入单元:包括键盘, 鼠标,扫描仪, 写板等;
  • 中央处理器(CPU):含有运算器和控制器等;
  • 输出单元:显示器,打印机等。

关于冯诺依曼,必须强调几点:

  1. 这里的存储器指的是内存;
  2. 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备);
  3. 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  4. 一句话,所有设备都只能直接和内存打交道。
  5. 这些条件都是为了保证计算机处理数据的效率。


2. 为什么会出现冯诺依曼体系


计算机就是为了解决问题而产生的,既然要解决问题,那么它就要接收相应数据,接收完数据,在计算机中进行一系列的算数与逻辑运算,然后再将数据通过输出设备进行输出,于是就有了以下的流程图:

在这里插入图片描述

但是相较于中央处理器(CPU)来说,外设(输入输出设备)的速度是非常慢的,于是,整个计算机的处理数据的速度就不是取决于CPU而是取决于外设了(根据木桶原理),下图是一个存储器层次结构全景图,表示了计算机中各种存储设备的处理数据的速度:

在这里插入图片描述


因此为了解决此问题,就不让外设直接和CPU进行交互,在中间加了内存:

在这里插入图片描述


🎧2.1 内存的特点🎧


内存处理数据的速度比外设要快上很多,但是比CPU又要慢,内存在外设和CPU中间起到了缓冲的作用。


现在这个体系的流程就是:

  1. 用户通过输入设备输入数据,数据会先存放到内存,
  2. CPU处理数据时就到内存中读取数据,处理完之后又放到内存中,
  3. 然后当输出设备需要时,再将内存中的数据输出到输出设备中。

那为什么加上内存计算机处理速度就会变快呢?

  1. 首先 内存是有容量大小的,所以他就有装在数据的能力
  2. CPU要访问数据时,内存会将CPU 要访问的数据以及它的周围的数据 从输入设备一同加载到内存中;
  3. 并且CPU 处理数据是可以和内存加载数据同时进行的,这样当下次CPU访问数据的时候就可以直接从内存中获取数据;
  4. 数据处理完成之后, CPU 将处理完的数据存储到内存中(一般存储在缓冲区中),当输出设备需要在内存中的数据时,就会冲刷缓冲区。
    • 这就是Linux中的fflush()函数强制冲刷缓冲区和缓冲区满了也要强制冲刷缓冲区的底层含义。


3. 冯诺依曼体系的深度理解


我们这里会举一个例子来理解冯诺依曼系统:

当用微信和朋友聊天时数据的流动过程:

我们这里只涉及两台电脑中的数据流动的过程,至于网络的相关内容先暂且不谈:

你自己的电脑:

  1. 首先你从键盘(输入设备)输入数据;
  2. 计算机将你输入的数据加载到内存中;
  3. CPU从内存中获取你输入的数据,然后进行相关的处理(加密类似的操作);
  4. CPU将处理完成的数据重新加载到内存中;
  5. 网卡这个输出设备需要从内存中获取CPU处理完的数据。

你朋友的电脑:

  1. 你朋友电脑上的网卡充当了输入设备,获取你发送的信息;
  2. 信息加载到内存中;
  3. CPU从内存中获取信息,进行处理(解密);
  4. CPU将处理完成的数据重新加载到内存中;
  5. 显示器充当了输出设备,从内存中获取CPU解密的相应信息,也就是你所发送的信息。

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

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

相关文章

jsp实验19 File

三、源代码以及执行结果截图&#xff1a; readJSPFile.jsp <% page contentType"text/html" %> <% page pageEncoding "utf-8" %> <% page import"java.io.*"%> <style> #tom{ font-family:宋体;font-size:2…

基于Chisel语言的FPGA流水灯程序

目录 一、 内容概要二、 Chisel介绍三、 Chisel的使用四、 流水灯实现五、 心得体会六、 参考链接 一、 内容概要 Chisel介绍Chisel使用流程Chisel流水灯实操 二、 Chisel介绍 Chisel 是一种构建硬件描述语言&#xff08;HDL&#xff09;的高级编程语言&#xff0c;它允许硬…

指纹浏览器大全

具体请前往&#xff1a;国内外指纹浏览器大全

师彼长技以助己(2)产品思维

师彼长技以助己&#xff08;2&#xff09;产品思维 前言 我把产品思维称之为&#xff1a;人生底层的能力以及蹉跎别人还蹉跎自己的能力&#xff0c;前者说明你应该具备良好产品思维原因&#xff0c;后者是你没有好的产品思维去做产品带来的灾难。 人欲即天理 请大家谈谈看到这…

c++车票管理系统

这里写自定义目录标题 c车票管理系统vx:sredxc车票管理系统初始页面,需要源码vx:sredxc新增车票信息查询车票信息代码包含完整的发布车票信息,购票,退票,票数检测,余票检测,车票查询等功能 c车票管理系统vx:sredxc 这段代码实现了一个简单的高铁票务管理系统&#xff0c;具有以…

Threejs(WebGL)绘制线段优化:Shader修改gl.LINES模式为gl.LINE_STRIP

目录 背景 思路 Threejs实现 记录每条线的点数 封装原始裁剪索引数据 封装合并几何体的缓冲数据&#xff1a;由裁剪索引组成的 IntArray 守住该有的线段&#xff01; 修改顶点着色器 修改片元着色器 完整代码 WebGL实现类似功能&#xff08;简易版&#xff0c;便于测…

接入knife4j-openapi3访问/doc.html页面空白问题

大概率拦截器拦截下来了&#xff0c;我们F12看网络请求进行排查 都是 /webjars/ 路径下的资源被拦截了&#xff0c;只需在拦截器中添加该白名单即可"/webjars/**" 具体配置如下&#xff1a; Configuration public class WebConfig implements WebMvcConfigurer {priv…

eDP V1.4协议介绍

一、说明 eDP的全称是Embedded DisplayPort嵌入式显示端口,主要应用与短距离系统内应用,例如手机、一体式台式机等。eDP V1.4b是基于DP V1.3标准制作完成,但因应用场景的不同,还是有很多区别。 电压摆幅不同,eDP相对较低; eDP功耗相对较低; DP有线材和连接器的要求,eD…

什么是机器人离线编程? 衡祖仿真

一、什么是机器人离线编程&#xff1f; 机器人离线编程是自动化生产的重要一环。离线编程指&#xff0c;在建立了机器人的三维模拟场景后&#xff0c;经由软件仿真计算&#xff0c;生成控制机器人运动轨迹&#xff0c;进而生成机器人的控制指令。工程师可以由此来控制物理环境…

java线程间通信

在Java中&#xff0c;线程间通信主要依赖于对象的监视器&#xff08;Monitor&#xff09;机制&#xff0c;其中wait(), notify(), 和 notifyAll() 方法被广泛使用。这些方法必须在同步环境中调用&#xff0c;通常是同步块或同步方法。以下是使用这些通信机制的一个简单例子&…

浅谈线性化

浅谈线性化 原文&#xff1a;浅谈线性化 - 知乎 (zhihu.com) All comments and opinions expressed on Zhihu are mine alone and do not necessarily reflect those of my employers, past or present. 本文内容所有内容仅代表本人观点&#xff0c;和Mathworks无关 (这里所说…

备忘录--

备忘录 vue新建项目&#xff0c;body 大小占不了全屏 // 解决问题 // public/index.html 更改基础样式 html,body{height: 100%width: 100%&#xff1b;margin: 0;border: 0;padding: 0; }Element Plus 经典布局 参考 Element Plus 官网 <template><div class"…

移动端性能测试(android/ios)

solox官网 https://github.com/smart-test-ti/SoloX solox简介 实时收集android/ios性能的工具&#xff0c;Android设备无需Root&#xff0c;iOS设备无需越狱。有效解决Android和iOS性能的测试和分析挑战。 solox安装 环境准备 python安装3.10以上的 python官网下载地址…

数据结构栈(C语言Java语言的实现)相关习题

文章目录 栈概念以及代码实现例题[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/)[1614. 括号的最大嵌套深度](https://leetcode.cn/problems/maximum-nesting-depth-of-the-parentheses/)[234. 回文链表](https://leetcode.cn/problems/pal…

鸿蒙ArkTS声明式开发:跨平台支持列表【透明度设置】 通用属性

透明度设置 设置组件的透明度。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版…

Vue3-Vite-ts 前端生成拓扑图,复制即用

完整代码&#xff0c;复制即可用&#xff0c;样式自调 试过 jointjs dagre-d3 vis&#xff0c;好用一点 方法1&#xff1a;Vis.js npm install vis-network <template><div id"mynetwork" class"myChart" :style"{width: 100%, height: 9…

【UE5:CesiumForUnreal】——加载无高度地形数据

目录 1.实现目的 2.数据准备 2.1下载数据 2.2 数据切片 3.加载无地形数据 1.实现目的 在CesiumForUnreal插件中&#xff0c;我们加载地图和地形图层之后&#xff0c;默认都是加载的带有高程信息的地形数据&#xff0c;在实际的项目和开发中&#xff0c;有时候我们需要加载无…

lipo制作通用版本静态库

文章目录 目的了解多架构的maclipo如何利用lipo编译通用版本静态库lipo 命令整理扩展目的 主要是使用lipo命令在macOS上创建通用版本的静态库(.a文件),来支持多种架构,如arm64,x86_64。 学习目的: 了解mac 不同架构arm64, x86_64了解lipo命令了解多架构的mac 随着appl…

数据挖掘 | 实验三 决策树分类算法

文章目录 一、目的与要求二、实验设备与环境、数据三、实验内容四、实验小结 一、目的与要求 1&#xff09;熟悉决策树的原理&#xff1b; 2&#xff09;熟练使用sklearn库中相关决策树分类算法、预测方法&#xff1b; 3&#xff09;熟悉pydotplus、 GraphViz等库中决策树模型…

【期末速成】——计算机组成原理(1)概述

目录 一、什么是计算机的组成 二、冯诺依曼体系结构计算机的特点 三、计算机系统的层次结构 四、机器语言、汇编语言、高级语言, 五、 编译程序、解释程序、汇编程序 六、已知主频、CPI计算程序运行时间 一、什么是计算机的组成 计算机的组成可以分为五个部件和两个信息…