Matière
Computer Architecture
Description
The aim of this course is to introduce the student to the computer architecture. This will be done constructively, by building a general-purpose computer system from the ground up. In the first chapter we introduce the combinational logic circuit (specially the ALU) used by the CPU to do arithmetic binary. In the second chapter we focus on sequential logic (flip-flops, registers, counters, memories ...). In the third chapter we design a full simple CPU and focus on the control unit. Chapter four introduces the assembly language of our CPU (instructions formats, types, decoding), and describe how assembler and compiler work. In chapter 5 we talk about famous processors (like intel, ARM, RISC-V) and microcontrollers, and we introduce some advanced concepts (pipeline, cache, quantum computers).
For each chapter the students do a practical (in the aim to build the processor) starting from logic gates, going to a full CPU and ending by programming I/O and doing practice projects (like games in Assembly).
Compétences requises
-
Binary Arithmetic
-
Basic Digital Logic
-
Basic Programming
Compétences visées
By the end of the course the student was able to understand how to build all CPU element, and programing in assembly language.
Discipline(s)
- Informatique
Bibliographie
-
The Elements of Computing Systems: Building a Modern Computer from First Principles by Noam Nisan, Shimon Schocken. MIT Press.
-
Structured Computer Organization. Andrew Tanenbaum, Todd Austin. Pearson
-
Introduction to Microprocessor-based Systems Design. G.Donzellini, A. M. Garavagno, L. Oneto. Springer, 2022.
-
Computer Architecture: A Quantitative Approach by John L. Hennessy, David A. Patterson. The Morgan Kaufmann Series in Computer Architecture and Design, 6th Edition.