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

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

冯诺依曼体系结构

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

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

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

a.存储器指的是内存


外设:


b.输出设备:显示器、播放器硬件、磁盘、网卡…

c.输入设备:鼠标、键盘、摄像头、麦克风、磁盘、网卡…

中央处理器也称cpu:


d.运算器:对我们的数据进行计算任务(算数运算,逻辑运算)

e.控制器:对我们的计算机硬件流程进行一定的控制

它们都是独立的个体!

各个硬件单元必须用"总线"链接起来,总线分为:1.系统总线 2.IO总线


冯·诺依曼体系结构的思想是将程序和数据存储在同一个存储器中,这种存储器被称为随机存储器(RAM)。这一思想的好处是可以让计算机更加灵活地运行不同的程序,而不需要改变硬件。

另外,冯·诺依曼体系结构还引入了指令和数据的二进制表示形式。这种表示形式使得计算机可以使用相同的硬件执行不同的指令,从而实现更高的灵活性和效率。

在冯·诺依曼体系结构中,控制单元负责从存储器中读取指令,并将其发送到算术逻辑单元执行。执行完成后,结果将被存储回存储器中。这种基于存储器的设计极大地简化了计算机的设计和实现。

总的来说,冯·诺依曼体系结构是计算机设计的里程碑之一。它的思想和设计对现代计算机的发展产生了深远的影响,也为计算机科学领域的发展奠定了坚实的基础。

冯诺依曼体系结构的运行过程

根据上面图可以得出:

对于一个需要处理数据而言想要完成相关操作,那就必须先通过输入设备,再通过一系列操作进入内存;

然后CPU从内存中读取数据,数据经过运算器处理完成之后再写入内存中;

最终有存储器输出到输出设备上,由输出设备输出。

整个过程由控制器来控制完成。


一个小问题:

一个程序要运行,为什么必须加载到内存中运行?

因为冯诺依曼体系结构的规定!!!


存储器中的木桶效应

计算机存储器的“木桶效应”指的是,类比一个木桶,存储器的容量由最小的那个存储单元所决定,即使其他存储单元的容量比这个最小单元大,也无法利用它们存储更多的数据。这是因为计算机存储器是按照固定大小的块来进行分配和管理的,每个块的大小都是相同的,因此无论某个块是否被完全使用,它都会占用相同的存储空间。

例如,如果一个程序需要使用100个字节的存储空间,但计算机存储器的块大小为256字节,那么这个程序将会占用256字节的存储空间,即使只有100字节被实际使用。这样就会浪费156字节的存储空间,造成了“木桶效应”。

为了减少“木桶效应”带来的浪费,计算机存储器通常会采用内存分页和虚拟内存等技术来动态地分配和管理存储空间,以便更加高效地利用存储器。

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

不同层次存储器设备特点:

1.越靠近 CPU 速度越快,容量越小,价格越贵。

2.每一种存储器设备只和它相邻的存储设备打交道。 比如,CPU Cache 是从内存里加载而来的,或者需要写回内存,并不会直接写回数据到硬盘,也不会直接从硬盘加载数据到 CPU Cache 中,而是先加载到内存,再从内存加载到 Cache 中。


实例:qq聊天数据传输过程

我们平时使用QQ聊天的时候,整个数据是怎么流动的呢?

我们先来通过画图整体了解一下数据的流动方式。


根据冯诺依曼体系结构,可以将使用QQ聊天时的数据流动过程描述如下:


1.输入阶段:用户在QQ客户端中输入聊天内容。

2.存储阶段:输入的聊天内容被存储在计算机的主存储器(RAM)中。

3.控制阶段:QQ客户端执行相应的指令,将存储在主存储器中的聊天内容提取出来。

4.运算阶段:QQ客户端对聊天内容进行必要的处理和加工,例如打包成数据包。

5.存储阶段:处理后的数据包被存储在计算机的主存储器中。

6.控制阶段:QQ客户端执行发送指令,将存储在主存储器中的数据包发送出去。

7.存储阶段:数据包被发送到目标QQ服务器,并存储在服务器的主存储器中。

8.控制阶段:QQ服务器执行相应的指令,解析并处理接收到的数据包。

9.存储阶段:解析后的聊天内容被存储在服务器的主存储器中。

10控制阶段:QQ服务器根据接收方的状态,决定将聊天内容发送给在线接收方或存储起来等待接收方上线。

11.存储阶段:如果接收方在线,聊天内容被存储在接收方QQ客户端的主存储器中。

12.控制阶段:接收方QQ客户端执行相应的指令,将聊天内容显示给接收方用户。

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


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
6月前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
3月前
|
Linux 调度 芯片
Linux0.11 内核体系结构(八)(下)
Linux0.11 内核体系结构(八)
56 1
|
3月前
|
Linux Shell 编译器
Linux0.11 内核体系结构(八)(上)
Linux0.11 内核体系结构(八)
105 0
|
3月前
|
网络协议 安全 Linux
在Linux中,体系结构是什么?
在Linux中,体系结构是什么?
|
3月前
|
存储 IDE Linux
Linux源码阅读笔记14-IO体系结构与访问设备
Linux源码阅读笔记14-IO体系结构与访问设备
|
4月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
168 1
|
5月前
|
存储 缓存 安全
Linux基础——冯诺依曼体系结构与操作系统
Linux基础——冯诺依曼体系结构与操作系统
75 1
Linux基础——冯诺依曼体系结构与操作系统
|
6月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
13天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
104 5
|
13天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
49 4