Graduate School and Research Center in Digital Sciences

Computer architecture

T Technical Teaching


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.

 Learning outcomes:

Understand the relationships between software concepts (functionality, performance, parallelism, security...) and the underlying hardware machines (processors, peripherals...). Discover the most important techniques used by processor and/or computer vendors to improve the performance of their products (pipelining, caches, branch prediction...) and the problems they pose (pipeline hazards, cache coherence...). Understand the hardware support to operating systems (processor modes, Memory Management Units, timers, interrupts, atomic operations...) Become familiar with the classical tradeoffs between performance, cost and complexity in computer systems.

Nb hours : 42.00, at least 4 Lab sessions (10.5 hours) and 2 mini-conferences (3 hours)

Grading Policy : Final exam (70%), lab reports (30%).

Nb hours: 42.00
Nb hours per week: 3.00