Chapitre 2 :MIPS ISA (l’architecture du jeu d’instruction)
Objectifs
Identifier l’interface (la relation) entre le logiciel de plus
bas niveau (langage machine) et le matériel.
Comprendre la problématique de l’architecture du jeu
d’instruction.
Définir deux grandes familles de jeu d’instruction.
05/10/2012 09:54
I.Abdesslem
1
Application (Netscape)
Compilateur
Assembleur
Système d’exploitation
(Windows 2K)
Software
Hardware
Processeur
Memoire
Système d’E/S
Architecture de l’ensemble d’instruction
Chemin de données & Control
Circuits logiques combinatoires et séqencielles
Portes logiques
transistors
L’ interface clé entre les différents niveaux d’abstraction c’est l’architecture de l’ensemble d’instructions
05/10/2012 09:54
I.Abdesslem
2
Plan
Introduction Classification des jeux d’instructions Les opérations du matériel de l’ordinateur Les opérandes du matériel de l’ordinateur La représentation des instructions dans l’ordinateur Des instructions pour prendre des décisions Comment traiter les procédures au niveau matériel de l’ordinateur Un exemple pour tout regrouper
05/10/2012 09:54
I.Abdesslem
3
Introduction
Les concepteurs d’ordinateurs ont un but commun : trouver un langage qui rend plus la construction du matériel et du aisée les en maximisant compilateur performances et en minimisant le coût.
tout
05/10/2012 09:54
I.Abdesslem
4
?
Programme en Pascal, C, C++ C++++++ !!!!...
Compilateur
Hiérarchie de traduction
Programme en Langage assembleur
Assembleur
Programme en Langage machine
Chargeur en Mémoire
05/10/2012 09:54
I.Abdesslem
5
?
Change (int v[], int k[]); { int temp;
temp=v[k]; v[k]=v[k+1]; v[k+1]=temp;
}
Hiérarchie de traduction
Chargeur en Mémoire
05/10/2012 09:54
I.Abdesslem
Compilateur
Publicité
Change :
muli $2,$5,4 add lw lw sw sw jr
$2,$4,$2 $15,0($2) $16,4($2) $16,0($2) $15,4($2) $31
Assembleur
0000011010000100010000110 1000100000000000000000000 0001100110100101010000100 0001100000001110000000000 0010000111001010101010000 0010000000000001000000000 1001001010100000010101011 6
Problématique du jeu d’instructions
?
Conception du Logiciel
Conception d’un système informatique
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
7
Problématique du jeu d’instructions
?
Conception du Logiciel
CO-DESIGN
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
8
Problématique du jeu d’instructions
?
ISA
Conception du Logiciel
Et pour la conception d’un µP , il faut surtout penser à l’Architecture du Jeu d’instructions
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
9
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. efficacité du compilateur. complexité du matériel. complexité du matériel. Vitesse. Vitesse.
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
10
Problématique du jeu d’instructions
?
Conception du Logiciel
Il ya deux grandes familles de jeu d’instruction.
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
11
Complex Instruction Set Computer
?
Conception du Logiciel
Simplification de la conception du logiciel
CISC
Conception du Matériel
05/10/2012 09:54
I.Abdesslem
12
Reduced Instruction Set Computer
?
Conception du Logiciel
Rôle important du compilateur
Publicité
Conception du Matériel
RISC
Simplification de la conception du matériel
13
05/10/2012 09:54
I.Abdesslem
Notion d’architecture RISC et CISC
Actuellement l’architecture des microprocesseurs
se composent de deux grandes familles :
L’ architecture CISC (Complex Instruction Set Computer)
L’architecture RISC (Reduced Instruction Set Computer)
05/10/2012 09:54
I.Abdesslem
14
Notion d’architecture RISC et CISC
8086
Add [BX],300
MIPS
Lw $1,0($3) Addi $2,$1,300 Sw $2,0($3)
05/10/2012 09:54
I.Abdesslem
15
Notion d’architecture RISC et CISC
Architecture RISC
Architecture CISC
instructions simples ne prenant qu’un seul cycle instructions au format fixe décodeur simple (câblé) beaucoup de registres seules les instructions LOAD et STORE ont accès à la mémoire peu de modes d’adressage compilateur complexe
instructions complexes prenant plusieurs cycles instructions au format variable décodeur complexe (microcode) peu de registres toutes les instructions sont susceptibles d’accéder à la mémoire beaucoup de modes d’adressage compilateur simple
05/10/2012 09:54
I.Abdesslem
16
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 œuvre définis le temps de cycle d’horloge, ainsi que le nombre de cycles d’horloge par instruction.
05/10/2012 09:54
I.Abdesslem
17
Classification des jeux d’instruction
Selon la façon dont
l'unité arithmétique obtient opérandes, on distingue différents types de machines :
ses
Les machines à accumulateur : ces machines ont un seul registre nommé accumulateur dans lequel le résultat d'un calcul peut être stocké. Toute opération se fait alors entre une case mémoire et l'accumulateur, le résultat étant remise dans l'accumulateur.(Exp: Le µP 6502)
séquence de code pour C=A+B
Load Acc,A Add Acc,B Store C,Acc
Mem A B C
1
Acc
3
2
+
05/10/2012 09:54
I.Abdesslem
18
Classification des jeux d’instruction
Les machines à pile : ces machines n'ont pas de vrais registres. Toutes les opérations effectuent un calcul en prenant leurs opérandes de la pile et en remettant le résultat dans la pile. Cette architecture est considérée comme peu efficace, elle est rarement employée.(Exp: calculatrice HP)
séquence de code pour C=A+B
Pop A Pop B Add Push C
05/10/2012 09:54
I.Abdesslem
19
Publicité
Classification des jeux d’instruction
Les machines à registres généraux : ce sont des machines qui disposent de plusieurs registres, qui peuvent tous jouer le rôle d'accumulateur. Le résultat d'un calcul peut être stocké dans un registre ou directement en mémoire.(Exp: Le µP 8086).
séquence de code pour C=A+B
Load r1,A Add r1,B Store C,r1
Mem A B C
1
r2 r1
3
2
+
05/10/2012 09:54
I.Abdesslem
20
Classification des jeux d’instruction
Les machines à chargement/rangement (Load/Store) : rapport aux machines à registres La différence par généraux est qu'ici les seules instructions qui accèdent à la les instructions de chargement et de mémoire sont rangement (instructions load et store).(Exp:Le µP MIPS)
séquence de code pour C=A+B
Load r1,A Load r2,B Add r3,r1,r2 Store C,r3
05/10/2012 09:54
I.Abdesslem
Mem A B C
1
2
4
r1 r2 r3
+
3
21
Notion d’architecture RISC et CISC
L’architecture CISC: C’est une architecture avec une grande variété d’instructions où le µP doit exécuter des tâches complexes par instruction unique. Pour une tâche donnée, une machine CISC exécute ainsi un petit nombre chacune d’instructions mais nécessite un plus grand nombre de cycles d’horloge (Exemple:8086,68000…).
05/10/2012 09:54
I.Abdesslem
22
Notion d’architecture RISC et CISC
Par le passé la conception de machines CISC était la seule envisageable. En effet, vue que la mémoire travaillait très lentement par rapport au processeur, on pensait qu’il était plus intéressant de soumettre au microprocesseur des instructions complexes, plutôt que de coder une opération complexe par plusieurs instructions plus petites (qui demanderaient autant d’accès mémoire).
05/10/2012 09:54
I.Abdesslem
23
Notion d’architecture RISC et CISC
cours
L’architecture RISC: Des études statistiques des années 70 ont menées au montré que les programmes générés par les le plus compilateurs souvent d'affectations, d'additions et de multiplications par des constantes.
contentaient
se
05/10/2012 09:54
I.Abdesslem
24
Notion d’architecture RISC et CISC
80% des traitements des Ainsi, langages de haut niveau faisaient appel à seulement 20% des instructions du microprocesseur. D’où l’idée de réduire le jeu d’instructions.
05/10/2012 09:54
I.Abdesslem
25
Notion d’architecture RISC et CISC
sur
complexes
doivent Les instructions être réalisées à partir de séquences instructions basées un élémentaires, compilateur très évolué dans le cas de programmation en langage de haut niveau (Exemple : MIPS,SPARC…).
les qui nécessite
ce
05/10/2012 09:54
I.Abdesslem
26