2006년 10월 24일 화요일

FPGA의 끝 없는 진화, 특정 용도 최적화에 도전

- 출처: http://www.neakorea.co.kr/article_view.asp?seno=3872

FPGA의 끝 없는 진화, 특정 용도 최적화에 도전

<니케이 일렉트로닉스 코리아-아시아>

20여년 전, FPGA가 처음 선보였을 때, 대부분의 사용자들이 칩의 모든 게이트를 사용하지는 못할 것이라는 생각은 소모적이고, 너무 앞선 것이라고 여겨졌다. 하지만 시간이 지나 칩당 트랜지스터 수가 급격히 증가하면서 그런 걱정은 금방 잊혀졌다.

요즘은 칩 한 개에 수백 개의 ALU나 CPU가 탑재되며, 대부분의 고객들이 사용할 수 있는 것보다 많은 상황이 됐다. 이런 상황을 낭비로 보는 이들이 있는 반면에 FPGA 진화의 다음 단계로 생각하는 이들도 있다.

일례로, C스위치(Cswitch)는 전용 네트워킹 로직 및 인터페이스 컨트롤러 주변에 기존 FPGA를 많이 배치한 새로운 FPGA를 개발 중이다. 앰브릭(Ambric)은 게이트를 함께 사용하지 않고, 다양한 태스크용으로 구성되는 메모리 블록 및 CPU의 어레이가 들어가는 제품을 개발하고 있다. 양사는 올해 말까지 샘플 칩을 내놓을 예정이다.

새로운 접근법

C스위치의 아키텍처에는 패킷 헤더에서 데이터를 추출하도록 프로그램 할 수 있는 전용 패킷 파서(Packet Parser)가 있다. 하드와이어드 ALU는 패킷 에디팅 또는 수학 연산을 수행한다. 내장 CAM을 2진수나 3진수로 구성할 수 있다. 테이블 및 버퍼 저장을 위해서 아키텍처에는 대용량의 싱글 포트 RAM뿐만 아니라 커다란 듀얼 포트 RAM도 포함된다.

이 전용 로직은 모두 표준 FPGA 내에 포함되며, 고속 P2P(Point-to-Point) 상호연결을 통해 연결된다. 칩에는 DRAM 컨트롤러, 이더넷, 파이버 채널 MAC과 최대 6.4Gbps로 동작하는 SerDes가 포함된다. 이 SerDes는 PCI 익스프레스, XAUI, 기가비트 이더넷, 파이버 채널 및 그 밖의 고속 인터페이스를 지원한다.

특수한 기능 블록을 사용하는 C스위치 칩은 표준 FPGA보다 훨씬 효율적으로 패킷처리 애플리케이션과 공통 통신을 구현한다. 또한 게이트를 프로그래밍하고 전용 로직을 구성함으로써 매우 다양한 애플리케이션 및 프로토콜을 구현한다.

앰브릭의 첫 제품인 케스트럴(Kestrel)은 45개의 '브릭(Bric)'으로 나눌 수 있는 3백60개의 CPU를 포함하며, 각 브릭에는 13Kbyte의 SRAM이 있다. 각 CPU는 32bit 프로세서로 구성되는데, 절반은 DSP 성능의 확장을 통해 수학 연산처리 성능을 높인 것들이다. 각 CPU는 인접 CPU와 쉽게 통신이 가능하며, 칩 전체에 데이터를 보낼 수 있다.

앰브릭 칩을 프로그래밍 하기 위해, 소프트웨어는 여러 객체로 나뉘며, 각 객체는 간단한 태스크를 맡는다. 앰브릭 컴파일러는 객체를 물리적 CPU에 할당한다. 각 CPU는 들어오는 데이터를 처리하고, 또 다른 처리를 위해서 다른 CPU에 데이터를 보낸다. 이런 면에서 각 CPU는 FPGA 게이트로 구현된 기능 블록과 유사하다. 앰브릭 설계의 경우, 기능 블록은 하드웨어보다는 소프트웨어로 간단히 구현된다.

333MHz 속도의 케스트럴은 60GMACS(초당 10억회의 곱셈 누적연산) 등 초당 1조8백억회의 연산을 처리한다. 이 정도의 연산속도를 지원하기 위해, 칩에는 DDR2 SDRAM 대역폭 3.2GB/s, PCI 익스프레스 및 기타 고속 I/O가 있다.

저렴한 130nm 공정기술을 사용했음에도 많은 애플리케이션에서 앰브릭의 첫 번째 칩인 케스트럴은 성능 면에서 우수한 90nm FPGA와 비슷하거나 더 뛰어나다. 각 CPU가 인접 CPU와 통신할 때 독립적으로 동작하기 때문에 앰브릭 아키텍처는 브릭을 추가하는 간단한 방법을 통해 차세대 제조기술로 쉽게 옮겨질 수 있다.

효율 개선

FPGA는 전용 로직보다 비효율적이다. 하드와이어드 프로세서는 더 빠르고 작으며, FPGA에 구현된 프로세서보다 전력 소모가 적다. 오늘날의 고급 IC 공정으로 인해 완성된 CPU는 점점 작아지는 추세이며, 패킷 프로세서는 더 작다. 따라서 사용자가 특정 애플리케이션에 맞춰 프로세서를 연결 및 구성하도록 하면서 칩 주변에 블록을 분산시키는 것이 좋다.

FPGA 업계 선두업체인 자일링스는 이 추세를 주목하고 있다. 자일링스 버텍스 4(Virtex-4) FX에는 DSP 블록, 이더넷 MAC, 1~2개의 PowerPC CPU가 탑재된다. 이 방식으로, 특히, 휴대폰 기지국과 그 밖의 DSP 집약적인 애플리케이션에서 수 많은 고객들의 요구를 충족하고 있다.

이에 반해 C스위치는 신호 처리보다 프로토콜 처리에 역점을 둔 네트워킹 및 다른 애플리케이션에서 뛰어나며, 앰브릭 아키텍처는 비디오 인코딩, 휴대폰 프로토콜 및 보안 처리 등 연산 집중 애플리케이션에 적합하다.

후발업체가 해결해야 할 도전 과제 중 하나는 엔지니어가 아키텍처를 쉽게 사용할 수 있도록 하는 것이다. C스위치는 마그마(Magma)와 제휴하여 자체 기술을 표준 툴에 맞추려고 한다. 앰브릭은 프리코드(Precode) 소프트웨어의 라이브러리뿐만 아니라 통합 개발 환경을 제공한다. 하지만 설계자가 아키텍처 성능을 최대한 활용하려면 새로운 아키텍처의 세부 내용을 학습해야 한다.

린리 그웬넵(Linley Gwennap)

댓글 없음: