flywhc的博客

各版發帖集錦,啥都有
正文

瓶頸是軟硬件設計共同造成的,多核肯定是趨勢

(2010-10-30 18:20:20) 下一個
常常有人拿人腦和電腦比,說電腦怎麽都不如人腦效率高。

人腦之所以這麽高效,就是因為它是並行計算的。每一個神經細胞的運算能力其實相當低,可能不如6502吧,但結合起來性能就高了。

軟件方麵大家感覺電腦慢,不是因為某一個操作慢,而是多數操作都在等待狀態。例如OS啟動時讀入不同驅動,檢測初始化不同硬件,渲染桌麵等,如果這些操作都能並行處理,那速度就快很多倍了。但軟件很少考慮到多核的設計,仍然避免使用多線程/進程,因為在傳統架構下多線程和進程耗用太高,例如切換context的代價。

而硬件上核之間用總線、DMA一類的連接共享資源,程序數據都要從內存讀取,從硬盤裝入,使得瓶頸都在傳輸階段。像人腦細胞分成不同的功能區域,“程序”都存在腦細胞和神經連接上,數據則在采集階段就被體神經細胞預處理了,並且同時派發給相關的腦細胞處理。

人腦這種處理方式如此先進,為何電腦不用呢?其實人工神經網絡算法已經發展好幾十年了,隻是硬件架構不能突破傳統的馮諾依曼或者哈佛架構的模式。現在發展多核技術,其實是向這個方向發展的探索,電腦架構遲早會有場革命性的變化的。


我設想以後的電腦應該有至少幾百幾千個核,分成若幹功能模塊,模塊間網狀互聯,模塊內也是網狀互聯,每個核有自己的程序存儲單元,互聯總線控製器也是可編程並有存儲單元(相當於神經網絡中的加權),外部設備要像SCSI那樣有處理器進行預處理和控製,並有可編程DMA進行常用設備間通訊(相當於生物神經係統中的條件反射)。當不用時應進入休眠狀態,數據程序都存儲在核內置的EEPROM裏,內存充當緩存作用也在核內。而現在的內存則充當臨時交換存儲器,硬盤隻做備份用,常用程序都直接放到核內。以後升級電腦就加核就好了,每個核裏內存外存都內置了。



[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.