目录

一、硬件构成

二、数据流动


一、硬件构成

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

冯诺依曼体系在硬件结构上分为以下几个部分:

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

这些硬件的简易组成方式为:

计算机是用来进行数据计算的,所以我们要先通过 输入设备 来把数据传输给计算机,并通过 中央处理器 的计算后,把计算结果通过 输出设备 传输出去。

那么,在冯诺依曼体系中, 存储器 起到的作用是什么?我们为什么需要内存呢?

我们一般把 输入设备 与 输出设备 称为 外围设备,简称外设,外设一般都会比较慢。

以磁盘为例:相对于内存,磁盘的读写速度非常慢。而 CPU 中的存储器的读取速度又要快于内存。根据木桶原理,一个木桶能装多少水,不是取决于这个木桶最长的那个木板,而是最短的那个。因此,如果 CPU 直接从磁盘中读取数据并处理的话,速度会非常慢,浪费了 CPU 的性能。

为了解决这个问题,就有了内存的出现。在计算机工作时,内存可以临时存储数据。例如当 CPU  在计算A任务时,内存可以预先将B任务加载进来,CPU 处理完A任务,就直接从内存中读取B任务的数据。

因为有了内存的存在,我们可以对数据进行预加载,CPU 以后在进行数据计算的时候,就不需要访问外设了,直接从内存中读取就可以了。

结论1在数据信号层面,一般 CPU 不与外设直接沟通,而是只与内存直接沟通。

了解了以上内容后,我们可以用硬件的方案来解释一些软件的行为:

  • 我们编译出的可执行程序是一个文件。而文件都保存在磁盘中,磁盘是一个外设。所以我们在运行这个可执行程序的时候,必须要先把它加载到内存之中,这是计算机的体系结构决定的。
  • 众所周知,计算机开机的过程是加载操作系统的过程。而之所以需要加载操作系统,是因为 CPU 只能从内存中读取数据。

二、数据流动

我们用一个例子来解释数据的流动过程:假设你与你的朋友在用qq聊天,你给他发送了一个“你好”,并被他看到。这是一个什么样的过程呢?

假设你与朋友的电脑都是冯诺依曼体系的,不考虑中间网络的相关知识,模型如下:

我们只考虑硬件层面。你在键盘上输入消息,这些消息被加载进内存,CPU 从内存中读取这些数据并进行计算加密。CPU 计算完成后把结果写回内存,并把该数据传输到输出设备。这里传输到输出设备是两个动作,第一是把你输入的消息刷新显示在你自己的显示器上,第二是把数据通过网卡发送到网络里(具体过程忽略)。朋友再通过他的输入设备(网卡)获取数据并交给内存,CPU从内存中读取数据,并进行解密计算,计算完成后把数据写回内存,最终把数据显示在朋友的显示器上。

电脑的硬件决定了数据在流动的时候必须要遵守冯诺依曼的规则。 数据从输入设备只能到达内存,无法到达其他地方。

结论2在数据信号层面,一般外设只与内存直接沟通。

有些设备既可以当作输入设备,又可以作为输出设备,比如网卡、磁盘等等。

我们在qq聊天的过程中,加密解密的算法、网卡发送等等操作都是qq这个软件内部执行的,我们目前无需考虑。

补充内容:我们日常使用的 printf 函数 与 scanf 函数,其实就是软件在获取输入设备中的数据以及读取内存中的数据。


以上就是冯诺依曼体系的相关内容,希望同学们多多支持,如果有不对的地方希望大佬指正,谢谢!

