DOI QR코드

DOI QR Code

Design of Shared Memory Controller Device Driver in Embedded System

임베디드 시스템에서의 공유 메모리 컨트롤러 디바이스 드라이버 설계

  • 문지훈 (이니텍 보안개발2본부 DB보안팀) ;
  • 오재철 (순천대학교 컴퓨터과학과)
  • Received : 2014.04.18
  • Accepted : 2014.06.16
  • Published : 2014.06.30

Abstract

In the AMP(Asymmetric Multiprocessing) based dual core using core-specific operating system in a single processor system, shared memory method is used to send data between processors in dual core. To used shared memory in different operating systems, there is a problem of needing to solving the issue of message communication and synchronization between the two operations systems. In this paper, separate memory controller was used for data sharing between different processor cores in dual core environment. This controller can designate two slave ports to allow simultaneous access from two processors, and in the case of process data simultaneously by two processors, priority order of slave ports is determined through memory mediator. When sending data from A to B processor, SRAM area was logically separated into 8 pages. It allowed using memory area from multiple processes with the size of 4KByte per page, and control register with the size of 4Byte was used to discern the usability of current page.

단일 시스템에 코어별 운영체제를 사용하는 AMP(Asymmetric Multiprocessing) 기반 듀얼 코어에서 프로세서간 데이터를 전달하기 위해서 공유 메모리 기법을 사용한다. 서로 다른 운영체제에서 공유 메모리를 사용하기 위해서는 두 운영체제 사이의 메시지 통신 및 동기화 문제를 해결해 주어야 하는 문제점이 발생한다. 본 논문에서는 듀얼 코어 환경에서 서로 다른 프로세서 코어 사이에서 데이터 공유를 위해서 별도의 메모리 컨트롤러를 이용하였다. 이 컨트롤러는 두 프로세서에서 동시에 접근이 가능 하도록 두 개의 슬레이브 포트를 지정할 수 있으며, 두 프로세서에 의해서 동시에 데이터 처리를 수행할 경우 메모리 중재자에 의해서 슬레이브 포트의 우선 순위를 결정하게 된다. A에서 B 프로세서로 데이터를 전달 시, SRAM 영역을 논리적으로 8개의 페이지로 분리하였다. 여러 프로세스에서 메모리 영역을 사용 하도록 하였으며 페이지당 4KByte의 크기를 갖도록 하였으며, 현재 페이지가 사용 가능한지 아닌지를 판별하기 위해서 4바이트 크기의 컨트롤 레지스터를 이용하였다.

Keywords

References

  1. S.-K. Lee and W.-Y. Jeong, "Design of the Entropy Processor using the Memory Stream Allocation for the Image Processing," J. of The Korea Institute of Electronic Communication Sciences, vol. 7, no. 5, 2012, pp. 1017-1026.
  2. J.-H. Moon and J.-C. Oh, "Design of the SD Protocol Analyzer," J. of The Korea Institute of Electronic Communication Sciences, vol. 8, no. 11, 2013, pp. 1697-1706. https://doi.org/10.13067/JKIECS.2013.8.11.1697
  3. C.-H. Yoon and G.-J. Kim, "Design of Embedded Platform based on Android," J. of The Korea Institute of Electronic Communication Sciences, vol. 8, no. 10, 2013, pp. 1545-1552. https://doi.org/10.13067/JKIECS.2013.8.10.1545
  4. J.-S. Jeong, "Improvement Method and Performance Analysis of Shared Memory in Dual Core Embedded Linux System," Master's Thesis, KongJu University, Dec. 2010.
  5. J.-S. Jung, K.-Y. Lee, J.-K. Kim, and C.-B. Kim, "Performance Analysis on Dual-core Embedded System Using High Speed IPC Technique," Proc. of the KICS, 2008, pp. 1494-1497.
  6. S.-J. Jang, E.-S. Choi, D.-U. Kang, G.-Y. Lee, D.-H. Kim, and J.-M. Kim, "A Study of Performance Enhancement for the Shared Memory in the Linux O.S," Proc. of the KIISE Korea Computer Congress 2007, vol. 34, no. 2, 2007, pp. 324-329.
  7. H. Singh, R. Dhand, and S. Bassi, "Inter-process communication(IPC) : An interpretive conspectus," IASTED Int. Conf. on Communications and Information Technology (CIIT), US Virgin Islands, Nov. 2002.
  8. D.-H. Lee, S.-K. Lee, S. Park, and S. Maeng, "Implementation and Performance Evaluation of Software Distributed Shared Memory for SMP Clusters," J. of KIISE : Computer Systems and Theory, vol. 30, no. 7, 2003, pp. 331-340.