Supportdecours Architecturedesordi
Supportdecours Architecturedesordi
Support de cours
Architecture des ordinateurs
Classes : L1-INFO
Chapitre 1 :
Les Composants de base d’un
ordinateur
1) Introduction :
Un ordinateur un ensemble de composants électroniques destinée à stocker des données et
à les traiter pour les transformer et les restituer sur écran ou sur imprimante.
Un ordinateur est composé de deux parties :
✓ Matériels (hardware) pour désigner les composants électroniques de
l’ordinateur.
✓ Logiciels (software) pour désigner les applications et les systèmes
d’exploitation.
2) Architecture d’un ordinateur
L’origine de cette architecture est l’idée de Von Neumann en 1945. Un ordinateur est
composé d’une unité centrale et de périphériques.
3) Historique
➢ Ordinateur entre 1940 et 1950 (Calculateur) :
4) Les périphériques :
Les périphériques sont les organes externes d’un ordinateur, ils permettent le dialogue
entre l’utilisateur et la machine. Chaque périphérique peut faire entrer ou recevoir des
informations sous une forme précise (texte, image, son, …). On distingue 3 types : les
périphériques d’entrée (PE), les périphériques de sortie (PS) et les périphériques
d’entrée/sortie (PE/S).
a) Les périphériques d’entrée :
➢ Le clavier
➢ La souris
➢ Le scanner
➢ La webcam
➢ Le microphone
➢ La manette de jeux
➢ L’imprimante
➢ Les haut-parleur
➢ Le vidéo projecteur
5) Le boîtier
Le boîtier de l'ordinateur est le squelette métallique abritant ses différents composants
internes. Les éléments de choix principaux d'un boîtier sont : sa forme et sa couleur, ses
dimensions, le nombre d'emplacements pour des lecteurs, son alimentation…
Les boîtiers sont fournis, généralement, avec un bloc d'alimentation. Le boîtier doit
assurer la ventilation des éléments de l'ordinateur qui peuvent atteindre des températures
élevées.
6) Le bloc d’alimentation
Le bloc d’alimentation (en anglais power supply) permet de fournir des tensions
continues (+12V, +5V, +3.3V, 0V, -5V, -12V) à l’ensemble des composants de l’ordinateur
à partir de la tension délivrée par le secteur. Il possède un commutateur permettant de choisir
le type de tension à délivrer (230V à 50Hz ou 110V à 60Hz). Il donne une puissance entre
350 et 450 Watts.
Pour tester un bloc d’alimentation sans carte mère, il faut relier les deux connecteurs
(PS_ON et COM) avec un trombone plié ou autre objet métallique.
7) La carte mère
La carte mère ou « mainboard » est l'élément constitutif principal de l'ordinateur. Elle
prend la forme d'un grand circuit imprimé. La carte mère est le socle permettant la
connexion de l'ensemble des éléments essentiels de l'ordinateur.
9) Conclusion
L’ordinateur est un équipement qui a supporté des améliorations énormes et qui est
essentiel dans tous les domaines.
Chapitre 2 :
Les composants de la carte mère
Objectifs : Connaître les caractéristiques des différents composants de la carte mère tel que le
processeur, les mémoires, le chipset, les connecteurs, etc.
1) Introduction
La carte mère ou « motherboard » est l'élément constitutif principal de l'ordinateur. Elle
prend la forme d'un grand circuit imprimé. Elle possède des connecteurs pour les cartes
d'extension, les barrettes de mémoires, le processeur, etc. La carte mère est le socle
permettant la connexion de l'ensemble des éléments essentiels de l'ordinateur.
2) Le processeur
Le processeur, microprocesseur ou CPU (Central Processing Unit soit Unité Centrale de
Traitement) est le cerveau de l’ordinateur. Il permet de manipuler des informations
numériques, c’est-à-dire des informations codées sous forme binaire, et d’exécuter les
instructions stockées en mémoire vive. Il se présente sous forme d'un circuit électronique
qui peut compter des millions de transistors.
i7 qui contient 771 millions de transistors avec une finesse de gravure de 45 nm (10-9
mètre). Sa Mémoire cache est de 8 Mo, sa fréquence est de 3.06 Ghz (i7 880) et il contient
8 coeurs logiques / 4 coeurs physiques.
b) Technologies du processeur :
Les microprocesseurs (MP) ont deux technologies : CISC et RISC.
➢ CISC (Complex Instruction Set Computer) : beaucoup de transistors, sur
chauffage, prix bas, traitement séquentiel (Intel Pentium4).
➢ RISC (Reduced Instruction Set Computer) : moins de transistors, commandes
simples et rapides, traitement parallèle (Motorola Power PC).
c) Instructions du processeur :
Une instruction est l'opération élémentaire que le processeur peut accomplir. Les
instructions sont divisées en 4 catégories:
➢ Accès à la mémoire : des accès à la mémoire ou transferts de données entre registres.
➢ Opérations arithmétiques : opérations telles que les additions, soustractions,
divisions ou multiplication.
➢ Opérations logiques : opérations ET, OU, NON, NON exclusif, etc.
➢ Contrôle : contrôles de séquence, branchements conditionnels, etc.
d) Registres du processeur :
Lorsque le processeur exécute des instructions, les données sont temporairement
stockées dans de petites mémoires rapides de 8, 16, 32 ou 64 bits que l'on appelle registres.
Suivant le type de processeur le nombre global de registres peut varier d'une dizaine à
plusieurs centaines. Les registres principaux sont :
➢ le registre accumulateur (ACC), stockant les résultats des opérations arithmétiques
et logiques.
➢ le registre d'état (PSW, Processor Status Word), permettant de stocker des
indicateurs sur l'état du système (retenue, dépassement, etc).
➢ le registre instruction (RI), contenant l'instruction en cours de traitement.
➢ le compteur ordinal (CO ou PC pour Program Counter), contenant l'adresse de la
prochaine instruction à traiter.
➢ le registre tampon, stockant temporairement une donnée provenant de la mémoire.
➢ une unité d'instruction (ou unité de commande) qui lit les données arrivant, les décode
puis les envoie à l'unité d'exécution. Elle contient :
• le séquenceur : chargé de synchronisé l’exécution des instructions au rythme
d’une horloge.
• le compteur ordinal : contenant l’adresse de l’instruction en cours.
• le registre d’instruction : contenant l’instruction suivante.
➢ Une unité d'exécution (ou unité de traitement), qui accomplit les tâches que lui a
données l'unité d'instruction. Elle Contient:
• l'unité arithmétique et logique (UAL) : assure les fonctions basiques de calcul
arithmétique et les opérations logiques.
• l'unité de virgule flottante (FPU) : accomplit les calculs complexes non entiers
que ne peut réaliser l’UAL.
• le registre d'état .
• le registre accumulateur.
➢ Une unité de gestion des bus (ou unité d'entrées-sorties): gère les flux d'informations
entrant et sortant, en interface avec la mémoire vive
Exemple:
Intel Pentium 4 3.2 GHz LGA775 FSB800 HT L2 – 2MB
✓ Technologie : Intel Pentium 4
✓ Fréquence d’horloge : 3.2 GHz
✓ Socket : LGA775
✓ Mémoire cache : L2 – 2MB
✓ Fréquence FSB : 800 MHz
3) Les mémoires
On appelle « mémoire » tout composant électronique capable de d’enregistrer, de conserver
et de restituer des informations (stocker des données). C’est un circuit à semi-conducteur. On
distingue ainsi deux grandes catégories de mémoires :
✓ La mémoire centrale : permet de mémoriser temporairement les données lors de
l'exécution des programmes. Elle est aussi appelée mémoire vive.
✓ La mémoire de masse : permet de stocker des informations à long terme, y compris
lors de l'arrêt de l'ordinateur. Elle correspond aux dispositifs de stockage magnétiques
(disque dur), dispositifs de stockage optique (CD/DVD ROM) et mémoires mortes.
a) La mémoire vive
La mémoire vive est appelée RAM (Random Access Memory). C’est la mémoire
principale du système. Elle permet de stocker de manière temporaire des données lors de
l'exécution d'un programme. La mémoire vive est volatile : elle permet uniquement de
stocker des données tant qu'elle est alimentée électriquement. Chaque fois que l'ordinateur
est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.
La mémoire vive est constituée de centaines de milliers de petits condensateurs
emmagasinant des charges. Lorsqu'il est chargé, l'état logique du condensateur est égal à 1,
dans le cas contraire il est à 0. Chaque condensateur représente un bit de la mémoire.
Les condensateurs sont rechargés (rafraîchis) à un intervalle de temps régulier appelé cycle
de rafraîchissement. (exemple : les mémoires DRAM nécessitent des cycles de
rafraîchissement de 15 ns). Chaque condensateur est couplé à un transistor permettant de «
récupérer » ou de modifier l'état du condensateur.
Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède
à une case mémoire (aussi appelée point mémoire) par une ligne et une colonne. Chaque
case mémoire est caractérisée par une adresse, correspondant à un numéro de ligne et un
numéro de colonne. Cet accès n'est pas instantané et s'effectue pendant un délai appelé
temps de latence. Le temps l'accès à une donnée en mémoire est égal : au temps de cycle
auquel il faut ajouter le temps de latence.
Sur un ordinateur, le temps de cycle correspond à l'inverse de la fréquence de l'horloge, par
exemple pour un ordinateur cadencé à 200 MHz, le temps de cycle est de 5 ns (1/(200*106)).
Exemple : Pour une mémoire de type DRAM, le temps d'accès est de 60 nanosecondes
(35ns de délai de cycle et 25 ns de temps de latence).
Il existe de nombreux types de mémoires vives qui se présentent toutes sous la forme de
barrettes de mémoire enfichables sur la carte-mère.
➢ La DRAM (Dynamic RAM, RAM dynamique) est le type de mémoire le plus répandu
vers les années 1980 (sous forme de matrice). Ce sont des mémoires dont le temps
d'accès est de 60 ns (35ns de délai de cycle et 25 ns de temps de latence). Avec la
DRAM, les accès mémoire se font généralement sur des données rangées
consécutivement en mémoire.
➢ La SDRAM (Synchronous DRAM), apparue en 1997, permet une lecture des données
synchronisée avec le bus de la carte-mère, contrairement à la DRAM qui possède sa
propre horloge. La SDRAM permet de s'affranchir des temps d'attente dus à la
synchronisation avec la carte mère. Elle permet d'obtenir un gain de 3 cycles par
rapport à la DRAM. Elle est capable de fonctionner avec une cadence allant jusqu'à
150 Mhz, lui permettant d'obtenir des temps d'accès d'environ 10 ns.
➢ La DDR-SDRAM (Double Data Rate SDRAM) est basée sur la technologie SDRAM
permettant de doubler le taux de transfert de la SDRAM à fréquence égale. Elle est
utilisée pour les PC de génération Pentium III et Pentium 4. Les mémoires DRAM
standard utilisent une méthode appelée SDR (Single Data Rate) consistant à lire ou à
écrire une donnée à chaque front montant. La DDR permet de doubler la fréquence
des lectures/écritures, avec une horloge cadencée à la même fréquence, en envoyant
les données à chaque front montant et à chaque front descendant.
➢ La mémoire DDR2 permet d'atteindre des débits deux fois plus élevés que la DDR à
fréquence externe égale. La mémoire DDR2 utilise en effet deux canaux séparés pour
la lecture et pour l'écriture, si bien qu'elle est capable d'envoyer ou de recevoir deux
fois plus de données que la DDR. La DDR2 possède un plus grand nombre de
connecteurs que la DDR classique (240 contre 184 pour la DDR).
➢ La DDR3-SDRAM (Double Data Rate three SDRAM), apparue en 2007, est la 3ème
génération de la technologie DDR. La DDR3 fournit un débit deux fois plus important
que la DDR2. Elle permet d'atteindre un débit de 6.4 GB/s pour la DDR3-800, de 10.7
GB/S pour de la DDR3-1333 et de 17 GB/S pour de la DDR3-2133. Les barrettes
DDR3 ont 240 connecteurs comme les DDR2 mais ne sont absolument pas
compatibles (des détrompeurs empêchent l'insertion).
b) La mémoire morte
La ROM (Read Only Memory ou mémoire en lecture seule) est appelée mémoire morte,
ou mémoire non volatile car elle ne s'efface pas lors de la mise hors tension du système. Ce
type de mémoire permet notamment de conserver les données nécessaires au démarrage de
l'ordinateur. Étant donné que les ROM sont beaucoup plus lentes que les RAM (une ROM
a un temps d'accès de l'ordre de 150 ns tandis qu'une mémoire de type SDRAM a un temps
d'accès d'environ 10 ns), les instructions contenues dans la ROM sont parfois copiées en
RAM au démarrage, on parle alors de shadowing (ombrage).
4) Le BIOS
Le BIOS (Basic Input/Output System) est le programme basique servant d'interface entre le
système d'exploitation et la carte mère. Le BIOS est le premier programme qui s'exécute sur
un ordinateur. Il est contenu dans une mémoire morte (EEPROM ou Flash-EPROM) située
sur la carte mère. Tous les paramètres (données) du BIOS sont stockés dans le CMOS pour
connaître la configuration matérielle du système.
La majorité des BIOS ont un « setup » (programme de configuration) qui permet de modifier
la configuration basique du système. Lorsque tous les tests ont été effectués, le BIOS affiche
un message invitant l'utilisateur à appuyer sur une ou plusieurs touches afin d'entrer dans le
setup du BIOS (F2, F10, DEL …).
• Il gère et signale les erreurs (à l’écran et/ou par des séries de BIP)
• Il affiche les différentes opérations en cours
• Il gère l’accès de l’utilisateur à ses propres paramètres
• Il lance le programme situé sur la première unité bootable
• Une fois le SE lancé, il assure les fonctions d'interface avec le matériel.
Le BIOS est écrit en code machine et a généralement été développé en langage assembleur
par le fabricant de la carte mère. Dans certains cas, il est nécessaire de mettre à jour le Bios
(correction de bugs, gestion de nouveaux périphériques …). Cette possibilité s'appelle flasher
le Bios. Elle n'est possible que sur des Bios contenu dans des boîtiers réinscriptibles. Cette
opération est délicate et peut détruire celui-ci.
Il existe de nombreux BIOS dans chaque machine :
• Le BIOS de la carte mère
• Le BIOS qui contrôle le clavier
• Le BIOS de la carte vidéo
• Le BIOS de contrôleurs SCSI qui permettent de booter sur le périphérique SCSI
• Le BIOS de cartes réseau qui permettent de booter sur le réseau
5) Le CMOS
Le CMOS (Complementary Metal-Oxyde Semiconductor, parfois appelé BIOS CMOS)
est un circuit électronique qui conserve des informations sur le système, telles que l'heure
et la date système. Le CMOS est une mémoire qui contient aussi des informations sur le
matériel installé dans l'ordinateur (comme par exemple le nombre de pistes, de secteurs de
chaque disque dur).
Il peut être nécessaire dans certains cas d'effacer la mémoire Cmos (perte de mot de
passe, mémoire altérée, changement de configuration désastreux …). Dans ce cas, il
faut lire attentivement la notice du constructeur.
6) La Pile du CMOS
Le CMOS est continuellement alimenté par une pile ou une batterie située sur la carte
mère. Le CMOS est une mémoire lente, mais elle consomme en revanche infiniment moins
d'énergie d’où son alimentation par des piles. Lorsque l'heure du système est régulièrement
réinitialisée, il faut changer la pile.
8) Le chipset
Le chipset (jeu de circuits) est un circuit électronique chargé de coordonner les échanges
de données entre les divers composants de l'ordinateur (processeur, mémoire...). C’est un
circuit qui contrôle la majorité des ressources (interface de bus du processeur, mémoire
cache et mémoire vive, slots d'extension,...). Il est important de choisir une carte-mère
embarquant un chipset récent afin de garantir au PC un maximum de chance de pouvoir
évoluer.
Certains chipsets intègrent parfois une puce graphique audio, réseau, etc. Ce qui signifie
qu'il n'est pas nécessaire d'installer une carte graphique, une carte son, une carte réseau.
Pour installer des cartes d'extension de meilleure qualité dans les emplacements prévus à
cet effet ; il est suffisant de mettre en place une carte d'extension pour désactiver la carte
intégrée.
Les chipsets sont souvent composés de 2 puces northbridge et southbridge reliées entre
elles et ayant chacune leurs fonctions. Les constructeurs comme Intel nomment ces puces
MCH et ICH, Nvidia SPP et MCP. Les chipsets plus anciens peuvent porter d’autres noms
et étaient d’ailleurs composés d’une seule puce (Nforce3, nForce4...). Les nombreuses
appellations indiquent les couples de chipsets tels i865pe/ICH5-R, P965/ICH8-R, VIA
K8M890/VT8237A.
a) Le NorthBridge
Le NorthBridge (Pont Nord ou Northern Bridrge, appelé également contrôleur mémoire)
est chargé de contrôler les échanges entre le processeur, la mémoire vive et le port AGP ou
PCI Express. Le NorthBridge est situé géographiquement proche du processeur. Le
NorthBridge est parfois appelé GMCH pour Graphic and Memory Controller Hub.
b) Le SouthBridge
Le SouthBridge (Pont Sud ou Southern Bridrge, appelé également contrôleur d’entrée
sortie ou contrôleur d’extension) gère la communication avec les périphériques
d’entrée/sortie et le NorthBridge. Le SouthBridge est appelé ICH pour Input/Output
Controller Hub.
9) Les connecteurs
Dans une carte mère, il existe différents types de connecteurs :
✓ les connecteurs de mémoire de masse (disque dur, lecteur DVD, etc).
✓ les connecteurs d’extension (carte réseau, carte graphique, etc).
✓ les connecteurs d’entrée/sortie.
✓ les connecteurs de mémoire vive (DDR2-SDRAM, DDR3-SDRAM, etc).
✓ le connecteur d’alimentation de la carte mère.
✓ le connecteur d’alimentation du processeur.
Les connecteurs Serial ATA (SATA) sont apparus en février 2003 afin de pallier les
limitations des connecteurs IDE. Les cartes mères actuelles sont équipées, généralement, de
4 connecteurs SATA. Le standard Serial ATA est basé sur une communication en série.
Une voie de données est utilisée pour transmettre les données et une autre voie sert à la
transmission d'accusés de réception. Le câble utilisé par le Serial ATA est un câble rond
composé de sept fils et terminé par un connecteur de 8 mm. Trois fils servent à la masse et
les deux paires servent à la transmission de données.
bus local permet de s’affranchir du bus PCI qui est trop lent pour l’affichage en
3D (il assure seulement une vitesse de 132 Mo/s). Le bus AGP se décline en
plusieurs versions (1X, 2X, 4X et 8X) permettant d’obtenir des débits compris
entre 250 Mo/s et 2 Go/s.
10) Conclusion
La carte mère est l'un des éléments essentiels d'un ordinateur. Elle assure la connexion
physique des différents composants (processeur, mémoire, carte d'entrées/sorties, ...) par
l’intermédiaire de différents bus (adresses, données et commande). Plusieurs technologies
de bus peuvent se côtoyer sur une même carte mère. La qualité de la carte mère est vitale
puisque la performance de l’ordinateur dépend énormément d’elle.
Chapitre 3 :
Le disque dur
Objectifs : Connaître les caractéristiques des disques durs et avoir une idée sur les différentes
opérations réalisées sur les disques durs.
1) Introduction
Le disque dur (Anglais : hard disk) est une mémoire de masse magnétique (Support de
stockage). Il est utilisé principalement dans les ordinateurs, mais également dans des baladeurs
numériques, des caméscopes, des consoles de jeux vidéo, etc.
3) Historique
Le disque dur a été inventé en 1956 par IBM. C’est le RAMAC 305 (Random Access
Method of Accounting and Control) qui était constitué de 50 disques de 24 pouces de diamètre
et deux têtes de lecture/écriture.
occuper un fichier sur le disque. En effet le système d'exploitation exploite des blocs qui sont
en fait plusieurs secteurs (entre 1 et 16 secteurs). Un fichier minuscule devra donc occuper un
cluster.
Son principal avantage est son temps d'accès faible, généralement de 0,1 ms contre 13 ms.
Le disque dur SSD offre des débits allant de 550 Mo/s en mode lecture et 500 Mo/s en mode
écriture. Sa consommation électrique est également plus faible. Par ailleurs, le silence total et
sa résistance accrue aux chocs sont des atouts incontournables. Le nombre d'écritures sur une
même zone du « disque » est limité à quelques centaines de milliers (ce qui est rapidement
atteint en cas d'utilisation de mémoire virtuelle ou de fichiers de log). La capacité du disque dur
SSD est inférieure à celle du disque dur classique. Le coût du disque dur SSD est élevé par
rapport au disque dur classique.
défectueux du disque dur. Le formatage de bas niveau est réalisé aussi dans les cas
suivants : un virus de boot s’auto-réplique en permanence, le disque dur ne
fonctionne pas correctement (bruits bizarres), refus d’installation du système
d’exploitation, blocage du formatage classique, etc. Il existe plusieurs utilitaires
pour la réalisation du formatage de bas niveau.
11) Conclusion
Le disque dur est un support de stockage qui nécessite des opérations de maintenance
préventives comme la défragmentation et le nettoyage.
Chapitre 4 :
Les cartes d’extensions
1) Introduction
Dans un ordinateur, une carte d’extension est un circuit imprimé connectable à la carte mère
via un bus informatique (PCI, AGP, PCI Express, etc). Le but d’une carte d’extension est
d’ajouter des capacités ou des fonctionnalités à un ordinateur. Les cartes d’extension les plus
courantes sont la carte graphique, la carte son et la carte réseau.
2) La carte graphique
Une carte graphique ou carte vidéo ou carte VGA ou encore adaptateur graphique, est une
carte d’extension d’ordinateur dont le rôle est de produire une image affichable sur un écran.
Cette carte envoie à l’écran des images stockées dans sa mémoire, à une fréquence et dans un
format qui dépendent d’une part de l’écran branché et du port sur lequel il est branché (grâce
au Plug and Play) et de sa configuration interne d’autre part.
Une carte graphique est caractérisée, généralement, par son processeur graphique, sa
mémoire vidéo, sa connexion à la carte mère, sa connectique et son fabricant.
Les principaux constructeurs de cartes graphiques sont NVDIA et AMD-ATI. Intel aussi
est un constructeur de cartes graphiques. Elle a livré en 2010 la majorité des solutions
graphiques pour PC dans le monde sous la forme de chipsets avec contrôleur graphique intégré.
3) La carte Son
La carte son (en anglais audio card ou sound card) est une carte d'extension d'ordinateur. Sa
principale fonction est de gérer les entrées-sorties sonores de l'ordinateur. Elle se présente sous
la forme d'un périphérique que l'on peut connecter à l'ordinateur sur un bus PCI, PCI Express,
PCMCIA (pour ordinateur portable), USB ou Firewire. Actuellement, les cartes mères
possèdent une carte son intégrée.
Les principaux éléments d'une carte son sont :
a) Le processeur spécialisé : l'APU (Audio Processing Unit), c’est un DSP (digital signal
processor) spécialisé dans le son, chargé de tous les traitements numériques du son
(écho, réverbération, effets 3D, etc.).
4) La carte réseau
La carte réseau (Network Interface Card, notée NIC) constitue l'interface entre l'ordinateur
et le câble du réseau. La fonction d'une carte réseau est de préparer, d'envoyer et de contrôler
les données sur le réseau. La carte réseau possède généralement deux témoins lumineux (LEDs)
: la LED verte qui correspond à l'alimentation de la carte et la LED orange (10 Mb/s) ou rouge
(100 Mb/s) indique une activité du réseau (envoi ou réception de données).
La carte réseau est une carte d'extension s'insérant dans un connecteur d'extensions. Le
connecteur le plus répandu de la carte réseau est le connecteur RJ-45 (réseau filaire). La carte
réseau Wi-Fi (réseau sans fils) possède une antenne qui permet l'envoi et la réception des
signaux.
5) Conclusion
La carte d’extension est un circuit électronique amovible apportant une ou plusieurs
fonctions à l'ordinateur. Une carte d'extension est donc chargée d'étendre les capacités d’un PC.
Chapitre 5:
Architecture des microprocesseurs
1) Introduction
L'apparition des microprocesseurs date du début des années 1970. Grâce aux progrès de
l’intégration, l'augmentation des performances des microprocesseurs a porté sur la vitesse de
fonctionnement, la largeur des mots traités (8, 16, 32, 64 bits) et le nombre et la complexité des
opérations réalisables.
Le bus de données : il est bidirectionnels et il permet la transmission des données qui doivent
être traitées par le CPU.
Le bus d’adresses : il est unidirectionnel et il permet d’adresser un élément par le CPU.
➢ Les Registres :
de cette destination pour que l'information qui circule sur le bus puisse y entrer et ne pas
entrer ailleurs en même temps. Le processeur est constitué d'un ensemble d'unités
fonctionnelles.
➢ Les interruptions :
➢ L’écriture en mémoire
Pour écrire une donnée dans la mémoire le CPU doit placer l’adresse de la donnée sur
le bus d’adresses (son emplacement dans la mémoire) puis il place la donnée sur le bus de
données et enfin génère le signe WRITE (ordre d’écriture dans la mémoire).
➢ La lecture de la mémoire
Pour lire une donnée de la mémoire le CPU doit connaître son emplacement, en effet il
dépose son adresse sur le bus d’adresses puis génère le signal READ (il demande une
opération de lecture de la mémoire) alors la donnée ser acheminée vers le CPU à travers le
bus de données.
Chapitre 6:
Microprocesseur 8086
1) Introduction
Le 8086 (développé en 1978) est le premier MP de type x86. Il est équipé d'un bus de
données de 16 bits et un bus d’adresses de 20 bits et fonctionne à des fréquences diverses selon
plusieurs variantes: 5, 8 ou 10 MHz. Le processeur 8086 d'Intel est à la base des processeurs
Pentium actuels.
En effet, les processeurs successifs (de PC) se sont construits petit à petit en ajoutant à
chaque processeurs des instructions et des fonctionnalités supplémentaires, mais en conservant
les spécificités du processeur précédent.
2) Architecture externe du 8086
Le microprocesseur 8086 est un circuit intégré de forme DIL de 40 pattes comme le montre
la figure suivante :
et d'établir les transmissions avec les bus du système. Il fournit l’interface physique entre le
microprocesseur et le monde extérieur. L'UE exécute les instructions qui lui sont transmises par
l'UIB. Il comporte essentiellement l’UAL de 16 bits qui manipule les registre généraux de 16
bits aussi. Pendant que l'UE exécute les informations qui lui sont transmises, l'instruction
suivante est chargée dans l'UIB. Les instructions qui suivront sont placées dans une file d'attente
(6 octets pour 8086). Lorsque l'UE a fini de traite une instruction l'UIB lui transmet
instantanément l'instruction suivante, et charge la troisième instruction en vue de la transmettre
à l'UE. De cette façon, l'UE est continuellement en activité. On parle du prétraitement ou
traitement pipeline.
En effet, les registres généraux peuvent être utilisés dans toutes les opérations
arithmétiques et logiques que le programmeur insère dans le code assembleur.
Un registre complet présente une grandeur de 16 bits. Chaque registre est en réalité divisé
en deux registres distincts de 8 bits. Le programmeur dispose de 8 registres internes de 16 bits
qu’on peut diviser en deux groupes.
✓ Groupe de données :formé par 4 registres de 16 bits (AX, BX, CX et DX) chaque
registre peut être divisé en deux registres de 8 bits (AH, AL, BH, BL, CH, CL, DH
et DL)
✓ Un groupe de pointeur et indexe : formé de 4 registres de 16 bits (SI, DI, SP et BP)
et font généralement référence à un emplacement en mémoire.
✓ Les pointeurs SP et BP (Stack pointer et base pointer) : Ils pointent sur la zone pile
(une zone mémoire qui stocke l’information avec le principe filo), ils présentent un
décalage par rapport à la base (le registre SS).
Le registre d'état FLAG sert à contenir l'état de certaines opérations effectuées par le
processeur. Par exemple, quand le résultat d'une opération est trop grand pour être contenu
dans le registre cible un bi spécifique du registre d'état (le bit OF) est mis à 1 pour indiquer
le débordement.
➢ Gestion de la mémoire
L’espace mémoire adressable (1 méga = 220 bits du bus d’adresse ) du 8086/8088 est
divisé en quatre segment logiques allant jusqu'à 64 Koctets chacun. L’accès à ces espaces
est direct et simultané. Or le compteur de programme est de 16 bits donc la possibilité
d’adressage est de 216 = 64 Ko (Ce qui ne couvre pas la totalité de la mémoire). Alors on
utilise deux registres pour indiquer une adresse au processeur.
Chaque segment débute à l'endroit spécifié par le registre segment. Le déplacement
(offset) à l’intérieur de chaque segment se fait par un registre de décalage qui permet de
trouver un information à l'intérieur du segment.
On appellera segment de mémoire une zone mémoire adressable avec une valeur fixée
du segment (max 64 Ko). On a vu que le registre IP, qui stocke l’adresse d’une instruction,
fait 16 bits. Or, avec 16 bits il n’est possible d’adresser que 2 16 = 64 Kilo octets. Le bus
d’adresses du 8086 possède 20 bits. Cette adresse de 20 bits est formée par la juxtaposition
d’un registre segment (16 bits de poids fort) et d’un déplacement (offset, 16 bits de poids
faible) :
➢ Implémentation de la pile
Les piles offrent un nouveau moyen d’accéder à des données en mémoire principale, qui
est très utilisé pour stocker temporairement des valeurs. Le schéma suivant montre
comment une valeur est stocke dans la pile (pushed) et comment elle est récupérée (poped).
➢ Organisation de la mémoire
Le 8086 est un processeur 16 bits (bus de données de 16 bits), ce qui donne la possibilité
à ce microprocesseur d’accéder en même temps à deux cases mémoires de 8 bits. En effet
pour le 8086 la mémoire est organisée en deux Banks (un bank pair et un bank impair
chacun de 512 KO).
Pour sélectionner les banks pair et impair le 8086 utilise deux signaux (BHE et A0 : le
premier bit du bus d’adresse).
Pour sélectionner le bank pair A0=0 et pour sélectionner le bank impair BHE = 0
Chapitre 7:
Le jeu d’instructions du
microprocesseur 8086
1) Introduction
Le langage assembleur est très proche du langage machine (des informations en binaire).
Il dépend donc du type de processeur. Ainsi il n'existe pas un langage assembleur, mais un
langage assembleur par type de processeur. Les fonctions en notation hexadécimale sont
difficiles à retenir, c'est pourquoi le langage assembleur a été mis au point. Il permet de noter
les instructions avec des noms explicites suivis de paramètres. L'utilisation du langage
assembleur consiste à écrire sous forme symbolique la succession d'instructions.
Ces instructions sont stockées dans un fichier texte (le fichier source) qui, grâce à un
programme spécifique (assembleur ) sera traduit en langage machine. Exemple : Pour copier le
contenu de la mémoire à l'adresse 0110h dans le registre AX du processeur 8086, on écrit :
MOV AX, [0110]
2) Programmation en assembleur
Pour traduire un programme en langage machine, on doit passer par les phases suivantes
Parmi les logiciels qui permettent le passage entre les trois phases présentée dans la figure
précédente, on cite : MASM (Microsoft Assembler), TASM (Turbo assembler) et NASM. On
retrouve l'assembleur dans la programmation des systèmes de base des machines (le pilotage
du clavier, de l'écran…), le pilotage de nouveaux périphériques (imprimantes, scanners…), etc.
Donc l’avantage de l’assembleur est de générer des programmes efficaces et rapides à
l'exécution.
3) Structure d’un programmation en assembleur :
➢ Rappel :
Un processeur est relié à la mémoire par l'intermédiaire d'une liaison appelée bus. Les
données dont le processeur 8086 a besoin sont stockées dans des registres (AX, BX, CX, DX,
IP, SI, CS, DS, SS, ...). Chacun a sa propre utilité. Les registres AX, BX, CX et DX sont les
registres les plus utilisés pour les calculs.
4) Instructions du 8086
On peut diviser les instructions du 8086/88 en 7 groupes comme suit :
✓ Instructions de transfert de données.
✓ Instructions arithmétiques
✓ Instructions de bits (logiques).
✓ Instructions de sauts de programme.
✓ Instructions de chaîne de caractères.
✓ Instructions de contrôle de processus.
✓ Instructions d’interruptions.
✓ MOV : Elle permet de transférer les données (un octet ou un mot) d’un registre à
un autre registre ou d’un registre à une case mémoire, sa syntaxe est comme suit :
✓ PUSH : Elle permet d’empiler les registres du CPU sur le haut de la pile.
✓ POP : Elle permet de dépiler les registres du CPU sur le haut de la pile.
Exemple :
✓ IN / OUT : Elle permet de récupérer des données d’un port (donc de la périphérie) ou
restituer des données à un port, dans les deux cas s’il s’agit d’envoyer ou de recevoir un octet
on utilise l’accumulateur AL, s’il s’agit d’envoyer ou de recevoir un mot on utilise
l’accumulateur AX.
Syntaxe : IN ACCUMULATEUR, DX
➢ Instructions arithmétiques
✓ ADC (Addition avec retenue) : Elle permet d’additionner le contenu de la source (octet
ou un mot) avec celui de la destination et la retenue (CF); le résultat est mis dans la destination.
Exemples :
Exemples :
INC [SI] : [SI] = [SI] + 1 le contenu de la case mémoire pointé par SI sera incrémenter.
Exemples :
Exemples :
Exemples :
✓ NEG (Négatif) :Elle soustrait l’opérande destination (octet ou mot) de 0 le résultat est
stocker dans la destination. Donc cette opération réalise le complément à deux d’un nombre.
Syntaxe : NEG Destination
Exemples :
NEG AX ; AX = 0 – AX.
NEG AL ; AL = 0 – AL.
✓ CMP (Comparaison) : Elle soustrait la source de la destination , qui peut être un octet
ou un mot , le résultat n’est pas mis dans la destination , en effet cette instruction touche
uniquement les indicateurs pour être tester avec un autre instruction ultérieure de saut
conditionnel. Les indicateurs susceptibles d’être touché sont : AF, CF, OF, PF, SF, ZF. Cette
instruction va nous permettre de comparer deux nombres.
✓ MUL : Elle effectue une multiplication non signée de l’opérande source avec
l’accumulateur.
Si la source est un octet alors elle sera multipliée par l’accumulateur AL le résultat sur
16 bits sera stocké dans le registre AX. Si la source est un mot alors elle sera multipliée avec
l’accumulateur AX le résultat de 32 bits sera stocké dans la paire des registres AX et DX.
Cette multiplication traite les données en tant que nombres non signés.
✓ DIV : Elle effectue une division non signée de l’accumulateur par l’opérande source.
Si l’opérande est un octet, alors on récupère le quotient dans le registre AL et le reste dans le
registre AH.
Si l’opérande est un mot, alors on récupère le quotient dans le registre AX et le reste dans le
registre DX.
➢ Instructions logiques
Exemple :
Exemples :
Exemples :
Exemples :
MOV CL,3
SHL AL,CL Pour faire trois décalages de suite
Exemples :
MOV CL,4
➢ Instructions de sauts :
✓ JNE/JNZ :(Si non égal / Non zéro) Elle: transfert, avec condition, la commande à
l’emplacement de destination. Si ZF=0 alors IP = IP + déplacement.
TD N°1
Exercice 1 : Répondre par vrai ou faux.
1) L’origine de l’architecture des ordinateurs est l’idée de Von Neumann en 1975.
(…………..)
2) L’imprimante à transfert thermique est un périphérique d’entrée/sortie. (………..)
3) Le lecteur code à barre est un périphérique d’entrée/sortie. (…………..)
4) Le bloc d'alimentation permet d’alimenter les composants de l'ordinateur.
(………….)
5) Le bloc d’alimentation peut être testé sans carte mère. (…………….)
6) Le disque dur est connecté seulement à la carte mère. (…………..)
7) Le microprocesseur est le cerveau de l’ordinateur. (…………….)
8) Le microprocesseur (CPU) est un circuit électronique qui exécute les instructions
stockées en mémoire vive. (…………….)
9) le nombre global de registres dans un microprocesseur peut varier d'une dizaine à
plusieurs centaines. (……………..)
10) L’unité de gestion des bus (unité d'entrées-sorties) gère les flux d'informations
entrant et sortant, en interface avec la mémoire vive. (…………….)
11) Le socket du microprocesseur a la même forme pour tous les types des
microprocesseurs. (………….)
12) Le débit n’est pas une caractéristique des mémoires. (……………..)
13) La mémoire RAM est nécessaire pour le démarrage de l’ordinateur. (………….)
14) La mémoire RAM dynamique (DRAM) est plus rapide que la mémoire RAM
statique dynamique (SDRAM). (……………..)
15) La mémoire ROM est volatile. (……………..)
16) La mémoire PROM est l’abréviation de Programmable Read Only Memory.
(…………….)
17) Le BIOS est l’abréviation de Basic Input Output System. (………….)
18) Le BIOS est un circuit électronique qui conserve des informations sur le système.
(…………….)
19) Le CMOS est un circuit électronique qui conserve seulement des informations sur le
système, telles que l'heure et la date système. (…………….)
20) La pile de CMOS est nécessaire pour le démarrage de l’ordinateur. (…………….)
Exercice 2 : (QCM)
1) Le ventirad du microprocesseur :
2) La mémoire vive :
a. se trouve généralement sous la forme d’un circuit intégré dans la carte mère.
a. Octet
b. Hertz
c. Bit/s
4) Le BIOS :
a. est stocké dans une mémoire morte (ROM) sur la carte mère
b. est constitué d’un programme qui démarre automatiquement après la mise sous tension
du PC.
5) La mémoire EEPROM :
Exercice 3 :
Donner les noms des différents composants de la carte mère suivante :
1 : ……………………………..
2 : ……………………………..
3 : ……………………………..
4 : ……………………………..
5 : ……………………………..
6 : ……………………………..
7 : ……………………………..
8 : ……………………………..
9 : ……………………………..
10 : ……………………………
TD N°2
Exercice 1 :
1) Quelles sont les principales unités qui forment une CPU ?
Exercice 2 :
1) Donner la différence entre l’UIB et l’UE du processeur 8086.
4) Donner le contenu des registres CS et IP, sachant que le segment de code (CS) débute
dans la mémoire à l’adresse physique 54CB0 H, l’information à l’intérieur du segment
est placée à l’adresse physique 54AE7 H.
5) Les termes suivants font référence aux mémoires. Donner une définition de chacun
d’eux : Capacité, Temps d’accès, Volatilité, Taille du mot
Exercice 3 :
Soit le processeur Intel 80286 possédant des registres d’adresses internes de 16 bits et un
bus d’adresse externe de 24 bits et un bus de données de 16 bits connecté à une mémoire de 8
bits de largeur.
1) Définir la segmentation de la mémoire.
Exercice 4 :
3) Ecrire un autre programme en assembleur qui calcule la somme entre trois nombres N1,
N2 et N3 se trouvant à l’adresse [1000H], [1100H] et [1200H]. Si le résultat est positif,
il sera rangé directement dans l’adresse [2300H] et si le résultat est négatif, il sera rangé
indirectement dans l’adresse [2600H].
4) Ecrire un programme qui détermine si un nombre est premier ou non. S’il est premier,
un 1 se rangera dans DX, sinon un 0 se met dans DX.