점심에 직원들과 CPU / Core 에 대한 이야기를 하다가 궁금하여 정리해봄
CPU(영어: central processing unit)는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리하는 가장 핵심적인 컴퓨터의 제어 장치, 혹은 그 기능을 내장한 칩을 말한다 (위키피디아)
CPU 1 개는 프로세스 1개의 작업량을 가진다. 즉 1 Cpu 는 1 Process , 1CPU = 1Process
클럭 - 클럭은 CPU 의 성능을 나타내는 지표로 실제 CPU 의 Spec 을 결정함.
1 Hz = 1초에 한번 작동
1 KHz = 1초에 1천번
1 MHz = 1초에 백만번
1 GHz = 1초에 10억번
그렇다면, CPU 는 클럭을 지속적으로 높여서 성능을 향상하면 되는데 왜? 그러지 못하는걸까??
-> 정답은 바로 발열 - CPU 에 따라 클럭수가 한계치에 다다르면 CPU 열이 높아져서 문제가 발생함.
> 그래서 생각한것이 바로.. 코어
> 초기 CPU 는 1 Cpu 1 Core
코어란?
- CPU 안에서 일을하는 인부와 같은 개념으로
- 1 CPU 1 Core 는 하나의 프로세스의 일을 1명의 인부가 일하는 개념이다.
- 1 CPU 2 Core 는 하나의 프로세스를 2명의 인부가 나눠서 일하는 개념
- CPU 의 유닛이라고 불린다.
- 4코어는 물리적으로 4 프로세스로 작동함 (아래 쓰레드가 논리적인것과 차이가 있음)
그렇다면, 1Cpu 1Core 2Ghz 와 1Cpu 2Core 1Ghz 두개의 성능은 ??
- 정답은 당연 1Cpu 1Core 2Ghz ,
이유는 코어가 2개일때는 CPU 는 2명의 인부에게 일을 분배해줘야 하는데, 이때 시간이 소요됨.
쓰레드란?
- 우선, 여기서의 쓰레드는 프로그래밍에서 나오는 쓰레드와는 구별됨.
(여기서 쓰레드는 CPU 제조적인 기술임)
- 1 코어 1 쓰레드 = 전통적인 방식의 CPU 로 1 코어로 불림
- 1 코어 2 쓰레드 = 코어 하나에 논리적인 개념으로 2개의 작업자를 두개 되는 기술
(하이퍼 쓰레딩 이라 불림)
즉, 쓰레드는 논리적인 개념의 업무 처리를 가능하게 하는 가상의 인부임
그렇다면, 2코어2쓰레드와 , 1코어 4쓰레드의 성능 차이는 어떻게 될까?
당연, 2코어 2쓰레드,
이유는 , 쓰레드는 논리적인 개념으로 1코어 이상의 성능을 내기가 쉽지 않음.
정래해 보는 그림
참고자료 - www.youtube.com/watch?v=_dhLLWJNhwY
'Tips or 잡담' 카테고리의 다른 글
[eclipse] source not found (0) | 2021.06.23 |
---|---|
Eclipse 프로젝트 변경하기 (java -> web) (0) | 2021.06.07 |
왜 (시작하는가) ? (2) | 2021.04.18 |