是什么让CPU立即停止执行更多计算?

问题描述 投票:-4回答:2

项目中某些主要的CPU瓶颈是由于无法一次执行足够的计算。

64-bit cpu
2个回答
1
投票

您误解了计算机中的内存以及CPU的工作方式。内存存储值,并且您想访问它的速度越快,它必须越小。 CPU对少量的固定大小的值执行难以置信的快速“简单”计算(由物理电路描述)。

在64位CPU中,64位是单个寄存器的大小(上述固定大小值之一),而不是整个CPU的大小。 CPU有十个(如果不是数百个)这样的寄存器,可以与四个16位值,两个32位值或一个64位值一起使用。现在有些CPU甚至有128位用于寄存器,但是不一定总是需要更大的值。这是仅一个元素的存储空间。

CPU一次仅对少量值执行操作,因此,您不需要在它们中拥有大的存储空间,因为它们仅对较小的值进行操作,因此该空间通常是浪费的。它仅用于使数据以更快的速度提供给CPU。

不为CPU分配更多空间的主要原因是,存储越大,读取值的速度就越慢。计算机电路中的信息受到光速的限制,而以CPU的速度,这是不可忽视的。您拥有的存储量越多,占用的空间就越大,信息从其存储单元传输到CPU的处理电路所花费的时间也就越长。

CPU确实具有缓存,实际上它们具有多个级别(通常为L1,L2和L3)。随着级别的降低(从1降低到3),高速缓存会变大(L3需要几MB),但速度会变慢。 This Intel Haswell CPU page针对L1,L2和L3缓存提及:

  • L1:32 KB和4-5 CPU周期来读取它。
  • L2:256 KB和12个周期的读取时间。
  • L3:从中读取8 MB和36-58个周期。

另一方面,RAM现在处于GB级别,并且上面提到的页面将其读取时间列出为36 + 57纳秒或62个周期+ 100纳秒。 (在计算机领域)与CPU的缓存有很大的不同。

希望上述内容已向您证明,存储空间(KB,MB,GB,TB)和速度(周期和纳秒)之间存在真正的权衡。除了光速以外,还有其他限制,但是这是最简单的推理方法。

您的上述问题可能是受现代GPU的启发,这些GPU通常具有约4 GB的视频内存,并且在某些计算中比CPU更快。再次,内存量与效率不同:GPU的内存用于存储视频顶点和纹理信息以执行计算。使用这么多的原因以及GPU相对速度的原因是,它以高度并行的方式执行了许多简单的操作,因此能够一次访问内存中的许多值,但几乎将它们彼此分开其他。

这就是为什么现在在神经网络中大量使用GPU的原因:神经网络使用相对简单的计算,可以并行化(向量/矩阵/张量乘法)。这意味着每个计算都可以与其他计算分开执行,因此可以同时执行。在这些计算中,现代GPU可以将顶点存储在其内存中,并并行传播其值。但是,拥有1 TB的顶点将是极其不足的,因为计算将涉及大量数据(想想1 TB到底有多大),并且读取数据的速度会很慢。现代AI确实喜欢在问题上扔硬件来解决它,但是正如我上面希望的那样,将硬件扔到问题上只能走这么远。有一种观点认为,比功能更强大的机器,更好的软件解决方案可以产生更清晰的结果。


-1
投票

不幸的是,这不是CPU的工作方式。更大的CPU位大小仅意味着两件事:CPU能够访问更多的内存,并且CPU能够添加/减去非常大的数字,如此之大,以至于绝对没有理由甚至将它们添加到内存中。第一名。

也不需要访问更多的内存,因为我们可以用64位访问的内存量大于我们目前拥有的任何存储量!

太大的CPU效率很低,因为CPU的边缘大小会非常大,无法容纳足够的数据线用于1TB。

TL; DR

更大的CPU位数量并不等同于提高其性能。它只会增加它可以访问的内存量,并且可以增加一个周期中增加的数量。

© www.soinside.com 2019 - 2024. All rights reserved.