Introduction to Computer architecture


This course provides an overview of the architecture of microprocessor-based systems. It presents the main hardware and software components and the concept of instruction set which can be considered as the hardware-software interface. It is intended for students who never had courses in computer architecture.

Teaching and learning methods: Lectures, lab sessions and problem sessions. 

Course Policies: Attendance at the lab. sessions are mandatory.

  • Computer organization and design: the hardware software interface (Patterson, David A; Hennessy, John L), Morgan Kaufmann - 10/2013 - 800 p.
  • Computer architecture: a quantitative approach (Hennessy, John L; Patterson, David A), Morgan Kaufmann - 10/2011 - 856 p.




History of computers:

  • Binary representation of data
  • Boolean logic, Boolean logic gates, storage elements, registers
  • Combinatorial circuits, sequential circuits
  • Clock, clock frequency, the performance of microprocessors
  • Arithmetic and Logic Unit (ALU), Central Processing Unit (CPU)
  • Memory, addresses, load, store
  • Instruction, instruction set
  • Assembly languages, assembler
  • High-level programming languages, compilation

Learning Outcomes:

  • Understanding of the structure of a computer system, of its main hardware and software components of their role.
  • Programming in assembly language.
  • Understand how hardware and software interact.

Nb hours: 21.00


  • Written Exam (50% of the final grade)
  • Lab. reports (25% of the final grade)
  • Homework (25% of the final grade)