Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction Définir deux grandes familles de jeu d’instruction Quand Monsieur DUPONT exécute un programme ! ? Quand Monsieur DUPONT exécute un programme ! ? Application “Le software” ? Hiérarchie de traduction Application “Le software” ? Programme en Pascal, C, C++ C++++++ !!!!... Hiérarchie de traduction Application “Le software” ? Programme en Pascal, C, C++ C++++++ !!!!... Hiérarchie de traduction Compilateur Programme en Langage assembleur Application “Le software” ? Programme en Pascal, C, C++ C++++++ !!!!... Hiérarchie de traduction Compilateur Programme en Langage assembleur Assembleur Programme en Langage machine Application “Le software” ? Programme en Pascal, C, C++ C++++++ !!!!... Hiérarchie de traduction Compilateur Programme en Langage assembleur Assembleur Chargeur en Mémoire Programme en Langage machine Vite un exemple ? Change (int v[], int k[]); { int temp; Change : temp=v[k]; muli $2,$5,4 v[k]=v[k+1]; add $2,$4,$2 Compilateur v[k+1]=temp; lw $15,0($2) } lw $16,4($2) sw $16,0($2) sw $15,4($2) Hiérarchie jr $31 de traduction Assembleur Chargeur en Mémoire 0000011010000100010000110 1000100000000000000000000 0001100110100101010000100 0001100000001110000000000 0010000111001010101010000 0010000000000001000000000 1001001010100000010101011 Conception ? Conception ? Conception du Logiciel Conception du Matériel Conception ? Conception du Logiciel Principe de l’abstraction Conception du Matériel Machines virtuelles L’interface entre logiciel et matériel ? Conception du Logiciel ISA Architecture du Jeu d’instructions Conception du Matériel L’architecture de jeu d’instructions ? Conception du Logiciel •Le nombre d’instructions •Nombre de cycles par instruction Architecture du Jeu d’instructions •Temps de cycle •Nombre de cycles par instruction Conception du Matériel Performances • Les performances des machines sont définies par trois facteurs clés : – le nombre d’instructions – le temps de cycles d’horloge – le nombre de cycles d’horloge par instruction. • Le compilateur et l’architecture de jeu d’instructions déterminent le nombre d’instructions requises pour un programme donné • La mise en oeuvre définis le temps de cycle d’horloge, ainsi que le nombre de cycles d’horloge par instruction. Problématique du jeu d’instructions ? Conception du Logiciel Le jeu d’instruction doit être le résultat de nombreux compromis entre : efficacité du compilateur, flexibilité, vitesse, complexité du matériel. Conception du Matériel Problématique du jeu d’instructions ? Conception du Logiciel CO-DESIGN Conception du Matériel Problématique du jeu d’instructions ? Conception du Logiciel CISC Conception du Matériel Complex Instruction Set Computer interprété Problématique du jeu d’instructions ? Conception du Logiciel Rôle important du compilateur RISC Conception du Matériel Reduced Instruction Set Computer Directement exécutée Objectif général du cours Comprendre les principes d’une conception RISC