AMD 스팀롤러 마이크로아키텍처

 


1. 개요
2. 스팀롤러 마이크로아키텍처
2.1. 카베리는 원래의 스팀롤러가 아니다?
2.2. 사용 모델 일람
3. 엑스카베이터 마이크로아키텍처
3.1. CMT 모듈 구조 개선 포기
3.2. 사용 모델 일람


1. 개요


2012년 9월, AMD파일드라이버 마이크로아키텍처를 사용한 CPU가 출시되기조차 전에 발표한 마이크로아키텍처. 실제 출시는 2014년에 시작했다.
글로벌 파운드리의 28nm SHP 공정을 사용한다.

2. 스팀롤러 마이크로아키텍처


[image]
불도저 마이크로아키텍처와 가장 큰 차이는 바로 디코드 단계가 2개로 나눠진 것이다. 불도저에서는 2개의 디코더를 2코어가 공유해 사용했다면 스팀롤러/엑스카베이터 마이크로아키텍처에선 1개의 코어가 각자 4개의 디코더를 가진다. 게다가 L1 명령어 캐시도 50%가량 증가해 96KB가 되었고 AMD에 따르면 캐시 미스가 30%정도 감소했다고 한다. 또 디스패치 큐가 25%가량 증가해 각 코어당 40개의 마이크로옵을 저장할 수 있게 되었다. 이제 잘 사용하지 않는 MMX 명령 연산 장치도 모듈당 1개로 줄였다.
이런 변화로 인해 IPC가 많게는 30% 가까이 증가되었으며, 최종적으로 단일 스레드의 IPC는 약 9%가, 멀티 스레드는 약 18%정도 증가되었다.
다만 FX 시리즈로는 출시되지 않으며 모든 설계진은 카베리 개발을 위해 투입되어 있다고 한다.

2.1. 카베리는 원래의 스팀롤러가 아니다?


원래의 스팀롤러로 추정되는 코어의 다이샷.
파일드라이버와의 비교 이미지
2013년에, 프론트엔드와 백엔드를 통틀어 거의 모든 부위가 파일드라이버의 2배용량이 된 스팀롤러 코어의 다이샷이 유출되었다. 하지만 2014년 1월에 등장한 카베리는 파일드라이버와 큰 차이 없는 수준에 그쳤고, '스팀롤러B' 라는 이름을 단 채로 발표되어 스팀롤러의 원판이 있는것이 아니냐는 의혹이 있었다. 이 설을 뒷받침 하는 사실 중 하나는 스팀롤러B 수준의 얼마 안되는 연산유닛에 디코더가 2개까지 있을 필요가 없다는 것인데, 실제로도 얻은 성능향상은 미미했다. CPU에서 가장 소비전력이 많은 부분은 디코더인데 저전력을 지향한 아키텍처이면 크게 성능 향상이 없는 디코더가 2개까지 있을 필요도 없거니와 아귀가 맞지 않는 부분이 많아, 스팀롤러의 '원판'에서 확장된 백엔드만 도로 줄여 사이즈를 줄인 게 아니냐는 게 미심쩍은 부분이다.
산술적으로 볼 때 연산유닛이 2배로 넓어지면 40%의 성능향상을 얻는다. 만약 저 유출된 샷 대로 스팀롤러 코어가 나왔다면 3.7GHz APU 쿼드코어가 현재의 카베리 5.2GHz, FX 8코어는 2.7GHz로 FX8350과 동성능을 맞추었을 거라 예상된다. 하지만 전 AMD CEO 로리 리드는 이 스팀롤러를 취소시키고 ZEN에 모든 투자를 하도록 한 것으로 보인다. 여러모로 아쉬운 프로젝트.
불도저의 높은 클럭으로 성능을 만회하는 전략이 공정의 누설전력으로 실패하자, 세밀하게 코어를 만들어 낮은 클럭에 높은 IPC를 추구하는 설계의 일환으로 보인다. 이러한 AMD의 설계 경향은 불도저 이후로 계속되는데, 카리조 APU는 CPU도 GPU 로직 라이브러리를 이용하여 굉장히 세밀하게 설계했고 꽤 긍정적인 향상을 이루었다. 이는 비교적 구형 공정인 28nm 이였기 때문에 가능한 일 이였을 것이다. 하지만 14nm의 잠재력을 과소평가한 AMD는 폴라리스 10, 11 아키텍처도 저전력으로 설계하였고, 밀도를 폴라리스에 비해 10% 정도 낮추고 클럭을 크게 올린 엔비디아의 파스칼 아키텍처보다 전성비가 나빠지고, GCN 코어의 장점인 단정밀도 연산성능도 그렇게 우위를 점하지 못하게 되었다. 이러한 방법은 당시 AMD가 가장 빠르게 성능적인 손실을 만회하고 경쟁할 수 있는 방법이었을 것이다. 하지만 현실적으로 2개 이상의 파이프라인을 점유하는 작업이 적어서, 3개의 정수 파이프라인을 가진 K10에서 2개-2개 구성으로 변경시켜 효율을 꾀한 게 불도저 코어임에 반해, 정수 파이프라인을 4개씩 한 쌍으로 가지는 코어가 된다면 단일 스레드 성능은 높아도, 당초 모듈코어를 개발한 방향과 다르고 인텔과 같은 SMT(하이퍼스레딩) 없이는 비효율적이었을 것이다.

