Explicitly parallel instruction computing
EPIC (explicitly parallel instruction computing, littéralement informatique à instruction explicitement parallèle) est un type d'architecture de microprocesseurs, utilisé entre autres dans les DSP et par Intel pour les microprocesseurs Itanium et Itanium 2.
La philosophie de l'EPIC repose sur la disparition du réordonnancement à l'exécution : les instructions sont exécutées dans l'ordre exact dans lequel le compilateur les a disposées, mais celui-ci précise les instructions à exécuter en parallèle. Cela économise l'unité de réordonnancement dont la complexité est au carré du nombre d'unités gérées en parallèle. Néanmoins cette économie matérielle a un coût : l'effort d'optimisation repose sur le compilateur, qui a la charge d'organiser statiquement les dépendances inter-instructions.
Par rapport à une architecture VLIW, les architectures EPIC ajoutent de nombreuses fonctionnalités, comme l'exécution conditionnelle des instructions et l'exécution spéculative, voire le renommage de registres, tous décidés de manière statique par le compilateur. Elles cherchent ainsi à représenter un stade intermédiaire entre les processeurs superscalaires et VLIW.
Sur un Itanium, l'organisation d'un mot est la suivante : 3 instructions de 41 bits chacune, et un template de 5 bits qui détaille les dépendances inter-instructions (et éventuellement par rapport aux mots précédents/suivants), soit 128 bits (3 x 41 + 5).
EPIC est considéré par ses promoteurs comme un successeur du RISC : comme les architectures RISC, il fait reposer de nombreuses optimisations sur le compilateur, mais les architectures EPIC mettent l'accent sur le parallélisme entre instructions.
Voir aussi
Articles connexes
Bibliographie
(en) Michael S. Schlansker et B. Ramakrishna Rau, EPIC: Explicitly Parallel Instruction Computing, Hewlett-Packard Laboratories, (lire en ligne)