CPU뉴스소식

Intel Golden Cove 대 Raptor Cove 대 Redwood Cove 대 Lion Cove: Intel의 P-Core 아키텍처 비교

인텔은 지난 10년 동안 4개의 성능(P) 코어를 출시했으며, 가장 최신의 제품은 몇 분기 전에 노트북 PC를 강타했습니다. Skylake는 2015년에 상륙한 후 몇 번의 리프레시와 Cannon Lake의 조기 출시로 인해 더 많은 리브랜딩이 이루어졌습니다. Ice Lake(Sunny Cove)는 2019년 2분기 에 한정 규모로 출시되었으며, 2021년 4분기에 Golden Cove 핵심 아키텍처를 특징으로 하는 Tiger Lake와 Alder Lake가 그 뒤를 이었습니다. Redwood Cove는 작년에 Meteor Lake와 함께 데뷔하여 Arrow Lake와 해당 Lion Cove 코어 아키텍처의 길을 열었습니다.

인텔 스카이레이크: 케이비 레이크, 커피 레이크, 위스키 레이크, 코멧 레이크

Skylake는 인텔에서 가장 많이 사용되는 코어 아키텍처로 6세대, 7세대, 8세대, 9세대 및 10세대 라인업을 지원합니다. 프런트 엔드의 맨 위부터 시작하여 32KB L1 명령 캐시와 BPU(Branch Prediction Unit)가 있습니다.

  • 분기 예측 단위(Branch Prediction Unit )는 프로세서의 드라이버와 같아서 다음 명령어가 분기인지 여부와 어떤 종류(조건부/무조건부)인지 예측하여 명령어의 흐름을 제어합니다.
    • 첫 번째 단계는 명령어가 분기인지 계산하는 것입니다. 그리고 만약 그렇다면, 그것을 취할 것인가? 다시 그렇다면 다음 명령어의 주소를 계산해야 합니다(일반적으로 L1I에서).
    • 마지막 n개의 분기(yes 또는 no) 및 대상 주소(PC)의 기록은 BTB(Branch Target Buffer)에 저장됩니다. BTB는 실행 후 분기의 유효성을 검사하고 향후 분기를 사용할지 여부와 해당 주소를 결정하기 위한 지침으로 사용됩니다.
    • CPU 캐시와 마찬가지로 BTB에는 여러 수준이 있으며 각 수준에는 분기 예측자가 있습니다.
인텔 스카이레이크

프론트엔드

Skylake에는 128(L0) 및 4096(L1) 항목 분기 대상 버퍼가 있는 2단계 분기 예측이 있습니다. 더 큰 BTB는 확장된 프로그램 추적(PC)을 허용하여 정확도를 향상시킵니다. 최신 분기 예측 변수의 정확도는 90%가 훨씬 넘습니다.

  • BPU에 의해 생성된 예측(PW)은 명령어 캐시(L1I) 및 마이크로 연산 캐시로 전송됩니다. L1I 캐시는 이러한 명령어를 명령어 가져오기/사전 디코딩 창, 명령어 대기열 및 디코더로 보냅니다.
  • 디코더는 매크로 연산을 마이크로 연산으로 분해하여 마이크로 연산 대기열과 연산 캐시로 보냅니다.
  • 마이크로 연산 캐시는 자주 사용되는 마이크로 연산을 저장하고 동일한 명령어가 다시 필요한 경우 디코더를 우회할 수 있습니다. 이를 통해 전력 효율성과 성능이 향상됩니다. 연산 캐시가 클수록 일반적으로 디코더 단계의 사용량이 줄어들어 파이프라인 속도가 빨라집니다.
인텔 스카이레이크
하늘호수 ( 리서치 게이트 경유)

Intel Skylake는 16바이트(주기당) 명령어 가져오기 와 50개 항목 명령어 대기열을 특징으로 하며, 긴 매크로 명령어를 (최대) 4개의 마이크로 명령어로 나눌 수 있는 3개의 단순 디코더와 1개의 복잡한 디코더로 구성된 4방향 디코더 가 있습니다. 마이크로 연산 캐시 는 1536개의 항목을 보유하며, 사이클당 최대 6개의 마이크로 연산이 있는 128개 항목(64×2) 마이크로 연산 대기열 에 공급됩니다.

  • Allocation Queue는 Reorder Buffer부터 시작하여 코어 백엔드에 공급합니다.
  • 재주문 버퍼 또는 ROB는 비순차 프로세서의 중요한 구성 요소입니다. 명령어가 초기 주문에 따라 레지스터에 기록되도록 합니다. 헤드 포인터와 테일 포인터가 있는 FIFO(Circular Queue)입니다.
  • 레지스터 이름 바꾸기 는 OoO 실행의 또 다른 중요한 부분입니다. 둘 이상의 명령어가 동일한 메모리 위치(레지스터)에 의존하지만 서로 독립적인 경우 프로세서는 논리 레지스터를 사용하여 다른 변형을 만듭니다.
