최근 수정 시각 : 2024-10-07 21:13:07

인텔 스카이몬트 마이크로아키텍처

스카이몬트에서 넘어옴

||<-8><tablealign=center><bgcolor=#009385> 인텔 아톰 라인 마이크로아키텍처 ||
공정 서버 데스크탑 및 모바일 임베디드
데이터 센터 마이크로 서버 데스크탑 랩톱 태블릿 및 스마트폰 산업용 가전용
<colbgcolor=#00a495> 45 nm 본넬 (Bonnell) 기반
다이아몬드빌 (Diamondville) 실버쏜 (Silverthorne)
다이아몬드빌 (Diamondville)
파인뷰 (Pineview) 린크로프트 (Lincroft) 터널 크릭
(Tunnel Creek)
스텔라톤 (Stellarton)
소다빌
(Sodaville)
그로브랜드 (Groveland)
32 nm 솔트웰 (Saltwell) 기반
센터톤 (Centerton)
브라이어우드 (Briarwood)
시더뷰 (Cedarview) 펜웰 (Penwell)
클로버뷰 (Cloverview)
베리빌 (Berryville)
22 nm 실버몬트 (Silvermont) 기반
아보톤 (Avoton)
랭글리 (Rangeley)
베이 트레일-D
(Bay Trail-D)
베이 트레일-M
(Bay Trail-M)
베이 트레일-T
(Bay Trail-T)

무어필드 (Moorefield)
메리필드 (Merrifield)
SoFIA
베이 트레일-I
(Bay Trail-I)
14 nm 에어몬트 (Airmont) 기반
브라스웰 (Braswell) 체리 트레일
(Cherry Trail)

SoFIA LTE
골드몬트 (Goldmont) 기반
덴버튼 (Denverton) 아폴로 레이크 (Apollo Lake) 아폴로 레이크
(Apollo Lake)
골드몬트 플러스 (Goldmont Plus) 기반
제미니 레이크 (Gemini Lake)
제미니 레이크 리프레시 (Gemini Lake Refresh)
10 nm 트레몬트 (Tremont) 기반
스노우 릿지
(Snow Ridge)
재스퍼 레이크 (Jasper Lake)
스카이호크 레이크(?) (Skyhawk Lake)
레이크필드(Lakefield) 엘크하트 레이크
(Elkhart Lake)
Intel 7 그레이스몬트 (Gracemont) 기반
엘더 레이크-S
(Alder Lake-S)
엘더 레이크-P
(Alder Lake-P)
엘더 레이크-N
(Alder Lake-N)
Intel 4/3 크레스트몬트 (Crestmont) 기반
시에라 포레스트
(Sierra Forest)
메테오 레이크-H
TSMC N3B 스카이몬트 (Skymont) 기반
애로우 레이크 루나 레이크
Intel 18A 다크몬트 (Darkmont) 기반
클리어워터 포레스트
(Clearwater Forest)



1. 개요2. 상세
2.1. 변경점2.2. 루나 레이크2.3. 애로우 레이크
3. 사용 모델4. 여담

1. 개요

2024년 발표 예정인 인텔 아톰 계보의 마이크로아키텍처.

2. 상세

2023년 8월, 인텔 오픈소스 웹사이트에서 루나 레이크에 사용된 P-코어 및 E-코어의 코드명이 확인됐다. #

2024년 5월 30일, 6월 중 엠바고 해제 예정인 인텔 슬라이드가 유출되었는데 해당 슬라이드에 따르면 정수 연산에서 평균 38%, 부동소수점 연산에서 평균 68%의 성능 향상이 있다고 한다.

