冯诺依曼体系结构

embedded/2025/3/4 5:50:54/

Linux系列


文章目录

  • Linux系列
  • 前言
  • 一、冯诺依曼体系结构的三个原则
  • 二、冯诺依曼体系结构的五大部分
  • 三、工作过程


前言

冯诺依曼体系结构由美籍匈牙利数学家冯·诺依曼于1945年提出,其核心思想是“存储程序和程序控制”。数学家 冯·诺依曼提出了计算机制造的三个基本原则:采用二进制、程序存储、顺序执行,以及计算机的五个部分:运算器、控制器、存储器、输入设备、输出设备,这套理论被称为冯·诺依曼体系结构,根据这一原理制造的计算机被称为冯·诺依曼体系结构计算机。


一、冯诺依曼体系结构的三个原则

1、采用二进制形式表示数据和指令

计算机内部的所有信息,包括数据和指令,都以二进制的形式进行存储和处理。这样可以方便计算机进行逻辑运算和物理实现。

2、存储程序

将程序和数据存储在同一个存储器中,程序由一系列指令组成,这些指令和数据一样可以被读取和执行。

3、程序控制

计算机按照程序中指令的顺序依次执行,由控制器负责指挥和控制整个执行过程,保证程序的正确运行。

二、冯诺依曼体系结构的五大部分

在这里插入图片描述

在冯诺依曼体系结构中,运算器、控制器、存储器、输入设备、输出设备,这五个部分通过总线连接在一起,形成了冯诺依曼体系结构的核心。

了解一下作用即可
1、输入设备

冯诺依曼体系结构中输入设备的主要功能通过,数据采集、格式转换等形式,将外部信息转换为计算机能够识别和处理的电信号或数字信号,其根本目的就是将数据、程序送入计算机。目前,常用的输入设备有键盘、鼠标、触摸屏、扫描仪、数码相机等。

2、存储器
存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。程序是计算机操作的步骤,它由一条一条的指令组成,每条指令都是计算机可以执行的基本操作,数据则是计算机操作的对象。
冯诺依曼体系中存储器,我们可以将他理解为内存,他与外存的最本质的区别是他可以直接于CPU进行数据的传输,在计算机中任何程序想要运行,必须先加载进内存中,才能被CPU调度、执行。

3、运算器

冯诺依曼体系中运算器是对信息进行运算和处理的部件。主要功能是进行算术运算和逻辑运算:

  • 数据运算:在进行数据处理时,运算器可以对两个或多个数值进行相加、相减等操作,以得到计算结果。
  • 逻辑运算:通过逻辑运算可以判断两个数据是否相等,或者根据某些条件的组合来确定程序的执行路径。

对数据处理也在运算器的工作内容里。

4、控制器

冯诺依曼体系结构中,控制器是计算机的指挥中心,主要有以下功能:

  • 指令控制:从存储器中按顺序读取指令,对指令进行译码,分析指令的操作码和地址码,确定指令要执行的操作以及操作数的地址,然后根据译码结果发出相应的控制信号,指挥计算机的各个部件协同工作,完成指令规定的操作。

  • 操作控制:根据指令的要求,向运算器、存储器、输入输出设备等部件发出控制信号,控制这些部件的工作节奏和操作顺序,使它们能够按照正确的步骤完成相应的操作。例如,在进行加法运算时,控制器会控制运算器从存储器中读取两个操作数,将它们送入运算器进行加法运算,最后将结果写回存储器。

  • 时间控制:为计算机的各个操作提供时间基准,使计算机的各个部件能够在精确的时间内完成相应的操作。控制器通过时钟信号来实现时间控制,时钟信号周期性地发出脉冲,每个脉冲对应一个基本的时间单位,控制器根据时钟信号的节奏来安排指令的执行顺序和各个部件的操作时间。

  • 数据流向控制:负责控制数据在计算机各个部件之间的流动方向和路径。根据指令的执行过程,控制器决定数据从哪里读取,经过哪些部件进行处理,以及最终存储到哪里。例如,在执行输入操作时,控制器会控制数据从输入设备流向存储器;在执行计算操作时,会控制数据在存储器、运算器之间流动。

通俗俗来讲,冯诺依曼体系结构中控制器的功能就是像一个“总指挥”,协调计算机各部分有序工作。

首先,它要“读指令”,就像一个人读剧本一样,从计算机的“记忆库”(存储器)中把要做什么的指示(指令)一条一条读出来。然后,它得“懂指令”,明白这些指示具体是什么意思,是要做加法、打印文字还是其他操作。

接着,控制器要“发命令”,根据指令的要求,告诉计算机的各个“小助手”(运算器、存储器、输入输出设备等)该做什么。比如让运算器去做个数学题,让存储器存个东西或者取个东西,让打印机打印点内容等。

而且,控制器还得把握“时间节奏”,就像乐队指挥打节拍一样,让每个“小助手”在合适的时间做合适的事,保证大家的工作不会乱套,数据能按照正确的顺序在各个部件之间传来传去,让计算机有条不紊地完成各种任务。

5、输出设备

