(Back to Session Schedule)

The 15th Asia and South Pacific Design Automation Conference

Session 2A  Memory Management and Compiler Techniques
Time: 15:30 - 17:10 Tuesday, January 19, 2010
Location: Room 101A
Chairs: Zili Shao (Hong Kong Polytechnic University, China), Jian-Jia Chen (ETH Zurich, Switzerland)

2A-1 (Time: 15:30 - 15:55)
TitleCo-Optimization of Memory Access and Task Scheduling on MPSoC Architectures with Multi-Level Memory
AuthorYi He (The University of Texas at Dallas, U.S.A.), *Chun Jason Xue (City University of Hong Kong, Hong Kong), Cathy Qun Xu, Edwin Sha (The University of Texas at Dallas, U.S.A.)
Pagepp. 95 - 100
Keywordco-optimization, scheduling, memory access, MPSoC
AbstractAn MPSoC system usually consists of a number of processors, a memory hierarchy and a communication mechanism between processors. Because of the gap between the constantly increasing processor speed and slower memory access, how to utilize the memory subsystem more efficiently has become a critical issue for improving the overall system performance. To address this problem, two algorithms are proposed in this paper. The first one uses the integer linear programming method so that the memory access cost is minimized while tasks are scheduled in as short a time as possible. The second one is a heuristic algorithm which can achieve close to optimum results with linear running time. The experimental results show that the memory access cost can be reduced up to 56% comparing to LIST scheduling.
Slides

2A-2 (Time: 15:55 - 16:20)
TitleA New Compilation Technique for SIMD Code Generation across Basic Block Boundaries
Author*Hiroaki Tanaka, Yutaka Ota, Nobu Matsumoto (Center for Semiconductor Research and Development, Semiconductor Company, Toshiba Corporation, Japan), Takuji Hieda, Yoshinori Takeuchi, Masaharu Imai (Graduate School of Information Science and Technology, Osaka University, Japan)
Pagepp. 101 - 106
KeywordCompiler Optimization, SIMD instructions, Control Flow
AbstractAlthough SIMD instructions are effective for many digital signal processing applications, current compilers cannot take full advantage of SIMD instructions. One factor inhibiting SIMD code generation is control flow structure; the target scope of SIMD code generation is currently limited to single basic block or loop that consists of single basic block. SIMD instructions cannot be mapped typically across basic block boundaries even if basic blocks inside the control structure have enough parallelism. In this paper, a new compilation technique to generate SIMD code without modifying control flow structure is proposed. The data dependency between basic blocks is exploited to generate SIMD instructions. The packing cost is introduced for effective vectorization to maintain data dependency across basic block boundaries. Experimental results show that the new SIMD code generation technique reduced 67% of dynamic execution cycles of inter prediction in H.264 decoder.
Slides

2A-3 (Time: 16:20 - 16:45)
TitleLibGALS: A Library for GALS Systems Design and Modeling
Author*Wei-Tsun Sun, Zoran Salcic, Avinash Malik (University of Auckland, New Zealand)
Pagepp. 107 - 112
KeywordGALS, Asynchronous, Synchronous, Programming Languages, Operating Systems
AbstractLibGALS is a library and run-time environment that extends a multi-process host operating system (OS) to support the design of Globally Asynchronous Locally Synchronous (GALS) software systems and models. LibGALS provides an application programming interface (API) that enables the designer to describe GALS concurrent programs and reactivity in sequential programming languages. Moreover, it facilitates the interface between the GALS concurrent program and other processes through the services provided by the host OS. LibGALS is also suitable as a target for code generation from GALS and synchronous concurrent languages. The experiments demonstrate code size and run-time gains when compared with other approach to GALS system implementation.
Slides

2A-4 (Time: 16:45 - 17:10)
TitleJoint Variable Partitioning and Bank Selection Instruction Optimization on Embedded Systems with Multiple Memory Banks
Author*Tiantian Liu, Minming Li, Chun Jason Xue (City University of Hong Kong, Hong Kong)
Pagepp. 113 - 118
Keywordpartitioned memory architecture, bank switching, variable partition
AbstractBank switching is a technique to increase memory size without extending address buses. A special instruction, Bank Selection Instruction (BSL) is inserted into programs to modify the bank register to point to the right bank, which increases both the code size and runtime overhead. In this paper, we carefully partition variables into different banks and insert BSLs at different positions so that the overheads can be minimized. Minimizing code size and runtime overhead are two objectives investigated in this paper.
Slides