几十年来,我们一直在使用随机存取存储器。2和PRAM(并行RAM)模型5并用渐近分析来衡量算法的复杂度。RAM和PRAM模型将从整数到全局内存负载的所有操作都视为单位成本。这种近似在计算的早期是合适的,因为计算和通信的成本在某种程度上是相当的。然而,随着时间的推移,先进的半导体技术已经导致算术和逻辑成本的数量级下降,而通信成本的下降速度则慢得多。因此,今天从主存中获取两个32位单词需要消耗1.3nJ的能量,而执行一个32位添加操作(需要两个32位单词作为输入)只需要消耗20fJ的能量,少64,000倍。像RAM或PRAM这样的计算模型,如果将这两种操作视为等同的,则在估计计算成本方面做得很差,因此在比较替代算法方面做得也很差。
通信是计算的主要成本。无论我们认为成本是能量还是时间,通信都主导着现代计算。一个32位的添加操作只需要20fJ和150ps。移动两个32位的字来满足这个操作1毫米需要1.9pJ和400ps。移动64位40mm从角到角在一个400mm2芯片需要77pJ和16ns。离开芯片需要320pJ,每米延迟6ns。
没有发现记录