Multiprocessor System-on-Chip Credits: 1.5 ECTS Description One of the challenges of designing a multiprocessor SoC is to partition the application onto the architecture such that essential requirements are met. This course module address three important areas of multiprocessor system-on-chip: Scheduling: A multi-process system specification exhibits significant non-determinism, as only a partial ordering is specified. The behavior in terms of produced output, will be the same regardless of internal behavior or implementation details. However, the actual ordering and choice of implementation may influence a number of other parameters such as performance, power consumption, flexibility, reliability, production cost, etc. These parameters have to be captured and explored in order to produce a successful SoC design. In this course module we will focus on the scheduling problem. We will introduce scheduling terminology and basic concepts, based on classical real-time scheduling for uni-processor systems. These are then extended to handle shared resources, data dependencies, context switching, cache effects and power reduction, which are all relevant for SOC. Finally, we will extend it to the problem of multi-processor scheduling. System Modeling: In order to make the right partitioning decisions at an early stage in the design process, where not all parts have been implemented or even designed, a system-level model of the multiprocessor SoC design which allows for an accurate modelling of the global performance of the system, including the interrelationships among the diverse processors, software processes and physical interfaces and inter-connections, is needed. Such a model will allow the designer to explore and analyse; the network performance under different traffic and load conditions, consequences of different mappings of tasks to processors (software or hardware), and effects of RTOS selection, including scheduling, synchronization and resource allocation policies. In this course module we will present such a system-level model and demonstrate how it can be used to model and analyse a multiprocessor SoC application. Power-Awareness: One of the most important design metrics for the design of modern embedded systems is low-power. Low-power design techniques try to reduce the power consumption of a design as much as possible, whereas power-aware design techniques try to make the system aware of power consumption by applying adaptive techniques to monitor and change the power consumption. In this course module, we introduce the problem of power-awareness and presents and discusse a few solutions. Workload The complete module amounts to a student workload of 25.5 hours split into
|