冯诺伊曼体系结构
现在很多解决方案不一定是纯软件解决,也不一定是纯硬件解决,而是软硬件结合的方法。 有很多系统问题,都是软硬件结合的方式做的。
即:有时候设计一些硬件结构,就是为了考虑软件;有时候软件中的设计,也可能是考虑硬件
是什么?
冯诺伊曼体系结构,是一个模板(造计算机按这个模板来造)
1 存储器: 内存,不是磁盘!!!!磁盘是外设,而内存是掉电易失存储介质,就是没电了数据就丢了
2 输入设备:键盘、摄像头(采集我的头像)、
话筒(从话筒中采集我的声音)、磁盘(读文件,文件在磁盘里)、网卡(读取网络中的数据)
3 输出设备:显示器、音响、磁盘(写文件)、网卡(往网络中发数据用到)
4 CPU:也叫中央处理器,包含运算器和控制器
(1) 运算器:进行 算数运算 和 逻辑运算
算术运算例如:1+3;3*4等
逻辑运算例如:a==0;a > 1等
(2) 控制器:CPU是可以响应外部事件的(比如鼠标点击和键盘输入),一旦有外部事件到来,可以使用cpu的控制器,完成某些工作。控制器并没有做计算,主要是协调各种硬件之间的工作顺序的。协调外部就绪事件。
例如:运行一个进程,必须先把程序被加载到内存。一定是os去加载的,加载的本质也是把文件从磁盘搬到内存。开始搬了,什么时候开始,搬了多少,搬完了,准备执行,这些一步步要做的事情,其实就是用控制器来控制这些逻辑,完成一个个阶段的事情
为什么?
输入设备:本质就是产生数据给计算机处理
输出设备:本质就是保存(磁盘的持久化)、显示、传输数据
为什么要有存储器?
cpu&&cpu内部寄存器,他的计算效率/存储效率 >> 内存 >> 磁盘/SSD(固态硬盘)
从左到右,速度不断在降低的,而且是数量级别的差别
木桶原理:一个水桶,它能承装多少水,是由最短的木片决定的。 多个木片构成一个木桶,相当于多个元素构成一个系统,如果有一个系统,这个系统的最后的整体效率,是由最慢的决定的。
1 如果没有存储器,输入输出设备直接跟cpu接触,这些设备会大大拖慢cpu速度,同时软件很难能参与进来
2 因为存储器的存在,给了我们在软件上做文章 —— 操作系统:预先把外设的数据,提前装载到内存中,以后木桶原理的短板就变成存储器了,一定程度上缓解整机的效率问题
冯诺依曼体系下的IO
1 cpu读取数据(数据+代码),都是要从内存中读取,即:cpu不和外设直接交互
2 如果数据要被cpu加载计算,就要先把数据从外设加载到内存(os加载)
即:外设只和内存打交道
3 将外设的数据搬到存储器的过程 —— input
将存储器的数据搬到外设的过程 —— output
数据从输入到输出的过程,就是 IO 的过程