第1章 パソコンの基礎知識
1-2 CPU
1-2-2 機械語命令

1-2-2-@ 論理演算

 論理演算とは、与えられた命題に対して、ある一定のルールに基づき、その真偽を求める演算のことです。コンピュータは、0と1ですべての処理を行いますが、倫理演算の真偽は、1が真0が偽という形で割り当てられます。

 こうした論理演算を行う回路を論理回路といい、論理回路を構成する基本的な単位をゲート(論理素子)といいます。論理設計で使用される回路図では、論理回路をMIL記号と呼ばれる記号で表現します。

  1. AND(論理積)
     XとYという2つの値が与えられたとき、そのAND演算の結果は、2つの値のうちどちらも1のとき1になり、それ以外で0となります。ANDの演算子は、「・」で表され、XとYのANDは「X・Y」と表現されます。

    AND演算の真理値表
    X Y X・Y
  2. OR(論理和)
     XとYいう2つの値が与えられたとき、そのOR演算の結果は、2つの値のうちどちらかが1のとき1になり、それ以外では0となります。ORの演算子は、「+」で表され、XとYのORは「X+Y」と表現されます。

    OR演算の真理値表
    X Y X+Y
  3. NOT(否定)
     NOT演算は、1つの値に対して1つの値を出します。0のときは1になり、1のとき0となります。NOTの演算子は、「 ̄」で表され、XのNOTは「 ̄」と表現されます。

    NOT演算の真理値表
    X

1-2-2-A 算術演算

 算術演算は2つ以上の値に対して四則演算(加算、減算、乗算、除算)を行うものですが、これらの四則演算は論理演算がベースとなっています。

  1. 半加算
     AとBという2つの値が与えられたとき、AとBを加算した値を出します。加算した値は、「0+0=0」「0+1=1」「1+0=1」「1+1=10」となります。このような回路を「半加算器」(HA=Half Adder)といいます。下の図では、Sが桁の値、Cが桁上がりの値となります。



    半加算器の真理値表
    A B S C
    1(桁上がり)

  2. 全加算
     半加算器は、2ビット以上の桁を持つ値の加算には使用できません。これは、下位の桁からの桁上がりに対応できないためです。そこで考え出されたのが、下位の桁からの桁上がりも考慮にされた「全加算器」(FA=Ful Adder)です。全加算器では、加算を行うAとBの各桁の値に、下位の桁からの桁上がりが入力として加わります。下の図では、Ciが下位の桁からの桁上がり、Sが桁の値、Cが桁上がりの値となります。



    全加算器の真理値表
    A B Ci S C
  3. 複数桁の加算回路
     複数桁(複数ビット)の加算回路は、全加算と半加算の組み合わせによって実現されます。最下位の桁はその下からの桁上がりがないので半加算器、2番目以降の桁については桁上がりを考慮して全加算器となります。

     たとえば、下の図のようにA(4ビット)とB(4ビット)の加算回路では、1個の半加算回路と3個の全加算回路から構成されています。



1-2-1 CPUの主な働き
1-2-2 機械語命令
1-2-3 キャッシュメモリの仕組み