【Linux进程】先谈硬件—冯诺依曼体系结构

目录

冯诺依曼体系

冯诺依曼体系结构

冯诺依曼体系的工作流程

为什么一个程序要运行,必须的先加载到内存中运行?

从软件数据流角度理解冯诺依曼

冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

 

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

  • 输入单元:包括键盘, 鼠标,扫描仪, 写板
  • 中央处理器(CPU):含有运算器和控制器
  • 输出单元:显示器,打印机等 
  • 这里的存储器指的是内存

他们都是独立的个体!
各个硬件单元必须用“线”链接起来,总线,1. 系统总线     2. IO总线

冯诺依曼体系的工作流程

冯诺依曼体系的工作流程如下:

  1. 输入设备获取数据并存储到内存中
  2. CPU从内存中取出数据并进行处理
  3. 运算完毕后,CPU将处理过的数据交给内存
  4. 内存将CPU处理过的数据交给输出设备
  5. 输出设备进行数据的输出

此外,冯诺依曼体系结构计算机必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。

关于冯诺依曼,必须强调几点:

  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  • 一句话,所有设备都只能直接和内存打交道

为什么一个程序要运行,必须的先加载到内存中运行?

了解冯诺依曼体系结构的工作流程之后我们可能会有下面这两个问题:

  • 为什么不直接将用户输入的数据交给cpu,而是将用户输入的数据先加载到内存,再通过内存将数据交给cpu呢?
  • 为什么不由cpu将数据直接给输出设备,反而也要通过内存将数据交给输出设备呢?

原因:cpu与输入输出设备的运行速度相差的非常大。

  • 首先我们需要明白:cpu的运行速度是非常快的,它的运行速度是纳秒级别,内存的运行速度是微秒级别,而输入输出设备的运行速度是毫秒级别。cpu与输入输出设备的运行速度相差的非常大。
  • 由于输入输出设备的运行速度很慢,而cpu的运行速度很快,根据木桶原理如果输入输出设备与cpu直接交互那么最终整个体系所呈现出来的速度将会是很慢的
  • 因此在冯诺依曼体系结构中,为了不让输入设备与输出设备直接与cpu进行交互,我们的内存就出现了。
  • 内存它相对于输入设备和输出设备要快很多,但是比CPU又要慢一些。现在内存就处于慢设备和快设备之间,是一个不快也不慢的设备,从而它就充当了该体系结构中的缓冲区

从软件数据流角度理解冯诺依曼

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。

下面我们来解释一下,从你登录上qq开始和某位朋友聊天开始,数据的流动过程。从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在qq上发送文件呢?

在使用QQ与朋友进行聊天,都是需要联网的,而我们的电脑都是冯诺依曼体系结构,这个聊天的这个过程中,你的键盘相当于输入设备,显示器和网卡相当于输出设备,而你朋友的电脑网卡相当于输入设备,显示器相当于输出设备。

当你在键盘当中输入你要发送的消息,键盘将这些消息加载到内存中,此时显示器就可以从内存获取消息进而显示在显示器上,此时你就能在显示器上看到你要发的消息。

键盘输入消息到内存,CPU处理消息后写回内存,此时你的网卡从内存获取消息并发送到网络,经过处理后,另一端的网卡获取消息并加载到内存,CPU再从内存获取消息并解包处理,然后写回到内存,最后显示器从内存获取消息并并显示在朋友的电脑上。 

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

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

相关文章

XML External Entity-XXE-XML实体注入

XML 实体? XML 实体允许定义标签,在解析 XML 文档时这些标签将被内容替换。一般来说,实体分为三种类型: 内部实体 外部实体 参数实体。 必须在文档类型定义(DTD)中创建实体 一旦 XML 文档被解析器处理,它将js用定义的常量“Jo Smith”替换定义的实体。正如您所看到…

获取Webshell方法

CMS系统指的是内容管理系统。已经有别人开发好了整个网站的前后端,使用者只需要部署cms,然后通过后台添加数据,修改图片等工作,就能搭建好一个的WEB系统。 CMS获取Webshell方法 WordPress后台拿Webshell phpcms拿Webshell 非CMS…

IDEA优雅自动生成类注释和快捷键生成方法注释

生成类注释 Preferences->Editor->File and Code Templates-> Includes ->File Header 注释模板: /*** Classname ${NAME}* Description ${description}* Date ${DATE} ${TIME}* Created by ZouLiPing*/生成方法和字段注释 查看IDEA自动配置java快捷…

企业如何在自媒体平台推广

自媒体是企业宣传品牌的平台之一,在自媒体平台上企业能够较为自由的决定文案内容发布时间,同时后台也会有专门的数据分析帮助企业了解每一次推广效果,成本可控、数据可查、效果可追踪,还能与用户或者潜在用户互动,进行…

疑难杂症-暂时不能解析域名“mirrors.tuna.tsinghua.edu.cn”

