한국어
Embedded
 

하나의 SoC (System-on-a-Chip)에 통합 된 여러 동종 또는 이기종 프로세싱 코어를 특징으로하는 이러한 유형의 SoC를 사용하여 개발 된 시스템을 일반적으로 AMP(Asymmetric Multiprocessing) 시스템이라고한다. 이런 시스템 설계의 핵심은 시스템에 존재하는 이기종 코어의 병렬 처리를 활용하는 것에 있다.

 

i.mx7.png

 

위의 다이어그램은 ARM Cortex-A7 과 ARM Cortex-M4F 코어를 사용하는 NXP사의 i.MX6SoloX / i.MX7d SoC 의 구조를 나타낸다.

 

이러한 코어는 일반적으로 최종 애플리케이션의 설계 목표를 달성하기 위해 함께 작동하는 Linux, RTOS 와 Bare Metal과 같은 동종 또는 이기종 소프트웨어 환경의 독립 인스턴스를 실행한다.

 

비대칭 멀티 프로세싱 소프트웨어 환경을 실행하는 이유는 다음과 같다.

 

1. 성능 최적화

처리 요구와 결정론에 따라 작업이 분리되어야 할 때.

Linux 또는 Android와 같은 OS에서 실행되는 응용 프로그램에는 MMU (Memory Management Unit)와 함께 강력한 Cortex-A 와 같은 코어가 필요한 반면 엄격한 실시간성 기능이 필요한 실시간 애플리케이션은 Cortex-M 클래스 코어에서 실행될 수 있다. 이러한 작업을 단일 코어에서 혼합하는 것은 비효율적이며 두 유형의 작업 모두에 불필요한 복잡성을 유발할 수 있다.

 

2. 전력 소비 감소

예를 들어 센서 모니터링을 제공하고 다양한 모터 또는 액추에이터를 제어하는 많은 프로세스는 실시간성을 필요로하며 더 작은 코어 위에서 RTOS를 사용하여 효율적으로 실행된다.

 

3. 시스템 안정성 및 보안 향상

두 코어 사이에 프로세스를 분배 할 때의 자연적인 이점은 두 비대칭 프로세싱 환경 사이를 격리시킬 수 있다는 것이다. 시스템은 두 프로세싱 환경 사이의 액세스를 제어하거나 금지 할 수 있으며 결과적으로 안정성과 보안을 향상시킨다.

 

비대칭 멀티 프로세싱이 이점만 있는 것은 아니다.

 

사용 가능한 여러 코어에 작업을 분배하려면 소프트웨어를 각각 작성해야하므로 AMP 시스템 아키텍처는 시스템 설계에 새로운 과제를 안겨준다. 또한 리소스 경합을 피하고 코어 간의 데이터 공간을 효율적으로 공유하려면 모든 주변 장치 리소스를 올바르게 할당하기위해 안정적인 통신 및 동기화를위한 메커니즘도 필요하다.

번호 제목 글쓴이 날짜 조회 수
32 ESP-IDF 의 A2DP리뷰 (ESP32) file makersweb 2019.10.28 9563
31 임베디드 리눅스 부팅 절차 file makersweb 2019.10.21 6331
30 mainline 커널 및 etnaviv 를 사용하는 Wandboard(Freescale i.MX6Q)에서 eglfs를 사용 makersweb 2019.10.17 954
29 Yocto를 이용한 wandboard BSP 및 Qt5 SDK 빌드 file makersweb 2019.09.29 2656
28 STM32 & LibOpenCM3, printf함수사용 file makersweb 2019.08.08 3137
27 STM32(Cortex-M3) LED Blink with PlatformIO file makersweb 2019.08.05 2059
26 블루투스(Bluetooth) 기초 file makersweb 2019.08.02 4992
25 STM32(Cortex-M3) 개발환경구축 with PlatformIO file makersweb 2019.07.26 4051
24 STM32(Cortex-M3) 개발 - Firmware Flashing file makersweb 2019.07.23 3199
23 libopencm3 활용, Cortex-M 펌웨어 개발 makersweb 2019.07.14 1105
22 yocto의 몇가지 중요한 용어 및 개념 makersweb 2019.06.21 4031
21 라즈베리파이3와 PC간 Serial 통신 테스트 [1] file makersweb 2019.05.20 6421
20 욕토 프로젝트를 이용한 Qt SDK 빌드 for 라즈베리파이3 file makersweb 2019.03.19 3080
19 yocto project, 라즈베리파이를 위한 Qt + 임베디드리눅스 빌드 file makersweb 2019.02.01 11070
18 STM32(Cortex-M3) 개발환경구축 with Eclipse file makersweb 2018.11.08 3618
17 STM32와 CAN(Controller Area Network) Loop Back file makersweb 2017.01.23 5458
16 윈도우10에서 Prolific USB to Serial 드라이버 인식문제 file makersweb 2016.01.24 22839
15 AVRISP mkII 펌웨어 업그레이드 file makersweb 2015.07.22 6947
14 이클립스에서 IAR프로젝트 사용방법 file makersweb 2015.07.09 8793
13 JFlashARM으로 MCU에 bin(바이너리)다운로드 file makersweb 2015.06.07 4321