Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture...
-
date post
20-Dec-2015 -
Category
Documents
-
view
232 -
download
2
Transcript of Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture...
Addressing Optimization for Loop Execution Targeting DSP
with Auto-Increment/Decrement Architecture
Wei-Kai Cheng
Youn-Long Lin*
Computer & Communications Research Laboratories
*CS Department, NTHU Taiwan
2
Overview
Features: – Auto-Increment/Decrement for Address
Generation– Constraints for Loop Execution
Optimization Methods:– Multi-Phase Data Ordering– Graph-Based Address Register Allocation
» Block Access Graph
4
New Constraints
Loop Execution– Data Ordering Constraint– Address Register Allocation Constraint
Architectural Constraint– Different arrays are stored in disjoint memory
space– Multiple auto-increment/decrement ranges in
the instruction set architecture
9
Approach
Split the access sequence into data lists– Array– Iteration Stride
Data Ordering Address Register Allocation
– Data Lists Merging or Splitting
12
Address Register Allocation
# data lists > # address registers:– data list merging
# data lists < # address registers:– data list splitting
16
Experimental Results
0
2
4
6
8
10
fir
iir
dft
fft
edge dct
wie
ner
#data lists
#ordering applied
* number of data lists and data ordering applied
17
Experimental Results (Cont.)
0
0.2
0.4
0.6
0.8
1
fir iir dft fft edge dct wiener
T.o+T.a
O.o+T.a
T.o+O.a
O.o+O.a
* ratio over TI’s compiler in term of inserted instructions
T: TI’s compilerO: Our algorithm
o: data orderinga: address register allocation
18
Experimental Results (Cont.)
0
0.2
0.4
0.6
0.8
1
fir iir dft fft edge dct wiener
T.o+T.a
O.o+T.a
T.o+O.a
O.o+O.a
* ratio over TI’s compiler in term of execution cycles
T: TI’s compilerO: Our algorithm
o: data orderinga: address register allocation