【Linux学习】初始冯诺漫体系结构

文章目录

  • 认识冯诺依曼系统


认识冯诺依曼系统

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

冯诺依曼体系结构是一种将程序指令和数据以二进制形式存放在主存储器中,由中央处理器统一控制和执行的计算机系统结构。冯诺依曼体系结构实现了程序的可编程性和硬件与软件的分离,促进了计算机的发展。冯诺依曼体系结构由五个基本部件组成,分别是存储器、运算器、控制器、输入设备和输出设备。

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。这种结构特点是“程序存储,共享数据,顺序执行”,需要 CPU 从存储器取出指令和数据进行相应的计算。

主要特点有:

(1)单处理机结构,机器以运算器为中心;
(2)采用程序存储思想;
(3)指令和数据一样可以参与运算;
(4) 数据以二进制表示;
(5)将软件和硬件完全分离;
(6) 指令由操作码和操作数组成;
(7)指令顺序执行。

在这里插入图片描述

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

  • 输入设备(单元):包括键盘, 鼠标,扫描仪, 写板,网卡,摄像头等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出设备(单元):显示器,打印机,磁盘,声卡,显卡等

注意:有些设备既做输入也做输出的。设备之间是独立的,并且是通过总线连接的。这样数据才能在这些设备之间流动(传输)。本质就是设备之间进行数据的来回拷贝。

存储金字塔图(如下):

根据这个金字塔图能够得到的信息是:
距离CPU越近的存储单元,效率越高,造价越贵,单体容量越小。
距离CPU越远的存储单元,效率越低,造价越便宜,单体容量越大。
其中,第五层就是内存。
在这里插入图片描述

为什么需要存储器呢?为什么不能让硬件设备直接与CPU连接?

因为,数据在设备之间流动(传输),本质是设备之间进行数据的来回拷贝,所以,拷贝的整体速度是决定计算机效率的整体指标,但是CPU的速度是很快的,但是外部设备的速度很慢的,如果没有内存,那么计算机整体的效率就取决于了外设的速度,会导致计算机效率过低,使用性降低。
为了解决这个问题呢?所以引入了内存,内存的速度介于外设与CPU之间,简单的说,内存就可以看作一个非常大的缓存,内存的作用是预先加载与缓存,相当于就是,提前将外设信息加载到内存中,然后CPU直接在内存中获取信息去处理,处理了再给内存,内存再把处理后的结果返回给外设。内存就可以看作一个非常大的缓存。 这样,就计算机的效率最终就会以内存的效率为主。

关于冯诺依曼需要注意的几点:

  1. 这里的存储器指的是内存,内存有一个的特点:掉电易失。
  2. 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
  3. 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  4. 就是所有设备都只能直接和内存打交道。

以例子来帮助我们理解:
注意:这里只考虑设备中数据的流动。

  1. 程序在与逆行的时候,必须先把程序加载到内存中。程序编译好了也是一个文件,该文件放在外设(磁盘)中,必须先加载到内存中,然后交给CPU执行。(CPU只会在内存中去读取)

  2. 以发消息为例,你给你的朋友发消息,然后你的朋友是怎么收到消息的呢?
    数据流动过程:消息–>键盘–>内存—>CPU---->网卡---->你朋友设备的网卡---->内存—>CPU—>显示器。

  3. 如果是在qq上发送文件呢?
    数据流动过程:磁盘(文件)---->内存---->CPU---->网卡---->朋友大的网卡—>内存---->CPU---->磁盘(下载文件后存储在磁盘)


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

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

相关文章

wordpress建网站主题案例推荐

wordpress企业网站主题案例 https://www.mymoban.com/wordpress/ wordpress公司官网主题案例 https://www.wowsoho.com/jianzhan wordpress外贸主题案例 https://www.wpniu.com/moban

用户中心 -- 插件使用 插件使用思路

易错注意点 1 5.1启动类 & 入口类 需保持一致 网址: 第一节课,用户管理--后端初始化,项目调通。二次翻工2-CSDN博客 一、 用户管理 框架 网址: 用户管理 --汇总 -- 明细-CSDN博客 1.2 更改路径,并生效 网址…

基于SpringBoot的“家具销售电商平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“家具销售电商平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 管理员登录界面 管理员功能界面 家具分类管理…

【c语言】gcc编译动态库静态库和使用说明

(1)linux和win下库后缀名 在WIN上封装为.dll(动),.lib(静)。 在LINUX上封装为.so(动),.a(静) (2)动态库的封…

戴尔g15删掉的数据怎么恢复?介绍几种常用方法

