-
[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도 여러 소프트웨어적 스레드를 만들 수 있습니다.
'Computer Science' 카테고리의 다른 글
[Computer Science] CPU : 명령어 집합 구조, CISC와 RISC (2) 2024.05.15 [Computer Science] CPU : 명령어 병렬 처리 기법 (1) 2024.05.14 [Computer Science] CPU : 명령어 사이클과 인터럽트 (0) 2024.05.10 [Computer Science] CPU : 레지스터 (0) 2024.05.10 [Computer Science] CPU : ALU와 제어장치 (0) 2024.05.09