차세대 K 컴퓨터를위한 ARM의 확장 명령
미국 쿠퍼티노에서 개최된 반도체 칩 컨퍼런스 핫 칩스(Hot Chips)는 차세대 칩 기술을 발표하는 곳입니다. 올해는 28번째 행사로, 첫날은 튜토리얼로 차세대 메모리에 대한 Using Next-Generation Memory Technologies, 3D 센싱에 대한 3D Depth for Consumers의 두가지 주제를 다뤘습니다. 이틑날부터는 컨퍼런스가 시작됐는데 GPU와 HPC(High Performance Computing)의 벡터 컴퓨팅을 다뤘습니다.
GPU / 벡터 세션에서 핵심은 ARM의 새로운 벡터 확장 아키텍처인 Scalable Vector Extension(SVE)의 발표입니다. SVE의 특징은 벡터 길이를 고정하지 않고, 구현에 따라 128비트부터 1048비트까지 128비트 단위로 선택할 수 있다는 것입니다.
물리 벡터 길이에 맞게 Vector-Length Agnostic (VLA) 프로그래밍 모델을 갖고 동적으로 코드를 다른 벡터 길이에 맞춥니다. SVE는 벡터 프레데케이션에 의해 프로우 컨트롤 전용 레지스터를 갖습니다. HPC를 대상으로 하기에 SVE 명령은 ARMv8-A AArch64 인코딩 전용으로 64비트에서만 쓸 수 있습니다.
SVE는 일본에서 중요한 명령 세트 확장이 됩니다. 후지쯔의 차세대 K 슈퍼컴퓨터 프로세서에 쓰이기 때문입니다. 후지쯔가 차세대 K 컴퓨터에 ARM 명령어 세트를 채택한다는 건 이미 ISSCC(IEEE International Solid-State Circuits Conference)에서 발표된 바 있습니다.
핫 칩스에서 후지쯔의 요시다 토시오(후지쯔 고급 시스템 개발 본부 프로세서 개발 총괄부 제일 개발부 부장)는 ARM과 SVE 개발에 긴밀히 협력해 왔음을 밝혔습니다.
512비트 벡터 프로세서를 구현, 마이크로 아키텍처에 최적화된 후지쯔 고유 컴파일러도 제공합니다. 후지쯔는 지금까지도 SPARC64과 메인 프레임과 다른 명령어 세트 컴퓨터를 자신의 마이크로 아키텍쳐 구현, 공통화해 설계한 실적이 있는데 이번에도 같은 방식을 씁니다.
ARM은 SVE 명령 세트를 후지쯔 외에 다른 회사에도 라이센스합니다. 엑사스케일 시대의 HPC를 기대하는 ARM에게 있어, HPC 시장을 공략할 큰 무기가 됩니다. 후지쯔도 ARMv8 + SVE 바이너리와 에코시스템을 HPC에서 구축하는 건 도움이 되는 일입니다.
NVIDIA는 파스칼 GP100의 새로운 내용을 발표
NVIDIA는 파스칼 아키텍처 기반 HPC 전용 GPU인 테슬라 P100(GP100)의 세부 사항을 발표했습니다. 여기서 흥미로운 건 NVIDIA가 GP100의 진짜 다이 사진을 공개했다는 것입니다. NVIDIA는 최근 GPU 다이를 가공한 가짜 사진만 공개했거든요. 이번엔 다이 사진을 공개했습니다.
다이에는 30개의 SM(Streaming Multiprocessor)이 있고 위아래로 HBM2 인터페이스, 왼쪽에 NVLink 인터페이스가 배치됩니다.
GP100은 새로운 모듈 SXM2을 제공하며 HBM2 모듈을 4스택해 GPU 다이 주위에 배치합니다.
HBM 스택의 8개 메모리 채널에 대응한 8개의 메모리 컨트롤러가 배치되고, 각각 L2 캐시 슬라이스가 분산됩니다. GPU와 HBM 스택은 실리콘 인터포저로 연결되며 다이 부착한 후 두께를 줄이는 처리가 들어갑니다.
인 인터커넥트인 NVLink는 GP100에서 버전 1.0을 구현했습니다. 차등 신호로 20Gbps의 전송 속도를 내며 단방향 x8 구성입니다. GP100은 4개의 NVLink를 구현하며 패킷 기반 전송으로 헤더 부분에 CRC를 가집니다. CPU도 직접 연결이 가능해, 핫 칩스에선 NVLINK를 지원하는 IBM 파워9도 발표됐습니다.
ARM 바이프로스트 GPU 아키텍처
ARM은 SoC 전용 GPU 코어인 바이프로스트 아키텍처를 발표하고, 바이프로스트 기반 GPU 코어인 Mali-G71의 구성도 밝혔습니다. 쉐이더 코어는 32개까지 확장 가능합니다.
기존 GPU 아키텍처 미드가르드는 Packed 방식의 벡터 프로세싱을 수행했지만 바이프로스트는 스칼라 방식으로 바꿧씁니다. 벡터의 각 레인에 따라 컨트롤 플로우를 수행, GPU 컴퓨팅을 비롯해 그래픽 이외의 작업에 대응하기 쉬워졌습니다.
쉐이더 코어의 구성입니다. 4웨이 SIMD 엑시큐션 엔진은 GPU에 따라 그 수가 다릅니다.
ARM의 바이프로스트 아키텍처의 특징은 다른 GPU들이 32~64웨이의 와이드 벡터인 반면, ARM은 4웨이의 좁은 벡터라는 점입니다. 실행 유닛은 4웨이 FMA와 Special Function Unit(SFU)/ADD 유닛의 2 파이프. 또 32비트 연산 유닛은 SIMD(Single Instruction, Multiple Data) 구성으로 16비트에서 32비트의 2배 처리량, 8비트는 4배의 처리량이 됩니다. 머신 러닝 등 정확도가 높을 필요가 없는 경우 큰 효과를 보지요.
내부 버스인 CoreLink CCI-550은 ARM CPU 코어와 바이프로스트 GPU 코어가 양방향으로 캐시 커히런시를 유지합니다. 기존에는 양방향이 아닌 CPU에서 GPU로만 캐시 스누핑이 가능했습니다.
삼성 최초의 자체 개발 마이크로 아키텍처 CPU 코어, 엑시노스 M1
핫 칩스 첫날에는 모바일 프로세서의 세션도 있었는데, 삼성이 자체 개발 마이크로 아키텍처를 써서 개발한 엑시노스 M1 프로세서를 발표했습니다. ARMv8 기반으로 삼성 최초의 독자적인 마이크로 아키텍처를 쓴 프로세서입니다. 삼성은 이미 엑시노스 M1 코어를 탑재한 모바일 SoC인 엑시노스 8890을 플래그쉽 스마트폰인 갤럭시 S7의 일부 모델에 탑재했습니다. 엑시노스 8890은 엑시노스 m1이 4개, Cortex-A53이 4개인 8코어 구성을 씁니다.
엑시노스 M1은 ARMv8 기반에 삼성 14nm FinFET 공정 14LPP. 동작 클럭은 2.6GHz, 최대 전력은 코어 당 3W 이하, 4 명령 디코드 파이프 라인에서 4μOPs(내부 명령) 디스패치가 가능한 아웃 오브 오더 실행입니다. ARM이 제공하는 CPU 코어 IP는 3명령 디코딩까지니 엑시노스 M1 쪽이 디코딩 대역은 넓습니다.
분기 예측은 신경만 기반의 퍼셉트론을 이용합니다.
최대 7μOPs을 실행하는 유닛 / 스케줄러 이슈
벡터 파이프는 곱셈 (MUL) 계열과 덧셈 (ADD) 계열의 2 개. 파이프 라인은 분기 예측에서 명령어 인출까지 5 사이클 디코딩이 3사이클, 리네이밍이 2 사이클, 레지스터 리드와 정수 연산은 각각 1 사이클. 최소 15 스테이지로 ARM 계열 프로세서 중에선 약간 깊은 파이프라인을 씁니다.
미디어텍의 3레벨 구성 10코어 모바일 SoC
미디어텍은 10코어 모바일 SoC인 Helio X20의 디자인 컨셉을 핫 칩스에서 설명했습니다. 고성능 Cortex-A72가 2 코어, 2GHz Cortex-A53 4코어, 1.4GHz Cortex-A53 4코어의 혼합 멀티코어 구성입니다.
이렇게 특수한 CPU 구성은 3단계의 서로 다른 CPU 코어가 최적의 워크로드를 실행한다는 개념에서 비롯된 것입니다.
ARM은 big.LITTLE이라 부르는 전력 아키텍처를 제공하고 있습니다. 대형 고성능 CPU 코어(big)과 소형 저전력 CPU 코어(LITTLE)을 결합해 각각의 코어가 최적의 작업을 실행합니다. 미디어텍은 이를 확장, 미드레인지 코어를 추가해 3단계 구성을 구축함으로서 전력 사용량을 30% 줄일 수 있다고 합니다.
3단계의 코어 전환을 위해 작업 스케줄링도 바꿉니다. 기존 ARM의 big.LITTLE 구성 HMP (Heterogeneous Multi-Processing) 방식에선 부팅 CPU 코어는 취소할 수 없었는데, 부팅 CPU0을 동적으로 변경할 수있는 기능을 추가한 Asymmetric Multi-Processing (AMP)에 의해 리틀와 미드의 CPU 코어 군을 제어합니다.
마이크로소프트의 홀로렌즈가 기조 강연에 등장
핫 칩스 첫날의 기조 강연에선 마이크로소프트의 Nick Baker (Distinguished Engineers, Technology and Silicon, Microsoft)가 나와 자사의 AR(Augmented Reality) 시스템인 홀로렌즈의 개요와 반도체 칩에 대해 설명했습니다.
마이크로소프트가 개발자에게 제공 중인 홀로렌즈는 가상 현실을 실제로 보는 것에 겹치는 증강 현실 기술로,
헤드 마운트 디스플레이에 SoC와 이미지 프로세서를 탑재, 단독으로 동작합니다.
마이크로소프트는 홀로렌즈를 위해 맞춘 설계된 HPU(Holographic Processing Unit) 칩을 도입했습니다.
시스템 구성은 메인 컨트롤을 위한 인텔 체리트레일 SoC에, 홀로렌즈의 이미지/센서 입력 처리는 Tensilica DSP, 디스플레이 장치를 통합한 HPU를 탑재하고, 1GB LPDDR3을 POP 패키지로 넣었습니다. 스토리지는 64GB 낸드 플래시 메모리입니다.
HPU 코어는 24개의 Tensilica DSP로 Tensilica Instruction Extension (TIE)에 의해 명령어 세트를 확장합니다. 또한 전용 가속기도 탑재합니다. 전용 HPU를 사용해 소프트웨어 처리보다 효율이 200배 높고, 헤드 마운트 유닛에 넣을 수 있을 정도로 전력 사용량을 줄였습니다. 제조 공정은 TSMC 28nm HPC, 로직 게이트 수는 6500만, 8MB SRAM을 탑재합니다.
HPU 아키텍처
HPU 디자인 초이스
HPU 코 디자인 프로세스
다만 미디어텍 ppt 제작 부서는 단체로 시말서 써야될 것 같은데요(...)