Linux 进程基础(一):冯诺依曼结构

news2025/4/16 4:04:03

文章目录

  • 一、冯诺依曼体系结构是什么?🧠
  • 二、冯诺依曼体系为何成为计算机组成的最终选择?
    • (一)三大核心优势奠定主流地位
    • (二)对比其他架构的不可替代性
  • 三、存储分级:速度与容量的平衡
    • 各级存储的核心特性与作用💾
  • 四、计算机设备的 "隐性存储":几乎所有设备都有数据存储能力
  • 五、从代码运行到社交软件:数据流动的两个典型案例🌰
    • 案例 1:代码文件的执行过程
    • 案例 2:社交软件的通信过程


一、冯诺依曼体系结构是什么?🧠

CPU内部结构
数据写入
数据读取
指令地址
操作数
数据/指令
运算结果
控制器
寄存器组
运算器
输入设备
内存
输出设备

冯诺依曼体系结构是现代计算机的基础架构,其核心在于定义了计算机的基本组成和工作方式。计算机主要由以下几个部分构成:

  1. 输入(Input):输入设备是计算机与外界交互的桥梁,用于将外部的信息(如数据、指令等)传递给计算机。常见的输入设备有键盘、鼠标、扫描仪、摄像头等。这些设备将各种形式的信息转换为计算机能够识别的二进制数据,以便计算机进行处理。
  2. 内存(Memory):内存是计算机中用于临时存储数据和程序的部件。它可以快速地读取和写入数据,为CPU提供运行时所需的指令和数据。内存的特点是访问速度快,但存储容量相对较小,且数据在断电后会丢失。当计算机运行程序时,程序和相关数据会被加载到内存中,以便CPU能够高效地访问。
  3. CPU(Central Processing Unit, 中央处理器):CPU是计算机的核心运算和控制部件,它负责执行计算机程序中的指令,进行数据的运算和逻辑判断,并控制计算机各个部件的协同工作。CPU内部包含运算器和控制器,运算器用于完成算术运算和逻辑运算,控制器则用于指挥和协调计算机的各个部件按照指令的要求进行工作。
  4. 输出(Output):输出设备用于将计算机处理后的结果以人们能够理解的形式(如文字、图像、声音等)输出到外部。常见的输出设备有显示器、打印机、音箱等。输出设备将计算机内部的二进制数据转换为相应的物理信号,供用户查看或使用。

CPU为何不直接与外设交互?

  • 接口协议复杂度
  • 效率与并行处理
  • 保护机制与兼容性

二、冯诺依曼体系为何成为计算机组成的最终选择?

(一)三大核心优势奠定主流地位

  1. 存储程序原理:冯诺依曼体系将数据与指令以二进制形式统一存储在内存中,CPU 通过地址访问内存获取指令和数据,实现了程序的动态加载与修改。这一设计彻底告别了早期 “专用计算机”(指令硬编码)的局限,使计算机通过运行不同程序即可处理多样化任务(如科学计算、文本处理、网络通信),奠定了通用计算机的基础。

  2. 模块化分层架构:划分为输入设备→内存→CPU→输出设备四大核心模块,各模块通过标准化接口交互(如内存总线、I/O 总线)。例如:

    • 输入设备(键盘、磁盘)仅需将数据写入内存,无需关心 CPU 如何处理;
    • CPU 仅需操作内存中的数据,无需适配不同外设的复杂协议。
  3. 数据流动的高效性:所有运算与控制均围绕内存展开:CPU 从内存取指令(Fetch)→解码执行(Execute)→结果写回内存(Store),形成 “内存为中心” 的数据流闭环。相比早期以 CPU 为中心的架构(外设直接与 CPU 交互),这种设计减少了 CPU 与外设的耦合,使外设可以异步工作(如磁盘读写时 CPU 仍可处理内存数据),大幅提升系统整体效率。

(二)对比其他架构的不可替代性

