L3-2 Hardware efficiency(not finished)

1.能量都去哪了

按比例来看,能量全部是控制逻辑和存储器访问消耗的,运算功耗很低。
Pasted image 20240829094133.png
一些优化方法,本节课就讲上面三个蓝色框的。
Pasted image 20240829094419.png

2.1 Arithmetic

2.1.1费用摊销

下面两个图可以看出来,用特定的复杂指令完成复杂的运算,减少指令的个数。从而减少运算本身以外的开销。简单的运算命令和复杂的运算命令花费的访问存储和控制的能量消耗差不多。

通用处理器的话,这个不可取,。因为通用处理器基本不会用复杂指令,复杂指令反而会使得流水线架构变得很复杂,得不偿失。

但是对于专用处理器而言,上述的方式是很常见的。 因为指令集比较复杂。
Pasted image 20240829134053.png
Pasted image 20240829134109.png

2.1.2精度降低

Pasted image 20240829135235.png

精度降低之后,开销降低了,但是存储器带来的开销还是主要成分
Pasted image 20240829135259.png
小问题!!! 这个问题日后再来思考吧,先过去
Pasted image 20240829135421.png

2.2 Memory

红框里的还是主要矛盾,能量花销大。
Pasted image 20240829135749.png

2.2.1 Get data close to the computation. (LOCALITY)

如图,介绍了需要存储器层次化的原因
Pasted image 20240829140311.png
一个实际的例子,CPU和GPU相比,可以看出来GPU的片上寄存器堆很丰富,带宽也更大。因此可以更好的利用局部性,更快地拿到数据。
Pasted image 20240829140503.png

2.2.2 Once data is close - perform all computations with this data. (REUSE)

两种复用,分别是时间复用和空间复用
Pasted image 20240829140843.png

2.2.2.1 时间复用

请看这个,因此我们可以总结一下,当对于某一个类型的数据,其复用距离小于或等于中间存储层次的存储容量的时候,这一类型的所有数据都可以充分实现时间复用
Pasted image 20240829143450.png

2.2.2.2 空间复用