멀티 코어, 메모리 및 전원 관리
듀얼 코어 마이크로 프로세서는 현재 임베디드 컴퓨팅 디자인 분야에서 집중적인 관심을 받고 있다. 많은 임베디드 어플리케이션에서 견딜 수 있는 수준 이상의 소비전력을 요구하지 않으면서 더 높은 성능 요구를 충족시키기 위해 이전의 주파수를 높이는 방법에서 이제는 멀티 코어 프로세서를 지향하는 쪽으로 확실한 전환이 이루어지고 있다. '더 많은 와트 당 MIPS'를 제공하는 데 중점을 둔 기타 주요 개발 기능으로는 온칩 메모리 컨트롤러, 더 정교한 동적 전원 관리 및 SIMD(single instruction multiple data) 엔진의 성장 등이 있다.
글 : 리처드 로(Richard Low), 프리스케일 반도체
저전력 반도체 공정 공정 및 트랜지스터 기술은 오랜 기간동안 더 높은 주파수를 추진력으로 하여 프로세서 성능을 높이는 데 사용되는 주요 수단이었다. 그러나 최근에는 이러한 방법에 대한 초점이 주파수에서 소비전력으로 이동되었다. 이러한 변화의 원동력은 무엇인가? 최근까지만 해도 설계자가 전원에 대한 주로 고려했던 것은 게이트 충전과 방전으로 인한 AC 구성품이었다. 그런데 90나노(nm) 기술로 이동하게 되면서 일명 누설 전력 또는 정적 전력이라고도 하는 뛰어난 DC 전원 구성품이 도입되었다. 사실 대표적인 90나노 누설 전류는 같은 전압에서 130나노의 약 2∼3배이며 누설 전류는 일부 90나노 디바이스의 총 전력의 절반 이상을 차지한다.

저전력 제품은 SOI(silicon-on-insulator) 기술과 같은 저전력 공정으로 생산되고 있다(그림 1). SOI는 분포 용량을 줄여서 스위칭 주파수를 최고 25% 높이고 소비전력을 20% 절감한다. 또한 현재 사용되는 이산화규소(무수 규산) 층보다 제조가 더 쉬운 두꺼운 층을 가능하게 하는 저전력 고-k 유전체를 출시하기 위한 연구가 진행 중이다.
듀얼 코어 프로세서 더 높은 주파수의 디바이스는 더 높은 전압 공급을 요구하기 때문에 소비전력과 손실 허용치가 기하급수적으로 증가한다. 실시간 어플리케이션에 중요한 인터럽트 대기 시간이 증가하는 원인은 코어를 공급하기 위해 더 깊은 파이프라인을 요구하는 더 높은 주파수의 프로세서 때문이다. 그리고 프로세서가 예측하지 않은 코드 지점에서 분기할 때 발생하는 파이프라인 플러시(pipeline flush)로 인한 속도상실(stall)은 성능에 심각한 악영향을 줄 수 있다. 칩 설계자가 성능을 향상시키기 위해 새로운 수단을 강구할 수밖에 없게 만드는 다른 요인도 있다. 주파수가 높아지면 클로킹 오버헤드가 증가한다. 정확한 작동을 보장하려면 클록 에지를 중심으로 일정량의 안전 여유를 프로세서에 내장시켜야 한다. 안전 여유는 거의 일정하기 때문에 주파수가 증가하면 클록 주기 안에서 효과적으로 사용할 수 있는 시간이 줄어들게 된다. 그러므로 주파수를 증가시켜도 성능이 많이 향상되지 않게 된다. 결국 시스템 설계자들은 더 높은 시스템 성능을 실현하면서도 소비전력 증가를 최소화하기 위해 더 높은 주파수의 디바이스보다는 멀티 코어 프로세서 아키텍처를 지향하고 있다(그림 2). 처음에는 서버와 같은 연산 의존도가 높은 어플리케이션용으로 여겨졌던 듀얼 코어 마이크로 프로세서는 이제 광범위한 임베디드 어플리케이션용으로 설계 및 배치되고 있다.

