splashTOP
Menu
rsstwitteryoutube

MoTTeM

Logo medMoTTeM "Model-based non-invasive Test and Trace-analysis of Embedded Multicore software". MoTTeM evaluates specific requirements regarding test methodology, development tools and tools for testing of embedded software running on multicore microcontroller based hardware. Together with the FZI (Research Center for Information Technology in Karlsruhe) and HighTec EDV Systeme GmbH, iSYSTEM focuses on todays and future challenges specific for multicore embedded applications development and testing.

Why Multi-Core?

  • Single-Core: Increasing Performance by Increasing Clock Rate is a Dead-End => higher Clock Rate => higher Supply Voltage => higher Power Density
  • Multi-Core: Lower Clock Rate => lower Supply Voltage => lower Power Density Separate Cores => separate Power Domains => lower Leakage


How does an Embedded Multi-Core System looks like today?

  • Two identical cores in lock-step mode (redundancy => safety) 
  • Asynchronous Multi-Core Systems (AMP), e.g., each core fulfills a dedicated and fixed functionality:
  • Microcontroller + DSP
  • Microcontroller + dedicated Peripheral Processor 
  • Trend towards Symmetrical Multi-Core Systems (SMP)
  • H/W: Multiple equivalent on-chip cores
  • S/W: Allows flexible & dynamic assignment of tasks to various cores


Challenges?!

Real concurrent execution requires:

  • Efficient mapping of tasks to cores: Which tasks run on which core for a maximum overall performance?
  • Synchronization: Access to shared resources like memory, peripherals. Similar to Multi-Threaded, but more complex
  • Disabling interrupts is not enough!
  • Dead-Locks / Race-Conditions (due to insufficient synchronization)
  • Meeting real-time requirements is much harder to guarantee/verify


A more complex software design process:

  1. Partitioning: Split application into tasks
  2. Communication: Define task communication
  3. Combining: Review partitioning based on communicationscheme and multi-core environment
  4. Mapping: Map tasks to cores

How to port existing code from single-core to multi-core?

New software design process requires new tools!

More info:
January 2013 - December 2014
Contact @iSYSTEM: Erol Simsek
Project Number: KF2326902BZ2

Log In

rsstwitteryoutube