본문 바로가기

Computer Science/컴퓨터 구조

컴퓨터 구조 - 빠른 CPU를 위한 설계 기법

클럭

  • 컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직입니다.
  • CPU는 명령어 사이클의 흐름에 맞춰 명령어들을 실행합니다.
  • 클럭 속도는 Hz 단위로 측정됩니다. 클럭 속도는 Base - Max 사이에서 유연하게 조정됩니다.
  • 클럭 속도를 높이면 성능이 좋아지기는 하지만, 발열 문제가 심각해집니다.

 

코어와 멀티코어

  • 코어란 CPU 내에서 명령어를 실행하는 부품으로, ALU / 제어장치 / 각종 레지스터로 이루어져 있습니다.
  • 코어는 CPU 내에서 여러 개로 존재할 수 있습니다. 이를 멀티코어라고 합니다.
  • 멀티코어로 이루어진 CPU를 멀티코어 프로세서라고 합니다.

 

스레드와 멀티스레드

  • 스레드는 크게 하드웨어적 스레드와 소프트웨어적 스레드가 있습니다.
    • 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위를 의미합니다. 하나의 코어로도 여러 개의 명령어를 처리할 수 있고, 이러한 코어를 가진 CPU를 멀티스레드 프로세서라고 합니다. 멀티스레드 프로세서의 핵심은 레지스터 세트를 여러 개 갖는 것입니다.
    • 소프트웨어적 스레드 : 프로세스 내에서 독립적으로 실행하는 단위를 말합니다. 프로세스 또한 여러 개의 스레드를 가질 수 있고 동시에 처리할 수 있습니다. 이를 멀티스레드라고 하는데, 여러 개의 스레드들은 stack 영역을 제외한 Code, Heap, Data 영역을 공유하지만 동기화를 반드시 해야합니다.