冯诺依曼体系结构
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
截至目前,我们所认识的计算机,都是有一个个的硬件组件组成:
- 输入单元:包括键盘, 鼠标,扫描仪, 写板等
- 中央处理器(CPU):含有运算器和控制器等
- 输出单元:显示器,打印机等
关于冯诺依曼,必须强调几点:
- 这里的存储器指的是内存
- 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
- 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
- 一句话,所有设备都只能直接和内存打交道。
那么为什么CPU只和内存进行读写而不能访问外设呢?
首先,我们要知道计算机设备运行速度:CPU && 寄存器 > 内存 > 磁盘/SSD > 光盘 > 磁带。
然后,根据木桶效应(桶中存水量取决于最短的木板),所以计算机的运行速度取决于运行速度最慢的设备,因此如果CPU与外设进行访问,就会拖慢计算机运行的整体速度,这是很不划算的!
对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上,请解释,从你登录上
qq
开始和某位朋友聊
天开始,数据的流动过程。(比如A发送hello信息给B)
首先,A和B的电脑可以看成两个冯诺依曼体系,A将信息从输入设备(键盘)送入存储器(内存),存储器内存将信息给CPU进行必要的包装,然后CPU再把信息送回内存(因为CPU只和内存交互,不和外设交互),然后内存将信息送给输出设备(网卡),输出设备通过网络将信息送给对方的输入设备(网卡),对方的输入设备将信息送给存储器,存储器通过CPU解析完送给输出设备(显示器)显示出来,这样对方就接收到了信息。