冯诺依曼结构理解

冯诺依曼结构

存储器:内存
数据是要在计算机的体系结构中进行流动的,在流动过程中对数据加工处理
从一个设备到另一个设备,本质是一种拷贝
CPU的计算速度是很快的,所以数据设备间的拷贝效率,决定了计算机整体的基本效率
存储金字塔 

计算机的处理逻辑是:
输入设备->CPU->输出设备
也就是说,我们其实可以只要一个输入输出设备就好了
直接把数据给到CPU,而不用再给存储器一道,岂不是加快了速度?
逻辑上是这样的
但是,奈何输入输出设备的效率太低了
所以为了解决输入输出设备效率太低,假如了存储器
在CPU工作的时间,我们就可以同时使用输入设备输入数据到存储器
这样CPU取数据时,就可以不用等输入设备,而是直接从存储器中取数据
这样的设计构架,加快了整体计算机的数据处理效率


计算机中寄存器的速度是最快的,既然是最快的
你有没有想过,为什么不全部使用寄存器呢?
你说太贵了
好的
你现在是一个土豪,你身价万亿
你说我不要什么存储器了,我就要全部干寄存器
人家的寄存器1G,我干一个500G
行不行?
可以,没毛病
反正咱有钱,你给我造出来就完事
好的,到目前没有任何问题
可是,这么一台计算机上百万千万
有几个人买得起呢?中东土豪?
假设这个世界上有100个人买得起
那么,也就是说,这个世界使用计算机的只有100人
只有100人的计算机使用群体
那么请问:没有庞大的网民,谁来养那些规模庞大的互联网公司?苹果谁来养?BAT谁来养?英特尔谁来养?没有他们,谁来养规模庞大的工程师?没有工程师,
网络哪里来?
互联网哪里来?
手机哪里来?
个人电脑哪里来?
根本撑不起来

所以,增加了存储器的计算机冯诺依曼结构,使得我们在不增加过多成本的同时,可以获得一个速度、效率还不错的,性价比不错的计算机。
只有平头老百姓都买得起
才能支撑起一个规模庞大的,世界范围的行业
进而促进相关产业的发展
这才有了后来的互联网时代
所以,这才是冯诺依曼体系结构的伟大之处
在降低了计算机成本的基础上,并没有对计算机的运行处理速度造成很大的损失
当一个创新发生,产生了相当范围的影响,那么创新就不仅仅局限于创新本身了
例如火药的创新

在硬件数据流动角度,在数据层面:
1、CPU不和外设直接打交道,CPU只和内存打交道
2、外设(输入和输出)的数据,不是直接给CPU的,而是要放入内存中

那么冯诺依曼结构能做什么呢?
1、程序运行,为什么要加载到内存中呢?
程序=代码+数据
在程序运行时,程序的数据要被CPU访问,指令要被CPU执行
但是,CPU只会从内存中读取代码和数据
因此,我们写的代码必须加载到内存中,CPU才能访问,CPU访问,就是执行运行代码
那么程序没有被加载到内存的时候,在哪里?在磁盘上,是一个二进制可执行文件
CPU要执行程序,就要从欧冠磁盘(外设)加载到内存中

2、既然数据要加载到内存中,那么,
什么时候加载?怎么加载?加载到内存的那个位置?
我怎么知道什么时候开始加载?什么时候加载结束?
加载完数据之后,要CPU进行处理,我要去内存读取数据
去内存的哪里读取?读取多少?
处理完数据之后,还是要加载到内存中,加载到内存的哪里?
什么时候刷新到下一个设别?要不要存储结果?
等等等等
以上这一切都是由操作系统完成

3、两台电脑/手机设备进行通信时,数据的流动是怎样的?
两个设备都是冯诺依曼机器
所以,第一个发送信息时,从输入设备输入数据到内存,经过CUP加密后,再回到内存,再把这个数据加载给网卡,网卡通过网络传输给另一个设备
另一个设备由网卡收到数据,同样的,数据从网卡加载到内存,再由CPU的对应程序(例如QQ)解密,将数据刷新到另一个设备的显示器

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

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

