다음 답변은 KG아이티뱅크 2학기 3기수 디지털공학개론 수업의 과제에 대한 개인적인 답변입니다.
이에 받은 점수와 무관하게 학기를 마무리하며 개인적으로 기록을 남기고자 포스팅합니다.
주제
부울대수와 카르노맵을 사용한 응응기술에는 어떤 것이 있는지 설명하세요.
(참고하였으면 참고문헌 표시, 반드시 자신의 의견이 포함되어야 함)
답변
부울대수란, 어떤 명제에 참과 거짓을 1과 0에 대응시켜 논리적 프로세스를 표현하기 위해 19세기 중반 수학자 George Boole이 고안한 대수학이다. 디지털 회로의 신호는 전기적 On / Off 의 두 가지 상태, 혹은 1과 0으로 표현되기 때문에, 이를 부울대수를 이용하여 표현하고 정리하기 쉽다. 부울대수는 디지털 논리회로의 분석과 설계에 기본이 된다고 볼 수 있는 것이다.
디지털 논리회로를 부울함수로 표현하고 이를 간략화 한다면, 회로의 복잡도를 낮추고 이에 필요되는 부품의 수, 공간, 비용, 처리 시간, 그리고 전류 사용 등을 줄이고, 효율성을 높일 수 있다는 뜻이 된다. 다만 교환법칙, 결합법칙, 분배법칙 등의 부울대수의 규칙만으로 함수를 간략화하는 데에는 한계가 있기에, 카르노맵 (혹은 카노프맵)의 개념이 도입된다.
카르노맵은 복잡한 논리식을 입력 변수의 조합 수만큼의 셀(cell)들로 구성된 도면으로 도식화시켜, 체계적이고 보다 쉬운 축소 과정을 시각화시킨다. 인접해 있는 변수들을 2n개 단위의 사각형으로 묶어, 특정 규칙에 따라 함수를 간략화하는 것이다. 결국 부울대수와 카르노맵은 디지털 논리회로를 효율적으로 표현하기 위한 개념이라고 볼 수 있으며, 이는 조합회로 (Combinational Circuit)의 설계에 용이하다.
조합회로란 다수의 현재의 입력 신호를 회로의 특성에 따라 조합하여, 한 개 이상의 출력 신호를 생성하는 회로이다. 조합회로의 설계를 위해서는 먼저 구현할 기능을 표현하고, 입력 / 출력 변수를 지정하며, 입출력 관계를 분석해 부울 함수 및 카르노맵을 유도한다. 이들을 간략화하여 최저비용으로, 최소공간을 차지하며, 최적의 속도로 동작하는 효율적인 회로를 구성할 수 있는 것이다. [1]
조합회로는 게이트의 조합에 따라 다양한 기능을 구성할 수 있다. 수들을 더하는 가산기 (Adder), 연산수의 보수를 더하여 뺄셈을 하는 감산기 (Subtractor), n개의 2진수 입력을 받아 2n개의 출력으로 변환시켜주는 디코더 (Decoder), 이와 반대로 2n개의 입력을 받아 그에 대응하는 n비트의 2진수를 출력하는 인코더(Encoder)등이 이의 종류이다. 2진 코드를 그레이 코드로 변환해주거나, BCD코드를 2421코드로 변환해주는 코드 변환기 (Code Converter), 여러 데이터 입력 중 하나를 선택하여 출력하는 멀티플렉서 (Multiplexer: MUX)와, 그 반대 기능을 하는 디멀티플렉서 (Demultiplexer: DEMUX)도 조합회로의 일종이다. 이렇게 논리게이트들을 조합하여 다양한 조합회로를 구성할 수 있고, 여러 조합회로를 이용해 수행할 수 있는 기능 또한 무궁무진하다.
실제적인 예시를 들어본다면, 두 한 자릿수 숫자들을 4-비트 병렬 가산기를 이용해 더할 수 있다. 4x16 디코더로 총 16개의 층이 있는 건물에서, 각 층을 가리키는 램프를 구성할 수 있다 (입력변수 A, B, C, D와 이의 조합으로 이루어진 출력변수 D0 ~ D16 이용). 다른 예로는, 멀티플렉서와 디멀티플렉서를 이용하여 16개의 문을 가진 안전 감시 시스템을 구성할 수 있다. 16개의 문 스위치를 문이 열렸을 때 1, 닫혔을 때 0으로 MUX 입력으로 들어가 0000부터 1111까지 MOD-16 카운터로 기록하고, MUX출력을 DEMUX의 입력으로 넣어 DEMUX 출력에 연결된 LED의 상태에 따라 각각의 문의 개폐 상태를 감시할 수 있는 것이다. [2] 또한 XNOR함수를 이용한 조합회로로 두 개의 2진수들의 크기를 비교하는 비교기 (Comparator)를 구현하여, 동전 뒤집기 기능을 수행할 수도 있다.
결론적으로, 부울 대수와 카르노맵은 디지털 회로를 효과적이고 효율적으로 표현할 수 있는 개념이며, 이를 통해 여러 조합논리회로와, 회로를 이용한 기술들을 구현할 수 있게 한다.
출처:
[1] 학점은행제 디지털공학개론 교안, 아이티뱅크, 2020
[2] 한국기술교육대학 전기전자통신공학부. 7장 조합논리회로. cms3.koreatech.ac.kr/sites/yjjang/down/dig11/ch07_comb.pdf.
'학점은행제 > 첫 학기 - 수업' 카테고리의 다른 글
[과제] 시스템프로그래밍 - 프로세스 생성 & 종료 (0) | 2020.12.22 |
---|---|
[과제] 마이크로프로세서 - 카운터 (0) | 2020.12.22 |
[과제] 네트워크 I - IPv4 vs. IPv6 (0) | 2020.12.22 |
[토론] 컴퓨터시스템 - 리눅스와 보안 (0) | 2020.12.22 |
[토론] 전자계산기구조 - 디지털 논리회로 (0) | 2020.12.22 |
댓글