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

Full description

Bibliographic Details
Main Authors: Hsin-Jan Fang, 方信然
Other Authors: Steve W. Haga
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