ALU(算術論理ユニット)がその機能ロジックと数値計算の手順に関連するすべての処理を実行する電子回路です。コンピューターの中央処理装置(CPU)の必須コンポーネントとして記載されています。
最近のCPUには、非常に強力で複雑なALUが含まれています。一部のCPU構造では、ALUは演算ユニットと論理ユニットに分かれています。ALUに加えて、今日のCPUには制御ユニットが含まれています。
出典:CC BY-SA 3.0、https://commons.wikimedia.org/w/index.php?curid = 168473
CPUのほとんどの操作は、データが入力レジスタからロードされるときに、1つ以上のALUによって実行されます。レジスタは、CPUの一部として格納する小さな空き領域です。
コントロールユニットは、その情報を使用して実行するプロシージャをALUに通知し、その結果を出力レジスタに保存します。制御ユニットは、レジスタ、ALU、およびメモリ間の情報の転送を実行します。
手順がより複雑になると、ALUはより多くのCPUスペースを占有し、コストがかかり、発熱量も増加します。
ALUによって実行される操作
ALUは、主にビットシフト演算を含む論理演算および数学演算の実行に特化しています。これらは、CPUが処理するほとんどすべてのデータに対して実行する必要がある基本的なプロセスです。
論理演算ユニットは、CPUが必要とするすべての計算を実行するCPUのコンポーネントです。基本的な算術演算と論理演算を実行するため、コンピュータの「計算」部分です。
手順の多くは論理的な性質のものです。ALUの設計によれば、CPUにより多くの能力を与えることができます。しかし、それはまた、あなたがより多くのエネルギーを使用し、より多くの熱を生成することにもなります。
ALUによって実行されるさまざまな操作は、次のように分類できます。
論理演算
AND、OR、NOT、XOR、NOR、NANDなどのさまざまな論理演算を次に示します。
算術演算
ビットの加算と減算を指します。乗算と除算が使用されることもありますが、これらの演算は実行にコストがかかります。
反復加算は乗算の代わりに使用でき、反復減算は除算の代わりに使用できます。
ビットシフト操作
これは、特定の数のビット位置を右または左にシフトすることを指します。これは、乗算演算と見なされます。
算術および論理ユニット
算術演算装置では、一連の加算または減算演算とビットのシフトによって乗算と除算が実行されます。負の数を表す方法はいくつかあります。
論理ドライブでは、16の可能な論理操作のいずれかを実行できます。たとえば、2つのオペランドを対比したり、ビットが一致しない場所を認識したりします。
ALUアーキテクチャ
ALUは、プロセッサ制御ユニット、メインメモリ、および入出力デバイスへの入力と出力の両方に直接アクセスできます。
入力および出力データは、バスと呼ばれる電子パスを介して送信されます。入力は、1つ以上のオペランド、オペレーションコード、場合によってはフォーマットコードを含む命令に対応します。
演算コードは、その演算に関連するオペランドに加えて、ALUが実行すべきアクションをALUに示します。たとえば、2つのオペランドを減算または比較するように指示できます。
出力は、ストレージレジスタに配置される結果と、操作が成功したかどうかを示す構成で構成されます。そうでない場合、ある種の状態がマシン状態に保存されます。
ビットストリームと、ALUサブユニットでビットストリームに対して実行される操作は、ゲート回路によって制御されます。
これらの回路では、シーケンスロジックユニットは、各オペレーションコードに対応する特定のシーケンスを介してゲートを制御するユニットです。
論理ゲート
コンピュータ内のすべての情報は2進数、つまり0と1の形式で格納および処理されます。スイッチには2つの状態しかありません。オープンまたは閉まっている。
電流が通過しないオープントランジスタは0を表します。電流が通過するクローズトランジスタは1を表します。
複数のトランジスタを接続することで、動作を実現できます。1つのトランジスタを使用して、2番目のトランジスタを駆動できます。たとえば、1つのトランジスタのスイッチは、2番目のトランジスタの状態に応じてオンまたはオフになります。
この配置は電流を許可または停止するために使用できるため、これはゲートと呼ばれます。
ゲートは、ALUの構成要素です。これらは、ダイオード、抵抗器、またはトランジスタで構成されています。これらのゲートは、バイナリ入力を「オン」および「オフ」状態として表すために集積回路で使用されます。
ALUは、組み合わせ回路を介して構成されます。この回路では、AND、OR、NOTなどの論理ゲートを使用してその構成を確認します。
ANDゲート
ANDゲートには2つ以上の入力があります。ANDゲートの出力は、すべての入力が1の場合1です。ANDゲートは、入力データのいずれかが0の場合0を返します。
ORゲート
ORゲートは2つ以上の入力を持つことができます。ORゲートの出力は、いずれかの入力が1の場合は常に1になり、すべての入力が0の場合は0になります。
ゲートではない
最も単純なタイプの演算はNOTゲートです。単一のトランジスタのみを使用します。単一の入力を使用し、単一の出力を生成します。これは常に入力の反対です。
NOTゲートは、ゲートの結果を反転するか、ブール状態を0から1および1から0に反転するために使用されます。「AND」および「OR」ゲートとともに使用されます。
ANDまたは "OR"ゲートと組み合わせて使用すると、NOTゲートは両方のゲートの前にある小さな円で表されます。
NOTゲートを使用した後、ANDゲートはNANDになり、「OR」ゲートはNORになります。
記録
これらは、命令、中間データ、入力オペランド、追加されるオペランド、アキュムレータに格納される累積結果、および最終結果を格納するためのALUの非常に重要なコンポーネントです。
レジスタは、キャッシュ、RAM、ハードディスクと比較して、メモリへの非常に高速なアクセスを提供します。彼らはCPUに内蔵されており、小さいです。
参考文献
- ポール・ザンドベルゲン(2019)。算術論理演算ユニット(ALU):定義、設計、機能。調査。study.comから取得。
- Techopedia(2019)。算術論理演算ユニット(ALU)。取得元:ceilingpedia.com。
- マーガレット・ラウズ(2019)。算術論理装置(ALU)。Techtarget。取得元:whatis.techtarget.com。
- Dinesh Thakur(2019)。算術論理演算ユニット(ALU)とは何ですか?-定義と意味。電子計算機ノート。取得元:ecomputernotes.com。
- ウィキペディア、無料の百科事典(2019)。算術論理演算装置。取得元:en.wikipedia.org。