2. 불 대수
|
학습목표 |
1. 불 대수의 기본 연산인 덧셈과 곱셈을 계산할 수 있다.
|
1) 불 대수의 기본 연산
불 대수 : 논리 게이트의 동작을 수학적 표시법으로 표현한 것.
[1] 불 대수의 덧셈
논리합을 수행하는 불 대수의 덧셈은 2진수의 0과 1의 덧셈으로서, 불 대수의 덧셈 규칙은 표 2-8과 같다.
|
[표 2-8] 0+0=0 0+1=1 1+0=1 1+1=1 |
[2] 불 대수의 곱셈
논리곱을 수행하는 불 대수의 곱셈은 2진수의 0과 1의 곱셈으로서, 불 대수의 곱셈 규칙은 표2-9와 같다.
|
[표2-9] 0·0=0 0·1=0 1·0=0 1·1=1 |
|
-논리식과 불 대수값의 표현- 논리식이나 불 대수의 값을 표현할 때에 참은 1로, 거짓은 0으로 표현하며, 일반적으로 컴퓨터 내부에서 1은 +5V로, 0은 0V의 전압으로 표현된다. |
2) 논리 게이트
[1] 기본 논리 게이트
논리 게이트 : 0 또는 1로 입력되는 2진 정보를 처리하는 논리 회로로서, 2개 이상의 입력 단자와 하나의 출력 단자로 구성된다.
(1) AND 게이트
: 논리곱을 수행. 2개 이상의 입력과 1개의 출력으로 구성. 모든 입력이 1일 경우에만 출력이 1이 되고, 그 밖의 입력의 경우에는 출력이 0이 된다. 논리곱의 연산자는 곱하기 기호(·)로 표시하기도 하고, 곱하기 기호를 생략하기도 한다.
[그림2-7] AND 게이트의 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
Y=A·B =AB |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
0 |
1 |
0 |
0 |
||
|
0 |
1 |
0 |
1 |
1 |
1 |
||
(2) OR 게이트
: 논리합을 수행. 2개 이상의 입력과 1개의 출력으로 구성. 입력 중에서 하나 이상의 입력이 1이 되면 출력이 1이 되고, 모든 입력이 0이 되면 출력은 0이 된다. 논리합의 연산자는 더하기 기호(+)로 표시
[그림2-8] OR 게이트의 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
Y=A+B |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
0 |
1 |
0 |
1 |
||
|
0 |
1 |
1 |
1 |
1 |
1 |
||
(3) NOT 게이트
: 논리역(또는 보수, 논리 부정)을 수행. 1개의 입력과 1개의 출력으로 구성. 입력이 1이면 출력이 0이되고, 반대로 입력이 0이면 출력이 1이 되며, 논리 역을 표시할 때에는 바 기호(-), 또는 인용문 기호(')로 표시
[그림2-9] NOT 게이트의 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||
|
|
|
입력 |
출력 |
입력 |
출력 |
|
A |
Y |
A |
Y |
||
|
0 |
1 |
1 |
0 |
[2] 기타 논리 게이트
(1) NAND 게이트
: AND 게이트와 NOT 게이트를 조합. 논리곱의 보수를 수행. 2개 이상의 입력과 1개의 출력으로 구성. AND 게이트의 논리역이 출력.
입력 중에 하나 이상의 입력이 0이면 출력이 1이 되고, 모든 입력이 1이 되면 출력은 0.
|
|
+ |
|
= |
|
[그림2-10] NAND 게이트의 논리 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
Y=(AB)' =A'+B' |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
1 |
1 |
0 |
1 |
||
|
0 |
1 |
1 |
1 |
1 |
0 |
||
(2) NOR 게이트
: OR 게이트와 NOT 게이트를 조합. 논리합의 보수를 수행. 2개 이상의 입력과 1개의 출력으로 구성. OR 게이트의 논리역이 출력. 입력 중에 하나 이상의 입력이 1이면 출력은 0이 되고, 모든 입력이 0이면 출력은 1.
|
|
+ |
|
= |
|
[그림2-11] NOR 게이트의 논리 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
Y=(A+B)' =A'B' |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
1 |
1 |
0 |
0 |
||
|
0 |
1 |
0 |
1 |
1 |
0 |
||
(3) XOR 게이트와 XNOR 게이트
- XOR 게이트 : 배타적 OR 게이트
- XNOR 게이트 : 배타적 NOR 게이트
- 비교 기능을 수행할 수 있는 게이트
(가) XOR 게이트
: 2개의 입력과 1개의 출력으로 구성. 연산자는 '
'로 표시. 2개의 입력이 서로 다른 상태이면 출력이 1이 되고, 2개의 입력이 같은 상태이면 출력이 0.
[그림2-12] XOR 게이트의 논리 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
=A'B + AB' |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
0 |
1 |
0 |
1 |
||
|
0 |
1 |
1 |
1 |
1 |
0 |
||
(나) XNOR 게이트
: 2개의 입력과 1개의 출력으로 구성. 연산자는 '
'로 표시. 2개의 입력이 다른 상태이면 출력이 0이 되고, 2개의 입력이 같은 상태이면 출력이 1.
[그림2-13] XNOR 게이트의 논리 기호 및 진리표
|
(a) 논리 기호 |
(b) 논리 식 |
(c) 진리표 |
|||||
|
|
=A'B' + AB |
입력 |
출력 |
입력 |
출력 |
||
|
A |
B |
Y |
A |
B |
Y |
||
|
0 |
0 |
1 |
1 |
0 |
0 |
||
|
0 |
1 |
0 |
1 |
1 |
1 |
||
------------마무리하기------------
1. 입력이 3개(A,B,C)인 AND 게이트와 OR 게이트의 논리 기호와 진리표를 구해보자.
2. XOR 게이트와 XNOR게이트는 비교 기능을 수행하는 데에 사용한다고 하였는데, 그 이유는 무엇인가?
3. 논리 게이트의 두 입력에 다음과 같은 파형이 입력되었을 때, 모든 논리 게이트의 출력 파형을 구해 보자. 다만, NOT 게이트의 입력은 x파형만 입력된다.
3) 논리식의 간소화
[1] 불 대수의 기본 정리
[표2-10] 불 대수의 기본 정리
|
논리합의 기본 정리 |
논리곱의 기본 정리 |
|
x+0=x |
x·1=x |
|
x+x'=1 |
x·x'=0 |
|
x+x=x |
x·x=x |
|
x+1=1 |
x·0=0 |
|
(x')'=x |
|
|
x+y=y+x |
x·y=y·x |
|
x+(y+z)=(x+y)+z |
x·(y·z)=(x·y)·z |
|
x·(y+z)=x·y+x·z |
x+y·z=(x+y)·(x+z) |
|
(x+y)'=x'·y' |
(x·y)'=x'+y' |
|
x+x·y=x |
x·(x+y)=x |
다만, 논리곱 연산자(·)는 생략할 수 있음.
[2] 불 대수의 표현
: 불 대수는 2진 변수, 2진 연산자(OR, AND, NOT), 괄호, 등호 등을 사용하여 표현.
[표2-11] F1, F2, F3에 대한 진리표(예)
|
입력 |
출력 |
||||
|
x |
y |
z |
F1 |
F2 |
F3 |
|
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
1 |
1 |
F1=x+y'z
F2=x'yz+x'yz'+xz
F3=x'y+xz
[그림 2-14] F2와 F3의 논리 회로
|
▶예제 F2를 불 대수의 기본 정리를 이용하여 간소화하면 다음과 같다. F2=x'yz+x'yz'+xz 위의 논리식을 보면 F2의 간소화된 결과는 F3과 같다. |
[3] 불 대수의 간소화
- 불 대수의 각 변수(문자)는 논리 회로를 구성하는 게이트의 입력이 되며, 각각의 항은 하나의 게이트로 표시.
- 논리 회로의 간소화 : 논리 회로를 구성하는 게이트의 수와 게이트의 입력을 나타내는 변수의 수를 줄이는 것.
- 논리 회로를 직접 간소화하는 것은 매우 어렵기 때문에, 논리 회로를 논리식으로 표현한 뒤에 불 대수의 기본 규칙을 이용하여 간소화하는 것이 효과적이다.
|
▶예제 다음 불 대수를 간소화하여 보세요. x+x'y=x(y+y')+x'y x(x'+y)=xx'+xy xy+x'z+yz=xy+x'z+yz(x+x') |
-----------마무리 하기-----------
1. 다음 불 대수가 성립하는지 증명하여 보세요.
(1) xyz+xyz'+z'y=y
(2) x'yz+xz=yz+xz
(3) x'yz+xy'z'+xyz'+xyz=yz+xz'
2. 다음 불 대수를 간소화하여 보세요.
(1) x'y'z'+x'yz'+xy'z'+xy'z+xyz'
(2) x'yz+x'yz'+xy'z'+xy'z