几年前,我听说有人要证明仅需三个指令就可以解决每个计算机程序:
拜托,我想听听您的意见。我的意思是将任何算法表示为计算机程序。你同意吗?
没必要。最小的理论计算机只需要一条指令。它们被称为一个指令集计算机(简称OISC,有点像最终的RISC)。
有两种类型。第一种是理论上“纯”的指令机,其中的指令实际上像普通CPU中的常规指令一样工作。该指令通常是:
subtract and branch if less than zero
或其变体。在维基百科的文章有此单指令如何被用来模仿其他指令写代码示例。
第二种在理论上 不是 纯的。这是转移触发的体系结构(再次是维基百科,很抱歉)。这种架构家族也称为移动机器,我自己设计和建造了一些。
有些人认为移动机器作弊是因为机器实际上具有所有常规指令,只是它们是内存映射的,而不是操作码的一部分。但是移动机器不仅是理论上的,而且是实用的(就像我说的,我已经自己建立了一些机器)。Maxim甚至有一个商用的CPU系列:MAXQ。如果看一下MAXQ指令集(由于实际上只有一条指令,所以我们将其称为传输集,我通常将其称为寄存器集),您会发现MAXQ汇编看起来很像基于标准累加器的体系结构。