[CS] CPU - 중앙처리장치

GDORI·2024년 10월 7일
0

CS

목록 보기
8/9

CPU 당신은 누구죠?

Central Processing Unit - 중앙 처리 장치
컴퓨터 성능을 따지는 큰 요소 중 하나인 CPU는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행, 처리하는 가장 핵심적인
제어장치입니다. 사람으로 치면 "두뇌" 라고 할 수 있죠.

CPU의 기능

명령어 처리

CPU는 컴퓨터 프로그램에서 오는 명령어를 읽고 이해합니다. 주로 산술연산, 논리연산 등이 있습니다. 연산은 5단계로 이루어지고 마지막 단계에서 명령어가 실행되고 나면 다시 명령 주기가 반복되며 프로그램 카운터의 변화된 위치에서 실행될 명령어를 불러옵니다.

  1. 인출
    첫번째 단계인 인출은 메모리에서 명령어를 불러옵니다.

  2. 해독
    해독은 인출단계에서 가져온 명령어를 해독하여 데이터 정보와 연산정보를 추출하고 CPU 내 장치에 적절한 제어신호를 보내 연산, 처리 준비하는 단계입니다.

  3. 실행
    실행은 추출한 데이터와 연산정보를 이용하여 실제로 연산하는 단계로 연산 단계가 끝난 결과는 다음 명령어에서 쓸지, 메모리에서 쓸지, 라이트백에서 쓸지 결정됩니다.

  4. 메모리
    메모리는 연산 결과가 다음 명령어에서 바로 사용되지 않으면 저장하는 단계입니다.

  5. 라이트백
    라이트백은 다음 명령어의 입력데이터로 쓰일 경우 레지스터에 쓰는 것을 말합니다.

CPU 구조

기본 구성으로는 독립적으로 명령어를 실행할 수 있는 코어, 처리할 명령어를 저장하는 역할을 하는 프로세서 레지스터, 비교, 판단, 연산을 담당하는 산술논리연산장치(ALU), 명령어의 해석과 올바른 실행을 위하여 CPU를 내부적으로 제어하는 제어부(control unit)와 내부 버스 등이 있습니다.

코어

CPU는 여러 코어로 구성되어 있고 각 코어는 독립적으로 명령어를 실행할 수 있는 처리 단위입니다.

  • 싱글코어 : 한 개의 코어로 단일 작업을 처리합니다.
  • 멀티코어 : 여러 개의 코어를 가지고 있어 멀티태스킹 작업이 가능합니다.

예전 게임의 경우 단일코어 성능이 좋아야 체감을 느낄 수 있었고, 그로 인해 인텔이 게임용이라는 인식이 강했으나 최근에는 판도가 바뀌고 있습니다.

최근에는 코어도 용도가 나뉘어 P-Core ( perfomance Core ) / E-Core ( Efficiency core ) 두가지 유형의 프로세서 코어가 있습니다.

  • P-Core 는 경주용 자동차와 같이 높은 성능을 요구하는 작업을 처리하는데 최적화 된 코어로 게임, 비디오 편집, 복잡한 계산 등 CPU에 큰 부하를 주는 작업을 빠르고 효율적으로 처리합니다.

  • E-Core 는 하이브리드 자동차와 같이 에너지 효율성을 높이기 위해 설계된 코어로 낮은 전력 소비로 기본적인 작업이나 백그라운드 작업을 수행하며, 필요할 때 P-Core로 전환하여 성능을 높일 수 있습니다.

스레드

CPU는 멀티스레딩을 지원하여 각 코어에서 동시에 여러 스레드를 실행할 수 있습니다. 인텔의 경우 하이퍼 스레딩 기술을 통해, 하나의 코어가 두 개의 스레드를 동시에 처리할 수 있습니다. 이로 인해 CPU는 작업을 더 빠르고 효율적으로 수행할 수 있습니다. 코어가 광산이라면 스레드는 광부라고 할 수 있습니다.

레지스터

