The purpose of this course is to reveal the fundamental operating principles of computers, ranging from basic hardware to software (assembly language, operating system).
A knowledge of these principles is useful for tackling problems of performance, security, size and selection of hardware and software. Attention will focus on the principles of hardware operation of a computer (microprocessor, bus, memory, disks and network) and, subsequently, the problems of basic software for using the hardware.
The course will also provide a presentation of the foundations of compilation, a process whereby a program in a high level language like C will be translated into a machine-comprehensible language.
There are no prerequisites for this course which broadly develops the introduction given in the first-year core introduction to computers.
- Architecture of a (micro)processor (arithmetical and logical unit, pipeline, superscalar, word parallelism, control unit, random execution, provision for connections, bus, hierarchical memory, registers, cache, integrated caches, external cache, virtual memory, frequencies, protection, interruption, input/output bus, chipset).
- Machine language (examples: x86, Power PC, Bytecode Java).
- Program compilation or interpretation. Execution in a process.
Practicals for this course will enable students to handle assembly language programming. An introduction to the C language may be given within the context of these practicals.
Graduate 2nd year
|Nb. of hours
|Nb. of lessons
19 May 2016 13:29 by Franck