尽管现代出现了哈佛体系(指令与数据分存)、存算一体架构等,但冯诺依曼体系凭借通用性、易实现性、生态成熟度,在通用计算机领域(PC、服务器)仍占据绝对主导地位。

  • 哈佛体系多用于嵌入式设备(如单片机),因无需频繁切换程序,专用性更强;
  • 存算一体架构尚处实验室阶段,难以兼容现有软件生态.

三、存储分级:速度与容量的平衡

计算机存储按访问速度从快到慢、容量从小到大分为多级,形成典型的 “速度 - 容量倒挂” 结构。

外部存储
磁盘
主存储
高速存储
磁带, 光盘
速度:秒级以上
容量:百TB级以上
固态硬盘SSD
速度:微秒级
容量:TB级
机械硬盘HDD
速度:毫秒级
容量:数十TB级
内存RAM
速度:百纳秒级
容量:GB级
高速缓存
速度:十纳秒级
容量:MB级
寄存器
速度:纳秒级
容量:KB级

高速缓存是为弥补 CPU 与内存速度差异而设计的高速存储层,现代计算机的高速缓存(尤其是 L1、L2 缓存)大多属于 CPU 结构的一部分,是提升 CPU 数据访问效率的关键组件。

各级存储的核心特性与作用💾

  • 寄存器(CPU 内部)

    • 特性:集成在 CPU 芯片内,访问速度最快(约 1-5 纳秒),容量极小(每个 CPU 核心仅几十到几百个寄存器)。

    • 作用:临时存放 CPU 正在处理的指令和数据(如运算结果、地址指针),是 CPU 执行指令的 “直接操作台”。例:x86 架构中的eax、ebx等通用寄存器,用于暂存加减乘除运算的中间结果。

  • 内存(RAM,如 DDR4)

    • 特性:基于 DRAM(动态随机存取存储器),需持续供电维持数据,访问速度约 50-100 纳秒,容量通常为 8GB-128GB。

    • 作用:作为 CPU 与外部存储的 “桥梁”,临时存储正在运行的程序和数据(如操作系统、打开的文档、游戏进程)。关键机制:CPU 仅能直接访问内存,所有外设数据必须先加载到内存才能被处理(见下文 “CPU 为何不直接与外设交互”)。

  • 固态硬盘(Solid State Drive, SSD)

    • 特性:基于 NAND 闪存颗粒,无机械结构,访问速度约 10-100 微秒,容量从 256GB 到数十 TB,寿命受擦写次数限制(约 300-3000 次全盘擦写)。

    • 优势:相比机械硬盘(HDD),随机读写速度提升 100 倍以上,抗震性强,广泛用于操作系统启动盘、高频访问数据存储。

  • 机械硬盘(Hard Disk Drive, HDD)

    • 机械结构:由旋转盘片(表面涂覆磁性材料)、磁头臂(带动磁头读写)、主轴电机组成。访问速度依赖寻道时间(约 5-15 毫秒),容量可达 10TB 以上,成本低但易受物理震动影响。

    • 典型场景:用于冷数据存储(如备份文件、视频库),或作为 NAS(网络附加存储)的主力存储介质。

四、计算机设备的 “隐性存储”:几乎所有设备都有数据存储能力

外设存储的三大核心作用

  1. 缓冲数据传输:外设与 CPU/内存 的速度差异巨大,需通过设备缓存暂存数据。
  2. 存储设备状态与配置:外设需存储自身工作参数。
  3. 实现异步通信:外设通过本地存储实现与主机的异步交互。

典型设备的存储实例

  • 网卡:集成 RX/TX 队列缓存,暂存待发送 / 接收的网络数据包;

  • 显卡:显存(GB 级)存储待渲染的 3D 模型、纹理数据,GPU 直接访问显存进行并行计算;

  • U 盘:内置闪存颗粒(与 SSD 原理相同),存储用户数据并通过 USB 接口与内存交互。

五、从代码运行到社交软件:数据流动的两个典型案例🌰

冯诺依曼体系结构的本质:数据的流动

案例 1:代码文件的执行过程

返回
磁盘
低速存储, 长期保存代码
内存
高速缓存, 临时加载程序
CPU
运算核心, 处理指令
显示器
输出设备, 显示运行结果

