• Start date: 01.11.2005
  • End date: 31.12.2011
  • Funded by: DFG (Deutsche Forschungsgemeinschaft)
  • Local head of project: Prof. Dr. Theo Ungerer
  • Local scientists: Florian Kluge, Jörg Mische
  • External scientists / cooperations: Uwe Brinkschulte (University of Karlsruhe, Department of Computer Science), Rafael Zalman (Infineon Technologies AG), HiPEAC Cluster "Investigation of real-time capable embedded SMT processor techniques"


CAR-SoC defines a new SoC approach that emphasizes Connectivity, Autonomic computing principles, and Real-time requirements on a chip. The requirements shall be fulfilled by a multithreaded processor core in combination with a reconfigurable architecture. The multithreaded processor core is based on Infineon's TriCore architecture extended by an integrated powerful real-time scheduling. Helper threads running with low priority in own thread slots concurrent to the application implement autonomic managers that monitor relevant on-chip characteristics like processor workload and memory usage. The autonomic managers decide in combination with a middleware if self-optimization, self-configuration, self-protection, or self-healing techniques must be triggered.

The CAR-SoC System Architecture Overview

The following figure presents the CAR-SoC system architecture. Several CAR-SoC nodes can be connected by a real-time middleware transparent to the application. Two closed-control-loops are responsible for the autonomic/organic management: one on the local node level and the other on the middleware level.

© University of Augsburg

The CAR-SoC processor core (CarCore) (Sascha Uhrig and Jörg Mische)

The processor core is based on the architecture of Infineon's TriCore processor. It is extended by the ability of simultaneous multithreading. An internal real-time scheduler should fulfill the hard real-time requirements of a number of threads. The hardware scheduler hides the boundaries of software and hardware threads. It selects several threads out of the systems thread list which will be executed within the multithreaded pipeline. Thread swapping is done automatically without software support, i.e. without software overhead. A powerful scheduling scheme enables thread scheduling similar to the Guaranteed Percentage (GP) scheduling (see Komodo project) in combination with the Least Laxity First (LLF) scheduling.

The Reconfigurable CarCore (Sascha Uhrig and Stefan Maier)

A HiPEAC funded cooperation of the Universities of Augsburg and Delft explores the potentials and problems when combining a multithreaded processor core with reconfigurable hardware within an embedded SoC. The cooperation already resulted in an interface design and System-C implementation that combines the simultaneous multithreaded CAR-SoC processor (called CAR-Core) developed at University of Augsburg with the reconfiguration unit of the MOLEN processor developed at University of Delft. Simulations showed a three-fold speedup on an MJPEG application over the pure software-based execution. 

The CAR-SoC system software (Florian Kluge)

Because the CAR-SoC is designed for embedded and ubiquitous systems, an extremely small software kernel is required. We just implement a new system architecture following the mirco-kernel proncipals. The kernel is only responsible for memory and thread management, i.e. thread creation, termination and synchronization. Scheduling is done by the CarCore processor. Additionally, the system kernel is able to link together several libraries and applications. One of these libraries/applications will be the CAR-SoC middleware, which will offer more powerful system functions.

Autonomic/Organic Computing principles (Florian Kluge)