2.2. 사용 모델 일람



3. 엑스카베이터 마이크로아키텍처


블록 다이어그램상의 변경점은 크지 않으나 다음과 같은 부분이 개선되었다고 한다.
  • L1캐시의 용량 증대, 프리페치 개선 및 레이턴시 감소.
  • 분기 예측을 향상시키기 위하여 BTB 사이즈를 512엔트리에서 768엔트리로 50% 늘리고 분기 예측 실패 시 FPU 파이프라인을 플러시 하는 속도를 증가.
  • AVX2, BMI1/2, MOVBE, SMEP, RdRand 명령어가 추가 되었으며, AMD 제품 중 최초로 DDR4를 지원.
소켓은 카리조에서는 FP4 소켓을 사용하고 향후 ZEN에서도 사용될 AM4 소켓을 공유하게 된다.
[image]
카리조의 경우 기존의 CPU용 고성능 라이브러리가 아닌 GPU 로직용으로 사용되던 고밀도 라이브러리를 이용하여 설계가 되면서, 같은 28nm 공정임에도 불구하고 밀도가 29% 높아 지면서 전작인 스팀롤러B 대비 전체 면적이 23% 가량 줄어 들었다. 이는 언코어를 제외한 순수한 코어의 크기만을 측정한 값이다. 가령 L2가 1MB+1MB로 카베리의 절반으로 줄어들었다. 이도 면적을 계산하면 약 24%가 나온다.
이것이 가능한 이유는 GPU용 고밀도 라이브러리의 경우 가장 아래의 트랜지스터층은 동일한 크기이면서도 그 위로 쌓이는 메탈 레이어, 즉 M1, M2, M3... 등등이 차지하는 선폭을 줄이게 되면 전반적으로 면적을 줄일 수 있는 것에 기인한다. 즉 PCB 설계로 예를 들자면 PCB 위의 부품 크기는 동일하되 부품간을 잇는 패턴의 굵기를 줄이면 결과적으로 부품 크기를 유지하면서도 전체적인 PCB의 면적을 줄일 수 있다는 것으로 설명할 수 있다.
이런 설계로는 메탈레이어 미세화에 따른 수율 저하와 다이면적 축소에 따른 발열설계의 문제점, 메탈레이어 굵기가 줄어들면서 발생하는 저항값 증대와 발열증대 등의 문제점들이 있고 그런 이유로 3~4GHz 수준으로 클럭을 올리는 것에는 애로사항이 있지만, 코어가 압축되면서 웨이퍼당 다이 숫자가 증가하면서 원가절감에 유리하고 저전력-저클럭에서는 오히려 전력효율이 올라간다는 장점이 있다.
즉 어차피 고클럭-고성능 크게 신경쓸 필요가 없는 APU에서는 차라리 고밀도 라이브러리를 이용하여 생산단가를 절감하고, 낮은 클럭에서의 전력 특성을 향상시키는 게 합리적인 설계 방향이라는 것이다.
[image]
출처
AMD의 발표에 따르면 스팀롤러 대비 성능 상승폭은 15W에 CineBench 기준으로 싱글스레드에서 40%, 멀티스레드에서 55%까지 올라간다고 한다. 설계포인트를 아예 15W 전력 영역에 최적화 시킨 결과라고 한다. 성능 향상 포인트를 클럭과 IPC로 각각 나눌 경우 먼저 중간 정도의 부하인 15W에서의 클럭상승률은 약 25~44% 올라가고 35W 영역에 도달하면 -2~5% 수준으로 클럭 상승률이 떨어지게 된다, 즉 고클럭에서 성능이 저하되는 고밀도 라이브러리의 한계점이 그대로 드러나게 된다.
다만 35W 영역에서도 근소하게나마 클럭을 올리는데 성공한 것을 보면 전반적으로 클럭 쪽의 약점은 나름대로 선방한 셈. IPC의 경우 도표 상으로 보면 싱글스레드 기준 10~15%, 멀티스레드 기준 10~12% 정도 향상되었다.
종합해 보자면 최고속도로 동작할 때의 성능은 거의 IPC 성능 향상에 의존하면서 대략 9~13% 정도의 실행속도 증가를 기대할 수 있고 동일 설계의 다이에서 TDP가 15W로 제한되거나 아니면 50% 내외의 부하가 걸리는 일반적인 동작 상황에서는 거의 50%가 넘는 성능 향상, 혹은 동일 성능일 경우 그에 맞는 전력소모 감소를 기대할 수 있다. 다만 AMD의 다른 발표자료로는 대략적인 IPC 증가폭은 4~15% 정도로 제시되고 있다.
엑스커베이터 코어를 이용한 제품은 그렇게 대중적이지는 않은 모바일 APU 제품군에 그치지만, 역사적으로 여러 중요한 의미를 가지는 코어이다. AMD의 불도저 패밀리 중 마지막 세대의 코어이고, 또 다른 하나는 분기 예측의 개선 만으로 이뤄낸 아이비브릿지의 IPC(1모듈-1코어 2스레드 조건)에 근접하게 따라온 AMD 최초의 아키텍처라는 것이다. 혹자는 '에이, 이제야 아이비브릿지 수준이야?' 라고 할 수도 있겠지만, 2011년 불도저가 출시된 이후로 한번도 샌디브릿지와 비슷한 수준의 백엔드의 확장이 없었다는 걸 생각하면 어느 정도 박수를 쳐줄 만은 하다.
불도저의 끔찍했던 캐시 미스를 극복하고 이제는 투입된 연산 유닛을 인텔과 비슷한 수준의 효율로 운용할 수 있다는 것이 되시겟다. 이는 AMD가 엑스커베이터부터 더 이상 전성비를 향상시키지 않고 IPC를 올리겠다고 한 발언과도 어느 정도 맞다.
울트라 모바일로 출시되는 스토니 리지 APU의 벤치 결과가 기대 이상의 수치가 나오면서 나름 주목받고 있는 아키텍처이다. 재미 있는 부분은 초기 엑스카베이터인 카리조에 비해서도 또 한번 스토니 리지의 IPC와 전력효율 등이 상승했다는 점.
스토니 리지 벤치마크
벤치마크를 보면 전력효율로 대차게 까였던 불도저가 자사의 비마나 인텔의 ULV 제품군들을 바짝 추격하고 있는데, 제품의 TDP는 '''15W 이내'''다. 2015년까지만 해도 불도저 기반의 카리조와 저전력 코어인 비마를 이용한 카리조-L을 분리하여 SKU를 만들었지만, 성능보다 우선 불도저로 비마의 전력효율을 따라잡았다는 것이 상당히 고무적. (그런데 카리조도 엑스커베이터인데...?) 인텔도 똑같은 방식으로 코어I아톰, 두가지 아키텍쳐로 SKU를 구성하고 있다. 몇 년간 의심받아왔던 AMD의 설계 능력부터 차기작의 행보까지 상당히 시사하는 바가 많다.
그래서인지 기존 아키텍처의 비효율성이 개선이 되었건 어쨌든간에 이후 나올 ZEN 아키텍처의 IPC를 엑스카베이터+40%라고 말했던 AMD의 발언 때문에 은근한 주목을 받고 있다. 덩달아 브리스톨 리지에 대한 기대감도 소폭 상승. 결과적으로 나온 RYZEN은 샌디를 아득히 넘어서 하스웰~브로드웰급의 성능으로 나왔고, 위에서 잠시 언급했던 고밀도 설계는 RYZEN에도 적용되어 RYZEN이 그만큼의 성능에 더해 높은 전성비까지 확보하게 하는 원동력이 된다. 사실 ZEN의 성능에 대해서도 스토니 리지의 벤치가 나오기 이전에는 큰 기대가 없었다. '''기껏해야 샌디만이라도 따라잡으면 성공'''이라는 소리도 아주 진지하게 이야기되었을 정도. 그런 추측을 스토니 리지의 벤치결과가 꽤 신선한 충격으로 많이 허물어버린 셈.