案例 2:社交软件的通信过程

发送端

数据输入与发送流程
返回
内存
存储编码后的数据
键盘
输入设备, 输入文字
CPU
处理文字编码
网卡
输出设备, 将数据封装为网络数据包, 通过网线无线发送

接收端

数据接受与显示流程
返回
内存
暂存解包后的数据
网卡
输入设备, 接收网络数据包
CPU
解析数据, 如解密校验
显示器
输出设备, 显示消息内容

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2335678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ 深度解析:从基础到高级应用的全面指南

🐰 RabbitMQ 深度解析:从基础到高级应用的全面指南 前言📘 一、RabbitMQ 简介⚙️ 二、核心特性可靠性 🔒灵活路由 🔄高可用性 🌐多协议支持 🌍多语言客户端 💻插件机制 &#x1f50…

【图灵Python爬虫逆向】题七:千山鸟飞绝

题目背景 题目地址:https://stu.tulingpyton.cn/problem-detail/7/ 这一题为中等难度 打开控制台时会发现进入无限debug,可以通过右键点击"一律不在此处暂停"来绕过这个障碍。 一、请求与响应分析 1. 请求参数分析 首先观察网络请求&…

ubuntu 2404 安装 vcs 2018

参考ubuntu 2204 安装 vcs 2018 系统信息 Ubuntu 24.04.2 LTS ubuntu和 安装后的 vcs 花费了 22G , 其中 "安装后的 vcs" 占13G预先配置 过程 和 2204 安装 vcs 2018 不同, 其他相同 // vm-tools 的安装, 不是虚拟机不需要 sudo apt-get update sudo apt-get inst…

潇洒浪: Dify 上传自定义文件去除内容校验 File validation failed for file: re.json

Dify上传文件 添加其他文件类型如 my.myselfsuffix 上传成功 执行报错 File validation failed for file: re.json 解决办法 Notepad++ 搜索dify源码

python-66-前后端分离之图书管理系统的Vue前端项目逐行分析

文章目录 1 App.vue的数据表格1.1 template部分1.1.1 div标签1.1.2 h1标签1.1.3 el-button标签1.1.4 el-table标签1.1.5 el-table-column标签1.1.6 表格中放置按钮1.2 script部分1.2.1 加载库和函数1.2.2 创建响应式数组1.2.3 创建getBooks函数1.2.4 onMounted函数1.2.5 创建ha…

【实战手册】8000w数据迁移实践:MySQL到MongoDB的完整解决方案

🔥 本文将带你深入解析大规模数据迁移的实践方案,从架构设计到代码实现,手把手教你解决数据迁移过程中的各种挑战。 📚博主其他匠心之作,强推专栏: 小游戏开发【博主强推 匠心之作 拿来即用无门槛】文章目录 一、场景引入1. 问题背景2. 场景分析为什么需要消息队列?为…

OpenAI为抢跑AI,安全底线成牺牲品?

几年前,如果你问任何一个AI从业者,安全测试需要多长时间,他们可能会淡定地告诉你:“至少几个月吧,毕竟这玩意儿可能改变世界,也可能毁了它。”而现在,OpenAI用实际行动给出了一个新答案——几天…

