冯诺依曼体系究竟是什么?
一、冯诺依曼体系是什么?
冯·诺依曼体系结构,也被称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。这种结构的特点是“程序存储,共享数据,顺序执行”,CPU从存储器取出指令和数据进行相应的计算。(百度百科)
二、冯诺依曼体系结构特点
冯诺依曼体系计算机由计算器、存储器、控制器、输入设备、输出设备
组成。其中存储器也被称为内存
,计算器和控制器被称为中央处理器(CPU)。
在计算机中,指令和数据都是二进制,以相同的地位存放在存储器中,可通过地址来寻访。其中指令由操作码和地址码组成,操作码表示操作的属性,地址码用于表示操作码在存储器中的位置。
经典冯诺伊曼体系结构计算机是以运算器为中心
,输入设备、输出设备已经存储器之间的数据通过运算器来完成。但由于木桶效应,计算机的运行效率快慢却决于运行速度最慢的部件。经典冯诺伊曼体系中·计算机直接通过运算器来控制输入和输出设备之间的数据传递,速度受输入设备和输出设备影响巨大,导致整机的性能下将。因此,现代计算机通常以存储器为中心,或者说是CPU
。并且实际上,现代计算机并不会直接从输入设备和输出设备中获取数据。数据必须先传到存储区(即内存中),CPU在通过从存储器中读取数据,并将处理后的结果先返回给存储器,在通过存储器将结果传给输出设备。这样做的意义在于,由于CPU和输入设备、输出设备的运行速度差距还是挺大的,在CPU处理某个任务时,我们可以提前将下一个任务所所需要的数据通过输入设备先加载到存储器中,待CPU处理完当前任务后,可以立即从存储器中获取数据。通过认为巧妙的控制两者之间的时间差,来减少CPU等待获取数据的时间。
总结:现代计算机在不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备);外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。一句话,所有设备都只能直接和内存打交道
。
三、现代计算机结合框图
现代计算机以存储器为中心,分为计算器、存储器、控制器、输入设备、输出设备。存储器、控制器称为CPU
其中计算机的输入设备主要有:键盘、话筒、摄像头、网卡、显卡、usb、磁盘/ssd等。需要注意的是,现如今计算机大多是采用ssd(固态磁盘)代替磁盘。两个本质不同:机械硬盘本质是电磁存储,固态则是半导体存储。
输出设备有:网卡、显卡、喇叭、打印机等。
存储器为内存;运算器和控制器,即CPU中,通常为寄存器和各级缓存
。
四、数据如何流动?
假设某天你(小明)和朋友(李华)同时登上QQ并打开了对话框,你在对话框中输入“你好”并发送传到李华的手机上,这其中数据是如何流动的?
在计算机启动并打开QQ时,操作系统和QQ两个软件会加载到内存,在QQ中输入“你好”,实际上是输给内存(存储器)。同时实际上我们通过QQ发送消息时,不仅仅有文字“你好”,还有头像,昵称等等,其中会涉及到一些字符串剪切拼接等问题,所以需要将这些附带信息一同加载到CPU中
,进行处理打包后在写回内存。然后内存将打包好的输出传给输出设备。在通过输出设备中的显卡,通过网络(省略)传给李华输入设备中的显卡
。然后通过内存加载到李华电脑的CPU对信息进行解压
,随后写回内存,传给输出设备,最终李华便能在他的手机上看到“你好”和你的昵称和头像的信息了。