개념 풀이
클릭 한 번에 일어나는 일 — 0.1초 안의 수억 걸음
화면을 톡 누르고 앱이 뜨기까지 0.1초. 하품 한 번도 안 되는 시간입니다. 그 안에서 컴퓨터는 수억 개의 명령을 하나씩, 순서대로 해치웁니다. 동시에 하는 것처럼 보이는 것은 전부 착시입니다.
그 걸음을 따라가 봅시다. 손가락이 유리에 닿는 순간, 유리 밑에 깔린 격자가 그 자리의 전기 변화를 알아챕니다. 닿았다는 사실이 곧바로 숫자가 됩니다. 몇 번째 줄, 몇 번째 칸. 2편에서 본 그대로입니다 — 세상일은 들어오자마자 숫자로 바꿔치기됩니다.
그 숫자가 도착하면 준비되어 있던 명령 뭉치(4편의 규칙표)가 깨어납니다. 프로세서는 그 명령을 읽습니다. 한 번에 하나씩. 이 숫자를 가져와라, 저것과 더해라, 결과를 저기 놓아라. 수억 번.
마지막에는 화면의 점 수백만 개 각각에 대해 '너는 이 색'이라는 숫자가 계산되어 뿌려집니다. 그제서야 우리 눈에 앱이 '떴다'로 보입니다.
동시에 하는 것처럼 보이는 것의 정체
음악을 들으면서 메시지를 받고 지도가 움직입니다. 컴퓨터가 여러 일을 동시에 하는 것 같습니다.
이 갈아타기의 박자를 정해주는 시계가 있습니다. 1초에 수십억 번 똑딱이는 박자에 맞춰 명령이 한 걸음씩 나갑니다. 광고에서 보는 '기가헤르츠'가 이 박자의 빠르기입니다. 1기가헤르츠면 1초에 10억 박자.
프로세서의 시간 감각
이 속도가 어느 정도인지는 처지를 바꿔보면 실감이 납니다. 프로세서의 한 박자를 사람의 1초라고 쳐봅시다.
손 뻗으면 닿는 곳 — 1초
몇 초에서 십몇 초
몇 분 걸려 다녀온다
며칠 걸리는 출장
몇 년짜리 항해
그래서 프로세서는 기다리지 않습니다. 책장에 숫자를 가지러 보낸 동안 다른 일로 갈아타고, 도서관 출장 중에는 수십 가지 일을 해치웁니다. 컴퓨터가 느려지는 순간의 대부분은 계산이 느린 게 아니라 무언가를 기다리는 중입니다.
여기부터 조금 더
틀리지 않고 도착하는 비결
그런데 이상하지 않습니까. 수억 걸음을 걷고, 방과 도서관과 바다 건너를 오가는데, 숫자가 도중에 망가지는 일은 왜 없을까요. 전기는 흔들리고, 전파에는 잡음이 끼는데요.
1948년에 한 수학자가 이 문제를 정면으로 다뤘습니다. 그는 먼저 정보라는 것에 단위를 붙였습니다. 켜짐이냐 꺼짐이냐, 그 갈림 하나가 정보의 가장 작은 알갱이라고요. 비트라는 말이 여기서 나옵니다.
그리고 놀라운 것을 증명합니다. 잡음이 끼는 길로도, 여벌을 영리하게 붙이면 틀리지 않게 보낼 수 있다는 것. 무작정 세 번씩 반복하는 게 아니라, 검산용 숫자 몇 개를 계산해서 함께 보내는 방식으로요.
클릭 한 번의 여정이 끝났습니다. 손가락 → 숫자 → 수억 개의 명령 → 화면의 점. 그런데 이 여정에는 아직 등장하지 않은 일꾼이 있습니다. 화면의 점 수백만 개를 칠하는 일은 사실 심장 혼자 하기엔 너무 큽니다. 다음 편은 그 일을 맡은 별난 조수 이야기입니다.
남은 질문동시는 착시이고 전부 번갈아 하는 것뿐이라면 — 사람의 '동시에 여러 생각'은 정말 동시일까요?