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

skip to main content
article

Inter-task register-allocation for static operating systems

Published: 19 June 2002 Publication History

Abstract

In recent years, a growing number of small single-chip embedded systems are used in very high volumes, for example in the automotive industry. Due to the high volumes, these systems are very cost-sensitive. This is one of several reasons why they are more and more using static operating systems. In such systems, all system resources are configured offline and an optimized kernel is generated which is tailored to one specific application.While this allows the use of operating systems for small ECUs with only very few KB of RAM, it is observed that the memory needed to store task contexts (i.e. register sets) in case of task preemptions makes up a significant part of the RAM needed by the operating system (especially on chips with large register files).This paper presents ideas and a first implementation on methods to reduce this space through interaction of the compiler and the operating system generation. Together they can calculate an upper bound for the register set that has to be stored for each task. Also, the scope for the register allocator of the compiler can be extended to allocate registers across tasks in order to minimize the total size of RAM needed for task contexts.

References

[1]
T. Baker, J. Snyder, D. Whalley. Fast Context switches: Compiler and architectural support for preemptive scheduling, Microprocessors and Microsystems, 1995, pp. 35--42
[2]
L. P. Briand, D. M. Roy. Meeting Deadlines in Hard Real-Time Systems, IEEE Computer Society Press, 1999
[3]
P. Briggs. Register Allocation via Graph Coloring, thesis, Houston, 1992
[4]
A. Dean, J. P. Shen. Hardware to Software Migration with Real-Time Thread Integration, EuroMicro Workshop on Digital System Design, 1998
[5]
C. Fischer, S. Kurlander. Minimum Cost Interprocedural Register Allocation, Symposium on Principles of Programming Languages, 1996, pp. 230--241
[6]
D. Greene, T. Mudge, M. Postiff. The Need for Large Register Files in Integer Codes, 2000
[7]
S. Muchnick. Advanced compiler design and implementation, Morgan Kaufmann Publishers, 1997
[8]
P. Nuth. The Named-State Register File, thesis, MIT, 1993
[9]
C. Waldspurger, W. Weihl. Register Relocation: Flexible Contexts for Multithreading, Proceedings of the 20th Annual International Symposium on Computer Architecture, May 1993
[10]
D. Wall. Global Register Allocation at Link Time. Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, pp. 264--275
[11]
http://www.arm.com
[12]
http://www.atmel.com
[13]
http://www.compilers.de/vbcc
[14]
http://www.infineon.com
[15]
http://www.motorola.com
[16]
http://www.osek-vdx.org
[17]
http://www.trimedia.com

Cited By

View all
  • (2020)Model-driven environment for configuration control and deployment of on-board satellite softwareActa Astronautica10.1016/j.actaastro.2020.09.017Online publication date: Sep-2020
  • (2024)Applied static analysis and specialization of cross-core syscalls for multi-core AUTOSAR OSReal-Time Systems10.1007/s11241-024-09429-160:3(491-533)Online publication date: 1-Sep-2024
  • (2023)MultiSSE: Static Syscall Elision and Specialization for Event-Triggered Multi-Core RTOS2023 IEEE 29th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS58335.2023.00028(262-275)Online publication date: May-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 37, Issue 7
July 2002
232 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/566225
Issue’s Table of Contents
  • cover image ACM Conferences
    LCTES/SCOPES '02: Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
    June 2002
    244 pages
    ISBN:1581135270
    DOI:10.1145/513829
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2002
Published in SIGPLAN Volume 37, Issue 7

Check for updates

Author Tags

  1. context-switch optimization
  2. optimizing for space
  3. register allocation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Model-driven environment for configuration control and deployment of on-board satellite softwareActa Astronautica10.1016/j.actaastro.2020.09.017Online publication date: Sep-2020
  • (2024)Applied static analysis and specialization of cross-core syscalls for multi-core AUTOSAR OSReal-Time Systems10.1007/s11241-024-09429-160:3(491-533)Online publication date: 1-Sep-2024
  • (2023)MultiSSE: Static Syscall Elision and Specialization for Event-Triggered Multi-Core RTOS2023 IEEE 29th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS58335.2023.00028(262-275)Online publication date: May-2023
  • (2017)Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow AnalysisACM Transactions on Embedded Computing Systems10.1145/295005316:2(1-25)Online publication date: 2-Jan-2017
  • (2015)Cross-Kernel Control-Flow--Graph Analysis for Event-Driven Real-Time SystemsACM SIGPLAN Notices10.1145/2808704.275496350:5(1-10)Online publication date: 4-Jun-2015
  • (2015)Cross-Kernel Control-Flow--Graph Analysis for Event-Driven Real-Time SystemsProceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROM10.1145/2670529.2754963(1-10)Online publication date: 4-Jun-2015
  • (2013)Compiler support for lightweight context switchingACM Transactions on Architecture and Code Optimization10.1145/2400682.24006959:4(1-25)Online publication date: 20-Jan-2013
  • (2009)Eliminating the call stack to save RAMACM SIGPLAN Notices10.1145/1543136.154246144:7(60-69)Online publication date: 19-Jun-2009
  • (2009)Eliminating the call stack to save RAMProceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems10.1145/1542452.1542461(60-69)Online publication date: 19-Jun-2009
  • (2009)Cross-layer customization for rapid and low-cost task preemption in multitasked embedded systemsACM Transactions on Embedded Computing Systems10.1145/1457255.14572618:2(1-28)Online publication date: 9-Feb-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media