컴퓨터 공학 기초/컴퓨터 구조

빠른 CPU를 위한 설계 기법

jjjjjjyun 2025. 4. 22. 21:40
  • CPU 속도를 빠르게 하려면?
    • 컴퓨터 부품들은 ‘클럭 신호’에 맞춰 일사불란하게 움직인다.
    • CPU는 ‘명령어 사이클’이라는 정해진 흐름에 맞춰 명령어들을 실행한다.
  • 클럭 속도
    • 단위: [Hz]
    • 헤르츠[Hz]: 1초에 클럭이 반복되는 횟수 1초에 한 번 똑딱이면 1Hz

 

 

무조건 클럭 속도가 빠르다고 좋은 것은 아니다.

필요 이상으로 클럭을 높이면 발열이 심해진다.

  • 클럭 속도를 늘리는 것 말고 CPU를 빠르게 하려면?
    • 코어 수를 늘리는 방법 (듀얼 코어, 멀티 코어 등)
    • 스레드 수를 늘리는 방법 (멀티 스레드)

 

 

코어

  • 전통적으로 명령어를 실행하는 부품은 원칙적으로 하나만 존재
  • 하지만 오늘날 CPU에는 명령어를 실행하는 부품이 여러 개 존재
  • 명령어를 실행하는 부품’을 코어라는 용어로 사용
  • 코어를 여러 개 갖고 있는 CPU를 ‘멀티 코어’라고 한다.

 

 

 

스레드

 

  • 하드웨어 스레드: 하나의 코어가 동시에 처리하는 명령어 단위
    • 논리 프로세서’라고도 부른다.
    • 1코어 1스레드 CPU: 한 번에 1개의 코어가 1개의 명령을 수행할 수 있다.
    • 멀티 스레드 프로세서, 멀티스레드 CPU: 하나의 코어가 여러 개의 명령을 수행할 수 있는 CPU

 

한 번에 2개의 코어가 4개의 명령을 수행할 수 있다. = 한 번에 1개의 코어가 2개의 명령을 수행할 수 있다.

  • 멀티스레드 프로세서를 실제로 설계하는 일은 매우 복잡하지만 가장 큰 핵심은 레지스터이다.

  • 프로그램 카운터 레지스터, 스택 포인터 레지스터가 여러 개이면 명령이 여러 번 이루어지는 거니까(멀티스레드) 레지스터가 중요하다.

 

 

  • 소프트웨어 스레드: 하나의 프로그램에서 독립적으로 실행되는 단위
    멀티스레드: 한 프로그램에서 동시에 두 개 이상의 영역이 실행된다.
     
    세 개의 기능을 독립적으로 실행할 수 있다.

    • 1코어 1스레드 CPU도 여러 소프트웨어적 스레드를 만들 수 있다. (하드웨어적인 스레드가 하나여도 여러 소프트웨어적 스레드를 만들 수 있다.)

 

'컴퓨터 공학 기초 > 컴퓨터 구조' 카테고리의 다른 글

명령어 사이클과 인터럽트  (0) 2025.04.22
CPU의 내부 구성 - 레지스터  (0) 2025.04.17
ALU와 제어장치  (0) 2025.03.15
C언어의 컴파일  (0) 2025.03.15
명령어의 구조와 주소 지정 방식  (0) 2025.03.15