3.1 회로에서 0과 1을 표현하는 방법

앞 장에서 우리는 추상화된 컴퓨터의 동작을 알아보았다. 이제 이런 동작이 실제로 어떻게 이루어지는지 알아볼 차례다. 그 핵심에는 칩이 있다. 칩 안을 들여다보려면 먼저 회로부터 알아야 한다. 나중에 알게 되겠지만, 칩은 결국 아주 작고 복잡한 회로이기 때문이다. 그러니 여기서는 회로 자체에서 시작해 보자. 〈그림 3-1〉은 초등학교 고학년이나 중학교 때 처음 접하는 전기 회로다. 전구가 있고, 건전지가 있고, 스위치도 있다. 스위치를 누르면 전구에 불이 들어온다는 것을 우리 대부분은 알고 있다.

건전지·스위치·전구로 된 전기 회로와 그 회로도
〈그림 3-1〉 전기 회로의 실체와 전기 회로도

회로는 전기가 흐르도록 이어 놓은 길이다. 물이 지나는 수로를 떠올리면 쉽다. 이 수로를 따라 흐르는 것이 전류, 좀 더 정확히는 전하의 흐름이다. 전류가 흐르면 회로에 연결된 부품들이 저마다 일을 한다. 전구는 불을 밝히고, 모터는 돌아간다. 스위치는 조금 다르다. 스위치는 전류를 받아 일하는 부품이 아니라, 수로를 잇거나 끊어서 전류가 흐를지 말지를 정하는 부품이다.

회로에는 전류 말고도 눈여겨볼 것이 하나 더 있다. 〈그림 3-1〉의 건전지를 다시 보자. 스위치가 열려 전류가 흐르지 않을 때도, 건전지의 두 극 사이에는 전압이 있다. 전압은 전류를 흐르게 하는 ‘밀어내는 힘’에 비유할 수 있다.

전압은 수압과 비슷하다. 앞에서 말한 수로에서 건전지는 물을 밀어내는 펌프이고, 스위치는 수로를 잇거나 끊는 자리다. 〈그림 3-2〉는 〈그림 3-1〉의 회로를 그대로 두고 배선만 수로로 바꿔 그린 것이다. 스위치를 닫으면 측정 지점 P의 수위가 높아지고, 열면 낮아진다. 여기서 눈여겨볼 것은 물이 흐르는지가 아니라 P에 물이 얼마나 차 있는지다. 이 그림에서는 이렇게 수위의 높낮이로 전압의 높낮이를 나타냈다.

이제 어떤 기준을 정해 두고, 전압이 그보다 높으면 1, 낮으면 0으로 부르기로 하자.

스위치를 열고 닫을 때 측정 지점 P의 수위로 나타낸 전압과 0/1
〈그림 3-2〉 스위치 개폐에 따른 전압(수위)과 0/1의 대응

별것 아닌 것처럼 보이는 이 약속이 중요한 이유는, 회로의 전기적인 상태를 사람에게 익숙한 숫자로 바꿔 놓기 때문이다. 이제 우리는 회로의 어떤 지점이든 전압의 높낮이가 아니라 0과 1로 바라볼 수 있고, 거꾸로 회로의 전압으로 0과 1이라는 숫자를 표현할 수 있다. 이것이 회로의 상태로 정보를 표현하는 것이다.

예를 들어 〈그림 3-3〉 회로에서 여섯 지점의 전압을 차례로 읽으면 낮음, 높음, 낮음, 낮음, 높음, 낮음이다. 약속에 따라 바꾸면 010010, 즉 현재 이 회로 상태는 010010이라는 정보를 나타내게 된다.

여섯 지점의 전압이 010010을 나타내는 회로
〈그림 3-3〉 010010의 출력을 표현하고 있는 회로

이렇게 회로의 전압으로 0과 1을 나타낼 수 있게 되었다. 앞으로 회로에서 0과 1이 나오면, 그것은 숫자 그 자체가 아니라 회로의 전압 상태를 0과 1이라는 숫자에 대응시켜 표현한 것이라는 사실을 꼭 기억하자.