3.1. CMT 모듈 구조 개선 포기


2012년 말에 나온 스팀롤러 마이크로아키텍처를 사용한 FX옵테론의 소식이 2013년 4분기 로드맵에서조차 없자 해외 IT 사이트에서는 AMD의 FX 라인업을 사실상 포기한 것이 아니냐는 관측이 나왔었다. 하지만 AMD는 FX 라인업을 포기한 적은 없으며 조만간 공개한다고 발표했다. 이후 2014년 5월 7일 기존의 CMT 구조를 포기하고 SMT 방식의 새로운 아키텍처를 개발중인 것으로 AMD 공식 문서에 나와있다는 기사가 나왔는데, 이는 2012년 8월에 복귀한 짐 켈러 때문인 것으로 보인다.
그 새로운 아키텍처인 ZEN 마이크로아키텍처는 2016년에서 2017년 사이에 출시될 예정이었고 2017년초에 출시되었다.
참고로 옵테론도 8모듈 16코어 싱글칩화가 예정되었으나 판매 부진에 아키텍처 개선 포기로 인해 발매되지 않고 있다. 게다가 ARM 기반 옵테론 제작에 집중 중이라 시장에 출시될지는 미지수이다.
APU쪽과 옵테론 2모듈 4코어가 계획되어 있으며, 이는 마지막 CMT 아키텍처가 될 것일 가능성이 크다.

3.2. 사용 모델 일람


  • AMD/APU - 카리조, 브리스톨 리지, 토론토[1]
  • AMD 옵테론 시리즈 - 토론토, 캠브리지[2], 바르샤바
  • AMD R-시리즈 - 멀린 팔콘

[1] 서버용 APU이다.[2] 64비트 AArch64 코어이다.