게이트를 엮으면 덧셈 기계가 돼요
지난 시간에 만든 그리고·또는·아니다 게이트. 이걸 몇 개 엮으면, 놀랍게도 덧셈하는 기계가 돼요. 컴퓨터가 계산을 하는 바로 그 출발점이에요.
0과 1의 세계에선 1+1이 10이에요
덧셈을 회로로 만들기 전에,
먼저 0과 1로 더하는 법을 봐요.
0+0은 0,
0+1은 1.
여기까진 쉽죠.
그런데 1+1은?
2가 없으니까,
자리를 올려서 10이 돼요.
십진수 10이 아니라,
이진수 일영이에요.
두 비트를 더해보세요.
그러니까 두 비트를 더하면
결과가 두 개 나와요.
하나는 그 자리에 남는 값,
하나는 다음 자리로 넘기는 값.
이 둘을 각각
합과 자리올림이라고 불러요.
합은 XOR, 자리올림은 AND
놀라운 건 여기예요.
방금 그 규칙이,
지난 시간 게이트로 딱 만들어져요.
합은 둘이 다를 때만 1이죠?
그게 바로 XOR(서로 다름).
자리올림은 둘 다 1일 때만 1이죠?
그게 바로 AND.
게이트 두 개면 끝이에요.
반가산기 · 입력을 켜보세요.
두 비트를 더해서
합과 자리올림을 내놓는
이 작은 기계를
반가산기라고 불러요.
게이트 딱 두 개로,
세상에서 가장 간단한 덧셈기를
만든 거예요.
받아올림도 더해야 진짜 덧셈
그런데 반가산기엔 빈틈이 있어요.
여러 자리를 더할 땐,
아랫자리에서 올라온 자리올림도
같이 더해야 하거든요.
그러니까 입력이 세 개가 돼요.
A, B,
그리고 아래에서 받은 올림.
이걸 다 더하는 게 전가산기예요.
전가산기 · 세 입력.
전가산기는 사실
반가산기 두 개를 이어 붙인 거예요.
작은 부품으로 조금 큰 부품을 만들고,
그걸 또 엮어서
더 큰 걸 만드는 거죠.
이게 컴퓨터를 만드는 방식이에요.
여러 개를 이으면 큰 수도 더해요
전가산기 하나는
한 자리만 더하죠.
그럼 네 자리, 여덟 자리 수는?
간단해요.
전가산기를 옆으로 죽 이어 붙이면 돼요.
한 자리의 자리올림을
바로 옆 자리의 입력으로 넘기면서요.
직접 두 수를 더해보세요.
두 수를 켜서 더하기 (4비트).
윗줄과 가운뎃줄을 켜면,
맨 아랫줄에 합이 저절로 떠요.
사람이 계산하는 게 아니라,
게이트들이 자리올림을 옆으로 넘기며
스스로 답을 만들어내는 거예요.
덧셈은 결국 게이트였어요
컴퓨터가 계산을 한다는 게,
사실은 마법이 아니었어요.
그리고·또는·아니다 게이트를,
정해진 모양으로 엮어둔 것뿐이죠.
스위치를 켜면,
전기가 게이트들을 타고 흐르면서
답이 불을 켜는 거예요.
작은 것에서 큰 것으로.
이렇게 작은 부품에서
큰 기능이 자라나요.
다음 시간엔
전기가 흐르는데도
값을 붙잡아두는 회로,
즉 기억하는 회로를 만나볼 거예요.