Conception de circuits numériques et architecture des ordinateurs
Processeur et jeu d’instruction
Jeu d’instructions
ISA
Différents types d’instructions
Opérations arithmétiques et logiques
add, sub, sll, sra, inc, mov, ...
Transfert de données entre registre et mémoire
ldw, ldb, stw, stb, ...
Déroutement du programme
Sauts inconditionnels : jmp, ba
Sauts conditionnels : jcc, bcc (cc : code conditions)
Appel et retour de fonction :
call, jal
return, jr
13 / 22
Conception de circuits numériques et architecture des ordinateurs
Processeur et jeu d’instruction
Jeu d’instructions
ISA
Choix dans la définition d’un ISA :
Critère
doit fournir un support efficace aux langages de programmation
doit pouvoir être implanté efficacement
régulier et complet
Exemples :
Nombre d’opérandes explicite : 0, 1, 2, 3
à pile : add stack[top]←stack[top −1] + stack[top]
accumulateur : add addr acc ←acc +mem[addr]
« 2 adresses » : add %ri, %rj %ri ←%ri + %rj
« 3 adresses » : add %ri, %rj, %rk %ri ←%rj + %rk
14 / 22
Conception de circuits numériques et architecture des ordinateurs
Processeur et jeu d’instruction
Jeu d’instructions
ISA
Usage : a×b−(a+c×b)
stack accu 2-addr 3-addr 3-addr-ld/st
push a clear add %r1, b mult %r1, b, c ld %r1, c
push b add c mult %r1, c add %r1, %r1, a ld %r2, b
mult mult b add %r1, a mult %r2, a, b mult %r1, %r1, %r2
push a add a add %r2, b sub %r2, %r2, %r1 ld %r3, a
push c st x mult %r2, a add %r1, %r1, %r3
push b clear sub %r2, %r1 mult %r2, %r2, %r3
mult add a sub %r3, %r2, %r1
add mult b
sub sub x
15 / 22
Notes
Notes
Notes