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.
  • 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 (100%)

Nb hours: 42.00
Nb hours per week: 3.00