한국어
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 시스템 아키텍처는 시스템 설계에 새로운 과제를 안겨준다. 또한 리소스 경합을 피하고 코어 간의 데이터 공간을 효율적으로 공유하려면 모든 주변 장치 리소스를 올바르게 할당하기위해 안정적인 통신 및 동기화를위한 메커니즘도 필요하다.

번호 제목 글쓴이 날짜 조회 수
43 Raspberry Pi 의 프레임버퍼(Framebuffer)구성 makersweb 2020.05.15 24
42 라즈베리파이2에서 RTOS기반 GPIO제어(LED) file makersweb 2020.04.21 48
41 POSIX를 지원하는 오픈소스 RTOS, RTEMS file makersweb 2020.04.15 23
40 라즈베리파이 부팅 가능한 sd카드 파티션 생성 makersweb 2020.04.15 21
39 플랫폼 디바이스 및 드라이버에 대해서 makersweb 2020.02.01 217
38 디바이스 트리(Device Tree, DT) makersweb 2020.01.12 329
37 RISC-V : 자유롭고 개방 된 RISC 명령어 세트 아키텍처 [2] file makersweb 2020.01.01 77
» 임베디드 비대칭 멀티 프로세싱(asymmetric multiprocessing) 시스템 file makersweb 2019.12.31 68
35 임베디드 시스템에서 베어메탈(Bare metal) 이란? makersweb 2019.12.11 211
34 HelloWorld 커널 모듈과 yocto 레시피 추가 방법 file makersweb 2019.12.09 462
33 ESP32 블루투스 스피커(A2DP Sink) file makersweb 2019.10.29 681
32 ESP-IDF 의 A2DP리뷰 (ESP32) file makersweb 2019.10.28 2395
31 임베디드 리눅스 부팅 절차 file makersweb 2019.10.21 484
30 mainline 커널 및 etnaviv 를 사용하는 Wandboard(Freescale i.MX6Q)에서 eglfs를 사용 makersweb 2019.10.17 219
29 Yocto를 이용한 wandboard BSP 및 Qt5 SDK 빌드 file makersweb 2019.09.29 551
28 STM32 & LibOpenCM3, printf함수사용 file makersweb 2019.08.08 1313
27 STM32(Cortex-M3) LED Blink with PlatformIO file makersweb 2019.08.05 409
26 블루투스(Bluetooth) 기초 file makersweb 2019.08.02 490
25 STM32(Cortex-M3) 개발환경구축 with PlatformIO file makersweb 2019.07.26 745
24 STM32(Cortex-M3) 개발 - Firmware Flashing file makersweb 2019.07.23 500