인텔의 하이브리드 코어 아키텍처 채택은 PC 칩 제조 산업의 로드맵을 크게 변화시켰습니다. 이제 점점 더 많은 응용 분야에서 “보조” 저전력 E-코어를 활용하여 성능과 효율성을 높이고 있습니다. 이 접근 방식에는 단점이 있으며 Intel은 향후 몇 년 동안 이를 해결할 계획입니다. 첫 번째이자 가장 근본적인 변화는 하이퍼 스레딩을 보다 효율적인 의사 다중 스레드 솔루션인 Rentable Units로 대체하는 것입니다.

PC에서 실행되는 다양한 응용 프로그램에 관한 한, 하이퍼 스레딩 에서 생성된 물리적 코어와 논리적 코어를 구별할 수 없습니다. 그들은 모든 사람을 평등하게 여깁니다. 하드웨어 측면에서 하이퍼 스레딩을 활성화하려면 논리 스레드와 연결된 데이터를 추적하기 위해 각 코어에 추가 레지스터가 필요합니다. 프로그램 카운터는 이러한 레지스터 중 하나입니다.
하이퍼 스레딩이 있는 8코어 CPU는 특정 인스턴스에서 여전히 8개의 실행 스레드만 있습니다. 그 이유는 각 코어의 캐시(L1 및 L2)와 실행 단위(ALU)가 한 번에 하나의 스레드에서만 작동할 수 있기 때문입니다. 그렇다면, 하이퍼 스레딩과 동시 멀티 스레딩은 CPU에서 어떤 역할을 할까요?

하이퍼 스레딩은 CPU 코어(대부분 실행 단위)가 느슨해지지 않도록 합니다. 위의 그림에서는 하이퍼 스레딩을 사용하는 경우와 사용하지 않은 코어 사용률 의 차이를 확인할 수 있습니다. 논리 또는 하이퍼 스레드는 기본 스레드가 중단되거나 입력을 기다릴 때 인계받으며, 버블이라고도 하는 낭비되는 CPU 시간을 활용합니다.
하이퍼 스레딩은 종종 부두 작업자가 두 개의 컨베이어 벨트에서 동시에 수하물을 수거하는 것과 비교됩니다. 그는 벨트에 있는 두 수하물 단위 사이의 간격이 두 번째 벨트에서 오는 단위로 채워지는 경우 더 효율적일 수 있습니다. 물론 이것이 항상 계획대로 작동하는 것은 아닙니다. 모든 워크로드에 하이퍼 스레딩을 관련성 있게 만드는 데 필요한 지연이 있는 것은 아니며, 이 경우 두 스레드가 리소스를 놓고 경쟁하기 시작하여 성능이 저하됩니다.

인텔 특허는 사신의 도래를 공식적으로 암시하는 첫 번째 특허입니다. 이 특허는 RU를 “명령어 처리 회로“라고 부르며, 이는 출시 시 다른 것으로 불릴 수 있음을 나타냅니다. 아래 그림에서 하이퍼 스레딩과 렌탈 가능한 유닛의 차이점과 하이브리드 코어 프로세서에서 특히 유용한 방법을 확인할 수 있습니다.
하이브리드 코어 CPU에서 더 까다로운 작업은 P 코어에 할당되고 나머지는 E 코어에 남겨둡니다. 상당히 빠르기 때문에 전자는 종종 다른 것보다 훨씬 일찍 작업을 완료하여 코어를 현저한 기간(버블) 동안 유휴 상태로 둡니다 .

Rentable Unit은 들어오는 명령어의 첫 번째 스레드를 두 개의 파티션으로 분할하여 복잡성에 따라 각각 두 개의 서로 다른 코어를 할당합니다. 위의 예제에는 두 개의 스레드(1과 2)가 있습니다. 스케줄러는 각각을 세 개의 파티션(A, B, C)으로 나눕니다.
1의 처음 두 파티션(1A, 1B)은 P 코어에서 실행되고 세 번째 파티션(1C)은 E 코어로 전달됩니다. 마찬가지로 스레드 2(2A)의 첫 번째 파티션은 E-코어에 의해 처리되고 다른 두 개(2B, 2C)는 P-코어에 의해 실행됩니다. (짙게 음영 처리된 부분은 P이고 가볍게 음영 처리된 부분은 E-코어를 나타냅니다.)
이 방법은 하이퍼 스레딩보다 훨씬 유연 합니다. 너무 자세히 설명하지 않고 Rentable Units는 다양한 타이머와 카운터 를 사용하여 각 P 및 E 코어의 사용률을 추적하고 유휴 상태이고 작업에 가장 적합한 다음 명령 스레드를 전달합니다.

가장 최적의 결과, 즉 현재 리소스 사용량과 파티션 복잡성을 감안할 때 작업에 가장 적합한 코어를 위해 다양한 경로에 가중치가 부여됩니다.
이 구현에는 고유한 문제가 있습니다. 예를 들어, 다양한 스레드 버퍼를 추적하려면 상당한 양의 레지스터/캐시가 필요합니다. 즉, 이 방법은 기존 하이퍼 스레딩 설계보다 훨씬 깔끔하고 효율적입니다.
비아 : ElChapuzas.