冯诺依曼体系结构

文章目录

  • 冯诺依曼体系结构
    • 体系结构组成部分
    • 体系结构中为什么要有内存?
    • 一个例子更好的认识体系结构
    • 从体系结构方面看软件
    • 关于冯诺依曼需要注意

冯诺依曼体系结构

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

体系结构组成部分

冯诺依曼体系结构主要由五部分组成 分别是输入/输出设备 、存储器、运算器、控制器

冯诺依曼体系结构_第1张图片

  • 输入设备
    常见的比如有键盘、摄像头、麦克风、网卡、磁盘等
  • 输出设备
    显示器 打印机、网卡、磁盘等
  • 运算器
    计算机中执行各种算术和逻辑运算操作的部件,。运算器的基本操作包括加、减、乘、除四则运算等等
  • 控制器
    完成协调和指挥整个计算机系统的操作
    中央处理器CPU包含运算器和控制器
  • 存储器
    冯诺依曼体系结构中的存储器一般指的是内存不包括外存

这五大部件是相互独立,他们之间通过各种总线连接

冯诺依曼体系结构_第2张图片
设备之间通过总线来连接的目的是为了设备之间的数据流动
设备之间数据流动的本质就是设备之间的数据进行来回的拷贝,而进行拷贝的速度,就决定了计算机效率的重要指标。

体系结构中为什么要有内存?

  • CPU的速度很快,而输入输出设备离CPU很远,这些外设的速度很慢,如果CPU直接访问外设,那么根据木桶效应,计算机整体的速度就会很慢,CPU一直处于等待外设的状态。

冯诺依曼体系结构_第3张图片

  • 体系结构为了解决这一问题,在CPU和外设之间“插入”了内存。
  • 在CPU处理其他事情时,内存提前将我外设中的数据“拿进来”,这个过程叫预加载,CPU处理完数据时,直接把数据传给内存,这个过程就叫做缓存。再从内存中读取预加载的数据进行处理。内存再将数据返回给外设中。这一系列过程由操作系统(OS)完成。体系结构只是这么规定,具体的行动还是由OS来完成的。

可以将内存看作一个很大的缓存,介于CPU和外设中,这样保证了计算机的整体效率以内存来衡量。
有了内存,将效率问题转换成了软件问题

一个例子更好的认识体系结构

当自己和朋友用QQ聊天时数据的流动过程

冯诺依曼体系结构_第4张图片
你在键盘上输入信息,输入设备键盘将消息加载到内存中,显示器就从内存中读取到信息显示到显示器上,自己就能看到自己发的消息了。
CPU从内存中获取信息,对信息进行各种处理,将其返回到内存中,网卡就可以从内存中获取已经处理好的信息了。然后在网络中经过一系列的处理,将信息发送到朋友的网卡中,朋友从网卡中获取到的信息加载到内存中,CPU再从内存中获取信息,进行处理,将处理好的信息返回到内存中,然后朋友的显示器读取内存中的数据,就能显示到朋友的显示器中了。

冯诺依曼体系结构_第5张图片
根据冯诺依曼体系结构,在数据角度方面上,CPU只和内存打交道,外设也只和内存打交道。

从体系结构方面看软件

当我们使用C/C++写完代码后,通过编译连接,就会产生一个可执行程序。这个可执行程序存放在磁盘(外设)当中,
运行这个可执行程序的时候,首先肯定是先将程序加载到内存中的,代码里面的各种指令,要由CPU去执行的,CPU会去内存中读取数据然后在做处理。体系结构决定了这样的执行过程

关于冯诺依曼需要注意

  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU只能对内存进行读写,不能直接访问外设(输入/输出设备)
  • 外设(输入/输出设备)要有输入或者输出数据,也只能写入内存或者从内存中读取
  • 所有的设备都只能直接和内存打交道

你可能感兴趣的:(Linux,linux,运维,服务器)