[unix] 그렇다면 물리적 CPU 코어와 달리 논리적 CPU 코어는 무엇입니까?

나는 기계에서 CPU의 수를 찾는 방법에 대해 인터넷 검색을하고 일부 게시물을 찾았지만 일부는 논리적 코어와 물리적 코어 등을 얻는 것으로 언급되어 혼란스러워합니다.
따라서 논리적 코어와 물리적 코어 의 차이점은 무엇입니까? 물리적 코어 만 얻을 수있는 방법이 있습니까? 아니면 우리의 수에 논리 코어를 포함시키는 것이 합리적입니까?



답변

물리적 코어는 CPU 내의 물리적 코어입니다. 논리 코어는 단일 코어가 2 개 이상의 작업을 동시에 수행 할 수있는 능력입니다. 이것은 초기 Pentium 4 CPU에서 하이퍼 스레딩 (HTT) 이라는 기능을 수행 할 수있게되었습니다 .

코어의 하위 구성 요소가 특정 유형의 명령에 사용되지 않은 동안 다른 장기 실행 명령이 실행되었을 수있는 게임이었습니다. 따라서 CPU는 실제로 두 가지 작업을 동시에 수행 할 수 있습니다.

최신 코어는 본격적인 CPU이므로 여러 가지 작업을 동시에 수행하지만 실제 코어와 같은 진정한 CPU는 아닙니다. 이 기사의 제목 : 인텔 코어 i5 및 코어 i7 : 인텔의 메인 스트림 매그넘 Opus 에서 하이퍼 스레딩 기능과 코어의 물리적 기능에 대한 제한 사항에 대한 자세한 내용을 볼 수 있습니다 .

다음 lscpu명령을 사용하여 상자의 분류를 볼 수 있습니다 .

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

위의 인텔 i5 랩탑에는 총 4 개의 “CPU”가 있습니다.

CPU : 4

그 중 2 개의 물리적 코어가 있습니다

소켓 당 코어 : 2

각각 최대 2 개의 스레드를 실행할 수 있습니다

코어 당 스레드 수 : 2

동시에. 이 스레드는 핵심의 논리적 기능입니다.


답변

물리적 코어는 물리적 코어, 실제 하드웨어 구성 요소의 수입니다.

논리 코어는 물리적 코어 수에 하이퍼 스레딩을 사용하여 각 코어에서 실행할 수있는 스레드 수를 곱한 것입니다.

예를 들어, 4 코어 프로세서는 코어 당 2 개의 스레드를 실행하므로 8 개의 논리 프로세서가 있습니다.


답변

하이퍼 스레딩 기술을 사용하면 단일 물리적 프로세서 코어가 두 개의 논리 프로세서처럼 작동 할 수 있습니다.

따라서 단일 프로세서 코어가 두 개의 독립적 인 스레드를 동시에 실행할 수 있습니다 .

인텔은 물리적 프로세서를 소켓이라고합니다.

하이퍼 스레딩을 사용하면 물리적 프로세서가 논리적 프로세서라고하는 두 개의 물리적 프로세서가있는 것처럼 작동합니다. 왜?

하이퍼 스레딩은 시스템 성능을 두 배로 늘리지는 않지만 유휴 리소스를 더 잘 활용하여 성능을 향상시켜 특정 중요한 워크로드 유형에 대한 처리량을 높일 수 있습니다. 사용중인 코어의 하나의 논리 프로세서에서 실행되는 응용 프로그램은 비스 레드 스레드 프로세서에서 단독으로 실행하는 동안 얻는 처리량의 절반 이상을 기대할 수 있습니다.

요약

물리적 프로세서는 우리가보고 넘어 질 수 있다는 것입니다.

논리 프로세서는 두 개의 물리적 코어 역할을 하는 Phsical Core 와 같습니다.


답변

$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

두 개의 소켓. 각 소켓에는 14 개의 물리적 코어가 있습니다. 각 코어에는 2 개의 스레드 (28/14)가 있습니다. 논리적 “cpus”또는 논리적 처리 장치의 총 수는 56 개입니다 ( “top”및 다른 명령은 “cpus”의 수로 표시합니다).


답변