相关文章

常见Spring相关工具报错-源码分析

常见Spring相关工具报错-源码分析 1. Resouce Bundle 国际化 yml 配置不生效 1. Resouce Bundle 国际化 yml 配置不生效 1️⃣ 配置yml 2️⃣ 报错信息 2024-04-15 15:13:57.828 [http-nio-8090-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - [doResolveHan…

Python数据挖掘项目开发实战:使用朴素贝叶斯进行社会媒体挖掘

注意:本文下载的资源,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 Python数据挖掘项目开发实战:使用朴素贝叶斯进行社会媒体挖掘 一、项目背景与目标 在社交媒体时代&…

Spring Boot | SpringBoot对 “SpringMVC“的 “整合支持“、SpringMVC“功能拓展实现“

目录: SpringMVC 的 “整合支持” ( 引入"Web依赖启动器",几乎可以在无任何额外的配置的情况下进行"Web开发")1.SpringMVC "自动配置" 介绍 ( 引入Web依赖启动器"后,SpringBoot会自动进行一些“自动配置”&#xff0…

51单片机-LED模块

文章目录 1.点亮一个LED灯2.LED闪烁3.LED流水灯 1.点亮一个LED灯 #include <REGX52.H> void main() {P20xFE; //1111 1110while(1){} }2.LED闪烁 增加延时&#xff0c;控制LED的亮灭间隙 延时函数的添加依靠STC-ISP软件的延时函数功能代码自动生成&#xff0c;如图 #i…

Linux 使用C语言来加载和卸载内核模块

文章目录 一、insmod/rmmod1.1 insmod1.2 rmmod 二、C语言示例2.1 syscall2.2 dmeo 一、insmod/rmmod 1.1 insmod Linux 使用insmod来加载内核模块&#xff1a; NAMEinsmod - Simple program to insert a module into the Linux Kernel使用strace来追踪其过程&#xff1a; …

React中useEffect与useLayoutEffect有什么区别?

React中useEffect与useLayoutEffect有什么区别&#xff1f; 1. useEffect2. useLayoutEffect3. useEffect与useLayoutEffect的区别3.1 何时使用useLayoutEffect&#xff1f; 在React中&#xff0c;useEffect和useLayoutEffect都是用来处理副作用的Hook&#xff0c;例如数据获取…

童话里都是骗人的,靠可视化大屏升职加薪,除非老板脑子秀逗了。

可视化大屏有没有价值&#xff0c;肯定是有的&#xff0c;靠着可视化大屏升职加薪靠谱吗&#xff1f;不靠谱。 童话故事中的情节和元素往往是夸张和不现实的&#xff0c;不能完全应用于现实生活中。在现实世界中&#xff0c;升职加薪通常需要通过实际的工作表现、专业技能的提…

数据库练习(一)

完成以下SQL语句的编写&#xff1a; student表: score 表&#xff1a; 查询student表的所有记录 Select * from student; 查询student表的第2条到4条记录 select * from student LIMIT 1,3; 从student表查询所有学生的学号&#xff08;id&#xff09;、姓名&#xff08;n…

Java虚拟机——内存的分配详解

内存区域划分 对于大多数的程序员来说&#xff0c;Java 内存比较流行的说法便是堆和栈&#xff0c;这其实是非常粗略的一种划分&#xff0c;这种划分的“堆”对应内存模型的 Java 堆&#xff0c;“栈”是指虚拟机栈&#xff0c;然而 Java 内存模型远比这更复杂&#xff0c;想深…

react结合Redux实现全局状态管理

React与Redux结合使用&#xff0c;可以为React应用提供集中式的状态管理和复杂的业务逻辑处理能力。以下是React中使用Redux的基本步骤和关键概念&#xff1a; 安装所需库 确保已经安装了React和ReactDOM。然后安装Redux及其配套库&#xff1a; npm install redux react-redu…

基于云端部署,支持超大规模会议的召开,同时实现就近接入的功能

随着信息技术的飞速发展&#xff0c;云视频产品已成为企业沟通协作的重要工具。中国联通作为通信行业的领军企业&#xff0c;其云视频产品凭借多项技术优势&#xff0c;在市场中脱颖而出&#xff0c;成为众多企业的首选。 中国联通的云视频产品采用了先进的互联网高清技术&…

【计算机毕业设计】游戏售卖网站——后附源码

&#x1f389;**欢迎来到琛哥的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 琛哥&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 琛哥在深度学习任务中展现出卓越的能力&a…

数据结构和算法(哈希表和图(A*算法精讲))

一 、哈希表 1.1 哈希表原理精讲 哈希表-散列表&#xff0c;它是基于快速存取的角度设计的&#xff0c;也是一种典型的“空间换时间”的做法 键(key)&#xff1a; 组员的编号如&#xff0c;1、5、19。。。 值(value)&#xff1a; 组员的其它信息&#xff08;包含性别、年龄和…

Python-VBA函数之旅-divmod函数

目录 1、divmod函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、相关文章&#xff1a; 个人主页&#xff1a;非风V非雨-CSDN博客 divmod函数在Python中具有广泛的应用场景&#xff0c;特别是在需要同时处理除法的商和余数的情况下。常见的应用场景有&a…

《系统架构设计师教程(第2版)》第9章-软件可靠性基础知识-04-软件可靠性设计

文章目录 1. 容错设计技术1.1 恢复块设计1.2 N版本程序设计1.3 冗余设计 2. 检错技术3. 降低复杂度设计4. 系统配置中的容错技术4.1 双机热备技术4.1.1 双机热备模式4.1.2 双机互备模式4.1.3 双机双工 4.2 服务器集群技术 1. 容错设计技术 1.1 恢复块设计 恢复块设计 选择一组…

Maven:<dependencyManagement>:依赖集中管理

dependencyManagement Maven &#xff1c;dependencyManagement&#xff1e;&#xff0c;请介绍一下 在Apache Maven构建工具中&#xff0c;<dependencyManagement> 是一个非常重要的元素&#xff0c;用于在一个项目或一组项目的顶级POM&#xff08;Project Object Model…

TCP/IP协议—TCP

TCP/IP协议—TCP TCP协议TCP通信特点TCP技术概念TCP定时器 TCP头部报文TCP连接三次握手&#xff08;建立连接&#xff09;四次挥手&#xff08;释放连接&#xff09;连接状态 TCP协议 传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一种…

Springboot集成Ehcache3实现本地缓存

如果只需要在单个应用程序中使用本地缓存&#xff0c;则可以选择Ehcache&#xff1b;它支持内存和磁盘存储&#xff0c;这里不以注解方式演示&#xff0c;通过自己实现缓存管理者灵活控制缓存的读写&#xff1b; 1、引入相关依赖 <!-- ehcache3集成start --><depende…

苹果在中国市场衰退,全球市场跌幅最大,难怪慌忙大降价

日前市调机构IDC公布了今年一季度全球市场的手机品牌排名&#xff0c;数据显示苹果的跌幅最大&#xff0c;说明它不仅在中国市场衰退&#xff0c;在全球市场也出现衰退&#xff0c;如此也就不奇怪苹果史无前例的在3月份对iPhone15降价1500元促销了。 数据显示一季度苹果的出货量…

Java面试题:什么是Jenkins以及它在持续集成中的作用?Jenkins有哪些缺点呢?

Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作。它的主要目标是提供一个开放且易用的软件平台&#xff0c;使软件的持续集成成为可能。 在持续集成中&#xff0c;Jenkins的作用主要体现在以下几个方面&#xff1…