【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聊天时的数据流动,根据冯诺依曼体系结构的基本原理,将输入、存储、运算和控制等阶段有序地组织起来,实现了聊天数据的流动和处理。


相关文章
|
7月前
|
存储 Linux iOS开发
【Linux】冯诺依曼体系与操作系统理解
本文深入浅出地讲解了计算机体系的两大核心概念:冯诺依曼体系结构与操作系统。冯诺依曼体系作为现代计算机的基础架构,通过中央处理器、存储器和输入输出设备协同工作,解决了硬件性能瓶颈问题。操作系统则是连接硬件与用户的桥梁,管理软硬件资源,提供运行环境。文章还详细解析了操作系统的分类、意义及管理方式,并重点阐述了系统调用的作用,为学习Linux系统编程打下坚实基础。适合希望深入了解计算机原理和技术内幕的读者。
180 1
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
Linux 调度 芯片
Linux0.11 内核体系结构(八)(下)
Linux0.11 内核体系结构(八)
147 1
|
存储 缓存 安全
Linux基础——冯诺依曼体系结构与操作系统
Linux基础——冯诺依曼体系结构与操作系统
174 1
Linux基础——冯诺依曼体系结构与操作系统
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
314 1
|
Linux Shell 编译器
Linux0.11 内核体系结构(八)(上)
Linux0.11 内核体系结构(八)
225 0
|
网络协议 安全 Linux
在Linux中,体系结构是什么?
在Linux中,体系结构是什么?
|
存储 IDE Linux
Linux源码阅读笔记14-IO体系结构与访问设备
Linux源码阅读笔记14-IO体系结构与访问设备
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
1月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
304 1
二、Linux文本处理与文件操作核心命令

热门文章

最新文章