有人能向我解释一下多CPU、多核和超线程之间的区别吗?我总是对这些差异以及在不同场景中每种架构的优缺点感到困惑。
以下是我在网上学习和从别人的评论中学习之后的理解。
这是正确的吗?
发布于 2009-03-25 08:39:23
多CPU是第一个版本:你会有一个或多个主板上有一个或多个CPU芯片。这里的主要问题是CPU必须向其他CPU公开它们的一些内部数据,这样它们就不会碍事。
下一步是超线程化。主板上有一个芯片,但它内部有两个部件,这样它可以同时执行两个指令。
目前的发展是多核的.这基本上是最初的想法(几个完整的CPU),但在一个单一的芯片。优点:芯片设计者可以很容易地将同步信号的附加电线放到芯片中(而不必将它们路由到一个引脚上,然后穿过拥挤的主板,再向上插入第二个芯片)。
今天的超级计算机是多CPU、多核的:它们有很多主板,通常有2-4个CPU,每个CPU都是多核的,每个CPU都有自己的RAM。
编辑--你说得很对。我只想说几点:
EDIT2多核比多cpu简单的主要原因是,在主板上,你根本不能运行两片芯片之间的所有连接,而这是你需要使同步有效的。另外,信号的顶部只有30厘米/毫秒(光速;在电线中,你通常要少得多)。别忘了,在多层主板上,信号开始相互影响(串扰)。我们喜欢认为0是0V,1是5V,但在现实中,"0“是介于-0.5V之间(当从1->0掉一条线时过度驱动),而.5V和"1”是任何高于0.8V的东西。
如果你把所有东西都放在一个芯片里,信号运行得更快,你可以拥有任意数量的信号(好吧,几乎:)。此外,信号串扰更容易控制。
发布于 2009-03-25 08:46:51
您可以在英特尔网站上找到一些关于双CPU、多核和超线程的有趣文章,或者在耶鲁大学的一篇短文中找到。
我希望你能在这里找到你需要的所有信息。
发布于 2009-03-25 08:40:25
简而言之:多CPU或多处理器系统有多个处理器。多核系统是由多个处理器组成的多处理器系统.在超线程处理中,多个线程可以在同一个处理器上运行(也就是说,这些多线程之间的上下文切换时间非常短)。
多处理器已经存在了30年,但大多在实验室中。多核是新一代流行的多处理器.目前,服务器处理器与多处理器一起实现超线程。
维基百科关于这些主题的文章很能说明问题。
https://stackoverflow.com/questions/680684
复制相似问题