![[컴퓨터 구조 ③] CPU는 일하고, 클럭은 시킨다](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255B%25EC%25BB%25B4%25ED%2593%25A8%25ED%2584%25B0%2520%25EA%25B5%25AC%25EC%25A1%25B0%2520%25E2%2591%25A2%255D%2520CPU%25EB%258A%2594%2520%25EC%259D%25BC%25ED%2595%2598%25EA%25B3%25A0%252C%2520%25ED%2581%25B4%25EB%259F%25AD%25EC%259D%2580%2520%25EC%258B%259C%25ED%2582%25A8%25EB%258B%25A4%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3DRN%2520%25EC%2582%25BD%25EC%25A7%2588%2520%25EC%259D%25BC%25EC%25A7%2580&w=2048&q=75)
8. CPU – 컴퓨터의 두뇌
CPU는 컴퓨터에서 가장 중요한 역할을 하는 부품이다. 우리가 컴퓨터에 어떤 일을 시키면, 그 일을 실제로 처리하는 것이 바로 CPU다. 그래서 흔히 컴퓨터의 두뇌라고 부른다.
🧠 CPU 안에는 뭐가 들어 있을까?
CPU는 다음과 같은 것들로 구성되어 있다.
레지스터(Register): 계산에 필요한 숫자를 잠깐 저장하는 아주 빠른 메모리다. 학교에서 수학 문제 풀 때, 손가락에 숫자를 잠깐 세는 것과 비슷하다.
산술 논리 장치(ALU): 더하기, 빼기, 비교하기 같은 계산을 하는 곳이다. 계산기처럼 동작한다.
제어 장치(Control Unit): CPU가 지금 어떤 일을 해야 할지 알려주는 역할을 한다. 마치 선생님이 “지금은 더하기 문제 풀 시간입니다!”라고 말해주는 것과 같다.
캐시(Cache): 레지스터보다 조금 느리지만 여전히 빠른 저장소다. 자주 쓰는 자료를 여기에 미리 넣어두면 빨리 꺼내 쓸 수 있다.
⚙️ CPU의 주요 역할
연산(Arithmetic): 수학 계산을 수행 (예: 3 + 5)
논리 판단(Logic): 조건에 따라 분기 처리 (예: 이 값이 참인가?)
제어(Control): 다른 부품들을 제어 (메모리, I/O 등)
데이터 이동(Move): 레지스터나 메모리 간 데이터 이동
⚙️ 명령어 실행 과정 (FDE 사이클)
CPU는 메모리에 저장된 명령어를 하나씩 순서대로 처리한다. 이 과정을 Fetch-Decode-Execute 사이클이라 부른다.
Fetch: 명령어를 메모리에서 가져온다.
Decode: 가져온 명령어를 해석한다.
Execute: 해석된 명령을 실제로 수행한다.
예를 들어 int sum = a + b;
라는 코드가 실행될 때 CPU는 a와 b의 값을 메모리에서 읽고, ALU로 계산한 뒤, 결과를 메모리에 저장한다.
9. 클럭 발생기 – 컴퓨터의 박자
클럭 발생기는 컴퓨터 내부 구성 요소가 동일한 박자에 맞춰 동작할 수 있도록 기준이 되는 전기 신호를 만들어내는 장치이다.
🔄 클럭의 역할
클럭은 컴퓨터 전체에 일정한 주기로 신호를 보내며, 이 신호에 맞춰 CPU와 메모리, 기타 부품들이 동작하게 된다. 클럭이 "틱"할 때마다 CPU는 다음 작업을 준비하거나 실행한다.
코드를 실행할 때도 마찬가지다. 예를 들어 x = a + b;
라는 명령이 있다면, CPU는 클럭 신호에 맞춰 다음과 같은 순서로 작업을 수행한다:
첫 번째 클럭: 변수 a와 b의 값을 메모리에서 읽는다.
두 번째 클럭: ALU에서 a + b 연산을 수행한다.
세 번째 클럭: 결과를 메모리에 저장한다.
즉, 클럭은 코드 한 줄 한 줄이 정해진 타이밍에 맞춰 정확히 처리될 수 있도록 박자를 제공하는 역할을 한다.
⏱️ 클럭 속도
클럭의 속도는 Hz(헤르츠)로 측정된다.
1Hz = 1초에 1번
1MHz = 1초에 100만 번
1GHz = 1초에 10억 번
📌 클럭이 빠르다고 무조건 좋은 것은 아니다
클럭이 빠르면 더 많은 연산을 할 수 있지만, 전력 소모와 발열도 증가한다. 또한 CPU의 구조가 비효율적이면 빠른 클럭 속도도 성능 향상으로 이어지지 않는다. 따라서 클럭 속도와 더불어 명령당 처리 효율(IPC)도 중요하게 고려해야 한다.
🕒 클럭이 실제로 하는 일
클럭 발생기는 일정한 전기 신호(0과 1의 반복)를 주기적으로 발생시킨다. 이 신호는 마치 심장 박동처럼 CPU 내부 회로에 전달된다.
1번 틱: 명령을 메모리에서 읽음
2번 틱: 명령을 해석
3번 틱: 연산 수행
4번 틱: 결과 저장
이렇게 명령 하나를 실행하는 데에도 여러 번의 클럭 신호가 필요하다. 명령의 종류에 따라 짧게 끝나기도, 길게 걸리기도 한다.
🔍 왜 클럭 신호가 꼭 필요할까?
CPU 내부 회로는 전자적으로 동작한다.
전류가 흐르기 위해서는 타이밍이 정확해야 한다.클럭은 그 타이밍을 제공해주는 기준선이다.
예를 들어 “덧셈”을 하려면, 두 숫자를 모두 읽은 뒤에야 계산해야 한다. 그렇지 않으면 잘못된 값을 더할 수 있다.
그래서 클럭 신호는 모든 동작을 정확하게 순서대로 실행시키기 위한 신호다.