답변1
코어와 스레드 사이의 이러한 차이는 일부 CPU의 설계로 인해 존재합니다.
인텔은 다음과 같은 기술을 도입했습니다.하이퍼스레딩일부 CPU에서는. 이는 예를 들어 RAM에서 CPU로 데이터가 로드되는 동안 실행이 갑자기 대기하도록 강제될 수 있는 CPU의 내부 작동 중 일부를 활용합니다. 코어가 IO를 기다리는 시간을 낭비하도록 강요하는 대신, 하이퍼스레딩은 코어를 사용하여 다른 유용한 작업을 수행하려고 합니다.
이를 위해 그들은 "논리 프로세서"라는 개념을 도입했습니다. 여러(보통 3개) 프로세서가 동일한 칩을 사용합니다. 하나가 기다리는 동안 다른 하나는 동일한 회로를 사용하여 처리하고 있습니다.
따라서 프로세서(마더보드에 연결되는 칩)에는 2개의 코어와 4개의 논리 코어가 있을 수 있습니다. 운영 체제의 관점에서 이는 CPU가 4개 있는 것처럼 보입니다. 전자적으로 두 개의 CPU 코어는 각각 두 개의 코어인 것처럼 보입니다.
동일한 코어에 있는 두 개의 논리 프로세서가 서로를 기다리는 경우가 많다는 점을 이해하는 것이 좋습니다. 따라서 하나의 코어에 있는 두 개의 논리 프로세서는 두 개의 독립 코어와 동일한 성능을 발휘하지 않습니다.
하이퍼스레딩은 경우에 따라 전체 성능을 저하시키는 것으로 알려져 있습니다. 두 개의 논리 프로세서를 함께 사용하면 단일 코어보다 낮은 성능을 얻을 수 있기 때문입니다. 매우 높은 메모리 IO가 이러한 상황 중 하나라고 합니다.
스레드는 프로그래밍 개념입니다. 논리 프로세서 수에 관계없이 더 많은 스레드를 가질 수 있습니다. 스레드는 시간에 따라 분할됩니다. 스레드는 몇 밀리초 동안 실행된 다음 다른 스레드가 실행될 수 있도록 운영 체제에 의해 일시 중지됩니다.
4개의 논리 프로세서가 있다는 것은 운영 체제가 CPU에 4개의 스레드를 동시에 실행하도록 요청할 수 있다는 것을 의미합니다.
답변2
코어는 데이터에 대한 모든 작업(덧셈, 뺄셈, 곱셈...)을 수행할 수 있는 CPU 단위입니다.
논리적 CPU는 현재 프로그램을 분석하고 계산이 필요할 때 코어에 지시합니다. 여러 논리적 CPU가 하나의 코어를 공유하도록 할 수 있습니다. 이 경우 2개의 논리 CPU에 동시에 코어가 필요한 경우 일부 스레드는 코어에 대한 계산을 수행하는 동안 절전 모드로 전환될 수 있습니다.