Intel Core i7 프로세서에서 하이퍼 스레딩은 어떻게 작동합니까?

구성품 / Intel Core i7 프로세서에서 하이퍼 스레딩은 어떻게 작동합니까? 4 분 읽기

하이퍼-스레딩이라는 용어를 많이 들었습니다. 프로세서가 활성화되면 프로세서의 속도를 두 배로 늘리는 마법의 기술입니다. 회사는이를 켜거나 끄고 프리미엄처럼 훨씬 더 많이 청구 할 수 있습니다.



나는 그 모든 것이 완전히 넌센스이며이 기사는 하이퍼-스레딩이 무엇인지 더 잘 이해할 수 있도록 교육하는 것을 목표로한다고 말하고 싶습니다. 이 기사는 매우 초보자에게 친숙 할 것입니다.

머리말

예전에는 Intel이나 AMD가 더 빠른 CPU를 만들어야한다면 일반적으로 트랜지스터를 축소하고 동일한 공간에 더 많이 장착하여 잠재적 인 트랜지스터 수를 늘리고 주파수 (MHz / GHz로 측정)를 늘리려 고했습니다. 모든 CPU에는 하나의 단일 코어 만있었습니다. CPU는 32 비트가되었으며 최대 4GB의 RAM을 처리 할 수 ​​있습니다. 나중에 RAM 도약을 처리 할 수있는 64 비트 CPU로 이동하고 4GB 이상을 제한했습니다. 그런 다음보다 효율적인 컴퓨팅을 위해 다중 코어를 사용하고 이러한 다중 코어에 워크로드를 분산하기로 결정했습니다. 모든 코어는 작업을 분산하기 위해 서로 통신합니다. 이러한 작업을 다중 스레드 작업이라고합니다.



CPU 부품



CPU는 조화롭게 작동하는 다음 부분으로 구성됩니다. 위에서 언급했듯이 이것은 지나치게 단순화 될 것입니다. 이것은 단순히 단기 집중 과정이며이 정보를 복음의 단어로 받아들이지 마십시오. 이러한 부품은 특정 순서로 나열되지 않습니다.



  • 스케줄러 (실제로는 OS 수준)
  • 가져 오기
  • 디코더
  • 핵심
  • 은닉처
  • 메모리 및 I / O 컨트롤러
  • FPU (부동 점 단위)
  • 레지스터

이 부분의 기능은 다음과 같습니다

메모리 및 I / O 컨트롤러는 CPU와 데이터의 출입을 관리합니다. 데이터는 하드 디스크 또는 SSD에서 RAM으로 가져온 다음 더 중요한 데이터를 CPU 캐시로 가져옵니다. 캐시에는 3 단계가 있습니다. 예를 들어. Core i7 7700K에는 8MB의 L3 캐시가 있습니다. 이 캐시는 코어 당 2MB로 전체 CPU에서 공유됩니다. 여기의 데이터는 더 빠른 L2 캐시에 의해 선택됩니다. 모든 코어에는 총 1MB, 코어 당 256KB 인 자체 L2 캐시가 있습니다. Core i7의 경우 Hyper-Threading이 있습니다. 각 코어에는 2 개의 스레드가 있으므로이 L2 캐시는 두 스레드에서 공유됩니다. 총 L1 캐시는 스레드 당 32KB에서 256KB입니다. 여기서 데이터는 32 비트 모드에서 총 8 개의 레지스터와 64 비트 모드에서 16 개의 레지스터 인 레지스터로 들어갑니다. OS (Operating System)는 사용 가능한 스레드에 대한 프로세스 또는 지침을 예약합니다. i7에는 8 개의 스레드가 있으므로 코어 내의 스레드간에 전환됩니다. Windows 또는 Linux와 같은 OS는 물리적 코어와 논리적 코어를 파악할 수있을만큼 똑똑합니다.

하이퍼 스레딩은 어떻게 작동합니까?



기존의 멀티 코어 CPU에서 각 물리적 코어에는 자체 리소스가 있으며 각 코어는 모든 리소스에 독립적으로 액세스 할 수있는 단일 스레드로 구성됩니다. 하이퍼 스레딩에는 동일한 리소스를 공유하는 2 개 (또는 드물게는 더 많은 스레드)가 포함됩니다. 스케줄러는 이러한 스레드간에 작업과 프로세스를 전환 할 수 있습니다.

기존의 멀티 코어 CPU에서 코어는 할당 된 데이터 또는 프로세스가없는 경우 '파킹'하거나 유휴 상태를 유지할 수 있습니다. 이 상태를 기아라고하며 SMT 또는 Hyper-Threading으로 건전하게 해결됩니다.

물리적 코어와 논리적 코어 (및 스레드 란 무엇입니까)