더 효과적인 메모리 제어 멀티 코어 통합은 여기서 다루는 내용의 일부에 불과하다. 메모리 컨트롤러와 브리지 칩도 탁월한 효과를 갖는 단일 반도체에 멀티 코어에 결합된다. 역사적으로 메모리 서브시스템은 고성능 처리 시스템의 병목과 같은 부분이었으나, DDR2(Double Data Rate 2) 인터페이스와 같은 최근의 메모리 기술 개발로 성능이 획기적으로 향상되었다. DDR2는 전송 속도를 SDR(Single Data Rate) 기술의 133MHz에 비해 최고 667MHz까지 높여 준다. 그러나 프로세서 클록 속도가 훨씬 더 빨리 가속화되었기 때문에 메모리 대기 시간에 대한 관심이 증가되었다. 최근까지 메모리 컨트롤러를 포함한 시스템 로직의 많은 부분은 노스 및 사우스 브리지 칩의 형태로 외부에 존재했다. 그러던 것이 메모리 컨트롤러와 브리지를 반도체의 같은 부분에 마이크로 프로세서 코어로 통합하자 대역폭과 대기 시간 병목현상이 감소되고 있다. 예를 들어, 온칩 메모리 컨트롤러는 프로세서와 메모리 간의 대기 시간을 3/4 정도 감소시키고 있다. 또한 이러한 통합으로 보드 공간이 절약되는데, 경우에 따라 이것이 더 중요할 수 있다. 집적도 증가는 AMC(Advanced Mezzanine Card)와 같은 소규격에서 더 높은 처리 능력을 제공하기 하는 데 특히 중요하다. 메모리를 효과적으로 제어하면 전력이 절감된다. 더 효과적인 메모리 컨트롤러는 이제 메모리에 보류 중인 트랜잭션이 없을 때와 메모리 리프레시가 계획되어 있지 않을 때 클록 활성화 신호를 취소할 수 있다. 이처럼 불필요한 메모리 클로킹을 방지하면 일반적으로 메모리 소비전력이 최고 20%까지 감소한다. 메모리 디바이스와 메모리 터미네이션 저항기에서 소모되는 전력을 감소시키는 또 다른 시스템 설계 기법은 디바이스와 저항기가 클러스터 환경에 함께 연결된 경우 원격 부팅과 프로세서 제어를 이용하는 것이다. RapidIO®기술과 같은 고속 상호 연결/패브릭 구조에서는 패브릭에 대한 연결을 통해 프로세서 노드를 완전하게 제어할 수 있다(그림 3). 이렇게 하면 부팅 및 여러 프로그래머블 디바이스를 위한 플래시 메모리가 초기화(reset)와 인터럽트를 구동할 필요가 없어지므로 전력과 보드 공간이 모두 절감된다. 이더넷 컨트롤러와 같은 구형 장치는 이제 추가적인 플래시 메모리 없이 FTP 기반 부트를 시작할 수 있는 기본적인 기능을 갖추어 출시되고 있다. 디지털 가입자 회선 액세스 멀티플렉서(DSLAM)와 같은 어플리케이션의 경우 모든 회선 카드에서 플래시를 제거하면 32회선 DSLAM을 기준으로 약 3W가 절감된다.
고대역폭 온칩 인터페이스 프로세서에서의 데이터 입출력은 시스템 성능 개선을 위해 중점을 두는 또 하나의 영역이다. 고급 통신 컴퓨팅 아키텍처(AdvancedTCA)와 같은 새 사양도 온칩 고대역폭 파이프 개발을 북돋우고 있다(그림 4).

