根据摩尔定律(Moore'sLaw),微处理器中的晶体管数量每18个月翻一倍,人们不禁要问:增加的这些大量的晶体管用来做什么呢?
一些晶体管用来适应处理器不断增加的数据宽度—从4位、8位、16位到32位;另一些新增的晶体管用来应对新的指令。例如,现在大部分微处理器都支持用于浮点数的指令(将在第23章详细介绍);还有一些新增的指令用来执行重复计算,以便在计算机屏幕上呈现图片和电影。
现代处理器使用多种技术来提高其运行速度。其中一种就是流水线技术(pipelining),即处理器在执行一条指令的同时读取下一条指令,尽管Jump指令在一定程度上会改变这种流程。现代处理器还包括一个Cache(高速缓冲存储器),它是一个设置在处理器内部,访问速度非常快的RAM阵列,用来存放处理器最近要执行的指令。由于计算机程序经常执行一些小的指令循环,使用Cache可以避免反复加载这些指令。上面提到的这些提高运行速度的策略都需要在处理器内部增加更多的逻辑组件和晶体管。
正如前面所提到的,微处理器只是整个计算机系统的一部分(尽管是最重要的一部分)。我们会在第21章构造这样一个系统,但首先要学习如何处理存储器中的数据,包括操作码和数字,我们要对这些数据进行编码。让我们从心态上回归到小学一年级,像孩子们学习读写一样学习如何编码吧。
编码—隐匿在计算机软硬件背后的语言
306