Computer Science/Computer Architecture

CPU 속 실행 유닛과 슈퍼스칼라란?

ggyongi 2025. 7. 10. 22:30

CPU 안에는 정말 ALU만 있을까?

CPU를 처음 배우면 보통 ALU, 레지스터, 제어장치 정도로 단순하게 그려진 구조도를 접하게 된다.
그래서 CPU는 계산기 같은 역할을 한다고만 이해하기 쉽다.

하지만 실제로 현대 CPU는 훨씬 복잡하게 구성되어 있다.
단순한 연산만으로는 다양한 작업을 빠르게 처리하기 어려웠기 때문이다.
그래서 명령어를 효율적으로 처리하기 위해 내부에 여러 연산 장치를 추가했고,
이런 장치들을 묶어서 실행 유닛(Execution Unit)이라 부르게 되었다.

 

실행 유닛이란?

실행 유닛은 CPU 안에서 실제 계산이나 논리 판단, 메모리 접근 등을 담당하는 부품이다.
예전에는 ALU 하나로 모든 계산을 처리했지만, 지금은 역할을 나누는 방향으로 발전했다.

대표적인 실행 유닛은 다음과 같다.

  • ALU: 산술 및 논리 연산
  • FPU: 실수(부동소수점) 계산
  • Load/Store Unit: 메모리 접근 전담
  • Branch Unit: 분기 명령 판단
  • SIMD Unit: 벡터 연산 등 멀티미디어 전용 처리

이처럼 다양한 연산을 병렬로 처리하기 위해 전용 유닛이 분리되었고,
이들을 통틀어 실행 유닛이라고 부르게 되었다.

 

슈퍼스칼라 구조란?

슈퍼스칼라(Superscalar)는 실행 유닛을 동시에 여러 개 사용하는 CPU 구조를 말한다.
클록 한 번이 뛸 때 하나의 명령어만 처리하던 과거와 달리,
이제는 여러 명령어를 동시에 실행 유닛에 배정할 수 있다.

예를 들어, ALU와 FPU가 따로 있다면,
덧셈 명령과 실수 곱셈 명령을 같은 클록 내에서 동시에 처리하는 것도 가능하다.

이처럼 명령어를 병렬로 실행하는 구조를 통해 CPU의 처리량(Throughput)을 크게 늘릴 수 있다.
이게 바로 슈퍼스칼라 구조의 핵심이다.

 

비유로 정리하면

  • 전통적인 CPU: 요리사가 한 명이라면, 한 접시 요리를 완성하고 다음 요리를 시작
  • 슈퍼스칼라 CPU: 요리사가 여러 명이라 동시에 여러 요리를 조리
  • 실행 유닛: 각각의 요리사에게 도구가 따로 배정된 상태

이런 비유로 보면 슈퍼스칼라 구조는 효율적인 주방처럼 병렬로 동작한다는 걸 이해할 수 있다.

 

요약 정리

개념설명비유
ALU 기본 산술/논리 연산 장치 계산기
실행 유닛 다양한 연산 장치들의 묶음 도구가 다른 요리사들
슈퍼스칼라 실행 유닛을 병렬로 돌리는 구조 여러 요리사가 동시에 조리하는 주방

 


 잠시만요!   혹시, CS 지식 때문에 개발자 면접에서 아쉬운 경험을 하셨나요? 🤔

🔥 서울대생이 면접 떨어지고 6개월간 삽질하며 정리한 'CS 정리 노트', 지금 무료로 풀립니다!

👉 [무료] 강의 보러가기

 

[지금 무료]컴퓨터 구조: 면접 탈락을 끝낸 궁극의 CS 정리 노트 강의 | 이용준 - 인프런

이용준 | 실무와 면접에서 자주 마주치는 컴퓨터 구조 개념만 선별해, 도해 중심으로 쉽게 설명하고 정리한 핵심 CS(computer-science) 강의입니다. 처음 접하는 사람도 흐름을 잡고, 이후 학습을 빠르

www.inflearn.com