- Docente: Luca Benini
- Credits: 6
- SSD: ING-INF/01
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Electronic Engineering (cod. 0934)
Also valid for Second cycle degree programme (LM) in Electronic Engineering (cod. 0934)
Second cycle degree programme (LM) in Computer Engineering (cod. 5826)
Second cycle degree programme (LM) in Electronic Engineering for Intelligent Vehicles (cod. 5917)
Second cycle degree programme (LM) in Electric Vehicle Engineering (cod. 6713)
Second cycle degree programme (LM) in Automation Engineering (cod. 6711)
Learning outcomes
The main goal of the class is to provide methodologies for analyzing and programming singe-core and multi-core embedded electronic systems. The importance of software components in virtually all electronic systems is emphasized. The key learning outcomes are (i) a clear understanding of the most common programmable embedded hardware architectures and hardware-software platforms; (ii) methodologies for comparative analysis and approaches to estimate key performance indicators (KPIs) such as cost, performance, energy efficiency, to quantitatively assess the matching of a hardware-software platform for an application domain (e.g. automotive, consumer, industrial) and for a specific application; (iii) embedded software development and verification techniques, taking into account typical constraints and performance KPIs that differentiate embedded systems from general-purpose computing systems; (iv) hardware-aware software optimization methods and tools for both single-core and multi-core embedded hardware.
Course contents
1. Introduction to Hardware/Software design and System-on-Chip Architectures.
2. Microcontroller systems design – Hardware and Software
Microcontroller architecture based on the ARM Cortex M family and RISC-V. Microcontroller peripherals. Microcontroller programming for maximum Energy efficiency
Analog and Digital sensor interfaces, MEMS sensors – Smart sensors – Wireless sensor interfacs. System power management
3. Parallel Architecture and Parallel programming for advanced embedded systems
Multicore architectures and their use in energy efficient embedded Systems with examples from consumer and industrial market segments.
Programming shared memory multicore systems using the OpenMP programming model – with practical examples based on open-source multicore RISC-V system (PULP platform)
Readings/Bibliography
- Computer Architecture, A Quantitative Approach By John L. Hennessy, David A. Patterson and Christos Kozyraki Edition 7 (or 6)
- Notes and online documentation shared during lectures
Teaching methods
Teaching in class + lab exercises
Assessment methods
compulsory written exam ( and optional oral exam)
Teaching tools
Online material shared via Virtuale
Office hours
See the website of Luca Benini
SDGs


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.