引用:
作者jar123
為了避免初學者看了這篇文章產生誤解,我嘗試解釋一下:
這篇文章指的是嵌入式系統的多core compiler問題,嵌入式系統的OS通常很簡易,排程能力弱,另一點最重要的它大都只執行單一特定的工作,因此在多 core時想要發揮效能的話,目前還是用人工的方式來分配task到不同core上執行。
如何讓compiler 能夠自動辨識單一program中的平行單元,並配置不同的處理單元實在是一大挑戰,這不只是發掘可平行運算單元這麼簡單,還有最佳化問題存在,因為多個core的處理能力可能並不相等,例如一個 ARM core + DSP core(這是目前常見的配置),哪個工作要給哪個core就很難決定,在加上communication cost那就更複雜了。
但如果是Desktop系統,情況就會好很多,因Desktop為多工,compiler只要支援multithread就能發揮多工效能(當然也是人工寫multithread來分配工作),所以需要compiler自動發掘單一program平行單元的需求...
|
感謝您的解釋..............相信很多人都看不懂..........
軟硬體之間的溝通為了進步就是要持續的研發..........