当前位置: 首页 > news >正文

【Linux】冯·诺依曼体系结构

 > 🍃 本系列为Linux的内容,如果感兴趣,欢迎订阅🚩

> 🎊个人主页:【小编的个人主页

>小编将在这里分享学习Linux的心路历程✨和知识分享🔍

>如果本篇文章有不足,还请多多包涵!🙏
>  🎀   🎉欢迎大家点赞👍收藏⭐文章

> ✌️ 🤞 🤟 🤘 🤙 👈 👉 👆 🖕 👇 ☝️ 👍


目录

🐼前言  

🐼什么是冯·诺依曼体系结构??

🐼为什么要有冯·诺依曼体系结构??

 🐼冯·诺依曼体系结构给我们带来了什么??

🐼我发消息是怎么让对方接收的??

🐼总结


🐼前言  

为了更全面的认识操作系统的体系结构,本篇文章将从底层硬件出发,带大家粗略认识冯诺依曼结构,这对于我们后面学习Linux内核,操作系统具有极其重要的作用。下面,我们带着这三个问题,冯诺依曼体系结构是什么?为什么要有冯诺依曼体系结构?冯诺依曼体系结构给我们带来了什么?

🐼什么是冯·诺依曼体系结构??

冯诺依曼体系结构如上图,由5大部分组成。我们把运算器和控制器粗略归纳为中央处理器。

一一介绍这5大结构:

输入结构:包括键盘,话筒,摄像头,磁盘,网卡,音频...

存储器:注意这里的存储器就指的是内存!!!

CPU运算器:逻辑运算,算数运算。

CPU控制器:逻辑,代码控制

输出设备:显示屏,磁盘,网卡...

这一套体系,让我们能够从输入数据-存储器存储-CPU处理-交给存储器-输出给我们。

当然,这么说肯定太泛型了。我们下面具体来认识一下:


🐼为什么要有冯·诺依曼体系结构??

在早期计算机世界,采用临时存储方式,运算器是核心,导致存储空间有限且程序无法存储,运行速度慢。正是由于计算机运行速率太慢,但是市场对于计算机的需求又太强烈,冯诺依曼基于计算机的逻辑架构,设计冯诺依曼体系架构。当然,这样说也太官方了。说白了,就是效率太低所以才有了冯诺依曼体系。那我们看看凭什么冯诺依曼体系效率高???

不管我们之前写的c/c++程序,所编译成的二进制可执行程序,他本质上不就是在磁盘(硬盘)上的一个文件吗,既然是一个文件,那么就不能直接执行,必须要先加载到内存

那为什么不能直接执行,为什么要先加载到内存???

因为这是冯诺依曼体系结构决定的。由于cpu运行速率太快了,而磁盘这些硬件的运行速率远远不如cpu,那么我们如果直接让cpu直接与外设(硬盘,光盘)打交道,那不就是相当于我们的CPU干完活要"等"吗!!!既然CPU要等,那不就直接影响到了计算机的运行速率!!!就像木桶效应,盛的水多少具体取决于最短的板子!既然CPU受到了别人的影响,那自然计算机效率就降低了。

如图是计算机运行速率金字塔。

如果将硬盘上的程序预先加载到内存,而cpu直接与加载到的内存的数据打交道,计算机整体速率就会增快 !!!也就是,CPU不要让它等待,我们计算机的运行速率才会整体提升!

也就是冯诺依曼体系决定了,CPU在数据层面,不直接和外设打交道,而是让内存做一个"中间人"。外设也不直接与CPU打交道,而是和内存打交道!这样,数据流动的效率高了,计算机整体的效率就高了。所以,计算机的速率,就是以内存的效率为准。

而我们又知道,数据的流动,本质就是数据的拷贝。不就是将硬盘的数据拷贝到了内存,再将内存的数据拷贝到了CPU,CPU处理完,再拷贝给内存,所以,计算机的执行速率,本质上是设备间拷贝的效率

那我们就知道了。冯诺依曼体系结构就是让我们的计算机能够在逻辑上合理执行!执行速率更快!


 🐼冯·诺依曼体系结构给我们带来了什么??

