|
Architecture des systèmes informatiques
18h C / 6h TD / 18h EL / EO / 4 crédits ECTS
Henri Delebecque (Gif), Jean-Louis Gutzwiller (Metz), Claude Lhermitte (Gif), Dominique Marcadet (Gif), Jacques Weiss (Rennes)
Le systèmes informatiques sont devenus incontournables dans toutes les branches d'activité et se caractérisent par une forte imbrication des aspects matériels et logiciels. Ce cours a pour objet de présenter les concepts fondamentaux de ces systèmes indispensables à tout ingénieur. Dans un premier temps on étudiera l'architecture et la structure des processeurs classiques, en donnant quelques éclairages sur les principes des machines actuelles. On étudiera ensuite les systèmes de mémoire, ainsi que les systèmes de communication, et en particulier les structures de bus et les protocoles de dialogue correspondants. Dans un deuxième temps, on abordera les architectures logicielles et les principaux concepts mis en oeuvre dans les systèmes d'exploitation. Un accent particulier sera mis sur les notions de processus et de threads, les mécanismes de gestion du parallélisme, ainsi que sur la gestion de la mémoire dans un contexte multitâches.
Généralités sur l'architecture et la structure des ordinateurs Représentation des données (entiers signés ou non, caractères, virgule flottante) - Types d'instructions et modes d'adressage - Structure de Von Neumann (processeur, mémoire, entrées-sorties) - Accès à la mémoire (bancs de mémoire, décodage d'adresse). Logique séquentielle complexe - Conception d'un processeur Notions de chemin de données et de séquenceur - Structure à 3 bus - Séquenceurs câblés et microprogrammés. Introduction à d'autres structures et architectures Architecture RISC - Structure Pipe-line - Processeurs superscalaires - Processeurs de traitement du signal. Systèmes de communication et Entrées/sorties Structures de bus et protocoles d'arbitrage et d'échanges - Notion de contrôleur d'entrées-sorties - Typologie des contrôleurs : ports d'entrées-sorties, contrôleurs autonomes, contrôleurs en accès direct mémoire - Synchronisation entre programmes et entrées-sorties : test d'état (scrutation), interruptions (principe, gestion des priorités, vectorisation) - Programmation des interruptions. Systèmes d'exploitation Rôle, fonctions et modules principaux - Notion de processus - Contexte d'un processus - Notion de thread - Systèmes multi-threads. Parallélisme Aspects du parallélisme entre processus ou threads (synchronisation, exclusion mutuelle, communication interprocessus) - Les outils de gestion du parallélisme : événements, verrous, sémaphores - Applications à la synchronisation, l'exclusion mutuelle, la communication. Gestion de la mémoire Types de mémoires, caractéristiques - Caches : définition, justification, modes d'organisation - Notion d'espace virtuel - Pagination et segmentation - Mémoire virtuelle.
Bibliographie :
D.A. Patterson, J.L. Hennessy, «Computer Organization and Design : The Hardware/Software Interface» A.S. Tanenbaum, J.A. Hernandez, R. Joly «Architecture de l'ordinateur », Ed. Dunod. A. Silberschatz, P. Galvin, G. Gagne, «Applied Operating System Concepts », John Wiley & Sons.
|