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

Full description

Bibliographic Details
Main Authors: I-Jui Sung, 宋宜叡
Other Authors: Chung-Ping Chung
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