에너지 효율을 향상시키는 마이크로프로세서 설계를 통한 SoC 전력 감소 에너지 효율을 향상시키는 마이크로프로세서 설계를 통한 SoC 전력 감소
최혜진 2008-01-28 16:27:58

모든 SoC 설계에서 전력과 에너지는 주요 지표로써 중요한 고려사항이다. 칩 패키징 시스템의 소비 전력 능력은 한계에 도달하고 있으며, 칩 설계가 더욱 더 전력 고려사항에 의해 좌우될 것이라는 것이다. 올바른 방법과 적절한 확장 가능한 프로세서 빌딩 블록을 사용할 경우 효율을 극적으로 향상시킬 수 있다.

글│아쉬시 딕시트(Ashish Dixit), 하드웨어 엔지니어링 부사장, 텐실리카


대부분 많은 SoC 설계에서 전력은 주요 지표로써 성능을 대신해 왔다. 회로는 트랜지스터 성능뿐 아니라 전류를 공급하고 열을 제거하는 패키징 시스템에 의해 더욱 제한되고 있다. 더욱이 모바일 기기는 특히 배터리 성능에 의해 제한된다.

2003 국제 반도체 기술 로드맵에서는 트랜지스터 집적도는 거의 기록적인 비율로 증가를 지속하겠지만, 칩 패키징 시스템의 소비 전력 능력은 한계에 도달하고 있어 매년 5% 정도의 성장에 그칠 것이라는 전망을 내놓았다(그림 1). 이와 같은 격차의 확대는 칩 설계가 더욱 더 전력 고려사항에 의해 좌우될 것이라는 것을 의미한다.

고성능 기능을 메인 프로세서로부터 하드와이어드(Hardwired) 로직 기능으로 옮기면 전력을 감소시킬 수 있다. 그러나 이러한 하드와이어드 기능은 설계와 검증에 많은 시간이 소요되고, 표준이 변경되면 무용지물이 된다. 이에 따라 이러한 기능과 미래에도 보장되는 설계를 신속하게 구현하기 위해 프로그래머블 프로세서 기반 솔루션이 사용되고 있다.


최근 SoC 설계는 일반적으로 하나의 제어 프로세서와 다른 프로세서들을 추가로 사용하여 하드와이어드 로직 방식으로 설계에 사용되던 기능을 구현한다. 이러한 프로세서가 오디오 기능을 칩에 삽입하기 위해 추가되는 단일 프로세서이든 또는 네트워크 트래픽을 라우팅하기 위한 수십 또는 수백 개의 소형 프로세서 어레이든, 애플리케이션별 주문형 프로세서는 로직 블록만큼 에너지 효율이 우수할 뿐 아니라 보다 쉽게 설계하고 사용할 수 있어 로직 블록을 대체하고 있다.


프로세서 구조

최근 구성 가능한 구조를 기반으로 하는 프로세서는 기존의 RISC 구조에 비해 많은 전력 장점을 갖는다. 이러한 새로운 프로세서는 우수한 베이스라인 구조를 갖추고, 또한 많은 기능들을 제거하고 있어 전력적으로 2~3배의 이점을 제공한다.

프로세서의 명령 세트를 구성하고 확장하는 능력은 보통 기능 추가와 관련되지만, 이러한 기술은 코드와 공간, 전력, 에너지를 절약하기 위해 불필요한 기술을 제거하는 데에도 이용할 수 있다. 예를 들어, ARM968E-S는 ARM 구조 중 일반적으로 사용할 수 있는 가장 작은 5단(5-Stage) 파이프라인 구현이다. 코어는 130nm 표준 셀에서 구현하는데 약 0.6mm2가 필요하다.

대조적으로, 텐실리카(Tensilica)의 Xtensa 구조에서 일반적으로 가능한 가장 작은 5단 파이프라인 구현은 동일한 130nm 표준 셀에서 구현하는 데 0.2mm2 미만의 공간이 필요하다. 베이스라인 명령 세트는 선형이지만 성능은 더 좋고 코드는 더 적다. 최소 크기의 ARM968E 안에 내장되는 고속 곱셈기, 정교한 버스 인터페이스와 인터럽트 지원은 클릭만 하면 선택할 수 있는 옵션으로 제공되므로 설계자는 필요한 만큼 프로세서를 얻을 수 있다. 그 결과, 베이스라인 Xtensa 프로세서는 최소 ARM9의 사이클 당 30%의 전력만 소비한다. 심지어 유사한 구성에서도 Xtensa 프로세서는 동급 ARM 프로세서 전력의 절반만 소비한다.


프로세서 확장과 에너지

애플리케이션별 주문형 프로세서(Application-Specific Processor)는 범용 RISC 프로세서 코어에 비해 10배 이상 데이터 집약적인 계산을 위한 에너지 요구를 줄일 수 있다. 애플리케이션별 확장 명령 세트 팩은 동일한 작업을 훨씬 적은 사이클에서 수행하므로 훨씬 적은 클럭 주파수(및 더 낮은 동작 전력)에서 SoC를 실행할 수 있다. 프로세서를 확장하면 클럭 사이클 당 소비전력(Power Dissipation)이 증가되지만, 일반적으로 이에 대응하는 전력 증가는 애플리케이션 성능 증가보다 훨씬 적은 수준이다. 전력 절감은 사이클 수가 감소함에 따라 향상된다.