输出设备是将计算机运算结果的二进制信息转换成人类或其他设备能接收和识别的形式的设备,输出信息的形式有字符、文字、图形、图像、声音及视频等。目前,常用的输出设备有显示器、打印机、绘图仪等。 通常,人们把运算器和控制器统称为中央处理机(CPU),而把 CPU 和内部器一起称为 主机。主机内的存储器称为内部存储器或简称内存,位于主机之外的存储器(如硬磁盘、软 磁盘、光盘等)称为外部存储器或简称外存。外存和输入、输出设备一起又统称为外部设备或简称外设。

在冯诺依曼体系中我们常说的中央处理器(CPU),就是运算器、控制器的组合,而对于这些独立的硬件设备,他们是通过“总线”链接起来,从而相互配合的工作,总线分为:1、系统总线 2、I/O总线
这里系统总线就是中央处理器调度、协调其他设备工作的方式,而I/O总线是用来完成数据的传输工作的(输入、输出等)。

三、工作过程

上面我们说过,对于一些需要处理的数据,我们必须先从输入设备进入,存储器中,然后经中央处理器处理后,再输回存储器,再有存储器交给输出设备,输出设备完成输出,这就是冯诺依曼体系的工作流程。

那么,在这一流程中我们为什么不直接把数据直接交给中央处理器处理,处理后直接交由输出设备输出,而是非要先将数据输入内存,再交由中央处理器呢?
在这里插入图片描述
要回答这个问题,我们首先要知道不同存储设备的特点,从上图我们可以看到,组成CPU的芯片容量很小,但是运行速度很快,相对于的价格也很高,而作为我们的外存设备(如:磁盘)容量都是很大的,速度也相对很慢,所以如果直接让它们于CPU进行数据交互,外部设备就会拖慢数据的传输速度,从而拖慢CPU的处理速度,而整个工作的速度就由外部设备来绝定了,这一点大家可以根据木桶原理来理解:

在这里插入图片描述
那么冯诺依曼体系这样的设计方式是如何,提高效率的呢,从流程图中我们可以看到,它比我们所讨论的还多了一步,效率提高在哪里了?
预加载!!在CPU处理其程序1的时候,输入设备将程序2需要执行的数据提前加载进存储设备,当CPU处理好程序1后就可以直接从存储设备中获取程序2的数据了,而从内存中获取数据是很快的。这里大家可能会想,如果外存和内存都用同种芯片,效率不就提上来了,没错,但是提上来的不止是效率,还有价格!!


http://www.ppmy.cn/embedded/169823.html

相关文章

小识ThreadLocal 用法

在Java面试中回答关于ThreadLocal的问题时,建议按照以下结构组织回答,确保全面且清晰: ​1. ThreadLocal 是什么? ThreadLocal 是Java提供的一个线程级别的变量隔离机制。它的核心作用是让每个线程拥有自己独立的变量副本&#x…

Linux内核以太网驱动分析

1.网络接口卡接收和发送数据在Linux内核中的处理流程如下: 1. 网络接口卡(Network Interface Card, NIC) 作用:负责物理层的数据传输,将数据包从网络介质(如以太网线)读取到内存中,或…

BERT模型深入理解——自然语言处理的里程碑

1 BERT的诞生背景 2018年谷歌团队发布了BERT(Bidirectional Encoder Representations from Transformers)模型,在自然语言处理领域引领了技术性的革命。BERT创新性地使用预训练微调模式,先用预训练在大量无标注的语料中进行自监督…

Python爬虫:WebAssembly案例分析与爬取实战

文章目录 一、WebAssembly简介1.1 什么是WebAssembly?1.2 WebAssembly的优势1.3 WebAssembly 的使用场景1.4 WebAssembly 对爬虫的挑战二、WebAssembly案例分析2.1 案例一:在线游戏2.2 案例二:图像处理应用三、Python爬虫实战:处理WebAssembly模块3.1 案例一3.2 案例二四、…

回溯算法(C/C++)

目录 一、组合问题 组合 组合剪枝 组合总和 III​编辑 组合总和​编辑 组合总和 II 电话号码的字母组合​编辑 二、分割问题 分割回文串 复原 IP 地址 三、集合问题 子集 子集 II 非递减子序列 四、排列问题 全排列 全排列 II 五、棋盘问题 N 皇后 课程&#x…

[Lc滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数

目录 1. 长度最小的字数组 题解 代码 ⭕2.无重复字符的最长子串 题解 代码 3.最大连续1的个数 III 题解 代码 4.将 x 减到 0 的最小操作数 题解 代码 1. 长度最小的字数组 题目链接:209.长度最小的字数组 题目分析: 给定一个含有 n 个 正整数 的数组…

Storm实时流式计算系统(全解)——中

storm编程的基本概念-topo-spout-bolt 例如下: storm 编程接口-spout的结构及组件实现 storm编程案例-spout组件-实现 这是我的第一个组件(spout组件继承BaseRichSput)所有重写内部的三个方法,用于接收数据(这里数据是…

辛格迪客户案例 | 祐儿医药科技GMP培训管理(TMS)项目

01 项目背景:顺应行业趋势,弥补管理短板 随着医药科技行业的快速发展,相关法规和标准不断更新,对企业的质量管理和人员培训提出了更高要求。祐儿医药科技有限公司(以下简称“祐儿医药”)作为一家专注于创新…