No abstract available.
An Accurate Instruction-Level Energy Consumption Model for Embedded RISC Processors
Energy consumption of software is becoming an increasingly important issue in designing mobile embedded systems where batteries are used as the main power source. As a consequence, recently, a number of promising techniques have been proposed to ...
Hybrid Run-time Power Management Technique for Real-time Embedded System with Voltage Scalable Processor
This paper presents a new run-time power management technique for real-time embedded systems which consist of a voltage scalable processor and power controllable peripheral devices. We have observed that there exist significant trade-offs in terms of ...
Power-Aware Design Synthesis Techniques for Distributed Real-Time Systems
This paper presents an end-to-end synthesis technique for low-power distributed real-time system design. This technique synthesizes supply voltages of resources to optimize system-level power consumption while satisfying end-to-end hard real-time ...
Combining Global Code and Data Compaction
Computers are increasingly being incorporated in devices with a limited amount of available memory. As a result research is increasingly focusing on the automated reduction of program size. Existing literature focuses on either data or code compaction ...
Register Allocation for Banked Register File
A banked register file is a register file partitioned into banks. A register in a banked register file is addressed with the register number in conjunction with the active bank number. A banked register file may be employed to reduce the number of bits ...
Loop Transformations for Architectures with Partitioned Register Banks
Embedded systems require maximum performance from a processor within significant constraints in power consumption and chip cost. Using software pipelining, processors can often exploit considerable instruction-level parallelism (ILP), and thus ...
ENSEMBLE: A Communication Layer for Embedded Multi-Processor Systems
The ENSEMBLE communication library exploits overlapping of message aggregation (computation) and DMA transfers (communication) for embedded multi-processor systems. In contrast to traditional communication libraries, ENSEMBLE operates on n-dimensional ...
Embedded Control Systems Development with Giotto
Giotto is a principled, tool-supported design methodology for implementing embedded control systems on platforms of possibly distributed sensors, actuators, CPUs, and networks. Giotto is based on the principle that time-triggered task invocations plus ...
A tool for simulation and fast prototyping of embedded control systems
This paper presents a set of C++ libraries, called RTSIM, aimed at realizing a joint simulation of a continuous plant and of a real-time embedded controller. The libraries permit a separate specification of the functional behaviour of the controller and ...
MILAN: A Model Based Integrated Simulation Framework for Design of Embedded Systems
We present MILAN, a model based extensible framework that facilitates rapid, multigranular performance evaluation of a large class of embedded systems, by seamlessly integrating different widely used simulators in to a unified environment. MILAN ...
Parametric Timing Analysis
Embedded systems often have real-time constraints. Traditional timing analysis statically determines the maximum execution time of a task or a program in a real-time system. These systems typically depend on the worst-case execution time of tasks in ...
Interval-Based Analysis of Software Processes
A typical characteristic of complex embedded systems is their large software share that consists of software processes either being directly written in an implementation language like C, or being created from abstract modeling tools (e. g. Simulink or ...
Automatic Accurate Live Memory Analysis for Garbage-Collected Languages
This paper describes a general approach for automatic and accurate live heap space and live heap space-bound analyses for high-level languages. The approach is based on program analysis and transformations and is fully automatic. The space-bound ...
Generating Decision Trees for Decoding Binaries
Tools reading binary code, like analysers, debuggers, disassemblers, etc., need to decode the target's machine code. A decision tree is often used to represent the decoding function.
Manually writing a decoder is a lengthy and error-prone task. It is ...
Dealing with Hardware in Embedded Software: A General Framework Based on the Devil Language
Writing code that talks to hardware is a crucial part of any embedded project. Both productivity and quality are needed, but some flaws in the traditional development process make these requirements difficult to meet.
We have recently introduced a new ...
Morphable Cache Architectures: Potential Benefits
Computer architects have tried to mitigate the consequences of high memory latencies using a variety techniques. An example of these techniques is multi-level caches to counteract the latency that results from having a memory that is slower than the ...
Software Pipelining Irregular Loops On the TMS320C6000 VLIW DSP Architecture
The TMS320C6000 architecture is a leading family of Digital Signal Processors (DSPs). To achieve peak performance, this VLIW architecture relies heavily on software pipelining. Traditionally, software pipelining has been restricted to regular (FOR) ...
ILP-based Instruction Scheduling for IA-64
The IA-64 architecture has been designed as a synthesis of VLIW and superscalar design principles. It incorporates typical functionality known from embedded processors as multiply/accumulate units and SIMD operations for 3D graphics operations. In this ...
C Compiler Design for an Industrial Network Processor
One important problem in code generation for embedded processors is the design of efficient compilers for ASIPs with application specific architectures. This paper outlines the design of a C compiler for an industrial ASIP for telecom applications. The ...
A Dynamic Programming Approach to Optimal Integrated Code Generation
Phase-decoupled methods for code generation are the state of the art in compilers for standard processors but generally produce code of poor quality for irregular target architectures such as many DSPs. In that case, the generation of efficient code ...
Middleware For Building Adaptive Systems Via Configuration
- Sanjai Narain,
- Ravichander Vaidyanathan,
- Stanley Moyer,
- William Stephens,
- Kirthika Parmeswaran,
- Abdul Rahim Shareef
COTS (commercial off-the-shelf) devices, including middleware components, are capable of executing powerful, distributed algorithms. Very large, adaptive systems can be created by simply integrating these devices, not by creating new devices, algorithms ...
Designing and Optimizing a Scalable CORBA Notification Service
Many distributed applications require a scalable event-driven communication model that decouples suppliers from consumers and simultaneously supports advanced quality of service (QoS) properties and event filtering mechanisms. The CORBA Notification ...
Issues in the Design of Adaptive Middleware Load Balancing
Load balancing middleware is used extensively to improve scalability and overall system throughput in distributed systems. Many load balancing middleware services are simplistic, however, since they are geared only for specic use-cases and environments. ...
Evaluating and Optimizing Thread Pool Strategies for Real-Time CORBA
Strict control over the scheduling and execution of processor resources is essential for many fixed-priority real-time applications. To facilitate this common requirement, the Real-Time CORBA (RT-CORBA) specification defines standard middleware features ...
Designing an Efficient and Scalable Server-side Asynchrony Model for CORBA
When the Asynchronous Method Invocation (AMI) model was introduced into the CORBA specification, client applications benefited from the ability to invoke non-blocking two-way requests. In particular, AMI improved the scalability of clients by removing ...
Integration of QoS-Enabled Distributed Object Computing Middleware for Developing Next-Generation Distributed Application
This paper describes the integration of QoS-enabled distributed object computing (DOC) middleware for developing next-generation distributed applications. QoS-enabled DOC middleware facilitates ease of development and deployment of applications that can ...
Language and Compiler Support for Adaptive Distributed Applications
Many distributed applications have to meet their performance or quality-of-service goals in environments where available resources change contantly. Important classes of distributed applications (including distributed multimedia codes, applications for ...