Due to the efficient scheduling, the coexistence of hard-real-time, soft-real-time and non-real-time threads is possible. We will implement several soft- and non-real-time threads which will monitor miscellaneous system parameters. Additionally, so-called Autonomic Managers will analyze the system parameters and if necessary trigger some suitable retaliatory actions to realize the self-X properties.





  • Using SMT to Hide Context Switch Times of Large Real-Time Tasksets 
    Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer 
    The 16th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2010)
  • Dynamic Workload Prediction for Soft Real-Time Applications 
    Florian Kluge, Sascha Uhrig, Jörg Mische, Benjamin Satzger, Theo Ungerer 
    Proceedings of 10th IEEE International Conference on Computer and Information Technology (ICESS 2010)
  • Optimisation of Energy Consumption of Soft Real-Time Applications by Workload Prediction 
    Florian Kluge, Sascha Uhrig, Jörg Mische, Benjamin Satzger, Theo Ungerer 
    13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (First IEEE Workshop on Self-Organizing Real-Time Systems, SORT 2010)
  • How to Enhance a Superscalar Processor to Provide Hard Real-Time Capable In-Order SMT 
    Jörg Mische, Irakli Guliashvili, Sascha Uhrig, Theo Ungerer 
    23rd International Conference on Architecture of Computing Systems, Hannover, Germany, February 22-25, 2010, Proceedings




  • Implementing AUTOSAR Scheduling and Resource Management on an Embedded SMT Processor 
    Florian Kluge, Chenglong Yu, Jörg Mische, Sascha Uhrig, Theo Ungerer 
    Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems (SCOPES 09)
  • IPC Control for Multiple Real-Time Threads on an In-Order SMT Processor 
    Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer 
    Proceedings of the 4th International Conference on High Performance and Embedded Architectures and Compilers (HiPEAC 2009)




  • Exploiting spare resources of in-order SMT processors executing hard real-time threads 
    Jörg Mische, Sascha Uhrig, Florian Kluge, Theo Ungerer 
    XXVI IEEE International Conference on Computer Design (ICCD 2008)
  • A Two-Layered Management Architecture for Building Adaptive Real-time Systems 
    Florian Kluge, Sascha Uhrig, Jörg Mische, Theo Ungerer 
    Proceedings Software Technologies for Embedded and Ubiquitous Systems, 6th IFIP WG 10.2 International Workshop, SEUS 2008
  • An Operating System Architecture for Organic Computing in Embedded Real-Time Environments 
    Florian Kluge, Jörg Mische, Sascha Uhrig, and Theo Ungerer 
    5th International Conferenc on Autonomic and Trusted Computing (ATC 2008), Oslo, Norway 
  • Building Adaptive Embedded Systems by Monitoring and Dynamic Loading of Application Modules 
    Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer 
    Workshop on Adaptive and Reconfigurable Embedded Systems (APRES'08)




  • Integration of Hard Real-Time and Organic Computing 
    Florian Kluge, Jörg Mische, Stefan Metzlaff, Sascha Uhrig, Theo Ungerer 
    ACACES 2007 Poster Abstracts
  • Use of Helper Threads for OS Support in the Multithreaded Embedded TriCore 2 Processor 
    Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer, Rafael Zalmann 
    Proceedings Work-In-Progress-Session of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium




  • CAR-SoC - Towards an Autonomic SoC node 
    Florian Kluge, Jörg Mische, Sascha Uhrig, Theo Ungerer 
    ACACES 2006 Poster Abstracts
  • Coupling of a Reconfigurable Architecture and a Multithreaded Processor Core with Integrated Real-Time Scheduling 
    Sascha Uhrig, Stefan Maier, Georgy Kuzmanov, Theo Ungerer 
    13th Reconfigurable Architectures Workshop (RAW 2006)




  • Toward a Processor Core for Real-Time Capable Autonomic Systems 
    Sascha Uhrig, Stefan Maier, Theo Ungerer 
    Proceedings of the Fifth IEEE International Symposium on Signal Processing and Information Technology, 2005.
  • Reconfigurable Extension for CarCore 
    Stefan Maier 
    Technical Report, Institute of Computer Science, University of Augsburg, September 2005 




  • CARUSO – Project Goals and Principal Approach 
    Uwe Brinkschulte, Jürgen Becker, Klaus Dorfmüller-Ulhaas, Ralf König, Sascha Uhrig and Theo Ungerer 
    Workshop on Organic Computing; 34. Jahrestagung der Gesellschaft für Informatik, Ulm, Germany, September 20th to 24th, 2004
  • CARUSO – an Approach Towards a Network of Low Power Autonomic Systems on Chips for Embedded Real-time Applications 
    Uwe Brinkschulte, Jürgen Becker, and Theo Ungerer 
    Workshop on Parallel and Distributed Real-Time Systems 2004 (WPDRTS04), Santa Fe, New Mexico, April 26th and 27th, 2004