한 박자를 만드는 시계, 클럭
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와 기억과 통로, 그리고 그 모두를 뛰게 하는 박자까지 왔어요. 이 박자 위에서 '만약'과 '반복'이 돌아가요. 다음 시간엔 지금까지를 한 번에 모아 볼게요.