ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Computer Science] CPU : 빠른 CPU를 위한 설계 기법
    Computer Science 2024. 5. 14. 22:09

    빠른 CPU를 위한 다양한 설계 기법을 소개합니다.


    참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'


    < 클럭 >

    클럭이란 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위

     

     

    • 클럭 속도 : 헤르츠(Hz) 단위로 측정
    • 헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 (1초에 한 번 반복되면 1Hz, 1초에 100번 반복되면 100Hz)

     

    일반적으로 클럭 속도를 높이면 CPU 속도가 빨라지지만, 필요 이상으로 클럭을 높일 시 발열 문제가 심각해집니다.

    그래서, 클럭 속도를 늘리는 방법 외에 코어 수를 늘리거나 스레드 수를 늘리면서 CPU의 속도를 향상시킵니다.

     

     


    < 코어 >

    오늘날 CPU에는 명령어를 실행하는 부품이 여러개 존재하는데, 이 '명령어를 실행하는 부품'코어라고 합니다.

     

    오늘날의 CPU

     

     

    +. 코어를 여러개 가지고 있는 CPU를 멀티코어 프로세서라고 합니다.

    코어 수 프로세서 명칭
    1 싱글코어 (single-core)
    2 듀얼코어 (dual-core)
    3 트리플코어 (triple-core)
    4 쿼드코어 (quad-core)
    6 헥사코어 (hexa-core)
    8 옥타코어 (octa-core)
    10 데카코어 (deca-core)
    12 도데카코어 (dodeca-core)

     

     

    CPU는 꼭 코어 수에 비례하여 증가하지는 않습니다. 중요한 건 코어마다 처리할 연산이 적절하게 분배되는지 입니다.

    ex) 조별과제, 1000명의 요리사가 10인분의 요리

     

     


    < 스레드 >

    스레스란 '실행 흐름의 단위'입니다.

    스레스에는 하드웨어적 스레드소프트웨어적 스레드가 있습니다.
    - 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위, 논리 프로세서라고도 부릅니다.
    - 소프트웨어적 스레드 : 하나의 프로그램에서 독립적으로 실행되는 단위


     


    [ 하드웨어 스레드 ]

    2코어 4스레드 CPU

    +. 하나의 코어가 여러개의 명령어를 동치에 처리할 수 있는 CPU를 멀티스레드 프로세서라고 부릅니다.

     

     

    멀티스레드 프로세서를 설계하는 일은 매우 보잡하지만, 가장 큰 핵심은 레지스터입니다.

    멀티 프로세서

    +. 하나의 명령어를 실행하기 위해 꼭 필요한 레지스터들을 편의상 '레지스터 세트' 라고 표기

     

     


    [ 소프트웨어 스레드 ]

    싱글 스레드 vs 멀티스레드

     

    1코어 1스레드 CPU도 여러 소프트웨어적 스레드를 만들 수 있습니다.

     

     

     

     

    댓글

Designed by Tistory.