多個單核CPU:
成本更高,因為每個CPU都需要一定的線路電路支持,這樣對主板上布局布線極為不便。並且當運行多線程任務時,多線程間通信協同合作也是一個問題。依賴總線的傳輸,速度較慢,且每一個線程因為運行在不同的CPU上。導致不同線程間各開一個Cache,會造成資源的浪費,同時如果線程間協作就會有冗余數據的產生,更加大了內存的開銷。
單個多核CPU:
可以很好地規避基本上多個單核CPU提到的所有缺點。它不需要考慮硬件上的開銷以及復雜性問題,同時也可以很好地解決多線程間協同工作的問題,減少內存的開銷,因為多線程程序在多核CPU中運行是共用一塊內存區的,數據的傳輸速度比總線來的要快同時不會有冗余數據的產生。單個多核CPU的問題也是顯而易見的,當多個較大程序共同運行時,內存就顯得極為匱乏了,不光是Cache占用的的問題,同時還有程序的指令以及數據的替換問題。
來源:知乎,感謝作者。