小编典典

最小指令集可解决计算机程序的任何问题

algorithm

几年前,我听说有人要证明仅需三个指令就可以解决每个计算机程序:

  • 分配
  • 有条件的
  • 循环

拜托,我想听听您的意见。我的意思是将任何算法表示为计算机程序。你同意吗?


阅读 697

收藏
2020-07-28

共1个答案

小编典典

没必要。最小的理论计算机只需要一条指令。它们被称为一个指令集计算机(简称OISC,有点像最终的RISC)

有两种类型。第一种是理论上“纯”的指令机,其中的指令实际上像普通CPU中的常规指令一样工作。该指令通常是:

subtract and branch if less than zero

或其变体。在维基百科的文章有此单指令如何被用来模仿其他指令写代码示例。

第二种在理论上 不是
纯的。这是转移触发的体系结构(再次是维基百科,很抱歉)。这种架构家族也称为移动机器,我自己设计和建造了一些。

有些人认为移动机器作弊是因为机器实际上具有所有常规指令,只是它们是内存映射的,而不是操作码的一部分。但是移动机器不仅是理论上的,而且是实用的(就像我说的,我已经自己建立了一些机器)。Maxim甚至有一个商用的CPU系列:MAXQ。如果看一下MAXQ指令集(由于实际上只有一条指令,所以我们将其称为传输集,我通常将其称为寄存器集),您会发现MAXQ汇编看起来很像基于标准累加器的体系结构。

2020-07-28