L3-2 Hardware efficiency(not finished)
1.能量都去哪了
按比例来看,能量全部是控制逻辑和存储器访问消耗的,运算功耗很低。
一些优化方法,本节课就讲上面三个蓝色框的。
2.1 Arithmetic
2.1.1费用摊销
下面两个图可以看出来,用特定的复杂指令完成复杂的运算,减少指令的个数。从而减少运算本身以外的开销。简单的运算命令和复杂的运算命令花费的访问存储和控制的能量消耗差不多。
通用处理器的话,这个不可取,。因为通用处理器基本不会用复杂指令,复杂指令反而会使得流水线架构变得很复杂,得不偿失。
但是对于专用处理器而言,上述的方式是很常见的。 因为指令集比较复杂。
2.1.2精度降低
精度降低之后,开销降低了,但是存储器带来的开销还是主要成分
小问题!!! 这个问题日后再来思考吧,先过去
2.2 Memory
红框里的还是主要矛盾,能量花销大。
2.2.1 Get data close to the computation. (LOCALITY)
如图,介绍了需要存储器层次化的原因
一个实际的例子,CPU和GPU相比,可以看出来GPU的片上寄存器堆很丰富,带宽也更大。因此可以更好的利用局部性,更快地拿到数据。
2.2.2 Once data is close - perform all computations with this data. (REUSE)
两种复用,分别是时间复用和空间复用
2.2.2.1 时间复用
请看这个,因此我们可以总结一下,当对于某一个类型的数据,其复用距离小于或等于中间存储层次的存储容量的时候,这一类型的所有数据都可以充分实现时间复用。