{"title":"DSP应用中阵列的最佳地址寄存器分配","authors":"Hassan A. Salamy, J. Ramanujam","doi":"10.1109/ESTMED.2008.4696998","DOIUrl":null,"url":null,"abstract":"Optimizing the code size of a digital signal processing application is a crucial step in generating high quality and efficient code for embedded systems. Most modern digital signal processors (DSPs) provide multiple address registers and a dedicated address generation unit (AGU) that provides address generation in parallel to instruction execution. There is no address computation overhead if the next address is within the auto-modify range. Many DSP algorithms have an iterative pattern of references to array elements within loops. Thus, a careful assignment of array references to address registers reduces the number of explicit address register instructions as well as the execution cycles. In this paper, we present an optimal integer linear programming (ILP) formulation for the address register allocation problem (ARA) with code reconstructing techniques. Genetic algorithm is also used to solve the ARA problem to get a near-optimal solution in a reasonable amount of time for big embedded applications. Results on several benchmarks show the effectiveness of our techniques compared to other techniques in the literature.","PeriodicalId":165969,"journal":{"name":"2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia","volume":"59 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Optimal address register allocation for arrays in DSP applications\",\"authors\":\"Hassan A. Salamy, J. Ramanujam\",\"doi\":\"10.1109/ESTMED.2008.4696998\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Optimizing the code size of a digital signal processing application is a crucial step in generating high quality and efficient code for embedded systems. Most modern digital signal processors (DSPs) provide multiple address registers and a dedicated address generation unit (AGU) that provides address generation in parallel to instruction execution. There is no address computation overhead if the next address is within the auto-modify range. Many DSP algorithms have an iterative pattern of references to array elements within loops. Thus, a careful assignment of array references to address registers reduces the number of explicit address register instructions as well as the execution cycles. In this paper, we present an optimal integer linear programming (ILP) formulation for the address register allocation problem (ARA) with code reconstructing techniques. Genetic algorithm is also used to solve the ARA problem to get a near-optimal solution in a reasonable amount of time for big embedded applications. Results on several benchmarks show the effectiveness of our techniques compared to other techniques in the literature.\",\"PeriodicalId\":165969,\"journal\":{\"name\":\"2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia\",\"volume\":\"59 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-12-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ESTMED.2008.4696998\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ESTMED.2008.4696998","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Optimal address register allocation for arrays in DSP applications
Optimizing the code size of a digital signal processing application is a crucial step in generating high quality and efficient code for embedded systems. Most modern digital signal processors (DSPs) provide multiple address registers and a dedicated address generation unit (AGU) that provides address generation in parallel to instruction execution. There is no address computation overhead if the next address is within the auto-modify range. Many DSP algorithms have an iterative pattern of references to array elements within loops. Thus, a careful assignment of array references to address registers reduces the number of explicit address register instructions as well as the execution cycles. In this paper, we present an optimal integer linear programming (ILP) formulation for the address register allocation problem (ARA) with code reconstructing techniques. Genetic algorithm is also used to solve the ARA problem to get a near-optimal solution in a reasonable amount of time for big embedded applications. Results on several benchmarks show the effectiveness of our techniques compared to other techniques in the literature.