하이퍼 바이져를 이용하면 멀티 OS 및 베어메탈 사용이 가능합니다. 하지만 OS 리소스 관리를 하이퍼 바이져에서 수행 하기 때문에 시스템이 전반적으로 느려져서 MPSOC와 같은 SOC에서  사용 하기에는 부적합한 문제점이 있습니다. 이러한 단점을 보완하기 위해서는 하이퍼 바이져 없이 리눅스와 베어메탈 을 동시에 구동이 가능하다면 부가적인 리소스 소모 없이 빠르게 처리가 가능할 수 있습니다. CORTEX R5도 베어메탈 CPU로 사용이 가능하지만 하드웨어 캐시라인과 연결 되어 있지않아 독립적으로 처리하는 것은 빠를 수 있지만 CORTEX A53과 연동해서 대용량의 데이터를 처리해야 한다면 단점이 되고 더 느려 질 수도 있습니다. Cortex A53 클러스터 내에서 리눅스와 베어메탈을 동시에 실행하면서 연산 처리한다면 리눅스 드라이버의 유져 메모리와 커널 메모리간 복사시 시간 소모나 스케쥴링 한계를 극복하여 고속으로 처리가 가능한 시스템 구성이 가능합니다. 베어 메탈의 장점은 리눅스 커널이나 유져 메모리까지 접근이 가능하기 때문에 필요시 에 따라 어느 부분이든 접근해서 데이터를 넘길 수 있지만, 제대로 사용하지 않는다면 리눅스 커널의 안정성에 문제가 될 수 있습니다. 

 일반적으로 리눅스 어플리케이션과 베어메탈 어플리케이션간의 안전한 데이터 정보 전달을 위해서는 IPI를 사용하여어플리케이션간 정보를 읽기 쓰기를 수행 할 수 있습니다. 리눅스 어플리케이션에서 공유 메모리 읽기, 쓰기를 할 경우 일반적으로 캐시를 사용하지 않는 방식으로 IO 버퍼를 할당하여 사용하므로, 대용량의 데이터를 전달할 경우 속도가 저하되는 단점이 있습니다. 하지만 MPSOC의  4-Core로 구성된 Cortex A53은  SNOOP Contoller에 의해 SMP처리 및 하드웨어 캐시 일관성 처리가 가능한 구조로 되어 있습니다. 당사 에서는 하드웨어 캐시 일관성 처리 가능한 공유메모리 방식으로 베어메탈 어플리케이션 과 리눅스 어플리케이션 간 공유메모리 설정이 가능한 SW를 개발 하여 빠른 속도로 데이터 전송이 가능합니다. 각 어플리케이션에서는 별도의 메뉴얼 캐시 업데이트 명령없이 바로 사용이 가능합니다. 또한 베어메탈 어플리 케이션의 경우 모든 인터럽트 사용이 가능합니다. 

'Xilinx 개발' 카테고리의 다른 글

Mpsoc Ubuntu 20.04 , 22.04(Hdmi)  (0) 2022.11.02

+ Recent posts