冯诺依曼体系结构「建议收藏」

冯诺依曼体系结构「建议收藏」目录冯诺依曼体系结构简介数据流向存储分级举例说明数据的流动过程冯诺依曼体系结构简介我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。计算机本质上是有输入,并且经过计算机的计算,将结果显示到某种显示输出上,就可以称为计算机。输入单元:键盘,网卡,磁盘,话筒…输出单元:显示器,网卡,磁盘,音响…存储器没有特殊说明一般指的是物理内存。中央处理器(CPU):含有运算器和控制器等运算器在进行运算的时候无外乎两种情况,一种是算术运算,一种逻辑运算。控制器主要能够用来

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

冯诺依曼体系结构简介

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
在这里插入图片描述
计算机本质上是有输入,并且经过计算机的计算,将结果显示到某种显示输出上,就可以称为计算机。
输入单元:键盘,网卡,磁盘,话筒…
输出单元:显示器,网卡,磁盘,音响…
存储器没有特殊说明一般指的是物理内存。
中央处理器(CPU):含有运算器和控制器等
运算器在进行运算的时候无外乎两种情况,一种是算术运算,一种逻辑运算。
控制器主要能够用来进行处理计算机外部的各种控制信号。

数据流向

冯诺依曼体系结构最典型的特征是所有的外设(输入单元和输出单元)产生的数据,必须将数据写入存储器。存储器本身没有计算能力,CPU通过某种方式来访问存储器,将数据读取进CPU内部,CPU进行运算器运算,控制器控制,最终将计算完的结果写回到内存当中。最后将最终的结果显示到显示器当中。
冯诺依曼规定了硬件层面上的数据流向
在这里插入图片描述
结论: 所有的输入设备,将数据输入到存储器当中,必须先到存储器(也就是内存)里面,然后运算器在合适的时候经过控制器控制,把数据加载到cpu内,在cpu内完成计算,将计算结果写回到内存,然后定期将数据刷新到输出设备。

存储分级

为什么在磁盘中编写好的可执行程序,运行的时候,必须先加载到内存?
在这里插入图片描述
上图主存通常指的就是内存,本地存储和网络存储这两个可以称为外设。
离cpu更近的存储的容量更小,速度更快但是成本更高。
离cpu越远的,容量更大,速度更慢,成本更低。
内存离cpu还是相对比较近的,磁盘离cpu相对较远。cpu还是和内存直接打交道不会和外设打交道。根本原因是因为,离cpu太远的外设往往访问的时候速度太慢,速度太慢会拖累cpu的效率。
在数据层面,cpu不和外设打交道,外设只和内存打交道。

举例说明数据的流动过程

你登录上qq开始和某位朋友聊天,发送一句“在吗”。不考虑网络。
通过键盘输入在吗,其中输入设备叫做键盘,键盘输入的数据放到内存里,处理好数据把数据放到cpu里,cpu经过计算写回存储器,存储器将数据定期刷新出去,此时的输出设备叫做网卡。
朋友家的电脑接受数据,此时的输入设备是网卡,网卡收到的数据放到内存里,然后经过cpu运算,把处理完的结果再写回存储器里,存储器定期将数据刷新到输出设备,此时的输出设备是显示器。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203616.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • maven 本地仓库的配置以及如何修改默认.m2仓库位置

    maven 本地仓库的配置以及如何修改默认.m2仓库位置本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能是有些jar包的新版本没有在Maven仓库中及时更新。(感觉和网络里面的路由器有点像,你发请求,先在…

    2022年9月24日
    5
  • 远程访问docker容器_docker运行python程序

    远程访问docker容器_docker运行python程序                      Pycharm远程调试服务器中的代码(docker容器内部) 一、首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口启动示例:dockerrun-d–namedjango_api-p8000:80-p10022:22-p5000:5000–linkmysql_ho…

    2022年8月28日
    5
  • Drone2Map:如何使用带有POS信息的无人机数据生成三维模型「建议收藏」

    Drone2Map:如何使用带有POS信息的无人机数据生成三维模型「建议收藏」使用Drone2Map生成slpk,将slpk加载至ArcGISPro中,slpk悬浮在空中。首先想到的是在pro中调整一下模型高度不就行了,遗憾的是slpk格式是压缩包,不支持模型高度的调整,所以,就必须追根溯源,考虑在Drone2Map生成三维模型的过程中如何解决此问题。 问题分析:一般用户拿到的无人机数据,基本分为两种,一种是无人机拍摄的照片自身带有xyz

    2022年8月15日
    5
  • 3D游戏模型是怎么制作出来的?[通俗易懂]

    现在游戏建模这个行业非常热门,因此有很多小伙伴梦想成为一名游戏模型师,但是很多都对这个工作需要做什么了解不深,这里我简单介绍一下我从事的3D游戏模型制作。1.我们都知道游戏模型制作肯定是需要建模的,建模是游戏设计中最重要的环节,占整个模型制作的70%,建模的方法很多,游戏模型常用的软件有3DMAX(游戏制作中使用的软件很多都是英文版,建议学习从英文软件开始)建模的难度在所有职业中是最高最全面的,从桌椅到星舰,巨型BOSS等等复杂的模型,模型这方面没有什么多说的,练习是最重要的。具体的方法技巧可.

    2022年4月3日
    52
  • 西班牙语语法【2 : 动词】

    西班牙语语法【2 : 动词】时态时态描述陈述式_现在时陈述式_简单过去时陈述式_过去未完成时陈述式_将来未完成时陈述式_过去完成时陈述式_现在完成时陈述式_将来完成时虚拟式_现在时虚拟式_过去时条件式_过去将来时过去将来完成时…

    2022年6月10日
    30
  • pytest parametrize fixture_参数化方法

    pytest parametrize fixture_参数化方法前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号