컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직인다
CPU는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행한다
1] 클럭 속도: 헤르츠(Hz) 단위로 측정
헤르트(Hz): 1초에 클럭이 반복되는 횟수
1초에 클럭이 한번 반복되면 1Hz
1초에 클럭이 100번 반복되면 100Hz
2] CPU를 빨리 작동시키려면,
1. 클럭 속도를 높이는 방법: 발열이 심해지기에 적절하지 않음
2. 코어 수를 늘리는 방법 ex. 듀얼코어, 멀티코어...
3. 스레드 수를 늘리는 방법 ex. 멀티 스레드...
3] 코어와 멀티코어
(1) 코어(Core)란?
명령어를 실행하는 부품을 의미하며
전통적으로 코어는 원칙적으로 하나만 존재했다
하지만, 오늘날 CPU는 코어가 여러 개 존재한다
(2) 멀티 코어
코어의 개수에 따라 싱글코어, 듀얼코어, 트리플코어...처럼 멀티 코어가 된다
코어 수에 비례하여 연산 속도가 무조건적으로 증가하는 것이 아니라
명령어들을 각각의 코어한테 얼마나 적절하게 분배하느냐에 따라 연산 속도가 빨라짐
4] 스레드와 멀티 스레드
스레드는 두가지 의미로 쓰이고
하드웨어적 스레드, 소프트웨어적 스레드로 구분된다
(1) 하드웨어 스레드: 하나의 코어가 동시에 처리하는 명령어 단위
하나의 코어가 여러개의 명령어를 처리할 수 있는 프로세서와 CPU를
멀티 스레드 프로세서, 멀티 스레드 CPU라고 부름
ex. 하이퍼스레딩: 인텔의 멀티스레드 기술
멀티스레드 프로세서의 가장 큰 핵심은 레지스터
레지스터 세트들이 하나의 코어에 여러 개가 있다면, 하나의 코어가 여러 명령어를 동시에 처리할 수 있다
메모리는 CPU의 코어와 스레드는 신경 쓰지 않고
그저 작업 흐름이 n개 있을 뿐이라는 것만 인지한다
따라서, 하드웨어 스레드는 보이지 않는 논리적인 프로세서와 CPU의 개수를 의미하기에 논리 프로세서라고도 부른다
(2) 소프트웨어 스레드: 하나의 프로그램에서 독립적으로 실행되는 단위
하나의 프로그램에서 동시에 2개 이상의 영역이 실행되는 것이 멀티 스레드로 실행된 것
- 1 코어 1 스레드 CPU도 여러 소프트웨어적 스레드를 만들 수 있다?
CPU 내부에서 여러 개 프로그램이나 스레드를 실행할 때,
빠른 속도로 번갈아가며 실행이 되기에 동시에 실행되는 것처럼 사용자에게 체감되기 때문이다
'CS > [혼자 공부하는] 컴퓨터 구조' 카테고리의 다른 글
5-3] CPU의 성능 향상 기법: 명령어 집합 (CISC와 RISC) (0) | 2023.03.31 |
---|---|
5-2] CPU의 성능 향상 기법: 명령어 병렬 처리 기법 (0) | 2023.03.31 |
4-3] CPU의 작동원리: 명령어 사이클과 인터럽트 (0) | 2023.03.31 |
4-2] CPU의 작동원리: 레지스터 (0) | 2023.03.31 |
4-1] CPU의 작동원리: ALU와 제어장치 (0) | 2023.03.31 |