前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >带你理清多核CPU和多个CPU有何区别?

带你理清多核CPU和多个CPU有何区别?

作者头像
混说Linux
发布2022-07-14 20:25:03
1.5K0
发布2022-07-14 20:25:03
举报
文章被收录于专栏:混说Linux

1

架构可以千变万化,面向需求、综合考量是王道。

来,简单举个例子:

假设现在我们要设计一台计算机的处理器部分的架构意,现在摆在我们面前的有两种选择,多个单核CPU和单个多核CPU,该如何选择?

如果我们选择多个单核CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。

假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。

这样的话,总线开销相比较而言是很大的,怎么办?

那么多Cache,即使我们不心疼存储能力的浪费,一致性怎么保证?

如果真正做出来,还要在主板上占多块地盘,给布局布线带来更大的挑战,怎么搞定?

如果我们选择多核单CPU,那么我们只需要一套芯片组,一套存储,多核之间通过芯片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。如果最终实现出来,对板上空间的占用较小,布局布线的压力也较小。

看起来,多核单CPU完胜嘛。

可是,如果需要同时跑多个大程序怎么办?每个程序都需要用很多内存怎么办?假设俩大程序,每一个程序都好多线程还几乎用满cache,它们分时使用CPU,那在程序间切换的时候,光指令和数据的替换就要费多大事情啊!

所以呢,大部分一般咱们使用的电脑,都是单CPU多核的,比如我们配的Dell T3600,有一颗Intel Xeon E5-1650,6核,虚拟为12个逻辑核心。

有少部分高端人士需要更强的多任务并发能力,就会搞一个多颗多核CPU的机子,Mac Pro就可以有两颗。高端的服务器一般都是多颗多核,甚至还高频率。

原文:https://www.zhihu.com/answer/18659825

免责声明:版权归原作者所有,如有侵权,请联系删除。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 混说Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档