벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] Intel CPU의 미래가 보이는 80코어 TFLOPS 칩

tware 2007. 2. 15. 20:30

 

온칩 네트워크 연구를 위한 CPU

 Intel은 2월 11일부터 미국 샌프란시스코에서 개최된 반도체 학회인 "ISSCC (IEEE International Solid-State Circuits Conference) 2007"에서 1칩으로 테라 플롭스 (TFLOPS)의 연산 성능을 실현한 실험 칩 "Network-on -Chip (NoC)"의 기술 세부 사항을 발표했다.

 NoC는 80개의 CPU 코어를 온칩 2D 메쉬 네트워크로 결합. 목표 동작 주파수는 4GHz. 연구소는 62W의 소비 전력으로 1.01TFLOPS의 성능을 달성했다고 한다. 성능 / 소비 전력이 비정상적으로 높은 것이다.

 NoC 자체는 그대로 제품화되는 칩은 아니지만 그 아키텍처에서는 Intel CPU가 향하는 다음 아키텍처의 방향이 명확하게 보인다.

 특히 중요한 것은 Intel이 실험 칩에서 온칩 네트워크의 설계에 초점을 맞추고 있는 점이다. NoC (네트워크를 담은 칩)라는 명칭으로도 회사가 온칩 네트워크를 수십 코어 세대의 멀티 코어 CPU의 열쇠가 되는 ​​기술로 생각하고 있는 것을 알 수 있다.

 무엇보다, Intel은 이전부터 이러한 방향을 시사하고 있다. Intel의 연구 개발을 총괄하는 Justin R. Rattner (저스틴 R · 래트너) 씨 (Intel Senior Fellow, Director, Corporate Technology Group)는 2년 반 전의 인터뷰에서 다음과 같이 말했다.

 "기존의 프로세서 연구는 마이크로 아키텍처에 초점을 맞춰 왔다. 슈퍼 스칼라, 아웃 오브 오더, 투기 실행 .......그러나 프로세서가 멀티 코어화하면 과제는 어떻게 프로세서 코어를 인터커넥트 네트워크, 협조, 동기, 커뮤니케이션 시키나? 같은 사정이 있다. 이들은 전통적으로 시스템의 과제였지만, 멀티 코어 / 매니 코어는 프로세서의 과제가 된다 "

 이번 NoC에서는 Intel이 오래전부터 온칩 네트워크에 관한 연구를 거듭해 온 것이 엿보였다.

 Intel은 이 NoC 개요를 2006년 가을 "Intel Developer Forum (IDF)"에서 발표했다. 이번 ISSCC에서는 그 기술적 상세함이 일부 밝혀졌다. 장막이 벗겨짐과 함께 보여진 것은, Intel이 실험이라고는 생각되지 않을 정도로 이 칩의 개발에 주력하고 있다. 한편 IDF시 화려하게 노래한 스펙과 실제 칩의 차이도 보였다.

 예를 들면, IDF 때는 NoC 칩은 SRAM 칩을 거듭한 다이 스택으로 메모리를 접속. 온칩 라우터도 3차원 접속으로 SRAM 칩에 연결되어 있다고 설명이 이루어졌다. 그러나 현실의 NoC는 다이 스태킹은 행하고 있지 않다. 스택 메모리 지원은 미래에 된다고 말한다. 온칩 네트워크와 다이 스태킹 두가지를 동시에 시도하는 위험은 무릅쓰지 않은 것이다.

 

 

IDF 2006 Fall 때의 프레젠테이션에서는 미묘하게 칩 크기 등이 다르다

 

 

극히 작은 코어를 80 개 집적한 프로세서

 이번에 발표한 NoC의 다이 (반도체 본체)는 아래와 같다.

 

 

