アキュムレータ (コンピュータ)
アキュムレータという名称は、accumulate(累算する)に由来する。
ごく古いコンピュータでは、命令セットでアキュムレータをオペランドとして明示的に指定することなく使っている。このようなマシンをアキュムレータマシンと呼ぶ。例えば、次のような命令である。
この命令は、memaddress のメモリ位置にある内容を読み出し、それをアキュムレータ上の値と加算し、結果をアキュムレータに格納する。命令上はアキュムレータは全く指定されていないが、この命令は暗黙のうちに必ずアキュムレータを使用する。
1940年代のコンピュータについての資料である、フォン・ノイマンとGoldstineによる文献に次のようにある。
「我々の算術器官の第一の部品は...並列記憶器官であり、数を受け取ってそれを既に格納している数に加算する。また、その内容をクリアすることもでき、内容を他に格納することもできる。我々はこのような器官をアキュムレータと呼ぶ。これは計算機械としては昔からある原理であり、机上乗算器やIBMのカウンタやリレー計算機やENIACなどで採用されている」
(現代風に解釈すれば)実行可能な命令は次のような操作をおこなう。
アキュムレータをクリアし、メモリ位置 x にある数を加算する。
アキュムレータをクリアし、メモリ位置 x にある数を減算する。
メモリ位置 x にある数をアキュムレータの内容と加算する。
メモリ位置 x にある数をアキュムレータの内容から減算する。
アキュムレータをクリアし、別のレジスタの内容をアキュムレータにシフトさせる。