CPUはマイコンの中枢ですが、さらにその中で演算を行うユニットがALU(Arithmetic and Logic Unit)です。マイコンの核に相当するといってもよいでしょう。実際の算術演算、論理演算はALUで行われます。今回は、ALUの中身がどうなっているかを説明します。
ALUの中身を理解するには、自分で作ってみるのが一番です。そこで、まず加算器を作って、そこから簡単な論理設計をしてALUを作ってみましょう。今回は、論理演算のOR、AND、反転(インバート)と、算術演算の加算、減算ができるALUを作ってみましょう。
最初にAND、OR、XORのような論理演算の復習をしましょう。学生時代を思い出してもらって、集合を勉強したときのベン図を思い浮かべてください。
ベン図は本来、「集合」の勉強で使う手法ですが、論理演算のときも使えて、視覚で理解できるので便利です。
2つの円が論理演算の入力値、塗りつぶされる部分が出力値を意味すると思ってください。すると、ANDは2つの円の共通部分、ORは2つの丸の全部分、排他的論理和は共通しない部分の全部です。マイコンで使われているCMOS回路では、この他にANDを反転したNANDやORを反転したNORが使われます。これらをベン図で表すと図1のようになります。
マイコンでは論理演算の真を1、偽を0で演算します。そしてベン図ではなく真理値表*)で表します。ANDの場合は入力の両方が1の場合に1が出力され、ORはどちらかが1ならば1が出力されます。XORはどちらか一方だけが1の時に1が出力されます。これらを真理値表で記述すると図2になります。
*)真理値表:すべての入出力の結果を表にしたもののこと
では、算術演算の加算、減算ができるALUを作りましょう。
Copyright © ITmedia, Inc. All Rights Reserved.