【Linux从入门到精通】了解冯诺依曼体系结构

这篇具有很好参考价值的文章主要介绍了【Linux从入门到精通】了解冯诺依曼体系结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux从入门到精通】了解冯诺依曼体系结构

  本片文章会对冯诺依曼体系结构进行详解。同时,我们对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。本片文章同时也会对数据在冯诺依曼结构上的交互进行讲解。希望本篇文章会对你有所所帮助。 

文章目录

一、简单认识冯诺依曼体系结构 

二、数据交互

2、1 数据是直接通过磁盘传向CPU吗?

2、2 CPU与内存之间的存储设备——高速缓存

2、3 数据交互细节

2、3、1 本地I/O 

2、3、2 网络I/O 


🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️

👀 专栏:Linux从入门到精通 👀

💥 标题:冯诺依曼体系结构 💥

 ❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️

【Linux从入门到精通】了解冯诺依曼体系结构

一、简单认识冯诺依曼体系结构 

  冯诺依曼体系结构(von Neumann architecture)是一种计算机设计原则,也称为“普通计算机体系结构”(conventional computer architecture)。它是由匈牙利数学家冯诺依曼在20世纪40年代提出的,是现代计算机体系结构的基础。

  冯诺依曼体系结构的主要特点是将计算机的控制单元、运算单元、存储器以及输入输出设备等组成部分连接在一起,形成一个完整的计算机系统。它采用存储程序的思想,即将指令和数据存放在同一个存储器中,并通过程序计数器(PC)来控制程序的执行顺序。这种体系结构的优点是操作灵活、编程方便,且适用于大部分计算机应用领域

  我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系

  下面这张图片那就生动形象的展示出冯诺依曼体系结构:

【Linux从入门到精通】了解冯诺依曼体系结构  正如上图所示,我们所认识的计算机,都是有一个个的硬件组件组成,具体有如下:

  • 输入设备:键盘、鼠标、磁盘、网卡、写板等等;
  • 输出设备:显示器、硬盘、网卡、显卡、音响等等;
  • 存储器:内存;
  • CPU:运算器和控制器。

  注意,这里的存储器会导致很多人理解错误。存储器单单指的是内存。磁盘不是存储器吗?不是的。磁盘是我们的输入和输出设备。为什么磁盘既是输入设备,又是输出设备呢?举个例子:我们平常在写代码的时候,运行时所产行的可执行程序文件等等文件都是保存在磁盘上的,这时磁盘充当输入设备。当程序运行起来后,需要从磁盘上拿数据到内存,这时磁盘充当着输出设备。

  存储器也指内存,所有的输入和输出数据只能和和内存打交道。后面我们也会解释数据为什么要跟内存打交道、输入数据是怎么通过内存输出的呢。

   CPU,即中央处理器,是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成,下面我们也会对其简单解释。

二、数据交互

  上面我们了解到冯诺依曼体系结构后,我们不能只停留在概念上,我们还应了解数据在冯诺依曼体系结构上是怎么进行交互的才行。我们接下来会详细解释。

2、1 数据是直接通过磁盘传向CPU吗?

 根据机械原理,较大的存储设备要比较小的存储设备运行的慢。当然,较快的存储设备造价成本就很高了。当我们买个几百G或者及几T硬盘的价格只能买到几G的内存条:

【Linux从入门到精通】了解冯诺依曼体系结构

  这一对比差距就很明显了。 那我们大概知道了磁盘的运行速度慢,而内存的运行速度很快。具体速度差别有多大呢?正常情况下,CPU从磁盘上读取一个字节的时间开销要比从内存上读取的开销大1000万倍。差距确实很大。

  根据水桶效应,我们清楚的认识到数据不要直接从磁盘上读取,应把数据加载到内存中,CPU从内存上读取数据。这样会整体的提高CPU读取数据的效率。

【Linux从入门到精通】了解冯诺依曼体系结构

2、2 CPU与内存之间的存储设备——高速缓存

  CPU与内存之间还有存储设备吗?答案是有的。我们还知道的CPU內部有一种存储设备为寄存器。寄存器也是比较快的。类似地,一个典型的寄存器文件只存储几百字节的信息,而主存里可存放几十亿字节。然而,处理器从寄存器文件中读效据比从主存中读取几乎要快 100倍。更麻烦的是,随着这些年半导体技术的进步,这种处理器与主存之间的差距还在持续增大。加快处理器的运行速度比加快主存的运行速度要容易和便宜得多。
  针对这种处理器与内存之间的差异,系统设计者采用了更小更快的存储设备,称为高
速缓存存储器
(cache memory,简称为 cache 或高速缓存),作为暂时的集结区域,存放处
里器近期可能会需要的信息。我们可看下图,存储的分级:

【Linux从入门到精通】了解冯诺依曼体系结构  上图展示了一个典型系统中的高速缓存存储器。比较新的、处理能力更强天的系统甚至有三级高速缓存: LT、L2和 L3。系统可以获得一个很大的存储器,同时访问速度也很快,原因是利用了高速缓存的局、部性原理,即程序具有访问局部区域里的数据和代码的趋势。经常访问的数据,大部分的内存操作都能在快速的高速缓存中完成。

2、3 数据交互细节

  其中,我们输入数据时,我们称为输入(Input)。输出数据我们成为输出(Output)。输入/输出是一种基本的数据传递操作,它可以理解为字符序列在计算机内存与外设之间的流动。
数据从一个对象到另一个对象的流动抽象为流,实现设备之间交换信息的类称为流类。按面向对象方法组织的多个流类及其类层次集合构成了I/O流类库,简称为流库。

  其中我们在自己的计算机上进行操作,我们称他为本地I/O。我们用自己的设备软件(例如QQ、微信)向他人发送信息,我们称他为网络I/O

