看过《浪潮之巅》这本书或者了解IT行业的人大概都听说过摩尔定律,也就是电脑或者电子产品的CPU每18个月会更新一次,其性能以指数的形式增长。这套理论,我第一次跟女同事解释的时候用了两个更相关的概念,第一个是半盘棋效应,还有一个是荷塘效应。

半盘棋

农夫和国王打赌获胜,国王决定满足农夫任何一个要求,于是农夫说我的要求很简单——找一个8*8的棋盘,第一格放一粒米,第二格放两粒,第三格放四粒,以此类推,我只要给我能放满棋盘的所有格子的米就可以了。国王觉得这样的要求很简单,欣然同意,于是大臣们就开始往棋盘上放米了。可到了半盘棋格的时候,整个王国储存的米都不够了,因为指数级的增长跨度实在是太大了,2的32次方是大约42亿,再往后就不可想象了。

荷塘效应

说一个池塘里上长了一片荷叶,每天一片荷叶都会分裂成两片,也就是第一天一片荷叶,第二天两片荷叶,可能一直到第47天,我们也只看到池塘里依然只有不到四分之一的地方长有荷叶,大部分水面还是空的,而令人瞠目结舌的是,到第48天荷叶就掩盖了半个池塘,又过了仅仅一天,荷叶就掩盖了整个池塘。这也是描述指数增长的可怕之处。

回到正题,摩尔定律其背后也是与上述两个效应相同,符合指数增长的规律,也许在理想状态下,硬件的CPU处理能力越来越强,直到硬件的限制和延迟消失不见,但现实却是,我们的电子产品越来越慢,越来越难以使用,导致我们不得不频繁的更新新的电子产品以求达到最流畅的使用体验,为什么会这样呢?CPU已经足够强大了,为什么还会越来越慢呢。这就引出了IT界的另一条铁律——反摩尔定律。

反摩尔定律就是软件的占用资源随着CPU的强悍和升级变得越来越大,这也是硬件厂商希望看到的结果,因为一旦你买了最新的配置,那么这样的硬件组合一定要在短时间内过期,如此一来才能促使消费者再次去购买更新的硬件,反摩尔定律就是软件越来愈大,耗费掉摩尔定律所带来的性能提升,从而促进硬件厂商的发展,这也是为什么我们的电子产品虽然配置很高,但实际上使用起来和之前配置差的手机没什么区别的原因。

更糟糕的是,摩尔定律则是一个点,我们买了最新的硬件也就停留在了摩尔指数这条曲线上的一个点而已,但反摩尔定律是可以时时刻刻影响我们,如果你想使用新的操作系统,或者新版本的软件,那么你就要不断地用旧设备更新新的版本,随着反摩尔定律的曲线向前,你的硬件处理能力却止步不前,所以变慢或者是被淘汰是必然的现象。

所以我们的电子产品从购买的那一刻起注定逃脱不了被淘汰的命运,这也算是硬件与软件的相辅相成的发展规律,两方都在努力的维持着如此微妙的平衡关系。虽然这么说对软件开发商很不公平,但我们可以更加明白为什么手机会越来越卡的原因。同样,不同的软件开发商对饭摩尔定律的做法会有所不同,这些以后再谈~

2014-12-10