冯诺依曼结构
存储器:内存
数据是要在计算机的体系结构中进行流动的,在流动过程中对数据加工处理
从一个设备到另一个设备,本质是一种拷贝
CPU的计算速度是很快的,所以数据设备间的拷贝效率,决定了计算机整体的基本效率
存储金字塔
计算机的处理逻辑是:
输入设备->CPU->输出设备
也就是说,我们其实可以只要一个输入输出设备就好了
直接把数据给到CPU,而不用再给存储器一道,岂不是加快了速度?
逻辑上是这样的
但是,奈何输入输出设备的效率太低了
所以为了解决输入输出设备效率太低,假如了存储器
在CPU工作的时间,我们就可以同时使用输入设备输入数据到存储器
这样CPU取数据时,就可以不用等输入设备,而是直接从存储器中取数据
这样的设计构架,加快了整体计算机的数据处理效率
计算机中寄存器的速度是最快的,既然是最快的
你有没有想过,为什么不全部使用寄存器呢?
你说太贵了
好的
你现在是一个土豪,你身价万亿
你说我不要什么存储器了,我就要全部干寄存器
人家的寄存器1G,我干一个500G
行不行?
可以,没毛病
反正咱有钱,你给我造出来就完事
好的,到目前没有任何问题
可是,这么一台计算机上百万千万
有几个人买得起呢?中东土豪?
假设这个世界上有100个人买得起
那么,也就是说,这个世界使用计算机的只有100人
只有100人的计算机使用群体
那么请问:没有庞大的网民,谁来养那些规模庞大的互联网公司?苹果谁来养?BAT谁来养?英特尔谁来养?没有他们,谁来养规模庞大的工程师?没有工程师,
网络哪里来?
互联网哪里来?
手机哪里来?
个人电脑哪里来?
根本撑不起来
所以,增加了存储器的计算机冯诺依曼结构,使得我们在不增加过多成本的同时,可以获得一个速度、效率还不错的,性价比不错的计算机。
只有平头老百姓都买得起
才能支撑起一个规模庞大的,世界范围的行业
进而促进相关产业的发展
这才有了后来的互联网时代
所以,这才是冯诺依曼体系结构的伟大之处
在降低了计算机成本的基础上,并没有对计算机的运行处理速度造成很大的损失
当一个创新发生,产生了相当范围的影响,那么创新就不仅仅局限于创新本身了
例如火药的创新
在硬件数据流动角度,在数据层面:
1、CPU不和外设直接打交道,CPU只和内存打交道
2、外设(输入和输出)的数据,不是直接给CPU的,而是要放入内存中
那么冯诺依曼结构能做什么呢?
1、程序运行,为什么要加载到内存中呢?
程序=代码+数据
在程序运行时,程序的数据要被CPU访问,指令要被CPU执行
但是,CPU只会从内存中读取代码和数据
因此,我们写的代码必须加载到内存中,CPU才能访问,CPU访问,就是执行运行代码
那么程序没有被加载到内存的时候,在哪里?在磁盘上,是一个二进制可执行文件
CPU要执行程序,就要从欧冠磁盘(外设)加载到内存中
2、既然数据要加载到内存中,那么,
什么时候加载?怎么加载?加载到内存的那个位置?
我怎么知道什么时候开始加载?什么时候加载结束?
加载完数据之后,要CPU进行处理,我要去内存读取数据
去内存的哪里读取?读取多少?
处理完数据之后,还是要加载到内存中,加载到内存的哪里?
什么时候刷新到下一个设别?要不要存储结果?
等等等等
以上这一切都是由操作系统完成
3、两台电脑/手机设备进行通信时,数据的流动是怎样的?
两个设备都是冯诺依曼机器
所以,第一个发送信息时,从输入设备输入数据到内存,经过CUP加密后,再回到内存,再把这个数据加载给网卡,网卡通过网络传输给另一个设备
另一个设备由网卡收到数据,同样的,数据从网卡加载到内存,再由CPU的对应程序(例如QQ)解密,将数据刷新到另一个设备的显示器