Nothing Special   »   [go: up one dir, main page]

skip to main content
Software thread integration for hardware to software migration
Publisher:
  • Carnegie Mellon University
  • Schenley Park Pittsburgh, PA
  • United States
ISBN:978-0-599-93855-7
Order Number:AAI9986586
Pages:
138
Reflects downloads up to 21 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

This dissertation introduces software thread integration (STI) and its use for migrating functions from hardware to software (HSM). STI interleaves multiple software threads at the assembly language level, offering efficient concurrency for general-purpose processors. This concurrency is invaluable for HSM, which requires concurrent execution of multiple real-time software threads. STI provides a set of compiler-implemented code transformations which produce efficient code. Putting the transformations into a compiler lets the system developer work at a higher level and therefore with more efficiency.

Existing methods of HSM suffer from a complicated manual process and inefficient output code. Despite these limits, embedded system designers frequently perform HSM to meet design goals. STI provides a mechanism for efficiently sharing the CPU by interleaving multiple real-time software threads into an integrated thread, replacing context switching and busy waiting with useful instructions to raise efficiency. It uses code transformations which can be automated and implemented in a post-pass compiler. This automation lets system developers perform HSM much more efficiently, reducing development time and effort. Timing accuracy, run-time overhead and code size can be traded off to meet a specific embedded system's goals.

This dissertation contributes automatic methods for guiding, performing, and evaluating STI and HSM. It begins by presenting the code transformations needed to integrate real-time threads. These transformations are implemented in a compiler to automate integration and speed migration. The code produced is more efficient than that of other methods and can be optimized for program size or speed. It shows how to measure thread suitability for integration based upon idle time distribution and segment timing determinacy. It then presents a method to select threads for integration based upon these metrics and profiling information, and then predict the resulting system performance and memory cost. It introduces methods for linking a trigger event with the execution of service thread. These methods allow a system designer to trade off efficiency for response latency. Finally, this dissertation also presents other benefits of STI such as concurrent error detection and performance enhancement.

Contributors
  • NC State University
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations