Download - Memory management
![Page 1: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/1.jpg)
Memory management
Ingrid VerbauwhedeDepartment of Electrical
EngineeringUniversity of California Los Angeles
![Page 2: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/3.jpg)
![Page 4: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/4.jpg)
![Page 5: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/5.jpg)
![Page 6: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/7.jpg)
![Page 8: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/8.jpg)
![Page 9: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/9.jpg)
![Page 10: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/10.jpg)
![Page 11: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/11.jpg)
![Page 12: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/12.jpg)
![Page 13: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/13.jpg)
![Page 14: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/15.jpg)
![Page 16: Memory management](https://reader035.vdocuments.mx/reader035/viewer/2022070504/5681675d550346895ddc2d96/html5/thumbnails/16.jpg)
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