从存储器中取出指令的过程称为取指令(instructionfetch)。在我们设计的加法器中每一条指令的长度是3个字节。因为每次从存储器取回个字节,所以取每条指令需要的时间为3个时钟周期。此外,一个完整的指令周期需要4个时钟周期。这些变化必然使得控制信号更加复杂。
机器响应指令码做一系列操作的过程称为执行(execute)指令,但这并不能表明机器是一种有生命的东西,因为它不能自行分析机器代码并决定该做什么。每种机器码用其唯的方式触发多种控制信号,从而引发机器执行各种操作。
注意,为了让上面的加法器更加有用,我们牺牲了运算速度。使用同样的振荡器,它的运算速度只有本章提到的第一个加法器的1/4。这验证了-个称为1ANSTAAFL的工程准则,它的意思是“天下没有免费的午餐”。通常上帝总是很公平的,你改进了机器的某个方面,则其他方面就会受到损失,有得就有失。
如果不使用继电器构造这个电路的话,很显然,两个64KB的RAM阵列构成了电路中最主要的部分。事实上早就应该放弃这些部件了,甚至从一开始就应该决定只需要一个1KB的存储器。如果能确定所有的数据都可以存放在0000h\~03FFh的地址空间中,那么使用一个小于64KB的存储器加法器也可以很好地工作。
编码——隐匿在计算机软硬件背后的语言
234