Tips or 잡담

[컴퓨터 CPU] CPU, Core, Thread

고인돌개발자 2021. 5. 11. 22:29

점심에 직원들과 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