연산을 대신해줄 우리의 친구, 논리게이트 -1에서 이어집니다.
지금부터는 게이트를 조합하여 직관적인 연산을 수행하는 여러가지 회로를 알아볼 것이다. 규모에 따라 소규모 직접회로, 중간규모 직접회로, 대규모 직접회로, 초대규모 직접회로라고 분류한다. 가장 일반적으로 쓰이는 집적회로를 몇가지 얘기해보자.
2의 보수 덧셈을 연산하는 회로를 2의 보수 가산기라고 한다.
2진수의 덧셈연산에는 AND연산과 XOR연산이 활용된다. AND연산은 올림값을 반환하기 위해, XOR는 해당 자릿수의 연산 값을 반환하기 위해 활용된다. 하지만 처음 연산 과정을 거쳤을 때, 올림 값이 XOR합과 다시 한번 계산이 되려면, 결국 합과 올림 결과값을 입력으로 받는 가산기가 하나 더 필요하다. 때문에 위의 가산회로를 반가산기라 하고, 반가산기 둘로 구성된 2의 보수 가산기를 전가산기라고 한다.
여러비트를 더하기 위한 리플 자리올림 가산기도 있다. 이 가산기는 전가산기를 자릿수 만큼 연결하는 형태이다. 기본적으로 출력되는 AND연산 값(합)을 자릿수로 하고, XOR연산 값(올림)을 다음 가산기의 입력값으로 넣어주는 형태이다. 이러한 형태의 가산기는 낮은 자릿수의 연산을 마쳐야만 다음 자릿수 연산이 가능하기 때문에, 연산 속도를 극복하기 위한 올림 예측 가산기도 있다.
디코더는 디코딩을 시키는 장치로, 여러가지 이유로 효율적인 표현 상태로 저장된 정보를 의미를 담은 형태의 비트로 변환하는 역할을 한다. 이러한 디코더는 입력값의 수와 출력값의 종류 수로 회로가 구성된다. 모든 입력값은 출력 게이트와 연결되어 있으며, 세 개의 입력값으로 조합할 수 있는 모든 1값과 0값(NOT연산)이 연산되어 반환된다. 아래는 입력값이 3개이고 출력값이 8종류인 3:8디코더의 스키매틱 기호이다.
디코더를 활용한 집적회로 중에는 디먹스(디멀티플렉서)가 있다. 입력 값 D를 원하는 도선으로 출력해주는 장치이다.
멀티플렉서는 셀렉터 혹은 먹스라고도 불리며, 여러 입력값 중에 원하는 값을 도선으로 출력해주는 장치이다.
아래는 멀티플렉서와 플렉서를 복합 사용한 모습이다.
무슨 재료를 넣어서 맛있는 라면을 끓일까