Un ordinateur contient une unité centrale (CPU), de la mémoire et des entrées/ sorties communiquant par des bus.

Il y a différents types de bus :

  • Le bus d’adresse
  • Le bus de donnée
  • Le bus de contrôle

Les trois bus font le lien entre le CPU, la mémoire et les entrées/sorties.

Bus d’adresse

Le bus d’adresse joue le rôle de contrôleur. Il séquence l’éxécution des instructions. Il contient l’adresse de la prochaine instruction à exécuter.

Bus de donnée

Le bus de donnée apporte le chemin de donnée. Il effectue les calculs avec l’unité arithmétique et logique et le registre de données.

L’exécution d’une instruction nécessite une suite d’actions  :
 1. Chercher la prochaine instruction en mémoire (à l’adresse pc)

2.Incrémenter pc pour préparer l’instruction suivant

3. décoder l’instruction
4. aller chercher les opérandes
5. effectuer le calcul
6.  ranger le résultat

Les jeux d'instructions

On va maintenant voir les différents jeux d’instructions disponible pour un processeur.

La première chose à définir sont les différents modèles d’éxécutions qui permettront de connaître les différences entre les jeux d’instructions :

Modèles d’exécution (n,m)
n : nombre d’opérandes par instruction arithmétique et logique
m : nombre d’opérandes mémoire par instruction arithmétique et logique

Le modèle d’exécuton est l’organisation générale des échanges d’information entre processeur, registres et mémoire.

On peut maintenant voir les différents jeux d’instructions :

RISC (3,0)

Le jeu d’instruction RISC (Reduced instruction set computer) est un type d’architecture de processeur qui se caractérise par des instructions de base aisées à décoder, uniquement composées d’instructions simples. 

Celui s’oppose à des architectures traditionnelles plus lourdes CISC (complex instruction-set computer). En effet, les grandes différences de taille, de temps de décodage comme de temps d’exécution s’opposaient à des optimisations de type dit « pipeline »a

Les instructions arithmétiques et logiques ne concernent que les registres.
load et store : seules instructions mémoire
Instructions de longueur fixe

Le jeu d’instruction RISC possède plusieurs registres que l’on va détailler ci-dessous :

  • Load r2,@B –> load r1,@C –> add r3,r1,r2 –> store r3,@A
  • 32 registres généraux (entiers) r0 à r31 (pas de rôle matériel spécifique pour la plupart des registres)

  • 32 registres flottants f0 à f31: instructions UAL et mémoire,  registre Rd Rs1 op Rs2, accès mémoire Rd$Mémoire (Rs1 + dépl.)
Registre Description Registre Description
r0 Le zéro câblé r10-r11 les paramètres de fonction et les valeurs de retour.
r1 L’adresse de retour r12-r17 les paramètres de fonction
r2 Pointeur de pile r18-r27 Les valeurs de sauvegarde
r3 Pointeur global r28-r31 les valeurs temporaires
r4 Pointeur de processus léger f0-f7 les valeurs réel (nombre à virgule flottante) temporaires.
r5 Lien temporaire et alternatif f8-f9 les valeurs réel (nombre à virgule flottante) de sauvegarde.
r6 valeur temporaire f10-f11 les valeurs réel (nombre à virgule flottante) de paramètres et de valeurs de retour.
r7 valeur temporaire f12-f17 les valeurs réel (nombre à virgule flottante) de paramètres.
r8 la valeur de sauvegarde et le pointeur de cadre f18-f27 les valeurs réel (nombre à virgule flottante) de sauvegarde.
r9 La valeur de sauvegarde f28-f31 les valeurs réel (nombre à virgule flottante) temporaires.

Le jeu d’instruction RISC est utilisé majoritairement sur les processeurs MIPS et PowerPc.

  • Processeurs MIPS

Les processeurs MIPS furent les premiers du marché à implémenter l’architecture RISC. C’est un microprocesseur sans étages de pipeline de verrouillage. Les branchements du processeur MIPS combinent une comparaison entre deux registres.

UAL et Mémoire :

Branchement et status : On distingue les branchements conditionnels (adresse relative à PC) aux sauts inconditionnels, appels de procédure  (adresse absolue). Les branchements combinent une comparaison entre deux registres :

  • Processeurs PowerPC

Les processeurs de la famille PowerPC qui utilisent les jeux d’instructions RISC sont en autre les Macintosh (jusqu’en 2006), les consoles GameCube, Wii et Wii U de Nintendo ainsi que la Xbox 360 de Microsoft. Les processeurs  Power PC utilisent les résultats d’une comparaison précédente stockée dans un registre condition. On utilise les résultats d’une comparaison précédente stockée dans un registre condition :

UAL et Mémoire :

Branchement et status :

IA (32) (2,1)

Instructions mélangeant accès mémoire et calcul.

LIA-32 (Intel Architecture 32 bits), définit le jeu d’instructions des microprocesseurs Intel, AMD qui sont présents dans la grande majorité des ordinateur personnel existant dans le monde. Il est souvent défini l’architecture CISC,

Mode de fonctionnement des processeurs IA-32

L’IA-32 prend en charge les trois modes de fonctionnement: le mode réel, la mode protégé et le mode virtuel 8086.

Dans les programmes en mode protégé peuvent profiter pleinement du processeur et toute la mémoire disponible sur la machine, en mode réel et en mode 8086 virtuel, le logiciel dispose d’un méga-octet de RAM et le processeur se comporte en fonction bridé.

Exemple de fonctionnement des processeurs IA-32


2 opérandes explicites/instruction,  arithmétique et logique :  Le premier opérande peut servir de source et de destination. Un des opérandes peut être en mémoire.

Modèle également appelé registre-mémoire :

load r1,@B –> add r1,@C –> store r1,@A

Tous les opérandes sont accédés via la pile

Tous les opérandes sont accédés via la pile

Pile (0,0)

Tous les opérandes sont accédés via la pile