简单聊聊冯诺伊曼体系结构

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

简单聊一下,我们所认识的计算机,都是有一个个的硬件组件组成
中央处理器(CPU):
        a.运算器 :算数运算,逻辑运算
        b.控制器等:响应外部事件,协调外部就绪事件
输入单元:包括键盘, 鼠标,摄像头,话题,磁盘等
输出单元:显示器,音响,磁盘等
关于冯诺依曼,必须了解几点:
  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
  • 一句话,所有设备都只能直接和内存打交道
这里可以思考一个问题,那就是存储器存在的理由是什么?为什么不能直接让cpu与外设直接交互???
从两个方面来回答:
a. cpu内部的寄存器 > 存储器 > 磁盘 / 固态硬盘 > 光盘 > 磁带 这里运算效率是递减的,但是存储空间是递增的。存储器相当于是运算效率相对减少,但是内存相对增高。
b.如果没有存储器参与进来,那么cpu就没有操作的空间,只能与外设直接交互,有存储器的话,可以让软件(系统)参与进来,进行更加合理的分配。
存储器存在的意义就是:预先把输入设备的数据放进存储器,cpu可以直接在存储器上读取数据,不用直接与外设交互,以防止被拖慢速度。
总结:
1. cpu读取数据(数据+代码),都是要在内存(存储器)中读取。站在数据的角度,我们认为cpu不和外设直接交互
2.cpu处理数据,需要先将外设中的数据,加载到存储器。站在外设的角度,我们认为外设只和存储器交互
所以需要知道: 程序(文件,磁盘)如果要运行,必须要被加载至内存(存储器)中,这是因为冯诺伊曼体系结构决定的。
示例:qq聊天中,小a发送一行信息"xxx"给小b,数据是如何流向的???
我们可以把信息"xxx"想象成快递,根据冯诺依曼体系结构:
小a:键盘输入(制造产品)--- > 加载到内存 --- > 内存交给cpu(进行打包,封装,填写收件人信息)--- > 加载到内存 --- > 输出设备(通过网卡发出快递)
小b:网卡输入(收到产品)--- > 加载到内存 --- > 内存交给cpu(拆掉快递,撕开包装)--- > 加载到内存 --- > 输出设备(显示器打印信息)

以上仅代表个人观点,仅供参考

相关推荐

  1. 【Linux的进程篇章 - 体系结构

    2024-04-04 01:16:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 01:16:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 01:16:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 01:16:04       4 阅读
  4. Python语言-面向对象

    2024-04-04 01:16:04       7 阅读

热门阅读

  1. os模块篇(十一)

    2024-04-04 01:16:04       16 阅读
  2. 借助ChatGPT写作:打造学术论文中的亮点与互动

    2024-04-04 01:16:04       26 阅读
  3. 零基础入门多媒体音频(6)-alsa(2)

    2024-04-04 01:16:04       21 阅读
  4. Spring Boot Actuator

    2024-04-04 01:16:04       21 阅读
  5. Collection中常用方法

    2024-04-04 01:16:04       21 阅读
  6. redis

    2024-04-04 01:16:04       17 阅读
  7. Yocto理论基础之layer

    2024-04-04 01:16:04       29 阅读