[컴퓨터 구조] 빠른 CPU를 위한 설계 기법 (클럭, 코어, 멀티코어, 스레드, 멀티스레드)

2025. 1. 3. 21:21·CS

1. 클럭 (Clock)

  • 클럭 (Clock) : CPU 동작을 동기화하는 신호로, CPU 성능에 큰 영향을 미친다.
  • 클럭 속도 : CPU의 성능을 나타내는 주요 지표로, 단위는 헤르츠(Hz)
    • 1초에 명령어를 몇 번 실행할 수 있는지 나타낸다.
    • 클럭 속도가 높을수록 일반적으로 CPU의 처리 속도가 빠르다.
  • 동적 클럭 조절 : CPU는 상황에 따라 클럭 속도를 조정
    • 성능이 필요한 경우 클럭 속도를 높이고, 필요하지 않을 때는 낮춰 효율성을 높임
    • 오버클럭킹 (overclocking) : 최대 클럭 속도를 높여 성능을 향상시키는 기법이지만 발열과 안정성 문제가 발생할 수 있다.
  • 한계 : 클럭 속도를 올리는 것만으로는 CPU 성능 향상에 한계가 있으며, 발열 문제가 있을 수 있다.

 

2. 코어와 멀티코어

  • 코어 (Core) : 명령어를 실행하는 독립적인 하드웨어 부품
    • 과거에는 CPU에 하나의 코어만 존재했지만, 기술 발전으로 여러 코어를 포함할 수 있게 됐다.
  • 멀티코어 CPU (Multi-core CPU, 멀티코어 프로세서) : 여러 코어를 포함한 CPU로 동시 작업 처리 능력 향상
    • 예 : 싱글코어 (Single Core), 듀얼코어 (Dual Core), 트리플코어 (Triple Core), 쿼드코어 (Quad Core) 등
    • 코어 수가 많아질수록 성능이 향상되지만 (항상 성능이 코어 수에 비례해서 증가하진 않음), 작업이 적절히 분배되지 않으면 성능 향상이 제한

 

3. 스레드와 멀티스레드

  • 스레드 (Thread) : 실행 흐름의 단위
    • 하드웨어 스레드 : 하나의 코어가 동시에 처리할 수 있는 명령어 단위
    • 소프트웨어 스레드 : 하나의 프로그램 내에서 독립적으로 실행되는 단위
  • 멀티스레드 CPU (Multi-thread CPU, 멀티스레드 프로세서) :
    • 하나의 코어가 여러 명령어를 동시에 처리할 수 있는 CPU
    • 예) 2코어 4스레드 CPU → 두 개의 코어가 네 개의 명령어를 동시에 처리
    • 하이퍼스레딩 (Hyper-threading) : 인텔의 멀티스레드 기술로, 하나의 코어가 두 개의 명령어를 처리하도록 설계
  • 스레드의 정의 차이 :
    • 하드웨어적 스레드 : 하나의 코어가 동시에 처리 가능한 명령어 단위
    • 소프트웨어적 스레드 : 하나의 프로그램에서 독립적으로 실행되는 실행 단위

 

4. 멀티코어와 멀티스레드 차이점

  • 멀티코어 (Multi-core) : CPU에 여러 개의 코어 (명령어 실행 하드웨어 부품) 가 포함된 설계
  • 멀티스레드 (Multi-thread) : 하나의 코어가 여러 명령어를 동시에 처리하도록 설계된 CPU
  • 예)
    • 2코어 4스레드 CPU는 두 개의 코어로 네 개의 명령어를 동시에 처리 가능
    • 논리적으로는 네 개의 독립적인 CPU가 있는 것처럼 보인다. → 하드웨어적 스레드를 논리 프로세서 (logical processor) 라고도 부른다.

 

참고 : 책 - 혼자 공부하는 컴퓨터 구조 + 운영체제

'CS' 카테고리의 다른 글

[컴퓨터 구조] CISC와 RISC  (0) 2025.01.03
[컴퓨터 구조] 명령어 병렬 처리 기법 (명령어 파이프라이닝, 슈퍼스칼라, 비순차적 명령어 처리 기법)  (0) 2025.01.03
[컴퓨터 구조] CPU의 작동 원리  (1) 2025.01.02
[컴퓨터 구조] 명령어의 구조와 오퍼랜드 필드의 주소 지정 방식  (0) 2024.12.26
[컴퓨터 구조] 컴퓨터의 구성  (2) 2024.12.26
'CS' 카테고리의 다른 글
  • [컴퓨터 구조] CISC와 RISC
  • [컴퓨터 구조] 명령어 병렬 처리 기법 (명령어 파이프라이닝, 슈퍼스칼라, 비순차적 명령어 처리 기법)
  • [컴퓨터 구조] CPU의 작동 원리
  • [컴퓨터 구조] 명령어의 구조와 오퍼랜드 필드의 주소 지정 방식
하늘☁️
하늘☁️
개발일지, 학습, 스터디 기록 남기는 블로그 ☁️
  • 하늘☁️
    구름일지
    하늘☁️
  • 전체
    오늘
    어제
    • 분류 전체보기 (51)
      • Java (3)
      • SQL (5)
      • 알고리즘 (31)
      • TIL (4)
      • CS (6)
      • 일상 (2)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    mysql
    코딩테스트연습
    제로베이스부트캠프
    회고
    상속
    pccp 기출문제 3번
    boj5427
    스터디기록
    boj10986
    명령어파이프라인
    정적블록
    비순차적명령어처리기법
    제로베이스백엔드스쿨
    java
    백준
    제로베이스백엔드스쿨초단기취업반
    코딩테스트입문
    코딩테스트
    학습일지
    boj1377
    cpu의작동원리
    충돌위험 찾기
    CS
    db
    boj12891
    TIL
    알고리즘
    프로그래머스
    컴퓨터구조
    dna 비밀번호
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
하늘☁️
[컴퓨터 구조] 빠른 CPU를 위한 설계 기법 (클럭, 코어, 멀티코어, 스레드, 멀티스레드)
상단으로

티스토리툴바