그림 2는 4개 알고리즘, 즉 2개 2048 요소 벡터의 내적(Dot-Product), ASE (Advanced Encryption Standard) 보안 코딩, 무선 커뮤니케이션을 위한 격자구조의 비터비(Viterbi trellis) 디코딩, 복잡한 256 포인트 고속 퓨리에 변환(FFT)의 최적화를 위한 에너지 영향을 보여준다.


SoC 에너지 최적화를 위한 방법

현명한 설계 흐름 선택, 애플리케이션 최적화, 프로세서 선택은 SoC 에너지 소모를 크게 줄일 수 있다. 다음에는 애플리케이션 파티셔닝으로부터 프로세서 구성과 VLSI 최적화에 이르는 체계적인 에너지 최적화를 위한 주요 하향식(Top-Down) 과정을 개략적으로 설명하기로 한다.


단계 1: 애플리케이션을 여러 개의 작업으로 파티셔닝 한다.

높은 클럭 속도의 대형 프로세서에서 실행하는 단일 스레드(Single-Threaded) 애플리케이션을 여러 개의 저속 프로세서에서 동시적으로 실행하는 여러 개의 스레드로 파티셔닝 한다. 가장 간단한 경우, 각각의 소형 프로세서는 파티셔닝 이전의 초기 프로세서와 논리적으로 동일하며, 애플리케이션의 동일한 몫을 실행하고, 분주된 각 클럭 주파수는 초기 애플리케이션 처리량을 제공하도록 해야 한다. 이러한 여러 개의 저속 프로세서는 더 낮은 전압에서 실행할 수 있으므로 전체 전력을 현저히 줄일 수 있다.

프로세서를 듀플리케이팅하는 경우 애플리케이션 처리량이 두 배로 늘어나지는 않지만, 한 개의 대형 프로세서에 요구되는 모든 기능을 모든 소형 프로세서에서 전혀 사용하지 않는 방식으로 애플리케이션을 파티셔닝 할 수 있다. 예를 들어, 2개 프로세서를 사용하는 솔루션은 더 작은 트랜지스터 크기와 더 적은 수의 파이프라인 레지스터를 비롯해 전력을 많이 소모하는 추론적 실행 기능이 더 적게 포함되기 때문에 종종 한 개의 고속 프로세서 크기와 스위치드(Switched) 커패시턴스의 2배가 되지는 않는다. 그러나, 파티셔닝 리스크와 노력을 줄일 수 있도록 신속한 채택, 프로파일링, 검증을 수행할 수 있는 소프트웨어 툴이 제공되어야 한다.

커뮤니케이션하는 여러 개의 소형 프로세서로 구성된 클러스터가 한 개의 고속 프로세서보다 더 효율적인 에너지를 제공한다. 전통적인 RISC 프로세서는 다중 프로세서 파티셔닝에 적합하지 않다. 텐실리카의 프로세서 포트와 큐(Queue)에 대한 광범위한 지원은 사용 빈도가 높은 인터프로세서(Inter-Processor) 및 I/O 커뮤니케이션을 위한 메모리와 버스 동작의 필요성을 제거한다. 이것은 에너지 소모와 대기시간을 크게 줄이고 전체 시스템 성능을 향상시킬 수 있다.

파티셔닝은 특수화를 가능하게 하고, 특수화는 에너지 효율에 유리하다.


단계 2: 적합한 기본 프로세서(base processor)를 선택한다.

적합한 기본 프로세서를 선택하기 위해서는 다음 4가지 기준을 고려해야 한다.

- 최저 베이스라인 프로세서 크기, 전력 및 에너지 효율, 최고 잠재적 성능

- 특별히 다중 프로세서 구현을 위해 생성되는 구조, 툴, 인터페이스, 프로그래밍 모델

- 정확히 애플리케이션 요구에 맞출 수 있는 손쉽고 완벽한 구성 가능성(Configurability)과 확장성. 그러나 모든 프로세서는 공통적인 기본 구조, 툴, 인터커넥트 표준을 공유한다.

- 여러 종류의 실리콘 사용이 가능하고 다양한 소프트웨어 기반과 엔지니어를 활용할 수 있도록 보장하는 보드의 구조 수용

단계 3: 각 프로세서에서 불필요한 기능을 제거한다.

각 프로세서에 대해 계획된 작업 세트를 검토하고, 거의 사용하지 않는 주요 서브시스템을 제거한다. 여기에는 고속 곱셈기, 메모리 관리, 버스 인터페이스, 제로 오버헤드 루프 유닛(Zero-Overhead Loop Unit), 캐시, 사용하지 않는 타이머, 인터럽트 및 디버그 포트가 포함된다. 텐실리카의 Xplorer 환경에서 각 선택은 크기, 게이트 수, 전력에 미치는 추정되는 영향을 시각적으로 확인할 수 있는 피드백이 제공된다. 목표 애플리케이션의 기본 지식이 있는 경우 5분 안에 프로세서를 구성할 수도 있다.


