next up previous
Next: Résumé #4: L'arithmétique des Up: Résumés de Organisation et Previous: Résumé #2: Le rôle

Résumé #3: Les instructions: Le langage de la machine

À lire: pp. 96 à 142, 151 1/2 à 155 1/4, A-20 2/3 à A-31 1/3, A-38 à A-67, E-1 à E-10 2/3, E-21 à E-23 2/3.

L'architecture MIPS:

- Machine RISC (Reduced Instruction Set Computer):

- Motivation/objectif: Fournir des opérations simples à exécuter, de façon à simplifier l'unité de contrôle et ainsi obtenir un débit plus élevé (nombre d'instructions par seconde), i.e., un CPI plus faible.

- Registres:

- Pseudo-instructions:

- Opérations arithmétique et logiques, e.g., add, sub, or, and, etc.:

- Architecture rangement/chargement:

- Branchements et tests:

- Support machine pour procédures et fonctions:

- Mode d'adressage: Indique comment l'architecture spécifie les adresses des objets qu'elle va accéder. (Dans le cas d'un accès mémoire, on parle alors de la spécification de l'adresse effective.)

Quatre (4) modes d'adressage sur MIPS (au niveau machine):

i)
Adressage par registre: L'opérande est un registre;
ii)
Adressage indexé (avec déplacement): L'opérande se trouve à l'emplacement mémoire dont l'adresse est donnée par le contenu d'un registre plus un déplacement (constante);
iii)
Adressage immédiat: L'opérande est une constante à l'intérieur de l'instruction elle-même;
iv)
Adressage relatif à CP: L'adresse est la somme du compteur de programme (CP+4 sur MIPS) et d'une constante située dans l'instruction. (Cf. page gif: Branchements.)

- Convention MIPS sur les registres et leur utilisation (Cf. manuel: Fig. A.9, p. A-24): Indique les noms symboliques donnés aux divers registres, basés sur la convention utilisée pour les appels de procédure, appels système, etc.

- Convention pour les appels de procédures: les 4 premiers paramètres sont transmis dans les registres $4, $5, $6 et $7, les autres sur la pile; les résultats sont retournés dans les registres $2, $3 (les autres sur la pile). (Des études empiriques ont montré que 91% des procédures avaient 4 paramètres ou moins.)

- Encodage des instructions = comment les instructions sont représentées à l'intérieur de la machine:

- Les 3 formats (types) sont les suivants:

R:
Instructions arithmétiques et logiques (Registers)
I:
Accès mémoire, branchements, ops. avec valeur immédiate (Immediate)
J:
Instructions de saut (Jump)

L'architecture VAX:

- Archétype des machines CISC (Complex Instruction Set Computer).

- Motivation/objectif: Fournir des opérations plus puissantes de façon à réduire le nombre d'instructions exécutées par un programme et de façon à faciliter (supposément) la compilation des langages de haut niveau.

- Grande variété de modes d'adressage: littéral, immédiat, par registre, par registre indirect, déplacement, déplacement indirect, indexé, auto-incrément, auto-décrément, auto-incrément indirect.

- Grande variété d'instructions arithmétique et logiques: une instruction est spécifiée par son opération (add, sub, etc.), son type (b: octet, w: demi-mot, l: mot, q: mot double) et le nombre d'opérandes (2 ou 3). (En tenant compte des divers modes d'adressage, il existe donc 30000 versions différentes de l'addition entière!)

- Pas d'opération explicite de rangement/chargement pour les accès aux données en mémoire: les opérandes (sources ou destination) des opérations arithmétiques et logiques peuvent provenir de n'importe où (constante, registre, mémoire).

- Support pour procédures: Utilisation de masques indiquant à la machine quels registres doivent être sauvés à l'appel puis restaurés au retour.

- Encodage des instructions:


next up previous
Next: Résumé #4: L'arithmétique des Up: Résumés de Organisation et Previous: Résumé #2: Le rôle

Guy Tremblay
Tue Aug 27 14:04:33 EDT 1996