冯诺依曼体系结构

冯诺依曼体系结构

目录

  • 冯诺依曼体系结构
    • 引入
    • 1、冯诺依曼体系结构
      • 1.1 内存
      • 1.2 操作系统预加载
    • 2、操作系统
      • 2.1 理解管理
      • 2.2 系统调用接口
      • 2.3 操作系统四大基本功能

引入

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

1、冯诺依曼体系结构

image-20230411134634789

这里的存储器是谁?—>内存:掉电易失 而磁盘—>外存—>具有永久性存储能力

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 理解管理

我们设想一个场景:校长作为学校的管理者,学生作为被管理者,是被校长直接管理的吗?显然不是,校长甚至从未见过我们,那他是如何对我们进行管理的呢?学生的所有数据,早已被校方所掌握,且一直在更新!

对管理者的理解:管理者不需要和被管理者直接交互,依旧能够把被管理对线管理起来!

所谓管理者,即是对重大事宜具有决策的权力

由此可知,管理的本质是对数据做管理!

image-20230411142058768

驱动程序本质上是软件代码,主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。 如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功能的,也就是说驱动程序是介于操作系统与硬件之间的媒介,实现双向的传达,即将硬件设备本身具有的功能传达给操作系统,同时也将操作系统的标准指令传达给硬件设备,从而实现两者的无缝连接

1、操作系统通过对数据做管理,来进行对被管理者进行管理

2、数据的采集和决策的执行有驱动完成

那么管理者是如何能一直拿到数据呢?

image-20230411142659701

此时,对学生数据做管理,即是对链表做管理!

以上过程,是对被管理对象进行建模的过程!

👉 所有的管理,本质逻辑都是:先描述,再组织;采用面向对象进行描述,用数据结构的知识进行组织!


总结:

1、管理的本质:对数据做管理

2、管理的方法:先描述,再组织


2.2 系统调用接口

在现实中,假如我们需要去银行办理存钱、取钱等业务,进入银行后有大堂经理组织我们,到柜台有柜员为我们办理操作,此服务方式我们称之为接口式服务,对于计算机亦是如此:

image-20230411144927096

人能管理硬件,人也可以管理人;软件能管理硬件,软件也可以管理软件!

操作系统接口为何存在?

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

image-20230411145436568

2.3 操作系统四大基本功能

  1. 进程管理:操作系统通过进程管理来协调和控制系统中运行的进程。它负责分配和管理系统资源,如内存、CPU时间、输入输出设备等,以保证系统中每个进程的正常运行和相互协作。
  2. 存储管理:操作系统的存储管理功能包括内存管理和外存管理。内存管理负责将物理内存分配给进程,并对其进行管理,以确保每个进程都有足够的内存可用。外存管理则负责管理磁盘等外部存储器,以提供更大的存储空间。
  3. 文件管理:操作系统的文件管理功能负责管理和控制系统中的文件和目录。它提供了对文件系统的访问接口,并提供了文件的创建、打开、读取、写入、删除等操作,以及目录的创建、重命名、删除等操作。
    提供更大的存储空间。
  4. 文件管理:操作系统的文件管理功能负责管理和控制系统中的文件和目录。它提供了对文件系统的访问接口,并提供了文件的创建、打开、读取、写入、删除等操作,以及目录的创建、重命名、删除等操作。
  5. 驱动管理:操作系统的驱动管理功能负责管理和控制系统中的各种设备驱动程序。它使操作系统能够与硬件设备进行交互和通信,并为应用程序提供访问硬件的接口。操作系统必须识别并正确管理系统中所有的硬件设备,以便应用程序能够使用它。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE学习进阶day03_03 Object类

第三章 Object类 介绍这个类之前,先回顾一下API: 3.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父…

手势控制的机器人手臂

将向你展示如何构建机械手臂并使用手势和计算机视觉来控制它。下面有一个在开发阶段的机械手臂的演示视频。 展示开发中的手臂的演示视频:https://youtu.be/KwiwetZGv0s 如图所示,该过程首先用摄像头捕捉我的手及其标志。通过跟踪特定的界标,…

C++语法(16)---- 多态

https://blog.csdn.net/m0_63488627/article/details/130106690?spm1001.2014.3001.5501https://blog.csdn.net/m0_63488627/article/details/130106690?spm1001.2014.3001.5501 目录 1. 多态的概念 2.多态的实现 1.虚函数 2.多态条件 得到的多态条件 特殊条件 3.虚函…

数据结构入门-10-AVL

