冯诺依曼体系结构详解

news2024/12/26 20:48:37

      一.冯诺伊曼体系结构的概念:

       约翰·冯·诺依曼(John von Neumann,1903.1.28-1957.2.8),美籍匈牙利数学家,计算机科学家,物理学家。是20世纪最重要的数学家之一,后来被称为计算机之父。

       后来冯诺依曼在研究计算机的过程中,发明了一套专门的计算机体系结构,他提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

         (1)运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件 (ALU) ;

        (2)控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。运算器和控制器统称中央处理器,也叫做CPU。中央处理器是电脑的心脏。

        (3)存储器:存储器分为内存和外存。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。外存就像笔记本一样,用来存放一些需要长期保存的程序或数据,断电后也不会丢失,容量比较大,但存取速度慢。当电脑要按行外存里的程序,处理外存中的数据时,需要先把外存里的数据读入内存,然后中央处理器才能进行处理。外存储器包括硬盘、光盘和优盘;

        (4)输入设备:输入设备是向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔等都属于输入设备。

        (5)输出设备:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机等。

二.冯诺依曼体系结构的理解:

1.运算器和控制器是CPU的核心部件;

2.存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为内存(也可称主存)和辅助
存储器(简称外村或辅存)两大类,以内存为主。

3.外部设备包括输入和输出输出设备。存储器和外部设备之间的数据传输称为I/O(input/output)。

4.原本cpu是与外部设备(磁盘) 进行数据间的传输的,磁盘写入数据后传输给cpu,但CPU的运算速度是非常快的(运算及传输效率极高),以纳秒为单位进行传输;而外部设备(磁盘等)的运算传输速度一般,以秒为单位进行传输。这两者相差几百万倍,但是cpu与磁盘传输时,只能按照磁盘的传输速率进行传输,这里参考木桶原理:

        木桶原理又称短板原理,木桶短板管理理论,其核心内容为:一只木桶盛水的多少,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块。

        所以外部设备(磁盘为代表)的传输速度就是木桶中最短的那一个板,最长的那个板就是CPU,即使长板再长,木桶中的水若是到了那个短板的最高长度,也无济于事,再装水也只会白白流出! CPU传输速度再快也是“一拳打在了棉花上”。

        基于此种情况,计算机科学家们发明了内存,发明内存的关键就在于可以让cpu和内存相互传输数据,内存的传输速率较快,比原来cpu和磁盘传输快多了,那么就提高了计算机整体的计算效率,这是十分重要的。那么内存的数据从哪来?

        从内存中拿,因为CPU只和内存打交道。但是内存天然情况下是没有数据的,内存的数据来源是外设的,外设将数据传给了内存,然后CPU再从内存中读取数据;CPU往外写数据也是一样,先写到内存,外设再从内存中读取数据。内存就相当于是一个大大的缓冲区,是两个偏远地区相联系的一座桥梁!

5.计算机是相当笨的,它被动的接受着别人给它的指令和数据,别人让它干什么,它就得去执行去计算。计算机和人类的语言并不相通,计算机是如何识别人类交给它的指令呢?其实计算机有自己的指令集(它相当于一本英汉字典),计算机必须先将人类的指令进行编译汇编转换成只有计算机自己能认识的二进制语言,它才能进行对其进行处理计算。

人类也是如此,人从一生下来也是懵懂无知的,出于本能,婴儿也是只会哇哇大哭,睡觉吃饭,但他们不会走路,不会说话,不会思考,而父母和老师会教给他们这些东西,这些东西就相当于是指令集,去理解父母老师交给他们的知识。

全文总结:

        CPU只和内存打交道,而内存即可以和CPU打交道也可以和外设打交道,内存的出现就是为了解决CPU与外设数据传输速率不匹配的问题的。

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

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

相关文章

计算机网络学习笔记-网络层

目录 概述 提供的两种服务:面向连接的虚电路、不面向连接的数据报 对比 虚拟互连网络 地址解析协议 ARP 主要作用 使用过程 位置 因特网控制报文协议 ICMP 作用 位置 种类 差错报告报文:终点不可达、源点抑制、时间超过、参数问题、改变路由…

【HMS Core】【ML Kit】活体检测FAQ合集

【问题描述1】 使用示例代码集成活体检测SDK时,报错state code -7001 【解决方案】 使用示例代码前请详细阅读示例工程中的“README”文件。您需要完成以下操作后才可以运行示例代码。 在AppGallery Connect网站下载自己应用的“agconnect-services.json”文件&a…

kaggle新赛推荐 | 从游戏中预测学生的表现

赛题名称:Predict Student Performance from Game Play 从游戏中预测学生的表现 赛题链接:https://www.kaggle.com/competitions/predict-student-performance-from-game-play 赛题背景 学习意味着有趣,这就是基于游戏的学习的用武之地。这…

Java大型货运系统源码(司机APP端+货主APP端)

技术架构:spring boot、mybatis、redis、vue、element-ui 开发语言:java 开发工具:idea、vscode、hbuilder 前端框架:vue 后端框架:spring boot 数 据 库:mysql 移 动 端:uniapp混合开发原…

数据结构与算法(七)

