3.4 전압과 연산을 연결하는 약속

앞선 절들에서 CPU 칩은 수백억 개의 트랜지스터를 가진 물리적인 전자 회로라는 사실, 그리고 전자 회로는 어떤 상태를 표현할 수 있다는 사실을 알게 되었다. 그럼에도 불구하고, 이 작은 전자 부품을 통해 실제 어떤 계산 혹은 연산을 한다는 것을 독자 여러분들이 선뜻 받아들이기에는 여전히 어려움이 있을 수 있다.

전자 회로가 인간의 계산 능력을 가지는 것을 이해하는 데 있어 무언가 대단한 설명이 있어야 할 것 같지만, 사실 알고 보면 그 원리는 단순하다. 결론부터 이야기하면, 전압에 입력 정보에 해당하는 숫자를 대응시키고, 주어진 입력에 대해 사람이 계산하는 것과 동일한 결과를 만들어 낼 수 있도록 전자 회로를 구성하면 되는 것이다.

여기, 〈그림 3-8〉은 사람이 숫자 0과 숫자 1을 더하는 과정, 그리고 0과 1을 더하는 연산 능력을 가진 전자 회로를 보여준다.

사람의 뇌가 0+1을 계산해 1을 얻는 모습과, 칩이 낮은 전압·높은 전압을 받아 높은 전압을 내는 모습을 비교한 그림
〈그림 3-8〉 사람의 연산(a)과 전자 회로의 연산(b) 비교

〈그림 3-8〉(a)는 사람의 뇌가 숫자 0과 숫자 1을 더해서 결과로서 숫자 1을 생각해 내는 것을 보여주고, 〈그림 3-8〉(b)는 전자 회로가 낮은 전압과 높은 전압 두 가지를 받아서 출력의 전압이 높아지는 모습을 보여주고 있다.

얼핏 보면 두 상황은 전혀 상관이 없어 보인다. 하지만 3.1절에서 정한 약속대로 (b)의 낮은 전압을 0, 높은 전압을 1로 읽으면, 두 상황의 입력과 결과가 같아진다. 주어진 약속을 바탕으로 보면, (b) 회로는 숫자 0과 숫자 1을 낮은 전압과 높은 전압으로 받아들여, 숫자 1에 해당하는 높은 전압을 출력한다. 이는 (a)에서 일어나는 덧셈의 입력과 계산 결과와 동일하다. 그래서 (b) 회로를 덧셈의 한 경우를 재현하는 개념적인 회로라고 말할 수 있다.

위 상황을 다시 한번 곱씹어 생각해보면, 뭔가 엄청난 마법 같은 일이 벌어져, 주어진 회로가 덧셈 연산이 가능한 수준의 지능을 가지게 된 것은 아니다. 단지, 관점을 달리하여 회로는 사람의 지능으로 계산한 결과와 동일한 값을 만들었기 때문에, 우리는 이를 보고 (b) 회로도 계산 나아가 연산 능력을 가지게 되었다고 이야기할 수 있게 된 것이다. 여기서 우리가 한 일은, 맞는 답을 내는 회로의 전압을 사람이 계산에 쓰는 숫자와 연관지어 생각한 것이다. 한 가지 더 중요한 점은 전자 회로를 사용하였으므로, 사람이 연산하는 속도보다 압도적으로 빠른 속도로 계산 결과를 얻을 수 있다는 것이다.

사람만이 가질 수 있을 것 같은 엄청난 계산 능력을 가진 회로라는 것이 독자분들이 가진 처음 생각에 비해 너무 간단한가? 이런 맥락에서, 계산기 나아가 컴퓨터 등의 내부에는, 주어진 입력들에 대해서 사람이 생각하는 연산 결과와 동일한 결과를 낼 수 있도록 구성된 전자 회로가 들어 있음을 납득할 수 있을 것이다. 이제 남은 궁금증은 원하는 계산 결과가 나오도록 칩 안의 회로를 어떻게 구성해야 하는가이다.

즉, 원하는 숫자 입력(0 또는 1)에 해당하는 전압을 인가하면, 결과로서 출력의 전압이 높아지거나 낮게 남는 상황을 만드는, 그래서 숫자 0 또는 숫자 1로 해석할 수 있는 적절한 전자 회로를 구성하는 일이 중요해진다.

이번 절을 통해 계산 혹은 연산 능력을 가진 회로라는 것이 어떤 의미인지 감을 잡길 바란다. 사람이 하는 연산과 전자 회로 동작을 연관 짓는 사고방식의 전환은 사실 알고 나면 별것 아닌 것처럼 느껴질 수 있지만, 이런 생각의 전환이 인간의 복잡한 계산을 회로로 구현하는 출발점이 된다는 것이 중요하다. 이 원리를 토대로, 다음 절에서는 트랜지스터를 어떻게 연결하면 AND, OR 같은 논리 연산을 할 수 있는지 살펴보자.