随着科技的发展,电脑已成为我们日常生活和工作中不可或缺的一部分。其中,戴尔G15作为一款高性能的笔记本电脑,受到了许多用户的青睐。然而,就像任何电子设备一样,戴尔G15也难免会遇到数据丢失的问题。因此,…

纳米体育数据足球数据接口: 指数数据包接口文档API示例⑦

纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。 纳米数据API2.0版本…

【算法刷题】手撕LRU算法(原理、图解、核心思想)

文章目录 1.LRU算法1.1相关概念1.2图解举例1.3基于HashMap和双向链表实现1.3.1核心思想1.3.2代码解读1.3.3全部代码 1.LRU算法 1.1相关概念 LRU(Least Recently Used,最近最久未使用算法): 定义:根据页面调入内存后的…

python画图笔记

1. 直方图:Matplotlib 中如何同时绘制两个直方图? - 知乎 (zhihu.com) matplotlib可视化之直方图plt.hist()与密度图-CSDN博客

力扣练习题(2024/4/19)

1两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "se…

(一)、SQL进阶——神奇的SQL

一、CASE表达式 1、CASE表达式概述 case表达式有简单case表达式和搜索case表达式两种写法 -- 简单case表达式 case sex when 1 then 男 when 0 then 女 else 其他 end -- 搜索case表达式 case when sex1 then 男 when sex1 then 男 else 其他 end 这两种写法执行的结…

跨平台手机号:微信手机号授权登录、微信授权登录双登录实现账户生态融合,新时代的身份密钥

小程序厂商的多样性体现在开发工具、服务领域、商业模式等多方面,各厂商凭借独特的技术优势、行业解决方案和市场策略,满足不同企业和用户需求。与此同时,随着移动互联网发展,手机号统一登录成为提升用户体验、简化登录流程的关键…

每日一篇 4.24(提前)

condemns :谴责 Claim:说法 malicious:恶意 curb:遏制 stabilization of xxx ties:xx关系稳定 launched its harshest attack to date on xxx:发起了迄今为止最严厉的攻击 suppressing:打压 favorable…

Go语言接口使用

底层值为 nil 的接口值 即便接口内的具体值为 nil,方法仍然会被 nil 接收者调用。 在一些语言中,这会触发一个空指针异常,但在 Go 中通常会写一些方法来优雅地处理它(如本例中的 M 方法)。 注意: 保存了 nil 具体值…

要养生也要时尚,益百分满足你的所有需求

要养生也要时尚,益百分满足你的所有需求 艾灸是个好东西,尤其是在近几年的时候,艾灸就像一阵浪潮席卷进了人们的日常生活之中,我们可以在街边看到大大小小的艾灸馆,有些评价比较高的艾灸馆门前甚至还排起了长长的队伍…

Unity3D 分块编辑小AStar地图详解

前言 A算法是一种经典的寻路算法,能够帮助游戏中的角色找到最短路径。在本文中,我们将介绍如何在Unity3D中使用分块编辑的方式创建一个小的A地图,并实现A*算法来实现角色的寻路。 对惹,这里有一个游戏开发交流小组,希…

FasterViT:英伟达提出分层注意力,构造高吞吐CNN-ViT混合网络 | ICLR 2024

论文设计了新的CNN-ViT混合神经网络FasterViT,重点关注计算机视觉应用的图像吞吐能力。FasterViT结合CNN的局部特征学习的特性和ViT的全局建模特性,引入分层注意力(HAT)方法在降低计算成本的同时增加窗口间的交互。在包括分类、对…

【InternLM 实战营第二期笔记】Lagent AgentLego 智能体应用搭建

理论知识 Lagent 是什么 Lagent 是一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体。同时它也提供了一些典型工具以增强大语言模型的能力。 Lagent 目前已经支持了包括 AutoGPT、ReAct 等在内的多个经典智能体范式,也支持了…

主流微前端框架对比与选择策略

微前端是一种架构风格,旨在将大型前端应用程序拆分为多个独立的模块,这些模块可以独立开发、测试和部署。主流的微前端框架有以下几种: Single-SPA:Single-SPA 是一个超级父级框架,可以与其他前端框架集成,…

linux环境变量设置

windows环境变量设置步骤: 右键"我的电脑"高级设置环境变量编辑"用户变量"或者"系统变量" linux下环境变量的设置步骤: 修改/etc/profile添加如下格式条目: export MAVEN_HOME/usr/local/apache-maven-3.6…

C语言指针+-整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组

文章目录 前言一、指针 - 整数二、指针 - 指针三、指针的关系运算四、指针和数组五、二级指针六、指针数组指针数组可以将几个一维数组模拟成二维数组 总结 前言 C语言指针整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组等介绍,还包括指针数组将几…