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 :
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
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 :
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 :
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.
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 :
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 :
Instructions mélangeant accès mémoire et calcul.
L‘ IA-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,
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é.
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
Tous les opérandes sont accédés via la pile