← コンピュータアーキテクチャのシラバスへ
←講義のツボメニューへ

第11回、第12回
【2003,11,6】

6 論理式/論理演算


6,1 論理とは何か

一般に論理とは”論議の筋道”や”正しい思考の進め方”の意味で使われる。コンピュータの場合の論理とは、
2値論理またはブール代数の意味で使う。2値を一般化すると真と偽や長と短など対立する概念2種類でさえあれば
何でも良い。2種類の信号を”1”と”0”とすると表記上便利である。そこでこれを代数の1種のように見て
ブール代数または論理式とも呼ぶ。

6,2 論理式・論理信号

1と0とのどちらかの値しかとらない信号(=論理信号) : x、y、z等
論理信号の処理の基本 : AND、OR、NOT
処理状況の基本 : 論理回路図または論理式

論理式の場合、ANDが算術演算における積、ORが加算と同じ記号を用いるがどうしても算術記号と混合するので注意

6,3 論理機能の作り方

ある機能を持つ論理ゲート回路を設計しようとするとき、まずその機能の入力と出力の関係を関数表にする。
次にそれをみて回路図を書いても良いが、普通は論理式にする。論理式にすることで式を簡略化できる。
これにより簡単な回路図に仕上がる。

具体例はテキストのP33参照

6,4 論理演算におけるいくつかの関係式

x ・ x = x(1)
x + x = x(2)
x ・ x = 0(3)
x + x = 1(4)補完則
x ・ y = y ・ x(5)可換則
x + y = y + x(6)可換則
x(y ・ z) = (x ・ y)z(7)結合則
x + (y + z) = (x + y) + z(8)結合則
x ・ y + x ・ z = x(y + z)(9)分配則
(10)と(11)のド・モルガン則は表現できないのでテキストのP34参照
x + x- ・ y = x + y(12)

6,5 論理演算とコンピュータ(加算回路)の関係

コンピュータの加算回路を考えるときは論理演算が基礎となっているのは何故か?
それはコンピュータの数値演算が10進数ではなく2進数を使っていることに起因している。
2進数は0と1だけを扱う。また論理演算も0と1だけ扱う。
この点での表面的類似性のために2進数を扱う「道具」として論理演算が利用されている。
しかし、注意しなければならないのは2進数は数値演算あり、論理演算は数値を扱うものではない点を注意する。
似ているのは表面的な形であって、1と0との意味は両者で異なる。具体的には2進はであり、論理演算は信号である。

7 2進数での演算(数値演算)


7,1 CPU内での2進回路の位置づけ

普通CPUには1組の2進加算回路がある。CPUにある多数のレジスタがこの1組の加算回路を共用する。
その状況をしめす具体例としてSEP-2(Shizuoka Educational Processor)があるがこのCPUの概要の図示はテキストのP35参照

7,2 2進加算回路の構成

テキストにあるSEP-2の図示よりALUは16ビット2進加算の他に、減算動作、インクリメント動作、論理演算動作(AND,OR,XOR)等の
多くの演算を多くの演算を実行できるようになっている。ALUは後ほどとし、ここでは2進加算回路にしぼって説明する。
2進加算を実際に紙と鉛筆を使ってみてわかるように、4ビット2進であろうが、16ビット2進であろうが各ビットごとに
加算する動作は全く同じことの繰り返しである。これより、16ビット2進加算回路は1ビット2進加算回路を16個繰り返し
接続すればできあがる。具体的な構成はテキストのP36を参照

7,3 2進加算回路

テキストにも図示しているがFAf〜FA0が16ビット2進加算回路である。(FA : Full Adder)
各ビットとも同じ回路FAを繰り返し使用している。そこでこれから1個のFAの内部の回路を調べる。FAは言うまでもなく
論理回路素子、AND,OR,NOTの組合わせでできている。すなわち、論理回路素子を組み合わせて2進算術加算回路をつくる。
FAには8つの入力パターンが有るが具体的な図はテキストのP36を参照


← コンピュータアーキテクチャのシラバスへ