Profile-directed Dynamically Loading of Program into Scratch-pad Memory
碩士 === 國立交通大學 === 資訊工程系所 === 92 === Effective utilization of on-chip memories has always been an important factor to improve the performance of a program. Caching techniques has been studied for decades, whilst recently scratch-pad memory is getting more and more focuses on it, because of its lower...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2004
|
Online Access: | http://ndltd.ncl.edu.tw/handle/64563300131731962703 |
id |
ndltd-TW-092NCTU5392005 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-092NCTU53920052015-10-13T13:04:22Z http://ndltd.ncl.edu.tw/handle/64563300131731962703 Profile-directed Dynamically Loading of Program into Scratch-pad Memory 由執行資料引導的草稿記憶體動態載入程式之研究 I-Jui Sung 宋宜叡 碩士 國立交通大學 資訊工程系所 92 Effective utilization of on-chip memories has always been an important factor to improve the performance of a program. Caching techniques has been studied for decades, whilst recently scratch-pad memory is getting more and more focuses on it, because of its lower cost and lower power-consumption comparing to the cache. Due to the nature of scratch-pad memory, it is required to modify current program to effeciently utilize the scratch-pad memory. Hence, for legacy programs, compiler researchers have proposed automatic modification methods of source program in compilers supporting scratch-pad memory. In this thesis we focus on the dynamic loading of parts of program to on-chip scratchpad memory to improve the performance. Previous dynamic approach applies the ILP framework to solve the problem deciding optimal set of dynamically-loaded program parts, but not feasible when program size grows. Hence, a heuristic to solve the problem of deciding dynamically loading parts of a program into scratch-pad memory is proposed and evaluated in this thesis. Our heuristic is based on the idea of ‘divide-and-conquer’, here ‘divide’ corresponds to the decomposition of nested loops and ‘conquer’ corresponds to an one-dimensional 0/1 knapsack-packing method. Evaluation results showed that our heuristic outperformed the static approach, and the performance of software-controlled dynamically-loaded code in scratch-pad memory produced by our method is comparable to traditional I-cache. This suggests a viable path for larger applications to efficiently utilize the scratch-pad memory. Chung-Ping Chung 鍾崇斌 2004 學位論文 ; thesis 44 en_US |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立交通大學 === 資訊工程系所 === 92 === Effective utilization of on-chip memories has always been an important factor to improve
the performance of a program. Caching techniques has been studied for decades,
whilst recently scratch-pad memory is getting more and more focuses on it, because of
its lower cost and lower power-consumption comparing to the cache.
Due to the nature of scratch-pad memory, it is required to modify current program
to effeciently utilize the scratch-pad memory. Hence, for legacy programs, compiler
researchers have proposed automatic modification methods of source program in compilers
supporting scratch-pad memory.
In this thesis we focus on the dynamic loading of parts of program to on-chip scratchpad
memory to improve the performance.
Previous dynamic approach applies the ILP framework to solve the problem deciding
optimal set of dynamically-loaded program parts, but not feasible when program
size grows. Hence, a heuristic to solve the problem of deciding dynamically loading
parts of a program into scratch-pad memory is proposed and evaluated in this thesis.
Our heuristic is based on the idea of ‘divide-and-conquer’, here ‘divide’ corresponds to
the decomposition of nested loops and ‘conquer’ corresponds to an one-dimensional 0/1
knapsack-packing method.
Evaluation results showed that our heuristic outperformed the static approach, and
the performance of software-controlled dynamically-loaded code in scratch-pad memory
produced by our method is comparable to traditional I-cache. This suggests a viable
path for larger applications to efficiently utilize the scratch-pad memory.
|
author2 |
Chung-Ping Chung |
author_facet |
Chung-Ping Chung I-Jui Sung 宋宜叡 |
author |
I-Jui Sung 宋宜叡 |
spellingShingle |
I-Jui Sung 宋宜叡 Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
author_sort |
I-Jui Sung |
title |
Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
title_short |
Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
title_full |
Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
title_fullStr |
Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
title_full_unstemmed |
Profile-directed Dynamically Loading of Program into Scratch-pad Memory |
title_sort |
profile-directed dynamically loading of program into scratch-pad memory |
publishDate |
2004 |
url |
http://ndltd.ncl.edu.tw/handle/64563300131731962703 |
work_keys_str_mv |
AT ijuisung profiledirecteddynamicallyloadingofprogramintoscratchpadmemory AT sòngyíruì profiledirecteddynamicallyloadingofprogramintoscratchpadmemory AT ijuisung yóuzhíxíngzīliàoyǐndǎodecǎogǎojìyìtǐdòngtàizàirùchéngshìzhīyánjiū AT sòngyíruì yóuzhíxíngzīliàoyǐndǎodecǎogǎojìyìtǐdòngtàizàirùchéngshìzhīyánjiū |
_version_ |
1717729707097587712 |