단일 초저전력 HMP 프로세서 사용하여 실시간 처리 워크로드 및 응용 처리 워크로드 모두 지원
DigiKey 북미 편집자 제공
2019-08-06
소비자는 개인용 전자 기기와 기타 모바일 장치의 배터리 수명이 더 길고, 응답성이 빠르며 기능도 우수할 것을 기대합니다. 하지만 개발자의 경우 대부분의 응용 분야에서 실시간 응답과 고성능이라는 서로 상충되는 요건을 충족하기 위해 별도의 프로세서를 사용해야 했습니다. 이렇게 하면 비용, 전력, 공간은 물론이고 하드웨어 레이아웃과 소프트웨어 복잡도도 증가합니다.
따라서 필요한 하드웨어를 단일 칩에 통합하는 것이 더 좋은 방법이며, HMP(이기종 다중 코어 처리) 장치가 등장했습니다. 다양한 유형의 다중 코어를 포함하는 이러한 프로세서는 성능 최적화, 전력 소비 감소, 향상된 시스템 보안 및 신뢰성과 같은 이점을 제공할 수 있습니다.
이 기사에서는 개발자가 NXP Semiconductors의 이기종 다중 코어 프로세서를 사용하여 저전력 및 설계 복잡도 감소라는 요구 사항을 준수하면서도 이러한 혼합 워크로드 요구를 충족할 수 있는 방법을 설명합니다.
변화하는 요구 사항
센서 기술과 데이터 처리 알고리즘의 발전으로 개발자가 실시간 데이터 처리와 컴퓨팅 집약적인 알고리즘 실행이라는 상충되는 요구를 관리할 수 있는 훌륭한 기회가 마련되었습니다. 과거에 개발자는 일반적으로 이러한 워크로드를 별도의 시스템으로 분할했습니다.
네트워크 계층의 최하위 수준에 위치한 내장형 프로세서(예: Arm® Cortex®-M4 코어 기반 내장형 프로세서)는 실시간 운영 체제(RTOS) 또는 베어 금속 시스템에서 최적화된 코드를 실행하여 데이터를 수집합니다. 계층의 상위 수준에 위치한 고성능 응용 프로세서(예: Arm Cortex-A7 코어 기반 응용 프로세서)는 Linux, Android 등과 같은 친숙한 운영 체제에서 응용 코드를 실행하여 데이터 분석 알고리즘을 실행합니다.
에지 컴퓨팅 시스템의 출시로 응용 코드가 데이터 출처에서 더 가까운 위치에서 실행되고 있습니다. 실제로 복잡한 분석 알고리즘의 빠른 응답이 요구됨에 따라 이제 말단 장치에도 응용 처리 요구 사항이 적용되고 있습니다. 사물 인터넷(IoT) 센서, 웨어러블 및 기타 저전력 제품과 같은 장치에 인공 지능 방법을 비롯한 정교한 분석 기능을 내장할 것으로 기대하는 소비자들이 점점 더 증가하고 있습니다.
이기종 다중 코어 처리의 역할
내장형 응용 프로세서 코어를 결합하는 HMP 장치의 등장으로 개발자가 다양한 응용 분야에서 혼합된 워크로드를 보다 효과적으로 처리할 수 있게 되었습니다. HMP 프로세서는 대상 제품의 워크로드와 관련된 다양한 요구 사항을 충족하도록 최적화된 다양한 코어를 통합합니다. NXP i.MX 7ULP(초저전력) 프로세서 제품군을 사용하면 개발자가 HMP 아키텍처의 수행 능력을 활용하여 소비자가 차세대 ULP 제품에서 요구하는 우수한 성능과 긴 배터리 수명 요건을 충족할 수 있습니다.
소비자 버전(MCIMX7U5DVP07SC)과 산업용 버전(MCIMX7U5CVP06SC) 모두에서 사용 가능한 i.MX 7ULP 프로세서는 이기종 코어를 그래픽 처리 장치, 보안 가속기, 메모리 컨트롤러 및 전체 주변 장치 인터페이스와 통합합니다(그림 1).
그림 1: 모듈 및 주변 장치를 포괄적으로 보완하는 동시에 NXP i.MX 7ULP 응용 프로세서 제품군은 실시간 처리를 위한 Arm Cortex-M4 코어와 응용 처리를 위한 Arm Cortex-A7 코어를 결합합니다. 또한 전력과 성능을 최적화하기 위해 별도의 전력 영역을 사용합니다. (이미지 출처: NXP)
전력 제한이 있는 휴대용 설계에 맞춰 특별히 고안된 NXP i.MX 7ULP 제품군은 각각 별도의 전력 영역에 의해 구동되는 Arm Cortex-A7 코어와 Cortex-M4 코어를 결합하여 새로운 요구 사항을 충족합니다. 또한 서로 다른 전력단을 사용하여 필요하지 않을 경우 다양한 모듈의 전력을 선택적으로 차단할 수 있습니다. 아래에 설명한 대로 i.MX 7ULP 장치에 통합된 정교한 전력 관리 기능의 덕택으로 개발자는 이러한 전력 영역과 전력단을 활용하여 응용 분야에 맞게 성능과 전력 소비를 조정할 수 있습니다.
전력 최적화
i.MX 7ULP 제품군을 설계할 때 NXP는 칩 설계 레벨부터 아키텍처 전반까지 전력 및 성능 최적화 기능을 장치에 내장했습니다.
가장 기본적인 레벨에서 i.MX 7ULP 제품군은 누설 전류를 줄이는 제조 방법에 기생을 줄여서 작동 전력 소비를 줄이는 트랜지스터 기하학 구조를 결합합니다. 기존 트랜지스터 구조와 달리(그림 2, 상단) i.MX 7ULP 장치는 소스부터 드레인까지 전극 흐름을 줄여 누설 전류를 줄여주는 초박형 산화막(그림 2, 가운데)으로 제조되었습니다. 또한 설계자는 순방향 바디 바이어스(FBB) 또는 역방향 바디 바이어스(RBB)를 향상된 기능으로 추가할 수 있습니다(그림 2, 하단).
그림 2: 기존 트랜지스터는 소스부터 드레인까지 전극이 이동하면서 상당한 누설이 발생할 수 있지만(상단), NXP i.MX 7ULP 제품군은 전극 흐름을 방해하는 초박형 산화막으로 제조되었으며(중간), 순방향 바디 바이어스(FBB) 또는 역방향 바디 바이어스(RBB)를 통해 전극 흐름 속도를 높이거나 줄일 수 있는 구조를 채택했습니다(하단). (이미지 출처: NXP)
에너지 효율이 가장 중요한 경우 개발자는 성능 저하를 감수하고 RBB를 사용하여 전극 흐름을 줄이고 누설 전류와 전체 장치 전력 소비를 줄일 수 있습니다. 반대로 FBB를 사용하면 전극 흐름을 개선하여 성능을 강화할 수 있지만 높은 누설 전류로 인해 전력 소비가 증가합니다.
칩 설계 레벨에서 i.MX 7ULP 제품군은 동적 주파수 비율 조정(DFS), 동적 전압 비율 조정(DVS), 소프트웨어 기반 클록 게이팅, 소프트웨어 기반 전력 게이팅 등 다양한 기술을 통합합니다. 다양한 주변 장치의 전력 소비를 줄이는 것 외에도 개발자는 이러한 기능을 활용하여 내부 메모리 블록의 전원을 선택적으로 차단하거나 메모리를 다양한 절전 모드로 전환할 수 있습니다.
아키텍처 레벨에서 Cortex-A7 및 Cortex-M4 서브 시스템에 대해 앞서 언급한 별도 전력 영역을 비롯한 다양한 전력 영역을 활용하여 전력과 성능을 더 효율적으로 조정할 수 있습니다.
각 프로세서 코어 전력 영역에는 지정된 임계값을 초과하거나 임계값에 미달하는 신호 공급 과도 출력에 맞게 설계된 상위 감지기(HVD) 및 하위 감지기(LVD) 모니터, 전용 저 드롭아웃(LDO) 조정기, FBB 및 RBB 구동기가 포함되어 있습니다. 별도의 파워온 리셋(PoR) 모니터가 상시 작동 전력 영역에서 전압 레벨을 추적합니다.
별도 코어 전력 영역과 함께 개별 전력 영역이 상시 작동 하드웨어와 같은 시스템 기능을 제어하고, 배터리 지원 영역에서 실시간 클록, 안전한 비휘발성 스토리지 모듈 등 중요 기능에 대한 전력 공급을 관리합니다. 코어 전력 영역과 마찬가지로 이러한 각 특수 전력 영역은 포괄적인 특수 절전 기능을 지원합니다. 이러한 기능은 너무 많아서 한 번의 기사에서 개별적으로 설명하는 데 어려움이 있습니다.
한 가지 예를 들면 상시 작동 기능을 위한 전력 영역에는 저누설 절전 해제 장치(LLWU) 모듈이 포함되어 있습니다. 개발자는 이 모듈을 통해 여러 외장형 핀 또는 내장형 모듈을 아래 설명된 특수 저누설 전력 모드를 위한 절전 해제 소스로 활용할 수 있습니다.
이러한 아키텍처 기능을 장치에 내장된 전력 관리 컨트롤러(PMC)에서 결합하여 별도 전력 영역과 장치의 전력단을 처리합니다(그림 3).
그림 3: NXP i.MX 7ULP 제품군은 정교한 제어 기능을 통합합니다. 개발자는 이러한 기능을 활용하여 변화하는 응용 분야 요구 사항에 맞게 전력과 성능을 조정하도록 전력 영역 및 전력단을 프로그래밍 방식으로 구성할 수 있습니다. (이미지 출처: NXP)
이 접근 방식에서 개발자는 일반 지능형 주변 소자 서브 시스템(IPS) 버스를 통해 세 모듈이 긴밀하게 결합된 복합 제어 장치에 명령을 전송하여 전력 모드 전환을 시작합니다.
- 코어 모드 컨트롤러(CMC)는 다양한 코어 기능을 지원합니다.
- 다중 코어 시스템 모드 컨트롤러(MSMC)는 Cortex-M4 전력 영역을 위한 시스템 모드 컨트롤러 0(SMC0)과 Cortex-A7 전력 영역을 위한 SMC1로 구성되며, 다양한 전력 모드 간 시퀀싱을 처리하고, 전력 모드 전환을 시작하는 데 사용되는 이벤트를 모니터링하며, 일반적으로 전력 최적화와 관련된 전력, 클록 및 메모리 기능을 제어합니다.
- 리셋 모드 컨트롤러(RMC)는 칩 리셋 기능을 처리합니다.
전력 및 성능 조정
모든 전력 관리 기능에 대해 i.MX 7ULP 제품군은 개발자를 위한 친숙한 프로그래밍 모델을 제공합니다. 다른 고급 프로세서와 마찬가지로 i.MX 7ULP 장치는 프로그래밍 가능 저전력 모드를 통해 다양한 저전력 작동 상태를 실현합니다. 실제로 i.MX 7ULP 프로세서 코어는 다양한 소프트웨어 제어 저전력 모드를 지원하여 개발자가 필요한 기능에서 실현 가능한 최저 레벨로 전력 소비를 줄일 수 있도록 해줍니다.
이러한 저전력 모드를 사용하여 개발자는 코어와 서브 시스템 중 하나 또는 둘 모두에서 일반 실행 모드, 대기 모드 및 중지 모드를 다양하게 변경하여 설정할 수 있습니다.
일반 실행 모드와 고속 HSRUN 모드에서는 고성능 작동을 통해 응용 분야의 계산 집약적인 부분을 지원합니다. HSRUN 모드에서 코어 서브 시스템은 최고 주파수로 작동합니다. 응용 분야에서 낮은 성능을 허용하는 경우 개발자는 최대 48MHz의 주파수에서 그에 해당하는 낮은 전력을 소비하여 작동하도록 매우 낮은 전력 실행(VLPR) 모드에서 코어를 설정할 수 있습니다.
일반 대기 모드에서 주변 장치는 완벽하게 작동하지만 코어는 클록 게이팅됩니다. 즉, 정적 상태로 대기하지만 인터럽트 대기(WFI) 신호가 수신되면 즉시 절전 상태를 해제할 수 있습니다. 이 모드에서 개발자는 자율 주변 장치를 작동하여 버퍼를 채우거나 직접 메모리 액세스(DMA) 트랜잭션을 활용하여 인터럽트를 실행하여 코어가 대기 상태에서 해제되기 이전에 시스템 메모리를 채울 수 있습니다. 초저전력 대기(VLPW) 모드에서 주변 장치는 감소한 주파수에서 계속 작동하지만 코어 클록을 게이팅할 수 있습니다.
웨어러블, 휴대용 장치 등과 같은 응용 분야에서는 시스템의 비활성 기간이 길어질 수 있으며, 활동 버스트에 의해 비활성 상태가 주기적으로 해제됩니다. 이러한 경우 절전 기능은 배터리 수명에 매우 중요합니다. 코어의 절전 해제 시간이 느려도 되는 응용 분야의 경우 실행, 대기 또는 초저전력 모드보다 더 강력한 최대 절전 모드로 장치를 전환하여 특히 효과적인 옵션을 제공할 수 있습니다. 이러한 접근 방식을 지원하기 위해 개발자는 각 i.MX 7ULP 코어 서브 시스템을 더 강력한 절전 상태로 전환할 수 있습니다. 절전 상태에 따라 절전 해제 시간이 달라집니다.
- 중지 상태에서는 일부 주변 장치가 비동기적으로 작동할 수 있지만 코어는 정적인 상태로 유지됩니다. Cortex-A7 및 Cortex-M4의 경우 절전 해제 시간은 7μs입니다.
- 초저전력 중지(VLPS) 모드에서는 주변 장치가 더 제한적으로 작동하지만 코어는 정적인 상태로 유지됩니다. 절전 해제 시간은 21.5μs(Cortex-A7) 또는 9μs(Cortex-M4)입니다.
전력 요구 사항이 훨씬 더 엄격한 응용 분야의 경우 개발자는 각 코어를 다음과 같은 특수 저누설 모드로 설정하여 더 많은 장치 서브 시스템을 차단할 수 있습니다.
- 저누설 중지(LLS) 모드에서는 코어를 WFI 상태로 유지하면서 코어, 버스 및 주변 장치를 클록 게이팅합니다. 절전 해제 시간은 40μs(Cortex-A7) 또는 58μs(Cortex-M4)입니다.
- 초저누설 중지(VLLS) 모드에서는 코어의 전체 전력 영역을 클록 게이팅하여 절전 해제 시간이 60μs(Cortex-A7) 또는 375μs(Cortex-M4)로 더 길어집니다.
훨씬 더 많은 전력을 절감하기 위해 개발자는 VLPS, LLS 등 일부 전력 모드에서 RBB를 사용할 수 있습니다. 그러면 해당하는 만큼 성능이 저하되고 절전 해제 시간은 약 2μs ~ 4μs 증가합니다.
반대로 컴퓨팅 집약적인 워크로드를 처리해야 하는 경우 개발자는 특수 고속 실행(HSRUN) 모드에서 코어를 실행할 수 있습니다. HSRUN 모드에서는 Cortex-A7 코어를 일반 500MHz 작동 주파수에서 720MHz로 작동되는 과잉 구동 모드로 전환합니다.
이 세부 제어 레벨에서 개발자는 핵심 기능의 저하 없이 매우 강력한 전력 요구 사항을 충족하도록 i.MX 7ULP를 구성할 수 있습니다. 예를 들어 가능한 최소 전력을 소비하면서 Cortex-M4 코어의 실시간 기능과 특정 Cortex-A7 서브 시스템 주변 장치 또는 메모리를 모두 사용해야 하는 경우도 있습니다. 이 경우 개발자는 Cortex-A7 서브 시스템을 중지 또는 VLPS 상태로 전환하고 Cortex-M4의 메모리 또는 주변 장치에 액세스하여 해당 코어를 통해 실시간 작업을 수행할 수 있습니다. 더 강력한 절전이 필요한 경우 개발자는 Cortex-M4 클록을 사용하여 Cortex-A7의 주변 장치를 구동할 수 있습니다.
간단한 시스템 구현
i.MX 7ULP에서 저전력 시스템을 구현하기 위해 개발자는 사용 가능한 소프트웨어 프로그래밍 가능 전력 모드 및 구성 중에서 전력 및 성능 요구 사항에 맞는 항목을 선택할 수 있습니다. 하드웨어의 측면에서 시스템 설계가 훨씬 더 간단합니다.
일반 응용 분야에서 개발자는 간단히 i.MX 7ULP 프로세서를 동반된 NXP MC32PF1550A3EPR2 전력 관리 IC(PMIC)와 결합하여 제한된 전력 예산에 영향을 주지 않으면서 혼합 워크로드를 처리할 수 있는 설계를 완성할 수 있습니다(그림 4).
그림 4: NXP MC32PF1550A3EPR2 전력 관리 IC는 NXP i.MX 7ULP 프로세서에 필요한 전체 공급 소스를 제공하여, 두 장치와 일부 수동 소자를 직접적으로 결합하는 간소화된 하드웨어 설계를 지원합니다. (이미지 출처: NXP)
i.MX 7ULP 제품군을 비롯한 NXP 프로세서의 공급 요구 사항을 지원하도록 특별히 고안된 MC32PF1550A3EPR2는 장치 구성을 위해 세 스위치 모드 벅 조정기(SW1, SW2, SW3), 세 LDO 조정기(LDO1, LDO2, LDO3), 메모리 레퍼런스 전압 소스, 완전한 단일 셀 리튬 배터리 충전기, 일회용 프로그래밍 가능(OTP) 메모리를 통합합니다.
MCIMX7ULP-EVK 평가 키트를 통해 NXP는 MC32PF1550A3EPR2 PMIC 및 i.MX 7ULP 장치를 결합하는 데 필요한 간단한 하드웨어 인터페이스를 검증합니다. i.MX 7ULP 프로세서와 MC32PF1550A3EPR2 PMIC를 포함하는 시스템 온 모듈(SOM) 기판과 함께 키트에는 여러 센서, 무선 기능, 오디오 코덱, SD 커넥터, 기타 여러 커넥터(JTAG, Arduino 등)를 갖춘 기본 기판이 포함되어 있습니다(그림 5).
그림 5: MCIMX7ULP-EVK 평가 키트는 i.MX 7ULP 프로세서와 MC32PF1550A3EPR2 PMIC를 포함하는 시스템 온 모듈 기판을 i.MX 7ULP 장치를 통해 소프트웨어 개발을 가속화하는 데 필요한 센서, 커넥터 및 기타 소자를 포함하는 기본 기판과 결합합니다. (이미지 출처: NXP)
평가 키트는 즉시 사용이 가능한 기본 기능을 제공하지만 NXP는 개발자를 위해 다운로드 가능한 설계 파일, 도구 및 기판 지지대 패키지를 제공하여 실시간 코드용 FreeRTOS 사용 맞춤형 소프트웨어와 응용 코드용 Linux 또는 Android를 지원합니다.
결론
모바일 제품에서 더 정교한 기능과 더 긴 배터리 수명이 요구됨에 따라 전통적으로 개발자들은 전력과 성능을 일정 부분 타협해야 했습니다. 또한 IoT 장치, 웨어러블 및 기타 휴대용 제품에서 더 많은 센서를 통해 데이터를 시기적절하게 제공할 것이라는 기대가 커지면서 실시간 기능과 응용 분야 레벨 성능을 어느 정도에서 타협해야 했습니다.
하지만 살펴본 바와 같이 개발자는 NXP의 i.MX 7ULP 프로세서 제품군에 사용된 것과 같은 HMP 아키텍처로 전환하여 기능에 영향을 주지 않으면서 엄격한 초저전력 요구 사항을 충족할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.