二叉树 如果说树中的每个结点最多只能有两个子结点,这样的树我们就称为二叉树,二叉树可以为空。 特点: 每个结点最多有两棵子树,所以二叉树中不存在度大于二的结点棵树中,最大的结点的度称为树的度,结点的度:结点所…

Git 分支相关操作

1 创建一个分支 Create a new directory and initialize a Git repository. We are going to create a directory named “tutorial”. $ mkdir tutorial $ cd tutorial $ git init Initialized empty Git repository in /Users/eguchi/Desktop/tutorial/.git/进入这个tutori…

一篇文章全面了解光分路器、PLC分路器、拉锥分路器

光纤分路器 光纤分路器,又称为分光器,是将一根光纤信号按照既定的比例分解为两路或多路光信号输出,是接入FTTH方式的光无源器件。 例如,一个1x4光分路器就是将一根光纤中的光信号按照一定的比例分配给四根光纤。与WDM系统的波分复…

【Java入门】运算符

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型与变…

放大镜-第14届蓝桥杯省赛Scratch中级组真题第3题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第138讲。 放大镜,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第3题&#xff0…

MAC环境下使用 xray 工具

这里不做过多介绍,下面链接讲的非常清楚,下面记录一下遇到的坑。 https://docs.xray.cool/#/tutorial/webscan_basic_crawler Mac环境下选择对应的工具 下载完以后,放入自己的目录下,打开终端查看版本信息 ./xray_darwin_amd64 v…

Jupyter程序安装和使用指南【操作示例】

Jupyter Notebook(简称Jupyter)是一个交互式编辑器,它支持运行40多种编程语言,便于创建和共享文档。Jupyter本质上是一个Web应用程序,与其他编辑器相比,它具有小巧、灵活、支持实时代码、方便图表展示等优点。下面分别为大家演示如…

在CTEX文档生成中使用WinEit编辑带有公式符号的中文文档应用举例

CTEX文档生成中使用WinEit编辑带有公式符号的中文文档应用举例 CTEX在编辑文档格式和排版时具有优秀的性能,可批量处理文档格式,该用格式时候也非常快捷。下面举例介绍CTEX文档生成中怎样使用WinEit编辑带有公式符号的中文文档。 1.需要的代码 .在WinEi…

IT入门深似海,入门到放弃你学废了嘛

我一直觉得IT行业 程序员行业。甚至觉得程序员人群 是一个特殊存在的群体。 入门到放弃,是真的,IT门槛高嘛。 其实吧,IT编程门槛,是有的,但是对于感兴趣的,想学习IT编程同学来说,也是一件容易事…

Few-Shot Knowledge Graph Completion

[1911.11298] Few-Shot Knowledge Graph Completion (arxiv.org) 目录 Background Model Encoding Heterogeneous Neighbors Aggregating Few-Shot Reference Set Matching Query and Reference Set Matching Query and Reference Set Background 以往的KGC认为每个关系…

【微信小程序】微信小程序集成高德卫星地图完成多边形绘制与截图保存

目录 功能需求 使用的技术点 注意点 实现步骤 代码 微信小程序-地图所在的wxml 微信小程序-地图所在的js 微信小程序-展示截图结果的wxml 微信小程序-展示截图结果的js H5-地图所在的html 完成效果 感谢阅读,欢迎讨论 功能需求 打开页面展示卫星地图&…

震惊!人工智能引发灰色经济,ChatGPT变身罪魁祸首!

人工智能技术的日益发展和普及,其呈现出无边界的开发空间,引领出无数的商业应用,越来越多的领域开始依赖这一技术,各种应用场景日益丰富,而其内在的巨大潜力也被不断开发。随之而来的则是,因为技术的滥用和…

13 张图,带你深入理解Synchronized,吊打所有大厂面试官

前言 分享一篇优质文章给你。 本文带读者们由浅入深理解Synchronized,让读者们也能与面试官疯狂对线,同时写出高性能的代码和架构。 在并发编程中Synchronized一直都是元老级的角色,Jdk 1.6以前大家都称呼它为重量级锁,相对于J…

freertos任务优先级分配

RQ 任务:IRQ 任务是指通过中断服务程序进行触发的任务,此类任务应该设置为所有任务里面优先 级最高的。高优先级后台任务:比如按键检测,触摸检测,USB 消息处理,串口消息处理等,都可以归为这一类…

Flink自定义函数之表值聚合函数(UDTAGG函数)

1.表值聚合函数概念 自定义表值聚合函数(UDTAGG)可以把一个表(一行或者多行,每行有一列或者多列)聚合成另一张表,结果中可以有多行多列。 理解:假设有一个饮料的表,这个表有 3 列&a…

MF矩阵分解——SVD、LFM、RSVD、SVD++

文章目录 1 矩阵分解MF针对问题2 解决思路2.1 引例2.2 实际应用中 3 MF的几种方式3.1 特征值分解特征值、特征向量特征值分解缺点 3.2 奇异值分解(SVD)示例:基本定理计算步骤缺点 3.3 Basic SVD(LFM、Funk SVD)3.4 RSVD进一步优化 3.5 SVD 4 …