• 3

為何 Intel AMD 無法做到 併核心 運算...


zjzj100 wrote:
想一想, 有時候 ...(恕刪)


軟體問題
人間五十年、下天の内をくらぶれば、夢幻のごとくなり一度生を得て成せぬ者はあるべき か
這個樓主應該沒學過程式語言,

現在的四核心CPU,
能同一時間做四件事,
但沒辦法把一件事切成四個段落去執行,
除非程式設計師一開始就設計分割成四個段落,
但程式寫起來複雜度不只四倍。

gogmaog wrote:
這個樓主應該沒學過程式語言,

現在的四核心CPU,
能同一時間做四件事,
但沒辦法把一件事切成四個段落去執行,
除非程式設計師一開始就設計分割成四個段落,
但程式寫起來複雜度不只四倍。

看學什麼語言
如果是學高階如C之類的
並不會瞭解CPU如何執行指令
如果要瞭解CPU怎麼執行指令就要去學組合語言。
常見的疑惑 畢竟不是資訊底的
要用到全部核心當然不是不行,只是....程式要大改,
然後程式交給每一個核心的運算不同會造成A等B或C等A,
所以速度也不會是1+1=2,所以小軟體基本上不會去那麼做,
基本上一套$$百萬起跳的軟體才會去開發這種多核心

orea2007 wrote:
看學什麼語言如果是學...(恕刪)


這有錯呢
只有腳本語言 JAVA 一類的才是你說的這樣


C跟C++, CPU運行動作 完全是寫程式的人必須自行控制的

有寫過程式的人,就會知道設計多核心運算的應用程式其實難度不低

如果資料有相依性,設計上難度就會更高

zjzj100 wrote:
想一想, 有時候 明...(恕刪)


處理器的問題
主要應該還是卡在Cache抓資料花的時間
以及很多人說的data dependency

後者就是導致即使有多個核心
可以同時運算
卻無法更有效運算的原因之一
因為上一個沒有算完
後面就會卡住

可能 X86 先天架構的包袱,沒法做到

手機 ARM 架構處理器,都是超多核心的,沒聽過有軟體只能單核心運行的。

又超級電腦 RISC 架構的處理器,也都是數萬台,數萬核心在一起工作的。

**************************

最近看到一篇 3C 新聞:




八核心、十核心的處理器我們都時有所聞,但美國的 UC Davis 最近開發了 KiloCore,顧名思義就是擁有一千顆運算核心的處理器。在執行需要平行處理的運算,如加密、分析科學數據和影片編碼處理的工作時,更是得心應手。而且其不單單是是核心數嚇人,功耗也是出奇地低,它能單靠一個 AA 電池驅動,每秒處理 1,150 億項指令的用電量亦只要 0.7W,不需要的核心也能單獨關閉。

可惜的是這顆 KiloCore 並沒有機會投入量產,因為大學方面所要求 IBM 幫忙製造 KiloCore 的製程是 32nm,而非主流廠商選用、體積更小、更高效益的 14nm 工藝。可是 UC Davis 的成果也非白費,因為這始終也是為多核心處理器的發展帶向助力,讓我們透過電子裝置處理的工作會更快完成。



感想:專用的硬體,用在專用的運算上,效率奇佳,而且超省電。

舉例比如說:挖礦(算比特幣的,可以賺錢)

有人用好幾片高階顯卡 GPU,串連運算,電費用噴的。

結果挖礦的效率,還不如一台專門的省電挖礦機。
有些人用車輛數字跟目的地來做比較,我有另一種看法,

我覺得板大的想法是:

目前有8公升的油要用完,這時候用一台車來消耗8公升比較快?

還是八台車各負擔1公升會比較快,勢必是八台車一起消耗比較快!

當然也有人討論到分工也需要時間花費,所以這是一個很好的問題

,如果真有一天到來下次效能提升就不是10%-15%,可能就會有

200%或者400%的可怕成績了。

每一個CPU核心有獨立的處理能力、電閘供電

要用車比喻較正確是...

一家搬家公司有8台貨車,假設東西只有一張厚重的桌子,

那就是一台車負載,沒辦法把桌子拆成8份給8台車去平均負擔,

除非這張桌子當初設計,就可以因應搬家拆成8個模組...!

所以目前這跟軟體怎麼寫有關,

而且如果程式不符合CPU硬體特性,有時候拆完再組合...反而更慢...
  • 3
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?