首先,毋庸置疑冯诺依曼体系让计算机执行效率大大提高。我们继续观察这个计算机执行速率金字塔。

寄存器高速缓存等,执行速率快,但是内存小,所能储存的容量小。但是在之前,没有冯诺依曼体系结构,为了让计算机的执行效率增快,不得不堆这些价值昂贵的高速缓存,寄存器。但这让我们普通百姓使用不起计算机,而正是由于冯诺依曼体系结构的存在,让磁盘等存储效率很大,但是效率很慢的硬件,通过预先加载到内存,再让CPU执行,让我们计算机整体的效率并不差。让我们每个人都能有一台自已的计算机!让计算机更有"性价比"

让计算机流入了市场,互联网走进了我们家家户户每一个人。计算机所带来的极大效率,我们今天的社会才能发展的如此之快。


🐼我发消息是怎么让对方接收的??

最后,我们再来思考一下,我们不管在微信上,还是qq上发消息,是如何让对方接收的???

小明不管是发消息,还是打视频,发文件,通过该过程,将数据"发给"小张,其过程都是如此!

本质上就是两台冯诺依曼结构在“通讯”。

那我们现在能理解发消息的"发"了嘛,这里的"发"只是我们凭空想象的,只不过是将小明从键盘文件上读取的数据,通过一系列之间的拷贝,拷贝到了小张的电脑的显示屏文件!!!

🐼总结

我们认识了冯诺依曼体系结构,也懂得了计算机在每一秒都没有"闲着",一直在给我们工作。程序和数据以二进制形式存储在同一个存储器中,CPU按顺序从存储器中读取指令并执行。

这对于后续我们的学习非常重要!


   感谢你耐心地阅读到这里,你的支持是我不断前行的最大动力。如果你觉得这篇文章对你有所启发,哪怕只是一点点,那就请不吝点赞👍,收藏⭐️,关注🚩吧!你的每一个点赞都是对我最大的鼓励,每一次收藏都是对我努力的认可,每一次关注都是对我持续创作的鞭策。希望我的文字能为你带来更多的价值,也希望我们能在这个充满知识与灵感的旅程中,共同成长,一起进步。如果本篇文章有错误,还请大佬多多指正,再次感谢你的陪伴,期待与你在未来的文章中再次相遇!⛅️🌈 ☀️    

http://www.dtcms.com/a/112103.html

相关文章:

  • kotlin中主构造函数是什么
  • Java EE期末总结(第一章)
  • 【图像处理基石】什么是neural style transfer?
  • python基础-09-读写文件
  • tp5 shell_exec() has been disabled for security reasons生成图片报错没权限
  • Android面试总结之算法思想篇
  • Mysql 中的 B+树 和 B 树在进行数据增删改查后的结构调整过程是怎样的?
  • MaxEnt模型全解析:从原理到 R 语言实战,开启生态环境研究新视野
  • 验证码实现
  • d202541
  • 量子计算入门:Qiskit实战量子门电路设计
  • 智慧农业大数据平台解决方案
  • 冰球比赛系统的结构设计:UML类图问题解析和绘图
  • 嵌入式Linux开发环境搭建,三种方式:虚拟机、物理机、WSL
  • 【黑马点评】商户查询缓存
  • 机器学习中的自监督学习概述与实现过程
  • 每日文献(八)——Part four
  • 基于YOLOv8的热力图生成与可视化-支持自定义模型与置信度阈值的多维度分析
  • FPGA系统开发板调试过程不同芯片的移植步骤介绍
  • Leetcode 680 -- 双指针 | 贪心
  • LeetCode算法题(Go语言实现)_30
  • AcWing 6135. 奶牛体检
  • 【Java集合】LinkedList源码深度分析
  • Nature Electronics|一种透气、可拉伸的液态金属基3D电子皮肤系统(健康监测/可穿戴电子/透汗透气性电子/电子皮肤/柔性电子/集成电路)
  • 降维算法之PCA(主成分分析)
  • 函数和模式化——python
  • 文件系统-重定向
  • 架构思维:冷热分离 - 表数据量大读写缓慢的优化方案
  • 有没有可以帮助理解高数的视频或者书籍资料?
  • 【力扣hot100题】(050)岛屿数量