CPU에서 2 코어 4 스레드는 무엇을 의미합니까?


22

CPU에 대해 2 코어 4 스레드가 무엇을 의미하는지 알고 싶습니까? 나는 내가 가지고있는이 CPU에 대해 이야기하고있다.

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

나는 처음에 i5에 4 개의 코어가 있다고 생각했지만 내가 틀렸다고 생각합니다. 스레드에 대한 나의 이해는 다른 스레드와 동시에 (동시에) 실행될 수있는 코드 덩어리라는 것입니다. 그렇다면 스펙 시트에서 4 개의 스레드는 무엇을 의미합니까? 프로그래밍 방식 스레드와 다릅니다. 거기에있는 스레드 수가 우리가 만든 프로그램 스레드와 다른가? 코어가 2 개만 있으면 4 개의 스레드가 있어도 2 개의 병렬 프로그램 만 실행할 수있는 것이 맞습니까?


2
en.wikipedia.org/wiki/Hyper-threading 에 대한 배경 연구를 한 후에는 더 잘 이해할 것입니다. 실제로 가지고있는 프로세서는 한 번에 4 개의 명령을 수행 할 수 있습니다. 단일 코어 CPU에서도 여러 프로그램을 실행할 수 있다는 점을 이해해야합니다. 한 번에 2 개의 명령을 수행 할 수있는 기능이 없습니다. 프로그램이 실제로 어떻게 작동하는지 명확하지 않은 것 같습니다.
Ramhound

@Ramhound 아마도 4 개의 명령 스트림을 의미했을 것 입니다. i5는 슈퍼 스칼라이므로 단일 명령어 스트림에서도 여러 명령어를 병렬로 실행할 수 있습니다. 동시 멀티 스레딩을 통해 스레드 레벨 병렬 처리를 명령 레벨 병렬 처리로 변환하여 실행 자원의 활용도를 높일 수 있습니다.
Paul A. Clayton

클럭 사이클 당 명령어 수는 Pentium D와 4th Core i5에서 다이 크기를 뺀 것과 전력 요구 사항 간의 차이 (물론 단순화 됨)
Ramhound


이 답변은 교화를 제공 할 수 있습니다 : superuser.com/questions/1198459/...
제이미 한라

답변:


15

i5에는 2 개의 코어가 있으며, 각 코어는 인텔의 하이퍼 스레딩으로 인해 2 개의 스레드를 실행할 수 있으며 프로세스 간 고속 전환을 넘어 4 개의 스레드를 만듭니다. 여기에 '더 알고 싶다면 멀티 스레딩의 좋은 explation를이야,하지만 본질적으로 당신의 CPU 프로세스 사이의 높은 속도로 4 개 simultaniously 프로세스, 스위치를 실행할 수 있습니다.


> "공정 간 고속 전환을 넘어서" 스위칭 흑백 프로세스가 더 빨라지는 이유는 무엇입니까?
Talespin_Kit

@Talespin_Kit @ Slowki는 CPU가 여러 프로세스에서 작동하는 데 사용되는 방식을 언급했기 때문에 4 가지로 제한되지 않습니다. 많은 것들의 4 스레드입니다.
Matt Sephton

3

컴퓨터 아키텍처에 대한 전문 지식 수준은 확실하지 않지만 여기서 언급 한 Core i5는 SMT (Simultaneous Multithreading)라는 멀티 스레딩 형태를 구현합니다. SMT 구현에 대한 인텔의 상표는 하이퍼 스레딩입니다.

SMT 외에도 다른 형태의 멀티 스레딩이 있으며 시간적 멀티 스레딩은 하나입니다. 예를 들어, 프로세서가 사이클마다 다른 스레드 사이를 전환하여 여러 프로그램의 의사 병렬 실행을 가능하게하는 미세한 시간적 멀티 스레딩. 이와 유사하게, 프로세서가 현재 스레드상의 메인 메모리 액세스와 같은 높은 레이턴시 동작에 도달 할 때 프로세서가 스레드 사이를 전환 할 수있는 대략적인 시간적 멀티 스레딩이있을 수있다. 정확한 전환점은 공정성 또는 실시간 마감일과 같은 구현 및 요구 사항에 따라 달라질 수 있습니다.

SMT는 실제로 하나의 프로세서에서 동시에 실행되는 둘 이상의 스레드가 있다는 점에서 멀티 스레딩에 대한 컨텍스트 전환 철학에서 벗어납니다. 구현은 다양 할 수 있지만, 주요 목표는 하나의 스레드 만 실행중인 경우 유휴 상태 인 프로세서의 기능 단위를 활용하고 프로세서의 넓은 문제 수퍼 스칼라 특성을 이용하는 것입니다. 시간적 멀티 스레딩은 프로세서 리소스를 분할하는 시간으로, SMT는 리소스의 공간 슬라이싱으로 상상할 수 있습니다.

자세한 분석은 Tullsen의 1995 년 논문에서 찾을 수 있습니다.

http://dl.acm.org/citation.cfm?id=224449


0

"2 개의 코어 만 있다면 4 개의 스레드가 있어도 2 개의 병렬 프로그램 만 실행할 수있는 것이 맞습니까?" 코어가 2 개인 경우 계산을 2 = 병렬 처리로 나눕니다. 그러나 시스템에 하이퍼 스레딩이있는 경우 동일한 코어에서 2 개의 계산을 수행 할 수 있습니다. 동일한 코어가 OS에 2 개의 코어 ... 논리적 코어로 표시됩니다.


0

스레드 수를 가져와 코어 수로 나누면 프로세서 코어 당 동시에 실행될 수있는 스레드 수를 얻을 수 있습니다.

이전의 [이전 인텔 모델에서] 하이퍼 스레딩은 동시에 2 개의 스레드를 실행하는 1 개의 코어 또는 코어 당 1 개의 명령어 세트 (일명 스레드)를 실행하는 여러 개의 코어로 제한되었습니다 (필요한 경우 비효율적 임). 그러나 컴퓨팅 성능이 향상되고 i5 프로세서와 같은 이후의 개발을 통해 코어마다 여러 명령 세트 (일명 스레드)를 실행하는 여러 코어가있는 멀티 코어 하이퍼 스레딩 프로세서라고 부릅니다.

귀하의 경우 1 코어에는 2 개의 스레드가 있으므로 수학을 수행하면 총 4 개의 명령어 세트 (스레드)가 있습니다.

다른 예 : # of Cores = 4, # of thread = 8 | 8/4 = 2이므로 각 코어는 2 개의 스레드를 동시에 처리합니다 (어떤 프로세서 모델이이를 수행하는지 확실하지 않지만 하나는 존재하는지 거의 확신합니다).

이것이 내 친구를 돕기를 바랍니다! 행복한 컴퓨팅!

출처 : PEARSON IT Certification CompTIA A + Examp Cram Cert. 조작

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.