R1은 다른 위치를 나타내지만 한 번에 다른 명령어로 작동할 수 없습니다
  • 이렇게 이름이 바뀐 레지스터는 데이터 위험을 일으키지 않고 병렬로 실행됩니다.
r1의 이름을 RA 및 rB로 변경하면 1,2,3 및 4,5,6을 동시에 실행할 수 있습니다.
  • 이름을 바꿀 때, 명령어는 결과 레지스터의 이름이 되거나 결과 레지스터를 가리키는 ROB(Reorder Buffer)의 꼬리에 있는 엔트리에 할당됩니다. 명령어가 ROB의 헤드에 도달하면 해당 값이 정수/부동 소수점 레지스터 파일에 저장됩니다.
  • 명령어에 필요한 모든 피연산자를 사용할 수 있으면(실행 준비가 되면) 해당 명령어가 예약 스테이션(통합 스케줄러)으로 전송됩니다.
  • 스케줄러는 프로그램 시퀀스에 따라 명령어와 피연산자를 보유합니다. 피연산자를 사용할 수 없는 경우 RS는 Common Data Bus(EU를 ROB 및 RS에 연결)를 모니터링합니다. 피연산자를 사용할 수 있으면 RS에 의해 캐시되고 명령이 실행됩니다.
  • 실행 후 지침은 예약 스테이션에서 제거되지만 재주문 버퍼에는 남아 있습니다.
  • ROB의 헤드에 있는 명령어는 일단 실행되면 커밋 되므로 ROB와 해당 레지스터가 해제됩니다.
  • Skylake는 또한 ROB 옆에 48개 항목 BOB(Branch Order Buffer) 를 제공합니다. 마지막으로 알려진 유효한 상태를 추적하고 잘못된 분기 후 파이프라인을 이전 상태로 복원하는 데 도움이 됩니다.

백엔드

인텔 스카이레이크

Intel의 Skylake 코어는 할당 대기열에서 백엔드로 6개의 마이크로 작업을 디스패치하여 224개 항목 재주문 버퍼 와 예약 스테이션에 공급합니다. RS 또는 Unified Scheduler 는 97개의 항목을 보유할 수 있습니다. 레지스터 이름 바꾸기에 사용되는 물리 레지스터, 180 정수 및 168 부동 소수점 레지스터도 있습니다.

Skylake에는 4개의 실행 포트 와 6개의 로드/저장 포트가 있습니다. ALU 는 256비트이며 58개 항목 스케줄러가 있습니다. AGU 스케줄러에는 39개의 항목이 있으며 로드의 경우 64KB/s, 저장소의 경우 32KB/s의 대역폭이 있습니다. 로드/저장 대기열 에는 72/56 항목이 있습니다. L1 데이터 캐시는 32KB(8방향)이고 L2 캐시는 256KB(4방향)입니다.

인텔 써니 코브, 사이프러스 코브, 윌로우 코브: 얼음 호수, 로켓 호수, 호랑이 호수

Sunny Cove는 2019년 3분기에 출시된 인텔 최초의 10nm(FinFET) 코어 아키텍처입니다. 그리고 아니요, 우리는 캐논 레이크를 세지 않을 것입니다. 디스패치 창에서 ROB, 레지스터 및 스케줄러에 이르기까지 구식 코어 설계에 대한 균형 잡힌 업그레이드였습니다.

프론트엔드

  • L0 BTB는 128에서 256으로 두 배가 되었고, L1 BTB는 4K에서 5K로 증가했습니다.
  • 마이크로 연산 캐시가 1536개 항목에서 2304개 항목으로 확장되었습니다.
  • 마이크로 옵 대기열이 128개 항목에서 140개 항목으로 증가했습니다.
  • 디스패치 대역폭이 4마이크로옵스에서 5마이크로옵스로 증가했습니다.
인텔 써니 코브

