スタックマシン
現代のほとんどのコンピュータ(命令セットを問わない)とほとんどのコンパイラは、メモリ上のコールスタックを局所変数の格納場所およびサブルーチンからの復帰のための情報格納に使っている。サブルーチンコールのたびに「スタックフレーム」をコールスタック上に作り、そのサブルーチンから呼び出し側に復帰するまで対応するスタックフレームが維持される。コールスタックを特別なアドレスレジスタなどを使ってハードウェアで管理する場合もある。あるいは、コンパイラの呼出規約によって特定の汎用レジスタをコールスタック処理に使う場合もある。
一般にコンピュータは、大域変数とその時点で実行中のプロシージャまたは関数の局所変数への効率的アクセス手段を提供する。一般に呼び出し側のプロシージャまたは関数のスタックフレームを遡ってアクセスする必要性はほとんどなく、ハードウェアが直接そのような手段を提供することもない。必要ならば、スタックフレーム内にあるフレームポインタで遡ることもできる。
バロース B5000 ではハードウェアでスタックフレームを遡る手段を提供しているが、これは動的な入れ子構造ではなく、プログラムの静的な入れ子構造(変数のスコープ)を辿るものである。その後このような機能をハードウェアで実装した例はない。ニクラウス・ヴィルトは CDC 6000 シリーズ向けにPascalコンパイラを開発した際、フレームポインタを配列に格納して常に更新するよりも、コールスタック上のフレームポインタを遡ってたどった方が全体として高速だということを発見した。
ハードウェアで直接実行されるスタックマシン型命令セットの例を挙げる。
GreenArrays, Inc. の GA144 マルチコンピュータチップ
バロース B5000 アーキテクチャ(1961年から)
English Electric KDF9(英語版) (1964 : 出荷開始が1963年とする文献)。レジスタで16段のスタックを実装。
Collins Radio のミニコンピュータ Collins Adaptive Processing System (CAPS, 1969) と Rockwell Collins の Advanced Architecture Microprocessor (AAMP, 1981)
UCSD Pascal p-machine をハードウェアで実装したもの(Pascal MicroEngineなど)
MU5と ICL 2900 シリーズ。スタックマシンとアキュムレータマシンのハイブリッド方式。アキュムレータはスタックトップの値をバッファする。
タンデムコンピューターズ T/16
HP 3000 (PA-RISC ではなく、それ以前の CISC)
Atmel MARC4 マイクロコントローラ
Forth言語を実装したチップ。RTX2000、F21、PSC1000など。
Bernd Paysan による4つのスタックを持つマシンの提案
"Ignite" スタックマシン。チャールズ・ムーアがアーキテクチャを設計。
Saab Ericsson Space の放射線耐性を強化したマイクロプロセッサ Thor
インモス(英語版) トランスピュータ