Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 11

Hardware Concepts of Multicore

What Is a Multicore?

Memory architecture in Multicore

Software concepts of Multicore


Multiprogramming and Multiprocessing

MultiCore RTOS

Scheduling mechanism

Communication and Synchronization

Modes of system on runtime.


Introduction to Interrupt and Timers

Threading Tools for Multicore


SMP, AMP, Hardware Threading,
Multicore Architectures with block diagrams and examples
The Software Developer’s Viewpoint
The Basic Processor Architecture

Main Memory sharing between cores


From Single Core to Multicore

Booting of the multicore system software


Multicore Application Design
Software Decomposition: Multicore Application Design and Implementation
Implementing Multitasking in C for a single core
Implementing Multitasking in C for a multi core

Different States of a job in RTOS for Multicore


Scheduler: software/task deployment and execution strategies
Partitioning of applications for single and multicore platform.
Operational state of Multicore system (Sleep, Suspend, delayed)

Introduction to various scheduling policies


Static
Dynamic
Non pre-emptive
Cooperative
Pre-emptive
Round Robin
Pre-emptive and Round Robin
When to use which one of the above

Identifying the Relationships between Concurrently Executing Threads/Tasks


Identifying the Relationships between Parallely Executing Threads/Tasks
Task-to-Task Communication on same core
Task-to-Task Communication on multicore
Task communication concepts in single and multicore
Task synchronization concepts in single and multicore
Dependency Relationships
Message passing vs. shared memory
Synchronizing Concurrency (single core)
Synchronizing Concurrency (multi core)
Synchronizing Access of peripherals
Synchronizing Access of data

Suspension
Deadlock
Priority inversion
How to handle the above states when occurred.

Interrupts registration and handler limitations


Interrupts IPCs
Timers usage in RTOS
Watchdog

Debuggers
Performance Tools (core usage and others)
Finding Reliable and Reproducible Debugging and Testing
Performance monitoring and optimizations
Parallelizing compilers
StreamIt parallelizing compiler
Synthesizing parallel programs
Theory
Theory
Theory
Theory

Theory
Theory

Theory
Theory
Theory/Lab
Lab
Lab

Theory/Lab
Lab
Lab
Lab

Theory
Lab
Lab
Lab
Lab
Lab
Lab
Lab
Theory

Lab
Lab
Lab
Lab
Lab
Lab
Theory
Lab
Lab
Lab
Lab
Lab

Lab
Lab
Lab
Theory

Lab
Lab
Lab
Lab

Lab
From Shenoy Systems

Venue Setup by customers


A set of 5 hardware boards with power supply / serial / usb cables shall be provided f
a returnable basis. IDE and necessary license shall be brought for training purpose.
All 3 days session there would be hardware boards based hands on sessions.

Good and bright projector


Good ventilation room (not necessary with AC) but with a mandate of good ventilated r
Good light
Sufficient power sockets for plugging the power adaptor PC, Monitor and one additional
hardware boards
Admin rights to install the necessary software and USB access to program the board
Host OS: Windows
USB Access:
Sl. No Mandate Prerequisites knowledge
1 C Programming
2 Embedded System basics

3 RTOS sessions to be attended


Embedded System intro. Types. Usages. Need of the hour.
Introduction to cross tool and its usages. Sample code execution of Hello World.
Introduction to Input and Output peripherals. Sample code execution
Fundamentals of a processor

Basic RTOS fundas. Types of OS, Modules of OS.


Why RTOS. Types of RTOS. Different modules in RTOS
Process states in RTOS
Different IPC supported in RTOS
n of Hello World.

You might also like