ESIL/Dépt Informatique – 06/07 fiche 2 TD Logiciel de base
2/3
L est une adresse mémoire sur 16 bits (mode d’adressage direct mémoire). X, Y et Z spécifient, soit une adresse
mémoire sur 16 bits, soit un numéro de registre sur 4 bits.
Pour toutes les machines, le code opération est représenté sur 1 octet2. La machine à 0 adresse utilise une pile
d’évaluation à l’intérieur du processeur, et la machine à une adresse dispose d’un registre accumulateur. Les
machines "mixtes" disposent chacune de 8 registres et leurs instructions portent indifféremment sur toute
combinaison entre mémoire et registres. MOV X, Y affecte Y à X, SUB X,Y soustrait Y à X (résultat dans X) et SUB
X,Y, Z soustrait Z à Y et range le résultat dans X 3.
Combien de bits sont nécessaires à chaque machine pour stocker le programme de calcul de x?
6/ L’instruction MOV REG, ADDR signifie « REG
Å
M[ADDR]» sur le processeur Pentium II. Pour réaliser la même
opération sur l’ultraSPARC II, l’instruction LOAD ADDR, REG doit être utilisée. Pourquoi l’ordre des opérandes
est-il différent?
7/ Processeur à 3 instructions ( examen 96/97 « révisé »)
Dans la course à la réduction du nombre d’instructions d’un processeur, la société MISC (Minimal Instruction Set
Computers) vient de définir un nouveau processeur : le processeur TIC (Three Instructions Computer). Ce nouveau
processeur dispose d’une pile d’évaluation et d’un registre compteur ordinal (PC). Il utilise 3 modes d’adressage:
l’adressage direct, l’adressage immédiat, et l’adressage relatif compteur ordinal (relatif PC).
Le processeur TIC a, comme son nom l’indique, 3 instructions : push, pop et sbn (substract and branch if negative).
- push a (modes d’adressage direct ou immédiat) a pour effet d’empiler au sommet de la pile
d’évaluation l’opérande spécifié par a.
- pop a (mode d’adressage direct) a pour effet de dépiler le sommet de la pile d’évaluation et de le ranger
à l’adresse a.
- sbn a (mode d’adressage relatif PC) a pour effet de soustraire le sommet de pile à l’élément “juste en
dessous”, de remplacer les deux opérandes par le résultat de la soustraction (qui devient donc le
nouveau sommet de pile). En outre, si le résultat de la soustraction est strictement négatif, l’exécution
continue à l’adresse spécifiée par l’opérande a, sinon l’exécution continue à l’instruction qui suit
l’instruction courante.
On utilisera les notations suivantes pour les modes d’adressage (N est un nombre entier positif) :
(N) : adressage direct
N , -N : adressage immédiat
.+ N : adressage relatif PC (branchement en avant)
.-N : adressage relatif PC (branchement en arrière)
Comme chez leurs prédécesseurs, dans les ordinateurs à base de TICs les adresses mémoire sont des adresses
d’octets.
Question 1
On suppose que les adresses et les constantes sont codées sur 28 bits au plus.
a) Quel est le nombre de bits nécessaires pour coder une instruction TIC?
b) Proposez un codage pour les instructions du processeur TIC.
c) Quelle est la taille («naturelle») du « mot machine » dans le processeur TIC?
Question 2 : programmation du TIC
a) Donnez une séquence d’instructions TIC équivalente à l’instruction
bra 50 # branch always
qui réalise un branchement relatif inconditionnel à l'adresse PC+50 (en supposant que PC a déjà été mis à jour
dans la phase fetch pour pointer sur l'instruction suivante).
b) Donnez une séquence d'instructions TIC pour réaliser l'opération :
M[1000]
Å
M[1004] + M[1008]
2 En prévision des extensions futures
3 Même chose pour DIV (division), ADD (addition) et MUL (multiplication)