Cours Architecture GL1
Cours Architecture GL1
ARCHITECTURE DES
ORDINATEURS
SUPPORT DE COURS
Page 2 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Introduction
Ce module a pour but de vous faire découvrir les principes et les concepts fondamentaux de
l’architecture des ordinateurs, c’est-à-dire la façon dont les ordinateurs sont conçus, organisés
et fonctionnent. Vous allez apprendre à connaître les différents composants d’un système
informatique, tels que le processeur, la mémoire, les périphériques, les bus, etc. Vous allez
également apprendre à maîtriser le langage d’assemblage, qui est le langage de bas niveau
utilisé pour programmer directement le processeur. Enfin, vous allez découvrir les
architectures nouvelles et spécialisées, qui visent à optimiser les performances et les capacités
des ordinateurs.
Objectif général
L’objectif général de ce module est de vous donner les bases nécessaires pour comprendre et
analyser l’architecture des ordinateurs, ainsi que pour écrire des programmes en langage
d’assemblage.
Objectifs spécifiques
À la fin de ce module, vous serez capables de :
❖ Identifier les principaux éléments constitutifs d’un système informatique, et
comprendre le rôle et le fonctionnement de chaque composant.
❖ Décrire l’architecture interne d’un processeur et le déroulement d’une instruction.
❖ Distinguer les différents types et technologies de mémoire et les principes de la
hiérarchie et de l’organisation de la mémoire.
❖ Connaître les outils et les étapes de la programmation en langage d’assemblage.
❖ Savoir implémenter des structures de contrôle, des sous programmes et des
interruptions en langage d’assemblage.
❖ Comprendre les principes de la conversion de signaux et les caractéristiques de la
liaison série.
❖ Identifier les différents types de périphériques d’entrée/sortie et leurs modes de
fonctionnement.
❖ Connaître les différentes architectures nouvelles et spécialisées et leurs avantages,
inconvénients, applications et exemples.
Page 3 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
2. Le hardware
Le Hardware d’un système informatique représente l’ensemble des éléments
constitutifs de sa partie matérielle.
Dans le hardware on retrouve :
a) Les périphériques
Un périphérique informatique est un dispositif connecté à un système de traitement
de l’information central (ordinateur, console de jeu, etc.) et qui ajoute à ce dernier
des fonctionnalités. Les périphériques peuvent être internes ou externes, locaux
ou en réseau, selon leur mode de connexion et de fonctionnement. On peut
classer généralement les périphériques en quatre types :
❖ Les périphériques d’entrée sont des dispositifs qui permettent de saisir des
informations ou des données et de les transmettre à l’unité centrale. Par
exemple, le clavier, la souris, le scanner, le microphone, etc.
❖ Les périphériques de sortie sont des dispositifs qui permettent d’afficher
ou de restituer les informations ou les données traitées par l’unité centrale.
Par exemple, l’écran, l’imprimante, le haut-parleur, etc.
❖ Les périphériques de stockage sont des dispositifs qui permettent de
conserver les informations ou les données de façon permanente ou
temporaire. Par exemple, le disque dur, la clé USB, le CD-ROM, etc.
❖ Les périphériques d’entrée et sortie sont des dispositifs qui combinent les
fonctions d’entrée et de sortie. Par exemple, l’écran tactile, le modem, le
lecteur-graveur de CD-ROM, etc.
Page 4 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
b) L’unité centrale
L’unité centrale est le boîtier qui contient les principaux composants d’un
ordinateur, tels que le processeur, la mémoire, le disque dur, la carte mère, etc.
C’est l’élément essentiel d’un ordinateur de bureau, auquel sont reliés les
périphériques comme l’écran, le clavier, la souris, etc. L’unité centrale est
responsable du traitement des données et des instructions, ainsi que de la
communication avec les autres éléments du système.
L’unité centrale contient entre autres les composants essentiels suivants :
❖ La mémoire centrale ou principale qui est l’organe qui stocke les informations
ou les données pendant le fonctionnement de l’ordinateur. Elle est
composée de deux types de mémoires : la mémoire vive (RAM) et la
mémoire morte (ROM) :
❖ La mémoire vive (RAM) est une mémoire volatile, c’est-à-dire qu’elle perd
son contenu lorsque l’ordinateur est éteint. Elle sert à stocker
temporairement les données et les programmes en cours d’exécution.
❖ La mémoire morte (ROM) est une mémoire non volatile, c’est-à-dire qu’elle
conserve son contenu même lorsque l’ordinateur est éteint. Elle sert à
stocker des données et des programmes essentiels au démarrage et au
fonctionnement de l’ordinateur.
❖ Le microprocesseur est l’organe qui exécute les instructions des programmes
et effectue les opérations arithmétiques et logiques. Il est composé de trois
parties : l’unité arithmétique et logique (UAL), l’unité de contrôle (UC) et
les registres :
o L’unité arithmétique et logique (UAL) est la partie du
microprocesseur qui réalise les calculs et les comparaisons.
o L’unité de contrôle (UC) est la partie du microprocesseur qui
coordonne le fonctionnement des différents organes de l’ordinateur
et assure le déroulement des instructions des programmes.
o Les registres représentent les mémoires dans lesquelles sont
stockées les données du microprocesseur
Page 5 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
❖ Les ports sont des connecteurs qui permettent de relier l’unité centrale aux
périphériques ou à d’autres ordinateurs. Il existe différents types de ports
selon la nature et la vitesse du transfert des données. Par exemple, le port
USB, le port HDMI, le port Ethernet, etc.
Page 6 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
❖ La carte mère est le support principal sur lequel sont fixés ou connectés les
principaux composants de l’ordinateur, tels que le microprocesseur, la
mémoire centrale, les ports, etc.
Page 7 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 8 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 9 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
bits et peut être suivi d’un ou plusieurs opérandes, qui sont les données sur
lesquelles l’opération s’applique
❖ Le micro-séquenceur, qui est une logique simple et câblée, chargée de dérouler le
microprogramme, c’est-à-dire la suite de micro-instructions correspondant à une
macro-instruction. Il interprète le code opération et les opérandes de la macro-
instruction et exécute le microcode.
❖ Le microcode, qui est l’ensemble des micro-instructions stockées dans une
mémoire interne au microprocesseur. Il existe différents types de microcode, tels
que le microcode horizontal, qui utilise un nombre très grand de bits pour contrôler
tous les éléments du processeur, ou le microcode vertical, qui utilise un nombre
réduit de bits pour coder des opérations plus complexes.
❖ Le séquenceur (ou unité de contrôle), qui est le cerveau du microprocesseur, qui
commande l’ensemble des organes du microprocesseur. Il génère les signaux de
contrôle nécessaires pour le déroulement des micro-instructions.
❖ L’unité arithmétique et logique (ou UAL) qui est le cœur du processeur, qui
effectue les opérations arithmétiques (addition, soustraction, multiplication,
division, etc.) et logiques (et, ou, non, etc.) sur les données provenant des registres
ou de la mémoire centrale.
❖ Le bus qui est un ensemble de fils qui relie le processeur aux autres composants
du système informatique, tels que la mémoire centrale, les périphériques
d’entrée/sortie, etc. Il permet le transfert des données, des adresses et des signaux
de contrôle. Il existe différents types de bus, tels que le bus d’adresses, le bus de
données, le bus de contrôle, etc.
❖ Le chemin de données (ou data path) est l’ensemble des circuits qui permettent le
transfert des données entre les différents éléments du processeur, tels que les
registres, l’UAL, le compteur ordinal, etc.
❖ La mémoire centrale (ou mémoire principale) qui stocke les données et les
programmes en cours d’exécution. Elle est organisée en unités adressables appelées
octets (ou bytes), qui sont généralement codés sur 8 bits. La mémoire centrale peut
être composée de différents types de technologies, telles que la RAM (Random
Access Memory), la ROM (Read Only Memory), etc.
❖ Les mécanismes d’adressage sont les règles qui permettent au processeur d’accéder
aux données stockées dans la mémoire centrale ou dans les registres internes. Il
Page 10 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
❖ Le cycle de recherche (ou fetch) consiste à lire l’instruction à l’adresse indiquée par
le compteur ordinal (CO ou PC), qui est un registre interne qui contient l’adresse
de la prochaine instruction à exécuter. L’instruction est transférée du bus de
données, qui est un ensemble de fils qui relie le processeur aux autres composants
du système informatique, vers le registre d’instruction (RI), qui est un registre
interne qui stocke temporairement l’instruction à exécuter. Le compteur ordinal est
ensuite incrémenté de la taille de l’instruction, sauf en cas de saut ou de
branchement conditionnel.
❖ Le cycle de décodage (ou decode) consiste à analyser le code opération (ou opcode)
et les opérandes de l’instruction. Le code opération est la partie de l’instruction qui
indique au processeur quelle opération il doit effectuer. Il est généralement codé
sur quelques bits et peut être suivi d’un ou plusieurs opérandes, qui sont les données
sur lesquelles l’opération s’applique. Le code opération est envoyé à l’unité de
contrôle (UC), qui est le cerveau du processeur, qui génère les signaux de contrôle
nécessaires pour le déroulement de l’instruction. Les opérandes sont envoyés à
l’unité arithmétique et logique (UAL), qui est le cœur du processeur, qui effectue
les opérations arithmétiques et logiques sur les données. Les opérandes peuvent
provenir de la mémoire centrale (MC), qui est une mémoire volatile qui stocke les
programmes et les données utilisés par le processeur, ou des registres internes, qui
sont des mémoires rapides qui stockent temporairement les données utilisées par le
processeur. Il existe différents types de registres, tels que les registres d’index, les
Page 11 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
registres accumulateurs, les registres d’état, etc. Les opérandes peuvent être adressés
selon différents mécanismes d’adressage, qui sont les règles qui permettent au
processeur d’accéder aux données stockées dans la mémoire centrale ou dans les
registres internes. Il existe différents types de mécanismes d’adressage, tels que
l’adressage immédiat, l’adressage direct, l’adressage indirect, l’adressage relatif, etc.
❖ Le cycle d’exécution (ou execute) consiste à effectuer l’opération demandée par
l’instruction. L’opération est réalisée par l’UAL, qui reçoit les opérandes et produit
le résultat. L’UAL peut également modifier le contenu du registre d’état (RE), qui
est un registre interne qui contient des bits indiquant certaines conditions résultant
de l’exécution de l’instruction, telles que le dépassement de capacité, le zéro, le
signe, etc. Ces bits peuvent servir à déterminer le résultat des tests logiques ou des
branchements conditionnels.
❖ Le cycle d’écriture (ou write) consiste à enregistrer le résultat de l’opération dans un
registre ou dans la mémoire centrale. Le résultat est transféré depuis l’UAL vers le
bus de données, puis vers la destination choisie par l’instruction
Début
|
V
Cycle de recherche
|
V
Cycle de décodage
|
V
Cycle d'exécution
|
V
Cycle d'écriture
|
V
Fin
Page 12 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
ADD R1,R2
Début
|
V
Cycle de recherche : lire l'instruction à l'adresse CO et la stocker dans RI, incrémenter CO
|
V
Cycle de décodage : envoyer le code opération ADD à l'UC, envoyer les opérandes R1 et R2 à l'UAL
|
V
Cycle d'exécution : effectuer l'addition R1 + R2 et stocker le résultat dans R1, modifier éventuellement
RE
|
V
Cycle d'écriture : pas d'écriture nécessaire dans ce cas
|
V
Fin
Page 13 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
LD R3,(100)
Début
|
V
Cycle de recherche : lire l'instruction à l'adresse CO et la stocker dans RI, incrémenter CO
|
V
Cycle de décodage : envoyer le code opération LD à l'UC, envoyer l'opérande R3 à l'UAL, envoyer
l'adresse 100 sur le bus d'adresses
|
V
Cycle d'exécution : pas d'exécution nécessaire dans ce cas
|
V
Cycle d'écriture : lire la donnée à l'adresse 100 sur le bus de données et la stocker dans R3
|
V
Fin
❖ JMP (R4) : Cette instruction signifie qu’il faut sauter à l’adresse contenue dans le
registre R4. Le code opération est JMP et l’opérande est (R4). L’unité de contrôle
envoie le contenu du registre R4 sur le bus d’adresses et modifie le compteur ordinal
avec cette valeur. Le processeur reprend alors le cycle de recherche à partir de cette
adresse.
JMP (R4)
Début
|
V
Cycle de recherche : lire l'instruction à l'adresse CO et la stocker dans RI, incrémenter CO
|
V
Cycle de décodage : envoyer le code opération JMP à l'UC, envoyer l'opérande (R4) à l'UAL
|
V
Cycle d'exécution : pas d'exécution nécessaire dans ce cas
|
V
Cycle d'écriture : envoyer le contenu du registre R4 sur le bus d'adresses et modifier CO avec cette valeur
|
V
Fin
Page 14 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
III. La mémoire
La mémoire est la capacité de stocker et de manipuler des informations dans un système
informatique. Il existe différents types et technologies de mémoire, qui se distinguent
par leur vitesse, leur capacité, leur coût et leur fonctionnement.
1. Types et technologies
Les types et technologies de mémoire sont les différentes catégories et caractéristiques
des mémoires informatiques, qui se distinguent par leur vitesse, leur capacité, leur coût,
leur fonctionnement et leur proximité avec le processeur. Parmi les types et
technologies de mémoire les plus courants, on peut citer :
❖ Les registres, qui sont des mémoires électroniques très rapides et de faible
capacité, intégrées au processeur. Ils servent à stocker temporairement les
données et les instructions utilisées par le processeur. Il existe différents types
de registres, tels que les registres d'index, les registres accumulateurs, les registres
d'état, etc.
❖ La mémoire cache, qui est une mémoire électronique rapide et de capacité
moyenne, située entre le processeur et la mémoire principale. Elle sert à stocker
temporairement les données et les instructions les plus fréquemment utilisées
par le processeur, afin de réduire le temps d'accès à la mémoire principale. Il
existe différents niveaux de mémoire cache, tels que la cache L1, la cache L2 ou
la cache L3.
❖ La mémoire centrale (ou mémoire principale) qui stocke les données et les
programmes en cours d’exécution., située sur la carte mère. La mémoire
principale est composée de deux parties :
o La plus courante est la mémoire vive ou RAM (Random Access Memory),
qui est une mémoire volatile permettant un accès rapide et aléatoire aux
informations. Il existe différents types de RAM, comme la DRAM
(Dynamic RAM), la SRAM (Static RAM) ou la DDR SDRAM (Double
Data Rate Synchronous Dynamic RAM), qui se différencient par leur
technologie, leur vitesse et leur consommation électrique.
o La ROM qui est une mémoire non volatile qui stocke des instructions et
des données permanentes, comme le BIOS (qui permet le démarrage de
l’ordinateur), mais elle est généralement de capacité plus faible que la
RAM et elle n’est pas accessible en écriture par le processeur. La ROM
Page 15 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
est donc moins utilisée que la RAM pour les programmes et les données
en cours d’exécution.
❖ La mémoire flash, qui est une mémoire électronique non volatile et de grande
capacité, située sur des supports amovibles ou internes. Elle sert à stocker des
données de façon permanente ou semi-permanente. La mémoire flash permet
un effacement et une réécriture rapides des données, contrairement aux
mémoires mortes ou ROM (Read Only Memory), qui ne peuvent être modifiées
qu'une seule fois ou pas du tout. La mémoire flash est utilisée pour les disques
SSD (Solid State Drive), les clés USB, les cartes mémoire, etc.
❖ La mémoire de masse, qui est une mémoire non volatile et de très grande
capacité, située sur des supports externes ou internes. Elle sert à stocker des
données de façon permanente ou semi-permanente. La mémoire de masse la
plus courante est le disque dur, qui utilise un support magnétique pour
enregistrer les informations. Il existe différents types de « disques durs », comme
les disques HDD (Hard Disk Drive), qui font physiquement tourner un plateau,
ou les disques SSD (Solid State Drive), qui utilisent de la mémoire flash. Il existe
aussi d'autres types de mémoires de masse, comme les disques optiques (CD-
ROM, DVD-ROM, etc.), qui utilisent un faisceau laser pour lire ou graver les
informations.
2. Hiérarchie de la mémoire
La hiérarchie de la mémoire désigne l’organisation des mémoires informatiques en
différents niveaux selon leur vitesse, leur capacité, leur coût et leur proximité avec le
processeur. Le processeur accède aux instructions et aux données depuis la mémoire,
mais tous les niveaux de mémoire ne sont pas égaux. Les mémoires les plus rapides
sont les plus chères et les plus proches du processeur, comme les registres, tandis que
les mémoires les plus lentes sont les moins chères et les plus éloignées du processeur,
comme le disque dur. La hiérarchie de la mémoire permet d’optimiser le temps d’accès
aux informations en utilisant des principes tels que la localité spatiale (les données
proches sont souvent accédées ensemble) ou la localité temporelle (les données
récemment accédées sont souvent réutilisées).
Page 16 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Régistres
- Capacité de stockage +
Mémoire
cache
- Vitesse +
Mémoire principale
Mémoire flash
Mémoire de masse
3. Implantation physique
L’implantation physique de la mémoire désigne la façon dont les informations sont
représentées et stockées sur un support matériel. L’implantation physique dépend du
type et de la technologie de la mémoire utilisée. Par exemple, la RAM utilise des
condensateurs ou des bascules pour stocker les bits d’information sous forme de
charges électriques, tandis que le disque dur utilise des têtes de lecture/écriture pour
modifier le champ magnétique d’un disque rotatif. L’implantation physique de la
mémoire influe sur ses caractéristiques, comme sa capacité, sa vitesse, sa fiabilité ou sa
consommation électrique.
4. Organisation et utilisation
L’organisation et l’utilisation de la mémoire désignent la façon dont les informations
sont structurées et gérées dans un système informatique. L’organisation et l’utilisation
de la mémoire dépendent du système d’exploitation, du langage de programmation et
du type d’application utilisés. Par exemple, le système d’exploitation peut utiliser des
techniques comme la pagination ou la segmentation pour diviser l’espace mémoire en
unités logiques et gérer les accès aux différentes zones de la mémoire. Le langage de
programmation peut utiliser des concepts comme les variables, les tableaux ou les
pointeurs pour manipuler les données en mémoire. Le type d’application peut utiliser
des structures de données comme les listes, les piles ou les arbres pour organiser les
informations en fonction de leurs relations logiques.
Page 17 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
5. Mécanismes d’adressages
Les mécanismes d’adressage sont les moyens de désigner les différentes parties de la
mémoire dans un système informatique. Les mécanismes d’adressage dépendent du
processeur, du système d’exploitation et du langage de programmation utilisés. Il existe
différents modes d’adressage, qui se différencient par la façon dont l’adresse mémoire
est calculée à partir des éléments de l’instruction. Par exemple, les modes d’adressage
les plus courants sont :
❖ L’adressage direct, qui utilise une adresse mémoire explicite comme opérande.
Par exemple, l’instruction LOAD A, 100 signifie charger dans le registre A le
contenu de la mémoire à l’adresse 100.
❖ L’adressage indirect, qui utilise un registre ou une mémoire comme opérande,
dont le contenu est l’adresse mémoire effective. Par exemple, l’instruction
LOAD A, (B) signifie charger dans le registre A le contenu de la mémoire à
l’adresse contenue dans le registre B.
❖ L’adressage indexé, qui utilise un registre ou une constante comme opérande,
dont le contenu est ajouté à une adresse de base pour obtenir l’adresse mémoire
effective. Par exemple, l’instruction LOAD A, 100(X) signifie charger dans le
registre A le contenu de la mémoire à l’adresse 100 plus le contenu du registre
X.
❖ L’adressage relatif, qui utilise une constante comme opérande, dont le contenu
est ajouté au compteur ordinal pour obtenir l’adresse mémoire effective. Par
exemple, l’instruction LOAD A, 10 signifie charger dans le registre A le contenu
de la mémoire à l’adresse 10 plus le contenu du compteur ordinal.
❖ L’adressage absolu, qui utilise une adresse mémoire fixe comme opérande,
indépendamment du contexte d’exécution. Par exemple, l’instruction LOAD A,
#100 signifie charger dans le registre A le contenu de la mémoire à l’adresse
absolue 100.
Page 18 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 19 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
; Langage assembleur
MOV AH, 0Eh ; Fonction d'affichage
MOV AL, 'A' ; Caractère à afficher
INT 10h ; Appel au BIOS
; Langage machine
B4 0E ; MOV AH, 0Eh
B0 41 ; MOV AL, 'A'
CD 10 ; INT 10h
Page 20 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
; Langage assembleur
MOV AX, 5 ; AX = 5
ADD AX, 7 ; AX = AX + 7
; Langage machine
B8 05 00 ; MOV AX, 5
05 07 00 ; ADD AX, 7
Page 21 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 22 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 23 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 24 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 25 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
mnémonique destination
Où mnémonique est le nom de l’instruction et destination est l’opérande qui
indique la nouvelle adresse du pointeur d’instruction. La sémantique des
instructions de contrôle du flux est la suivante :
❖ Le changement du pointeur d’instruction est effectué selon une condition
ou une étiquette. Une condition est une expression logique qui dépend des
drapeaux du registre d’état. Une étiquette est un nom symbolique qui
désigne une adresse dans le programme.
❖ Les opérandes possibles sont des registres, des mémoires, des constantes
ou des étiquettes, selon le type d’instruction. Les opérandes doivent être
de même taille que le pointeur d’instruction (16 ou 32 bits), sauf pour
certaines instructions spéciales.
❖ Les restrictions éventuelles sont liées au mode d’adressage ou aux règles
d’utilisation des registres. Par exemple, il n’est pas possible de sauter à une
adresse absolue en mode protégé ou à une adresse relative en mode réel.
❖ Les drapeaux utilisés sont des bits du registre d’état qui indiquent certaines
conditions résultant de l’exécution des opérations arithmétiques ou
logiques. Par exemple, le bit Z (zéro) indique si le résultat de la dernière
opération est nul ou non, le bit C (carry) indique si un report a été généré
ou non, etc.
Les exemples d’utilisation des instructions de contrôle du flux sont les suivants
:
❖ Réaliser des boucles. Par exemple, le code suivant affiche 10 fois le
caractère ‘A’ à l’écran :
MOV CX, 10 ; Initialiser le compteur à 10
BOUCLE: ; Début de la boucle
MOV AH, 0Eh ; Fonction d'affichage
MOV AL, 'A' ; Caractère à afficher
INT 10h ; Appel au BIOS
LOOP BOUCLE ; Décrémenter le compteur et sauter à BOUCLE si non nul
Page 26 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 27 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
4. Assembleur et désassembleur
a) Qu’est-ce qu’un assembleur ?
Un assembleur est un programme qui traduit un programme écrit en langage
assembleur en un programme écrit en langage machine. L’assembleur permet au
programmeur de manipuler directement les instructions du microprocesseur sans
avoir à connaître leur représentation binaire. Le processus d’assemblage consiste
à analyser le code source en langage assembleur et à générer le code objet en
langage machine correspondant. L’assembleur produit différents formats de
fichiers selon le type et le mode d’exécution du programme :
❖ Le format binaire est un fichier qui contient uniquement le code machine
du programme, sans aucune information supplémentaire. Le format
binaire est utilisé pour les programmes qui s’exécutent directement sur le
microprocesseur sans passer par un système d’exploitation.
❖ Le format hexadécimal est un fichier qui contient le code machine du
programme sous forme de caractères hexadécimaux, séparés par des
espaces ou des sauts de ligne. Le format hexadécimal est utilisé pour
visualiser ou modifier facilement le code machine du programme.
Page 28 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 29 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 30 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Où format est le format de fichier souhaité (bin, hex, obj, exe, etc.),
source.asm est le nom du fichier source en langage assembleur et
destination est le nom du fichier destination en langage machine.
❖ Pour désassembler un programme avec DEBUG, il faut utiliser la
commande suivante :
nasm -f format source.asm -o destination
❖ Les directives sont des mots-clés qui indiquent à l’assembleur comment traiter
le code source. Les directives ne sont pas traduites en langage machine, mais
elles servent à définir des propriétés du programme, comme le type et la taille
des données, l’adresse de départ du programme, l’alignement des segments de
Page 31 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
mémoire, etc. Les directives sont précédées d’un point et suivies d’un ou
plusieurs paramètres. Par exemple :
ORG 100h ; Définit l'adresse de départ du programme à 100h
DB 65 ; Définit un octet de valeur 65
DW 1234h ; Définit un mot de valeur hexadécimale 1234
DD 12345678h ; Définit un double mot de valeur hexadécimale 12345678
EQU 10 ; Définit une constante de valeur 10
❖ Les étiquettes sont des noms symboliques qui désignent une adresse dans le
programme. Les étiquettes servent à identifier les données ou les instructions du
programme, et à faciliter les références entre elles. Les étiquettes sont suivies
d’un deux-points et doivent être uniques dans le programme. Par exemple :
msg: db "Hello, world!", 0 ; Étiquette msg pour le message
main: ; Étiquette main pour le point d'entrée du programme
MOV AH, 0Eh ; Instruction pour afficher un caractère
MOV AL, [msg] ; Instruction pour charger le premier caractère du message dans AL
Pour utiliser les instructions du microprocesseur x86 pour réaliser des tâches simples,
il faut connaître la syntaxe, la sémantique et les exemples d’utilisation des instructions.
Voici quelques exemples de tâches simples réalisées avec les instructions du
microprocesseur x86 :
❖ Afficher un message à l’écran. Pour afficher un message à l’écran, il faut utiliser
les instructions MOV et INT 21h. L’instruction MOV sert à charger les
paramètres nécessaires pour appeler la fonction d’affichage du BIOS (Basic
Input Output System), qui est un ensemble de routines bas niveau qui gèrent les
périphériques externes. L’instruction INT 21h sert à appeler la fonction
d’affichage du BIOS en provoquant une interruption logicielle. Par exemple, le
code suivant affiche le message “Hello, world!” à l’écran :
Page 32 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
❖ Manipuler des bits. Pour manipuler des bits, il faut utiliser les instructions SHL,
SHR. Ces instructions permettent de décaler les bits d’un registre ou d’une
mémoire vers la gauche ou vers la droite. Par exemple, le code suivant décale le
contenu du registre AL de deux bits vers la droite et stocke le résultat dans le
registre AL :
.code ; Début de la section .code
main: ; Étiquette du point d'entrée du programme
MOV AL, 0Fh ; AL = 00001111b
SHR AL, 2 ; AL = AL >> 2 = 00000011b
Page 33 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
V. Techniques d’interfaçage
La technique d’interfaçage est l’ensemble des méthodes et des moyens qui permettent
de réaliser la communication entre deux systèmes ou deux composants. La
communication consiste à échanger des informations sous forme de signaux, qui
peuvent être de nature électrique, optique, acoustique, etc. La technique d’interfaçage
doit assurer la compatibilité entre les signaux émis et reçus par les systèmes ou les
composants, en tenant compte de leurs caractéristiques physiques, logiques et
temporelles.
Page 34 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
parallèle sur les entrées parallèles et les décale vers la gauche à chaque impulsion
d’horloge, puis les transmet sur la sortie série.
2. Liaison parallèle
La liaison parallèle est une technique d’interfaçage qui consiste à transmettre plusieurs
bits simultanément sur plusieurs fils. La liaison parallèle permet d’augmenter le débit
de transmission des données, mais elle nécessite plus de fils et plus de synchronisation
entre l’émetteur et le récepteur. La liaison parallèle est utilisée pour connecter des
systèmes ou des composants proches géographiquement, comme des périphériques
internes à un ordinateur (disque dur, mémoire vive, etc.). Par exemple :
❖ Le bus PCI (Peripheral Component Interconnect) est un bus parallèle qui
permet de connecter des cartes d’extension à la carte mère d’un ordinateur. Le
bus PCI utilise 32 ou 64 fils pour transmettre les données et 5 fils pour
transmettre les signaux de contrôle et de synchronisation.
❖ Le port parallèle est un port d’entrée/sortie qui permet de connecter des
périphériques externes à un ordinateur, comme une imprimante ou un scanner.
Le port parallèle utilise 8 fils pour transmettre les données et 9 fils pour
transmettre les signaux de contrôle et de synchronisation.
3. Liaison série
La liaison série est une technique d’interfaçage qui consiste à transmettre un seul bit à
la fois sur un seul fil. La liaison série permet de réduire le nombre de fils et la complexité
du câblage, mais elle limite le débit de transmission des données. La liaison série est
utilisée pour connecter des systèmes ou des composants éloignés géographiquement,
comme des réseaux informatiques ou des communications sans fil. Par exemple :
❖ Le bus USB (Universal Serial Bus) est un bus série qui permet de connecter des
périphériques externes à un ordinateur, comme une souris, un clavier ou une clé
USB. Le bus USB utilise 2 fils pour transmettre les données et 2 fils pour
transmettre l’alimentation électrique.
❖ Le port série est un port d’entrée/sortie qui permet de connecter des
périphériques externes à un ordinateur, comme un modem, un terminal ou un
appareil de mesure. Le port série utilise 1 fil pour transmettre les données et 4
fils pour transmettre les signaux de contrôle et de synchronisation.
Page 35 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 37 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
❖ Le PS/2 (Personal System/2) : c’est une interface filaire qui permet de connecter
des périphériques d’entrée à l’ordinateur à l’aide d’un câble et d’un connecteur
rond. Le PS/2 assure une transmission série des données, et il est principalement
utilisé pour les claviers et les souris.
❖ Le Bluetooth : c’est une interface sans fil qui permet de connecter des
périphériques d’entrée à l’ordinateur ou à un réseau à l’aide d’ondes radio. Le
Bluetooth assure une transmission série des données, et il existe différents types
de Bluetooth selon la portée et la vitesse de transmission (Bluetooth 1.0,
Bluetooth 2.0, Bluetooth 3.0, etc.).
Page 38 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 39 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 40 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 41 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
d’une couche réfléchissante, et d’un lecteur optique qui lit les informations à
l’aide d’un faisceau laser. Le DVD-ROM peut être lu mais pas modifié, et il
existe différents types de DVD-ROM selon la capacité ou le mode
d’enregistrement (DVD-R, DVD-RW, etc.).
Les caractéristiques techniques des périphériques de stockage sont les paramètres qui
définissent les performances et la qualité des périphériques de stockage. Ces
caractéristiques techniques peuvent varier selon le type et le modèle du périphérique
de stockage. Les principales caractéristiques techniques des périphériques de stockage
sont :
❖ La capacité : c’est la quantité d’informations que le périphérique de stockage
peut enregistrer sur son support. La capacité s’exprime en octets (o) ou en
multiples (kilo-octets (Ko), méga-octets (Mo), giga-octets (Go), téra-octets (To),
etc.). Plus la capacité est élevée, plus le périphérique de stockage peut stocker
plus d’informations.
❖ La vitesse : c'est le temps nécessaire au périphérique de stockage pour accéder,
lire ou écrire les informations sur son support. La vitesse s'exprime en
millisecondes (ms) pour le temps d'accès, en mégaoctets par seconde (Mo/s)
pour le débit de lecture ou d'écriture, ou en tours par minute (tpm) pour la
vitesse de rotation. Plus la vitesse est élevée, plus le périphérique de stockage est
rapide ou performant.
❖ La fiabilité : c'est la capacité du périphérique de stockage à conserver les
informations sans les altérer ou les perdre. La fiabilité s'exprime en taux d'erreur,
en nombre de cycles de lecture/écriture, ou en durée de vie. Plus la fiabilité est
élevée, plus le périphérique de stockage est sûr ou durable.
❖ La durée de vie : c'est le temps pendant lequel le périphérique de stockage peut
fonctionner sans panne ou sans dégradation. La durée de vie s'exprime en
heures, en jours, en années, ou en nombre d'utilisations. Plus la durée de vie est
longue, plus le périphérique de stockage est résistant ou économique.
Les interfaces de connexion des périphériques de stockage sont les moyens physiques
ou logiques qui permettent de relier les périphériques de stockage à l’ordinateur ou à
un réseau. Les interfaces de connexion peuvent être internes ou externes, et elles
doivent assurer la compatibilité et la fiabilité des échanges de données. Les principales
interfaces de connexion des périphériques de stockage sont :
Page 42 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 43 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 44 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 45 sur 46
ARCHITECTURE DES ORDINATEURS Eric Vekout, M. Ing.,
Page 46 sur 46