MIPS ISA: L’Architecture du Jeu d’Instruction

Page 1 sur 26Lecteur de document UniversityLib

MIPS ISA: L’Architecture du Jeu d’Instruction

Computer Architecture · notes

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