Architecture et technologie des ordinateurs II
G. Tempesti Semaine V 4
Format des instructions
Beaucoup d’information! P.ex., une architecture avec 256 instructions,
16 fanions, 64 registres et un bus (adresse) de 32 bits aurait besoin,
même si tous les opérandes sont des registres (ce qui n’est pas le cas),
de 8 + 4 + 6x3 + 32x2 = 94 bits!
Une solution est de coder les instructions sur plusieurs mots mémoire.
Ce fut une technique très utilisée dans le passé (processeurs 8 et 16
bits) et le reste aujourd’hui pour certains types d’instructions. Elle
introduit cependant beaucoup de délai (plusieurs coups d’horloge par
instruction, décodage complexe).
Des simplifications sont nécessaires!
Opcode
Opcode Conditions
Conditions Opérandes (3)
Opérandes (3) Prochaine(s) instruction(s)
Prochaine(s) instruction(s)
Format des instructions - Simplifications
Première simplification: chaque type d’instruction nécessite des
informations différentes.
Transferts de données: 78 bits (un opérande peut être une adresse)
Opérations arithmétiques et logiques: 58 bits (que des registres)
Opérations d’entrée/sortie: 78 bits (un opérande peut être une adresse)
Instructions de contrôle: 76 bits
Opcode
Opcode Opérandes (2)
Opérandes (2) Prochaine instruction
Prochaine instruction
Opcode
Opcode Opérandes (3)
Opérandes (3) Prochaine instruction
Prochaine instruction
Opcode
Opcode Opérandes (2)
Opérandes (2) Prochaine instruction
Prochaine instruction
Opcode
Opcode Conditions
Conditions Prochaine(s) instruction(s)
Prochaine(s) instruction(s)
SL
SL
CK
n BASCULES
Opcode Opérandes
n BASCULES
Opcode Opérandes
Fanions
RAM
RAM
Contrôle
SLC
SLC
Opérandes
Instruction
Adresse
Format des instructions - Simplifications
Deuxième simplification: par défaut, on peut définir la prochaine
instruction comme étant l’instruction suivante en mémoire.
0:+1|0 4:+1
1:+1 5:+1
2:+1 6:+1|4
3:+1 7:0
0:data ¨¨
¨¨ inport
1:ocount ¨¨
¨¨ 0
2:mask ¨¨
¨¨ 1
3:while data ππ
ππ 0
4:temp¨¨
¨¨data AND mask
5:ocount¨¨
¨¨ocount+temp
6:data ¨¨
¨¨ data >> 1
end while
7:outport ¨¨
¨¨ ocount