【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.hqwc.cn/news/641940.html

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

相关文章

Excel如何计算时间差

HOUR(B1-A1)&"小时 "&MINUTE(B1-A1)&"分钟 "&SECOND(B1-A1)&"秒"

【C语言】每日一题,快速提升(10)!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 题目:圣诞树 输入: 1输出: * * * * * **说明: 输入: 2输出: * * * * * * * …

Java进阶-Stream流

概述 在Java8中,得益于lambda所带来的函数式编程,引入了一个全新的Stream流的概念目的:用于简化集合和数组操作的api 案例 需求:创建一个集合存储多个字符串元素,将集合中所有以“z”开头的元素存储到新的集合中&am…

重学java 19.面向对象 继承 上

走不出的那段阴霾,很多时候只不过是,我们把它当成了唯一 —— 24.4.22 面向对象整体知识导向: 知识梳理: 1.知道继承的好处 2.会使用继承 3.继承之后成员变量和成员方法的访问特点 4.方法的重写,知道方法重写的使用场景…

Scala 04 —— Scala Puzzle 拓展

Scala 04 —— Scala Puzzle 拓展 文章目录 Scala 04 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二…

【软件测试】认识测试|测试岗位|软件测试和开发的区别|优秀的测试人员需要具备的素质

推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】 一、什么是测试 测试在⽣活中处处可⻅ 1.生活中的测试场景 案例⼀:对某款购物软件进⾏测试 *启动测试:…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具,但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件,但它本身并不进行压缩,而是通常与 gzip 或 bzip2 等压缩工具一起使…

[2024更新]如何从Android恢复已删除的相机照片?

相信大家都经历过Android手机误删相机图片的经历。您是否正在寻找一种可行的方法来挽救这些丢失的照片?如果这是你迫切想解决的问题,那么这篇文章绝对可以帮助你。然而,与其考虑如何从Android恢复已删除的相机照片,我们更愿意建议…

【Qt】:界面优化(一:基本语法)

界面优化 一.基本语法1.设置指定控件样式2.设置全局控件样式3.从文件加载样式表4.使⽤Qt Designer编辑样式(最常用) 二.选择器1.概述2.子控件选择器3.伪类型选择器 三.盒模型 在网页前端开发领域中,CSS是一个至关重要的部分.描述了一个网页的"样式&…

C++之类和对象--赋值运算符重载和const成员函数

目录 1.赋值运算符重载 1.1运算符重载 1.2赋值运算符重载 1.3其它特性 2.const成员函数 3.取地址及const取地址操作符重载 hello,欢迎大家来到小恶魔频道,今天讲解的是C里面的赋值运算符重载以及const成员函数 1.赋值运算符重载 1.1运算符重载 运…

基于Springboot的新生宿舍管理系统

基于SpringbootVue的新生宿舍管理系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 公告信息管理 院系管理 班级管理 学生管理 宿舍信息管理 宿舍安排管理…

Unity系统学习笔记

文章目录 1.基础组件的认识1.0.组件继承关系图1.1.项目工程文件结构,各个文件夹都是做什么的?1.2.物体变化组件1.2.3.三维向量表示方向1.2.4.移动物体位置附录:使用变换组件实现物体WASD移动 1.3.游戏物体和组件的显示和禁用1.3.1.界面上的操…