2.1. 변경점

  • 코어 레벨 (크레스트몬트 대비)
    • 프론트 엔드
      • 분기 예측기 개선

        • - BTB 참조시 alignment 단위가 128B → 64B로 변경 (even-odd scheme)
          - BTB 크기가 6K → 8K로 증가
      • 디코더의 폭이 6-wide(2x3-wide) → 9-wide(3x3-wide)로 증가

        • - 다만 NOP을 사용한 프론트엔드 벤치마크에서는 코드 크기가 작은 경우에만 증가한 디코더 대역폭을 온전히 활용하고, 일정 크기 이상의 코드에서는 6-wide처럼 동작했는데 이는 E코어의 로드 밸런싱 매커니즘과 관련된 현상으로 보인다.
      • 나노코드 도입

        • - 자주 쓰이는 마이크로코드를 각 클러스터 내에서 생성할 수 있도록 하여 마이크로코드를 사용하는 명령어에 의한 serialization을 방지
      • 마이크로옵 큐의 크기가 64 엔트리 → 96 엔트리로 확장
    • 백 엔드
      • 할당량이 6-wide → 8-wide로 확장
      • 퇴출 폭이 8 → 16으로 확장
      • 실행 레이턴시 감소를 위한 dependency breaking 메커니즘
      • 재정렬 버퍼(Reorder Buffer, ROB)가 256 엔트리 → 416 엔트리로 확장
      • 물리 레지스터 파일의 크기가 증가
      • 스케줄러의 크기가 증가
      • 실행 엔진
        • 실행 포트가 총 17-way → 26-way로 확장
        • ALU의 수가 4개 → 8개로 증가
        • 분기 유닛의 수가 2개 → 3개로 증가
        • 로드 AGU의 수가 2개 → 3개로 증가

          • - 128비트 로드의 처리량이 사이클당 2 → 3으로 증가
        • 스토어 AGU의 수가 2개 → 4개로 증가

          • - 추가된 스토어 AGU는 memory disambiguation의 속도를 높이기 위한 용도이다.
        • SIMD ALU의 수가 3개 → 4개로 증가
        • 벡터 처리량이 최대 2배 증가 (FADD/FMUL/FMA 포트 수가 2 → 4)
        • FADD, FMUL, FMA 레이턴시 개선

          • - 해당 명령어의 레이턴시가 각각 3, 4, 6 → 2, 3, 4 사이클로 감소
        • 하드웨어 수준의 부동소수점 반올림 지원

          • - 일반적으로 사용되는 -O2 등의 옵션으로 컴파일된 바이너리의 경우 기존 E코어에서는 denormal 값을 처리하는 데 마이크로코드가 사용되어 수백 사이클이 걸리므로 성능이 저하되었는데, 이 문제를 해결하였다.
    • 메모리 서브시스템
      • 로드 및 스토어 버퍼의 크기가 증가
      • L2 공유 TLB

        • - 크기가 3072 엔트리 → 4096 엔트리로 증가
      • L1 캐시 메모리

        • - 레이턴시가 3 → 4 사이클로 증가
          - 읽기 대역폭이 50% 증가
      • L1간 데이터 전송 지원

        • - 기존 E코어 설계에서는 한 코어에서 데이터를 변경했을 경우 클러스터 내의 다른 코어가 해당 데이터에 접근하기 위해서는 L2 miss 처리 후 링버스를 찍고 돌아와야(roundtrip) 했다. 따라서 AMD Zen 등과 반대로 클러스터 내 코어 간 통신 레이턴시가 오히려 길게 측정되는 현상이 나타났는데, 스카이몬트에서는 클러스터 내에 있는 L1 캐시 사이에서 데이터를 주고 받을 수 있도록 하여 이러한 문제를 해결하였다.
      • L2 캐시 메모리

        • - 대역폭이 사이클당 64 B → 128 B로 증가

그레이스몬트/크레스트몬트 아키텍처에서 큰 확장 및 여러 개량이 이루어져 IPC가 크게 상승하였다. 특히 기존에 E코어의 약점으로 지적되었던 벡터 및 메모리 부분에서 유의미한 개선이 이루어졌다. 이에 따라 기존 L3 캐시 및 링버스를 사용하는 버전 기준으로 정수 및 부동소수점 모두 랩터 코브 코어와 동급 IPC를 보여준다고 한다.

2.2. 루나 레이크

2.3. 애로우 레이크

3. 사용 모델

/사용모델 참조

4. 여담

  • 스카이몬트의 선임 설계자인 스티븐 로빈슨에 따르면 3 x 3-디코더 구성을 채택하는 데에는 x86 명령어의 통계적 경향성이 고려되었다고 한다. #