|
(d)에서 C를 합의 곱으로 표현하면 다음과 같다.
반가산기는 (e)에서처럼 Exclusive-OR 게이트와 AND 게이트로 실현할 수 있다.
전가산기(Full Adder)
전가산기는 3개의 입력 비트들의 합을 계산하는 조합회로이다. 전가산기는 3개의 입력과 2개의 출력으로 구성된다. x와 y로 표시된 입력 변수들은 더해질 현재 위치의 두 비트이며, z로 표시된 세 번째 입력 변수는 바로 전 위치로부터의 캐리이다. 3개의 비트를 더할 때 합은 0부터 3까지 나올 수 있고, 2와 3을 2진수로 표시하는 데 2개의 디지트가 요구되므로 2개의 출력이 필요하다. 두 출력 중 합에 대해서는 S라는 기호로, 캐리에 대해서는 C라는 기호로 표시한다. 3개의 비트의 합을 계산하여 앞의 디지트는 출력 캐리 C가 되며, 뒤의 디지트가 S로 표시된다. 전가산기의 진리표는 그림 15-11과 같다.
3개의 입력 변수들이 가질 수 있는 모든 가능한 1과 0들의 조합에 대해서 2개의 출력 변수는 1 또는 0의 값을 가진다. 모든 입력들이 0일 때 출력은 0 이된다. 출력 S는 1개 또는 3개의 입력들이 1일때 1이 된다.
조합 회로의 입출력 비트들은 문제의 여러 단계에서 다르게 해석할 수 있다. 입력선의 2진 신호는 산술적으로 더해져 2 디지트 합을 출력선에 산출하는 비트로 간주한다.
반면에 진리표로 표현할 때나 논리 게이트로 회로를 구성할 때에 앞 문장에서와 동일한 2진 값을 부울 함수의 변수로 볼 수 있다. 이렇게 이 회로에서 쓰이는 비트들이 2가지의 다른 해석을 할 수 있다는 것을 인식하는 것은 중요한 일이다.
전가산기 회로의 입출력 논리 관계는 각 출력 변수에 대해 하나의 부울 함수가 대응되므로 2개의 부울 함수로 표현될 수 있다. 각 부울 함수를 단순화시키기 위해 맵이 하나씩 필요하다. 각 맵은 출력이 세 입력 변수들의 함수이므로 8개의 사각형들로 구성된다. 그림 15-12에 있는 2개의 맵들은 두 출력 함수들을 각각 단순화하는데 사용한다. 각 맵의 사각형 내에 표시된 1은 진리표로부터 직접 얻을 수 있다. 출력 S의 경우 1로 표시한 사각형들은 인접한 사각형과 결합할 수 없으므로 더 이상 단순화시킬 수 없다. 출력 C는 단순화되어져 6개의 문자로 된 표현을 얻는다. 곱의 합으로 전가산기의 논리도가 그림 15-13에 있다. 이것은 다음 부울 함수 표현을 사용한 것이다.
전가산기에 대한 다른 구성을 개발할 수 있다. 합의 적으로 표현할 경우 그림 15-13과 같은 수의 게이트를 사용하지만 AND 게이트와 OR 게이트의 수가 서로 바뀐다.
전가산기는 그림 15-14에서처럼 2개의 반가산기와 하나의 OR 게이트로 구현할 수 있다. 두 번째 반가산기의 출력 S는 첫 번째 반가산기의 출력과 z를 Exclusive-OR한 것이다. S와 C는 다음과 같이 부울 함수로 표현할 수 있다.
= {bar z} (x {bar y} + {bar x} y) + z(xy + {bar x} {bar y}) |
반감산기 (Half Subtracter)
반감산기는 2개의 비트들을 빼서 그 차를 산출하는 조합회로이다. 이 회로는 1을 빌렸는지를 나타내는 또 하나의 출력을 가진다. x는 피감산 비트를 표시하는 데 사용하고 y는 감산 비트를 표시하는 데 사용한다.
출력 B는
반감산기 두 출력에 대한 부울 함수들은 진리표에서 직접 구할 수 있다.
D에 관한 논리가 반가산기에서 S에 관한 논리와 동일하다.
전감산기(Full Subtracter)
전감산기는 바로 전 낮은 단 위치의 디지트에 빌려 준 1을 고려하면서 두 비트들의 뺄셈을 수행하는 조합회로이다. 이 회로는 3개의 입력과 2개의 출력을 가진다. x, y, z는 각각 피감수, 감수,그리고 전 자릿수로부터의 빌림(borrow)을 표시하는데 사용되는 출력기호이다. 전감산기의 진리표는 그림 15-16과 같다.
3개의 입력 변수들이 가질 수 있는 모든 가능한 1과 0들의 조합에 대해 두 출력 변수의 값은 x-y-z의 결과에 따라서 "1"또는 "0"으로 결정된다. 입력 빌림(z)이 0이면 반감산기와 동일하게 된다. x=0, y=0, z=1인 경우 바로 앞 디지트로부터 1을 빌어와야 한다. 그 경우 2가 x에 가해지므로 2-0-1=1이 되어 D=1이고 이 때 빌림이 있으므로 B도 1이 된다. x=0, yz=11일 때도 앞 디지트로부터 1을 빌어야 하므로 B=1이고, x는 2가 더해져 D는 2-1-1=0에 의해 0이 된다. x=1, yz=01일 때 x-y-z=0이므로 B=0, D=0이 된다. 마지막으로 x=1, yz=11이면 앞 디지트로부터 1을 빌어 x는 2가 더해져 3이 되므로 D=1, B=1이 된다.
전감산기의 두 출력에 대한 부울 함수들은 그림15-17의 맵에 있다. 이것을 단순화하여 적의 합으로 나타내면 다음과 같다.
전가산기의 출력 S와 전 감산기의 출력 D는 동일하며 전감산기의 출력 B는,