【Linux】冯诺依曼体系结构

server/2024/11/25 19:32:28/

在这里插入图片描述

目录

  • 一、冯诺依曼体系结构
  • 二、冯诺依曼体系结构的基本组成
  • 三、关于冯诺依曼体系结构的一些问题
  • 结尾

一、冯诺依曼体系结构

冯·诺依曼体系结构,也称为普林斯顿结构,是现代计算机设计的基础框架。这一体系结构由数学家冯·诺依曼在20世纪40年代提出,它定义了计算机的基本组成和工作原理。


二、冯诺依曼体系结构的基本组成

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系结构
在这里插入图片描述

截至目前,我们所认识的计算机,都是有一个个的硬件组件组成

  • 输入单元:包括键盘,鼠标,网卡,磁盘,USB等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出单元:显示器,打印机,网卡,磁盘等
  • 存储器:这里的存储器就是内存

关于冯诺依曼,必须强调几点:

  • 这里的存储器指的就是是内存
  • 不考虑缓存情况下,在数据层面上,这里的CPU能且只能对内存进行读写,不能与外设进行直接交互(输入或输出设备)
  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。一句话,所有设备都只能直接和内存打交道。

值得注意的是计算机中几乎所有的设备,都具有数据存储能力。

CPU这个设备,它的处理数据的速度是非常快的,然后是内存,最后是各种外设。

上面这张照片是关于存储分级的图片,在我看来存储分级也可以叫做速度分级、成本分级,为什么存储分级是金字塔形状的呢?因为离CUP越近的设备,存储效率越高,造价越贵。

那么有人就会问了,为什么不全用存储效率高的呢?这样电脑不就非常快了吗?确实,但是存储效率高对应带来的是造价高。

如果我要求不高,可以全部用便宜的存储设备吗?虽然说这样计算机的早就就变低了,但是这个计算机基本上也用不了了。


三、关于冯诺依曼体系结构的一些问题

问题:上面我们提到了,不考虑缓存的情况下,CPU只与内存进行交互,不与外设进行直接交互,这是为什么呢?

解答:相信大家都听说过木桶原理,一个木桶能装多少水,取决于这个木桶中最短一块木板的长度, 而计算机也同样如此,CPU内部的高速缓存提供了快速的存储访问能力,远大于外设的存储效率,这种速度差异使得CPU无法直接高效地与外设进行同步数据交换,导致整机的效率低下,而内存的存储效率比CPU低,但是比外设的存储效率高,因此CPU与内存之间的交互更加高效。

所以基于冯诺依曼体系结构的计算机都是用较少的钱,做出来效率不错的计算机,性价比高。


问题:在学习C/C++的时候都听说过,程序在运行之前,必须先加载到内存中,为什么呢?

解答:程序 = 代码 + 数据 ,而代码和数据最终都需要CPU进行处理,程序本质上是一个exe文件,只能在磁盘(外设)中,而在数据层面上,CPU不与外设进行直接交互,只与内存进行交互,所以必须将程序加载到内存中,CPU才能对程序进行处理。


对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上

问题:请你解释一下,从你登录上QQ开始和某位朋友聊天开始,数据的流动过程。从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在qq上发送文件呢?

解答:在我们登录QQ的时候,本质上就是在电脑上运行起来了了,也就是QQ这个软件被加载到了内存中,那么我们向QQ中输入文字,本质上就是在向内存中输入文字。

那么从头开始解释,当我打开窗口,给我的朋友发消息,我先从键盘(输入设备)输入我想发送的消息到QQ中,本质上是输入到内存(存储器)中,在我们平常发信息的时候可以看到,我们发生信息的时候并不是只有我们发送的信息,还有时间、朋友的备注等信息,那么我们就可以知道,我们要发送的信息一定是被CPU进行处理过的,CPU不会与外设直接交互,那么CPU处理完信息后,会将处理后的信息写入内存(存储器),再通过网卡(输出设备)经过网络传输到朋友的网卡(输入设备),由于前面的文章没有网络相关的文章,这里先不提网络,从网卡中得到的信息需要通过CUP的处理,那么就需要将信息先加载到内存(存储器)中,再由CPU处理得到我想输出的信息,再将CPU处理后的信息写入内存(存储器)中,然后信息通过内存输出到朋友的显示器(输出设备)中,最终完成数据流动。