NoC Die Overview

 

 전체 칩은 타일 모양으로 80개의 프로세서가 나란히 있다. 가로가 8개, 세로가 10개의 8 × 10 그물 구성으로 칩의 위쪽과 아래쪽의 두 가장자리가 I / O 영역이다. 제조 공정은 65nm 공정으로 Core 2 (콘로,메롬)패밀리와 같다. 다이 크기는 275 제곱 mm (12.64 × 21.72mm)로 65nm 공정의 쿼드 코어 x86 CPU와 같은 정도이다. 즉, x86 CPU가 4 코어가 들어가는 면적에 20배인 80코어를 담은 것이다.

 칩의 총 트랜지스터 수는 100M (1억). 칩 크기에 비해 트랜지스터 수가 극히 적은 것은 트랜지스터 밀도가 높은 SRAM이 적고, 대부분 로직 회로가 차지하고 있기 때문이라고 추측된다.

 NoC 모양의 80개의 프로세서는 타일 (Tile)로 부른다. 각 타일은 3 제곱 mm (1.5 × 2mm)로 매우 작고, 트랜지스터 수는 불과 1.2M (120만). 이것은 x86 CPU로 말하면 486DX 클래스. 작은 CPU 코어로 알려진 Cell Broadband Engine (Cell BE)의 SPE (Synergistic Processor ​​Element)조차 7M (700만, Local Memory를 제외한 숫자)이다.

 타일​​의 다이 에리어 안을 보면 왜 이렇게 까지 작은것인가 알수 있다. 타일​​ 속에서는 매우 간단한 것으로, 2개의 부동 소수점 연산 유닛 (FPMAC)와 명령어를 저장하는 "Instruction Memory (IMEM)"데이터를 저장하는 "Data Memory (DMEM)", 그리고 온칩 네트워크 라우터, 레지스터 파일 등으로 구성되어 있다. FPMAC 모두 단정밀도 부동 소수점용 스칼라 연산 유닛이다. 명령 스케줄링 기구나 정수 전용 연산 유닛은 가지지 않고, 연산만 특화되어 있다.

 


2개의 부동 소수점 연산 유닛을 각 타일에 탑재

 

 

NoC Block Diagram

 

 NoC의 타일 블록 다이어그램은 이렇게 되어있다. 각 타일은 "프로세싱 엔진 (PE)"과 크로스바 라우터의 마주한(짝으로) 구성으로 있다. 크로스바 라우터는 5way 라우터로 상하 좌우 인접한 타일의 라우터와 "메소크로노스 인터페이스 (Mesochronous Interface)"로 묶여 있다. 메소크로노스 즉 위상의 차이를 허용 (보정) 가능한 네트워크이다. 네트워크의 토폴로지는 메쉬로 라우터의 각 포트는 점 대 점으로 옆 타일의 라우터와 연결되어 있다.

 PE 안쪽에 2개의 FPMAC는 모두 곱셈과 덧셈이 가능한 적화산 (MAD : Multiply-Add) 유닛. 1 사이클 throughput으로 곱셈과 덧셈의 2오퍼레이션을 실행할 수 있다. 연산 레이턴시는 9사이클로 짧다.

 

 레지스터 파일은 공유로 32 엔트리. 포트수는 10으로 두 FPMAC에 대해 4개의 리드와 2개의 라이트, DMEM으로 부터 로드와 스토어, 네트워크로 부터 패킷의 센드 / 리시브를 동시에 스케쥴링 가능하다. 4GHz를 목표로 하는 파이프 라인은 15 FO4 (Fanout-Of-4) 설계로 비교적 딜레이가 짧게 설계되어 있다.

 각 PE의 FPMAC가 각각 2 오퍼레이션 / 사이클 처리량으로 작동하기 때문에 1 타일의 성능은 4 FP 운영 / 사이클이다. 타일​​은 80개 있으므로 NoC 전체에서 320 FP 운영 / 사이클. NoC가 4GHz로 동작하면 320 × 4GHz로 1.28TFLOPS가 된다. 1TFLOPS은 3.16GHz에서 달성 가능하다. 덧붙여서, 실험실에서는 최고 5.67GHz, 1.81TFLOPS로 작동한다. 이 성능은 데이터 병렬 연산에 특화되어 있는 GPU의 쉐이더 연산 성능을 능가한다.

 

 

 

