애플의 Firestorm 코어 : 전작보다 커지고 넓어지다.
A14의 빅코어인 Firestorm의 다이어그램입니다.
프론트엔드부가 8-wide 명령어 디코더 설계로 이전의 7-wide에 비해 넓어졌습니다.
이제 A14칩은 업계에서 가장 넓은 아키텍쳐를 가집니다.
아직 출시 전인 IBM POWER10의 P10 코어만이 이런 넓은 설계를 가질 것으로 예상됩니다.
동시대 x86진영인 Zen 1~3이나 인텔의 마이크로아키텍쳐는 오늘날 가변길이 명령어를 처리하는 구조로 인해 설계가 더 까다롭기 때문에 4-Wide 에 그칩니다. ARM 진영을 살펴보면 삼성의 M3 코어는 6-Wide 이고 ARM은 현재 4-Wide 이지만 앞으로 나올 X1 코어의 경우 5-Wide를 가질 것으로 예상됩니다.
또한 2013년에 나온 Cyclone(A7)의 경우 비순차실행을 위한 192개의 리오더 버퍼 엔트리를 가졌으나 Firestorm(A14)에선 약 630개의 엔트리를 가지며, 이는 560개였던 작년의 Lightning(A13)보다 증가한 것입니다.
애플의 새로운 코어의 630개 엔트리는 엄청나게 거대한 것이며 업계의 다른 디자인을 모두 크게 넘어섭니다.
두번째로 거대한 엔트리를 가지는것은 인텔의 서니코브와 윌로우코브 아키텍쳐이며 352개의 엔트리를 가집니다. AMD의 가장 최신 아키텍쳐인 Zen3는 256개이며 ARM의 최신 아키텍쳐인 X1은 226개의 엔트리를 가집니다.
애플이 어떻게 업계의 다른 설계에 비해 극도로 불균형한 설계를 이뤄낼 수 있었는지는 확실하지 않지만, 애플의 설계 사상의 핵심으로 보이며, 높은 명령어 수준의 병렬성을 갖추기 위함으로 보입니다.
아주 많은 실행 유닛들
명령어 수준의 병렬성이 높다는 것은 그만한 병렬 처리를 수행해야 한다는 의미이고, 여기서 애플의 백엔드 실행 유닛의 처리량이 극도로 높음을 볼 수 있습니다. 정수 처리 백엔드에서 약 354개의 레지스터 엔트리가 있고, 적어도 7개의 산술연산을 위한 실행 포트를 찾았습니다. 이들은 4개의 가산연산유닛, 2개의 곱연산유닛과 1개의 나눗셈유닛을 포함합니다.
그리고 추측하기로, 1~2개의 전용 branch fowarding ports 덕에 사이클당 두번의 분기를 다룰 수 있는것으로 보이지만 100% 확신하진 않습니다.
Firestorm 코어의 정수연산부는 정수 나눗셈 지연이 살짝 증가한것 말고는 별 차이가 없어 보입니다.
부동소수점 연산부에선 33%의 처리성능 증가라는 인상적인 상승을 보입니다. 또한 레지스터는 384개의 비교적 거대한 엔트리를 가집니다. 4개의 128bit NEON 파이프라인은 벡터 크기는 작더라도 서류상 인텔과 AMD의 데스크탑 코어와 비슷한 수준의 대역폭 처리능력입니다. 부동소수점 연산 처리능력은 파이프라인 갯수와 1:1대응되어, 3, 4 사이클마다 4개의 덧셈과 4개의 곱셉연산이 가능합니다. 이는 인텔의 최신 설계와 AMD의 이전 설계에 비해 사이클당 4배의 처리량이며, 젠3에 비해서도 2배입니다, 물론 더 낮은 클럭으로 동작하지만요. 이것이 애플 칩셋이 브라우저 벤치마크에서 아주 높은 점수를 보이는 이유중 하나일 것입니다. (자바스크립트는 부동소수점 자료형으로 연산하기 때문에)
뛰어난 메모리 트랜잭션 성능
Load & Store 프론트에서도 4개의 실행 포트를 가지는데, 1개는 Load/Store 1개는 Store 2개는 Load 입니다.
따라서 사이클당 최대 2번의 Store와 3번의 Load가 실행 가능하며, 동시에 2번의 Store/ 2번의 Load가 실행 가능합니다..
여기서 흥미로운 점은 애플의 설계가 뛰어난 메모리 트랜잭션 Depth를 보인다는 점입니다. 측정 결과 148~154의 Load depth와 106의 Store depth라는 뛰어난 결과를 보였습니다.
당연하게도, 이는 시장의 그 어떤 마이크로 아키텍쳐와 비교해서도 깊은것입니다. 흥미로운 비교를 하자면 젠3의 Load/Store depth는 44/64이고, 서니코브는 128/72 입니다. 인텔의 설계는 애플과 크게 차이나지는 않고 상대적으로 비슷한 대역폭을 가집니다. 애플이 모바일 메모리 시스템이 아닌 경우 어떤 설계를 사용할지 지켜보는것도 재미있을것입니다.
캐시분석 생략 /
물론, 아키텍쳐를 키울수록 클럭을 올리기 힘들다는 오래된 주장이 있고, 이는 일부 사실이지만 저는 애플의 고전력 칩셋에 대한 설계 능력에 대해서는 결론을 내리지 못했습니다. 아이폰에 탑재된 A14의 Firestorm 코어는 3Ghz까지 도달할 수 있었고, 두 코어가 모두 활성화되더라도 2.89Ghz까지 언제든 도달할 수 있었습니다.
우리는 전력측면에서도 더 조사해 볼 예정이지만, 현재 제가 보기에 A14는 아키텍쳐의 본질적인 구조보다는 스마트폰의 열설계 자체에 의한 제약을 받고 있는것으로 보입니다. 새로운 Firestorm 코어는 훨씬 더 거대한 구조에도 불구하고 ARM의 마이크로아키텍쳐 코어와 비슷한 클럭에서 동작합니다 - 즉, 아키텍쳐가 클수록 클럭이 내려간다는 말은 여기서는 통하지 않는 것 같습니다. 애플이 더 뛰어난 열설계를 가진 노트북이나, 전기공급이 충분한 데스크탑 맥에서 무엇을 할 수 있을지 보는것도 흥미로울 것입니다.
압도적인 모바일 성능
전체적인 비교에서 A14는 A13에 비해 탄탄한 성능향상을 이루어냈고 경쟁사와 비교했을때 한참 앞서 있습니다.
내년의 Cortex-X1이 이 격차를 다시 줄이길 기다려야 할 것입니다.
여기서 중요한 점은 애플은 이 같은 성과를 전력소모를 유지하거나 오히려 조금 줄이면서, 같은 작업량에 드는 전력소모를 현저하게 줄였다는 것입니다.
기린9000과 865+를 보면 두 코어는 같은 설계에 공정만 바뀌면서 거의 비슷한 성능에 10% 수준의 전력소모 감소효과를 볼 수 있습니다. 이를 보면 A14은 새로운 아키텍쳐의 도입으로 단순히 공정 향상에 의한 전성비 향상보다 더 나은 성과를 거뒀음을 알 수 있습니다.
또한 저전력 코어를 보면 작년의 저전력 코어에 비해 35% 높은 성능을 내면서 오히려 전력소모는 줄어들었는데, 이는 전체 칩의 전력소모 감소로 이어집니다. 저전력 코어가 맥용 칩셋에선 어떨지 모르겠지만, 이들은 동세대의 ARM의 코어와 비해 확실히 성능이 뛰어나고 극도로 효율적입니다.
모바일에서 맥으로
우리는 현재 애플 실리콘 맥이 없고, 빠른 시일 내에 만져볼 수 있을것 같지는 않습니다. 하지만 새로운 맥용 칩셋이 A14아키텍쳐에 기반할 것이라 예상하고 있습니다. 물론 우리는 폰 칩셋과 하이엔드 노트북, 데스크탑 CPU를 비교하고 있지만, 그것이 바로 요점이기도 합니다. 바로 애플 실리콘이 최소한으로 달성할 수 있는 기준이 될 것입니다.
위 차트의 A14의 점수는 비교적 놀랍습니다. 우리가 만약 A14라는 이름을 가리고 이 벤치마크 자료를 업로드했다면 누군가는 이걸 인텔이나 AMD 칩셋이라고 생각했을 겁니다. A14가 현재 시장에서 최고 성능의 디자인과 경쟁한다는 사실은 놀라운 것입니다.
점수를 자세히 보면, 또 저를 놀라게 하는것은 A14가 두 경쟁상대를 대적할 뿐만 아니라, 메모리 지연에 민감한 429.mcf , 471.omnetpp 워크로드에서 같거나(LPDDR4X-4266) 데스크탑 급 메모리(5950X with DDR-3200)를 탑재한 상대를 이긴다는 것입니다.
*전에도 언급했지만, 456.hmmer 에서 A14의 점수가 높게 나오는것은 컴파일러 불일치로 인한 것입니다. 정확한 비교를 위해 해당항목은 33%의 수치를 빼십시오.
심지어 메모리를 더 혹사시키는 부동소수점 워크로드에서도 A14은 동등하게 경쟁할 뿐만 아니라, 인텔 CPU를 자주 앞서는 모습을 보입니다. AMD도 젠3가 아니었다면 좋은 결과를 보이지 못했을 것입니다.
전체적인 SPEC2006 차트에서 A14는 엄청나게 환상적인(Absolutely Fantastic) 성능을 보입니다.
절대 성능에서도 우위를 가져가며 AMD의 최신 라이젠 5000시리즈에 살짝 뒤쳐질 뿐입니다.
A14가 SoC, DRAM,전압 레귤레이터를 포함한 전체 전력소모를 5W 수준으로 유지하면서도, DRAM이나 레귤레이터의 전력소모를 포함하지 않고도 21W 이상 소모하는 1185G7이나 49W를 소모하는 5950X에 비해 이런 결과를 이루어낸것은 엄청나게 놀랍습니다. (mind-blowing)
긱벤치같은 좀 더 일반적인 벤치마크에 대한 비판이 있었지만, 솔직히 말해서 그런 주장이나 염려는 근거가 없습니다.
두 워크로드의 실질적인 차이는 GB5는 좀더 CPU 중점적인 벤치마크이고, SPEC은 CPU+DRAM에 치중한 벤치마크라는 것입니다.
애플이 두 벤치마크에서 모두 좋은 성능을 보이는것은 이들이 극도로 잘 조율된 마이크로아키텍쳐를 갖고 있고, 애플 실리콘이 데스크탑 워크로드에도 큰 문제 없이 맞춰줄 수 있다는 증거입니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
A14 코어는 시중의 어떤 코어보다 넓은 디자인과 리오더 버퍼, 처리 쓰루풋을 가집니다.
그래서 인텔보다 낮은 클럭에서도 인텔을 짓눌렀다고 보시면 될 것 같습니다.
ARM도 클럭을 x86수준으로 올리면 전성비가 떨어지지 않냐는 말이 있었는데
이제는 더 낮은 클럭에서도 x86 설계 칩들을 뛰어넘을 수 있게 되었다고 보시면 될 것 같습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
성능 향상 추세 그래프의 교차점
A7 칩셋의 공개 당시, 사람들은 애플이 자신들의 마이크로아키텍쳐를 "데스크톱 클래스" 라고 부른것에 대해 냉소적인 반응이었습니다. 또한 우리가 몇년전에 A11과 A12가 데스크톱급 성능에 다가가고 있다고 말했을때도 사람들의 반응은 매우 냉소적이었습니다. 그리고 오늘, 애플이 인텔이 제공할 수 있는 최고 수준을 넘어서는 성능을 확실히 보여줄 수 있게 됨에 따라 업계는 중요한 시기를 맞고 있습니다. 이는 몇년 동안 꾸준히 진행되고 발전해 온 성능 향상 추세였습니다.
지난 5년간 인텔은 자사의 최고 싱글 스레드 성능을 28% 향상시킨 반면 애플은 2015년 A9의 성능을 198% (3배) 향상시켰습니다.
애플이 지난 몇년간 보여준 성능향상 추세와 확고한 실행력은 오늘날 애플 실리콘을 현실로 만들었습니다. 위 그래프의 불합리를 보는 사람이라면 애플이 인텔을 버리고 자체 마이크로 아키텍쳐로 이주하는것 말고는 선택지가 없었다는 것을 깨닫게 될 것입니다. - 변화하지 않고 그대로 있는것은 침체와 더 나쁜 제품들을 의미할 것입니다.
오늘 애플의 M1 발표는 노트북급 애플 실리콘에 대한 내용만 다루었을뿐, 앞으로 애플이 어떤 것들을 발표할 것인지에 대해선 자세히 알 수 없지만, 애플의 엄청난 전력 효율 이점은 새로운 칩이 현재의 인텔 라인업과 비교했을때 크게 늘어난 배터리 수명을 제공하는 동시에(또는) 엄청나게 향상된 성능을 제공할 수 있다는것을 의미합니다.
애플은 2년 안에 전체 소비자 라인업을 완전히 애플 실리콘으로 전환할 것이라고 발표했습니다. 즉 미래에 맥 프로를 위한 높은 TDP에 많은 코어 디자인을 보게 될 것임을 암시합니다. 애플이 계속해서 이런 성능 향상 추세를 이어나간다면, 그 디자인은 엄청나게 인상적일 것입니다.
성능에서의 선두?
애플은 M1의 코어가 전세계에서 가장 빠르다고 발표했습니다. 우리의 자료에서 A14이 모든 인텔 아키텍쳐를 넘어서고, AMD의 최신 5950X 젠3에 살짝 뒤쳐지는 위 결과들로 보아, M1은 A14의 3Ghz보다 높게 설정된 클럭, 50% 커진 L2캐시, 풀려난 TDP 제한으로 인해, 우리는 애플의 주장이 사실이라 확신하고 있습니다.
새로운 애플 실리콘은 놀랍지만, 이 순간은 수년전부터 다가오고 있었었기에 동시에 예상된 출현이기도 합니다.
앞으로 몇주 안에 우리는 새로운 하드웨어(애플실리콘 맥)을 손에 넣고 애플의 주장이 사실인지 검증할 것입니다.
인텔은 시장에서 정체되고 오늘 주요 고객을 잃었습니다. AMD는 최근 많은 발전을 보였지만 애플의 전력 효율을 따라잡기는 매우 어려울 것입니다. 애플의 성능 향상이 이런 속도로 이어진다면 x86이 성능의 왕좌를 다시는 찾지 못할 수 있습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
애플의 모바일 아키텍쳐가 가장 최신 x86 아키텍쳐에 비해서도 더 거대한 크기를 갖고 있고, 그 덕에 낮은 클럭에서도 더 많은 작업을 수행할 수 있다는 사실이 흥미롭네요.