Alocação de Dados e Código em Memórias Embarcadas: Uma Abordagem Pós-Compilação
Resumo
Este trabalho reporta as principais contribuições e resultados de uma dissertação de mestrado que aborda um problema contemporâneo de Computação Embarcada: o gerenciamento explícito de memória. Ao ser modelado como um problema clássico de Computação (Problema Binário da Mochila), ele pode ser eficientemente resolvido de forma exata (com um algoritmo de programação dinâmica) para minimizar o consumo energético do subsistema de memória, sem a necessidade de recompilação da aplicação, através do uso eficiente de uma combinação de memória cache com memória não-associativa do tipo scractchpad.
Referências
Cho, H. et al. (2007). Dynamic Data Scratchpad Memory Management for a Memory Subsystem With an MMU. LCTES (2007), pages 195–206.
Dally, W. et al. (2008). Efficient Embedded Computing. IEEE Computer, 41(7):27–32.
Dominguez, A., Udayakumaran, S., and Barua, R. (2005). Heap Data Allocation to Scratch-pad Memory in Embedded Systems. Journal Embedded Computing, 1(4):521–540.
Garey, M. R. and Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA.
Guthaus, M. R. et al. (2001). MiBench: A Free, Commercially Representative Embedded Benchmark Suite. Proceedings of the International Workshop on Workload, pages 3–14.
Kandemir, M. et al. (2001). Dynamic Management of Scratch-pad Memory Space. DAC (2001), pages 690–695.
McIlroy, R., Dickman, P., and Sventek, J. (2008). Efficient Dynamic Heap Allocation of Scratchpad Memory. ISMM (2008), pages 31–40.
Mendonca, A. K. I. et al. (2009). Mapping Data and Code into Scratchpads from Relocatable Binaries. ISVLSI (2009), pages 157–162.
Panda, P., Dutt, N., and Nicolau, A. (2000). On-chip vs. Off-chip Memory: The Data Partitioning Problem in Embedded Processor-based Systems. TODAES (2000), 5(3):682–704.
Santos, L. C. V., Volpato, D. P., Mendonca, A. K. I., and Güntzel, J. L. A Fresh Perspective on Scratchpad Usage. Submetido ao IEEE Transactions on VLSI Systems (2011).
Steinke, S. et al. (2002a). Assigning Program and Data Objects to Scratchpad for Energy Reduction. DATE (2002), 0:0409.
Steinke, S. et al. (2002b). Reducing Energy Consumption by Dynamic Copying of Instructions Onto Onchip Memory. ISSS (2002), pages 213–218.
Thoziyoor, S. et al. (2008). CACTI 5.1. Technical report, Hewlett-Packard Laboratories.
Udayakumaran, S., Dominguez, A., and Barua, R. (2006). Dynamic Allocation for Scratch-pad Memory Using Compile-time Decisions. TECS (2006), 5(2):472–511.
Verma, M., Wehmeyer, L., and Marwedel, P. (2004). Dynamic Overlay of Scratchpad Memory for Energy Minimization. CODES+ISSS (2004), pages 104–109.
Volpato, D. P., Mendonca, A. K. I., Güntzel, J. L., and Santos, L. C. V. (2011). Cache-tuning-aware allocation from binaries: a fresh perspective on scratchpad usage. In SBCCI.
Volpato, D. P., Mendonca, A. K. I., Santos, L. C. V., and Güntzel, J. L. (2010). A Post-compiling Approach that Exploits Code Granularity in Scratchpads to Improve Energy Efficiency. In ISVLSI (2010), pages 127–132.