(1- 208 김향곤 고소, 벌금) 이라고 쓰여 있다.
시작하며
"아, 이제 알았어. 그것이 바로 원인이야. 너희들의 세계에서는 숫자가 발달하지 않았어. 이것이 너희 세계에서 컴퓨터가 생겨날 수 없는 이유 중의 하나야."
제1부
숫자로 정보를 표현하는 것
첫 번째 이야기
숫자의 역사
수와 숫자는 다르다
...미국에서는 '컴류터 발명자'가 누구인가 하는 문제로 재판까지 열렸다고 하니까." 대부분 그렇겠지만, '발명'이라고 해도 인간 혼자서 처음부터 완전히 새로운 것을 만들어 내는 일은 거의 없을 거야. 발명이라고하는 것은 대부분 지금까지의 역사 속에서 만들어지거나 기술과의 결합으로 이루어지니까.
가령 누군가 위대한 발명을 했다고 해도 반드시 그것은 그 사람만의 업적이 아니고, 역사 속의 많은 사람들이 쌓아 온 '아이디어', '연구', '기술' 들의 결과물이라고 할 수 있는 거야. 그래서 지금부터 컴퓨터의 발명과 관련된 아이디어나 연구 중에서 꽤 오래된 것부터 하나씩 이야기하려고 해. 바로 '숫자'의 발명에 대한 이야기야.
너 숫자가 무엇인가는 알고 있지?
물론이죠. 인간세계의 숫자도 알고 있어요. 1, 2, 3과 5
그러면 '수'라고 하는 것은 무엇일까?
수도 숫자와 똑같이 1, 2? ...어? 수와 숫자가 같네. 이상한데. 수와 숫자는 왠지 다를 것 같은데?
그렇지. 수와 숫자는 달라. 숫자는 수를 표시하기 위한 1, 2, 3 기호를 말하고,
수는 1, 2, 3 등의 숫자가 나타내고 있는 추상적인 개념이야.
추상적이라는 것은 눈에 보이지도 않고 들리지도 않고 손 댈 수도 없는 것을 말하는 거죠? 그렇지만 1이나 2는 눈에 보여요. 이전에 인간이 운영하는 빵집에 갔는데 수의 모양을 한 양초가 있었어요. 우와~, 귀여웠고 만질 수도 있었어요.
우리는 '3'이라는 기호를 사용하지만, 이것과는 별개로 '三'이라는 한자 숫자도 사용해. 또 로마 숫자는 'Ⅲ'이라는 기호를 사용하고, 기호는 모두 다르지만 같은 수를 나타내고 있어.
즉, '기호 그 자체'와 '그 기호가 표시하고 있는 것'을 구별하고 있다는 것이네요.
그래 맞아. 숫자는 수를 나타내고, 수는 숫자에 의해 표현되는 거야.
네. 하지만 수가 추상적이고 눈에 보이지 않는다는 사실이 아직 납득이 되지 않아요. 왜냐면 5라는 숫자를 모르는 사람에게 돌을 5개 나열해 놓고 "이것이 5라는 수예요." 라고 가르칠 수 있잖아요.
음... 하지만 그 '다섯 개의 돌'은 5라는 수 그 자체가 아니라, '다섯개를 나타내고 있는 것'의 하나의 예일 뿐이야. 그 증거로 케이크를 다섯 개 나열해도, 책을 다섯 권 나열해도, TV의 '독수리 5형제'의 영웅을 다섯 명 나열한다고 해도 "이 수는 5입니다." 라고 말할 수 있어.
아, 그러네요.
즉, 5라고 하는 것은 돌, 케이크, 사람들의 집합 자체가 아니라, 그들이 공통적으로 갖고 있는 '성질'과 같은 것이라 할 수 있어. 이것 또한 '수란 무엇인가?'에 대한 정확한 답변이 될 수는 없겠지만. 수가 무엇인지에 대한 정확한 대답은 대학의 수학 수업에서 배울 것이므로, 여기에서 따로 언급하지 않으려고 해.
대학에서 처음 배우는 것인가요? '수의 의미'는 꽤 어려운 것인가보네요.
'숫자'는 눈에 보이지만, '수'는 눈에 보이지 않습니다. 눈에 보이지 않는 '수'를 글로 나타내기 위해 '숫자'가 있는 것입니다.
수는 어떻게 생겨난 걸까?
인간의 눈은 5개보다 많은 물건의 수를 한 번에 파악할 수 없다. 어린 아이들이 '1', '2', '많이' 라고 말하는 것을 듣고 웃는 사람들도, 한눈에 5개와 6개를 파악하지 못한다. 아마도 인간의 눈에는 이와 같이 약점이 있기 때문에 수를 발명한 것(일 것)이다. ㅡ드니 게즈
하지만 수를 사용하지 않아도 물건의 양을 말할 수는 있다고 생각해요. 예를 들면 '많다', '적다', '매우 많다', '조금 적다', '약간 많다' 등으로 말할 수 있지 않나요? 우리 요정의 세계에서는 수를 사용하는 것보다 그렇게 말하는 경우가 더 많거든요.
음. 일리는 있어. '많다', '적다' 라고 하는 것은 사람에 따라 다르기도 하고 문맥에 따라달라지기도 해. 가령 같은 음식을 먹어도, "아이치고는 많이 먹는 편이네요.", "운동선수 치고는 적게 먹네요." 이런 식으로 말할 수 있겠지. 개인에 따라서로 다른 기준에 의존하지 않고 객관적으로 물건의 양과 크기 등을 파악하기 위해서는 역시 수를 이용할 수밖에 없는 거야.
인간의 경우는 수를 사용할 수 있었기 때문에, 자신의 감각 이상의 지식과 정보를 손에 넣을 수 있게 된 것이라고 생각해. 이것은 그 이전 사람들이 봤을 때, 마치 '신의 눈'을 가졌다고 생각했던 것 같아. 실제로 역사를 통해 보더라도 '수를 사용할 줄 아는 것은 큰 힘을 갖고 있다'는 것을 의미하고 있었던 것 같아.
왜냐하면, 수로 표현되는 정보는 현재와 과거뿐만 아니라, 수를 계산하여 미래의 일이나 가정까지 예측할 수 있기 때문에, 수를 계산할 수 없는 사람들은 수를 계산할 수 있는 사람들이 마치 마법을 사용하는 것처럼 보였을 테니까.
수를 사용할 수 있게 되자 인간은 '감각으로 파악할 수 있는 것' 보다 더 많은 것을 파악할 수 있었습니다.
수를 표현하는 문제
인간은 원래 사냥에서 잡은 먹이의 수를 기록할 때, 뼈와 나무 조각에 표식을 넣었어. 기원전 3만 년, 뼈나나무에 상처를 내서 수를 기록했던 흔적이 있다고 해.
그게 뭔데?
'正'자를 사용하는 방법이에요. 그것은 한눈에 봐도 알기 쉬워서 좋은 방법 같아요.
'正'자의 방법은 5를 한 덩어리로 생각하여 수를 '묶음' 단위로 표현하는 거란다. 수를 묶음 단위로 보여주는 방식은 기원전 8000년에 메소포타미아의 수메르인들이 사용했던 것 같아. 그들은 열러 종류의 돌을 사용하여 각각 1, 10, 60, 600, 3600, 36000에 대응시키고 있었어. 그 예로, 152는 60의 돌이 2개, 10의 돌이 3개, 1의 돌을 2개로 표현하고 있었지.
메소포타미아의 수메르는 어디인가요?
수메르는 메소포타미아의 가장 남쪽 지방으로 오늘날의 이라크의 남부지역입니다. 수메르인들은 왕이 죽으면 저승에서도 사람들을 거느릴 수 있도록 가족과 노예는 물론 왕궁에서 사용했던 물건들을 함께 묻었기 때문에 부장품을 통해서 그들의 찬란했던 문명을 추측해 볼 수 있습니다.
그래요? 하지만 60으로 수를 정리하는 것은 좀 이상하다는 생각이 드는데...... 까다로운 것 같아요.
일설에 의하면, 60에는 약수가 많기 때문에 즐겨 사용되고 있었다고해.
약수
다양한 숫자
세계에서 가장 오래된 숫자는 수메르인이 기록한 우루크 고문서에 나타나 있는 '가로 종 모양'의 숫자였던 것 같아. 아마 기원전 3100년경 것으로 보이고, 그 이후 역사에 나타나 있는 바에 따르면 다양한 숫자가 사용되었어. 고대 이집트에서 사용된 숫자는 이런 것이었지.
세로 막대가 1, U자를 거꾸로 한 것 같은 기호가 10, 이것은 말의 발굽이 유래인 것 같아. 빙글빙글 감긴 로프가 100, 수련꽃이 1000, 손가락이 10000, 개구리가 되기 전의 올챙이가 100000. 올챙이가 큰 숫자의 기호로 사용되고 있었던 것은 나일강에 많이 있었기 때문인 것 같아. 그리고 1000000을 나타내는 것은 '해후'라고하는 신인 것 같아.
그럼, 23206이라는 숫자는 이집트 숫자로 다음과 같이 표현되겠지?
우리가 지금 사용하고 있는 아라비아 숫자는 자릿수가 다른 수를 서로 비교할 때 '숫자의 길이가 긴 쪽이 큰 수를 나타낸다'는 거야. 가령 10000과 9999라면 만 쪽이 9999보다 긴 숫자로 되어있어. 즉, 숫자의 크기와 숫자의 길이가 완전히 대응하고 있는 거지. 하지만 이집트 숫자는 10000이 더 큰 숫자인데, 9999를 나타내는 숫자가 더 길어.
심지어 10억, 100ㅇ억 뿐만 아니라 점점 더 큰 수를 생각해 나가다 보면, 큰 단위를 나타내는 기호는 아무리 많다고 해도 부족할 수밖에 없을 거야.
아, 그렇군요. 수는 무한하기 때문에 새로운 기호 또한 무한대로 만들지 않으면 언젠가는 '표현할 수 없는 숫자'가 생기게 되겠군요.
사실 우리가 사용하는 '한자 숫자'에서도 같은 일이 일어나고 있어. 일, 십, 백, 천, 만 십만, 백만, 천만, 억, 십억, 백억, 천억, 조, 십조, 백조, 천조, 경, 해, 시, 양, 구, 간, 정, 재, 극, 항하사, 아승지, 나유타, 불가사의, 무량대수가 돼.
(천조보다 더 큰 단위는 어떻게 나타내는지 알아?
그게, 경이라는 단어를 들은 적이 있어요.
그래. '경'이라는 새로운 한자를 사용해. 그 다음에는 '해'가 오고, 이후 11개의 한자가 계속되고, 마지막은 '무량대수'로 끝나.)
결국 90자리 정도까지 표현할 수 있지만 거기까지가 전부야. 그것보다 더 큰 수는 존재하지만 '무량대수' 그 이상을 한자 숫자로 표현할 수는 없어.
10의 거듭제곱이라고 하는 것은, 간단히 말하면 10을 몇 번 곱하는가야. 10의 제곱이라고 쓰면, 10을 3번 곱한 것이지. 10의 3제곱은 10을 3번 곱한 값이고, 그래서 10*10*10하면 1000이 돼.
그래서 10의 1제곱은 10이고
10의 0제곱은 1이 되는 거야. 그 이유는 조금 까다롭기 때문에, 여기에서는 설명하지 않을 거야.
아라비아 숫자로 2152라고 쓰는 경우 오른쪽에서 첫 번째 숫자는 10의 0제곱이 몇 개인지를 나타내고,
두번째 숫자는 10의 1제곱이 몇 개 있는지 나타내는 거야. 마찬가지로 오른쪽에서 세 번째 숫자는 10의 제곱이 몇 개인지, 네 번째 숫자는 10의 3제곱이 몇 개인지를 나타내는 것이지.
현재시간 24/1/3일 08:09, 아침집자 終.)
우리들이 사용하고 있는 아라비아 숫자는 이런 문제들을 해결한 거야. ...즉 아라비아 숫자는 10의 거듭제곱 단위로 '자리올림'을 하는 것이야.
(24/1/3, 수요일 22:03 그러니까 어떤 수의 0의 제곱은 '1'이 되는 거야. 정해져 있어. 그 이유는 조금 까다롭기 때문에 여기에서는 설명하지 않을 거야.
초등학교에서는 1의 자리, 10의 자리, 100의 자리... 라고 배우지만 이것은 10의 0제곱자리, 10의 1제곱 자리, 10의 2제곱 자리... 바꿔 말하면, 10의 거듭제곱이 단위로 사용되고 있다는 것을 알 수 있을 거야. 이렇게 아라비아 숫자와 같은 수의 표현방법을 위치 기수법이라고 불러.
아라비아 숫자와 같이 위치 기수법으로 수를 나타내면, 왼쪽의 한 자리만 증가하면 얼마든지 큰 수를 나타낼 수 있어. 물론 종이처럼 한정된 공간에 숫자를 칠 때는, 공간이 한정되어 더는 쓸 수없는 수가 나오기도 하겠지만. 적어도 자릿수가 늘어날 때마다 경이나 해 등과 같은 새로운 기호를 만들 필요는 없게 되지.
아라비아 숫자는 계산할 2개의 수를 세로로 정렬해. 이때 1의 자리, 10의 자리, 100의 자리를 위, 아래로 일렬로 정렬을 시켜. 이건 계산할 때 정말 중요해.
고대 그리스에서는 기하학이 발달하기는 했지만, 다른 한편으로는 대수학이 그다지 발달하지 않았었어. 이것은 수를 표시하는 방법이 이해가기 어려웠기 때문이라는 얘기가 있어.
기하학과 대수학
대수학Algebra은 대수代數 즉, 수를 대신한다는 이름 그대로 수를 대신해서 문자를 사용하는 방법으로 방정식을 푸는 방법을 연구하는 학문에서 시작되었습니다. 기하학과 해석학 정수론과 함께 대수학은 수학의 커다란 분야 중 하나입니다.
두 번째 이야기
이진법 숫자와 컴퓨터
'컴퓨터는 이진수를 사용한다!!' 는 얘기를 혹시 들어 본 적 있나요?
그렇다면 컴퓨터는 왜 0과 1과 같은 이진수만을 이해하는 것일까요?
수에대해 처음 배우기 시작할 때 가장 사용하기 좋은 도구는 손가락이었습니다. 손가락을 접어가면서 숫자를 배우고 계산을 했었던 생각이 납니다. 그래서 우리는 0부터 9를 사용하는 십진수에 익숙한 것인지도 모릅니다. 그런데 컴퓨터는 전기제품의 하나입니다. 즉, 컴퓨터가 무언가를 표현하려면 전기의 온on과 오프off. 이 두 가지 상태밖에 없기 때문에 이진수를 사용하는 것이 당연할지도 모르겠습니다.
여기에서는 이진법이 무엇이며, 우리가 평소 사용하고 있는 십진법을, 컴퓨터 내부에서는 어떻게 이진법으로 변환하여 이해하고 있는지에 대해 설명합니다.
그런데 언제 컴퓨터 얘기를 해 줄 건가요? 숫자 이야기만 계속 하고 있어서요.
으응~~? 나는 계속 컴퓨터 얘기를 하고 있었다구~
아, 그래요?
왜냐하면 지금의 컴퓨터가 있는 것은 지금까지 얘기했던 '이진법'과 '위치 기수법'이 있었기 때문이거든.
이진법이라구요?
응. 이진법은 2개를 한 묶음으로 수를 나타내는 방법이야. 이진법을 아라비아 숫자로 위치 기수법을 사용하여 써 보면 0에서 19까지의 수는 다음과 같아.
허걱!!
왜?
이거... 전혀 모르겠어요. 1 다음이 갑자기 10이라니, 어떻게 된 거죠? 1 다음은 2 아닌가요?
이진법에서는 1과 0만으로 수를 표현해. 2부터 9까지의 숫자는 사용하지 않아. 1과 0만으로 1보다 큰 수를 나타내려면 10을 사용할 수밖에 없어. 그리고 10의 다음은 11,ㅡ 11은 두 자리로 나타낼 수 있는 가장 큰 수가 돼. 그래서 이것보다 더 큰 수를 나타내려면 세 자리 수로 자리올림을 해야만 해. 그래서 100이 되고. 그런데 이것도 사실 우리가 평소 사용하는 십진법의 아라비아 숫자와 같아.
위치 기수법의 '작성법'을 그대로 따르고 있거든.
먼저 오른쪽 첫 번째 숫자는 2의 0제곱, 즉 1이 몇 개 있는지를 나타내. 그리고
오른쪽에서 두 번째 숫자는 2의 1제곱, 즉 2가 몇 개 있는지를 나타내고.
오른쪽에서 세번째 숫자는 2의 2제곱, 즉 4가 몇 개 있는지를 나타내고 있어. 그리고
네 번째 숫자는 2의 3제곱, 즉 8이 몇 개 있는지를 나타내고 있는 거야.
수를 이진법으로, 게다가 '위치 기수법'의 아라비아 숫자로 표현하려면 0과 1만 사용해서 수를 표현할 수 있습니다. 이런 식으로 각 자리의 숫자는 2의 거듭제곱의 수가 몇 개 있는지를 나타내고 있어. 어때 아라비아 숫자와 똑같지?
음. 그러면 이진법의 수 10의 경우는 오른쪽부터 보면 1이 0개 있고, 2가 1개 있는 것이니까, 결국 2를 나타내는 거네요? 그러면 101은 어떻게 되느냐면~~ 오른쪽부터 1이 1개, 2가 0개, 2의 2제곱 즉 4가 1개이기 때문에, 1더하기 4하면 5가 된다?! 아, 그렇네요. 하지만 이 숫자, 웬지 마음에 들지는 않아요. 복잡해서 눈이 아플 지경이에요...
그래, 보기 좀 힘들지? 그렇지만 컴퓨터 내부에서 사용되고 있는 것이 바로 이 이진법이야.
아, 그래요? 그런데 저도 컴퓨터에 있는 '계산기 프로그램' 써 본 적 있어요. 정말 편리했지만, 십진법으로 계산하고 있었던 것 같아요.
아, 계산기! 확실히 그건, 우리가 계산하고자 하는 수를 입력하거나 계산한 결과를 보여줄 때 십진법으로 표시하고 있어. 그렇지만 컴퓨터의 내부에서는 이진법 숫자로 변환되어 있어.
왜 일부러 십진법에서 이진법으로 바꾸는 거죠? 그대로 십진법으로 계산하면 편할 것 같은데요.
응, 먼저 전기는 켜거나 on 끄거나 off 두 가지 상태를 구별할 수 있거든. 전기가 흐르고 있는 경우가 온ON, 전기가 흐르고 있지 않을 때가 오프OFF라는 방식으로.
또 '전압이 높다, 낮다'의 상태도 있고. 이러한 전기의 두 가지 상태는 1과 0이라는 숫자로 쉽게 표현할 수가 있어.
현재시간 24/1/3, 23:26 오늘 집자 終. 2-518은 나무깍는 도구인 깍기에 아킬레스건 쪽에 상처를 입었는데도 아프다는 말 한마디 안했어ㅜ 왜 다쳤다는 말을 안하고 참았을까? 그렇게 아픔을 참고 숨기며 삶을 살아왔는가 싶어 순간 가슴이 멍해 왔다. 흰 가루를 뿌리면서 그것이 마데카솔이라고.. 접이식 반창고를 정성껏 둘러 붙여주었다. 깍끼가 명백하게 등에 닿아 밀리고 있었고, 나는 그것이 위험하다고 생각되어 붙잡으려다가 그만 놓치고 말았다. 사정을 모른 채 아마도 나는 코킹을 하고 있었을 터였고, 어느 순간에 피를 닦은 휴지가 보였다. 흰 휴지의 붉은 피... 후시딘 5그램, 소독약과 붕대를 사 주었다. 달지 않은 과자와 옥수수땅콩 각 1. 밥상이 놓여 있었고 비누로 닦은 깨끗한 표정이 거기 있었다. )
(24/1/5, 금욜, 08;09
다리 하나하나는 전압이 높거나 낮은 상태 중의 하나를 갖고 있거든 그리고 높은 전압을 띤 상태는 이진법의 1을 나타내고, 낮은 전압을 띤 상태는 0을 나타낸다고 간주하는 거야. 만일 높은 전압을 5V, 낮은 전압을 0볼트라 한다면? 그렇다면 '10101101'이라는 이진법 숫자는 이 삐죽삐죽한 다리 하나하나에 '5볼트 0볼트 5볼트 0ㅂ볼트 5볼트 5볼트 0ㅂ볼트 5볼트' 라는 신호의 패턴으로 전달되는 거지.
인간세계에서는 전기를 동력으로 사용, 열이나 빛으로 변환하는 경우가 많아. 즉 에너지로 이용하고 있지. 이에 반해 컴퓨터는 전기의 온.오프가 숫자를 나타내기 위해 사용되기 때문에 전기로 표시할 수 있는 숫자나 기타 다른 정보를 표시할 수 있는 거야.
전기가 물건을 움직이게 하는 '에너지'에서 '정보를 나타낼 수 있게' 되었다는 예기네요.
전기? 자기? 빛?
자력을 이용한 기록장치는 자력을 띠는 물질이 오른쪽 그림과 같이 나열되어있어. 자력을 띤 물질끼리의 경계에서 자력의 방향, 즉 S극과 N극의 방향이 바뀌는 곳을 1, 바뀌지 않는 곳을 0에 대응하여 숫자를 기억시키는 방식이야.
그림
그리고 CD나 DVD 등과 같이 빛을 이용한 기록 장치는, 빛을 발산하는 강도와 시간에 따라 원자가 규칙적으로 나열된 곳과 불규칙하게 나열된 곳으로 분리할 수 있어. 원자가 규칙적으로 나열되어 있는 곳은 빛을 쬐면 잘 반사하지만, 비규칙적으로나열되어 있는 곳은 빛을 쬐면 흩어져 버려. 이와 같이 '두 가지 상태'만 있으면 이진법 숫자로 표현할 수 있게 되는 거지.
세 번째 이야기
숫자에 의한 정보 표현
결국, 전화번호는 '수'를 표시하는 것은 아니라는 거지.
그러면 전화번호는 무엇을 표시하는 것일까요?
전화번호는 어떤 하나의 전화가 다른 모든 전화와 다르다는 것을 나타내고있어. 그래서 누군가 너의 전화번호를 누르면 다른 전화로 연결되지않고, 네 전화로 연결되는 것이지.
흐~음
이렇게 보다 보면 전화번호처럼 물건을 구별하는 데에만 사용되는 숫자, 즉 '식별번호'역할을 하는 숫자가 우리의 생활 속에 많이 있다는 것을 알 수 있을 거야.
문자와 색 그림
아침집자 終. 08:32 오늘 2- 418 창틀 방수작업과 어제 담장 줄눈작업이 나를 기다리고 있다. 두 개를 한꺼번에 할 수 있을지 어떨지가 관건이다. 월요일이 무지 추우니까(영하 8도섭씨) 오늘 줄눈까지도 마감해 놓아야 맘 편할 수 있겠다. 주소장과 잘 협력하고 대화하면서 즐겁게 일하자^^ 너 혼자 잘났다고 나대지 말고. 어제 전주임더러 (예반장에게 "커피한잔 하실래요?' )그러지 말고 드시고 싶으면 본인이 타서 드시게 해요~ 라고 한 말도 어찌보면 나댄경우라고 볼 수 있지 않을까? 내 일도 아닌데... )
(24/1/6, 08:14 위의 글, 을 읽어보니 '주소장과 잘 협력하고 대화하면서 즐겁게 일하자^^' 라고 쓰여 있다. 그렇게 말한 것은 아마도 그렇게 되지 않을까 염려를 했다는 얘긴데..., 아! 인간의 망각이여. 담장 벽돌의 최종작업인 줄눈을 하다가 마지막에 빗자루질을 할까요? 해서 그러라고 했는데 대나무 빗자루로 쓸고 있다니ㅜ 지나간 일이니 恨嘆하면 뭐하랴. 그는 속상했을 것이다. 그래서 그가 말했던 금요일의 회식은 파기되었다. 퇴근할 때 사무실의 그에게 문을 열고 인사하니 그의 불편해하던 표정을 보았던 거 같다. 평소같았으면 화답하였을텐데... 그러나 나는 대빗자루 사용했을 때 내가 한 말에 대하여 사과하지 않겠다고생각하고 있었다. 그러나 퇴근할 때 그의 심사를 생각하니 나 역시 괴로웠다. 이서방이 현관문 페인트를 곤색으로 칠해 주었고, 로아천사가 즐겁게 뛰어노는 것을 보면서 마음의 갈등은 조금씩 엷어져 갔다. 오늘 아침은 더 편안하다. 이번 일로 그의 툭 하면 한숨 쉬는 거, 갈등하는 내심이 뻔히 보이면서 하는 언어 등을 바꿀 수 없다는 것을 잘 안다. 장기 근무 관련하여 하나의 분수령이 될 것 같다. 침묵과 적절한 시점에서 사과하면서 술한잔 하며 풀자.
1과 0만으로 얼마나 표현할 수 있는가?
이진법 숫자라면 숫자의 종류가 1과 0밖에 없어서, 많은 것을 구별할 수는 없을 것 같아요.
물론, 숫자의 길이가 한 자리라면 1과 0뿐이니까 두 가지 밖에 없겠지. 하지만 이진법이라도 숫자의 자릿수를 늘리면 그만큼 많은 '숫자'를 말들 수 있어. 음... 이진법의 두 자리 숫자는 몇개?
음 그러니까, 10과 11. 즉 2개입니다.
0이 앞에 오는 경우도 생각하면 01과 00도 있으니까 4개가 되겠지?
아, 그런 경우도 포함하나요?
그럼, 세 자리 숫자는 몇 개나 될까?
이것은... 우선 111과 000이 있고ㅡ, 또 100과 001이 있지요?
저런, 아직 많은데... 101, 010, 110, 011도 있지.
그런가, 전부 8개네요.
네 자리 숫자는 16개가 있어.
다섯 자리의 숫자는 2의 5제곱 32개,
여섯 자리의 숫자는 2의 6제곱 64개,
일곱자리의 숫자는 2의 7제곱 128개,
여덟 자리의 숫자는 2의 8제곱 256개,
여덟자리의 이진법 숫자는......
아, 이제 됐어요~ 왜 n을 사용해야 하는지 알겠어요. 말이 너무 길어지기 때문인가봐요!
ㅎ아마 영원히끝나지 않을 걸. 그렇지만, n을 사용하면 짧게 말할 수 있어.
신문지를 42번 접으면 달에 닿을 수 있다?
신문지를 반으로 접고 접으면 몇 번이나 접을 수 있을까요? A4용지를 직접 접어 보면 의외로 7번을 넘기기가 힘들다는 것을 느낍니다. 더 얇고 넓은 신문지를 접어도 겨우 한 번 정도 더 접을 수 있을 뿐입니다.
이렇게 신문지를 여러 번 접을 수 없는 이유는 접으면 접을수록 그 두께가 배수로 늘어나기 때문입니다. 한 번 접을 때마다 신문지의 두께는 2배씩 늘어나는데 한 번 접힌 신문지를 한 번 더 접었을 때는 2에서 4로 2만큼 늘어나지만, 열 번 접힌 신문지를 한 번 더 접었을 때는 1,024에서 2048로 1,024 만큼 늘어납니다.
여기에 계산기로 2를 10번만 더 곱해 보면(20번 접는 셈) 1,048,576이라는 수가나오는데 웬만한 계산기로는 2를 42번 곱한 값을 표시하지 못합니다. 숫자가 너무 길어져서 계산 값을 표시할 공간이 부족하기 때문입니다. 실제 계산값은 4,398,046,511,104로 4조3천9백80억4천6백51만천백4입니다.
그렇기 때문에 두께가 0.1mm밖에 안 되는 종이도 42번을 접으면 두께가 4,398,046,511,104mm로, 약 44만km가 되는 것입니다. 이 길이는 지구 둘레의 11배나 되며, 지구에서 달까지의 거리보다도 긴 거리입니다.
문자를 숫자로 표현한다
PC의 키보드로 영어 문장을 입력하는 것을 생각해 보자구. 이때 사용할 수 있는 문자는 알파벳의 대문자와 소문자, 숫자와 기호, 공백 등을 포함하여 대략 120자 정도야. 이진법 숫자가 120개 이상이 되니까, n이 몇 개일 때 '2의 n제곱'이 120이상이 되는지 조사하면 돼.
이런 식으로, 문자 등의 정보에 1과 0만으로 이루어진 이진법 숫자를 할당하는 것을 코드화한다고 해. 그리고 a를 나타내는 1000001과 같이, 정보를 나타내는 숫자를 코드라고 불러.
음... 비트 또는 바이트라는 단위를 들어본 적 있니?
(24/1/8, 월 05:58 먼저, 비트라고 하는 것은 이진법의 한 자리, 즉 1 또는 0으로나타낼 수 있는 정보 단위야. 바이트는 이진법의 여덟 자리로 나타낼 수 있는 정보의 단위이고. 여덟자리이기 때문에 8비트에 해당하겠지.
한글은 자음과 모음, 그리고 받침으로 구성되어 있어. 2바이트 코드를 할당하고 있거든. 덧붙여서 바이트byte라는 단어를 처음 사용한 사람은 정보 과학자인 베르너 벅홀츠 입니다. 바이트는 비트bit와의 혼란을 피하기 위하여 사용했으며, 그는 '바이트'를 문자를 코드화하기 위해 사용할 비트의 그룹' 이라고 설명하고 있습니다.
글씨가 깨진 이유 중의 하나는, 문서를 작성할 쌔 사용한 코드 체계와 그것을 읽을 때 사용하는 코드 체계가 서로 일치하지 않는 경우야.
색을 숫자로 표현한다
컴퓨터는 색 정보도 이진법 숫자를 사용해. 픽셀이라는 말, 들어 본 적 있어?
픽셀? 모르겠어요.
컴퓨터에서 사진이나 그림을 본 적이 있을 거야. 컴퓨터에서 보이는 화상은, 색을 가진 작은 사각형 점이 모아진 거야. 이 작은 사각형 점을 픽셀이라고 해. 사진을 점점 확대해 보면 어떤 방식으로 사각형 점들이 모여 있는지 볼 수 있을 거야. 풀 컬러(3바이트, 즉 24자리의 숫자를 사용항여 색을 구별하면) 이미지로 구별되는 색상의 수(1677만 7216색)는 인간의 눈으로 식별할 수 있는 색의 수보다 훨씬 많습니다. 8비트를 사용할 수 있다면 256개의 색을 구별할 수 있어.
소리는 어떻게 표현하는가?
소리도 1과 0으로 이루어진 숫자로 나타낼 수 있어. 먼저 소리는 그 자체에 대해 생각해 볼까? 지금 내가 너에게 말하고 있는 이 목소리는, 목 주변에 있는 성대를 울려서 일으킨 '진동'이야. 이 진동은 공기의 압력을 변화시키고, 공기의 압력 변화는 '파장'을 일으켜서 너의 귀에 전달되게 해. 이 파장을 음파라고 해. 목소리뿐만 아니라 다른 소리도 똑같아. 물건과 물건이 무딪쳐서 나는 소리는 부딪쳤을 때의 지니동이 음파로 변해 공기 중에 전해지기 때문이야.
소리는 음파가 어떤 형태를 하고 있는지에 따라 어떤 소리인지를 구별할 수 있어. 음... 이를테면, 음파의 파장이 빠르게 오르내리는 경우는 천천히 오르내리는 때에 비해 높은 소리가 되고, 음파가 클수록 큰 소리가 되는 거지. 소리를 재현하려면 음파의 특징을 어떤 형태로든 기록해서 그것과 똑같은 형태의 음파를 일으키면 돼. 컴퓨터에서 소리를 다룰 수 있는 것은 '음파의 특징'을 숫자로 기록하고 있기 때문이야. 그러기 위해서는 먼저 음파를 일정시간 단위로 '잘라'보는 거야.
...그림 우측 아래 오른쪽의 음파 형태는 노래를 폰으로하고 실행했을 때 주로 보이던 패턴이 아닌가!
디지털과 아날로그의 차이
이진법 숫자로 음파의 특징을 기록할 때 아무리 노력해도 빠지는 정보가 있기 마련이야. 표본화와 양자화를 아무리 치밀하게 한다고 해도 숫자로 펴시하는 한, 원래 소리를 끊김 없이 재현하는 것은 무리야. 그렇지만 이진법 숫자로 변환하는 것이 아닌 다른 방법을 사용하면 끊김없이 재현할 수 있는 방법이 있기는 해.
아날로그 회선 전화를 들어 본 적 있니? 아날로그 회선의 전화는 이쪽에서 말한 소리를 전기로 변환하지. 그때, 음파의 강약을 전기파의 강약으로 전달하는 거야. 그리고 상대의 전화기는 그 전기파의 강도를 다시 음파의 강약으로 변환해. 그러면 상대방에게 내 목소리가 잘 전달되게 되는 거지.
음파를 잘라 이진법숫자로 나타내는 방식이 바로 디지철이야. 숫자로 나타낸다고 해도, 무한정 긴 숫자는 사용할 수 없어. 그래서 '자리올림을 한 적당한 부분에서 미세한 값을 잘라 버린 후, 대략적인 값'으로 만들어. 이 값을 근사치라고 해.
아날로그는 원래의 장보를 하나도 버리지 않고 기록할 수 있어서 그게 장점이야. 디지털은 문자, 이미지, 소리, 그리고 영상 등 전부 이진법 수로 나타낼 수 있기 때문에 모두 다 컴퓨터로 다룰 수 있어. 10년 전에만 해도 촬영한 사진을 카메라로 현상해야 했었고, 레코드플레이어를 사용해야 했었어. 각기 다른 도구가 필요했던 거지.
아날로그 정보는 시간이 지나거나 반복해서 복사하거나 하면 점점 정보의 품질이 나빠지는 일이 자주있거든. 그것에 반해 디지털 정보는 기본적으로 숫자여서 정보의 품질이 나빠지는 일은 드물어.
바빌로니아 숫자와 제로의 발명
바빌로니아 숫자는 위치 기수법의 숫자 중의 하나야. 기원전 1800년 경일 거야. 바빌로니아에서는 육십진법을 사용하고 있었기 때문에, 1부터 59까지의 서로 다른 숫자를 사용하고 있었어.
그림바빌로니아 숫자
0의 개념은 7세기경 인도에서 탄생했어. 사실 아라비아 숫자도 원래 1~2세기에 인도에서발명된 것 같아. 0이 추가되면서 어떤 숫자라도 표현할 수 있었던 셈이지.
인도에서 발명됐어요?
그런데 왜 아라비아 숫자라고 부르나요?
아라비아 숫자라고 불리게 된 것은 773년 인도의 천문학자가 인도의 숫자를 아라비아에 전하고, 그후 아라비아에서 세계로 널리 전파했기 때문인 것 같아. 그때까지 아라비아 사람은 숫자를 가지고 있지 않아서 말로 하거나 정복한 민족의 숫자를 그대로 사용하거나 수대명사를 이용하기도 했었다고 해. 하지만 인도로부터 숫자를배워서 아라비아의 수학은 비약적으로 발달한 거야.
며칠 후
" 전기도 자동차도 전화도 곧 나올 예정입니다. 하지만 이대로는 컴퓨터를 만들 수 없다고 하였습니다."
아 그래! 너 방금 전에 수학이 굉장히 발전했다고 했는데 '논리학'도 발전했어?
논리학은 말이야. 음 간단히 말하자면, '올바른 추론은 무엇인가'에 대해 연구하는 학문이야. 추론이란 '이미 알고 있는 것으로부터 아직 모르는 것을 이끌어내는 것'을 말해. 평상시 누구나 머릿속으로 하고 있는 것이지.
그 논리학이라는 것이 컴퓨터와 관계가 있어요?
당연하지. 인간의 세계에는 논리학이 있기 때문에 전기로 계산을 할 수 있게 되었어. 논리학은 컴의 발명에 반드시 필요한 것이야.
제2부
전기로 계산을 표현하는 것
네 번째 이야기
컴에서의 덧셈
제 요정 친구 이야기가 떠올라요! 요정의 나라에서도 최근 선거를 할 수 있게 되었어요. 새로운 결정을 할 때, 찬성이나 반대를 투표할 수 있게 되었죠. 하지만 요정 중에는 '어떻게 결정해야 할 지 모르겠다'고 말하는 요정이 아직 많아요. 내가 아는 사람은 장로 2명이 찬성하는지 반대하는지를 보고 결정한다고 하더라구요. 장로 2명이 모두 찬성하면 찬성. 어느 한쪽이 반대하고 있거나 둘 다 반대하면 반대로 결정하고 있다고 해요. 매우 신중한 성격이라, 그렇게 하지 않으면 불안하다고 하더라구요.
아, 그렇구나. 스스로 결정할 수 없는 사람의 결정 방법과 이진법 덧셈의 두 번째 자리의 결정 방법이 닮았네. 그럼 이번에는 더한 결과의 첫 번째 자리의 숫자에 주목하자. 이것은 더한 수와 더해지는 수 중 어는 한쪽만 1이 되고, 양쪽 모두 1일 때와 양쪽 모두 0이면 0이 돼.
이 XOR회로(균형을 중시한 요정을 닮은 회로)와, 방금 전의 AND회로(신중한 요정을 닮은 회로)를, 다음과 같이 연결하면 반가산기라는 것을 만들 수 있어.
논리학과 수학의 만남: 부울 대수
사실,ㅡ 인간세계에서 이런 것을 생각해 낼 수 있었던 것은 논리학이 있었기 때문이라고 할 수 있어. 오랜 역사 속에서 발달해 온 논리학이 수학을 만나고, 그 수학이 다시 공학을 만난 것이라고 할 수 있지. 그 만남의 결정체 중의 하나가 바로 컴퓨터야.
논리학이라 하면, 전에 말씀하신 사고의 과정을 연구하는 학문을 말하는 것이죠?
응, 그래. 논리학은 '올바른 추론이란 무엇인가'에대해 연구하는 학문이야. 그리고 추론이라는 것은 '이미 알고 있는 것을 기반으로 아직 잘 모르는 것을 이끌어내는 과정'을 말해.
그럼 좀 더 구체적으로 설명해 볼께. 예를 들어 네가 먹으려고 했던 케이크를 누군가가 먹어 버렸다고 하자.
범인을 찾을 때 '범임은 엄나이거나 혹은 여동생이다'라고 이미 알고 있는 상태에서 조금 더 조사를 한 결과 '범인은 엄마가아니다'라는 것을 알게 되었다. 그러면 범인은 누구일까?
당연히 여동생이죠!
맞았어. 바꿔 말하면 '케이크를 먹은 사람은 엄마이거나 혹은 여동생이다'와 '케이크를 먹은 사람은 엄마가 아니다'라고 하는 두 가지 사실이 정말이라면 '케이크를 먹은 사람은 여동생이다'라는 결론은 반드시 사실이 되겠지. 이해되니?
인간세계에는 옛날부터 그 사실을 알고 있는 사람들이 있었어.
그리고 그러한 '올바른 추론'에몇 개의 패턴이 있다는 것을 발견한 것이 고대 그리스의 철학자 아리스토텔레스야.
여기에서 패턴이라는 것은 'P이거나 혹은 Q'와
'P가 아니다'라는 형태의 두 가지의 전제에서 'Q'라는 형태의 결론을 이끌어 내는 패턴이야.
P에 '케이크를 먹은 사람은 엄마',
Q에 '케이크를 먹은 사람은 여동생'를 넣으면 방금 전에 말한 추론이 되는 거야.
여기에서 말하는 올바른 추론은 '전제가 맞으면 반드시 결론도 맞게 된다'는 타입의 추론으로,
정확히는 '연역적 추론'이라고 부릅니다. 넓은 의미에서 추론이라고 하는 것 중에는 전제가 맞아도 결론이 맞지 않는 것도 있습니다.
예를 들어,
'모든 인간은 죽는다'
'소크라테스는 인간이다' 라고 하는 2개의 전제에서
'소크라테스는 죽는다'는 결론을 도출해 내는 과정이 유명하다. 중세 이후, 지식인들은 이러한 패턴을 다양하게 배우고 확실하게 외워 두었다가 토론할 상대를 이길 필요가 있을 때 사용해 왔어.
19세기 중반에 조지 부울이라는 사람이 나타나서 논리학과 수학을 잘 결합시켰지.
논리학과 공학의 만남: 논리회로
부울이 추론의 과정을 계산으로 나타내는 아이디어를 세상에 내놓은 것은 19세기 중반 무렵이었어. 그리고 나서 얼마동안 시간이 지나고, 20세기전반에 여러 가지 기계에 '릴레이'라는 부품이 필요하게 되었는데, 그러던 중에 릴레이를 사용한 장치를 어떻게 만들 것인가 하는 공학적인 문제와 방금 전에 설명한 부울 대수가 만나게 된 거야.
일레이라는 게 뭐예요? 인간의 운동회에서 100m 릴에이를 본 적이 있긴 한데요, 관계가 있나요?
운동회의 일레이와도 어느 정도 관련이 있어서 같은 이름으로 불리고 있다고 생각해. 릴레이라고 하는 장치는 전자석을 이용하여 자동으로 스위치를 끄거나 켜는 장비야.
전자석이 뭐지요? 자석을 말하는 건가요?
24/1/9 점심시간에 누룽지 끓이면서 바라 본 창밖
오늘 10cm의 눈 예보. 13:50 현재 바깥은 눈이 내린다.
시시티비 모니터로 보이는 아파트 경내 바닥엔 눈이 쌓이지 않았다.
놀이터와 뒷길 담장만 조금 허였다.
1초소와 2초소 사잇길의 대형차량 통과 관련 협조문을 작성, B4로 확대하여 코팅작업을 하고 귀사한 분은 지금 자기 컴에 빠져 있다. 내 옆의 전주임도 자기 업무를 하는 잠시 무료한지 팔을 올리고 숨을 토한다. 중요한 긴장이 필요없는 한낮의 시간. 육십사세의 마음처. 어느덧 마음에는 히히덕이는 어린애가 앉아 나를 쳐다봄. 어쩌라구~ 노닥이세요.
릴레이와 부울 대수의 관계가 명확해졌기 때문에, 이제 릴레이를 사용한 수의 계산으로 넘어가도 될까? 방금 전에 말했던 전기를 사용한 계산을 해보는 거야.
이제서야, 전기를 사용한 계산이 나오는군요.
긴 여행이었네. 부울에 의해 '참과 거짓'이라는 의미가 부여된 '1'과 '0'은, 섀넌에 의해 '릴레이의 개폐(전기의 온, 오프) 의 의미를 갖게 되었어. 그리고 그것이 '이진법으로 나타낸 수'와 연결되어, '전기를 사용한 계산'이라는 아이디어가 생기게 된 거야.
참과 거짓도, 릴레이 스위치의 온과 오프도 이진법의 숫자도 전부 '1'과 '0'이네요.
섀넌의 논문발표와 비슷한 시기에 미국의 벨 연구소의 조지 스티비츠가 자택의 부엌에서 이진법 덧셈을 하는 릴레이를 만들었어. 주방에서 만들어서 그의 부인이 Model-K라고 이름을 붙였지만, 스티비츠와 섀넌은 같은 연구소에 있었기 때문에 서로의 일을 잘 알고 있었던 것 같아.
그후 세계 각지에서 릴레이를 이용한 계산기가 만들어지기시작했어. 아까 말했던 독일의 콘라드 추제의 Z1시리즈가 그시초라고 할 수있어. 그 이외에도 하워드 에이컨의 Harvard Mark1 등이 알려져 있어. 계산을 할 때는 '방 안에 가득 차 있는 여자들이 일제히 기계로 뜨게질을 거시작한 것' 같은 소리가 났었대. 스위치를 켜거나 끄는 소리가 그런 식으로 들린 것인지도 몰라.
2024/1/10, 수욜 13:45 시청 중앙도서관. 길병원에 오전에 검진받고 오후 15:25 박정웅교수와 폐 진료가 있어서 남는 시간을 이곳에서 보낸다. 그의 주검은 위급 전화가 있었던 싯점에 치뤄졌다고 한다. 고인의 명복을 빈다. 사후 15일이 지나야 모든 게 정리가되고 출금도 가능하다. 22일 출근예정. 이제 자유로워졌구나 싶다. 그것이 좋은 걸까 하는 의심은 있다. 아무런 정이 없고 귀찮기만 하다면 딴은 완전 해방이긴 할께다.
그럼, 지금의 컴퓨터에도 그 '릴레이'가 들어있어요?
아니, 릴레이를 사용한 계산기는 제2차 세계대전 중에 진공판을 사용한 계산기로 대체되었어. 진공관은 전기를 사용하여 '전기의 흐름 자체를 제어함으로써 전기의 온/오프를 전환하고 있어. 진공관이라는 것은 유리 안이진공이고, 그 안에 몇 개인가 전극이 들어있어. 양의 전극과 음의 전극이 한 깨씩 들어 있는 것부터 살펴보면, 이 히터는 '음의 전극'에 열을 내게 하기 위해 들어 있어. 음의 전극에 열을 내면 전자를 방출하는 물질로 되어 있어. 이 전극의 온도가 올라가면 전자가나오게 되고, 점점 양의 전극 쪽으로 이동하게 돼. 이를 통해 전기의 흐름이 일어나는 거고. 공기가 있으면 방해되기 때문에 안은 진공으로 되어있어.
그래요? 좋은 아이디어가 있었다고 해도 그것을 구현하는 것은 상당히 어려웠겠네요?
그렇지. 결국, 전쟁 중에 만들어진 '최초의 실용적인 전자식 계산기'는 어디까지나전쟁에 이용할 목적으로 국가가투자한 것이었어. 하나는 영국의 콜로서스, 또 다른 하나는 미국의 에니악Eniac이야. 콜로서스는 영국이 적군인 독일의 암호를 해독하는데 사용했다고 해. 천재 수학자 앨런 튜링이개발에 참여했던 것 같아. 이것은 실제로 암호를 해독해 냈어. 제2차 대전의 정황을 크게 좌우했지. 이 기계가 없었다면 역사 또한 크게 달라질 수도 있었을 것이라고 얘기하고 있어. (이 대목 영화에서본 기억이 있다.)
애니악 자체는 1955년 무렵까지 실제 사용했어. 폭 24m, 높이 2.5m, 깊이 0.9m의 크기로 무게는 30톤이었다고 해. 18,000개의 진공관을 사용했어. 하지만 다양한 연구를 통해 1주에 2, 3개 밖에 손상되지 않고 잘 움직였다고 해. 지금도 '최초의 컴퓨터' 라고하면 에니악이라고나오는 경우가 많아.
그 후에 진공관은 바로 '반도체'라는 물질로 만들어진 부품으로 대체되었어. 반도체로 사용한 부품은 릴레이나 진공관과 달리 매우 소형으로 만들 수 있으며, 전력이 작아도 돼. 속도도 진공관보다 훨씬 빨라, 지금의 컴이 옛날보다 빨라진 것뿐만 아니라, 가지고 다닐 정도로 소형화된 것도 반도체 덕분이야.
제3부
프로그래밍이란?
computer= compute(계산하다)+er로 계산하는 사람(것)
그러니까, 사다리꼴 도형의 면적=(윗변의 길이+아랫변의 길이x높이 ÷2이니까
1. 윗변의 길이와 아랫변의 길이를 더한다
2. 그 결과에 높이를 곱한다.
3. 그 결과를 2로 나눈다.
맞지요?
이처럼 '먼저덧셈을 한 다음, 그 결과에 3을 곱하고... 이런 식으로 계산 단계를 순서대로 쓴 것을 '프로그램'이라고 해.
우리가사용하는 말을 그대로 쓰게 된다면 컴은 그것을 그대로 이해할 수가 없겠지. 그래서컴의 두뇌에 수나 문자 정보를 알려줄 때 어떻게 했었지?
이진법 숫자를 사용했어요. 그리고 그것을 전기 신호로 바꾸었습니다. 1은 전류가 흐르고0은 전류를 흐르지 않게 했어요.
명령을 전달할 때도 똑같아. 컴에 이진법 숫자로 치환하여, 전기 신호로 바꾸고 컴의 두뇌에 전달하는 거지. 즉, '덧셈을 해라' 거나 '뺄셈을 하라'와 같은 명령에 해당하는 이진법의 '단어'가 따로 있어.
적어도 지금은 인간이 1과 0만을 사용하여 직접 명령을 작성하는 일은 거의 없어. 그 대신에 우리말과 약간 비슷한 언어를 사용하여 프로그램을 만들어. 예를 들면 이런 거지.
이런 언어를 고급 프로그래밍 언어라고 해. 그렇게 작성한 프로그램은 1과 0으로 이루어진 프로그램으로 '번역'을 해. 그 번역 작업을 '컴파일'이라고 한단다.
0과 1의 이진법으로 작성된 명령은 '기계어'라고 부르기도 합니다.
정말, 인간의 말과 비슷한 고급 프로그래밍 언어가 컴퓨터 언어로 번역되었네요!
프로그램을 기계어로 번역하는 방법은 프로그램을 실행하기 전에전부 번역(컴파일)하는 컴파일러 이외에, 프로그램을 실행할 때 번역하는 인터프리터라는 것도 있습니다.
남은시간 2분42초 현재ㅋㅋ 현재시간14:28분. 집자 終. 여기
일곱번째 이야기
명령을 처리하는 구조
컴퓨터의 두뇌에 해당하는 CPU(중앙처리장치Central Processing Unit의 약자) , 기억을 담당하는 메모리(기억장치) , 입력과 출력을 담당하는 키보드와 모니터 등 많은 부품들이 있습니다. 씨피유 안에 있는 각 장치들, 연산장치, 제어장치, 클럭, 플래그 및 명령 레지스터, 프로그램 카운터 등의 기능과 역할에 대해 하나씩 파악하고 메인 메모리와 보조기억장치의 데이터 관리 방식과 차이점에 대해서 알아보자.
CPU를 '외부에서 보낸 명령에 따라 계산을 하는 작업'에 사용되는 방이라고 생각해 보는 게 어떨까? 계산하는 역할에 해당하는 부분을 '연산장치'라고 해. 그리고 명령을 전달하는 역할에 해당하는 부분을 제어장치라고 해. 응, 명령을 전달하는 역할에 해당하는 부분을 제어장치라고 해. 외부에서 명령이나데이터를 보내달라고 하면 데이터를 외부로 보내기도 하고 '계산을 하는 역할'에게 지시를 내리기도 하는 일을 주로 담당해.
제어장치는 '외부와 교환하는역할'을 담당하고, '현장을 감시하는 역할'을 하기도 해. 제어장치가 이외의 것을 해주기 때문에, 연산장치는 계산에만 전념할 수 있는 셈이지.
그리고 CPU방에는 나머지 1명 '시계를 보고 일정한 간격으로 작업을 시키는 역할'을 하는 요정이 있어. 즉 "줁비, 작업시작!"으로 모두에게 정해진 양의 작업을 시키고, 일정한 시간이 지나면 "오케이, 거기까지!"로 시간을 분배하고, 또 다음 작업을 '준비'시키는 역할이야. 이건 클록이라고 해.
CPU 방에 있는 요정이 아니고, 방 안에 놓아 둘 설비에 대해 알아볼까?
씨피유 방 안에는 '앞으로 계산에 사용할 데이터를 저장해 둘 장소'나, '계산의 중간 결과와 최종결과를 저장할 장소', 또한 '외부에서 전달된 명령을 저장할 장소'등이 있어. 이러한 것들을 레지스터라고 불러.
그리고 다음에 실행할 명령의 번호를 표시하는 레지스터를 프로그램 카운터라고 해. 여기에 표시되는 번호는 일반적으로 명령이 실행ㄷ괼 때마다 1씩 증가해. 하지만 때때로 명령의 순서가 바꿀 수가 있어. 명령 중에는 '이번에는 100번 명령으로 점프', 혹은 '만약 방금 전의 계산 결과가 마이너스라면, 245번으로 점프'등의 명령도 있을 수 있기 때문이다.
명령과 데이터가 동거하는 장소: 메인 메모리
CPU의 '외부'에는 크게 두 가지가 있어. 하나는 메인 메모리이고, 또 하른 하나는 키보드, 화면, 스피커 같은 입출력 장치야. 아까부터 '명령을 보낸다' 또는 '데이터를 보낸다'라고 했었는데, 보내는 곳과 보낼 곳은 메인 메모리쪽이야. 메인 메모리는 단순히 메모리라고 말하기도 해. 즉 CPU가 정보를 주고 받는 것은 메인 메모리라고 하는 기억장치입니다. 명령도 데이터도 이 안에 들어 있습니다.
메모리는 기억장치라고도해. 기억을 시키기 위해 사용되는 장치지. 하지만 단순히 기억에만 사용되는 장비도 여러가지가 있어. 메모리 또는 메인 메모리라는 말은 그 중의 하나를 가리키는 데 사용되는 경우가 많아. 예를 들어 너도 본 적이 있을 것이라고 생각하지만 USB메모리나 CD처럼 컴퓨터와 분리되어 있는 기억장치도 있어.
그냥 외관만 봐서는 잘 보이지 않지만, 컴 안에도 기억을 시키기 위해 사용되는 저장용 디스크가 들어있어. 이것도 데이터의 저장에 사용돼. 흔히 하드디스크라는 것이 바로 이거야. USB메모리나 하드디스크와 같이 컴에서 쉽게 제거할 수 있는 것과 제거 할 수 없는 것, 이것을 전부 포함하여 보조기억장치라고 해.
이에 반해 메모리 또는 메인 메모리는 위의 보조기억장치와는 또 다른 기억장치야. 이것도 컴퓨터에 내장되어 있기 때문에 역시 그냥 외관만 보아서는 보이지 않아.
우선, 보조기억장치와의 혼동을 피하기 위해 앞으로는 메인 메모리라는 이름을 사용할게. 메인 메모리가 보조기억장치와 크게 다른 점은 전원을 끄면 내용이 없어져 버린다는 사실이야.
네? 전원을 끄면 없어져 버린다구요?
응. 컴에서 작업을 하고 있는데, 어떤 문제로 컴이 멈추거나 전원이 꺼지는 경우가 종종 있잖아. 그때 제대로 저장을 해 두지 않았다면 작업을 결과가 사라지게 돼.
그런 얘기 들어본 적이 있어요. "모처럼 많이 썼는데, 저장하지 않아서 모두 없어져 버렸다"고 어이없어 하는 사람들 종종 봤었거든요(나도 컴 집자하다가 날린 게 얼마나 많은가! 지금처럼 회사에서 쓰는 노트북은 괜찮은데 집의 데스크탑에서작업하면 종종 컴이 끊어져서 다 날리고 말지. 그때의 울화를 다스리기란 여간 쉽지 않아요. 초기 때에 비하면 지금은 그냥 편안하게 포기하고 말아. 그리고 시간이 지나 억하심정이 사라지고 나면 천천히 다시 집자를 시작해.). 저장을 하기 전의 데이터는 메인 메모리에 저장되어 있어. 하지만 메인 메모리의 내용은 전원을 끄면 사라지게 되니까 데이터도 사라지게 되는 거야. 그래서직접 저장을 하게 되면 그 데이터는 메인 메모리에서 컴 안에 있는 하드디스크나USB 메모리 등의 보조기억장치에 저장돼. 보조기억장치에 저장되면 전원이 꺼져도 저장된 정보는 남아 있기 때문에 다시 전원을 켜면 읽어올 수가 있어.
음... 같은 저장 장치인데도 메인 메모리와 보조기억장치는 완전히 다르네요. 하지만 전원을 끄면 내용이 사라지는데 그런 기억장치가 왜 필요해요? 웬지 필요없을 것 같은데요.
좋은 질문이야. 먼저전원을 끄면 내용이 사라지는 이유가 무엇인가 하면, 메인 메모리에 기억된 것은 이미 전기 신호로 바뀌어 있기 때문이야.
전기 신호란 '온 오프로 표시된 정보'를 말하는 거지요?
전기신호이기 때문에 전기 공급이 없으면 사라져. 하지만 반면에, 전기신호니까 CPU가 바로 읽고 쓸 수있기 때문에 빠르고 편리하지. 반면에, 보조기억장치는 자기와 빛을 사용하여 기억을 시키고 있어. 이것은 제1부에서 조금 다루었었지?
아아, 자력의 방향이나 빛의 반사 등을 이용하여 정보를 기록하는 것이었지요.
데잍그래. 이것들은 자석이나 빛을 반사하는 요철등을 사용하여 정보를 기억하기 때문에 전기가없어도 기억된 정보는 사라지지 않아. 그대신 기억된 정보를 사용할 때 전기 신호로 변환해야 하기 때문에, 정보를 읽고 쓰는데 시간이 걸려. 뎅
그렇구나! 메인 메모리에기억되어있는 정보는 전기 신호기기 때문에, 바로 사용할 수 있고 빠른 것이군요.
응! 그래서 씨피유 안에 있는 제어장치와 주고 받는 명령이나 데이터는 보통 메인 메모리 안에 들어있어. 즉, CPU와 명령이나 데이터를 주고 받는 것은 메인 메모리야.
여덟 번째 이야기
명령을 실행한다
이번에는 그장치들의 역할을 직접 수행하면서 프로그램이 어떻게 실행되는지 체험합니다. 데이터의 전송명령과 연산명령을 통해 데이터를 교환하며, 점프와 조건분기를 통해 명령을 멀리 보낼 수도 반복하게 할 수도 있다는 것과, 메모리 어드레스를 통해 메모리에 저장된 정모를 기억시키기도 하고 꺼내오는 과정, 즉 CPU와 메인 메모리 사이에서 어떻게 데이터를 주고 받는지에 대해 살펴봅시다.
꼭! 귀찮더라도 요정과 같이 따라해 보세요.
연필과 지우개, 종이를 준비해 줄래? 준비되면 종이에 아래와 같은 표를 만들어 주렴.
다음에 실행할 명령이 있는 장소: 100페이지(특별히 지정이 없는 한 1개씩 증가한다.)
데이터 저장소A:
데이터 저장소B:
앞의 표는 굉장히 대략적이기는 하지만 CPU의 일부를 나타내고 있어. 각 항목페이지은 방금 전에 설명한 레지스터에 해당해.
레지스터는 물건을 두는 장소나 게시판과 같은 것이었지요.
그래, 표 안에 '다음에 실행할 명령이 있는 장소: 100페이지'라고 쓰여 있지? 이것은 방금 전에 설명한 '프로그램 카운터'라고 하는 레지스터이고, 명령을 실행할 때마다 보통 1씩 증가해.
웬지 어려울 것 같은데~~
그렇지 않아. 해 보면 간단하니까 우선. 100페이지에 가서 페이지 아래 쪽의 페이지 번호 근처를 보렴.
음......아, '114페이지의 수를, 데이터 저장소 A에 둘것.'이라고 쓰여 있네요. 이것이 명령이군요. 그리고 114페이지를 보면... 아, 페이지 번호 위에 '2'라고 써 있어요. 이것을 '데이터 저장소 A'에 저장하면 돼요?
맞았어! 저장했으면 '다음에 실행할 명령의 장소'를 100에서 101로 변경하자.
그럼, 다음은 101페이지를 보면 되는 거네요. 그러니까, 101페이지의 아래쪽을 보면...... '115페이지의 수를 데이터 저장소 B에 둘것.'이라고 적혀 있어요. 115페이지에는 페이지 번호 위에 '3'이라고 쓰여 있고요. 이것을 '데이터 저장소 B'에 저장하면 되는거네요.
그래, 그러면, '다음에 실행할 명령의 장소'를 101에서102로 바꿔보자.
102페이지. 이번에는 '데이터 저장소 A의 수에 데이터 저장소 B의 수를 더할 것.' 이라고 되어있네요. 음.. 2에 3을 더하니까, '데이터 저장소 A'의 수가 5가 되네요. '다음에 실행할 명령의 장소'는 102에서 103이 되니까..... 103페이지. 103페이지의 명령은 '데이터 저장소 A의 수를, 116페이지에 둘 것.' 이번에는, 116페이지에 5를 저장했습니다. 다음에 104페이지를 보면...'종료'
이제 끝난 거예요?
응, 잘 했어!
도대체 지금 뭐한 건지요~?
방금 전에 말한 대로, 네가 CPU의 제어장치와 연산장치의 역할을 한 거야. 그리고 방금 전의 표는 레지스터에 해당해. 즉 '너' + '방금 전의 표'는 CPU에 해당하고.
우와, 제가 CPU였어요?
그래. 그래서 2 + 3의 계산을 한 거야. 기분이 어때?
솔직히 말하면 귀찮았어요
오호, 어떤 부분이 귀찮았어?
그러니까, 우선 페이지를 넘겨가며 명령이나 숫자를 보러 가는 게 귀찮았어요.
컴의 계산은 그토록 상세한 단계까지 포함되어있어. 사실, 네가 페이지를 넘겨가며 보러간 명령이나 데이터는 메인 메모리에 기억된 것이야. 즉, 이 책의 각 페이지 하단의 여백을 '메인 메모리'로 간주하고 있어.
그럼, 방금 전 '제'가 페이지를 넘겨가며 명령이나 수를 보러 간 것이 CPU와 메인 메모리 사이의 교환을 나타내고 있다는 얘기예요?
그런 셈이지. 일부러 각 페이지아래의 여백을 사용해서 '메인 메모리'를 표현한 것은 메인 메모리의 중요한 특징을 이해해 주길 바래서야.
메인 메모리의 중요한 특징이 무엇인가요?
그것은 정보를 기억하는 장소에 각각 번호가 붙여져 있다는 거야. 메인 메모리는 몇 자리 정도의 이진법 숫자로 표시될 정보를, 여러 개 기억할 수 있어. 그리고 기억을 위해 사용될 각각의 공간에 다른 공간과 구별하기 위한 번호가 붙여져 있어.
음~ 호텔의 방 번호 같은 거에요?
그거 참 좋은 예네. 메인 메모리의 각 공간에 붙여진 번호는 메모리 어드레스라고 해.
역시! 주소였어요? 방금 전의 '114페이지의 수를 데이터 저장소 A에 둘 것'이나 '데이터 저장소 A의 수를 116페이지에 둘 것' 등의 명령은 메인 메모리의 '주소'를 가리키고, 데이터를 어디에서 가져오면 되는지를 나타내고 있다는 것이네요. 굉장히 번거로워요.
그 명령은 메인 메모리와 레지스터와의 사이에서 데이터를 주고 받는 것이야. 그 명령은 데이터 전송명령이라고 해. 이것과는 별개로 '데이터 저장소 A의 수에 데이터 저장소 B의 수를 더할 것.'이라고 한 것은 계산을 시키는 명령이니까 연산명령이라고 하고.
아홉 번째 이야기
컴퓨터의 탄생
드디어 컴퓨터가 탄생하게 됩니다.
요정은 컴퓨터를 만들 수 있게 될까요?(이책은 컴퓨터를 잘 아는 나와 요정의 대화로 이루어져 있다)
여기에서는 역사의 흐름과 함께 어떤 컴퓨터들이 탄생되고 점차적으로 발전되어 지금의 컴으로 장착하게 되었는지에 대해 얘기합니다.여러분들이어쩌면 한번은 들었을 ENIAC, EDVAC, 실험용 최초 컴퓨터인 Manchester Mark 1이 나오기까지의 탄생 과정을 정리합니다.
고대의 숫자 발명에서부터 여기까지 수학, 논리학, 공학 등 여러 분야의 지식은 물론, 수많은 사람들이 함게 찬여하여 컴퓨터가 만들어졌습니다.
컴 발명가는 누구인가? 는 매우 어려운 문제인데, 이 문제에 대한 대답으로자주이름이 거론되는 인물이 있어. 바로 수학자인 존 폰 노이만이야. 괘 그를 컴퓨터 발명가라고 하느냐면, '메인 메모리에 프로그램과 데이터를 모두 넣어, 실행한다'는 아이디어를 발표했기 때문이야.
앞 장에서 제2차 세계대전 중에 만들어진 애니악 이야기를 했었는데 기억하고 있지?
그러니까 애니악은 진공관을 많이 사용해서 만든 컴퓨터였어요.
그래. 애니악은 진공관을 사용한 전자식 계산기로, 미사일의 탄도계산을 위해 발명된 것이었어. 이 애니악을 만든 중심 인물은 펜실베니아 대학의 존 프레스퍼 에커트와 존 모클리, 이 두 명이었다고 전해 말했었지. 아마도 폰 노이만은 애니악을 개발하고 있는 도중에 그 개발 그룹에 참여했었고, 애니악 다음에 나온 에드박의 설계 토론에도 참여했었던 것 같아.
애드박은 애니악의 문제점을 여러 가지 개선한 것이라고 해. 그 중에는 '어떻게 계산기에 프로그램을 로드시킬 수 있을까' 라는 큰 문제가 하나 있었지.
그게 그렇게 큰 문제인가요?
그래. 원래 '프로그래밍'이라는 아이디어는 19세기에 찰스 배비지라는 수학자가 고안해 낸 것으로 알려져 있어. 배비지는 처음에는, 다항식의 계산을 할 수 있는 개차기관이라는 기어식 계산기를 만들기 위해 영국 정부로부터 자금을 받고 있었지만 불행히도 완성시킬 수 없었어.
하지만 그 경험을 바탕으로 그는 새로운 계산 기계를 생각해 냈어. 그것은 '단 하나의 기계에서 자동을 다양한 계산을 할 수 있는 기계'였지. 즉, 프로그램을 로드시킨 후, 여러 가지 계산을 할 수 있는 기계야. 배비지는 그 기계를 '해석기관'이라고 불렀어.
해석기관에서는, 그림처럼 구멍 뚫린 카드로 계산용 기계에 프로그램을 로드시키려고 했던 것 같아.
그러니까 이 구멍뚫린 카드로 어떻게 기계에 명령할 수 있지요?
2개의 다른 상태의 조합으로 많은 것을 표현할 수 있다는 걸 잊은 것은 아니겠지?
아, 그렇지. 이진법 숫자 1과 0의 조합만으로 여러 가지를 표현할 수 있었지요.
그래서 '구멍이 뚫려 있다', '뚫려 있지 않다'의 조합으로 다양한 것을 표현할 수 있었어. 물론, 기계에 명령하는 것도 마찬가지야. 배비지가 해석 기관에 천공 카드를 사용하려고 생각한 계기는 자카드 직기라는 직물을 짜는 기계였던 것 같아. 자카드 직기는 천공 카드를 사용하여 무늬의 패턴을 기계에 로드시켜서 다양한 모양의 직물을 만들 수 있었어.
그래요? 직물에서 힌트를 얻었을 줄이야.
단 배비지도 불행히 완성되지 못했어. 배비지는 개차기관의 실패로 정부로부터 신용을 잃어서 해석기관을 개발하기 위한 자금을 지원받을 수 없었대.
모처럼, 지금의 컴에 연결된 멋진 아이디어를 생각해냈는데, 그것 참 유감이네요.
배비지의 시대가 지나고 사람들은 구멍 뚫린 카드와 테이프로 프로그램을 '짜고' 있었어. 즉, 구멍 뚫린 종이를 사용한 프로그램을 기계에 로드시키면서, 기계를 움직이게 하고 있었어. 하지만 진공관을 사용한 전자식 계산기가 만들어지게 되자 천공카드나 천공테이프 기계에 프로그램을 로드시키는 방법이 불편해진 거야.
어떻게 불편했어요?
릴레이를 사용한 계산기는 기계가 천공카드를 읽어 들이는 속도와 계산하는 속도가 그다지 차이가 없었어. 하지만 진공관을 사용하게 되자 계산 속도가 엄청 빨라진 거야. 그러자 천공 카드를 로드하는 속도와 계산하는 속도가 서로 차이가 나기 시작했어.
차이가 나게 되었다... 무슨 뜻인가요?
음.. 예를 들어, 네가 수학에 엄청 자신이 있어서, 어떤 문제든지 빠르게 푼다고 하자. 만약 5초에 1문항을 풀 수 있는데, 문제를 '1시간에 한 글자씩' 밖에 가르쳐주지 않는다면, 문제를 전부 파악할 때 까지는 문제를 풀 수 없게 돼. 문제가 만들어지는 것을 기다리는 것만으로도 몇 시간 정도 걸리겠지.
그렇게 되면 문제를 빨리 풀 수 있어도 그다지 의미가 없네요. 1+1을 계산하라 에서 8문자이니까 문제를 듣고 끝날 때까지 8시간이 걸리게 되는 것이군요.
그렇지. 드디어 계산을 빠르게 할 수 있게 되었는데 그것을 살릴 수 없게 된 거야. 진공관을 사용한 계산기에서도 이것과 똑같은 현상이 일어났어. 구멍 뚫린 종이를 읽어 들이는 속도는 아무리 노력해도 어느정도 이상을 빨라지지 않았어. 전자식 계산기의 계산 속도에 맞출 수는 없었던 거야. 그래서 애니악에서는 천공의 종이를 사용하지 않고 배선을 바꿔서 프로그래밍을 하기로 했어.
배선을 바꾼다?
그래. 기계의 배선을 바꿔가며 다시 연결하는 방식으로 여러 가지 계산을 할 수 있게 되었어.
그렇지만 그것도 귀찮지 않았을까요?
사실 귀찮았던 것 같아. 순서가 다른 계산을 하고 싶을 때마다 매번 수동으로 배선을 바꿔서 다시 연결해야만 했어. 그래서 애니악 이후의 애드박을 설계할 때 획기적인 아이디어가 채택되었어. 그때까지는 메모리는 계산에 사용할 데이터를 기억하는 장소일 뿐이었지만 같은 장소에 '프로그램'도 기억시켜보자고 제안된 거야. 메모리에프로그램을 전기 신호의 형태로 기억시켜 놓으면 프로그램을 실행할 때 프로그램을 읽어 오는 속도와 계산하는 속도가 거의 같아지게 돼.
결과만 본다면 빠르게 계산할 수 있는 기계의 능력을 살릴 수 있었어. 이 아이디어는 프로그램 내장 방식 혹은 스토어드 프로그램 방식stored program system이라고 부르고 있어.
그렇군요. 그렇게 하면 배선을 바꿔가며 다시 연결하는 고생도 할 필요 없겠네요. 정말 좋은 아이디어라고 생각해요. 그걸 그 폰 노이만이라는 사람이 생각한 건가요?
그걸 잘 모르겠어. 누가 아이디어를 처음 생각해 낸 것인지 그 사실은 명확하지가 않아. 그 아이디어는 극비였던 것 같지만 팀의 한명인 폰 노이만이 갑자기 자신의 이름으로 발표했어. 애니악 개발의 중심 인물이었던 에커트와 모클리는 폰 노이만이 개발팀에 합류하기 전에 이미 그 아이디어는 자신들이 생각해 낸 것이라고 주장을 했었지.
웬지, 진흙탕 싸움이 된 느낌이네요...
글쎄, 폰 노이만은 그 밖에도 위대한 업적을 남긴 천재이니까, 프로그램 내장 받식을 고안했다 해도 이상하지 않았어. 그러나 비록 폰 노이만이 진짜 프로그램 내장 방식의 발명가였다 하더라도, 그 이유로 그만을 '컴의 발명가'라고 부르는 것은 아닌 것 같다는 생각이 들어. 지금까지 살펴본 것처럼 컴퓨터가 탄생하기까지에는 고대의 숫자 발명부터 현재까지 실제 많은 사람들의 두뇌와 아이디어, 기술의 축적이 필요했으니까.
컴퓨터의 탄생
폰 노이만에 의해 프로그램 내장 방식의 아이디어가 발표된 지 3년 후, 1949년에 세계 최초로 프로그램 내장 받식의 실용적인 컴이 완성되었어. 그것은 영국의 캠브리지 대학에서 개발된 에드삭EDSAC이었어.
어? 에드삭? 방금 전의 이야기에서나온 것은 에드박 아니었나요? 이름이 다르네요.
불행하게도, 폰 노이만과 에커트, 모클리가 있었던 에드박 팀은, 의견 대립이 생겨서 해산되었어. 에드삭은 에드박의 영향을 받아, 영국의 캠브리지 대학에서 모리스 윌크스 팀이 개발한 것이야. 에드삭이 완성되기 전 1948년에, 영국 맨체스터 대학에서 프로그램 내장 방식 컴퓨터인 '실험용 기기'가 세계 최초로 나오게 되었어. 이것은 Manchester Small- Scale Experimental Machine 또는 Baby(베이비)라고 해. 베이비가 나오고 1년 후에는 실제 사용할 수 있는 기계로 Manchester Mark Ⅰ이 개발되었고
'Baby'라고하는 것은 아기가 막 태어난 것처럼 '컴퓨터의 탄생'을 뜻하는 거예요? 이제 드디어, 컴퓨터가 생긴 건가요?
그래. 어떤 기계를 세계 최초의 컴퓨터라고 부를지는 역시 어려운 문제이지만, 이제서야 지금의 컴퓨터와 같은 디지털, 전자식 프로그램 내장 방식의 컴퓨터가 완성되었다고 말할 수 있을 것 같아.
음~ 고대의 숫자 발명에서 시작하여 여기까지 오는 것이 굉장히 오래 걸렸네요. 여러 사람이 참여했고, 수학, 논리학, 공학 등 여러 분야의 지식이 필요했었고...
그러한 오랜 역사 위에 지금은 우리들의 생활의 중심이 컴퓨터가 되었다는 것만 이해해준다면, 그것으로 만족해. 그리고 1950년 이후에도 컴퓨터와 관련된 위대한 발명품이 많이 나왔어. 나는 가르쳐 줄 수 없지만, 너는 꼭 계속해서 공부하기를 바래.
집자 후기
계양도서관에서 빌린 후 2주일의 시간이 흐르고 다시 1주일을 더 연기할 수 있어서 연기를 했다. 그러니까 빌리는 총 일수가 3주일이되는 것이다. 공식적으로. 그러나 그 1주일이 지났지만 집자는 채 끝나지 않았다. 그래서 원칙적으로는 반납해야 옳지만 버티며 집자를 이어 갔다. 불법으로 버틴 1주일의 시간도 지났고 계양도서관에서는 반납요청이 카톡으로 쇄도했다. 그러나 나는 꿈쩍도 안하고 버티면서 오늘 드디어 집자를 완료하였다. 그러면 한달하고도 1주일이 지난 셈인가?ㅎㅎ
『컴퓨터는 어떻게 만들어졌나요?』 를 집자하려 덤빈 원인은 어딜까? 내게 그처럼 컴퓨터가 강렬하게 와 닿았던 것일까? 하긴 근자에 컴퓨터가 궁금해지긴 했었다. 제1의 원인은 컴 구성의 궁금함일테고 제2의 원인은 한번 읽은 책을 기록하자! 라는 내 평소의 책을 대하는 자세에서 비롯되었을 것이다. 인간의 두뇌는 망각하기 딱 맞춤하여서, 한 번 읽고 내팽겨쳐 버리면 까맣게 내용을 잊어버린다. 그렇게 까맣게 잊어버릴 껄 왜 시간과 눈을 엄청사바 사용해서 구지비 읽나? 그럴바엔 차라리 영화를 보던가 놀러 나가든가 해야지. 나의 이 자세를 젊었을 적에도 적용했다면(그 시절에 컴은 없었으므로) 3만권은 조금 과장이겠지만 1만권쯤은 되지 않을까? 조금 더 줄여야 할지도 모르겠지만......
오늘 퇴근하면서 동아일보 신춘문예 24년 당선작 시를 읽었다. 눈물이 핑 돌았다. 모름지기 시라는 것은 이것이 정석이라는 감동의 눈물을 줄줄 흘렸다. 시 쓰는 보람이 그러한 것인가. 그래서 그들 시인들은 죽을때까지 시만 생각한다. 에이 설마?? 아니다 진짜 그들은 시 한 줄 건지는 것에 삶의 이유를 가진다. 그 연장선에서 나도 시인의 그 창조적 애닳음은 없지만 나도 글을 쓰면서 비로소 풀리는 어떤 모양 양태 줄거리해소 스트레스 해소 등의 카타르시스를 경험한다. 그게 詩이든 나부랭이 글이든 집자이든 효과는 거의 엇비슷할 게다.
눈물이 핑 도는 시를 한편 싣고자 한다. 컴퓨터의 컴과 1도 맥락이 닿지 않는 시도이지만
왼편
By 한백양
집의 왼편에는 오래된 빌라가 있다
오랫동안 빌라를 떠나지 못한
가족들이 한 번씩 크게 싸우곤 한다
너는 왜 그래, 나는 그래, 오가는
말의 흔들림이 현관에 쌓일 때마다
나는 불면증을 지형적인 질병으로
그 가족들을 왼손처럼 서투른 것으로
그러나 아직 희망은 있다
집의 왼편에 있는 모든 빌라가
늙은 새처럼 지지배배 떠들면서도
일제히 내 왼쪽 빌라의 편이 되는
어떤 날과 어떤 밤이 많다는 것
내 편은 어디서 뭘 하고 있을까
아직 잠들어 있을 내 편을 생각한다
같은 무게의 불면증을 짊어진 그가
내 가족이고 가끔 소고기를 사준다면
나는 그가 보여준 노력의 편이 되겠지
그러나 왼편에는 오래된 빌라가 있고
오른편에는 오래된 미래가 있으므로
나는 한 번씩 그렇지, 하면서 끄덕인다
부서진 화분에 테이프를 발라두었다고
다시 한 번 싸우는 사람들로부터
따뜻하고 뭉그러진 바람이 밀려든다
밥을 종종 주었던 길고양이가 가끔
빌라에서 밥을 얻어먹는 건 다행이다
고양이도 알고 있는 것이다
제 편이 되어줄 사람들은 싸운 후에도
편이 되어주는 걸 멈추지 않는다
ㅡ끝.