在非超线程英特尔处理器上运行线程

De *_*der 1 multi-core threads parallel-processing hyper-threading

英特尔奔腾处理器 E5700(2M 高速缓存,3.00 GHz,800 MHz FSB)没有超线程,但它有 2 个内核,所以我假设它有 2 个线程

现在,如果我编写一个同时运行 4 个线程的繁重数字处理程序,与英特尔酷睿 i3-3110M 处理器(3M 缓存,2.40 GHz)等处理器相比,这款 E5700 处理器如何使用其 2 个内核和 2 个线程同时处理 4 个线程具有 2 个内核但 4 个线程的超线程?

E5700 是否会比具有 2 个内核但具有 4 个超线程的 i3 3110m 更慢并存在瓶颈,或者一切都会在两个处理器上一帆风顺且快速而不会注意到任何不同?

此外,用四个或更多线程编写的程序能否在 2 核 2 线程处理器上高效运行,或者会出现错误或速度变慢吗?

#

好的,感谢您稍后回答问题我访问了这个网站,分数越短对处理器越好

http://www.cpu-world.com/benchmarks/socket_1155_multi.html

基准 wPrime v1.55 (32M) wPrime 基准测量计算从 1 到 33554431 的数字的平方根所花费的时间。该程序使用牛顿法来估计函数。

对结果有很大影响的 CPU 特性:CPU 频率、浮点性能、内核/线程数。

对结果影响较小的 CPU 特性:内存速度、内部缓存的大小。

零件号 越短越好 结果

英特尔® 酷睿™ i7-3770K 处理器(8M 高速缓存,高达 3.90 GHz) 4 核 8 线程 是 HT

6.87

英特尔® 酷睿™ i7-2600k 处理器(8M 高速缓存,高达 3.80 GHz) 4 核 8 线程 是 HT

7.57

英特尔® 酷睿™ i5-2500K 处理器(6M 高速缓存,高达 3.70 GHz) 4 核 4 线程 无 HT
9.8

英特尔® 酷睿™ i3-2310 处理器(3M 高速缓存,2.10 GHz) 2 核 2 线程 是 HT
15.37

Intel® G860(3M 高速缓存,3.00 GHz)2 核 2 线程,无 HT
22.09

#

Bre*_*ugh 7

有关线程、CPU 内核和超线程的一些背景知识,您可能需要阅读什么是线程,它们在处理器中的作用是什么?


现在,如果我编写一个同时运行 4 个线程的繁重数字处理程序,该 E5700 处理器将如何使用其 2 个内核和 2 个线程同时处理 4 个线程

您的应用程序需要的线程数无关紧要 - 我可以编写一个启动 1000 个线程的程序,并且它们都在“同一”时间运行。这里的关键是操作系统的调度程序,它在特定的时间单位内在特定的 CPU 内核上运行每个线程(线程运行的顺序以及运行的内核取决于调度算法)。

与具有 2 个内核但 4 个线程的超线程的英特尔® 酷睿™ i3-3110M 处理器(3M 缓存,2.40 GHz)等处理器相比

尽管具有超线程,但无法将应用程序性能与类似的处理器进行比较。应用程序需要针对它进行专门优化(因为逻辑上的物理内核数量仍然只有一半)。在某些情况下,禁用超线程的应用程序可能会运行得更快(尽管许多应用程序确实从中受益)。无论超线程如何,物理内核数量的增加总是有利于多线程应用程序。


最后,您要比较 E5700 和 i3 3110m。这是两种不同的(不是完全的,但它们是不同的)处理器架构;它们具有不同的特性,以及不等的管道长度1 2。这里需要考虑的不仅仅是处理器内核的原始数量,但出于本次讨论的目的,您可以忽略它们并阅读我上面写的内容。

  1. J. De Gelas,“推土机后果:深入研究”。AnandTech,第 2 页。
  2. 英特尔® 64 位和 IA-32 架构软件开发人员手册,卷。1,章。2, Sec.2.3 - 英特尔® 酷睿™ 微架构