コンピュータの内部には、足し算、引き算などの算術演算に加えて、AND、OR、Ex-OR、Invertなどの論理演算が可能なALU(Arithmetic Logic Unit)があります。 制御部は、ALUが必要とするデータをメモリや入力デバイスから供給し、メモリからフェッチされた命令に基づいてALUに特定の演算を行うよう指示する。
算術論理演算装置(ALU)は、コンピュータシステムの中央処理装置の主要コンポーネントです。 ALUは、命令語に対して行われる必要のある算術演算や論理演算に関するすべての処理を行います。
ALUは、技術者がさまざまな演算を行うように設計することができます。
ALUは技術者によって設計され、さまざまな演算を行うことができますが、演算が複雑になればなるほど、ALUは高価になり、また、CPUのスペースや放熱量も増えていきます。
ALUはInteger Unit(IU)とも呼ばれます。 算術論理演算装置は、CPUが必要とする可能性のあるすべての計算を処理するCPUの部分です。 これらの演算のほとんどは論理的な性質を持っています。 ALUの設計次第では、CPUをより強力にすることができますが、その反面、消費電力や発熱量が多くなります。 したがって、ALUがどれだけ強力で複雑であるかと、ユニット全体がどれだけ高価になるかのバランスをとる必要があるのです。
ALUによって実行されるさまざまな演算は、次のように分類できます –
-
論理演算 – AND、OR、NOT、XOR、NOR、NANDなどの演算が含まれます。
-
ビットシフト演算 – ビットの位置を右または左に一定の数だけ移動させることで、乗算や除算とみなされます。
-
算術演算 – ビットの加算や減算を指します。 乗算や除算が使われることもありますが、これらの演算はよりコストがかかります。 乗算や減算は、それぞれ足し算や引き算を繰り返すことでもできます。