2、3、1 本地I/O 

  通过上面对CPU读取数据的了解后,我们再来分析数据的交互细节。有了内存,CPU就不再和外设(输入设备和输出设备)打交道了。而是直接将输入数据加载到内存中后,CPU从内存中读取数据。经过CPU的计算,再把数据加载回内存。最终由内存把数据向输出设备进行输出。这也反映出内存是冯诺依曼体系结构中的核心设备。

2、3、2 网络I/O 

  其中我们了解到了本地I/O的数据交互的细节。那我们看看网络I/O是怎么实现的。首先,网络I/O是从我们的计算机发送数据到另一台计算机,如下图:

【Linux从入门到精通】了解冯诺依曼体系结构

  当然,我们是站在纯硬件(冯诺依曼体系结构)的角度去分析。我们在城市A发送数据到城市B的朋友的计算机上。我们的输入设备可能是键盘、鼠标等。我们把数据是输出到了网卡上,网卡在这里充当着我们的输出设备。数据再通过网络的一系列操作加载到了城市B朋友的计算机上。此时朋友的计算机的输入设备为网卡,最终经过CPU的计算处理输出到输出设备上,例如屏幕。我们可结合下图理解:

【Linux从入门到精通】了解冯诺依曼体系结构

  关于冯诺依曼,比较重要的几点: 文章来源地址https://www.toymoban.com/news/detail-439118.html

  • 这里的存储器指的是内存;
  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备);
  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  • 一句话,所有设备(数据)都只能直接和内存打交道。
  本章的内容讲解到这里,感谢阅读ovo~

到了这里,关于【Linux从入门到精通】了解冯诺依曼体系结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux系统编程】冯诺依曼体系结构

    目录 前言 什么是冯诺依曼体系结构? 冯诺依曼体系结构如何进行数据处理的? 存储器在冯诺依曼体系中有什么作用? 冯诺依曼体系结构为什么要这样设计? 冯诺依曼结构总结 相信对于冯诺依曼这个人的名字大家一定不会感到陌生,他被称为“现代计算机之父” 而在他生

    2024年02月14日
    浏览(30)
  • Linux ----冯诺依曼体系结构与操作系统

    目录 前言 一、冯诺依曼体系结构 二、为什么选择冯诺依曼体系结构? 三、使用冯诺依曼结构解释问题 问题1: 问题2: 四、操作系统 1.操作系统是什么 2.为什么需要操作系统 3.操作系统怎样管理的 4.如何给用户提供良好环境 五、我们是怎样调用系统接口的 六、总结  了解冯

    2024年02月02日
    浏览(38)
  • 【Linux】冯诺依曼体系结构和操作系统概念

    数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。 现代计算机发展所遵循的基本结构形式始终是冯·诺依曼机结构。这

    2024年02月02日
    浏览(41)
  • 【Linux】冯诺依曼体系结构 && 操作系统 && 进程概念

    目录 一、冯诺依曼体系结构 二、操作系统  1、概念  2、设计OS的目的 三、进程  1、基本概念  2、描述进程-PCB  3、组织进程  4、查看进程和终止  5、通过系统调用获取进程标识符  6、通过系统调用创建进程-fork  7、进程状态  8、特殊进程    8.1 僵尸进程    8.2 孤儿进

    2024年02月10日
    浏览(48)
  • 『Linux升级路』冯诺依曼体系结构与操作系统

    🔥 博客主页: 小王又困了 📚 系列专栏: Linux 🌟 人之为学,不日近则日退 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 目录 一、冯诺依曼体系结构 📒1.1为什么要有体系结构 📒1.2硬件介绍 📝1.2.1中央处理器 📝1.2.2输入、输出设备  📝1.2.3存储器  📝1.24.总线概念  📒1.3内存

    2024年02月04日
    浏览(39)
  • 【Linux】冯诺依曼体系结构与操作系统及其进程

    作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等 座右铭:松树千年终是朽,槿花一日自为荣。 目标:了解冯诺依曼体系结构与操作系统,掌握Linux的进程 毒鸡汤:一花凋零荒芜不了整个春天,一次挫折也荒废不了整个人生。 望小伙伴们点赞👍收藏✨加关注哟💕

    2024年02月04日
    浏览(37)
  • 【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解

    1、概念 (1)什么是冯诺伊曼体系结构? 数学家冯·诺伊曼于 1946 年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺伊曼理论的要点是:计算机的数制采用二进制逻辑;计算机应该按照程序顺序执行。人们把冯·诺伊曼的

    2024年02月22日
    浏览(40)
  • 【Linux】冯诺依曼体系结构以及操作系统的初步认知

    🏖️作者:@malloc不出对象 ⛺专栏:Linux的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 本篇文章讲解是冯诺依曼体系结构以及操作系统的初步认知。 我们常见的计算机,如笔记本。我们不常见的计算机,如服

    2024年02月03日
    浏览(74)
  • 【Linux】系统初识之冯诺依曼体系结构与操作系统

    👀 樊梓慕: 个人主页  🎥 个人专栏: 《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C++》《Linux》 🌝 每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.冯诺依曼体系结构 2.操作系统(OS) (1)用户到操作系统再到底层是如何组织的? (

    2024年02月05日
    浏览(39)
  • 【Linux】冯诺依曼体系结构与进程的基础知识点

    计算器、笔记本、服务器大都遵循冯诺依曼体系结构。 结构如下图所示: 外设:速度相对慢,价格相对较低(输入输出设备都属于外设) 内存:速度相对快,价格相对较高,数据掉电易失 CPU:速度最快,价格高 1.那么是否可以不通过存储器,直接使用输入设备将数据传给

    2023年04月24日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包