可能是太久没用Ubuntu了,总是有一些莫名其妙的问题 我的方法简单粗暴:不需要重启,打开终端,输入sudo apt-get update,解析成功 还有一些别的方法,不过我也没试过 修改/etc/resolv.conf还是修改/etc/resol…

大厂面试题-什么是服务网格?

概述 服务网格这个概念出来很久了,从2017年被提出来,到2018年正式爆发,很多云厂商和互联网企业都在纷纷向服务网格靠拢。像蚂蚁集团、美团、百度、网易等一线互联网公司,都有服务网格的落地应用。 服务网格是微服务架构的更进一…

面试算法49:从根节点到叶节点的路径数字之和

题目 在一棵二叉树中所有节点都在0~9的范围之内,从根节点到叶节点的路径表示一个数字。求二叉树中所有路径表示的数字之和。例如,图8.4的二叉树有3条从根节点到叶节点的路径,它们分别表示数字395、391和302,这3个数字…

万物摩尔定律:人工智能技术的快速迭代将使人类万劫不复?

第一次工业革命:蒸汽机时代; 第二次工业革命:电气化时代; 第三次工业革命:信息化时代; 第四次工业革命:智能化革命。这一场革命正在上演,是人工智能(AI)带…

LeetCode----42. 接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝…

Linux常用操作及主流服务部署命令

目录 Linux 系统目录 一、常用操作命令 1、目录操作 2、文件内容操作(查看日志,更改配置文件) 3、压缩和解压缩 4、更改文件权限 二、各服务部署命令 1、增加虚拟内存 2、JDK 2.1 删除系统自带的openjdk 2.2 安装jdk 2.3 删除jd…

怎么开发小程序?微信小程序开发方式

小程序开发之所以受到欢迎,是因为相比于APP,小程序的开发成本更低。不需要下载和安装,用户可以直接在微信内使用,节省了开发和维护的成本。小程序的开发方式有很多种,常见的有:自己源码开发、模板编辑、购买…

开关电源老化试验和性能检测系统软件

开关电源自动测试系统由PC(工控机)、测试工装、可编程直流电源、数字示波器、可编程直流电子负载、继电器模块等部分组成,并通过RS232/LAN通讯总线、测试夹具以及其它线缆等进行连接,为系统组成结构。PC与可编程直流电源、数字示波器、可编程直流电子负载…

呼叫中心的重要考核指标

呼叫中心在运营过程中越来越精细化,在信息化管理的时代,呼叫中心系统是必不可少的,而呼叫中心的管理人员为了提升运营效率,通常会根据业务目标设置各种业务的考核指标,而我也根据OKCC在呼叫中心项目运营过程中的经验&a…

英语语法,时态总结,16种时态

文章目录 前言总体说明过去时一般过去时过去进行时过去完成时过去完成进行时 现在时一般现在时现在进行时现在完成时现在完成进行时 将来时一般将来时将来进行时将来完成时将来完成进行时 过去将来时一般过去将来时过去将来进行时过去将来完成时过去将来完成进行时 前言 学了这…

最全的操作系统原版镜像,镜像winxp、win7、8、10、11,win server2008、2012、2016、2019、2022各版本系统下载 址

1、 MSDN原版系统(我告诉你) [软件、镜像下载地址](https://www.imsdn.cn/)2、 HelloWindows.cn 精校 完整 极致 Windows系统下载仓储站 镜像、软件下载地址 3、系统库 镜像下载地址 4、 山己几子木 镜像下载地址

springboot和flask整合nacos,使用openfeign实现服务调用,使用gateway实现网关的搭建(附带jwt续约的实现)

环境准备: 插件版本jdk21springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos2.2.3(稳定版)python3.8 nacos部署(docker) 先创建目录,分别创建config,logs&#xf…

软件测试面试,一定要准备的7个高频面试题(附答案,建议收藏)

问题1:请自我介绍下? 核⼼要素:个⼈技能优势⼯作背景经验亮点参考回答: 第一种:基本信息离职理由 ⾯试官您好,我叫张三,来⾃番茄市,在软件测试⾏业有 3 年的⼯作经验。做过 Web/APP…

DL Homework 5

目录 习题4-1 对于一个神经元​编辑,并使用梯度下降优化参数w时,如果输入x恒大于0,其收敛速度会比零均值化的输入更慢。 习题4-5 如果限制一个神经网络的总神经元数量(不考虑输入层)为N1,输入层大小为​编辑,输出层大…

python项目部署代码汇总:目标检测类、人体姿态类

一、AI健身计数 1、图片视频检测 (cpu运行): 注:左上角为fps,左下角为次数统计。 1.哑铃弯举:12,14,16 详细环境安装教程:pyqt5AI健身CPU实时检测mediapipe 可视化界面…

Spring Boot Web MVC

文章目录 一、Spring Boot Web MVC 概念二、状态码三、其他注解四、响应操作 一、Spring Boot Web MVC 概念 Spring Web MVC 是⼀个 Web 框架,一开始就包含在Spring 框架里。 1. MVC 定义 软件⼯程中的⼀种软件架构设计模式,它把软件系统分为模型、视…