Titre: Architecture des ordinateurs
Auteurs: Emmanuel Viennet
Ecole: IUT de Villetaneuse
Résumé: Le cours d’Architecture des Ordinateurs expose les principes de fonctionnement des ordinateurs. Il ne s’agit pas ici d’apprendre à programmer, mais de comprendre, à bas niveau, l’organisation de ces machines. Nous nous appuierons sur l’étude détaillée de l’architecture du PC, dont nous étudierons le processeur et son langage machine, les fonctions de base de son système d’exploitation (BIOS), et ses mécanismes de communication avec l’extérieur (entrées/sorties). Nous aborderons aussi le fonctionnement de différents périphériques de l’ordinateur (écran, clavier, disques durs, CD-ROMs…), afin d’apprendre à les mettre en oeuvre à bon escient, puis nous conclurons ce cours par un panorama des différentes architectures actuelles (processeurs CISC et RISC, stations de travail etc.).
Extrait du sommaire:
1 Introduction à l’architecture 9
1.1 Présentation du sujet 9
1.2 Représentation des données 9
1.2.1 Introduction 9
1.2.2 Changements de bases 10
1.2.3 Codification des nombres entiers 12
1.2.4 Représentation des caractères 13
1.2.5 Représentation des nombres réels (norme IEEE) 14
1.3 Architecture de base d’un ordinateur 17
1.3.1 Principes de fonctionnement 17
1.3.2 La mémoire principale (MP) 18
1.3.3 Le processeur central 20
1.3.4 Liaisons Processeur-Mémoire : les bus 23
2 Introduction au langage machine 25
2.1 Caractéristiques du processeur étudié 25
2.2 Jeu d’instruction 26
2.2.1 Types d’instructions 26
2.2.2 Codage des instructions et mode d’adressage 27
2.2.3 Temps d’exécution 28
2.2.4 Ecriture des instructions en langage symbolique 28
2.2.5 Utilisation du programme debug 30
2.3 Branchements 30
2.3.1 Saut inconditionnel 32
2.3.2 Indicateurs 32
2.3.3 Sauts conditionnels 34
2.4 Instructions Arithmétiques et logiques 34
2.4.1 Instructions de décalage et de rotation 35
2.4.2 Instructions logiques 36
2.4.3 Correspondance avec le langage C 37
3 L’assembleur 80×86 39
3.1 L’assembleur 39
3.1.1 Pourquoi l’assembleur ? 39
3.1.2 De l’écriture du programme à son exécution 40
3.1.3 Structure du programme source 40
3.1.4 Déclaration de variables 40
3.2 Segmentation de la mémoire 43
3.2.1 Segment de code et de données 43
3.2.2 Déclaration d’un segment en assembleur 44
3.3 Adressage indirect 44
3.3.1 Exemple : parcours d’un tableau 46
3.3.2 Spécification de la taille des données 47
3.4 La pile 47
3.4.1 Notion de pile 47
3.4.2 Instructions PUSH et POP 47
3.4.3 Registres SS et SP 48
3.4.4 Déclaration d’une pile 48
3.5 Procédures 51
3.5.1 Notion de procédure 51
3.5.2 Instructions CALL et RET 51
3.5.3 Déclaration d’une procédure 52
3.5.4 Passage de paramètres 52
4 Notions de compilation 55
4.1 Langages informatiques 55
4.1.1 Interpréteurs et compilateurs 55
4.1.2 Principaux langages 56
4.2 Compilation du langage C sur PC 56
4.2.1 Traduction d’un programme simple 57
4.2.2 Fonctions C et procédures 59
4.3 Utilisation d’assembleur dans les programmes C sur PC 61
5 Le système d’exploitation 63
5.1 Notions générales 63
5.2 Présentation du BIOS 64
5.2.1 Les fonctions du BIOS 64
5.2.2 Vecteurs d’interruptions 65
5.2.3 Appel système : instruction INT n 65
5.2.4 Traitants d’interruptions 66
5.2.5 Quelques fonctions du BIOS 66
5.3 Présentation du DOS 66
5.3.1 Description de quelques fonctions du DOS 66
5.4 Modification d’un vecteur d’interruption en langage C 67
5.4.1 Ecriture d’un traitant d’interruption en C 67
5.4.2 Installation d’un traitant 68
6 Les interruptions 69
6.1 Présentation 69
6.2 Interruption matérielle sur PC 70
6.2.1 Signaux d’interruption 70
6.2.2 Indicateur IF 70
6.2.3 Contrôleur d’interruptions 71
6.2.4 Déroulement d’une interruption externe masquable 71
6.3 Exemple : gestion de l’heure sur PC 72
6.4 Entrées/Sorties par interruption 73
6.4.1 Un exemple 73
7 Les entrées/sorties 75
7.1 Les bus du PC 75
7.1.1 Bus local 76
7.1.2 Bus d’extension du PC 76
7.1.3 Bus local PCI 77
7.2 Bus de périphériques 78
7.2.1 Bus SCSI 78
7.2.2 Bus PCMCIA 78
7.3 Les entrées/sorties sur PC 78
7.3.1 Généralités 78
7.3.2 Modes de transfert 79
7.4 L’interface d’entrées/sorties séries asynchrones 79
7.4.1 Pourquoi une transmission série ? 79
7.4.2 Principe de la transmission série asynchrone 80
7.4.3 L’interface d’E/S séries 8250 81
7.4.4 Programmation de l’interface en langage C 85
7.4.5 Normes RS-232 et V24 87
8 Les périphériques 89
8.1 Terminaux interactifs 89
8.1.1 Claviers 89
8.1.2 Ecrans et affichage 90
8.1.3 Mode alphanumérique et mode graphique 92
8.2 Mémoires secondaires 93
8.2.1 L’enregistrement magnétique 94
8.2.2 Les disques durs 95
8.2.3 Lecteurs de CD-ROM 97
8.2.4 Autres supports optiques : WORM, magnéto-optiques 98
8.2.5 Bandes magnétiques 98
9 La mémoire 101
9.1 Mémoire vive 101
9.1.1 Technologie des mémoires vives 101
9.1.2 Modules de mémoire SIMM 102
9.2 Les Mémoires mortes 102
9.3 Mémoires caches 103
9.3.1 Hierarchie mémoire 103
9.3.2 Principe général des mémoires caches 104
9.3.3 Mémoires associatives 104
9.3.4 Efficacité d’un cache : principe de localité 105
9.3.5 Autres aspects 105
10 Architectures actuelles 107
10.0.1 Microprocesseurs 107
10.0.2 Micro-ordinateurs 107
10.0.3 Stations de travail 107
10.0.4 Superordinateurs 108
Index 108
Télécharger le fichier PDF: Architecture des ordinateurs