컴퓨터 구조#4 CPU의 작동원리(빠른 CPU 설계 방법)

성찬홍·2025년 11월 17일

Computer Science

목록 보기
7/17

CPU를 빠르게 하려면

  • 컴퓨터 부품들은 ‘클럭 신호’에 맞워 일사불란하게 움직인다.
  • CPU는 ‘명령어 사이클’이라는 정해진 흐름에 맞춰 명령어들을 실행한다.
  • 클럭 속도

    • 클럭 속도 : 헤르츠 단위로 측정
    • 헤르츠 : 1초에 클럭이 반복되는 횟수
    • 클럭이 ‘똑-딱-’하고 1초에 한 번 반복되는 1Hz
    • 클럭이 1초에 100번 반복되면 100Hz
  • 코어와 멀티 코어

    • 클럭속도를 늘리는 방법 이외의 방법은 뭐가 있을까
      • 코어 수를 늘리기
      • 스레드 수를 늘리기

코어란?

: 코어란 CPU 내에서 명령어를 실행하는 부품으로 여러 개 있을 수 있다.

  • 현대적인 관점에서 “CPU”라는 용어를 재해석 해야한다
  • ‘명령어를 실행하는 부품’?
  • 전통적으로 ‘명령어를 실행하는 부품’은 원칙적으로 하나만 존재한다.
  • But 오늘날 CPU에는 ‘명령어를 실행하는 부품’이 여러개 존재한다.

멀티 코어 프로세서

: 여러 개의 코어를 포함하고 있는 CPU를 말한다.

코어를 늘리면 배수로 빨라지나?

→ 꼭 그렇지는 않다.

스레드

: 하드웨어적 쓰레드와 소프트웨어적 쓰레드로 나눠서 생각하는게 좋다.

  • 하드웨어 스레드 ( 논리 프로세서라고도 부른다 )
    • 하나의 코어가 동시에 처리하는 명령어 단위

  • 소프트웨어 스레드
    • 하나의 프로그램에서 독립적으로 실행되는 단위

명령어 병렬 처리 기법

명령어 파이프라인

→ 명령어가 처리되는 과정을 비슷한 시간 간격으로 나누면?
→ 같은 단계가 겹치지만 않는다면 CPU는 ‘각 단계를 동시에 실행할 수 있다’

  • 명령어 인출
  • 명령어 해석
  • 명령어 실행
  • 결과 저장

명령어 파이프라인을 사용하지 않는다면?

→ 모든 사이클을 다끝내고 새로운 사이클을 가야하기에 , 느려진다.

비순차적 명령어 처리

: 비순차적 명령어 처리 기법은 파이프라인의 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 명령어 병렬 처리 기법이다.

⇒ 합법적 세치기

명령어 집합 구조 , CISC RISC

명령어 집합(구조)(ISA) : CPU가 이해할 수 있는 명령어들의 모음

→ CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속이다.

CISC (Complex Instruction Set Computer)

→ 복잡한 명령어 집합을 활용하는 컴퓨터(CPU)

→ x86 , x86-64 CISC 기반 명령어 집합 구조

→ 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수있다.

단점

→ 명령어 파이프라이닝이 불리하다.

→ 명령어의 크기가 일정하지 않아 ,실행 시간이 일정하지가 않다.

RISC(Reduced Instruction Set Computer)

→ 단순하고 적은 수의 고정 길이 명령어 집합을 활용한다.

→ CISC에 비해 명령어 파이프라이닝에 유리하다.

→ 메모리 접근 최소화 , 레지스터 십분 활용

단점

→ 각 명령어의 종류가 작기에, 더 많은 명령어로써 프로그램을 동작시킨다.

정리

CPU 성능을 높이기 위해서는 기본적으로 클럭 속도를 높이거나, 명령어를 실행하는 핵심 부품인 코어의 수를 늘리는 방식이 사용된다. 현대 CPU는 여러 코어를 포함한 멀티코어 구조로 발전했으며, 각 코어는 동시에 여러 하드웨어 스레드를 처리해 병렬성을 높인다. 또한 CPU는 명령어 처리 속도를 높이기 위해 파이프라이닝 기법을 사용해 ‘명령어 인출 → 해석 → 실행 → 저장’ 과정을 겹쳐 처리하고, 필요할 경우 파이프라인이 멈추지 않도록 비순차적 명령어 처리 기법으로 실행 순서를 유연하게 조정한다.

CPU가 이해하는 언어인 명령어 집합 구조(ISA) 또한 성능에 큰 영향을 미친다. 복잡한 명령어를 적은 수로 수행할 수 있는 CISC는 명령어 길이와 실행 시간이 일정하지 않아 파이프라이닝에 불리하지만, RISC는 짧고 단순한 고정 길이 명령어로 구성되어 파이프라이닝과 고성능 병렬 처리에 유리하다. 다만 RISC는 명령어 종류가 적기 때문에 동일한 작업을 수행하기 위해 더 많은 명령어가 필요하다는 특징이 있다.

출처

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard

profile
꾸준한 개발자

0개의 댓글