为什么cpu内核的速度都是相同的,而不是不同的?

如果你曾经为一个新的CPU做过很多比较,你可能已经注意到,所有的核心似乎都有速度,而不是不同的组合。为什么?今天的超级用户问答帖子回答了一位好奇的读者的问题。...

为什么cpu内核的速度都是相同的,而不是不同的?

如果你曾经为一个新的CPU做过很多比较,你可能已经注意到,所有的核心似乎都有速度,而不是不同的组合。为什么?今天的超级用户问答帖子回答了一位好奇的读者的问题。

今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。

问题

超级用户读者Jamie想知道为什么CPU内核的速度都相同而不是不同:

In general, if you are buying a new computer, you would determine which processor to buy based on the expected workload for the computer. Performance in video games tends to be determined by single core speed, whereas applicati*** like video editing are determined by the number of cores. In terms of what is available on the market, all CPUs seem to have roughly the same speed with the main differences being more threads or more cores.

For example:

  • Intel Core i5-7600K, base frequency 3.80 GHz, 4 cores, 4 threads
  • Intel Core i7-7700K, base frequency 4.20 GHz, 4 cores, 8 threads
  • AMD Ryzen 5 1600X, base frequency 3.60 GHz, 6 cores, 12 threads
  • AMD Ryzen 7 1800X, base frequency 3.60 GHz, 8 cores, 16 threads

Why do we see this pattern of increasing cores, yet all cores having the same clock speed? Why are there no variants with differing clock speeds? For example, two “big” cores and lots of **all cores.

Instead of, say, four cores at 4.0 GHz (i.e. 4×4 GHz, 16 GHz maximum), how about a CPU with two cores running at 4.0 GHz and four cores running at 2.0 GHz (i.e. 2×4.0 GHz + 4×2.0 GHz, 16 GHz maximum)? Would the second option be as equally good at single threaded workloads, but potentially better at multi-threaded workloads?

I ask this as a general question and not specifically with regard to the CPUs listed above or about any one specific workload. I am just curious as to why the pattern is what it is.

为什么CPU核的速度都一样而不是不同?

答案

超级用户贡献者bwDraco为我们提供了答案:

This is known as heterogeneous multi-processing (HMP) and is widely adopted by mobile devices. In ARM-based devices which implement big.LITTLE, the processor contains cores with different performance and power profiles, i.e. some cores run fast but draw lots of power (faster architecture and/or higher clocks) while others are energy-efficient but slow (slower architecture and/or lower clocks). This is useful because power usage tends to increase disproportionately as you increase performance once you get past a certain point. The idea here is to get performance when you need it and battery life when you do not.

On desktop platforms, power c***umption is much less of an issue, so this is not truly necessary. Most applicati*** expect each core to have similar performance characteristics, and sche****ng processes for HMP systems is much more complex than sche****ng for traditional symmetric multi-processing (SMP) systems (technically, Windows 10 has support for HMP, but it is mainly intended for mobile devices that use ARM big.LITTLE).

Also, most desktop and laptop processors today are not thermally or electrically limited to the point where some cores need to run faster than others, even for short bursts. We have basically hit a wall on how fast we can make individual cores, so replacing some cores with slower ones will not allow the remaining cores to run faster.

While there are a few desktop processors that have one or two cores capable of running faster than the others, this capability is currently limited to certain very high-end Intel processors (known as Turbo Boost Max Technology 3.0) and only involves a slight gain in performance for those cores that can run faster.

While it is certainly possible to design a traditional x86 processor with both large, fast cores and **aller, slower cores to optimize for heavily-threaded workloads, this would add c***iderable complexity to the processor design and applicati*** are unlikely to properly support it.

Take a hypothetical processor with two fast Kaby Lake (7th-generation) cores and eight slow Goldmont (Atom) cores. You would have a total of 10 cores, and heavily-threaded workloads optimized for this kind of processor may see a gain in performance and efficiency over a normal quad-core Kaby Lake processor. However, the different types of cores have wildly different performance levels, and the slow cores do not even support some of the instructi*** the fast cores support, like AVX (ARM avoids this issue by requiring both the big and LITTLE cores to support the same instructi***).