백플레인 상의 여러 고성능 상호 연결을 지원하는 기능은 AdvancedTCA의 핵심적인 장점이다. 지금까지 그러한 각 상호 연결에는 외부 칩이 필요했었다. 이제 AdvancedTCA용으로 설계된 프로세서는 백플레인에서 기가비트 이더넷, Serial RapidIOTM 및 PCI-Express TM를 외부 장치가 없는 프로세서에 직접 연결할 수 있는 온칩 고대역폭 파이프를 제공하기 때문에 전력, 보드 공간, 개발 기간 및 시스템 비용 측면에서 최적의 솔루션을 제공한다. 또한 이처럼 인터페이스들을 온칩으로 통합하면 코어와 인터페이스 간의 처리를 최적화할 수 있다. 예를 들어, 기가비트 이더넷 블록의 경우 다양한 종류의 프레임이 서로 다른 버퍼 풀에 스트리밍되고 헤더가 마이크로 프로세서 코어에서의 더 빠른 처리를 위해 Level 2 캐시로 전송되면서 인터페이스 하드웨어가 몇몇 조기 분석과 분류 작업을 회선 속도로 수행할 수 있다. 이 접근방식은 인터페이스와 코어 간의 처리 파이프라인을 만들어 코어의 부담을 크게 줄여줄 수 있다.
프로세서-동적 전원 관리
임베디드 설계자들은 모바일 컴퓨팅에서 배터리 사용 기간의 연장을 중점적으로 연구하면서 얻게 된 많은 프로세서 전력 절감 기회를 활용할 수 있다. 예를 들어, 동적 주파수 전환(DFS)을 이용하면 소프트웨어에서 단일 클록 주기 내에 '실행 중인' 프로세서의 코어 주파수를 획기적으로 변경할 수 있다. 대기 사이클을 삽입하거나 디바이스를 초기화할 필요가 없어 프로세서가 완전하게 정상 작동을 유지한다. 결과적으로 전력이 약 45% 절감된다. 임베디드 어플리케이션은 또 다른 발열량 감소 기능들을 추진해 왔다. 일부 새 프로세서에는 실행 단위가 사용되지 않을 때 해당 실행 단위로 보내는 전원을 자동으로 보류하는 통합 동적 전원 관리(IDPM) 기능이 있다. 명령어 캐시 스로틀링도 또 다른 예다. 이 기법은 최대 명령어 실행 속도를 줄여서 동적 전원 관리의 영향을 극대화한다. 저전력 모드는 흔히 간과되어 잘 활용되지 않는 기능이다. 오늘날의 고성능 임베디드 프로세서에서는 더 이상 'on' 또는 'off'를 요구하지 않는다. 새 프로세서에서는 실행, 대기(doze 또는 nap), 휴면(sleep) 및 장기 휴면(deep sleep) 모드와 같은 여러 상태를 제공하며, 각 상태는 프로세서 클록, PLL 및 스누프(snoop)와 인터럽트가 응답하는지 여부에 대한 설정과 연결되어 있다. 예를 들어, 휴면 모드에서는 내부 클록이 완전히 꺼진 상태에서 PLL이 켜지는 것이 일반적이다. 인터럽트는 완전히 켜진 상태로 전환을 야기할 수 있지만 보통 스누프에는 응답하지 않는다. 프로세서를 다양한 경보 수준과 소비전력 상태로 만드는 이러한 모드를 적절히 사용하면 전력을 크게 절감할 수 있다. 사용 가능한 기능을 완전히 활용하는 최적화된 소프트웨어 디자인은 추가적인 전력 절감을 가능하게 하는 효과가 있다. 1997년에 설립된 이래 임베디드 프로세서 벤치마킹을 성공적으로 재정의했던 임베디드 마이크로 프로세서 벤치마크 컨소시엄(EEMBC)은 임베디드 시스템 설계에서 고려해야 할 주요 사항이 전원이라는 점을 이해하고 현재 에너지 소비 벤치마킹을 추진하고 있다. 지금까지 설계자들은 다양한 상황에서의 '대표적인 전력'을 측정하는데 있어 프로세서 공급업체에서 사용하는 방법에 의존해왔다. 신뢰성과 일관성 있고 이해할 수 있는 소비전력 벤치마크는 설계자들에게 엄청난 장점이 될 수 있다. EEMBC는 기존의 벤치마크군을 수행하는 동안 에너지 소비를 측정한 다음 그 결과를 종합 'PowerMark' 점수로 요약된 줄(joule) 단위로 표시할 계획이다.
병렬 처리―SIMD(single instruction multiple data) 엔진 또한 SIMD(single instruction multiple data) 엔진은 크게 향상된 소프트웨어 투자 수익률을 제공한다. 이것은 전력에 대한 영향을 최소화하면서 괄목할만한 성능 향상을 이루어내고 있다. SIMD 엔진은 고도의 병렬 작업을 가능하게 하기 때문에 기존의 정수 및 부동 소수점 단위와 동시에 작동하는 명령어 레벨 실행 단위를 통해 하나의 클록 사이클에서 다수의 작업을 동시에 실행할 수 있다. 이러한 SIMD 엔진의 속도 향상에 대해 EEMBC가 인증한 결과를 보면 통신 벤치마크에 대한 스칼라 처리와 비교할 경우 속도가 12배나 빠르다는 것을 알 수 있다. 무선 기지국 베이스밴드 처리에 사용되는 Viterbi Decode 및 Convolutional Encoding과 같은 알고리즘이 여기에 속한다. 이러한 결과는 C로 코딩하여 얻어지므로 수작업 코드 어셈블리의 필요성을 최소화한다. 설계자들은 가능한 어셈블리를 기피하며 설계자 고유의 C 코딩 및 프로세서 공급업체가 제공한 어셈블리가 최적화된 라이브러리를 함께 사용하여 성능을 향상시키려고 한다. 중요한 것은 이 SIMD 엔진의 성능 향상으로 인해 프로세서 전력이 5∼10% 밖에 증가되지 않는다는 점이다.
저전력 임베디드 시스템의 전원 공급 저전력 임베디드 시스템은 전원 공급 관리와 같은 시스템 디자인의 다른 측면에서 새로운 과제를 제기한다. 프로세서 크기를 줄임으로써 전류는 증가하고 전압은 감소한다. 더 크고 빠른 메모리는 과도 현상을 더 빠르게 하여 더 우수한 싱킹(sinking)과 전원 공급을 요구한다. 고전류와 전술한 모든 고속 과도 현상을 처리하기 위해 기존에 사용되어 왔던 PCB의 저항기와 콘덴서 부품은 부실한 부하 조절과 기판 전체에 걸친 전압 변동을 발생시킬 수 있다. 또한 기판에 여러 다른 전압을 사용할 경우 전원 경로가 점점 더 복잡해지게 된다. PoL(Point-of-load)이라고 불리는 새 아키텍처 표준은 더 높은 전압 정확도, 리플 감소 및 더 빠른 과도 응답을 제공하므로 위와 같은 문제를 많이 해결할 수 있다. 새 아키텍처 표준은 또한 여러 공급업체 간의 상호 운용성을 보장하기 때문에 설계 유연성도 높여 준다.
듀얼 코어 어플리케이션 시스템 설계자들은 임베디드 어플리케이션의 발열량과 전력 관리에 대한 여러 가지 새로운 접근방식을 채택하고 있다. 이 중 한 가지 방법은 더 많은 열을 견디고 분산시킬 수 있는 물리적으로 더 큰 시스템을 만드는 것이다. 통신 인프라를 위한 AdvancedTCA 사양이 이러한 예 중 하나이다. 이 사양은 통신회사, 장비 제조업체 및 구성품 공급업체들에 의해 확실한 개념 입증 플랫폼으로 채택되었다. 여러 공급업체와 제품에는 공통적인 규격이 존재하므로 시제품 제작 시간과 비용이 크게 줄어들고 있다.
그러나 AdvancedTCA가 생산 인프라를 위해 줄여 줄 수 있는 최대 한도는 여전히 미지수이다. 전력, 공간 및 비용은 중요한 고려사항이다. 설계자들이 채택하고 있는 대체 접근방식은 통합된 듀얼 코어 마이크로 프로세서의 최신 개발품을 활용함으로써 mW 당 처리 능력을 극대화한다. 이 방식은 어쩔 수 없이 발생하는 열을 처리해야 하는 인프라 시스템을 사용하는 대신 처음부터 열이 발생하지 않도록 막아준다. 듀얼 코어 디바이스의 확실한 목표는 프로세서들이 같은 운영 체제(OS)와 메모리를 공유하는 대칭 멀티 프로세서(SMP) 듀얼 코어 어플리케이션이다. 두 개의 이산 프로세서와 해당 시스템 로직을 모두 통합된 하나의 디바이스에 집적시킬 수 있다. 듀얼 코어 디바이스는 일반적으로 SMP 어플리케이션에만 제한된다고 오해하는 경향이 있다. 시스템 설계자들은 지능적인 디자인을 통해 필요한 후크와 기능을 추가하여 각 코어의 동일한 운영 체제뿐만 아니라 각 코어가 서로 다른 운영 체제를 가진 비 SMP 지원도 허용하고 있다. 설계자들은 이러한 유연성을 이용하여 기존의 독자적인 운영 체제와 Linux같은 새 운영 체제 사이를 연결하고 있다. OS 공급업체들은 표준화된 메시징 방법을 정의하는 데 협력함으로써 듀얼 코어 디바이스의 운영 체제 간에 이러한 '협력적 비동기 멀티 프로세싱'을 실현하고 있다.
통합된 멀티 코어 프로세서 기능과 기술을 잘 활용하면 모든 범위의 임베디드 어플리케이션에 걸쳐 소규격의 저렴하면서도 신뢰성 있는 시스템을 구현할 수 있다. 통합된 듀얼 코어 마이크로 프로세서는 아키텍처 환경을 확실히 바꾸고 있다. 임베디드 어플리케이션용으로 특별히 설계된 새 프로세서들은 한정된 전력 내에서 컴퓨팅 용량을 크게 높임으로써 고성능 시스템 설계를 실현하고 있다. 머지 않아 임베디드 시스템 설계자들은 모든 규격의 보드에 '와트 당 MIPS'를 대폭 증가시키기 위해 특별히 설계된 광범위한 듀얼 코어 프로세서, 도구 및 기법들을 이용할 수 있게 될 것이다.
|