安徽网站设计找哪家,wordpress访客统计插件,专业的培训网站建设,网站推广软件价格目录
冯诺依曼体系
冯诺依曼体系结构
冯诺依曼体系的工作流程
为什么一个程序要运行#xff0c;必须的先加载到内存中运行?
从软件数据流角度理解冯诺依曼 冯诺依曼体系结构
我们常见的计算机#xff0c;如笔记本。我们不常见的计算机#xff0c;如服务器#xff0c…目录
冯诺依曼体系
冯诺依曼体系结构
冯诺依曼体系的工作流程
为什么一个程序要运行必须的先加载到内存中运行?
从软件数据流角度理解冯诺依曼 冯诺依曼体系结构
我们常见的计算机如笔记本。我们不常见的计算机如服务器大部分都遵守冯诺依曼体系。 截至目前我们所认识的计算机都是有一个个的硬件组件组成
输入单元包括键盘, 鼠标扫描仪, 写板等中央处理器(CPU)含有运算器和控制器等输出单元显示器打印机等 这里的存储器指的是内存
他们都是独立的个体! 各个硬件单元必须用“线”链接起来总线1. 系统总线 2. IO总线
冯诺依曼体系的工作流程
冯诺依曼体系的工作流程如下
输入设备获取数据并存储到内存中。CPU从内存中取出数据并进行处理。运算完毕后CPU将处理过的数据交给内存。内存将CPU处理过的数据交给输出设备。输出设备进行数据的输出。
此外冯诺依曼体系结构计算机必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
关于冯诺依曼必须强调几点
这里的存储器指的是内存不考虑缓存情况这里的CPU能且只能对内存进行读写不能访问外设(输入或输出设备)外设(输入或输出设备)要输入或者输出数据也只能写入内存或者从内存中读取。一句话所有设备都只能直接和内存打交道。
为什么一个程序要运行必须的先加载到内存中运行?
了解冯诺依曼体系结构的工作流程之后我们可能会有下面这两个问题
为什么不直接将用户输入的数据交给cpu而是将用户输入的数据先加载到内存再通过内存将数据交给cpu呢为什么不由cpu将数据直接给输出设备反而也要通过内存将数据交给输出设备呢 原因cpu与输入输出设备的运行速度相差的非常大。
首先我们需要明白cpu的运行速度是非常快的它的运行速度是纳秒级别内存的运行速度是微秒级别而输入输出设备的运行速度是毫秒级别。cpu与输入输出设备的运行速度相差的非常大。由于输入输出设备的运行速度很慢而cpu的运行速度很快根据木桶原理如果输入输出设备与cpu直接交互那么最终整个体系所呈现出来的速度将会是很慢的。因此在冯诺依曼体系结构中为了不让输入设备与输出设备直接与cpu进行交互我们的内存就出现了。内存它相对于输入设备和输出设备要快很多但是比CPU又要慢一些。现在内存就处于慢设备和快设备之间是一个不快也不慢的设备从而它就充当了该体系结构中的缓冲区。
从软件数据流角度理解冯诺依曼
对冯诺依曼的理解不能停留在概念上要深入到对软件数据流理解上。
下面我们来解释一下从你登录上qq开始和某位朋友聊天开始数据的流动过程。从你打开窗口开始给他发消息到他的到消息之后的数据流动过程。如果是在qq上发送文件呢
在使用QQ与朋友进行聊天都是需要联网的而我们的电脑都是冯诺依曼体系结构这个聊天的这个过程中你的键盘相当于输入设备显示器和网卡相当于输出设备而你朋友的电脑网卡相当于输入设备显示器相当于输出设备。
当你在键盘当中输入你要发送的消息键盘将这些消息加载到内存中此时显示器就可以从内存获取消息进而显示在显示器上此时你就能在显示器上看到你要发的消息。 键盘输入消息到内存CPU处理消息后写回内存此时你的网卡从内存获取消息并发送到网络经过处理后另一端的网卡获取消息并加载到内存CPU再从内存获取消息并解包处理然后写回到内存最后显示器从内存获取消息并并显示在朋友的电脑上。