冯诺依曼体系结构

冯诺依曼体系结构

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

体系结构组成部分

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

image.png

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

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

image.png
设备之间通过总线来连接的目的是为了设备之间的数据流动
设备之间数据流动的本质就是设备之间的数据进行来回的拷贝,而进行拷贝的速度,就决定了计算机效率的重要指标。

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

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

image.png

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

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

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

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

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

image.png
根据冯诺依曼体系结构,在数据角度方面上,CPU只和内存打交道,外设也只和内存打交道。

从体系结构方面看软件

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

关于冯诺依曼需要注意

  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU只能对内存进行读写,不能直接访问外设(输入/输出设备)
  • 外设(输入/输出设备)要有输入或者输出数据,也只能写入内存或者从内存中读取
  • 所有的设备都只能直接和内存打交道
  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++下等马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值