Heuristics for Memory Access Optimization in Embedded Processors
Digital signal processors (DSPs) such as the Motorola 56k are equipped with two memory banks that are accessible in parallel in order to offer high memory bandwidth, which is required for high-performance applications. In order to make efficient use of the memory bandwidth offered by two or more me...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | en |
Published: |
LSU
2005
|
Subjects: | |
Online Access: | http://etd.lsu.edu/docs/available/etd-08312005-130609/ |
id |
ndltd-LSU-oai-etd.lsu.edu-etd-08312005-130609 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-LSU-oai-etd.lsu.edu-etd-08312005-1306092013-01-07T22:50:09Z Heuristics for Memory Access Optimization in Embedded Processors Subramanian, Saravanan Electrical & Computer Engineering Digital signal processors (DSPs) such as the Motorola 56k are equipped with two memory banks that are accessible in parallel in order to offer high memory bandwidth, which is required for high-performance applications. In order to make efficient use of the memory bandwidth offered by two or more memory banks, compilers for such DSPs should be capable of appropriately partitioning the program variables between the two memory banks and scheduling accesses. If two variables can be accessed simultaneously, then it is essential to have these two variables assigned to two different memory banks. Also if these two variables are in different banks, then instead of using two separate instructions for accessing the variables, both the accesses can be encoded into a single instruction, thereby reducing the code size as well. An efficient heuristic for maximizing the parallel accesses in DSPs with dual memory banks is proposed and evaluated. The heuristic is shown to be very effective on several examples. Architectures like the M3 DSP have a group memory for the single-instruction multiple-data (SIMD) architecture, for which addressing an element of the group means to access all the elements of that group in parallel, so there is no need for separately addressing each element of the group. Given a variable access sequence for a particular code, instead of separately accessing each one of the variables, if the variables are grouped then the number of memory accesses can be reduced as per SIMD paradigm. An efficient way of forming groups can significantly reduce the memory accesses. Two solutions for this problem are presented in this thesis. First, a novel integer linear programming formulation for forming the groups, thereby reducing the number of memory accesses in DSPs with SIMD architecture is presented. Second, a heuristic based on the solution for optimizing multiple memory bank accesses is presented and evaluated for this problem. Results on several graphs show the effectiveness of the heuristic. Seung-Jong Park Vaidyanathan Ramachandran Ramanujam Jagannathan LSU 2005-08-31 text application/pdf http://etd.lsu.edu/docs/available/etd-08312005-130609/ http://etd.lsu.edu/docs/available/etd-08312005-130609/ en unrestricted I hereby certify that, if appropriate, I have obtained and attached herein a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dissertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to LSU or its agents the non-exclusive license to archive and make accessible, under the conditions specified below and in appropriate University policies, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report. |
collection |
NDLTD |
language |
en |
format |
Others
|
sources |
NDLTD |
topic |
Electrical & Computer Engineering |
spellingShingle |
Electrical & Computer Engineering Subramanian, Saravanan Heuristics for Memory Access Optimization in Embedded Processors |
description |
Digital signal processors (DSPs) such as the Motorola 56k are equipped with two memory banks that are accessible in parallel in order to offer high memory bandwidth, which is required for high-performance applications. In order to make efficient use of the memory bandwidth offered by two or more memory banks, compilers for such DSPs should be capable of appropriately partitioning the program variables between the two memory banks and scheduling accesses. If two variables can be accessed simultaneously, then it is essential to have these two variables assigned to two different memory banks. Also if these two variables are in different banks, then instead of using two separate instructions for accessing the variables, both the accesses can be encoded into a single instruction, thereby reducing the code size as well. An efficient heuristic for maximizing the parallel accesses in DSPs with dual memory banks is proposed and evaluated. The heuristic is shown to be very effective on several examples.
Architectures like the M3 DSP have a group memory for the single-instruction multiple-data (SIMD) architecture, for which addressing an element of the group means to access all the elements of that group in parallel, so there is no need for separately addressing each element of the group. Given a variable access sequence for a particular code, instead of separately accessing each one of the variables, if the variables are grouped then the number of memory accesses can be reduced as per SIMD paradigm. An efficient way of forming groups can significantly reduce the memory accesses. Two solutions for this problem are presented in this thesis. First, a novel integer linear programming formulation for forming the groups, thereby reducing the number of memory accesses in DSPs with SIMD architecture is presented. Second, a heuristic based on the solution for optimizing multiple memory bank accesses is presented and evaluated for this problem. Results on several graphs show the effectiveness of the heuristic. |
author2 |
Seung-Jong Park |
author_facet |
Seung-Jong Park Subramanian, Saravanan |
author |
Subramanian, Saravanan |
author_sort |
Subramanian, Saravanan |
title |
Heuristics for Memory Access Optimization in Embedded Processors |
title_short |
Heuristics for Memory Access Optimization in Embedded Processors |
title_full |
Heuristics for Memory Access Optimization in Embedded Processors |
title_fullStr |
Heuristics for Memory Access Optimization in Embedded Processors |
title_full_unstemmed |
Heuristics for Memory Access Optimization in Embedded Processors |
title_sort |
heuristics for memory access optimization in embedded processors |
publisher |
LSU |
publishDate |
2005 |
url |
http://etd.lsu.edu/docs/available/etd-08312005-130609/ |
work_keys_str_mv |
AT subramaniansaravanan heuristicsformemoryaccessoptimizationinembeddedprocessors |
_version_ |
1716477048361320448 |