在这里插入图片描述

在QQ上发送文件本质上与上面的发送文字是相同的,不同的是文件是存储在磁盘中的,所以这里的输入设备是磁盘,其他步骤基本相同。

在这里插入图片描述


结尾

本篇文章最重要的一句话就是不考虑缓存情况下,在数据层面上,这里的CPU能且只能对内存进行读写,不能与外设进行直接交互(输入或输出设备)

如果有什么建议和疑问,或是有什么错误,大家可以在评论区中提出。
希望大家以后也能和我一起进步!!🌹🌹
如果这篇文章对你有用的话,希望大家给一个三连支持一下!!🌹🌹

在这里插入图片描述


http://www.ppmy.cn/server/144877.html

相关文章

前端css 实现 背景渐变,边框渐变

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>CSS 渐变背景和边框</title><…

怎么在宿主机上通过ssh连接虚拟机 VirtualBox 中的linux系统

通过 Xshell 连接 VirtualBox 中的 linux 虚拟机&#xff0c;您需要确保以下几个步骤都正确配置&#xff1a; 1. 配置 VirtualBox 网络 您需要将 VirtualBox 虚拟机的网络适配器设置为支持 SSH 连接的模式&#xff1a; 打开 VirtualBox&#xff0c;选择您的 Ubuntu 虚拟机&am…

详细教程-Linux上安装单机版的Hadoop

1、上传Hadoop安装包至linux并解压 tar -zxvf hadoop-2.6.0-cdh5.15.2.tar.gz 安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1u59OLTJctKmm9YVWr_F-Cg 提取码&#xff1a;0pfj 2、配置免密码登录 生成秘钥&#xff1a; ssh-keygen -t rsa -P 将秘钥写入认…

C0034.在Ubuntu中安装的Qt路径

Qt安装路径查询 在终端输入qmake -v如上中/usr/lib/x86_64-linux-gnu就是Qt的安装目录&#xff1b;

索贝融媒体 Sc-TaskMonitoring/rest/task/search SQL注入漏洞复现

0x01 产品简介 索贝融媒体产品是成都索贝数码科技股份有限公司(简称索贝)为各级电视台和媒体机构打造的一套集互联网和电视融合生产的解决方案。其代表产品为MCH2.0融合媒体生产业务系统,该系统带来了媒体领域一种全新的融合生产流程和工作机制,具有全方位的资源汇聚能力、…

Java开发经验——SpringRestTemplate常见错误

摘要 本文分析了在使用Spring框架的RestTemplate发送表单请求时遇到的常见错误。主要问题在于将表单参数错误地以JSON格式提交&#xff0c;导致服务器无法正确解析参数。文章提供了错误案例的分析&#xff0c;并提出了修正方法。 1. 表单参数类型是MultiValueMap RestControl…

Linux 进程概念与进程状态

目录 1. 冯诺依曼体系结构2. 操作系统&#xff08;Operator System&#xff09;2.1 概念2.2 设计OS的目的2.3 系统调用和库函数概念 3. 进程概念3.1 描述进程 - PCB3.2 task_struct3.3 查看进程3.4 通过系统调用获取进程标识符PID&#xff0c; PPID3.5 通过系统调用创建fork 4.…

NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案

EasyNVR是基于端-边-云一体化架构的安防监控视频融合云平台&#xff0c;具有简单轻量的部署方式与多样的功能&#xff0c;支持多种协议&#xff08;如GB28181、RTSP、Onvif、RTMP&#xff09;和设备类型&#xff08;IPC、NVR等&#xff09;&#xff0c;提供视频直播、录像、回放…