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...

Full description

Bibliographic Details
Main Author: Subramanian, Saravanan
Other Authors: Seung-Jong Park
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