가산기 - 컴퓨터는 덧셈을 어떻게 할까
우리가 이제 8개의 숫자를 동시에 더할 수 있는 커다란 덧셈 기계를 만들 거예요. 이 기계를 만들기 위해, 우리는 여러 개의 전가산기라는 작은 덧셈 기계들을 사용할 거예요.
첫 걸음으로, 우리는 가장 오른쪽에서 시작해서 숫자들을 더할 거예요. 숫자들을 더할 때 맨 처음 더하는 자리는 조금 특별해요. 왜냐하면, 아직 앞에서 넘어온 올림수가 없기 때문이지요. 그래서 첫 번째 전가산기는 올림수 입력 부분에 '0'이 들어간다고 생각해야 해요. 이렇게 하면 첫 번째 자리 숫자들을 올바르게 더할 수 있어요.
이제, 그 다음 자리수를 더할 때는 이야기가 달라져요. 첫 번째 자리를 더한 후에, 만약 올림수가 생긴다면, 그 올림수를 다음 자리수를 더할 때 사용해야 해요. 그래서 두 번째 전가산기부터는 첫 번째 전가산기에서 나온 올림수를 입력으로 받아요.
이렇게 하면서, 우리는 모든 자리수를 하나씩 더해나가요. 매 자리수마다, 전가산기는 두 숫자와 바로 앞 자리에서 넘어온 올림수를 더해서 그 자리의 결과와 새로운 올림수를 만들어내요. 그리고 이 새로운 올림수는 다음 자리수를 더할 때 사용돼요.
우리가 마지막 자리수를 더하고 나면, 마지막으로 나오는 올림수는 맨 왼쪽의 추가된 자리수로 넘어가요. 이건 숫자가 하나 더 커질 수 있음을 의미해요. 예를 들어, '111'과 '111'을 더하면 '1110'이 되는 거예요.
그래서, 8개의 전가산기를 연결해서 큰 덧셈 기계를 만들 수 있어요. 각각의 전가산기는 오른쪽에서 왼쪽으로 숫자를 하나씩 더해나가면서, 각 자리에서 올림수를 다음 자리로 넘겨주는 역할을 해요. 마지막으로, 이 큰 기계는 8비트, 즉 8자리 숫자 두 개를 동시에 더하는 일을 할 수 있게 돼요.
이렇게 우리는 하나의 큰 덧셈 기계를 만들었어요. 이 기계를 통해 우리는 많은 숫자를 빠르고 정확하게 더할 수 있게 됐어요.
우리는 숫자들을 더하는 커다란 덧셈 기계를 만들었어요. 이 기계는 한 번에 많은 숫자들을 더할 수 있어요. 이 기계에는 A0부터 A7까지, 그리고 B0부터 B7까지라는 숫자 친구들이 들어가요. 그리고 나면 S0부터 S7까지라는 결과 숫자들이 나와요.
기계 안에 있는 숫자들은 마치 숫자의 '방' 같아요. A0와 B0는 가장 오른쪽 방에 있고, A7과 B7은 가장 왼쪽 방에 있어요. 이렇게 방을 나누는 이유는 각 방마다 중요한 역할이 있기 때문이에요. 가장 오른쪽 방은 '1의 자리 방'이고, 가장 왼쪽 방은 '큰 숫자 방'이에요.
예를 들어, '01101001'이라는 숫자가 있으면, 이 숫자는 마치 숫자의 집처럼 여러 방이 있는 집이에요. 이 집에서 '0'과 '1'은 각 방에 사는 작은 숫자 친구들이에요. 이 숫자 집을 십진수로 바꾸려면 각 방의 숫자 친구들을 모두 더해야 해요. 이때 각 방마다 숫자 친구들이 살고 있는 위치에 따라 특별한 곱셈을 해줘야 해요.
덧셈 기계를 그림으로 그리면, 상자 안에 숫자 친구들의 방 위치를 알려주는 이름표가 붙어요. A7 ... A0, B7 ... B0, S7 ... S0이 바로 그 이름표예요. 그리고 이 덧셈 기계는 한 번에 많은 숫자 친구들을 더해 줄 수 있어요. 화살표에 '8'이라고 쓰여 있는 것은 이 마법 상자가 한 번에 8개의 숫자 방을 더할 수 있다는 뜻이에요.
이 덧셈 기계 덕분에 우리는 많은 숫자 친구들을 한 번에 빠르게 더할 수 있어요.
우리가 숫자 더하기를 위해 만든 마법 상자, 즉 8비트 덧셈기가 있으면, 더 큰 숫자들도 더할 수 있는 방법이 있어요. 상상해보세요, 우리가 두 개의 마법 상자를 줄지어 놓고, 첫 번째 상자가 더하기를 마칠 때 나오는 작은 숫자(자리올림)를 두 번째 상자에 넣어주는 거예요. 이렇게 하면 더 큰 숫자들, 즉 16비트 숫자들도 쉽게 더할 수 있답니다.
가장 오른쪽 상자(첫 번째 덧셈기)는 시작할 때 사용하고, 여기서 나온 작은 숫자는 바로 옆 상자(두 번째 덧셈기)로 넘어가요. 두 번째 상자는 첫 번째 상자보다 조금 더 큰 숫자들을 더하는데 사용돼요. 이렇게 두 상자를 이어서 사용하면, 큰 숫자들도 마법처럼 더할 수 있어요.
그런데 여러분이 생각할 수도 있어요. "진짜 컴퓨터도 이렇게 숫자를 더할까?" 사실, 기본적으로는 비슷해요. 하지만, 실제 컴퓨터는 우리가 만든 마법 상자보다 훨씬 빨라요. 우리 마법 상자가 숫자를 하나씩 차례대로 더하는 동안, 진짜 컴퓨터는 여러 숫자를 한 번에 빠르게 더할 수 있어요. 이것을 가능하게 하는 것은 '예측 덧셈기'라는 특별한 마법 상자예요. 이 상자는 미래의 작은 숫자(자리올림)를 미리 예측해서, 더하기를 더 빠르게 해요.
또 다른 차이점은, 컴퓨터가 더하기를 할 때, 예전에는 크고 느리고 시끄러운 장치를 사용했지만, 지금은 아주 작고 빠르며 조용한 '트랜지스터'라는 것을 사용해요. 이 작은 마법의 조각들은 우리가 만든 덧셈기와 같은 일을 하지만, 훨씬 더 작고 효율적이랍니다. 그래서 컴퓨터는 우리가 만든 덧셈기보다 훨씬 많은 일을 할 수 있어요, 그리고 그 모든 일을 눈 깜짝할 사이에 해내죠.
결국, 우리가 만든 8비트 덧셈기는 컴퓨터가 숫자를 더하는 방법을 이해하는 데 도움을 줘요. 하지만 실제 컴퓨터는 이 작은 마법 상자들, 즉 트랜지스터를 사용해서 훨씬 더 놀라운 일을 해내고 있어요.