거의 모든 Core i5의 사양 시트를 읽으면 4 개의 물리적 코어와 4 개의 논리적 코어 또는 4 개의 스레드 (Coffee Lake i5에는 6 개의 코어와 6 개의 스레드가 있음)가 있음을 알 수 있습니다. 7700K까지의 모든 i7은 4 코어 및 8 스레드 / 논리적 코어입니다. Intel의 CPU 아키텍처와 관련하여 스레드와 논리 코어는 동일합니다. 그들은 1 세대 Nehalem 이후 Coffee Lake와 함께 오늘날까지 아키텍처의 레이아웃을 변경하지 않았으므로이 정보가 유지됩니다. 이 정보는 구형 AMD CPU에는 충분하지 않지만 Ryzen은 레이아웃도 많이 변경했으며 프로세서는 이제 Intel과 디자인이 비슷합니다.

하이퍼 스레딩의 장점

  • 하이퍼-스레딩은 '기아'문제를 해결합니다. 코어 또는 스레드가 사용 가능한 경우 스케줄러는 코어가 유휴 상태로 남아 있거나 다른 새 데이터가 흐르기를 기다리는 대신 데이터를 전달할 수 있습니다.
  • 훨씬 더 큰 병렬 워크로드를 더 효율적으로 수행 할 수 있습니다. 병렬화 할 스레드가 더 많기 때문에 여러 스레드에 크게 의존하는 응용 프로그램은 작업을 크게 향상시킬 수 있습니다 (단 두 배 빠르지는 않음).
  • 게임 중이고 백그라운드에서 일종의 중요한 작업이 실행중인 경우 CPU는 스레드간에 리소스를 전환 할 수 있으므로 적절한 프레임을 제공하고 해당 작업을 원활하게 실행하는 데 어려움을 겪지 않습니다.

하이퍼 스레딩의 단점

다음은 단점이 아닌 불편 함이 많다.

  • 하이퍼 스레딩을 활용하려면 소프트웨어 수준에서 구현해야합니다. 여러 스레드를 활용하기 위해 점점 더 많은 응용 프로그램이 개발되고 있지만 SMT (Simultaneous Multi-Threading) 기술을 활용하지 않는 응용 프로그램이나 여러 물리적 코어는 상관없이 정확히 동일하게 실행됩니다. 이러한 애플리케이션의 성능은 CPU의 클럭 속도와 IPC에 더 많이 의존합니다.
  • 하이퍼 스레딩으로 인해 CPU가 더 많은 열을 생성 할 수 있습니다. 이것이 i5s가 i7s보다 훨씬 더 높은 클럭을 사용하는 이유입니다.
  • 여러 스레드가 코어 내에서 동일한 리소스를 공유합니다. 이것이 성능이 두 배가되지 않는 이유입니다. 대신 효율성을 극대화하고 가능한 한 성능을 향상시키는 매우 영리한 방법입니다.

결론

하이퍼-스레딩은 오래된 기술이지만 여기에 남아 있습니다. 애플리케이션이 점점 더 까다로워지고 무어의 법칙의 사망률이 증가함에 따라 워크로드를 병렬화하는 기능은 성능을 크게 향상시키는 데 도움이되었습니다. 부분 병렬 워크로드를 실행할 수 있으면 생산성을 높이고 끊김없이 작업을 더 빠르게 완료 할 수 있습니다. 7 세대 i7 프로세서에 가장 적합한 마더 보드를 구입하려는 경우 다음을 살펴보십시오. 조.

#시사이름NVIDIA SLIAMD CrossFireVRM 단계RGB매수
1 ASUS 포뮬러 9 10

가격 확인
2 MSI Arsenal Gaming Intel Z270 10

가격 확인
MSI 성능 게이밍 Intel Z270 열한

가격 확인
4 ASRock 게임 K6 Z270 10 + 2

가격 확인
5 GIGABYTE AORUS GA-Z270X 게이밍 8 열한

가격 확인
#1
시사
이름ASUS 포뮬러 9
NVIDIA SLI
AMD CrossFire
VRM 단계10
RGB
매수

가격 확인
#2
시사
이름MSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM 단계10
RGB
매수

가격 확인
#
시사
이름MSI 성능 게이밍 Intel Z270
NVIDIA SLI
AMD CrossFire
VRM 단계열한
RGB
매수

가격 확인
#4
시사
이름ASRock 게임 K6 Z270
NVIDIA SLI
AMD CrossFire
VRM 단계10 + 2
RGB
매수

가격 확인
#5
시사
이름GIGABYTE AORUS GA-Z270X 게이밍 8
NVIDIA SLI
AMD CrossFire
VRM 단계열한
RGB
매수

가격 확인

2021-01-05 22:02의 마지막 업데이트 / 제휴 링크 / Amazon Product Advertising API의 이미지