This course presents the architecture of microprocessor-based systems, from the internals of the processors themselves to the main peripherals that surround them and make a complete computing machine, capable of running operating systems like GNU/Linux, Android, Windows, iOS...
Teaching and Learning Methods : Lectures, team-work, lab sessions, mini-conferences by industrials
Course Policies : Attendance to the lab sessions and the mini-conferences is mandatory
Book: David A. Patterson and John L. Hennessy, "Computer organization and design: the hardware software interface", Morgan Kaufmann
Basic knowledge in software programming (data types, control structures...)
- Types of microprocessors, from the simplest to the most powerful, and their instruction sets
- Interactions between hardware and software, caches and memory, peripherals, mandatory hardware support for operating systems...
- Labs allowing to observe a processor in action during the execution of software applications and to understand how it interacts with its environment.
- Mini-conferences given by industrials, presenting the latest generations of processors and the challenges related to their design and verification.
Nb hours : 42.00, at least 4 Lab sessions (10.5 hours) and 2 mini-conferences (3 hours)
Grading Policy : Final exam (50%), lab reports (25%), contributions to the course material with texts, presentations, videos, exercises, labs… (25%)