弄清楚整个计算机的结构对编程开发者来说至关重要,因为,只是简单的了解抽象的平台,并不能让你有观澜全貌的视野
而你的视野,决定了你的深度
在计算机中,几乎所有的计算机都是使用的是冯诺依曼结构的计算机:
程序和数据存储在一起的结构
计算机内部有三个设备最为重要:中央处理器CPU 内存 IO控制芯片
普通的开发者,只需要关心:内存和CPU
进行过抽象后的开发平台,如Java之类的,只需要担心一件事:内存
为了能让设备和CPU进行通信,每个设备都必须有一个IO控制器,因为CPU不会向你兼容的,CPU只发布标准,你要想跟他通信,那么,很好,把你自己的设备的通信抽象出来,用CPU的标准,挂到总线上,跟CPU通信
CPU的处理速度越来快,不能在想一开始那样把所有的设备都挂在总线上跟它直接通信的,因为,低速设备将会成为最短的一块木板,拉低整个设备的运行速度!
南北桥芯片的出现,就是应对高速设备和低速设备的处理的:北桥芯片接高速设备{CPU,缓存,内存} 北桥芯片接低速设备{键盘,屏幕,等}
最后,内存也没法跟上CPU的步伐了:出现倍频的方式和内存交流
CPU的频率一直在往上增高,每过18个月就会翻一倍,后来,不行了,因为,CPU遇到了物理极限,没法在那么小的芯片上在提升了,否则,量子效应将会严重,各种不可预料的时将会发生,所以,CPU在单块的设备上已经快到尽头了
往多核的方向发展,这是现在目前提高速度的最有前途的办法
增加CPU的数量,来提升速度!于是出现了多核计算机
增加核,确实可以解决一部分问题,一个人搬的砖,现在有十个人来搬,效率确实提高了,但并不是所有的问题都可以拆分:一个女人要怀胎10个月才生下一个还在,给你10个女人,你并不能在1个月就能生下一个孩子
多处理器有自己的优势,但是也有缺陷,不要一言盖子!
多处理器和多核处理器是不同的概念
多处理器是指有很多个处理器:每个处理器里有一个核
多核处理器:只是有多核,共享昂贵的缓存部件,多个处理中心,因为这样比较划算 价格只是比单核处理器贵一点,所以,这个比较好的,为什么不用多处理器呢,很简单,贵!性价比低!
所有的计算器问题都可以加一个中间层来进行简化和解决
一个中间层:向上提供调用接口,向下调用其他层提供的接口