【Linux】冯诺依曼体系结构相关推荐

  1. Linux 冯诺依曼体系结构

    冯诺依曼体系是现代计算机的硬件体系结构 包含了五大硬件单元: 输入设备:键盘.鼠标.麦克风 输出设备:显示器.打印机 存储器:内存 运算器:中央处理器-CPU 控制器:中央处理器-CPU 图示: 使用 ...

  2. [Linux]冯诺依曼体系结构

  3. 【我在异世界学Linux】认识冯诺依曼体系结构

    文章目录 一.冯诺依曼体系结构是什么 二.冯诺依曼为什么要这么设计? 三.内存是怎么提高效率的呢? 解释:程序要运行,必须加载到内存 四.和QQ好友聊天的时候,数据是怎么流向的? 一.冯诺依曼体系结构 ...

  4. 【Linux】冯诺依曼体系结构、操作系统及进程概念

    文章目录 一.冯诺依曼体系结构 二.操作系统(OS) 三.系统调用和库函数 四.进程 4.1概念 4.2描述进程-PCB 4.3查看进程 4.4与系统相关的系统调用 4.5系统调用获取进程标示符 4. ...

  5. 冯诺依曼体系结构与操作系统的概念及理解

    一. 冯诺依曼体系结构 1.概念 2.内存的作用 3.硬件原理解释软件行为 二.操作系统的概念及基本作用 1.概念 2.设计操作系统的目的 3.操作系统的主要作用 4.什么是管理 5.管理的目的 6. ...

  6. 计算机组成原理---冯诺依曼体系结构及性能和功耗

    文章总结摘要自徐文浩老师的<深入浅出计算机组成原理> 文章目录 一.计算机的基本硬件组成 二.冯诺依曼体系结构 性能 计算机的计时单位:CPU 时钟 功耗 并行优化,理解阿姆达尔定律 总结 ...

  7. 深入 Linux PAM 体系结构

    深入 Linux PAM 体系结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  8. 冯诺依曼体系结构_极简体系结构之一:冯诺依曼体系结构

    如果要评选计算机领域最重要的理论发明,我会投票给「冯诺依曼体系结构」(von Neumann architecture).冯诺依曼体系结构于1945年被数学家.计算机科学家「冯诺依曼」在论文<F ...

  9. 冯诺依曼体系结构(现代计算机的原型)+cpu的两个核心指标

    1.计算机主要分为三大部分:cpu(中央处理器),内存,主板 对我学编程而言内存分为三部分:栈区(存放局部变量),堆区(负责动态分配),静态区(存放全局变量和静态变量) 主板负责承接计算机的各个部分 ...

  10. 初识冯诺依曼体系结构

    目录 1.冯诺依曼体系结构 2.冯诺依曼体系的原理 3.数据流向 4.冯诺依曼体系的意义 1.冯诺依曼体系结构 我们常见的计算机,如笔记本.我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系. ( ...

最新文章

  1. 提高php编程效率的小结
  2. MySQL数据库中默认事务隔离级别是?
  3. 删除Perspective
  4. 【数学和算法】最小二乘法理论(附c++代码)
  5. stm32滴答计时器_stm32中的系统滴答定时器使用
  6. Chocolates
  7. 云上故事 | “电”亮数字生活,阿里云助力南方电网智能调度
  8. ssm(Spring+Spring mvc+mybatis)Dao层实现类——DeptDaoImpl
  9. 把寄存器做成一个结构体,赋值初始地址后寄存器赋值的操作
  10. oracle 12c grid db 安装的的checklist
  11. 【金融】【python】CAPM实证分析
  12. C语言经典面试题100道(附完整答案)
  13. mysql如何创建视图
  14. oracle alter database,DBA常用命令之alter database
  15. 左右滑屏设置_王者荣耀怎么滑屏操作 滑屏手法详解[多图]
  16. Android中具有动画效果的图片资源
  17. shiro 过滤器 Filter 修改请求url
  18. OPenGL笔记--创建三维图形(立方体)
  19. js提示“未结束的字符串常量”
  20. 麒麟V10系统-wps提示不小心挂掉了

热门文章

  1. Hall Schematic
  2. Java jdk 环境配置
  3. Grayscale一周增持9503个BTC,机构投资者“抢购”有望继续推高价格
  4. 833计算机考研,西电考研辅导班:2019西安电子科技大学833计算机学科专业基础综合考试大纲...
  5. 我那迷途知返的小羊-linux修复DNS解析问题
  6. 【操作教程】EasyNVR视频边缘计算网关硬件如何关闭匿名登录?
  7. 悟道 冥 与 力 万事皆可成
  8. 深入理解java虚拟机-第五章:虚拟机字节码执行引擎
  9. 快递对接京东,菜鸟,顺丰过程备忘录
  10. 一个asp.net OOM问题