2010-11-23 57 views

回答

5

多核是一種並行編程。特別是它是一種MIMD設置,其中處理單元不分配,而是共享一個公共存儲區,甚至可以共享像MISD設置的數據(如果需要的話)。我相信它甚至不同於多處理器,因爲多核心設置可以共享一定級別的高速緩存,並且因此比不同核心上的CPU更有效地合作。

通用並行編程還將包括SIMD系統(如GPU)和分佈式系統。

1

區別不在於處理方法,只是在軟件運行的硬件上。並行編程遇到了一個問題,將工作負載分解爲可以並行處理的小塊(分而治之類型問題等)或可以彼此獨立運行的函數。將該軟件放置在多核硬件上,並由操作系統對其進行優化,以在不同內核上運行。這使它具有更好的性能,因爲您爲創建並行工作而創建的每個線程現在都可以運行,而無需在單個處理器/內核上佔用CPU週期。

+0

謝謝。我懂了。如果我正確地讀了你的話,你就是說,如果我可以用類比的話,多核編程就是並行編程技術的實現。這是準確的嗎? – 2010-11-23 14:41:59

0

多核系統是並行系統的一個子集。不同的系統會有不同的內存架構,每個架構都有自己的挑戰。一個系統如何處理緩存一致性?是否涉及NUMA等等。