UC Berkeley · 2008 · 10 citations · 16 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureEmbedded SystemsSchedulingInstruction SchedulingInstruction Set ArchitectureReal-time SchedulingReal-time Systems DesignTiming AnalysisTiming ModelingHigh-level Synthesis Timing OptimizationInstruction Set DesignMemory Allocation For Real-time SystemsMicroarchitectural OptimizationReal-time Hardware ArchitectureScheduling AlgorithmsScratchpad MemoryTiming
The precision timed architecture presents a real-time embedded processor with instruction-set extensions that provide precise timing control via timing instructions to the programmer. Programmers not only describe their functionality using C, but they can also prescribe timing requirements in the program. We target this architecture and present a static scratchpad memory allocation scheme that greedily attempts to meet these timing requirements. Our objective is to schedule minimum number of instructions and minimize data allocation to the scratchpads such that timing requirements in the program are met. Once the timing requirements are satisfied, the remainder of the scratchpad memory can be used to optimize some other metric desired by the programmer. As an example, we minimize the frequency of main memory accesses in the program. This work presents the following: 1) high-level timing constructs for C that synthesize to timing instructions and 2) a greedy iterative instruction and data scratchpad memory allocation scheme that attempts to first meet the specified timing requirements.
16
R. M. Banakar, Stefan Steinke, Bo-Sik Lee et al. · 2002 · 661 citations
Assigning Program and Data Objects to Scratchpad for Energy Reduction
Stefan Steinke, Lars Wehmeyer, Bo-Sik Lee et al. · 2002 · 316 citations