왜 해당 정보들을 알아야할까요?
컴퓨터 성능을 높이기 위해선 CPU 설계가 중요하고,
제목의 용어들은 CPU 사양과 밀접한 관련이 있습니다.CPU 구매자 입장에서 다나와 사이트만 검색해봐도 어떤 용어가 중요한지 한눈에 파악 가능합니다.
클럭
- 일반적으로 클럭 신호에 컴퓨터 부품들이 동작을 합니다.
- 그래서 클럭속도 = CPU 동작 속도로 간주되기도 합니다. (참조)
- 단위 : Hz
다만, 클럭속도'만' 빠르게 한다고 해서 CPU 성능이 기하급수적으로 빨라지진 않습니다. (발열과 같은 트레이드오프가 생길 수 있음)
CPU 클럭속도 확인 (출처)
인텔 i7 기준, CPU 클럭 속도는 아래와 같습니다. 고성능을 요구하는 시점에 클럭 속도를 높이고, 아닐땐 낮추는 등 유연하게 동작을 합니다.
- 기본 클럭(Base) : 2.1GHz
- 최대 클럭(Max) : 4.9GHz
※ GHz : 10억
코어
- CPU를 구성하는 핵심부품이며, 명령어를 처리
- 오늘날의 `코어` 용어는 아래 그림처럼 간주 됩니다.
ㄴ 아래 그림과 같이 두개 이상의 코어를 가지면, `멀티코어` CPU라고 부릅니다.
스레드 (HW관점)
- 사전적인 의미로 '실행 흐름의 단위' 뜻하지만 HW관점에서는 하나의 코어가 동시에 처리하는 명령어 단위를 의미함
- 예시
1) 1코어 1스레드 : 하나의 코어가 명령어를 하나씩 처리
2) 2코어 4스레드 : 하나의 코어가 두개의 명령어씩 처리
위의 인텔 CPU 사진을 기준으로 말씀드리면, 12코어/20스레드인데요.
- 명령어를 처리하는 부품 : 총 12개 존재
- 성능 코어 : 8개
- 효율 코어 : 4개
- 한번에 처리 가능한 명령어 수 : 20개
- 성능 코어 기준, 16개
- 효율 코어 기준, 4개
성능코어 기준, 하나의 코어당 2개 스레드씩(=`멀티스레드`) 처리 가능하다고 해석할 수 있습니다.※ 인텔에서는 멀티스레드를 `하이퍼스레딩`이라고 부른다고 하네요.
스레드 (프로그래밍 관점)
- 하나의 프로그램에서 독립적으로 실행되는 단위
- method1, method2, method3를 독립적으로 구성하여, 동시에 실행할 수도 있음
출처
'CS' 카테고리의 다른 글
[CS] 명령어와 파이프라이닝 간 함의 : CISC, RISC (0) | 2024.04.15 |
---|---|
[CS] 효율적인 명령어 분배 : 명령어 파이프라인 (0) | 2024.04.15 |
[CS] 실행 흐름을 파악할 수 있는 레지스터의 종류 (0) | 2024.04.14 |
[CS] 명령어 구조 알아보기 (0) | 2024.04.12 |
[CS] 명령어 변환방식 : 컴파일, 인터프리터 (0) | 2024.04.11 |