1. 논리 게이트에 대해
앞서 알아본 논리연산이 불 대수 기반에서의 수식으로
표현한다면 이제 실물로 만들고자 한다. 그러나 실제 전기를 인가하거나 차단하는 회로를 만들기에는 복잡하기도
하지만 설계자마다 그리는 방식이 제각각 다르다. 게다가 결선도(단선도, 복선도), 설계 단위(유접점
소자, 무접점 소자), 설계소자의 극성(P/N/CMOS, A/B/C접점) 등에 따라서 논리를 구현할 방법이
많다.
이에 논리연산의 기능을 구현하는 단위회로를 하나의 기호로 그리는데 이것을 논리 게이트(Logic
gate)라고 부른다. 이 논리 게이트는 단위 회로를 묶어낸 기호이기에 이것 자체를 부품으로
취급하여 회로도에 반영되는 경우도 자주 있다.
2. 논리 게이트의 종류
논리 게이트는 보통 8가지로 구분되며 기능상 논리연산자와 같은 내용이다. 따라서 논리연산자에서
확인한 피연산자와 연산결과를 논리 게이트에서 입력과 출력으로 가져오면 되니 기호를 논리식과 연관되게 기억하도록 한다.
기호의 외형은 크게 구형과 신형 기호로 나누어진다. 구형 논리 게이트는 식별이
쉬운 외형이지만 손으로 일정하게 그리기가 까다롭다. 신형 논리 게이트는 사각형에 문자로 쓰여 그리기
쉽고 논리 게이트 외에 복합 논리회로에서도 적용이 가능하다는 장점이 있지만 한 눈에 알아보기 불편하다는 특징이 있다. 논리 게이트의 대부분은 식별이 쉬운 구형을 사용하므로 이를 우선한다.
보통은 규격을 기준으로 구형을 IEEE([아이-트리플-이], Institute
of Electrical and Electronics Engineers : 전기 전자 기술자 협회)와
신형을 IEC(International Electrotechnical Commission : 국제 전기기술
위원회)로 구분하지만 지금에 와서는 어디에서나 교차 적용되고 있어 규격으로 구분하는 의미가 없다고 판단한다.
가장 먼저 볼 논리 게이트는 BUFFER(버퍼)이다. 단일
입력 게이트로써 입력과 출력이 항상 같아 논리 연산자에도 등장하지 않지만 논리 게이트에는 별도로 존재한다. 쓰이는
목적은 크게 두 가지로 회로가 길거나 전기적으로 불안정한 신호를 안정하게 전압을 유지하도록 하는 것과 다른 논리 게이트의 입력 후 출력까지의 시간지연에
맞추어 의도적으로 지연시키는 이유로 쓰인다. 입력과 출력의 관계는 논리식으로 Q=A가 된다.
구형 기호의 경우 정삼각형으로 되어 있으며 신형 기호의 경우 입력과 출력이 동일하다는 의미로 ‘1’(×1 이라는 의미)이 기입되어 있다.
입력 |
출력 |
A |
Q |
0 |
0 |
1 |
1 |
다음은 NOT(낫)이다. 단일 입력 게이트로써 입력대비 출력을 항상 뒤집으므로 INVERTER(인버터 : 반전기)로도
자주 쓰이며 2진수에서의 1의 보수 계산에 그대로 적용되므로 COMPLEMENTOR(컴플멘터 : 보수기)로 쓰이기도 한다. 입력과 출력의 관계는 논리식으로 Q=A’가 된다.
기호에서는 BUFFER의 출력에 방울(구형)이나 삼각형(신형)이 추가되는데
이러한 모양으로 출력이 반전됨을 기억한다. 위치를 바꾸어 이 추가되는 형상을 다른 논리 게이트의 입력에
연결하면 입력이 반전된다는 뜻이 된다.
입력 |
출력 |
A |
Q |
0 |
1 |
1 |
0 |
세 번째 게이트는 AND(앤드)이다. 복수
입력 게이트로써 입력 간의 논리곱의 결과가 출력된다. 입력과 출력의 관계는 논리식으로 Q=A∙B(또는 Q=AB)가
된다.
구형 기호의 경우 입력단이 평평하고 출력단이 반원형으로 되어 있다. 신형 기호의
경우 AND의 약호로 ‘&’(앰퍼샌드, 보통 ‘and’로 읽음)가
기입되어 있다.
네 번째 게이트는 OR(오어)이다. 복수 입력
게이트로써 입력 간의 논리합의 결과가 출력된다. 입력과 출력의 관계는 논리식으로 Q=A+B가
된다.
구형 기호의 경우 입력단이 하나의 원호로 되어 있으며 출력단은 두 개의 원호가 합쳐져 뾰족하게 되어 있다. 신형 기호의 경우 입력의 합계가 1 이상이면 출력된다는 의미로 ‘≥1’이라고 기입되어 있다.
출력 |
||
A |
B |
Q |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
다섯 번째 게이트는 XOR(익스오어)이다. 복수
입력 게이트로써 입력 간의 배타적 논리합의 결과가 출력된다. 입력과 출력의 관계는 논리식으로 Q=A⊕B(또는 Q=A’B+AB’)가 된다.
구형 기호의 경우 OR에서 입력단에 원호가 하나 더 추가되고, 신형 기호의 경우 두 입력의 합계가 1일 때 출력된다는 의미로 ‘=1’이라고 기입되어 있다. 그러나
입력 셋 이상을 고려하여 ‘입력이 다를 때(합계가 1) 출력이 ‘1’인 게이트’로
기억하기 보다 ‘입력의 ‘1’의 개수가 홀수일 때 출력이
‘1’인 게이트’로 기억하는 것이 좋다.
출력 |
||
A |
B |
Q |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
여섯 번째 게이트는 NAND(낸드)이다. AND 게이트의 출력단에 NOT 게이트가 합쳐진 것으로 입력 간의 논리곱에 반전하여 출력한다. 입력과 출력의 관계는 논리식으로 Q=(A∙B)’가 된다. 그리고 기호는 AND에서 출력단에 NOT이 추가(방울 또는 삼각형)된 형태가 된다.
출력 |
||
A |
B |
Q |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
일곱 번째 게이트는 NOR(노어)이다. OR 게이트의 출력단에 NOT 게이트가 합쳐진 것으로 입력 간의 논리합에 반전하여 출력한다. 입력과 출력의 관계는 논리식으로 Q=(A+B)’가 된다. 그리고 기호는 OR에서 출력단에 NOT이 추가된 형태가 된다.
출력 |
||
A |
B |
Q |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
마지막 게이트는 XNOR(익스노어)이다. XOR 게이트의
출력단에 NOT 게이트가 합쳐진 것으로 입력 간의 배타적 논리합에 반전하여 출력한다. 입력과 출력의 관계는 논리식으로 Q=(A⊕B)’=A⊙B(또는 Q=A’B’+AB)가 된다.
기호는 XOR에서 출력단에 NOT이
추가된 형태가 된다. 그리고 XOR와 마찬가지로 ‘입력이 같을 때 출력이 ‘1’인 게이트’ 보다 ‘입력의 ‘1’의
개수가 짝수(0개 포함)일 때 출력이 ‘1’인 게이트’로 기억하도록 한다.
출력 |
||
A |
B |
Q |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
논리 게이트의 외형에 대해서 더 보자면 입력선들 사이에는 정해진 간격이 없다. 논리 게이트의 입력이 많아질 때 4개 이하까지는 기본형에 선의 간격을 조정하여 그리지만 5개 이상이 되면 논리 게이트의 입력단을 확장하여 그리는 것이 일반적이다. 구형의 경우 입력단에 연장선을 추가하였으며 신형의 경우 직사각형의 세로길이를 더 길게 한다. 구형 논리 게이트의 입력선을 그릴 때 가급적 게이트의 외형 가로선에 일치하지 않도록 한다.
구형 논리 게이트의 경우 BUFFER는 정삼각형이 기본이므로 가로대 세로비가 1.732:1이 되지만 1.5:1이면 이상하지 않은 외형으로 간단히 그릴 수 있다. AND, OR XOR 도형은 가로대 세로비가 8:6.5인 것이 원형이지만 5:4로 하는 것이 그리기에 낫다. 신형 논리 게이트의 경우 입력에 따라서 도형이 바뀌니 직사각형이 아닌 정사각형으로 그려도 무방하다.
3. 만능 게이트
먼저 드 모르간의 법칙을 논리 게이트로 정리하면 아래와 같다.
그림과 같이 논리곱과 논리합을 서로 바꾸면서 신호를 반전시키는 방울의 위치가 입력과 출력에서 서로 바뀌고 있다. NOT의 위치가 바뀌는 것으로 논리곱과 논리합이 서로 바뀐다는 것은 모든 논리식을 논리곱 또는 논리합의 한 가지만으로 표현이 가능하다는 뜻이 된다.
이렇게 논리 게이트 중 한 가지만으로 다른 모든 논리 게이트를 대용할 수 있는 것을 만능 게이트(Universal gate)라 부르고 기본형 8종 중 NAND 게이트와 NOR 게이트가 이에 해당한다.
이 그림들의 경우 NAND를 조합하여 NOT, AND, OR, XOR가 만들어졌으므로 NOT을 다시 추가하여 BUFFER, NOR, XNOR까지 모두 만들어진다.
이 그림들의 경우 NOR를 조합하여 NOT, OR, AND, XNOR가 만들어졌으므로 NOT을 다시 추가하여 BUFFER, NAND, XOR까지 모두 만들어진다.
굳이 한 종류를 많이 써서 다른 논리 게이트를 구현할 필요가 있을까라고 생각할 수 있으나 제조 단계에서는 한 종류만으로 대량으로 만들게 되어 경제적이라는 이유가 있다는 점을 참고한다.
4. 결론
논리 게이트는 논리연산 뿐만이 아니라 접점 또는 스위치를 포함한 모든 논리와 관련하여 등장할 수 있으니 논리 게이트의 외형을 보면 그 기능을 알 수 있도록 익숙해지는 것이 좋다.
댓글 없음:
댓글 쓰기