fakultät für informatik informatik 12 technische universität dortmund Lab 4: Exploiting the memory hierarchy - Session 14 - Peter Marwedel Heiko Falk TU Dortmund Informatik 12 Germany
- 2 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Optimization for a single scratchpad (1) Assume that we have a processor-based system consisting of a processor, a scratchpad memory and a main memory of 128 k words (at 16 bits). Some functions can be allocated to the scratchpad memory (SPM). The program has the characteristics shown in the following table 1. NoFunctionSize bits]Executed instructions 1Main5654 2Idctrow Idctcol Idct4824 5Init_idct print_result348186
- 3 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Optimization for a single scratchpad (2) Each word access to the main memory requires 50 nJ. Generate an ILP formulation of the energy minimization problem. Use ℓp_solve in order to find functions that should be allocated to the scratch pad memory. Solve the optimization problem for the following scratch pad sizes: 64, 128, 256, 512, 768, and 1 k words. The energy per access for a memory of 1 k words is 1 nJ. Energies are assumed to scale linearly within the range of sizes we consider (i.e.., it is nJ for a memory of 64 words). Generate a graphical representation of the energy saving as a function of the scratch pad memory size.
- 4 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Optimization for a partitioned scratchpad Generate an ILP model for case of a scratch pad memory partitioned into 1 memory of 1 k words, and 2 memories of 512 words. Also, assume that we have a main memory with the characteristics of the main memory in assignment 4. Compare the energy consumption against the case of a single scratch pad memory of 2 k words (energy consumption 2 nJ per word access) complemented by a main memory (having the same characteristics as in assignment 4). Use ℓp_solve to solve the optimization problem.