Figure 7 - uploaded by Peter Marwedel
Content may be subject to copyright.
Using 64 bit registers for packed data structures  

Using 64 bit registers for packed data structures  

Source publication
Conference Paper
Full-text available
This paper stresses the importance of designing efficient embedded software and it provides a global view of some of the techniques that have been developed to meet this goal. These techniques include high-level transformations, compiler optimizations reducing the energy consumption of embedded programs and optimizations exploiting architectural fe...

Context in source publication

Context 1
... and arithmetic units of many modern architec- tures are 64 bits wide. Therefore, two 32 bit data types, four 16 bit data types or eight 8 bit data types can be packed into a single register (see fig. 7). ...

Similar publications

Conference Paper
Full-text available
This paper describes the use of UML to aid developing real time on-board software for satellites, as a safety-critical system. In order to expedite development, an Integrated-Computer Aided Software Engineering-Environment (I-CASE-E) tailored for real time applications is used. To keep the approach general, the Satellite under consideration has a 3...
Article
Full-text available
The use of a managed, type-safe language such as Java in real-time and embedded systems offers productivity and, in particular, safety and dependability benefits at a reasonable cost. It has been shown for commodity systems that escape analysis (EA) enables a set of useful optimizations, and benefits from the properties of a type-safe language. In...
Conference Paper
Full-text available
Locating faults in embedded software, especially in microcontrollers, is still difficult. Quite recently, it became possible to recover execution traces from microcontrollers using specific hardware probes. However, the collected traces contain a huge volume of low-level data. Consequently, manual analysis is difficult and our industrial partners c...
Conference Paper
Full-text available
The use of a managed, type-safe language such as Java in real-time and embedded systems offers productivity and, in particular, safety and dependability benefits at a reasonable cost. It has been shown for commodity systems that escape analysis (EA) enables a set of useful optimization, and benefits from the properties of a type-safe language. In t...
Conference Paper
Full-text available
The Real-Time Specification for Java (RTSJ) is becoming a popular choice in the world of real-time and embedded programming. However, RTSJ introduces many non-intuitive rules and restrictions which prevent its wide adoption. Moreover, current state-of-the-art frameworks usually fail to alleviate the development process into higher layers of the sof...

Citations

