当前位置: 首页 > article >正文

【Linux手册】冯诺依曼体系结构

目录

前言

五大组件

数据信号

 存储器(内存)有必要吗

常见面试题


前言

冯诺依曼体系结构是当代计算机基本架构,冯诺依曼体系有五大组件,通过这五大组件直观的描述了计算机的工作原理;学习冯诺依曼体系可以让给我们更加理解计算机工作原理,认识到各个硬件之间的联系以及操作系统在其中的功能。下面将对冯诺依曼体系的各个组成部分以及作用进行介绍。

以上是冯诺依曼体系中数据信号和控制信号的流程图。

五大组件

冯诺依曼体系很简洁直观,只有五个组成部分。

输入设备:键盘,鼠标,话筒(输入声音),摄像头,磁盘(向磁盘中写入),网卡(向网络中发送数据).......

输出设备:显示器,扬声器,磁盘(从磁盘中读取),网卡(从网络中读取)......

存储器:指的是内存,而不是硬盘或磁盘;

运算器:对数据进行计算;         控制器:对硬件进行控制;

其中运算器和控制器共同组成中央处理器,即CPU;

数据信号

关于控制方面,所有的硬件都由控制器进行控制,不需要过多赘述。但是在数据传输方面就有一些特殊之处了。

根据上面的流程图:数据从输入设备中进行读取------>放到内存里面------>交给运算器进行运算--------->还给内存------->放入输出设备。

这个流程图里面的内存是干嘛的,“中间商”吗???为什么数据先给他再进行计算,计算完了还要还给它,不能直接从输入设备中读取后就计算,计算完直接放到输出设备吗???

 存储器(内存)有必要吗

在计算机中由很多硬件都具有存储的功能,但是存储也是分级的;根据上图--存储金字塔可以看到CPU的读取速度是最快的,基本上以纳秒为单位,而磁盘或硬盘的读取效率很低,基本上读取速度以毫秒为单位,两者的差距是很大的。

如果直接让CPU从输入设备上进行数据的读取,就会出现:CPU早就已经将数据计算完了,等了半天下一组数据才从输出设备输出来,就会导致大大CPU的效率被大大拉低,机器的运算效率也同样会大大降低。所以就需要一个比外设速度快但是又比CPU慢一点的设备------内存。

内存比CPU慢一点,但是比外设快很多,这样就能有效的提高CPU的读取和输出效率。

内存比CPU的存储能力更强,所以可以先将数据预加载到内存中,当CPU计算完后直接从内存中进行读取,内存也持续从外设中读取和输出数据;这样就实现了读取和计算并行。

总结:数据交互上,所有外设都只能与内存打交道,不能直接与CPU进行数据的交互。

常见面试题

一个程序为什么要先加载到内存中?

答:因为冯诺依曼体系结构,中央处理器只与内存进行交互,从内存中读取,向内存中进行写入。

为什么有些程序在显示数据的时候数据会先被缓存起来?在哪缓存的?

因为冯诺依曼体系结构规定,中央处理器计算后的数据不会直接输出给输出设备而是先给内存,缓存是因为内存中的数据还没有来得及刷新到输出设备中。

能否使用冯诺依曼体系结构解释,在使用qq发送文件时,文件数据是这样进行流动的?

答:文件通过硬盘传输给内存经过处理后返还给内存,内存再交给网卡,由网卡发送到网络中,对方网卡进行接收,当对方进行下载时文件加载到内存中....

拓展:当其他用户给我发送文件时,我们还没有进行下载,那么此时文件存储在哪??

在腾讯云服务器上存储着。

http://www.lryc.cn/news/2401330.html

相关文章:

  • Mobile App UI自动化locator
  • PaloAlto-Expedition OS命令注入漏洞复现(CVE-2025-0107)
  • (LeetCode 每日一题) 1061. 按字典序排列最小的等效字符串 (并查集)
  • linux 安装mysql8.0;支持国产麒麟,统信uos系统
  • C#实现远程锁屏
  • 历史记录隐藏的安全风险
  • SpringBoot3整合MySQL8的注意事项
  • 网络安全大模型理解
  • 智语心桥:当AI遇上“星星的孩子”,科技如何点亮沟通之路?
  • itop-3568开发板机器视觉opencv开发手册-图像绘制-画线
  • 【高频面试题】快慢指针及相关应用
  • sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
  • [论文阅读] 人工智能 | 当AI遇见绿色软件工程:可持续AI实践的研究新方向
  • [论文阅读] 人工智能 | 用大语言模型抓虫:如何让网络协议实现与RFC规范对齐
  • 浅析EXCEL自动连接PowerBI的模板
  • DeepSeek 赋能金融反洗钱:AI 驱动的风险监测革新之路
  • java32
  • 【Redis】zset 类型
  • 从Gartner报告看Atlassian在生成式AI领域的创新路径与实践价值
  • Kafka 安装教程(支持 Windows / Linux / macOS)
  • OpenCV种的cv::Mat与Qt种的QImage类型相互转换
  • 机器学习——什么时候使用决策树
  • llm-d:面向Kubernetes的高性能分布式LLM推理框架
  • 前端没有“秦始皇“,但可以做跨端的王[特殊字符]
  • Flutter如何支持原生View
  • mongodb源码分析session异步接受asyncSourceMessage()客户端流变Message对象
  • 【数据分析】什么是鲁棒性?
  • 适老化场景重构:现代家政老年照护虚拟仿真实训室建设方案​
  • Qt/C++学习系列之QGroupBox控件的简单使用
  • Ubuntu设置之初始化