앞서 배운 논리 연산을 조합하면 컴퓨터의 수많은 칩을 만들 수 있는데, 이것을 회로 설계라고 한다.
초창기 컴퓨터는 숫자 계산의 용도로 사용되었음.
한 자릿수 덧셈을 논리 연산으로 구현해보자.
0+0 / 0+1 / 1+0 / 1+1 네 가지 경우가 있을 것이다.
우선 어떤 입력을 넣었을 때 어떤 출력이 나와야하는지를 표로 정리한다.
위에서 a와 b 입력과 s1 출력만을 생각해보았을 때는 AND 연산이다.
즉, s1 = a AND b 이다.
a와 b 입력과 s2 출력만을 생각해보았을 때는 XOR 연산이다.
즉, s0 = a XOR b 로 생각할 수 있다.
회로를 정리하면 아래와 같이 설계할 수 있게 된다.
입력이 뭐고 출력이 뭔지만 알면 된다면, 모든 회로는 아래와 같이 입력과 출력이 있는 박스 형태로 표현할 수 있다.
실제로 판매하는 칩들도 위와 같이 생겼다.
내부의 칩 구성은 알 수 없지만 아래와 같이 추상화시키는 것이다.
여러 자리를 더하려면 한 자리 숫자 3개를 더할 수 있는 회로가 필요하다. 그 아래 자리에서 올림 수(Carry)가 생길 때가 있기 때문이다.
이 내부 설계 역시 또한 입력과 출력이 있는 박스 형태로 추상화할 수 있고, 이를 활용하면 아래와 같이 네 자리수 덧셈을 위한 회로 설계도 가능해진다.
한 자리 덧셈 회로는 half adder(반가산기), 올림이 있는 한 자리 덧셈 회로는 full adder(전가산기)라고 부른다. (순서대로 반가산기, 전가산기)