코어 수가 CPU가 아닌 것 같습니다


14

여기에 이미지 설명을 입력하십시오

이미지에서 알 수 있듯이 프로세서 수는 4입니다.

그러나 인텔 i5-4210U에는 아래와 같이 2 개의 코어 만 있습니다. (인텔 자체 사양)

여기에 이미지 설명을 입력하십시오

i5-4210U에 첫 번째 그림에서 "4"가 나타내는 것보다 2 개의 코어 만 있다면?

lscpu 이 결과를 제공합니다.

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               989.531
BogoMIPS:              4788.74
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

10
Hyperthreading 이 있기 때문에 CPU는 성능을 향상시키기 위해 두 개의 물리적 코어 대신 OS에 4 개의 코어를 제공합니다. ( 사양 시트의 " 스레드 수 "는 우분투의 CPU 정보가 보여주는 것입니다.)
JonasCz-복원 Monica Monica

3
이 밖을 찾는 다른 방법은하는 것입니다 lscpu및 봐 CPU(s), Thread(s) per coreCore(s) per socketSocket(s).
edwinksl

@edwinksl, lscpu의 결과가 추가되었습니다.
foxtrot9

2
따라서 논리적 코어 4 개, 물리적 코어 당 2 개의 스레드 (하이퍼 스레딩 부분), 소켓 당 2 개의 물리적 코어 및 1 개의 소켓이 있습니다. 4 = 2 * 2 * 1.
edwinksl

펜티엄 4 이후로 존재하는 하이퍼 스레딩을 듣지 못했습니까?
phuclv

답변:


31

CPU에는 2 개의 코어 만 있지만 4 개의 동시 스레드를 지원 합니다 .

이는 하나의 단일 코어에서 동시에 두 개의 개별 스레드를 동시에 실행할 수있는 Intel의 하이퍼 스레딩 기술에 의해 달성됩니다 .

따라서 코어 당 2 개의 코어 x 2 개의 스레드는 CPU 당 4 개의 스레드를 의미합니다.


1
스레드에 대해 조금 알고 있으므로 하드웨어 수준에서 어떻게 달성 할 수 있는지 궁금합니다. CPU 당 2 개의 스레드를 의미합니까?
foxtrot9

7
하이퍼 스레딩의 전체 개념을 여기에서 설명 할 수는 없습니다. 대신 해당 위키 백과 기사 를 읽 거나 "하이퍼 스레딩"을 사용하여 자주 사용하는 검색 엔진에 피드 를 제안하고 싶습니다 .
바이트 사령관

6
요컨대, 하이퍼 스레딩 가능 코어에는 일부 요소 (아키텍처 상태, 즉 레지스터 등)가 중복되어 있고 다른 요소 (실행 엔진, 캐시)는 공유되어 있다고 말할 수 있습니다.
바이트 사령관

5
@ foxtrot9 기본적으로 단일 실행 스레드는 일반적으로 CPU 코어의 거의 100 %를 사용하지 않습니다. CPU는 메모리에서 데이터가로드되기를 기다리는 데 시간을 소비하며, 주어진 명령은 모든 작은 회로를 사용하지 않습니다 (실행) 여러 가지 일을하는 핵심에서). HT를 사용하면 두 개의 실행 스레드가 코어를 공유 할 수 있으므로 하나는 다른 스레드가 대기하는 동안 실행될 수 있으며 분리 된 실행 단위 세트를 사용하는 경우 둘 다 실행할 수 있습니다. 그러나 두 스레드가 리소스를 공유해야하기 때문에 때로는 하나의 스레드가 다른 스레드의 실행을 중지하므로 전체 코어 2 개만큼 빠르지 않습니다.
hobbs

@ hobbs 상세하지만 간단한 설명, 훌륭합니다! 이 유익한 의견 주셔서 감사합니다 :)
바이트 사령관

3

인텔에서 제공 한 이미지에서 볼 수 있듯이 스레드 수는 4입니다.

우분투가 스레드 수가 아닌 코어 수를 표시한다고 말하고 싶습니다.


1

Intel의 i5-4210 프로세서에는 2 개의 물리적 코어가 있으며이 코어는 2 개의 논리 코어로 더 나뉩니다. 이러한 논리 코어는 인텔의 하이퍼 스레딩 기술에 의해 달성됩니다. 따라서 그림과 같이 총 4 개의 코어가됩니다. 이 정보는 다른 그림에도 나와 있습니다.


사람들이 왜 당신의 대답을 내리는 지 모르겠습니다. 당신이 말한 것은 사실입니다.
Virtual Anomaly

그때 사람들은 바보입니다.
Moksh

이 답변을 뒷받침하기 위해 Wikipedia는 다음과 같이 말합니다. "실제로 존재하는 각 프로세서 코어마다 운영 체제가 두 개의 가상 (논리) 코어를 처리합니다."
Virtual Anomaly

Thnx @lightswitchr
Moksh

1
두 개의 물리적 코어와 두 개의 논리적 코어가 있다고 말했기 때문에 사람들이 하향 투표를하고 있다고 생각합니다. 각 물리적 코어가 두 개의 논리적 코어로 분할되므로 4 개의 논리적 코어가 있습니다 (각 물리적 코어에서 2 개 실행).
Runemoro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.