冯诺依曼体系结构
冯诺依曼体系结构
目录
- 冯诺依曼体系结构
- 引入
- 1、冯诺依曼体系结构
- 1.1 内存
- 1.2 操作系统预加载
- 2、操作系统
- 2.1 理解管理
- 2.2 系统调用接口
- 2.3 操作系统四大基本功能
引入
冯·诺依曼体系结构(von Neumann architecture)是现代计算机体系结构的基础,也是目前广泛应用的计算机体系结构之一。它是由物理学家、数学家冯·诺依曼在1945年提出的,被认为是现代计算机的奠基之作。冯·诺依曼体系结构具有存储程序和通用性的特点,这意味着计算机的指令和数据都可以存储在同一个存储器中,而不需要使用不同的存储器进行分离。这种体系结构的发明和普及,极大地推动了计算机科学的发展,并为计算机技术的应用提供了坚实的基础。在本文中,我们将详细介绍冯·诺依曼体系结构的原理、特点和应用,为读者对计算机体系结构的了解提供帮助。
1、冯诺依曼体系结构

这里的存储器是谁?—>内存:掉电易失 而磁盘—>外存—>具有永久性存储能力
CPU=运算器+控制器+其它;CPU在读取与写入时,在数据层面,只和内存打交道!——提高整机效率
CPU其实很笨,只能被动的接受别人的指令、别人的数据—>执行别人的指令,计算别人的数据
接受指令?CPU必须先能识别指令—>CPU有自己的指令集
指令集:精简指令集&&复杂指令集
我们些的代码,编译的本质是?——形成二进制可执行程序—>CPU计算
Q:程序要运行必须加载到内存?为什么要加载?
A:CPU要执行程序、访问数据,只能从内存中读取(体系结构规定!)
总结:
1、CPU不和外设直接打交道,和内存直接打交道
2、所有的外设,有数据需要载入,只能载入到内存中,内存写出,也一定是写到外设中
1.1 内存
内存用来适配外设和CPU速度不均的问题!
CPU运算速度>高速缓存(Cache) > 内存 > 固态硬盘
可以用水桶效应来形象理解,当CPU速度过快而存储能力跟不上时,就会出现瓶颈;因此,在设计计算机系统时需要平衡CPU和存储器读取速度,内存即是用于解决外设和CPU速度匹配问题!
1.2 操作系统预加载
操作系统预加载(OS preloading)是指在系统启动或者应用程序运行之前,将某些关键资源或者数据提前加载到内存中,以加快系统的启动速度或者应用程序的响应速度!
2、操作系统
操作系统是一个进行软硬件资源管理的软件
为什么需要管理?—>通过合理的管理软硬件资源(对下),为用户提高良好的、稳点的、高效的、安全的执行环境(对上)

2.1 理解管理
我们设想一个场景:校长作为学校的管理者,学生作为被管理者,是被校长直接管理的吗?显然不是,校长甚至从未见过我们,那他是如何对我们进行管理的呢?学生的所有数据,早已被校方所掌握,且一直在更新!
对管理者的理解:管理者不需要和被管理者直接交互,依旧能够把被管理对线管理起来!
所谓管理者,即是对重大事宜具有决策的权力
由此可知,管理的本质是对数据做管理!

驱动程序本质上是软件代码,主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。 如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功能的,也就是说驱动程序是介于操作系统与硬件之间的媒介,实现双向的传达,即将硬件设备本身具有的功能传达给操作系统,同时也将操作系统的标准指令传达给硬件设备,从而实现两者的无缝连接
1、操作系统通过对数据做管理,来进行对被管理者进行管理
2、数据的采集和决策的执行有驱动完成
那么管理者是如何能一直拿到数据呢?

此时,对学生数据做管理,即是对链表做管理!
以上过程,是对被管理对象进行建模的过程!
👉 所有的管理,本质逻辑都是:先描述,再组织;采用面向对象进行描述,用数据结构的知识进行组织!
总结:
1、管理的本质:对数据做管理
2、管理的方法:先描述,再组织
2.2 系统调用接口
在现实中,假如我们需要去银行办理存钱、取钱等业务,进入银行后有大堂经理组织我们,到柜台有柜员为我们办理操作,此服务方式我们称之为接口式服务,对于计算机亦是如此:

人能管理硬件,人也可以管理人;软件能管理硬件,软件也可以管理软件!
操作系统接口为何存在?
操作系统为了保护自己(操作系统不信任任何人!),对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口;

2.3 操作系统四大基本功能
- 进程管理:操作系统通过进程管理来协调和控制系统中运行的进程。它负责分配和管理系统资源,如内存、CPU时间、输入输出设备等,以保证系统中每个进程的正常运行和相互协作。
- 存储管理:操作系统的存储管理功能包括内存管理和外存管理。内存管理负责将物理内存分配给进程,并对其进行管理,以确保每个进程都有足够的内存可用。外存管理则负责管理磁盘等外部存储器,以提供更大的存储空间。
- 文件管理:操作系统的文件管理功能负责管理和控制系统中的文件和目录。它提供了对文件系统的访问接口,并提供了文件的创建、打开、读取、写入、删除等操作,以及目录的创建、重命名、删除等操作。
提供更大的存储空间。- 文件管理:操作系统的文件管理功能负责管理和控制系统中的文件和目录。它提供了对文件系统的访问接口,并提供了文件的创建、打开、读取、写入、删除等操作,以及目录的创建、重命名、删除等操作。
- 驱动管理:操作系统的驱动管理功能负责管理和控制系统中的各种设备驱动程序。它使操作系统能够与硬件设备进行交互和通信,并为应用程序提供访问硬件的接口。操作系统必须识别并正确管理系统中所有的硬件设备,以便应用程序能够使用它。
相关文章:
冯诺依曼体系结构
冯诺依曼体系结构 目录 冯诺依曼体系结构引入1、冯诺依曼体系结构1.1 内存1.2 操作系统预加载 2、操作系统2.1 理解管理2.2 系统调用接口2.3 操作系统四大基本功能 引入 冯诺依曼体系结构(von Neumann architecture)是现代计算机体系结构的基础…...
Axios请求(对ajax的二次封装)——Axios API、Axios实例、请求配置、Axios响应结构
axios起步——介绍和使用基本用例post请求 场景复现核心干货axios APIaxios(config)axios(url[,config])请求方式别名 axios实例创建一个axios实例axios.create([config])实例方法 axios请求配置axios响应结构 场景复现 最近学习与前端相关的小程序时,接触了异步请…...
Scrum of Scrums规模化敏捷开发管理全流程
Scrum of Scrums是轻量化的规模化敏捷管理模式,Leangoo领歌可以完美支持Scrum of Scrums多团队敏捷管理。 Scrum of Scrums的场景 Scrum of Scrums是指多个敏捷团队共同开发一个大型产品、项目或解决方案。Leangoo提供了多团队场景下的产品路线图规划、需求管理、…...
BP神经网络原来就是曲线拟合
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com 在初学BP神经网络的时候,总是非常抽象和难理解 但是,学久了会发现,BP神经网络原来就是曲线拟合! 一下子才具体、深入的理解到BP神经网络是什么 本文…...
Oracle数据库查看与修改内存配置
Oracle数据库查看与修改内存配置 Oracle内存管理模式查看Oracle内存分配修改Oracle内存分配 Oracle内存管理模式 Oracle数据库的内存管理模式从自动管理化程度由高到低依次可以分为: 自动内存管理:完全由Oracle自动管理内存分配。DBA只需设置MEMORY_TA…...
Jenkins自动拉取SVN源代码构建打包vue前端项目
目录 1.功能需求 2.安装插件 2.1 安装NodeJS插件 2.2 安装SVN插件 3.配置环境 3.1 NodeJS环境 4.新建任务配置部署信息 4.1 源代码管理 4.2 构建触发器 4.3 构建环境 4.4 构建步骤 5.构建项目 5.1 点击查看控制台日志 1.功能需求 使用Jenkins从SVN上拉取Vue项…...
MySQL表的操作
文章目录: 创建表查看表结构修改表删除表 在使用 MySQL 数据库时,操作表是最基本和最重要的任务之一。表是 MySQL 数据库的核心对象,用于存储数据,并且可以通过 SQL 语句进行查询、插入、更新和删除等操作。因此,熟练掌…...
MySQL索引数据结构入门
之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近有空在看 MySQL8 的文档,发现和 MySQL5.7 相比还是有不少变化,同时 MySQL 又是小伙伴们在面试时一个非常重要的知识点,因此松哥打算最近再抽空和小伙伴们…...
《低代码PaaS驱动集团企业数字化创新白皮书》-低代码PaaS应对行业集团企业数字化应用的需求(制造)
低代码PaaS应对行业集团企业数字化应用的需求 制造 制造业是我国重要的经济支柱之一,随着经济结构的调整,产业链的转移,劳动密集型制造业的利润已大不如前。在数字经济的大环境下,诸多制造业企业选择数字化转型,通过…...
深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务
大家好,我是微学AI,今天给大家介绍一下深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务,TextCNN是一种用于文本分类的深度学习模型,它基于卷积神经网络(Convolutional Neural Networks, CNN)实现。TextCNN的主要思想…...
还在精神内耗?还在焦虑?可以看看这个
作为一个即将毕业的本科生,总是会不由自主的焦虑。因为不考研,所以显得和同学们格格不入,每天都在进行精神内耗,但是我不经意间看到了一个东西-《邓宁克鲁格效应》 上述的四个阶段刻画出了一条典型的“大师养成之路”。但大师毕竟…...
Event Camera (事件相机)
1.传统相机的缺点 1.随着计算机视觉领域的不断发展,目标检测的算法也越来越多样化,特别是近些年深度学习在计算机视觉领域的进步,已经产生了很多优秀的目标检测方法,这些基于帧的方法对于图片的质量有一定的要求,比如合…...
藏经阁(七)有源蜂鸣器和无源蜂鸣器 解析
文章目录 特征区别场景选型实战应用 特征 有源蜂鸣器特征: 又被称为直流蜂鸣器包含了一个多谐振荡器只要额定直流电压可以在两端发出声音具有驱动控制简单价格略高 无源蜂鸣器特征: 又被称为交流蜂鸣器内部没有振荡器需要在两端施加特定频率的方波电…...
配置FTP/TFTP协议的ASPF
在多通道协议和NAT的应用中,ASPF是重要的辅助功能。通过配置ASPF功能,实现内网正常对外提供FTP和TFTP服务,同时还可避免内网用户在访问外网Web服务器时下载危险控件。 组网需求 如图1所示,FW部署在某公司的出口,公司提…...
泛型基本说明
使用传统方法的问题分析 不能对加入到集合ArrayList中的数据类型进行约束(不安全)遍历的时候,需要进行类型转换,如果集合中的数据量较大,对效率有影响。泛型的好处 编译时,检查添加元素的类型,提…...
干洗店洗鞋下店预约小程序开发多少钱
干洗店小程序是一种便捷的移动应用程序,能够帮助用户快捷、轻松地处理干洗、洗衣和清洗等服务。随着智能手机普及和人们生活节奏的不断加快,越来越多人选择使用干洗店小程序来满足自己的日常衣物清洗需求。那干洗店小程序怎么弄,洗衣预约小程…...
用Python实现批量翻译文档文件
文件名批量翻译需要用到编程语言和相应的翻译 API,下面以 Python 和 Google 翻译 API 为例,介绍具体的实现步骤: 安装必要的 Python 库 使用 Python 代码进行文件名翻译需要先安装两个库:googletrans 和 os。 pip install goog…...
机器视觉公司,在玩一局玩不起的游戏
导语 有个著名咨询公司曾经预测过:未来只有两种公司,是人工智能的和不赚钱的。 它可能没想到,还有第三种——不赚钱的AI公司。 去年我们报道过“正在消失的机器视觉公司”,昔日的“AI 四小龙”( 商汤、旷视、云从、依图…...
Zephyr 消息队列
文章目录 简介数据结构k_msgq 定义消息队列发送消息k_msgq_put 接收消息k_msgq_get wait_q 的双重身份清理消息队列k_msgq_cleanup 重置消息队列k_msgq_purge 读取数据k_msgq_peekk_msgq_peek_at 缓冲区容量k_msgq_num_free_getk_msgq_num_used_get 简介 message queue 用于中…...
Jenkins自动化部署实例讲解
文章目录 前言实例讲解基本环境全局工具配置创建任务任务配置源码管理构建步骤(Build Steps)第一步:调用Maven第二步:执行shell启动容器 后记 前言 你平常在做自己的项目时,是否有过部署项目太麻烦的想法?…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