文章目录 一、AVL的性质1.2 平衡二叉树定义 二、添加需达到平衡2.1 平衡因子2.1.2 平衡因子的实现 2.2 判断该二叉树是否为平衡二叉树2.3 左旋右旋2.3.1 左旋LL右旋RR基本原理2.3.2 LR RLLRRL 三、AVL中删除 一、AVL的性质 平衡二叉树 AVL树得名于它的俄罗斯发明者G. M. Adels…

被裁员了,要求公司足额补缴全部公积金,一次补了二十多万!网友兴奋了,该怎么操作?...

被裁员后,能要求公司补缴公积金吗? 一位网友问: 被裁员了,要求公司把历史公积金全部足额缴纳,现在月薪2.3万,但公司每个月只给自己缴纳300元公积金,结果一次补了二十多万,一次性取出…

Node 【Buffer 与 Stream】

文章目录 🌟前言🌟Buffer🌟 Buffer结构🌟 什么时候用Buffer🌟 Buffer的转换🌟 Buffer使用🌟 创建Buffer🌟 字符串转Buffer🌟 Buffer转字符串🌟 拼接Buffer&am…

Java每日一练(20230417)

目录 1. N 皇后 🌟🌟🌟 2. 搜索二维矩阵 🌟🌟 3. 发奖金问题 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 …

权限控制_SpringSecurity

认证-授权 认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁。 授权:用户认证成功后,需要为用户授权,其实就是指定当前用户可以操作…

Node 内置模块 【fs模块】

文章目录 🌟前言🌟fs模块🌟 使用fs模块🌟 异步编程和同步编程🌟 异步编程🌟 同步编程 🌟常用操作🌟 文件操作🌟 readFile异步读取文件🌟 readFileSync同步读取…

YOLOv8 更换主干网络之 GhostNetV2

《GhostNetV2:Enhance Cheap Operation with Long-Range Attention》 轻量级卷积神经网络(CNN)是专门为在移动设备上具有更快推理速度的应用而设计的。卷积操作只能捕捉窗口区域内的局部信息,这防止了性能的进一步提高。将自注意力引入卷积可以很好地捕捉全局信息,但这将大…

【系统集成项目管理工程师】项目进度管理

💥十大知识领域:项目进度管理 主要考计算题 项目进度管理包括以下 7 个过程: 规划进度管理过程定义活动过程排列活动顺序过程估算活动资源过程估算活动持续时间过程制定进度计划过程控制进度过程 一、规划进度管理过程 制定政策、程序和文档以管理项目进…

JeecgBoot 3.5.1 版本发布,开源的企业级低代码平台

项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

苹果电容笔值得买吗?ipad电容笔推荐平价

在当今时代,高科技已经成为推动数字产品发展的重要推动力。无论是在工作上,还是在学习上,大屏幕都能起到很好的作用。IPAD将会更好地融入我们的生活,不管是现在还是未来。而ipad配上一支简单的电容笔,不仅可以提高工作…

几分种学会React Router v6使用

React路由可以实现页面间的切换。 传送门:英文文档 中文教程: https://www.reactrouter.cn/docs/getting-started/tutorial 1.基础使用 1.安装react-router npm i react-router-dom62.配置根组件app.js import { React, lazy, Suspense } from "…

C++ -3- 类和对象 (中) | 构造函数与析构函数(一)

文章目录 1.类的6个默认成员函数2.构造函数3.析构函数构造函数与析构函数应用场景缺省值初始化 1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自…

【文章学习系列之模型】FEDformer

本章内容 文章概况模型流程主要结构Frequency Enhanced Decomposition Architecture(频率增强分解结构)Fourier enhanced blocks and Wavelet enhanced blocks(傅里叶增强模块和小波增强模块)Fourier Enhanced Structure&#xff…

【Java 数据结构】优先级队列 (堆)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

快速精简软件,如何让软件缩小到原来的5%大小,从删除文件入手,到修改C++引用库,合规解决存储问题

Hi~大家好,今天制作一个简单的精简软件的教学~ 事先说明下,精简软件并不违反任何规定,尤其是开源软件,这里也仅讨论开源软件的修改,根据几乎所有开源软件的开源规则,精简软件,本质也就是修改软件…

戴尔G3 Ubuntu18.04双系统安装

ROS学习需要使用Linux系统,首先就是Ubuntu,我选择的是18.04.6这个版本,因为后面我要使用以Jetson Nano为主控的Jetbot进行ROS编程,Jetbot所带的出厂镜像就是18.04,为了方便程序移植,以及减少不必要的麻烦。…

【消息队列】聊一下Kafka副本机制

副本机制的好处 副本在分布式系统下,不同的网络互联的机器保存同一份数据。我们知道在分布式系统中,都会通过数据镜像、数据冗余的方式来提升高可用性。 提供数据冗余:这点比较好理解,说白了就是通过数据冗余在不同的服务器上&a…