文章目录
- 冯诺依曼体系是什么?
- 为什么要有存储器?
- 怎么实现数据传输的?
冯诺依曼体系是什么?
冯诺依曼体系是一种计算机体系结构,是现代计算机的基础被广泛应用。
如图所示:
输入设备:键盘,摄像头,话筒,磁盘,网卡等等
输出设备:显示器,音响,磁盘,网卡等等
存储器:内存
CPU(中央处理器):运算器+控制器
运算器:主要进行算术运算和逻辑运算
控制器:CPU是可以响应外部事件的,而控制器可以协调外部就绪事件,比如:拷贝数据到内存。
其中我们可以看到,有些硬件既可以做输入设备又可以做输出设备。而有些设备就是单独的做输入设备和输出设备。
为什么要有存储器?
从上面我们可以知道输入设备是产生数据,CPU是对数据进行处理的,输入设备是保存或者显示处理后的数据。
那么我们可以直接用CPU和外设交互,为什么要多一个存储器呢?
我们都知道计算机有个存储金字塔
我们可以看到CPU和外设读取数据的效率差距是很大的。而我们大家应该都听过木桶原理,所以如果CPU和外设直接交互的话效率是由外设决定的,效率非常低下。
所以由存储器(内存),和外设打交道。我们可以先把数据加载到内存,然后CPU不和外设打交道只和内存打交道,这样就提高了交互效率。
所以存储器存在的有原因三个:
1.CPU和外设直接交互效率低
2.内存和CPU交互可以提高整机效率
3.效率较高,成本较低
我们知道凡是被广泛传播的产品一定是价格便宜,质量OK的。
从上面我们知道了两点:
1.CPU读取数据(数据+代码)都是从内存中读取的。
站在数据的角度,我们认为CPU不和外设直接交互
2.CPU要处理数据,需要先将外设中的数据加载到内存。
站在数据的角度,我们认为外设直接只和内存打交道。
而上面的过程就是数据走的过程,就是IO的过程。
具体IO过程:当输入设备 接收 到数据,数据将被 存储 到存储器,控制器发出取数据和 运算 的指令,数据被取出方去放入运算器中加以运算,运算结束后,控制器发出存入数据的指令并 输出 ,数据被存储到存储器,再通过输出设备进行输出。
我们以前经常听到程序要运行必须先被加载到内存中这是为什么呢?
现在知道了,这是冯诺依曼体系结构的特点。
怎么实现数据传输的?
我们学了这么多那么数据到底是怎么从一个冯诺依曼体系流向另一个冯诺依曼体系呢?
假设小明和小华,一个在福建一个在西藏,他们彼此用QQ聊天,那么他们是怎么接收到彼此的消息的呢?
我们可以看到数据的流向如图所示。