OpenCV 图形API(25)图像滤波-----均值滤波(模糊处理)函数blur()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 使用归一化的方框滤波器模糊图像。 该函数使用以下核来平滑图像: K 1 k s i z e . w i d t h k s i z e . h e i g h t [ 1 1 ⋯ …

轻量级开源文件共享系统PicoShare本地部署并实现公网环境文件共享

## 前言 本篇文章介绍,如何在 Linux 系统本地部署轻量级文件共享系统 PicoShare,并结合 Cpolar 内网穿透实现公网环境远程传输文件至本地局域网内文件共享系统。 PicoShare 是一个由 Go 开发的轻量级开源共享文件系统,它没有文…

UE5蓝图之间的通信------接口

一、创建蓝图接口 二、双击创建的蓝图接口,添加函数,并重命名新函数。 三、在一个蓝图(如玩家角色蓝图)中实现接口,如下图: 步骤一:点击类设置 步骤二:在细节面板已经实现的接口中…

银河麒麟服务器操作系统V10安装Nvidia显卡驱动和CUDA(L40)并安装ollama运行DeepSeek【开荒存档版】

前期说明 麒麟官方适配列表查找没有L40,只有海光和兆芯适配麒麟V10,不适配Intel芯片 但是我在英伟达驱动列表查到是适配的! 反正都算是X86,我就直接开始干了,按照上面安装系统版本为:银河麒麟kylinos V10 sp3 2403 输入nkvers可以查看麒麟系统具体版本: 安装Nvid…

学习八股的随机思考

随时有八股思考都更新一下,理解的学一下八股。谢谢大家的阅读,有错请大家指出。 bean的生命周期 实际上只有四步 实例化 ----> 属性赋值 ---> 初始化 ---> 销毁 但是在实例化前后 初始化前后 会存在一些前置后置的处理,目的是增…

山东大学软件学院创新项目实训开发日志(10)之测试前后端连接

在正式开始前后端功能开发前,在队友的帮助下,成功完成了前后端测试连接: 首先在后端编写一个测试相应程序: 然后在前端创建vue 并且在index.js中添加一下元素: 然后进行测试,测试成功: 后续可…

AUTO-RAG: AUTONOMOUS RETRIEVAL-AUGMENTED GENERATION FOR LARGE LANGUAGE MODELS

Auto-RAG:用于大型语言模型的自主检索增强生成 单位:中科院计算所 代码: https://github.com/ictnlp/Auto-RAG 拟解决问题:通过手动构建规则或者few-shot prompting产生的额外推理开销。 贡献:提出一种以LLM决策为中…

基础贪心算法集合2(10题)

目录 1.单调递增的数字 2.坏了的计算器 3.合并区间 4.无重叠区间 5. 用最少数量的箭引爆气球 6.整数替换 解法1:模拟记忆化搜索 解法2位运算贪心 7.俄罗斯套娃信封问题 补充.堆箱子 8.可被3整除的最大和 9.距离相等的条形码 10.重构字符串 1.单调递增的数字…

空间信息可视化——WebGIS前端实例(二)

技术栈:原生HTML 源代码:CUGLin/WebGIS: This is a project of Spatial information visualization 5 水质情况实时监测预警系统 5.1 系统设计思想 水安全是涉及国家长治久安的大事。多年来,为相应国家战略,诸多地理信息领域的…

Vue3微前端架构全景解析:模块联邦与渐进式集成

一、微前端核心模式 1.1 主应用与微应用通讯机制 1.2 架构模式对比 维度iFrame方案Web Components模块联邦组合式微前端样式隔离完全隔离Shadow DOM构建时CSS作用域动态样式表通信复杂度困难(postMessage)自定义事件依赖共享Props传递依赖共享不共享按需加载自动共享显式声明…

多模态大语言模型arxiv论文略读(十九)

MLLMs-Augmented Visual-Language Representation Learning ➡️ 论文标题:MLLMs-Augmented Visual-Language Representation Learning ➡️ 论文作者:Yanqing Liu, Kai Wang, Wenqi Shao, Ping Luo, Yu Qiao, Mike Zheng Shou, Kaipeng Zhang, Yang Yo…

【蓝桥杯选拔赛真题101】Scratch吐丝的蜘蛛 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析

目录 scratch吐丝的蜘蛛 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 四、程序编写 五、考点分析 六、推荐资料 1、scratch资料 2、python资料 3、C++资料 scratch吐丝的蜘蛛 第十五届青少年蓝桥杯s…

游戏引擎学习第221天:(实现多层次过场动画)

资产: intro_art.hha 已发布 在下载页面,你会看到一个新的艺术包。你将需要这个艺术包来进行接下来的开发工作。这个艺术包是由一位艺术家精心制作并打包成我们设计的格式,旨在将这些艺术资源直接应用到游戏中。它包含了许多我们会在接下来的直播中使用…