瓶颈是软硬件设计共同造成的,多核肯定是趋势

打印 被阅读次数

常常有人拿人脑和电脑比,说电脑怎么都不如人脑效率高。

人脑之所以这么高效,就是因为它是并行计算的。每一个神经细胞的运算能力其实相当低,可能不如6502吧,但结合起来性能就高了。

软件方面大家感觉电脑慢,不是因为某一个操作慢,而是多数操作都在等待状态。例如OS启动时读入不同驱动,检测初始化不同硬件,渲染桌面等,如果这些操作都能并行处理,那速度就快很多倍了。但软件很少考虑到多核的设计,仍然避免使用多线程/进程,因为在传统架构下多线程和进程耗用太高,例如切换context的代价。

而硬件上核之间用总线、DMA一类的连接共享资源,程序数据都要从内存读取,从硬盘装入,使得瓶颈都在传输阶段。像人脑细胞分成不同的功能区域,“程序”都存在脑细胞和神经连接上,数据则在采集阶段就被体神经细胞预处理了,并且同时派发给相关的脑细胞处理。

人脑这种处理方式如此先进,为何电脑不用呢?其实人工神经网络算法已经发展好几十年了,只是硬件架构不能突破传统的冯诺依曼或者哈佛架构的模式。现在发展多核技术,其实是向这个方向发展的探索,电脑架构迟早会有场革命性的变化的。


我设想以后的电脑应该有至少几百几千个核,分成若干功能模块,模块间网状互联,模块内也是网状互联,每个核有自己的程序存储单元,互联总线控制器也是可编程并有存储单元(相当于神经网络中的加权),外部设备要像SCSI那样有处理器进行预处理和控制,并有可编程DMA进行常用设备间通讯(相当于生物神经系统中的条件反射)。当不用时应进入休眠状态,数据程序都存储在核内置的EEPROM里,内存充当缓存作用也在核内。而现在的内存则充当临时交换存储器,硬盘只做备份用,常用程序都直接放到核内。以后升级电脑就加核就好了,每个核里内存外存都内置了。



登录后才可评论.