03 Architecture Des Ordinateurs
03 Architecture Des Ordinateurs
03 Architecture Des Ordinateurs
Chap. III
Architecture des ordinateurs
Sommaire
I. Définition .................................................................................................................................................................... 1
II. Blocs fonctionnels ................................................................................................................................................... 1
III. Architectures de base ............................................................................................................................................. 1
3.1 Architecture de Von Neumann................................................................................................................................. 1
3.2 Architecture de Harvard ........................................................................................................................................... 1
IV. Description et principe de fonctionnement ........................................................................................................... 2
4.1 L’unité centrale de traitement (UCT) CPU ou processeur ........................................................................................ 2
4.2 L’unité des entrées sorties (unité d’échange) .......................................................................................................... 4
4.3 Les bus : .................................................................................................................................................................... 6
V. Jeu d’instructions .................................................................................................................................................... 6
5.1 Niveaux de programmation...................................................................................................................................... 6
5.2 Architectures RISC et CISC ........................................................................................................................................ 6
5.3 Définition .................................................................................................................................................................. 6
5.4 Codage ...................................................................................................................................................................... 7
5.5 Type d’instructions ................................................................................................................................................... 7
5.6 Modes d’adressage................................................................................................................................................... 7
VI. Les interruptions ..................................................................................................................................................... 8
6.1 Principe de fonctionnement d’une interruption ...................................................................................................... 8
6.2 Mécanisme de gestion des interruptions ................................................................................................................. 8
6.3 Interruptions vectorisées ......................................................................................................................................... 9
VII. Exemple de l’architecture d’un microprocesseur 8 bits ....................................................................................... 10
I. Définition
L’architecture d’un ordinateur est la description de ses unités fonctionnelles et de leurs interconnexions. 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.
Bus
Bus
Horloge Registres
• L’unité de traitement
Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions.
Case mémoire
er
1 Opérande 2ème Opérande
Résultat
Accumulateur
Unité de traitement
1. Unité Arithmétique et Logique (ALU) : circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison,
Décalage, etc.…) ou arithmétique (Addition, soustraction).
2. Le registre d'état : Composé de bits à considérer individuellement. Chacun de ces bits est un indicateur dont l'état
dépend du résultat de la dernière opération effectuée. On les appelle indicateurs d’état ou drapeaux (flags).
- Retenue (carry : C) - Débordement (overflow : OV ou V)
- retenue intermédiaire (Auxiliary-Carry : AC) - Zéro (Z)
- Signe (Sign : S) - Parité (Parity : P)
3. Les accumulateurs : ce sont des registres de travail qui servent à stocker un opérande au début d'une opération
arithmétique et le résultat à la fin de l'opération.
• L’unité de commande
Elle comporte essentiellement :
- le registre d’instruction (RI) : reçoit l’instruction à exécuter ;
- le compteur programme (CP) ou Pointeur Instruction (IP) : Registre contenant l’adresse en mémoire où est
stockée l’instruction à chercher. Il pointe à chaque fois l’adresse de l’instruction suivante à exécuter ;
- le décodeur : détermine quelle opération doit être effectuée parmi toutes les opérations possibles ;
- le séquenceur : génère les signaux de commande ;
- l’horloge : synchronise toutes les actions de l’unité centrale.
Décodeur
Séquenceur
Horloge
Unité de commande
Acc
C1
C1
ALU Séquenceur
Décodeur
C1 B1
Cycle d’horloge
Instruction
Cycle d’instruction suivante
Espace mémoire
Espace mémoire
00..FF..h
00000...h 00000...h
(a) (b)
Figure 9 : (a) Adressage cartographique, (b) Adressage indépendant.
Interruption
Configuration
Bus
E/S
V. Jeu d’instructions
5.1 Niveaux de programmation
- Langage machine : programmation en utilisant le code machine pour chaque instruction.
- Langage assembleur : Utilisation de mnémoniques pour les instructions machines.
- Langages évolués : (Pascal, C, Java, etc. …) Les instructions sont proches du langage humain. Ces langages
nécessitent une conversion en langage machine effectuée par un interpréteur ou un compilateur.
5.3 Définition
Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le processeur peut exécuter. Une instruction
au niveau machine doit fournir à l'unité centrale toutes les informations nécessaires pour déclencher l’opération : type
d'action, où trouver le ou les opérandes, où ranger le résultat, etc. C'est pourquoi une instruction comporte plusieurs
champs ou groupes de bits. Le premier champ contient le code opération. Les autres champs peuvent comporter les
adresses des opérandes et du celle du résultat.
Code opération Adresse 1 Adresse 2 Adresse résultat
5.4 Codage
La largeur en bits de chacun des différents champs est importante, en particulier pour le code opération. Le nombre de
bits est déterminé par le nombre d'opérations distinctes envisagées : n bits autorisent 2n instructions. Cependant toutes
les opérations ne nécessitent pas forcément le même nombre de champs ou des champs de même longueur.
De manière générale, une instruction est composée de deux champs :
- Le champ code opération, qui indique au processeur quelle instruction réaliser ;
- Le champ opérande qui contient la donnée, ou la référence à une donnée en mémoire (son adresse).
d. Adressage indirect
Code opération Registre de base
Le champ adresse (ou le mot suivant) contient l'adresse d'un pointeur :
Registre qui contient l'adresse effective de l'opérande.
e. Adressage relatif
L'adresse effective est obtenue en additionnant le contenu du champ adresse de Code opération Déplacement
l'instruction au contenu du compteur programme. Ce type d'adressage est utilisé
par exemple dans des instructions de branchement.
f. Adressage indexé
Code opération Registre d’index
L'adresse effective est obtenue en additionnant le contenu du champ adresse
de l'instruction au contenu d’un registre d’indexe.
Figure 13 : Modes d’adressage.
Mémoire Centrale
Adresse ISR1
ISR 1
Adresse ISRn
ISR n
Adresse ISRi
ISR i
Adresse ISR0
ISR 0
Table des vecteurs
n Adresse ISRn
d interruptions
Numéros des
interruptions
...
i Adresse ISRi
...
1 Adresse ISR1
0 Adresse ISR0