第1章 パソコンの基礎知識
1-2 CPU
1-2-2 機械語命令
1-2-2-@ 論理演算
論理演算とは、与えられた命題に対して、ある一定のルールに基づき、その真偽を求める演算のことです。コンピュータは、0と1ですべての処理を行いますが、倫理演算の真偽は、1が真、0が偽という形で割り当てられます。
こうした論理演算を行う回路を論理回路といい、論理回路を構成する基本的な単位をゲート(論理素子)といいます。論理設計で使用される回路図では、論理回路をMIL記号と呼ばれる記号で表現します。
- AND(論理積)
XとYという2つの値が与えられたとき、そのAND演算の結果は、2つの値のうちどちらも1のとき1になり、それ以外で0となります。ANDの演算子は、「・」で表され、XとYのANDは「X・Y」と表現されます。
AND演算の真理値表
| X |
Y |
|
X・Y |
| 0 |
0 |
|
0 |
| 0 |
1 |
|
0 |
| 1 |
0 |
|
0 |
| 1 |
1 |
|
1 |
- OR(論理和)
XとYいう2つの値が与えられたとき、そのOR演算の結果は、2つの値のうちどちらかが1のとき1になり、それ以外では0となります。ORの演算子は、「+」で表され、XとYのORは「X+Y」と表現されます。
OR演算の真理値表
| X |
Y |
|
X+Y |
| 0 |
0 |
|
0 |
| 0 |
1 |
|
1 |
| 1 |
0 |
|
1 |
| 1 |
1 |
|
1 |
- NOT(否定)
NOT演算は、1つの値に対して1つの値を出します。0のときは1になり、1のとき0となります。NOTの演算子は、「 ̄」で表され、XのNOTは「 ̄」と表現されます。
1-2-2-A 算術演算
算術演算は2つ以上の値に対して四則演算(加算、減算、乗算、除算)を行うものですが、これらの四則演算は論理演算がベースとなっています。
- 半加算
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 |
| 0 |
0 |
|
0 |
0 |
| 0 |
1 |
|
1 |
0 |
| 1 |
0 |
|
1 |
0 |
| 1 |
1 |
|
0 |
1(桁上がり) |
- 全加算
半加算器は、2ビット以上の桁を持つ値の加算には使用できません。これは、下位の桁からの桁上がりに対応できないためです。そこで考え出されたのが、下位の桁からの桁上がりも考慮にされた「全加算器」(FA=Ful Adder)です。全加算器では、加算を行うAとBの各桁の値に、下位の桁からの桁上がりが入力として加わります。下の図では、Ciが下位の桁からの桁上がり、Sが桁の値、Cが桁上がりの値となります。
全加算器の真理値表
| A |
B |
|
Ci |
S |
C |
| 0 |
0 |
|
0 |
0 |
0 |
| 0 |
1 |
|
0 |
1 |
0 |
| 1 |
0 |
|
0 |
1 |
0 |
| 1 |
1 |
|
0 |
0 |
1 |
| 0 |
0 |
|
1 |
1 |
0 |
| 0 |
1 |
|
1 |
0 |
1 |
| 1 |
0 |
|
1 |
0 |
1 |
| 1 |
1 |
|
1 |
1 |
1 |
- 複数桁の加算回路
複数桁(複数ビット)の加算回路は、全加算と半加算の組み合わせによって実現されます。最下位の桁はその下からの桁上がりがないので半加算器、2番目以降の桁については桁上がりを考慮して全加算器となります。
たとえば、下の図のようにA(4ビット)とB(4ビット)の加算回路では、1個の半加算回路と3個の全加算回路から構成されています。