A Timing Requirements-Aware Scratchpad Memory Allocation Scheme for a Precision Timed Architecture

Abstract

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 12, 2008
Accession Number
ADA518573

Entities

People

  • Bas Burgers
  • Ben Lickly
  • Edward A. Lee
  • Hiren D. Patel

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Access Time
  • Algorithms
  • Computer Programming
  • Computer Science
  • Computers
  • Computing System Architectures
  • Data Sets
  • Electrical Engineering
  • Embedded Systems
  • Energy Consumption
  • Engineering
  • Instruction Set Architecture
  • Linear Programming
  • Military Research
  • Precision
  • Scheduling (Production)
  • Scratchpad Memories

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Positioning, Navigation, and Timing (PNT) Technology.
  • Software Engineering