NoC Performance

 


 높은 성능은 NoC가 연산만에 특화한 결과다. NoC은 단독으로 동작하는 CPU등의 범용 CPU와 결합을 전제로 하고 있는 것으로 보인다. 각 PE 독립적인 프로세서라기 보다는 소프트웨어 제어 타일 기반으로 병렬로 연산을 하는 프로세싱유닛 이미지다.

 


96bit 특수한 VLIW형 명령어 세트

 NoC의 명령 세트는 IA-32 명령어와는 전혀 다르다. 여러 작업을 1 명령어에 저장하는 VLIW (Very Long Instruction Word) 형식을 취하고 있다. VLIW 인 점은 IA-64과 같지만, 명령 포맷은 크게 다르다. NoC 명령은 96bit 길이의 VLIW 명령으로 최대 8 오퍼레이션 / 사이클을 인코딩 할 수 있다. 96bit 길이 8 오퍼레이션으로 많은 작업을 저장할 수 있는 이유는 특정 명령의 명령 슬롯을 갖추고 있기 때문이다. 아래가 NoC의 명령 포맷이다.

 

NoC Instruction Set

 

 

 96bit 길이 명령에 2 유닛의 FPMAC 대한 연산 슬롯 외에 명령 슬롯이 4개있다. 데이터 메모리에 로드 / 스토어 명령 슬롯, 메쉬 네트워크에 대한 패킷의 센드 / 리시브 명령 슬롯, 명령어 흐름 제어 점프 / 분기 슬롯, 그리고 전원 관리를 위한 슬립 / 웨이크 명령 슬롯.

 FPMAC이 SIMD 형 제어가 아니라고 하면 FPMAC의 명령 슬롯은 두 FPMAC 각각에 대한 2개로 합계 6명령 슬롯이다. VLIW의 각 명령은 고정 길이는 아니라고 추측된다. 아마도 FPMAC용의 일반 명령 슬롯은 32bit 등 표준 길이로 후반의 특수 명령 슬롯은 짧은 것으로 추측된다. 즉, CISC (Complex Instruction Set Computer) 인 가변 명령을 VLIW 식에 담은 가능성이 높다.

 따라서 NoC는 2 개의 FPMAC에 연산 명령을 발행하면서 동시에 로드 / 스토어 유닛과 "Router Interface Block (RIB)"분기 단위로 명령을 발행 할 수 있다. 전원 관리 명령도 병렬로 할 수 있는 것은 다른 PE에 대한 전원 관리를 위한 명령을 포함하고 있기 때문이다.

 NoC는 그 명령을 수행하는 PE의 FPMAC를 절전 스테이트로 전환 시키거나 웨이크 업 시키거나 NAP / WAKE 명령 외에 다른 PE를 전전 시키거나 웨이크 업 시키거나 PESLEEP / PEWAKE 명령이 포함된다. 네트워크를 통해 다른 PE를 웨이크 업하여 작업을 전달할 수 있다.

 라우터와 PE 사이의 "Router Interface Block (RIB)"는 온칩 네트워크 패킷을 핸들한다. 라우터는 5 포트로 PE로의 포트 외에도 상하 좌우 타일 라우터와 잇는다. 미래는 다이 스택 SRAM 칩에 포트도 마련하여 3D 라우터가 된다고 한다.

 80GB / sec (4GHz시) 대역의 넌 블러킹 크로스바 스위치를 갖추고 있다. 라우터 내부 논리 레인이 "FLIT (FLow control unIT)"큐와 아비터 흐름 제어 로직을 갖추고 있다. NoC 패킷은 여러 FLIT로 구성되어 있다. 헤더에는 최대 10 개의 목적지 ID (Destination ID (DID))가 저장되며. 10 홉이 가능하다. 패킷 크기에는 제한이 없다고 한다.

 

NoC Packet Format

 


