어떻게 한 박자를 만드는 시계, 클럭
CPU도 메모리도 다른 부품들도 어떻게 서로 박자를 딱 맞춰 움직일까? 비밀은 컴퓨터 안에서 쉬지 않고 똑딱이는 시계 하나에 있어요.
똑딱, 한 박자
시계라고 해서 시침과 분침이 있는 것은 아니다.
클럭은 0과 1을 아주 빠르게 되풀이하는 신호다.
0, 1, 0, 1... 이렇게 한 번 오르내리는 것이 한 박자이고, 신호가 올라가는 순간마다 컴퓨터는 한 걸음씩 움직여요.
0과 1이 한 번 오르내리면 한 박자. 똑딱일 때마다 걸음 수가 하나씩 는다.
아래 그림에서는 깜빡임으로 보이지만, 실제 컴퓨터는 1초에 수십억 번 똑딱인다.
그래서 우리 눈에는 모든 일이 한 번에 일어나는 것처럼 보여요.
다 같이 한 걸음씩
왜 굳이 박자가 필요할까?
부품이 여럿인데 저마다 제멋대로 움직이면 서로 어긋나 일이 엉킨다.
그래서 모두 같은 박자에 맞춰 '지금!' 하는 순간 한 걸음씩 함께 움직여요.
박자를 끄면 부품들이 제각각 엉키고, 켜면 '지금!'에 맞춰 나란히 움직인다.
한 박자 안에 모든 부품이 제 할 일을 끝내고 다음 박자를 기다린다.
박자는 '다 같이 출발!'을 알리는 호루라기 같은 것이에요.
1초에 몇 번? 헤르츠
박자가 1초에 몇 번 똑딱이는지를 헤르츠(Hz)라고 부른다.
1Hz는 1초에 한 번, 1GHz는 1초에 무려 10억 번이다.
많이 똑딱일수록 걸음을 더 많이 내딛으니 컴퓨터가 더 빨라져요.
슬라이더를 느리게에서 빠르게로 밀면 1초에 내딛는 걸음 수가 폭발적으로 는다.
그래서 '3.2GHz' 같은 숫자가 그 컴퓨터의 박자 빠르기다.
초당 32억 번 똑딱인다는 뜻이다.
상상하기 어려울 만큼 빠른 박자 위에서 모든 일이 돌아가요.
빨리만 할 수는 없다
그렇다면 박자를 끝없이 올리면 될까?
그럴 수 없다. 벽이 두 개 있다.
하나는 한 걸음이 끝나기도 전에 다음 박자가 오면 걸음이 엉킨다는 것이고, 다른 하나는 빨라질수록 열이 많이 나고 전기도 훨씬 많이 쓴다는 것이에요.
박자를 계속 올리면 열과 전기가 치솟고, 한계를 넘으면 걸음이 무너진다.
그래서 요즘 컴퓨터는 박자를 무작정 올리는 대신 일꾼(코어)을 여럿 두는 쪽으로 갔다.
빠르기에는 현실적인 한계가 있기 때문이다.
코어 이야기는 다른 영역에서 다시 만나요.
이제 뛰는 심장
우리가 만든 CPU(12강)는 이 박자에 맞춰 명령을 하나씩 가져온다.
캐시(13강)에서 빠르게 꺼내고, 통로(14강)를 타고 부품들이 값을 주고받는다.
클럭은 이 모든 것을 뛰게 하는 심장이에요.
박자마다 CPU가 명령 하나를 가져와 실행한다. 컴퓨터의 몸이 드디어 뛰기 시작한다.
0과 1에서 시작해 게이트와 덧셈기, CPU와 기억과 통로, 그리고 그 모두를 뛰게 하는 박자까지 왔다. '만약'과 '반복'도 이 박자 위에서 돌아간다. 다음 레슨에서는 지금까지 온 길을 한 번에 모아 봐요.