백엔드

  • 재정렬 버퍼가 224개 항목에서 352개 항목으로 확장되었습니다.
  • 분기 순서 버퍼가 64개 항목에서 96개 항목으로 증가했습니다.
  • 정수 레지스터는 180에서 280으로 증가했습니다. FP 등록 수는 168명에서 224명으로 증가했습니다.
  • ALU 스케줄러가 58개에서 80개로 확장되었습니다.
  • L1D는 32KB에서 48KB로, L2는 256KB(1.5K TLB)에서 1280KB(2K TLB)로 확장되었습니다.
  • 두 개의 실행 포트는 더 넓은 FMA/ALU 단위(256비트-512비트)> 있습니다.
  • AGU 스케줄러는 34 및 46(이전에는 39)으로 강화되었습니다.
  • 데이터 저장/AGU 포트가 1/3에서 2/4로 증가했습니다.
  • 로드/저장 대기열이 72/56에서 128/72로 증가했습니다.
  • 로드/스토어 대역폭 이 64KB/32KB에서 128KB/64KB로 두 배 증가했습니다.

인텔 골든 코브, 랩터 코브: 앨더 레이크, 랩터 레이크

10nm ESF 공정을 기반으로 하는 Golden Cove 코어 아키텍처는 2021년 11월 Alder Lake-S와 함께 도입되었습니다. Sunny Cove가 백엔드에 집중하는 동안 Golden Cove는 프론트엔드와 분기 예측자를 확장했습니다.

프론트 엔드

  • ITLB(Instruction TLB)는 128개 항목에서 256개 항목으로 두 배 증가했습니다.
  • 12K 엔트리가 있는 세 번째 스테이지 L2 BTB 가 추가되었고, L1 BTB 는 5K에서 6K 엔트리로 증가했습니다.
  • 명령어 가져오기 대역폭은 사이클당 16바이트에서 32바이트로 두 배로 증가했습니다.
  • 디코더는 4방향에서 6방향으로 확장되었습니다.
  • 마이크로 연산 캐시가 2304개 항목에서 4096개 항목으로 확장되었습니다.
  • 마이크로 연산 캐시 대역폭 이 6 uops에서 8 uops로 증가했습니다.
  • uop 대기열이 140에서 144로 증가했습니다.
  • 디스패치 대역폭이 5uops에서 6uops로 증가했습니다.
인텔 골든 코브

백엔드

  • 순서 변경 버퍼가 352개 항목에서 512개 항목으로 확장되었습니다.
  • 분기 대상 버퍼는 96개 항목에서 128개 항목으로 증가했습니다.
  • FP 레지스터 파일이 224개에서 332개로 증가했습니다.
  • ALU 스케줄러는 80개 항목에서 97개 항목으로 확장되었으며 다섯 번째 실행 포트가 추가되었습니다.
  • FADD 벡터 단위가 포트 1 및 5에 추가되었습니다.
  • 로드/저장 스케줄러는 70/38 항목으로 통합되었습니다.
  • 로드/저장 대기열 이 128/72에서 192/114 항목으로 확장되었습니다.

인텔 레드우드 코브: 메테오 레이크 “코어 울트라”

Redwood Cove는 Intel 4 프로세스 노드를 활용하고 Golden Cove 코어 아키텍처를 약간 수정합니다. 이를 “Tick”으로 생각할 수 있으며, 이는 마이크로아키텍처에 대한 최소한의 변경으로 노드가 축소되는 것입니다.

  • I-Cache는 32KB에서 64KB로 증가했습니다.
  • 마이크로 작전 대기열이 144개에서 192개로 증가했습니다.
  • 명령 실행 대기 시간이 더 짧습니다.
  • “더 스마트한” 프리페치 및 향상된 BPU.
  • AMX 명령 지원.
인텔 레드우드 코브

인텔 라이온 코브 : 애로우 레이크, 달의 호수 “코어 울트라 200”

Lion Cove는 Arrow Lake “Core Ultra 200” 및 Lunar Lake “Core Ultra 200V” 프로세서를 구동하는 Intel의 곧 출시될 P-core 아키텍처입니다. TSMC의 3nm “N3B” 와 Intel 20A 프로세스 노드를 활용합니다. 인텔은 다음과 같은 아키텍처 업그레이드를 확인했습니다.

프론트엔드

8배 더 큰 예측 블록: 확실한 세부 사항을 공개하지 않고 Intel은 Lion Cove가 Golden 및 Redwood Cove보다 훨씬 더 큰 BPU를 특징으로 한다고 주장합니다. 이것은 아마도 더 큰 BTB를 의미할 수 있지만 얼마나 많습니까? 두고 봐야 할 것입니다.

더 넓은 가져오기, 디코딩 및 uop 캐시: Lion Cove는 페치 대역폭을 32KB에서 64KB로 두 배로 늘렸습니다. 명령어 디코더는 8 와이드(이전 6 와이드), uop 캐시는 12 와이드(이전 8) 또는 5.25K 항목(4096에서 증가), MSROM은 4 와이드(3에서 증가)입니다.

