レジスタマシン
↑ Harold Abelson and Gerald Jay Sussman with Julie Sussman, Structure and Interpretation of Computer Programs, MIT Press, Cambridge, Massachusetts, 2nd Ed, 1996
Melzak (1961)、Joachim Lambek (1961)、マービン・ミンスキー (1961, 1967)、John Shepherdson と H. E. Sturgis (1963) が後に続いた。
後者の名前を挙げた順序は、ユーリ・マチャセビッチがリストアップした順序である。彼は、次のように述べている。
「レジスタマシンは特にディオファントス方程式の構築に適している。チューリングマシンのように、それらは非常に基本的な命令しか持たず、さらに数を扱う」(Yuri Matiyasevich (1993), Hilbert's Tenth Problem, commentary to Chapter 5 of the book, at http://logic.pdmi.ras.ru/~yumat/H10Pbook/commch_5.htm )
Lambek、Melzak、ミンスキー、Shepherdson、Sturgis らは、ほぼ同時期に同じ考え方に到達した。
歴史は、Wang のモデルから始まる。
IR はモデル上はアクセスできない。RAM や RASP でレジスタのアドレス指定をする場合、命令テーブルまたはIRの内容で直接指定されるか、IR内の命令で指定されるレジスタの内容で間接指定される。 IR はいわゆる「プログラムカウンタ」(PC)ではない。RASP には PC もあり、これはアキュムレータのようなレジスタであり、現在のレジスタ上の命令を指す。RASP はさらに第三のレジスタ「プログラム命令レジスタ」も持つ場合がある。
ラベル付き命令のリスト、一般に逐次的順序: 有限な命令列 I1, ..., Im。カウンタマシン、RAM、ポインタマシンの場合、命令は有限状態機械内のテーブルに格納される。したがって、これらは一種のハーバード・アーキテクチャであり、命令とデータが明確に分離されている。RASP の場合、プログラムはレジスタに格納される。したがって、RASP はノイマン型アーキテクチャの一種である。一般的なプログラムのように命令は逐次的順序で置かれ、分岐が発生する場合以外は命令は逐次的に実行される。例外として、Lambek (1961) や Minsky (1961) の abacus カウンタマシンモデルがある。この場合、各命令には少なくとも1つの次の命令を指す識別子 "z" があり、条件付き分岐命令ではそれが2つになる。 abacus モデルにはデクリメントと条件付き分岐を1つに組み合わせた命令(JZ + DEC = JZDEC)がある。例えば、{ INC ( r, z ), JZDEC ( r, ztrue, zfalse ) } のようになる。