논리회로
- 입력 신호의 논리 연산을 통해 출력 신호를 생성하는 회로
- 입력 및 출력 신호는 0 또는 1과 같이 2진 신호를 사용함
- 17세기 독일 수학자 고트프리트 라이프니츠(Gottfried Wilhelm Leibniz)가 2진법을 제안
AND 게이트 - 논리곱(Conjunction)
-
모든 입력이 1(참)이면 1(참) 출력
-
-
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- 둘 다 참일 때에만 참
OR 게이트 - 논리합(Disjunction)
-
-
하나라도 1(참)이면 1(참) 출력
입력 입력 출력 X Y F 0 0 0 0 1 1 1 0 1 1 1 1
NOT 게이트 - 부정(Negation)
- 입력을 반전(부정)하여 출력
- 기본적으로 NOT 게이트는 그림에 앞에 동그라미 표시로 나타냄
입력 | 출력 |
---|---|
X | F |
0 | 1 |
1 | 0 |
NAND 게이트 - NOT AND
- AND 게이트에 NOT 게이트를 결합한 것
- AND 게이트의 출력을 반전시킨 것
- AND 그림 앞에 동그라미 표시 추가
- (드모르간의 법칙)
- 드모르간의 법칙에 따르면 위와 같은 형태로도 표현 가능
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
NOR 게이트 - NOT OR
-
OR 게이트의 출력을 반전시킨 것
-
입력 입력 출력 X Y F 0 0 1 0 1 0 1 0 0 1 1 0
XOR 게이트 - 배타적 논리합(Exclusive OR)
-
앞에 스크린 기호가 있음
- 둘 다 1일 때를 배제시키기 위해서 마치 스크린을 단 것 처럼
-
입력이 서로 다를 때만 1(참)을 출력
-
논리적으로 서로 다른 것을 선택하는 연산
-
-
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
XNOR 게이트 - Exclusive NOR
- XOR 게이트의 출력을 반전시킨 것
- 논리적으로 서로 같은 것을 선택하는 연산법칙
-
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
논리합(OR)과 배타적 논리합(XOR)
OR게이트 | XOR게이트 |
---|---|
둘 중 하나라도 참이라면 참 | 입력이 서로 다를 때만 참 |
서로 배타적일 때만 OK |
부울대수 (Boolean Algebra)
-
부울 상수
-
부울 변수
-
부울 집합
-
부울 연산
- AND, OR, NOT..
-
부울의 대수법칙
-
부울식
-
0과 1의 값을 갖는 논리변수와 논리연산을 다루는 대수
-
이진 논리(binary logic)을 기반으로 한 수학적 체계
-
모든 값을 참과 거짓으로 나타내며, 이를 논리 연산으로 조작하는 이론
특징 | 내용 |
---|---|
값의 범위 | 각 변수 및 표현식이 0 또는 1 |
논리 연산 | AND, OR 등의 논리 연산자에 의해 정의 |
이진 논리 | 0과 1 두개의 값만 처리하여 이진수와 직접적 연관이 있음 |
부울식
부울식은 다음과 같이 순환적으로 정의한다.
-
부울상수 0, 1은 부울식이다
-
부울변수는 부울식이다.
-
X, Y가 부울식일 때,
- , , 는 부울식이다.
부울대수의 기본 정리
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(일반적으로 실수에서는 성립하지 않음)
- 분배법칙을 써서 전개해보면
- 이므로
- 흡수법칙이 작용하여 가 된다.
- 분배법칙을 써서 전개해보면
-
-
-
- 흡수법칙
- 어떤 값 X가 있고, 거기에 X와 Y를 AND 연산한 값을 더하면 X가 된다.
-
- 흡수법칙
- 분배법칙을 써서 전개해보면
- (부울대수에서 )
- 가 위에서 증명이 되었으니 X가 된다.
논리와 부울대수의 관련성
항등법칙
지배법칙
멱등법칙
부정법칙
교환법칙
결합법칙
분배법칙
드모르간의 법칙
흡수법칙
쌍대성 원리 및 보수
쌍대성 원리
- 부울식에서 논리곱과 논리합을 서로 바꾸고 논리상수 0, 1을 서로 바꾸면 원래 부울식의 쌍대(dual)를 얻게 됨
- 주어진 부울식과 그것의 쌍대는 진리값이 서로 같다.
- 덧셈에 대한 것만 생각하면 됨
부울함수의 보수
- 부울함수 F의 보수는 로 나타냄
- 드모르간의 법칙 이용하기
- 부울함수 의 보수를 구하시오
-
- 수식 전체를 NOT으로 감싸면 됨
-
- 드모르간의 법칙을 사용해 NOT을 분배, 중간의 논리합을 논리곱(AND)으로 바꿈
-
- 반전의 반전
-
- 부울함수 의 보수를 구하시오
- 쌍대 형태로 변환
-
-
- 각 변수의 보수화
-
-
부울함수 (Boolean Function)
- 부울대수를 기반으로 입력 값의 조함에 따라 참 또는 거짓을 출력하는 함수
- 하나 이상의 부울연산 조합으로 구성
- 논리 변수의 상호 관계를 나타내기 위한 대수적 표현
- 0,1을 어떻게 나타낼 것인지
- 입력받은 논리값을 어떻게 처리할 것인지
- 부울 변수(0 or 1), 부울연산기호, 괄호, 등호 등으로 나타냄
특징 | 내용 |
---|---|
입력 | 하나 이상의 부울변수, 각 변수는 0 또는 1의 값을 가짐 |
출력 | 논리 연산에 따라 결정, 항상 0 또는 1 중 하나 |
논리 연산 | AND, OR 등의 논리 연산을 사용해 표현 |
- 부울함수의 예시:
- 부울함수는 논리 게이트로 구성되는 논리회로도로 작성할 수 있음
연산 우선순위
우선순위 | 논리연산 |
---|---|
1 | () 괄호 |
2 | NOT |
3 | AND, NAND |
4 | OR, NOR |
5 | XOR, XNOR |
-
-
각각의 부울함수마다 하나의 진리표가 존재한다.
부울함수의 대수적 간소화
- 부울함수, 논리회로는 1:1 대응 관계
- 진리표와 부울함수는 1:1 대응 관계가 아님
부울함수와 진리표와의 관계
-
어떠한 부울함수에 대한 진리표는 하나
-
부울함수의 형태에 따라 여러 부울함수가 동일한 진리표를 공유할 수 있음
-
따라서, 단일 진리표에 대한 논리회로도는 여러 개가 될 수 있음
-
부울함수를 구성하는 부울연산과 부울변수의 개수는 게이트 및 각 게이트의 입력 개수와 직접적인 관계가 있음
- 동일한 결과를 추렭하는데 게이트와 입력의 수가 많아질 수록 복잡해지며, 비효율적
- 비용도 증가하고, 물리적인 면적을 더 많이 사용하고
-
부울함수가 간단해질 수록 논리게이트의 복잡도는 낮아짐
-
이에 따라, 부울함수의 간소화가 필수적
-
부울함수의 간소화 방법
- 대수적인 방법
- 도표를 이용한 방법
- 테이블을 이용한 방법
- 항결합
- 문자 소거
- 중복항 첨가
a. 부울함수의 진리값이 변하지 않도록 하면서 간소화를 위한 적절한 향을 첨가하는 방법
b.
c. (흡수법칙)
부울대수의 기본 공식
- 교환법칙
- 결합법칙
- 분배법칙
- 드모르간의 법칙
- 흡수정리
부울대수의 쌍대성 원리
- 어떤 식이 성립하면, 그것의 쌍대(Dual) 형태도 항상 성립하는 원리
- 특정 변환을 적용해도 동일한 연산 성질이 유지되는 것
- 논리학에서 OR과 AND, 참과 거짓을 바꿔도 연산 성질이 성립됨
항 결합 예제
문자 소거 예제
-
-
-
-
- 논리합에서 X가 1이면 무조건 1이므로
-
- (마지막: X + Y)
부울함수 F의 보수는
-
-
- 수식 전체를 NOT으로 감싸면 됨
-
- 드모르간의 법칙을 사용해 NOT을 분배, 중간의 논리합을 논리곱(AND)으로 바꿈
-
- 반전의 반전
-
쌍대성을 활용
- F의 쌍대:
- : 각 변수의 보수화
- 쌍대 형태로 변환
논리회로
- 입력 신호의 논리 연산을 통해 출력 신호를 생성하는 회로
- 입력 및 출력 신호는 0 똔ㄴ 1과 같이 2진 신호를 사용함
AND 게이트 - 논리곱(Conjunction)
-
모든 입력이 1(참)이면 1(참) 출력
-
-
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- 둘 다 참일 때에만 참
OR 게이트 - 논리합(Disjunction)
-
-
하나라도 1(참)이면 1(참) 출력
입력 입력 출력 X Y F 0 0 0 0 1 1 1 0 1 1 1 1
NOT 게이트 - 부정(Negation)
- 입력을 반전(부정)하여 출력
- 기본적으로 NOT 게이트는 그림에 앞에 동그라미 표시로 나타냄
입력 | 출력 |
---|---|
X | F |
0 | 1 |
1 | 0 |
NAND 게이트 - NOT AND
- AND 게이트의 출력을 반전시킨 것
- AND 그림 앞에 동그라미 표시 추가
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
NOR 게이트 - NOT OR
-
OR 게이트의 출력을 반전시킨 것
-
입력 입력 출력 X Y F 0 0 1 0 1 0 1 0 0 1 1 0
XOR 게이트 - 배타적 논리합(Exclusive OR)
- 입력이 서로 다를 때만 1(참)을 출력
- 논리적으로 서로 다른 것을 선택하는 연산
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
XNOR 게이트 - Exclusive NOR
- XOR 게이트의 출력을 반전시킨 것
- 논리적으로 서로 같은 것을 선택하는 연산법칙
입력 | 입력 | 출력 |
---|---|---|
X | Y | F |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
논리합(OR)과 배타적 논리합(XOR)
OR게이트 | XOR게이트 |
---|---|
둘 중 하나라도 참이라면 참 | 입력이 서로 다를 때만 참 |
서로 배타적일 때만 OK |
부울대수 (Boolean Algebra)
- 0과 1의 값을 갖는 논리변수와 논리연산을 다루는 대수
- 이진 논리(binary logic)을 기반으로 한 수학적 체계
- 모든 값을 참과 거짓으로 나타내며, 이를 논리 연산으로 조작하는 이론
특징 | 내용 |
---|---|
값의 범위 | 각 변수 및 표현식이 0 또는 1 |
논리 연산 | AND, OR 등의 논리 연산자에 의해 정의 |
이진 논리 | 0과 1 두개의 값만 처리하여 이진수와 직접적 연관이 있음 |