メインメニューを開く

差分

スタックマシン

1,395 バイト追加, 2023年3月15日 (水) 06:06
ページの作成:「'''スタックマシン'''とは、スタックと呼ばれる一時的なメモリ空間を使って、命令を実行するコンピュータアーキテクチ…」
'''スタックマシン'''とは、[[スタック]]と呼ばれる一時的な[[メモリ]]空間を使って、命令を実行するコンピュータアーキテクチャの一種です。

== 概要 ==
スタックは、最新の値が常に先頭に置かれ、新しい値がプッシュされるとスタックの先頭が移動し、ポップされると先頭が戻るという仕組みを持っています。

スタックマシンでは、通常、命令はスタックの先頭にある値に対して操作を行います。例えば、2つの数値を足す命令を実行する場合、スタックの先頭にある2つの値をポップして加算し、結果を再度スタックにプッシュすることで計算を行います。

== 利点と欠点 ==
スタックマシンは、[[プログラム]]が比較的簡単で、コンパクトな[[バイトコード]]として表現できるため、プログラムの解析や翻訳に適しています。

一方でスタックマシンは[[スタック]]の操作に時間がかかるため、一般的には同世代の[[レジスタマシン]]よりも処理速度が遅くなる傾向があります。

ただ同世代では不利であってもスタックマシンは「[[CPU]]が進歩した際」に新たに追加された機能を使った最適化(高速化)がしやすいという特徴があります。