多核和超线程之间的区别

时间:2014-04-28 22:20:39

标签: multithreading concurrency parallel-processing multiprocessing

我试图了解处理器中的显式并行性,但对于多核处理器(在单个芯片上具有多个内核)的概念与对称多线程的概念不同而感到困惑strong>(作为超线程销售)。

2 个答案:

答案 0 :(得分:1)

  

超线程

超线程只允许一个处理器同时处理两个命令。当只有一个处理器可用时,它开始执行并意识到它需要额外的信息然后它发送新信息的命令,同时等待数据到达它在其他命令上工作。

  

多核

多核处理器在同一芯片上有几个物理上独立的处理器内核。这里只使用一个芯片,因此价格便宜。芯片由附加的I / O寄存器组成。多核处理器也可以使用超线程。

答案 1 :(得分:0)

核心是做实际工作的东西。一个线程就像一条传送带,向核心输送指令,告诉它做什么工作。

打个比方:

每个核心都是工厂的一名工人。他从传送带(线)上拿起一张纸(指令)来执行任务。如果一张纸和下一张纸之间有空隙,他就坐在那里什么也不做。这是单核,单线程。

如果他有 2 个传送带给他送纸,如果一个是空的,他可以从另一个那里获取指令。工人能够做更多的工作,因为他有更少的空闲时间。这是具有 2 个线程的 1 个核心。虽然这比单条传送带要好,但工人仍然必须自己完成工作,所以他是瓶颈。

但是如果他与另一个人类工作者一起(添加另一个核心),他们可以完成两倍的工作。新工人将始终拥有自己的传送带(每个核心至少有 1 条线喂入)。

从最低到最好的性能:

  • 1 个内核,无超线程(共 1 个线程)
  • 1 个内核,具有超线程(总共 2 个线程)
  • 2 个内核,无超线程(总共 2 个线程)
  • 2 个内核,具有超线程(总共 4 个线程)

请注意,具有超线程的 1 核与常规双核具有相同的线程数,但双核可以完成更多工作。