前言:
上一节我们讲到,影响计算机的性能指标。有大性能指标:响应时间与吞吐率。我们还把其中的响应时间细化拆解为三个指标:CPU主频或CPU时钟周期、CPI(每条指令需要的时钟周期数)以及需要执行的指令数。
那么具体到硬软件层面,计算机是如何去提升这些性能指标的呢?这正是这一节我们所需要解决的问题。
1)提升主频和提升制程
我们的 CPU,一般都被叫作超大规模集成电路(Very-Large-Scale Integration,VLSI)。这些电路,实际上都是一个个晶体管组合而成的。CPU 在计算,其实就是让晶体管里面的“开关”不断地去“打开”和“关闭”,来组合完成各种运算和功能。
想要计算得快,
一方面,我们要在 CPU 里,同样的面积里面,多放一些晶体管,也就是增加密度;
另一方面,我们要让晶体管“打开”和“关闭”得更快一点,也就是提升主频。
而这两者,都会增加功耗,带来耗电和散热的问题。
这么说可能还是有点抽象,我还是给你举一个例子。你可以把一个计算机 CPU 想象成一个巨大的工厂,里面有很多工人,相当于 CPU 上面的晶体管,互相之间协同工作。
为了工作得快一点,我们要在工厂里多塞一点人。你可能会问,为什么不把工厂造得大一点呢?这是因为,人和人之间如果离得远了,互相之间走过去需要花的时间就会变长,这也会导