Again, most Windows-based multi-threaded applicati*** assume that every core has the same or nearly the same level of performance and can execute the same instructi***, so this kind of asymmetry is likely to result in less-than-ideal performance, perhaps even crashes if it uses instructi*** not supported by the slower cores. While Intel could modify the slow cores to add advanced instruction support so that all cores can execute all instructi***, this would not resolve issues with software support for heterogeneous processors.

A different approach to application design, closer to what you are probably thinking about in your question, would use the GPU for acceleration of highly parallel porti*** of applicati***. This can be done using APIs like OpenCL and CUDA. As for a single-chip solution, AMD promotes hardware support for GPU acceleration in its APUs, which combines a traditional CPU and a high-performance integrated GPU into the same chip, as Heterogeneous System Architecture, though this has not seen much industry uptake outside of a few specialized applicati***.


有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。

图片来源:米尔科·沃尔特曼(Flickr)

  • 发表于 2021-04-07 13:15
  • 阅读 ( 156 )
  • 分类:互联网

你可能感兴趣的文章

一个神奇的amd threadripper cpu的简短指南

...本月底推出。1900X是最便宜的一款,售价550美元,共有8个内核和16个线程。 ...

  • 发布于 2021-03-13 04:05
  • 阅读 ( 207 )

如果英特尔停止生产奔腾g4560,您应该购买哪种处理器?

... 为什么英特尔奔腾g4560是一颗宝石 ...

  • 发布于 2021-03-13 13:07
  • 阅读 ( 377 )

cpu超频初学者指南

... 我的技术发烧友想说:“为什么你还没有超频你的电脑呢?”然而,有一种方法来疯狂超频和各种因素要考虑。 ...

  • 发布于 2021-03-16 22:41
  • 阅读 ( 200 )

为什么windows提供linux内核会改变一切

... 为什么我要linux? ...

  • 发布于 2021-03-20 05:49
  • 阅读 ( 198 )

什么是cuda核心,它们如何改进pc游戏?

... 为什么cuda核心在游戏中很重要? ...

  • 发布于 2021-03-20 21:38
  • 阅读 ( 496 )

英特尔酷睿i3与i5与i7:您应该购买哪种cpu?

...。 问:四核。Q等级仅适用于具有四个物理内核的处理器。 H:高性能图形。芯片组中有英特尔最好的图形单元之一。 G:包括离散图形。通常出现在笔记本电脑上,这意味着有一个专用...

  • 发布于 2021-03-23 11:33
  • 阅读 ( 209 )

cpu决战:amd与英特尔(ryzen与coffee lake比较)

... 长期以来,AMD CPU一直专注于CPU内核的封装,为多线程性能带来理论上的提升,而英特尔则专注于高时钟速度和单个内核的效率。很长一段时间以来,英特尔在CPU市场占据AMD的主导地位。但期待已久的瑞...

  • 发布于 2021-03-24 16:33
  • 阅读 ( 302 )

intel core i3、i5、i7和x CPU之间有什么区别?

...高级”分类,有助于区分给定代中的处理器。一个特定的内核“i”名称并不意味着处理器有一定数量的内核,也不能保证像超线程(Hyper Threading)这样的特性,它允许CPU更快地处理指令。 特性细节可能在不同的代之间发生变化...

  • 发布于 2021-04-03 00:52
  • 阅读 ( 315 )

熔毁和幽灵的缺陷将如何影响我的电脑?

...补。 但是这些缺陷是如何工作的呢? 相关:什么是Linux内核,它做什么? 计算机上运行的程序具有不同级别的安全权限。例如,操作系统内核Windows内核或Linux内核具有最高级别的权限,因为它运行show。桌面程序的权限较少,内...

  • 发布于 2021-04-06 21:52
  • 阅读 ( 250 )

cpu基础知识:多cpu、内核和超线程

...PC甚至使用多个CPU。我们是来帮忙解决这一切的。 相关:为什么不能用CPU时钟速度来比较计算机性能 在比较性能时,CPU的时钟速度通常是足够的。事情不再那么简单了。提供多核或超线程的CPU可能会比速度相同但不支持超线程...

  • 发布于 2021-04-07 16:27
  • 阅读 ( 128 )
njx99284
njx99284

0 篇文章

相关推荐