メディア

CPUの中枢「ALU」を作ってみようマイコン入門!! 必携用語集(6)(4/4 ページ)

» 2013年08月09日 09時50分 公開
[菅井 賢,STマイクロエレクトロニクス]
前のページへ 1|2|3|4       

OR回路

 ORを作るには、OR1とNAN2とINV1を組み合わせます。そこで、sという信号を使います。s=0にすると、NAN1の出力が1に固定になります。これは、NAN2の入力ですので、NAN2の入力が1に固定になり、NAN2はインバータと同じ働きになります。OR1とNAN2の複合ゲートはNAN2がインバータになるので、NORになります。

 そして、このNORとINV1でORができます。そこで、SW1をoに切り替えるとSはI1とI0のORになります。

 図10を見てください。この図でも、図8でOR回路を構成する要素だけ黒色にしてハイライトしましたので、分りやすいと思います。

【図10】ORの論理回路 (クリックで拡大)

図10の解説

s=0, S0=0にすると、 NAN2の入力が1になり、NAN2はインバータと同じになります。OR1とNAN2のインバータとINV1でORができます。S0=0 , S1=0, S2=1にすると SW0でp、SW1でoのINV1を選択するので、SはI0とI1のORになります



反転(インバート)回路

 最後に反転(インバート)回路を作ります。皆さんはもうお分かりだと思いますが、減算器のところでi1にインバータを追加しましたので、これをそのまま使います。I1を反転させて、I0に0を入力して加算すれば、I1の反転した値が得られます。

制御信号S0〜S2とs

 演算機能を切り替えるためにS0、S1、S2、sの4つの信号が使われることが分ります。これらの信号は、フラッシュメモリから読み出した命令を翻訳(デコード)したデコーダから、演算の種類(加算、減算、AND、OR、反転)に合った信号の値になってALUに送られます。これらの信号によってALUはさまざまな演算器に切り替えられます。

 図8に示した回路をn個つなぎ合わせることによって、nビットのALUを作ることができます。

その他の回路

 実際のALUには、この他にもさまざまな回路が付いています。例えば、桁上がりの多い場合に、桁上がりの演算だけを高速に処理するキャリー・ルックアヘッド回路や、何も演算しないで通過させる回路、I0の値を1に固定したり0に固定したりする回路。少し高級なマイコンだとALUの中に乗算回路を組み込ませる場合もあります。これらの回路は章を改めて説明したいと思います。

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.