더 높은 연산 캐시 대역폭 및 대기열(ILQ): op-cache는 이제 192개 항목의 확장된 uop 대기열로 최대 12개의 uops(8개에서 증가)를 전송할 수 있습니다.

인텔 라이온 코브
라이온 코브

백엔드

더 넓은 할당, 사용 중지 및 재정렬: 이름 바꾸기/디스패치 버퍼가 8개의 명령어(6개에서 증가)를 포함하도록 확장되었으며 폐기 처리량은 주기당 8개에서 12개의 명령어로 증가했습니다. 이에 따라 재정렬 버퍼가 512개 항목에서 576개 항목으로 상향되었습니다.

Integer 및 Floating Point Execute : Lion Cove는 정수 및 부동 소수점 실행을 별도의 스케줄러 및 레지스터 파일로 분할합니다.

  • 정수 측면에서 ALU, JMP 및 SHIFT 단위가 5->6, 2->3 및 2->3에서 증가했습니다. 두 개의 MUL 단위도 추가되었습니다(이전 1).
  • 벡터 실행은 더 높은 처리량(256비트)과 더 낮은 레이턴시를 가진 4x 256비트 ALU(기존 3), 2x 256비트 FMA(4 사이클 지연) 및 2개의 FP 분배기(기존 1)로 구성됩니다.
  • 전체 실행 포트 수가 12개에서 18개로 증가했습니다.
인텔 라이온 코브

캐시 및 메모리 하위 시스템: 세 번째 STA AGU 장치는 2개의 저장 데이터 파이프를 사용하여 로드 AGU(각각 3개)와 동등한 STA 수를 제공합니다. 데이터 캐시 계층 구조가 3개 수준(이전 2)과 더 심층적인 TLD(96-128>페이지)로 수정되었습니다.

  • L0 캐시는 4사이클 지연 시간으로 48KB를 압축하고, 9사이클 지연 시간을 가진 192KB L1, 17사이클 지연 시간을 가진 더 큰 3MB L2를 압축합니다.
  • Redwood Cove는 두 번째 레벨 L2 캐시에 대해 훨씬 더 높은 16 사이클 대기 시간을 가졌으며 이는 Lion Cove의 3MB L2와 거의 같습니다.
레드우드 코브
레드우드 코브

Intel Skylake vs Sunny Cove vs Golden Cove vs Raptor Cove vs Redwood Cove vs Lion Cove: 핵심 아키텍처 요약

프론트엔드

프론트엔드하늘호수써니 코브골든 코브/랩터 코브레드우드 코브라이온 코브
I-캐시32KB32KB32KB64KB64KB
ITLB (영어)128128256256?256?
브랜치 타겟 버퍼128/4케이256/5케이128/6케이/12케이??
명령 가져 오기 B / w16 바이트16 바이트32 바이트32 바이트128 바이트
명령어 대기열50505050??
해독기4방향4방향6방향6방향8방향
Micro-op 캐시15362304409640965.25케이
Micro-op 캐시 흑백668812
Micro-op 대기열 너비128140144192192
이름 바꾸기/디스패치45668

백엔드

백엔드하늘호수써니 코브골든 코브/랩터 코브레드우드 코브라이온 코브
버퍼 재정렬(Reorder Buffer)224352512512576
분기 순서 버퍼6496128128?
폐지 흑백458812
Int Reg / FP Reg180/168280/224280/332280/332?
EU 스케줄러58809797?
로드 스케줄러39 (총)237070?
스토어 스케줄러39 (총)23 + 34 SD3838?
실행 포트445510
데이터 포트 저장12222
AGU 불러오기22333
AGU 저장12223
큐 불러오기72128192192?
저장소 큐5672114114?
하중 B/w64 바이트128 바이트96 바이트128 바이트128 바이트
상점 B/W32 바이트64 바이트64 바이트64 바이트64바이트?
L1D 캐시32KB48KB48KB48KB48KB/192KB
디틀LB64649696128
L2 캐시256KB1280 킬로바이트1280 킬로바이트2 메가바이트2.5MB/3MB
L2 TLB153620482048??

WillowRaptor Cove 는 각각 Sunny와 Golden Cove의 새로 고침 이므로 L2 캐시가 증가하므로 생략됩니다.

Areej

Processors, PC gaming, and the past. I have been writing about computer hardware for over seven years with more than 5000 published articles. Started off during engineering college and haven't stopped since. Find me at HardwareTimes and PC Opset.
Back to top button