... However, the code level optimization is often an overlooked area which is being addressed in this paper. Recent studies show that compiler optimizations are beneficial not only to system performance, but also to power consumption [1,2,3], I/O performance [4], and cache and memory subsystem performances [5,6]. These studies mainly focused on the effects of compiler optimizations on performance and power consumption through simulation and estimation using virtual models [1]. ...
Article
Full-text available
Power consumption is a subject of serious consideration in embedded systems design because embedded systems are constrained to stringent power and energy requirements. The mission of lowering power consumption and energy usage of such systems is an important task to prolong their usage in real time situations. In this paper, we study the effects of compiler optimisations on embedded systems energy usage and power consumption in real time situations and the importance of running efficient binary codes in realising a more power efficient and better performing embedded system. Compiler optimisations at various levels involving different architectural features have been experimented and it is shown that architecture driven compiler optimisations have a better impact on reducing power consumption and energy usage in embedded system than blind code optimisations.
... However, the code level optimization is often an overlooked area which is being addressed in this paper. Recent studies show that compiler optimizations are beneficial not only to system performance, but also to power consumption [1,2,3], I/O performance [4], and cache and memory subsystem performances [5,6]. These studies mainly focused on the effects of compiler optimizations on performance and power consumption through simulation and estimation using virtual models [1]. ...
Conference Paper
Full-text available
Power consumption is a subject of serious consideration in embedded systems design because embedded systems are constrained to stringent power and energy requirements. The mission of lowering power consumption and energy usage of such systems is an important task to prolong their usage in real time situations. In this paper, we study the effects of compiler optimizations on embedded systems energy usage and power consumption in real time situations and the importance of running efficient binary codes in realizing a more power efficient, and better performing embedded system. Compiler optimizations at various levels involving different architectural features have been experimented and it is shown that architecture driven compiler optimizations have a better impact on reducing power consumption and energy usage in embedded system than blind code optimizations.
... These techniques involve taking a given description of the system, and deriving from it another description that is more suited for the targeted implementation constraints and objectives. Although the traditional emphasis for efficient embedded processor implementation has been on code-generation techniques and related compiler technology, high-level transformations have been gaining in importance in part because of their inherent portability and their boost in implementation quality when applied appropriately(e.g., see [4], [5]). Such transformations have been studied in various contexts, such as high level synthesis [6], synthesis of DSP software [3], and fault detection in parallel processing systems [7]. ...
Article
Dataflow graph transformations are important in many contexts of SoC implementation, particularly in the domain of signal processing. Most previous work on dataflow graph transformations has focused on synchronous dataflow and closely-related representations (e.g., see Lee and Messershcmitt (1987), Parhi (1995) and Zivojnovic et al., (1994). However, because SDF is limited to expressing static dataflow behaviors, modern SoC applications are often not fully amenable to SDF. In this paper, we discuss methods of modeling and transformation for more flexible forms of dataflow that are better suited to high-level design of modern signal processing systems
... Programming close to hardware using C is the most accepted form of application development due to tight design constraints on latency and code size. It is also often the only programming abstraction above assembler provided by the core manufacturer [122]. The NOVA platform provides support for message-passing in hardware. ...
... In this context we have to realize that programming in C is the only abstraction above assembly level that is established as a programming model for embedded processors [122]. Therefore, we have to provide a framework that supports a systematic path to efficient implementations based on C (or even assembler) while offering enough abstraction for software reuse, ease of mapping, and performance evaluation. ...
... Click [102] is implemented in C++ and uses Linux OS concepts such as timers and schedulers. Most application-specific embedded processors, however, provide only limited programming environments, poor runtime support, and often do not support C++ [122]. Especially in the case of MPSoCs such as network processors we observe a lack of proper compilers and operating systems for processing elements within the data plane. ...
Article
Full-text available
Heutige SoCs sind oft heterogene Plattformen, die zunehmend programmierbare Prozessorelemente enthalten. Jedoch werden ihre diversen IO Funktionen weiterhin in protokoll-spezifischer Hardware realisiert, welche nicht programmierbar ist. Um flexiblere und homogenere Plattformen zu ermöglichen, untersucht diese Arbeit neuartige Verfahren zur Realisierung von programmierbaren IO Schnittstellen in drei Schritten: 1) Analyse von Schnittstellen hinsichtlich gemeinsamer Struktur und Grundfunktionen, 2) Entwicklung einer domain-spezifischen Methodik und entsprechender Werkzeuge für den systematischen Entwurf und den späteren effizienten Einsatz, und 3) Quantitative Exploration des Entwurfsraums für IO Schnittstellen unter Nutzung der Komponenten einer durchgängig modularen Hard- und Software Plattform. Anhand von PCIe, Hypertransport, RapidIO, Ethernet und wLAN werden Machbarkeit und gegenwärtige Grenzen einer protokollunabhängigen programmierbaren Lösung aufgezeigt.
Conference Paper
First introduced the two-dimensional trajectory correction projectile shot contained a computer software program design. Pointed out on this foundation in the two-dimensional trajectory correction projectile using operating system is to overcome the traditional shortcomings of the important approach to software development. Then it is elaborated the popular military real-time embedded operating system. At the same time, in accordance with the two-dimensional trajectory correction projectile missile-borne computer software program design requirements were compared. The experiment results show that using real time operating system of missile-borne computer in real-time performance can meet the requirements.
Article
Implemented with a low speed CPU, small memory footprint, low static memory storage and developed specifically for low power requirement, small embedded devices are significantly affected by processing time. By cutting down processing time needed to complete a certain task, not only power consumption could be reduced, but it could also lead to greater system performance without the need to redevelop the current system. In this paper, we propose a system optimization technique through operating system optimization implemented during the OS compilation stages. Results obtained shows that a proper compiler optimization during the OS development stages could lead to a more than 100% speed increase on code execution performance, code loading sequences and library linking procedures. This greatly improves total system performance and reduces the time for a particular system to complete itspsila tasks and effectively reduces system turnover time without requiring a major overhaul on the software and hardware side.
Chapter
Full-text available
Computer vision has emerged as one of the most popular domains of embedded applications. The applications in this domain are characterized by complex, intensive computations along with very large memory requirements. Parallelization and multiprocessor implementations have become increasingly important for this domain, and various powerful new embedded platforms to support these applications have emerged in recent years. However, the problem of efficient design methodology for optimized implementation of such systems remains vastly unexplored. In this chapter, we look into the main research problems faced in this area and how they vary from other embedded design methodologies in light of key application characteristics in the embedded computer vision domain.We also provide discussion on emerging solutions to these various problems.
Conference Paper
One of the few challenges facing face recognition systems is real time processing. In order for a face recognition system to be viable for real world implementations, it needs to be fast enough to track and identify facial images and do on-the-fly one-to-many identification from a multitude of database images. This is time consuming since face recognition requires a complex process of pre-processing and post-processing to be done along with the actual processing itself. In order to save precious processing time and increase the processing speed, specific compiler optimizations could be applied to the algorithms to help in reducing system processing time and increase total system performance. In this paper, we explore different levels of compiler optimization techniques when applied to face recognition systems to help improve the algorithmpsilas performance and in turn improve the entire system performance when implemented in real time and real life situations. A multitude of different compiler optimization techniques are tested and implemented during the stages of development and the effects of such optimizations are logged and compared.