단계 4: 목표 작업을 위한 각 프로세서를 확장한다.

작업의 프로파일을 작성하여 성능에 큰 영향을 미치는 핫스팟(Hot Spot)을 결정한다. 텐실리카의 XPRES 컴파일러는 수백 만 가지의 가능한 향상을 자동으로 검색하여 성능을 최대화하고 에너지를 최소화하는 가능한 가장 효율적인 확장 명령 세트를 생성한다. 프로세서 생성기는 XPRES 컴파일러 출력과 설계자가 정의하는 추가적인 확장 명령을 사용하여 최적의 프로세서 하드웨어와 그에 따른 컴파일러, 시뮬레이터, 디버그 및 운영 체제를 생성한다.


단계 5: 각 프로세서에 대한 메모리를 구성한다.

프로세서 코어 전력은 일반적으로 전체 프로세서 소비 전력의 70%를 차지한다. 명령 메모리 전력은 전체 메모리 전력의 약 70%에 해당된다. 먼저, 프로세서 구성에 초점을 맞추고, 그런 다음 메모리로 넘어간다. 메모리의 경우 다음 사항을 고려한다.


1. 용량을 일정하게 하고 RAM 액세스 폭을 두 배로 늘릴 경우 전력은 30%~60% 정도 증가하지만, 메모리 폭을 일정하게 하고 용량을 두 배로 늘릴 경우 전력은 10%~ 30%만 증가한다. 메모리는 필요한 만큼 폭을 증가시킨다. 메모리 레퍼런스를 줄이고, 가능한 경우 캐시 사용을 감소시킨다. 또한 캐시 대신 RAM을 사용하고, 캐시 액세스 폭을 줄이도록 한다.

2. 일반적으로 명령 메모리가 데이터 메모리보다 훨씬 많이 사용된다. 명령 메모리 폭은 가능한 한 좁게 하면서 성능 요건과 일치시키도록 한다.

3. 코어 로직 누설은 코어 로직 동적 전력과 비례하지만, 공정이 감소함에 따라 악화된다(90nm 누설은 10nm x 130nm 누설이 될 수 있다). 프로세서 구성을 최적화하여 요구 주파수를 감소시킨 다음, (더 느린) 더 낮은 누설 공정 기술을 사용한다.

4. 메모리 누설 전력은 총 RAM 용량을 따른다. 애플리케이션 특성 대비 메모리 크기를 평가하고, 최소 크기의 타당한 메모리를 선택한다.

5. 주소와 액티브 바이트 레인(Active Byte Lane)에 의한 메모리 뱅크의 합리적 디코딩은 전력을 현저히 줄일 수 있다. 데이터 메모리는 2, 4 또는 그 이상의 섹션으로 파티셔닝 한다. 이 경우 넓은 범위의 기준참조를 위해서는 모든 섹션을 액티브로 하고, 좁은 범위의 기준참조를 위해서는 서브세트만 액티브로 한다.


단계 6: 공정 기술, 라이브러리, 물리적 합성 흐름을 선택한다.

이 공정은, 특히 단계 1과 4는 SoC에 풍부한 성능 헤드룸을 제공하므로 목표 공정 기술, 라이브러리, 물리적 합성 흐름을 유연하게 선택할 수 있다. 누설 최소화가 중요한 경우 특별한 고임계치(High-Threshold) 전압 공정을 선택하거나 또는 보다 우수한 누설 기능을 갖는 구형의 저렴한 공정으로 이동한다. 동적 전력과 에너지가 중요한 경우 저전압 공정과 라이브러리를 선택한다.

또한 헤드룸은 동적 전압과 주파수 스케일링을 보다 유연하게 사용할 수 있도록 하므로 다양한 작업 부하를 위한 에너지를 낮출 수 있다. 라이브러리와 다중 임계 전압을 갖는 공정 기술을 전력이 최적화된 합성과 결합할 경우 동적 및 정적 전력을 줄일 수 있다. 공정, 라이브러리 및 합성 흐름은 그 자체로는 에너지 문제를 해결할 수 없지만, 에너지 최적화 공정 전략과 함께 사용할 경우 중요한 역할을 할 수 있다.


공정 최적화 방법

전력과 에너지는 모든 SoC 설계에서 중요한 고려사항이다. 올바른 방법과 적절한 확장 가능한 프로세서 빌딩 블록을 사용할 경우 효율을 극적으로 향상시킬 수 있다. 다중 프로세서 파티셔닝의 효율적 사용, 신중한 기본 프로세서 구성 선택, 명령 세트와 커뮤니케이션 확장성에 대한 철저한 개발 및 공정 기술과 백엔드 흐름(Back-End Flow)에 대한 신중한 선택을 통해 에너지 효율 증가는 충분히 용이하게 달성할 수 있다.


<자료제공: 월간 반도체네트워크 2006년 08월호>

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>