Memory management

16
Memory management Ingrid Verbauwhede Department of Electrical Engineering University of California Los Angeles

description

Memory management. Ingrid Verbauwhede Department of Electrical Engineering University of California Los Angeles. Literature. - PowerPoint PPT Presentation

Transcript of Memory management

Page 1: Memory management

Memory management

Ingrid VerbauwhedeDepartment of Electrical

EngineeringUniversity of California Los Angeles

Page 2: Memory management

Literature1. F. Catthoor, K. Danckaert, S. Wuytack, N. Dutt, “Code

transformations for Data Transfer and Storage Exploration Preprocessing in Multimedia Processors,” IEEE Design & Test of Computers, May-June 2001, pg. 70-82.

2. P. Panda, F. Catthoor, N. Dutt, et al, “Data and memory optimization techniques for embedded systems,” ACM Transactions on Design Automation of Electronic Systems, Vol. 6, no. 2, april 2001, pg. 149- 206.

3. W. Verhaegh, E. Aarts, P. van Gorp, P. Lippens, “A Two-Stage approach to multi dimensional periodic scheduling,” IEEE Transactions on CAD, Vol. 20, no. 10, October 2001, pg. 1185-1199.

Page 3: Memory management
Page 4: Memory management
Page 5: Memory management
Page 6: Memory management

Important Memory Decisions inEmbedded Systems

• What is a good memory architecture for an application?– Total memory requirement– Delay due to memory– Power dissipation due to memory access

• Compiler and Synthesis tool (Exploration tools) should make informed decisions on:– Registers and Register files– Cache parameters– Number and size of memory banks

Page 7: Memory management
Page 8: Memory management
Page 9: Memory management
Page 10: Memory management
Page 11: Memory management
Page 12: Memory management
Page 13: Memory management
Page 14: Memory management

Minimizing Register Count

• Graph Colouring is NP-complete– Heuristics (“Growing clusters”)

• Polynomial time solution exists for straight line code (no branches)– “Left-edge” algorithm

• Possible to incorporate other factors– Interconnect cost annotated as edge-weight

Page 15: Memory management
Page 16: Memory management

Intermediate conclusion• Memory management is important

• Two main types:– “background” memory optimization (multidimensional

arrays)– “foreground” memory optimization (scalars)

• Foreground memory:– registers & graph coloring– register files and limited access– model of individual read/write operations to SRAM