Cours complet architecture des ordinateurs, tutoriel maintenance PC et exercices corrigés.
1 Introduction à l’architecture
1.1 Présentation du sujet
1.2 Représentation des données
1.2.1 Introduction
1.2.2 Changements de bases
1.2.3 Codification des nombres entiers
1.2.4 Représentation des caractères
1.2.5 Représentation des nombres réels (norme IEEE)
1.3 Architecture de base d’un ordinateur
1.3.1 Principes de fonctionnement
1.3.2 La mémoire principale (MP)
1.3.3 Le processeur central
1.3.4 Liaisons Processeur-Mémoire : les bus
2 Introduction au langage machine
2.1 Caractéristiques du processeur étudié
2.2 Jeu d’instruction
2.2.1 Types d’instructions
2.2.2 Codage des instructions et mode d’adressage
2.2.3 Temps d’exécution
2.2.4 Ecriture des instructions en langage symbolique
2.2.5 Utilisation du programme debug
2.3 Branchements
2.3.1 Saut inconditionnel
2.3.2 Indicateurs
2.3.3 Sauts conditionnels
2.4 Instructions Arithmétiques et logiques
2.4.1 Instructions de décalage et de rotation
2.4.2 Instructions logiques
2.4.3 Correspondance avec le langage C
3 L’assembleur 80×86
3.1 L’assembleur
3.1.1 Pourquoi l’assembleur ?
3.1.2 De l’écriture du programme à son exécution
3.1.3 Structure du programme source
3.1.4 Déclaration de variables
3.2 Segmentation de la mémoire
3.2.1 Segment de code et de données
3.2.2 Déclaration d’un segment en assembleur
3.3 Adressage indirect
3.3.1 Exemple : parcours d’un tableau
3.3.2 Spécification de la taille des données
3.4 La pile
3.4.1 Notion de pile
3.4.2 Instructions PUSH et POP
3.4.3 Registres SS et SP
3.4.4 Déclaration d’une pile
3.5 Procédures
3.5.1 Notion de procédure
3.5.2 Instructions CALL et RET
3.5.3 Déclaration d’une procédure
3.5.4 Passage de paramètres
4 Notions de compilation
4.1 Langages informatiques
4.1.1 Interpréteurs et compilateurs
4.1.2 Principaux langages
4.2 Compilation du langage C sur PC
4.2.1 Traduction d’un programme simple
4.2.2 Fonctions C et procédures
4.3 Utilisation d’assembleur dans les programmes C sur PC
5 Le système d’exploitation
5.1 Notions générales
5.2 Présentation du BIOS
5.2.1 Les fonctions du BIOS
5.2.2 Vecteurs d’interruptions
5.2.3 Appel système : instruction INT n
5.2.4 Traitants d’interruptions
5.2.5 Quelques fonctions du BIOS
5.3 Présentation du DOS
5.3.1 Description de quelques fonctions du DOS
5.4 Modification d’un vecteur d’interruption en langage C
5.4.1 Ecriture d’un traitant d’interruption en C
5.4.2 Installation d’un traitant
6 Les interruptions
6.1 Présentation
6.2 Interruption matérielle sur PC
6.2.1 Signaux d’interruption
6.2.2 Indicateur IF
6.2.3 Contrôleur d’interruptions
6.2.4 Déroulement d’une interruption externe masquable
6.3 Exemple : gestion de l’heure sur PC
6.4 Entrées/Sorties par interruption
6.4.1 Un exemple
7 Les entrées/sorties
7.1 Les bus du PC
7.1.1 Bus local
7.1.2 Bus d’extension du PC
7.1.3 Bus local PCI
7.2 Bus de périphériques
7.2.1 Bus SCSI
7.2.2 Bus PCMCIA
7.3 Les entrées/sorties sur PC
7.3.1 Généralités
7.3.2 Modes de transfert
7.4 L’interface d’entrées/sorties séries asynchrones
7.4.1 Pourquoi une transmission série ?
7.4.2 Principe de la transmission série asynchrone
7.4.3 L’interface d’E/S séries 8250
7.4.4 Programmation de l’interface en langage C
7.4.5 Normes RS-232 et V24
8 Les périphériques
8.1 Terminaux interactifs
8.1.1 Claviers
8.1.2 Ecrans et affichage
8.1.3 Mode alphanumérique et mode graphique
8.2 Mémoires secondaires
8.2.1 L’enregistrement magnétique
8.2.2 Les disques durs
8.2.3 Lecteurs de CD-ROM
8.2.4 Autres supports optiques : WORM, magnéto-optiques
8.2.5 Bandes magnétiques
9 La mémoire
9.1 Mémoire vive
9.1.1 Technologie des mémoires vives
9.1.2 Modules de mémoire SIMM
9.2 Les Mémoires mortes
9.3 Mémoires caches
9.3.1 Hierarchie mémoire
9.3.2 Principe général des mémoires caches
9.3.3 Mémoires associatives
9.3.4 Efficacité d’un cache : principe de localité
9.3.5 Autres aspects
10 Architectures actuelles
10.0.1 Microprocesseurs
10.0.2 Micro-ordinateurs
10.0.3 Stations de travail
10.0.4 Superordinateurs
Index
Introduction à l’architecture
Présentation du sujet
Le cours d’Architecture des Ordinateurs expose les principes de fonctionnement des ordinateurs. Il ne s’agit pas 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 œuvre à bon escient, puis nous conclurons ce cours par un panorama des différentes architectures actuelles (processeurs CISC et RISC, stations de travail etc.).
Représentation des données
Introduction
Les informations traitées par un ordinateur peuvent être de différents types (texte, nombres, etc.) mais elles sont toujours représentées et manipulées par l’ordinateur sous forme binaire. Toute information sera traitée comme une suite de 0 et de 1. L’unité d’information est le chiffre binaire (0 ou 1), que l’on appelle bit (pour binary digit, chiffre binaire).Le codage d’une information consiste à établir une correspondance entre la représentation externe (habituelle) de l’information (le caractère A ou le nombre 36 par exemple), et sa représentation interne dans la machine, qui est une suite de bits.On utilise la représentation binaire car elle est simple, facile à réaliser techniquement à l’aide de bistables (système à deux états réalisés à l’aide de transistors..)
Changements de bases
Avant d’aborder la représentation des différents types de données (caractères,nombres naturels, nombres réels), il convient de se familiariser avec la représentation d’un nombre dans une base quelconque (par la suite, nous utiliserons souvent les bases 2, 8, 10 et 16).Habituellement, on utilise la base 10 pour représenter les nombres, c’est à dire que l’on écrit à l’aide de 10 symboles distincts, les chiffres.
Codification des nombres entiers
La représentation (ou codification) des nombres est nécessaire afin de les stocker et manipuler par un ordinateur. Le principal problème est la limitation de la taille du codage : un nombre mathématique peut prendre des valeurs arbitrairement grandes, tandis que le codage dans l’ordinateur doit s’effectuer sur un nombre de bits fixé.Entiers naturels Les entiers naturels (positifs ou nuls) sont codés sur un nombre d’octets fixé (un octet est un groupe de 8 bits). On rencontre habituellement des codages sur 1,2 ou 4 octets, plus rarement sur 64 bits (8 octets, par exemple sur les processeurs DEC Alpha).
Architecture de base d’un ordinateur
Dans cette partie, nous décrivons rapidement l’architecture de base d’un ordinateur et les principes de son fonctionnement.
Un ordinateur est une machine de traitement de l’information. Il est capable d’acquérir de l’information, de la stocker, de la transformer en effectuant des traitements quelconques, puis de la restituer sous une autre forme. Le mot informatique vient de la contraction des mots information et automatique. Nous appelons information tout ensemble de données. On distingue généralement différents types d’informations : textes, nombres, sons, images, etc., mais aussi les instructions composant un programme. Comme on l’a vu dans la première partie, toute in-formation est manipulée sous forme binaire (ou numérique) par l’ordinateur.
Principes de fonctionnement
Les deux principaux constituants d’un ordinateur sont la mémoire principale et le processeur. La mémoire principale (MP en abrégé) permet de stocker de l’information (programmes et données), tandis que le processeur exécute pas à pas les instructions composant les programmes.
Notion de programme Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre par le processeur. Ces instructions correspondent à des actions très simples, comme additionner deux nombres, lire ou écrire une case mémoire, etc. Chaque instruction est codifiée en mémoire sur quelques octets. Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire composés d’instructions très élémentaires suivant un codage précis. Chaque type de processeur est capable d’exécuter un certain ensemble d’instructions, son jeu d’instructions. Pour écrire un programme en langage machine, il faut donc connaître les détails du fonctionnement du processeur qui va être utilisé.
…….
Cours complet architecture des ordinateurs (660 KO) (Cours PDF)
et moi je veux connaîtra ça.
je ne sais que pouvez m’aider