スタック
ハードウェアによるスタックの実装法には、主に次の2つがある。
シフトレジスタ等により、ハードウェア的に直接、プッシュ・ポップできるようにしたもの
メモリ上の領域と、スタックポインタによるもの
前者は、たとえば4004の「3段のスタック」がそのようなものである。後者は多くのコンピュータが持っている。以下これについて述べる。
スタックを使った式評価方法を最初に提案したのはドイツの初期のコンピュータ科学者フリードリッヒ・L・バウアーであり、その業績により1988年、IEEE Computer Societyからコンピュータパイオニア賞を受賞した。
スタック(英: stack)は、コンピュータで用いられる基本的なデータ構造の1つで、データを後入れ先出し(LIFO: Last In First Out; FILO: First In Last Out)の構造で保持するものである。抽象データ型としてのそれを指すこともあれば、その具象を指すこともある。
特にその具象としては、割込みやサブルーチンを支援するために極めて有用であることから、1970年代以降に新しく設計された、ある規模以上のコンピュータは、スタックポインタによるコールスタックをメモリ上に持っていることが多い。