2核心4线程在cpu中意味着什么?


22

我想知道2核4线程对cpu意味着什么?我正在谈论我拥有的这个CPU

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

我最初认为i5具有4个内核,但我认为我错了。我对线程的理解是,它是可以与其他线程同时(并发)运行的代码块。那么,该规格表中的4个线程是什么意思?它不同于编程线程。那里的线程数是否不同于我们创建的程序线程。如果它只有2个核心,那么即使它有4个线程,您也只能运行2个并行程序是否正确?


2
一旦您对en.wikipedia.org/wiki/Hyper-threading进行了一些背景研究,对您来说应该更有意义。您拥有的处理器确实确实能够一次执行4条指令。您应该了解,即使是单个核心CPU也可以运行多个程序。它只是没有能力一次执行2条指令。您似乎还不清楚程序实际上是如何工作的。
Ramhound 2014年

@Ramhound您大概是指4条指令。由于i5是超标量的,因此即使从单个指令流中也可以并行执行多个指令。同时多线程允许将线程级的并行性转换为指令级的并行性,从而提高了执行资源的利用率。
保罗·克莱顿

我最小化了我的陈述,每个时钟周期的指令数是奔腾D和第4个Core i5之间的差值减去管芯的大小以及功率要求(再次简化)
Ramhound


:这个答案可以提供熏陶superuser.com/questions/1198459/...
杰米·汉拉汉

Answers:


15

您的i5有两个内核,由于intel的超线程技术,每个内核可以运行两个线程,从而形成4个线程,除此之外,它还可以在进程之间高速切换。如果您想了解更多信息,是多线程的一个很好的解释,但是从本质上讲,您的CPU可以同时运行4个进程,并可以在多个进程之间高速切换。


>“除了它可以在过程之间高速切换之外”。是什么使黑白转换过程更快?
Talespin_Kit

@Talespin_Kit我认为@ Slowki指的是CPU用于多个进程的工作方式,因此它不限于4件事。这是许多事物的4个线程。
马特·塞弗顿

3

我不确定您在计算机体系结构方面的专业水平,但是您在此处提到的Core i5实现了一种称为“同时多线程(SMT)”的多线程形式。英特尔为其实施SMT的商标是超线程。

除了SMT以外,还有其他形式的多线程,时间多线程就是其中一种。例如,细粒度的时间多线程,其中处理器可以在每个周期在不同线程之间切换,从而实现多个程序的伪并行执行。类似地,可能存在粗粒度的时间多线程,其中处理器在遇到诸如当前线程上的主存储器访问之类的高延迟操作时,可以在线程之间切换。确切的转换点可能会根据实施和要求(例如公平性或实时期限)而有所不同。

SMT脱离了上下文切换哲学的多线程,因为它实际上有两个或多个线程同时在一个处理器上执行。尽管实现可能有所不同,但主要目标是利用处理器中仅在执行一个线程时处于空闲状态的功能单元,并利用处理器的广泛问题超标量性质。您可以将时间多线程想象为对处理器资源进行时间切片,而将SMT视为对资源进行空间切片。

详细的分析可以在Tullsen的1995年论文中找到:

http://dl.acm.org/citation.cfm?id=224449


0

“如果它只有2个内核,那么即使它有4个线程也只能运行2个并行程序是正确的吗?” 如果它有2个内核,则计算除以2 =并行度。但是,如果系统具有超线程,则它可以在同一内核中进行2个计算,为什么,同一内核对OS最多显示为2个内核...逻辑内核。


0

将线程数除以内核数,这将为您提供每个处理器内核可以同时运行的线程数。

在较早的时期(在较早的Intel型号上),超线程仅限于1个内核同时运行2个线程,或者多个内核每个内核运行1个指令集(又名线程)(如果您问我,效率很低)。但是随着更好的计算能力和后来的发展(例如您的i5处理器),您拥有我喜欢称之为的多核超线程处理器,该处理器具有多个内核,每个内核运行多个指令集(又名线程)。

在您的情况下,1个内核获得2个线程,因此在进行数学运算时,总共有= 4个指令集(线程)。

另一个示例:核心数= 4,线程数= 8 | 8/4 = 2,因此每个内核同时处理2个线程(不确定哪个处理器模型可以执行此操作,但我几乎可以肯定一个线程存在)。

希望这对我的朋友有帮助!祝您运算愉快!

来源:PEARSON IT认证CompTIA A +考试补习证书。手册

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.