Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance
碩士 === 國立中山大學 === 資訊工程學系研究所 === 100 === Scratchpad Memory (SPM) is an alternative to cache. With SPM, the CPU’s fast internal memory (ie, the SRAM) is directly mapped into the memory address space. This has the advantages of reduced power (by avoiding the memory management Unit, MMU, that a cache ne...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2012
|
Online Access: | http://ndltd.ncl.edu.tw/handle/63322285954045778550 |
id |
ndltd-TW-100NSYS5392013 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-100NSYS53920132015-10-13T21:17:53Z http://ndltd.ncl.edu.tw/handle/63322285954045778550 Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance 針對遞迴程式中使用者自定及函式庫變數可調整最差與平均時間之高效型草稿記憶體分配器 Hsin-Jan Fang 方信然 碩士 國立中山大學 資訊工程學系研究所 100 Scratchpad Memory (SPM) is an alternative to cache. With SPM, the CPU’s fast internal memory (ie, the SRAM) is directly mapped into the memory address space. This has the advantages of reduced power (by avoiding the memory management Unit, MMU, that a cache need to manage its tags and evictions), reduced area (for the same reason), and predictability.[1] Predictability is important in real-time systems, because each task must be assigned a deadline. If a task finishes early, there is no benefit. But if a task finishes late, then the effect is undesirable or even catastrophic. This means that the worst-case execution time (WCET) is more important than average-case execution time (ACET). The disadvantage of SPM, when compared to cache, is that the SPM requires software management of the fast memory. In a previous student’s work from our laboratory, [3], an SPM allocator was presented for WCET-targeted compilation. Compared to that work, this current thesis make four key contributions. First, it introduces a significant amount of code infrastructure to allow library variables to be allocated to SPM. These variables turn out to represent a majority of all data accesses in many programs. Second, this provides support for allocating variables within recursive programs. Third, we support allocation of temporary variable (PC-relative addressing). Fourth, we have developed a simulator to obtain cycle-accurate information on memory behavior. In [3], the costs of allocation were not modeled, nor were the behaviors of the ARM’s complex memory subsystem. Keywords: SPM, memory allocation, memory modeling, library variables, WCET Steve W. Haga 希家史提夫 2012 學位論文 ; thesis 58 en_US |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立中山大學 === 資訊工程學系研究所 === 100 === Scratchpad Memory (SPM) is an alternative to cache. With SPM, the CPU’s fast internal memory (ie, the SRAM) is directly mapped into the memory address space. This has the advantages of reduced power (by avoiding the memory management Unit, MMU, that a cache need to manage its tags and evictions), reduced area (for the same reason), and predictability.[1] Predictability is important in real-time systems, because each task must be assigned a deadline. If a task finishes early, there is no benefit. But if a task finishes late, then the effect is undesirable or even catastrophic. This means that the worst-case execution time (WCET) is more important than average-case execution time (ACET).
The disadvantage of SPM, when compared to cache, is that the SPM requires software management of the fast memory. In a previous student’s work from our laboratory, [3], an SPM allocator was presented for WCET-targeted compilation.
Compared to that work, this current thesis make four key contributions. First, it introduces a significant amount of code infrastructure to allow library variables to be allocated to SPM. These variables turn out to represent a majority of all data accesses in many programs. Second, this provides support for allocating variables within recursive programs. Third, we support allocation of temporary variable (PC-relative addressing). Fourth, we have developed a simulator to obtain cycle-accurate information on memory behavior. In [3], the costs of allocation were not modeled, nor were the behaviors of the ARM’s complex memory subsystem.
Keywords: SPM, memory allocation, memory modeling, library variables, WCET
|
author2 |
Steve W. Haga |
author_facet |
Steve W. Haga Hsin-Jan Fang 方信然 |
author |
Hsin-Jan Fang 方信然 |
spellingShingle |
Hsin-Jan Fang 方信然 Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
author_sort |
Hsin-Jan Fang |
title |
Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
title_short |
Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
title_full |
Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
title_fullStr |
Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
title_full_unstemmed |
Efficient Memory Allocation for User and Library Variables in Recursive Programs with WCET/ACET Tunable Performance |
title_sort |
efficient memory allocation for user and library variables in recursive programs with wcet/acet tunable performance |
publishDate |
2012 |
url |
http://ndltd.ncl.edu.tw/handle/63322285954045778550 |
work_keys_str_mv |
AT hsinjanfang efficientmemoryallocationforuserandlibraryvariablesinrecursiveprogramswithwcetacettunableperformance AT fāngxìnrán efficientmemoryallocationforuserandlibraryvariablesinrecursiveprogramswithwcetacettunableperformance AT hsinjanfang zhēnduìdìhuíchéngshìzhōngshǐyòngzhězìdìngjíhánshìkùbiànshùkědiàozhěngzuìchàyǔpíngjūnshíjiānzhīgāoxiàoxíngcǎogǎojìyìtǐfēnpèiqì AT fāngxìnrán zhēnduìdìhuíchéngshìzhōngshǐyòngzhězìdìngjíhánshìkùbiànshùkědiàozhěngzuìchàyǔpíngjūnshíjiānzhīgāoxiàoxíngcǎogǎojìyìtǐfēnpèiqì |
_version_ |
1718060490737844224 |