Langages cibles
G´en´eration de code cible
Diff´erents types de langages cibles
Influence du mat´eriel sur les langages
En 1990, le trou m´emoire/processeur s’est creus´e. Il faut :
´
Eviter les acc`es m´emoire inutiles :
plus de micro-code, r´ealisation uniquement mat´erielle ;
grand nombre de registres, pour stocker les r´esultats
interm´ediaires et les variables des programmes ;
utilisation d’ant´em´emoires (cache memories) pour acc´el´erer
l’acc`es r´ep´etitif aux donn´ees ;
Utilisation du parall´elisme au moyen d’un pipeline :
cela fonctionne mieux avec un grand nombre d’instructions
simples et r´eguli`eres.
Ces solutions demandant un jeu d’instructions simple, on imagine
le processeur `a jeu d’instructions r´eduit (RISC pour Reduced
Instruction Set Computer).
Quelques processeurs RISC typiques : MIPS, Sun SPARC, IBM
Power.
Production de code, expressions arithm´etiques Martin Odersky, Gilles Dubochet 9 de 19
Langages cibles
G´en´eration de code cible
Diff´erents types de langages cibles
Influence du mat´eriel sur les langages
La place disponible sur une puce actuelle permet mˆeme la
r´ealisation efficace de jeux d’instructions complexes (p.ex.
Pentium).
De mani`ere interne, plusieurs techniques RISC sont utilis´ees.
Les processeurs actuels g`erent le parall´elisme `a plusieurs niveaux :
Au niveau de l’instruction, via
les pipelines,
l’ex´ecution «super-scalaire»,
les mots d’instructions tr`es larges (VLIW).
Au niveau du processus, via
les architectures `a fils d’ex´ecution multiples qui changent de
contexte lors d’indisponibilit´e de ressources (m´emoire, unit´e de
calcul, ...),
multi-processeurs,
grappes de machines (clusters).
Production de code, expressions arithm´etiques Martin Odersky, Gilles Dubochet 10 de 19