School / Prep
ENSEIRB-MATMECA
Internal code
EI5IT102
Description
This course deals with the structure of computers. The course covers the following topics:
Introduction to the evolution of computer structure and the impact of architectural knowledge on the computer scientist
The representation of numbers in computers, integers and floats, and the implications of these encodings.
The processor, based on a simplified example of Intel architecture:
the instruction execution path, functional units
the pipeline (5-stage model), impact on performance
managing dependencies between instructions, branching
SIMD instructions
the principle of out-of-order operation
Memory
technology for storing bits
how cache memory works
Communication with peripherals, interrupts and exceptions.
Introduction to multi-core architectures
This course is complemented by practical sessions in TD, where the notions seen in class are highlighted by assembler and C programming. At the end of the module, you should be able to code a loop, a conditional, an access to an array and a function call in assembler (on simple cases). You will also be able to measure performance and demonstrate pipeline phenomena and the effects of dependencies.
Teaching hours
- CMLectures11h
- TDMMachine Tutorial20h
- TIIndividual work16h
Further information
The theme is computer architecture, for general-purpose processors, in order to understand how it works and to better grasp compilation and operating system courses in particular. There is also an introduction to performance analysis.
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Integral Continuous Control | Continuous control | 1 |