【Linux】冯诺依曼体系结构思想

冯诺依曼体系结构

  • 冯诺依曼体系结构
    • 冯诺依曼体系结构的五大部分
    • 运行过程
    • 扩展:计算机存储设备金字塔
    • 存储器的木桶效应
    • 实例:qq聊天
  • 小结

博客主页:小智_x0___0x_

欢迎关注:点赞收藏✍️留言

系列专栏:Linux入门到精通

代码仓库:小智的代码仓库

冯诺依曼体系结构

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

冯诺依曼体系结构的五大部分

当我们谈论计算机的体系结构时,冯·诺依曼体系结构是不可避免的一个话题。冯·诺依曼体系结构是一种计算机体系结构,它将计算机分为五个主要部分:输入设备、输出设备、控制单元、算术逻辑单元和存储器。这些部分通过总线连接在一起,形成了冯·诺依曼体系结构的核心。

【Linux】冯诺依曼体系结构思想_第1张图片
a.存储器指的是内存

外设:

  • b.输出设备:显示器、播放器硬件、磁盘、网卡…
  • c.输入设备:鼠标、键盘、摄像头、麦克风、磁盘、网卡…

中央处理器也称cpu:

  • d.运算器:对我们的数据进行计算任务(算数运算,逻辑运算)
  • e.控制器:对我们的计算机硬件流程进行一定的控制

它们都是独立的个体!
各个硬件单元必须用"总线"链接起来,总线分为:1.系统总线 2.IO总线

冯·诺依曼体系结构的思想是将程序和数据存储在同一个存储器中,这种存储器被称为随机存储器(RAM)。这一思想的好处是可以让计算机更加灵活地运行不同的程序,而不需要改变硬件。
另外,冯·诺依曼体系结构还引入了指令和数据的二进制表示形式。这种表示形式使得计算机可以使用相同的硬件执行不同的指令,从而实现更高的灵活性和效率。
在冯·诺依曼体系结构中,控制单元负责从存储器中读取指令,并将其发送到算术逻辑单元执行。执行完成后,结果将被存储回存储器中。这种基于存储器的设计极大地简化了计算机的设计和实现。
总的来说,冯·诺依曼体系结构是计算机设计的里程碑之一。它的思想和设计对现代计算机的发展产生了深远的影响,也为计算机科学领域的发展奠定了坚实的基础。

运行过程

【Linux】冯诺依曼体系结构思想_第2张图片
根据上面图可以得出:
对于一个需要处理数据而言想要完成相关操作,那就必须先通过输入设备,再通过一系列操作进入内存;
然后CPU从内存中读取数据,数据经过运算器处理完成之后再写入内存中;
最终有存储器输出到输出设备上,由输出设备输出。
整个过程由控制器来控制完成。

一个小问题:
一个程序要运行,为什么必须加载到内存中运行?
因为冯诺依曼体系结构的规定!!!

扩展:计算机存储设备金字塔

  • 寄存器(Register):寄存器与其说是存储器,其实更像是 CPU 本身的一部分,只能存放极其有限的信息,但是速度非常快,和 CPU 同步。
  • 高速缓存(CPU Cache):使用 SRAM(Static Random-Access Memory,静态随机存取存储器)的芯片。
  • 内存(DRAM):使用 DRAM(Dynamic Random Access Memory,动态随机存取存储器)的芯片,比起 SRAM 来说,它的密度更高,有更大的容量,而且它也比 SRAM 芯片便宜不少。
  • 硬盘:如 SSD(Solid-state drive 或 Solid-state disk,固态硬盘)、HDD(Hard Disk Drive,硬盘)。
    【Linux】冯诺依曼体系结构思想_第3张图片
    不同层次存储器设备特点:
  1. 越靠近 CPU 速度越快,容量越小,价格越贵。
  2. **每一种存储器设备只和它相邻的存储设备打交道。**比如,CPU Cache 是从内存里加载而来的,或者需要写回内存,并不会直接写回数据到硬盘,也不会直接从硬盘加载数据到 CPU Cache 中,而是先加载到内存,再从内存加载到 Cache 中。
    这里参考金字塔层次结构相关博客

存储器的木桶效应

【Linux】冯诺依曼体系结构思想_第4张图片

计算机存储器的“木桶效应”指的是,类比一个木桶,存储器的容量由最小的那个存储单元所决定,即使其他存储单元的容量比这个最小单元大,也无法利用它们存储更多的数据。这是因为计算机存储器是按照固定大小的块来进行分配和管理的,每个块的大小都是相同的,因此无论某个块是否被完全使用,它都会占用相同的存储空间。
例如,如果一个程序需要使用100个字节的存储空间,但计算机存储器的块大小为256字节,那么这个程序将会占用256字节的存储空间,即使只有100字节被实际使用。这样就会浪费156字节的存储空间,造成了“木桶效应”。
为了减少“木桶效应”带来的浪费,计算机存储器通常会采用内存分页和虚拟内存等技术来动态地分配和管理存储空间,以便更加高效地利用存储器。

实例:qq聊天

我们平时使用QQ聊天的时候,整个数据是怎么流动的呢?
我们先来通过画图整体了解一下数据的流动方式。
【Linux】冯诺依曼体系结构思想_第5张图片
根据冯诺依曼体系结构,可以将使用QQ聊天时的数据流动过程描述如下:

  1. 输入阶段:用户在QQ客户端中输入聊天内容。
  2. 存储阶段:输入的聊天内容被存储在计算机的主存储器(RAM)中。
  3. 控制阶段:QQ客户端执行相应的指令,将存储在主存储器中的聊天内容提取出来。
  4. 运算阶段:QQ客户端对聊天内容进行必要的处理和加工,例如打包成数据包。
  5. 存储阶段:处理后的数据包被存储在计算机的主存储器中。
  6. 控制阶段:QQ客户端执行发送指令,将存储在主存储器中的数据包发送出去。
  7. 存储阶段:数据包被发送到目标QQ服务器,并存储在服务器的主存储器中。
  8. 控制阶段:QQ服务器执行相应的指令,解析并处理接收到的数据包。
  9. 存储阶段:解析后的聊天内容被存储在服务器的主存储器中。
  10. 控制阶段:QQ服务器根据接收方的状态,决定将聊天内容发送给在线接收方或存储起来等待接收方上线。
  11. 存储阶段:如果接收方在线,聊天内容被存储在接收方QQ客户端的主存储器中。
  12. 控制阶段:接收方QQ客户端执行相应的指令,将聊天内容显示给接收方用户。

以上过程简要描述了使用QQ聊天时的数据流动,根据冯诺依曼体系结构的基本原理,将输入、存储、运算和控制等阶段有序地组织起来,实现了聊天数据的流动和处理。

小结

今天我们学习了"冯诺依曼体系结构思想相信大家看完有一定的收获。
种一棵树的最好时间是十年前,其次是现在! 把握好当下,合理利用时间努力奋斗,相信大家一定会实现自己的目标!加油!创作不易,辛苦各位小伙伴们动动小手,三连一波~~~,本文中也有不足之处,欢迎各位随时私信点评指正!

你可能感兴趣的:(Linux入门到精通,linux,运维,冯诺依曼体系结构)