레지스터는 CPU 내부에 위치한 매우 빠른 메모리로써 CPU가 즉시 접근할 데이터와 명령어를 임시로 저장합니다.

  • 일반 목적 레지스터 : 디양한 데이터와 주소를 저장하는 용도로 사용합니다.
  • 특수 목적 레지스터 :
  1. 프로그램 카운터(PC) : 현재 실행중인 명령어의 주소를 저장합니다.
  2. 명령어 레지스터(IR) : 현재 실행중인 명령어를 저장합니다.
  3. 스택 포인터(SP) : 스택 메모리의 최상단 주소를 가리킵니다.
  4. 베이스 레지스터 : 메모리 주소 계산에 사용됩ㄴ디ㅏ.
  • 플래그 레지스터 : CPU 상태나 연산 결과를 나타내는 비트 플래그를 저장하며 연산결과가 0인지 음수인지 등을 나타냅니다.

레지스터는 수공예를 할 때 필요한 도구와 재료를 놓는 작업대같은 역할이라고 볼 수 있습니다.

캐시메모리

캐시는 CPU 내부에 위치한 고속 메모리로, 자주 사용하는 데이터와 명령어를 임시로 저장하여 처리 속도를 높입니다. 레지스터 다음으로 빠릅니다.

  • L1, L2, L3 캐시:
  1. L1 캐시: CPU 코어와 가장 가까운 메모리로, 가장 빠르지만 용량이 작습니다.
  2. L2 캐시: L1보다 느리지만 용량이 더 큽니다.
  3. L3 캐시: 여러 코어가 공유하는 캐시로, 용량은 크지만 속도는 L1과 L2보다 느립니다.

캐시 메모리는 작업대 옆에 있는 보관함이라고 할 수 있겠습니다.

버스

CPU와 다른 부품(메모리, 그래픽 카드 등) 간의 데이터 전송을 위한 통로입니다.

  • 주소 버스: 메모리 주소를 전송합니다.
  • 데이터 버스: 실제 데이터를 전송합니다.
  • 제어 버스: 명령어의 실행 상태를 조정합니다.

버스는 작업한 공예물을 다른 곳에서 처리하기 위해 가지고 움직이는 통로라고 볼 수 있습니다.

제어 유닛 (Control Unit)

제어 유닛이란 CPU 내부에서 명령어의 흐름을 조정하고, 어떤 연산을 수행해야 하는지를 결정하는 역할을 합니다. 명령어를 해석하여 필요한 데이터와 리소스를 할당합니다.

갑자기 광산, 공예 예시를 들다가 뜬금없지만 제어 유닛은 신호등과 같은 역할을 수행합니다. 신호등이 도로에서 차량의 흐름을 조절하듯이 제어 유닛은 올바른 순서로 명령어를 실행할 수 있도록 돕는거죠.

산술 논리 장치 (ALU)

ALU는 기본적인 산술 연산(더하기, 빼기 등)과 논리 연산(AND, OR 등)을 수행하는 장치입니다. ALU는 CPU의 두뇌에서 실제 계산을 담당합니다.

CPU의 성능

CPU의 성능을 나타내는 것에는 클럭 속도, 코어 수, 캐시 크키, 전력소비 등이 있습니다.

클럭속도

CPU 작동 속도를 나타내는 지표로 기가헤르츠(GHz) 단위로 측정됩니다. 높은 클럭 속도는 더 많은 명령어를 더 빠르게 처리할 수 있음을 의미합니다.

코어 수

CPU의 코어 수가 많을수록 동시에 처리할 수 있는 작업의 수가 증가합니다. 멀티태스킹을 지원하는 애플리케이션에서 성능 향상이 두드러지며 예시로 동영상 렌더링 프로그램 등이 있겠습니다.

캐시 크기

CPU의 캐시 메모리 크기는 성능에 큰 영향을 미치며 데이터를 더 빠르게 접근할 수 있도록 도와줍니다.

전력 소비

일반적으로 전력 소비가 높을수록 더 높은 성능을 제공하지만, 전력 효율성이 중요한 모바일 기기나 서버와 같이 24시간 구동이 되어야 하는 제온의 경우 아이들 시 낮은 전력 소비가 중요합니다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글