演算装置

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。MetaNest (会話 | 投稿記録) による 2012年1月3日 (火) 22:40個人設定で未設定ならUTC)時点の版 (→‎ALUの動作)であり、現在の版とは大きく異なる場合があります。

ALUを表す記号。AとBは入力(オペランド)でRが演算結果。Fは制御部からの入力で、Dは出力ステータス。

演算論理装置(えんざんろんりそうち)は、ALU(Arithmetic Logic Unit)とも呼ばれ、コンピュータに搭載されるCPUプロセッサ)を構成する部品の1つ。

ALUはCPUの中核である実行ユニットの一部である。 ALUは様々な四則演算論理演算などを処理する。

現在のコンピュータのALUは2の補数表現を使っている(初期のコンピュータには1の補数を使ったり符号-仮数部形式を使ったりした)。

フォン・ノイマンの提案

1945年、数学者ジョン・フォン・ノイマンEDVACと呼ばれる新しいコンピュータの基礎的レポートでALUの概念を提案した。1946年、彼はその提案を発展させてプリンストン高等研究所(IAS)でコンピュータの設計に従事し、そのIASマシンが後の多くのコンピュータの原型となった。その提案の中で、ALUなどの彼が必要と信じたものについて概説したのである。フォン・ノイマンは、コンピュータを四則演算を含む基本的な数学の計算をするものと定義し、そのための専用の器官(ALU)が必須であると述べた。

ALUの動作

多くのALUは以下のような動作をする。

典型的なALUでは整数の除算浮動小数点数の処理を行わない。これらの演算の処理を行う方法としては以下のようなものがある。

入力と出力

ALUは入力として処理すべきデータ(オペランドと呼ぶ)を受け取り、制御装置からのコードで実行すべき処理(演算)の種類を認識する。 出力はその演算の結果である。

多くのALUのデザインでは、入力としてステータスレジスタ上の条件フラグを取ってきたり、逆に演算の結果としてステータスレジスタの条件フラグを変更したりする。 例えば、キャリーを入力としたり、キャリーを出力したり、算術オーバーフローをステータスレジスタに表示したり、ゼロ除算をステータスレジスタに表示したりといったことを行う。

関連項目