An embedded systems programming environment for C

Bernd Burgstaller, Bernhard Scholz, Anton Ertl

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)

Abstract

Resource constraints are a major concern with the design, development, and deployment of embedded systems. Embedded systems are highly hardware-dependent and have little computational power. Mobile embedded systems are further constrained by their limited battery capacity. Many of these systems are still programmed in assembly language because there is a lack of efficient programming environments. To overcome or at least alleviate the restrictions, we propose a light-weight and versatile programming environment for the C programming language that offers mixed-mode execution, i.e., code is either executed on the CPU or on a virtual machine (VM). This mixed-mode execution environment combines the advantages of highly compressed bytecode with the speed of machine code. We have implemented the programming environment and conducted experiments for selected programs of the MiBench suite and the Spec 2000. The VM has a footprint of 12 KB on the Intel IA32. Initial results show that the performance of the virtual machine is typically only 2 to 36 times slower than the binary execution, with compressed code occupying only 36%-57% of the machine code size. Combining sequences of VM instructions into new VM instructions (superinstructions) increases the execution speed and reduces the VM code size. Preliminary experiments indicate a speedup by a factor of 3.

Original languageEnglish
Title of host publicationEuro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings
PublisherSpringer Verlag
Pages1204-1216
Number of pages13
Volume4128 LNCS
ISBN (Print)3540377832, 9783540377832
Publication statusPublished - 2006 Jan 1
Event12th International Euro-Par Conference 2006 - Lisbon, Portugal
Duration: 2006 Aug 282006 Sep 1

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4128 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other12th International Euro-Par Conference 2006
CountryPortugal
CityLisbon
Period06/8/2806/9/1

Fingerprint

Computer systems programming
Programming Environments
Virtual Machine
Embedded systems
Embedded Systems
Mixed Mode
Resource Constraints
Mobile Systems
Computer programming
Battery
Computer programming languages
Computer hardware
Programming Languages
Program processors
Experiment
Virtual machine
Speedup
Experiments
Hardware
Binary

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Burgstaller, B., Scholz, B., & Ertl, A. (2006). An embedded systems programming environment for C. In Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings (Vol. 4128 LNCS, pp. 1204-1216). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 4128 LNCS). Springer Verlag.
Burgstaller, Bernd ; Scholz, Bernhard ; Ertl, Anton. / An embedded systems programming environment for C. Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings. Vol. 4128 LNCS Springer Verlag, 2006. pp. 1204-1216 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{e2474555fbae47e18b2a11f2b225795d,
title = "An embedded systems programming environment for C",
abstract = "Resource constraints are a major concern with the design, development, and deployment of embedded systems. Embedded systems are highly hardware-dependent and have little computational power. Mobile embedded systems are further constrained by their limited battery capacity. Many of these systems are still programmed in assembly language because there is a lack of efficient programming environments. To overcome or at least alleviate the restrictions, we propose a light-weight and versatile programming environment for the C programming language that offers mixed-mode execution, i.e., code is either executed on the CPU or on a virtual machine (VM). This mixed-mode execution environment combines the advantages of highly compressed bytecode with the speed of machine code. We have implemented the programming environment and conducted experiments for selected programs of the MiBench suite and the Spec 2000. The VM has a footprint of 12 KB on the Intel IA32. Initial results show that the performance of the virtual machine is typically only 2 to 36 times slower than the binary execution, with compressed code occupying only 36{\%}-57{\%} of the machine code size. Combining sequences of VM instructions into new VM instructions (superinstructions) increases the execution speed and reduces the VM code size. Preliminary experiments indicate a speedup by a factor of 3.",
author = "Bernd Burgstaller and Bernhard Scholz and Anton Ertl",
year = "2006",
month = "1",
day = "1",
language = "English",
isbn = "3540377832",
volume = "4128 LNCS",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "1204--1216",
booktitle = "Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings",
address = "Germany",

}

Burgstaller, B, Scholz, B & Ertl, A 2006, An embedded systems programming environment for C. in Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings. vol. 4128 LNCS, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 4128 LNCS, Springer Verlag, pp. 1204-1216, 12th International Euro-Par Conference 2006, Lisbon, Portugal, 06/8/28.

An embedded systems programming environment for C. / Burgstaller, Bernd; Scholz, Bernhard; Ertl, Anton.

Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings. Vol. 4128 LNCS Springer Verlag, 2006. p. 1204-1216 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 4128 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - An embedded systems programming environment for C

AU - Burgstaller, Bernd

AU - Scholz, Bernhard

AU - Ertl, Anton

PY - 2006/1/1

Y1 - 2006/1/1

N2 - Resource constraints are a major concern with the design, development, and deployment of embedded systems. Embedded systems are highly hardware-dependent and have little computational power. Mobile embedded systems are further constrained by their limited battery capacity. Many of these systems are still programmed in assembly language because there is a lack of efficient programming environments. To overcome or at least alleviate the restrictions, we propose a light-weight and versatile programming environment for the C programming language that offers mixed-mode execution, i.e., code is either executed on the CPU or on a virtual machine (VM). This mixed-mode execution environment combines the advantages of highly compressed bytecode with the speed of machine code. We have implemented the programming environment and conducted experiments for selected programs of the MiBench suite and the Spec 2000. The VM has a footprint of 12 KB on the Intel IA32. Initial results show that the performance of the virtual machine is typically only 2 to 36 times slower than the binary execution, with compressed code occupying only 36%-57% of the machine code size. Combining sequences of VM instructions into new VM instructions (superinstructions) increases the execution speed and reduces the VM code size. Preliminary experiments indicate a speedup by a factor of 3.

AB - Resource constraints are a major concern with the design, development, and deployment of embedded systems. Embedded systems are highly hardware-dependent and have little computational power. Mobile embedded systems are further constrained by their limited battery capacity. Many of these systems are still programmed in assembly language because there is a lack of efficient programming environments. To overcome or at least alleviate the restrictions, we propose a light-weight and versatile programming environment for the C programming language that offers mixed-mode execution, i.e., code is either executed on the CPU or on a virtual machine (VM). This mixed-mode execution environment combines the advantages of highly compressed bytecode with the speed of machine code. We have implemented the programming environment and conducted experiments for selected programs of the MiBench suite and the Spec 2000. The VM has a footprint of 12 KB on the Intel IA32. Initial results show that the performance of the virtual machine is typically only 2 to 36 times slower than the binary execution, with compressed code occupying only 36%-57% of the machine code size. Combining sequences of VM instructions into new VM instructions (superinstructions) increases the execution speed and reduces the VM code size. Preliminary experiments indicate a speedup by a factor of 3.

UR - http://www.scopus.com/inward/record.url?scp=33750034132&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=33750034132&partnerID=8YFLogxK

M3 - Conference contribution

SN - 3540377832

SN - 9783540377832

VL - 4128 LNCS

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 1204

EP - 1216

BT - Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings

PB - Springer Verlag

ER -

Burgstaller B, Scholz B, Ertl A. An embedded systems programming environment for C. In Euro-Par 2006 Parallel Processing - 12th International Euro-Par Conference, Proceedings. Vol. 4128 LNCS. Springer Verlag. 2006. p. 1204-1216. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).