多个单核CPU:
成本更高,因为每个CPU都需要一定的线路电路支持,这样对主板上布局布线极为不便。并且当运行多线程任务时,多线程间通信协同合作也是一个问题。依赖总线的传输,速度较慢,且每一个线程因为运行在不同的CPU上。导致不同线程间各开一个Cache,会造成资源的浪费,同时如果线程间协作就会有冗余数据的产生,更加大了内存的开销。
单个多核CPU:
可以很好地规避基本上多个单核CPU提到的所有缺点。它不需要考虑硬件上的开销以及复杂性问题,同时也可以很好地解决多线程间协同工作的问题,减少内存的开销,因为多线程程序在多核CPU中运行是共用一块内存区的,数据的传输速度比总线来的要快同时不会有冗余数据的产生。单个多核CPU的问题也是显而易见的,当多个较大程序共同运行时,内存就显得极为匮乏了,不光是Cache占用的的问题,同时还有程序的指令以及数据的替换问题。
来源:知乎,感谢作者。