DOI QR코드

DOI QR Code

An Optimal ILP Algorithm of Memory Access Variable Storage for DSP in Embedded System

임베디드 시스템에서 DSP를 위한 메모리 접근 변수 저장의 최적화 ILP 알고리즘

  • Received : 2012.08.02
  • Accepted : 2013.01.07
  • Published : 2013.02.28

Abstract

In this paper, we proposed an optimal ILP algorithm on memory address code generation for DSP in embedded system. This paper using 0-1 ILP formulations DSP address generation units should minimize the memory variable data layout. We identify the possibility of the memory assignment of variable based on the constraints condition, and register the address code which a variable instructs in the program pointer. If the process sequence of the program is declared to the program pointer, then we apply the auto-in/decrement mode about the address code of the relevant variable. And we minimize the loads on the address registers to optimize the data layout of the variable. In this paper, in order to prove the effectiveness of the proposed algorithm, FICO Xpress-MP Modeling Tools were applied to the benchmark. The result that we apply a benchmark, an optimal memory layout of the proposed algorithm then the general declarative order memory on the address/modify register to reduce the number of loads, and reduced access to the address code. Therefor, we proved to reduce the execution time of programs.

본 논문에서는 임베디드 시스템에서 DSP를 위한 메모리 접근 변수의 저장 방법에 대한 최적화 ILP 알고리즘을 제안하였다. 본 논문은 0-1 ILP 공식을 이용하여 DSP 주소 생성 유닛의 메모리 변수 데이터 레이아웃을 최소화한다. 제약 조건을 기반으로 변수의 메모리 할당 여부를 식별하고, 변수가 지시하는 주소코드를 프로그램 포인터에 등록한다. 프로그램의 처리 순서가 프로그램 포인터에 선언되면, 해당 변수의 주소코드에 대한 자동증감 모드를 적용한다. 주소 레지스터에 대한 로드를 최소화하여 변수의 데이터 레이아웃을 최적화한다. 본 논문에서 제안한 알고리즘의 효율성을 입증하기 위하여 FICO Xpress-MP Modeling Tools을 이용하여 벤치마크에 적용하였다. 벤치마크 적용 결과, 기존의 선언적 주문 메모리 레이아웃보다 제안한 알고리즘을 적용한 최적의 메모리 레이아웃이 주소/수정 레지스터에 대한 로드 수를 감소시켰고, 주소코드의 접근을 줄임으로써, 프로그램의 실행 시간을 단축시켰다.

Keywords

References

  1. A. Rao and S. Pande. "Storage assignment optimizations to generate compact and efficient code on embedded DSPs", Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, pp. 128-138, 1999.
  2. A. Darte, R. Schreiber, and G. Villard. "Lattice-based memory allocation". IEEE Transactions on Computers, 54(10), pp. 1242-1257, October, 2005. https://doi.org/10.1109/TC.2005.167
  3. B. So, M. W. Hall, and H. E. Ziegler. "Custom data layout for memory parallelism", Proceedings of the International Symposium on Code Generation and Optimization, pp. 291-302, 2004.
  4. S. Leventhal, L. Yuan, N. K. Bambha, S. S. Bhattacharyya and G. Qu, "DSP address optimization using evolutionary algorithms", Proceedings of the 2005 workshop on Software and compilers for embedded systems, pp.91-98, 2005.
  5. J.-Y. Lee and I.-C. Park. "Address code generation for DSP instruction-set architectures", ACM Transactions on Design Automation of Electronic Systems, 8(3), pp.384-395, 2003. https://doi.org/10.1145/785411.785417
  6. G. Chen and M. Kandemir. "Optimizing Address Code Generation for Array-Intensive DSP Applications", Proceedings of the international symposium on Code generation and optimization, pp.141-152, 2005.
  7. FICO Xpress-MP, http://www.dashoptimization.com/pdf/ Mosel1.pdf, [Internet], 2002.
  8. Anuj Dharia and Rosham Gummattira, "Signal Processing Examples Using the TMS320C67x Digital Signal Processing Library(DSPLIB)", Texas Instruments SPRA947A, June, 2009.
  9. Properties of IIR Filters, http://cnx.org/content/m16898/ latest/#uid6, [Internet], July, 2011.
  10. Joachims and Thorsten, "Making large scale SVM learning practical", MIT Press, Cambridge, USA, Oct., 1999.
  11. David Mumford , "Varieties Defined by Quadratic Equations", C.I.M.E. Summer Schools, Vol.51, pp.29-100, 2011.
  12. Ali Sazegari and Doug Clarke, "Single-channel convolution in a vector processing computer system", Apple Computer Inc., US7895252, Feb., 2011.
  13. S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang. "Storage assignment to decrease code size". ACM Transactions on Programming Languages and Systems, 18(3), pp.235-253, 1996. https://doi.org/10.1145/229542.229543