성능 / 소비 전력에 최적화 된 코어

 Intel은 NoC에서 TFLOPS 클래스의 성능에 집중할 뿐만 아니라, 퍼포먼스 / 소비 전력 증가에 제법 힘을 쏟고있다.

 입도 작은 클럭 게이팅 제어를 행하고, 절전 트랜지스터와 바디 바이어스에 의한 전력 제어도 갖추고 있다. 각 타일은 21 슬립 지역으로 분할되어 있으며, 지역 단위로 슬립시킬 수 있다고 한다. FPMAC은 90%가 슬립이 가능, 라우터는 트래픽을 통과하면서 슬립에서 10%의 저전력이 가능, IMEM은 56%, DMEM 57% 슬립에 의한 전력 절감이 가능하다. 타일​​ 전체가 대기 모드로 들어간 경우는 50%의 저소비 전력화가, 타일 전체가 전체 슬립에 들어갔을 경우에는 80%의 저소비 전력화가 가능하다고 한다.

 NoC의 전력 및 성능은 다음과 같다. 성능 / 소비 전력은 GPU (프로그램 가능한 연산 성능)를 이긴다.

 

 

주파수 성능 전압 소비 전력
1GHz 0.32TFLOPS 0.6V 11W
3.16GHz 1.01TFLOPS 0.95V 62W
5.1GHz 1.63TFLOPS 1.2V 175W
5.67GHz 1.81TFLOPS 1.35V 265W

 

           
테라 스케일의 중요한 이정표

 NoC는 미래의 테라 / 페타 스케일 컴퓨팅을 위한 빌딩 블록이라는 위치가 된다. 연구 목적만을 위해 막대한 개발 비용을 들여 칩을 만들어 버리는 점이 Intel 답다. 그러나 Intel 에서도, 이정도의 칩 개발은 부담이 되는 것이고, NoC 아키텍처나 기능은 연구의 결과, 상당히 좁혀진 것으로 추정된다. NoC의 명령 세트 아키텍처나 라우터와 패킷 구조 등은 지속적인 연구 성과로 보인다.

 Intel의 테라 스케일의 이정표의 다음 단계로는 NoC에 필요한 메모리 대역폭을 해결하는 적층 메모리가 기다리고 있다. 여기에 또 이번과 같은 연산에 특화한 특정 목적 코어가 아니라 IA 아키텍처 코어를 다수 탑재한 구조도 염두에 두고 있다고 한다. 이미 2006 가을 IDF에서 Intel은 IA 아키텍처의 소형 코어에 대한 비전도 말했다 (라라비 (Xeon Phi)가 아닌, x86 연구칩).

 

[분석정보] Intel 48 코어 IA 프로세서를 개발

 

 

[분석정보] Intel 48코어 매니코어 연구 칩 기술 공개

 

 

[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[분석정보] Intel CTO 래트너 Tera-Scale Computing에 대해 설명

 

무엇보다, 실제 제품에서는 어떤 테라 급 연구가 반영되어 오는지 아직 모른다. 범용 CPU 코어와 NoC 같은 특정 애플리케이션 아키텍처의 조합, 또는 하이브리드 CPU가 될 가능성이 높다. 어쨌든, Intel의 다음의 비전이 NoC에서 보이기 시작했다.

 

다음 단계는 스택 메모리

 

 

 

Small cores for high power efficency

 

 

 

Future Multi-Core Platform

 

2007년 2월 15일 기사 입니다.

 

[분석정보] 상변화 메모리 PRAM의 제품화, 2TFLOPS달성을 데모

 

 

[분석정보] 2015년 컴퓨터 플랫폼 IDF Spring 2005

 

 

[분석정보] SSE4 명령어와 가속기에서 보이는 Intel CPU의 방향성

 

 

[분석정보] 메모리가 큰 벽이 되는 AMD의 퓨전 (FUSION) 프로세서

 

 

[분석정보] Intel의 Larrabee에 대항하는 AMD와 NVIDIA

 

 

[분석정보] 그리고 CPU는 DRAM 다이도 통합

 

 

[분석정보] 5W 이하의 저전력 프로세서의 개발로 향하는 Intel

 

 

[분석정보] Intel 48 코어 IA 프로세서를 개발

 

 

[분석정보] Intel 48코어 매니코어 연구 칩 기술 공개

 

 

[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[분석정보] 고속화를 가져오는 Radix-16 Divider와 shuffle Engine