클럭과 코어, 스레드라는 개념을 학습하고, 빠른 CPU를 만드는 설계 기법인 멀티코어와 멀티스레드란 무엇인지 이해합니다.
📖 '혼자서공부하는컴퓨터구조+운영체제'의 내용을 바탕으로 정리한 공부내용입니다.
⏳클럭 속도
: 컴퓨터 부품들이 맞추는 시간 단위
=> 클럭 신호가 높을 수록 CPU는 빨라진다.
- 헤르츠(Hz)단위로 측정
-> 1초에 100번 = 100 Hz
- 실제 CPU클럭 속도는 2.5GHz~4.9GHz (1초에 25억~49억)
- 클럭 속도를 무작정 높이면 발열문제 발생
⚙️코어와 멀티코어
: 명령어를 실행하는 부품 (ALU + 제어장치 + 레지스터 한세트)
- 여러개를 포함하고 있는 CPU를 멀티코어CPU라고 부름
- 코어마다 처리할 연산이 적절히 분배되지 않는다면 코어 수에 비례해 연산 속도가 증가하지 않음
- 처리하고자하는 작업량 << 코어수 -> 성능에 영향 X
=> 처리할 명령어들의 적절한 분배에 따라 연산속도가 달라짐
✨스레드와 멀티 스레드
하드웨어적 스레드
: 하나의 코어가 동시에 처리하는 명령어 단위
- CPU에서 사용하는 용어
ex) 2코어 4스레드 CPU = 명령을 실행하는 부품을 두 개 포함 + 한 번에 4개의 명령어 처리 가능
- 멀티스레드프로세서(CPU) : 하나의 코어로 여러 명령어를 동시에 처리하는 CPU
소프트웨어 스레드
: 하나의 프로그램에서 독립적으로 실행되는 단위
- 프로그래밍 언어나 운영체제에서 소프트웨어적으로 정의된 스레드 (Python, Java, C++ 등으로 구현가능)
- 1코어 1스레드 CPU도 여려개의 소프트웨어적 스레드를 실행 가능
멀티스레드 프로세서
: 하나의 코어로 여러 명령어를 동시에 처리하는 CPU
- 레지스터의 수가 핵심, 레지스터 세트의 수에 따라 한꺼번에 처리할 명령어의 수가 결정됨
- 메모리 입장에선 CPU가 네개 있는 것 처럼 보임
- 논리 프로세서라고 부르기도 함