Vous êtes sur la page 1sur 34

CISCs aux RISCs et VLIWs

Hadda CHERROUN
Dépt. d’informatique, université Ammar Telidji Laghouat
hadda_cherroun@mail.lagh-univ.dz

28 Septembre 2020
Microprogrammées
Machine-langage: CISCs
RISCs
VLIWs

Plan
1 Évolution des Modèles d’exécution
Vue schématique

2 Microprogrammées
Principe
Exemple de Machine Microprogrammée

3 Machine-Langage: Machines CISCs


Principe
Architecture Machine-Langage
Formats de Macrocode
Exemple de Machine CISC

4 Machines RISCs
Principe
Apports CISC

5 Machines VLIWs
Principe
Apports

H. CHERROUN CISC RISC et VLIW 2/ 34


Microprogrammées
Machine-langage: CISCs
RISCs
VLIWs

Objectifs

Avoir une idée sur l’évolution des modèles d’exécution


jusqu’à l’arrivée au VLIWs,
Se familiariser avec la notion du format d’instruction et son
exécution,
connaître les composantes d’un jeu d’instruction,
connaître les facteurs influant sur la conception du contrôle
dans les UC

H. CHERROUN CISC RISC et VLIW 3/ 34


Microprogrammées
Machine-langage: CISCs
Vue schématique
RISCs
VLIWs

Remédiation aux inconveniants produits par le fossé


sémantique entre Hard et Soft
:

Années 60 : Les Machines microprogrammées,


Années 70 : Les Machines-Langages (ou CISCs),
Années 80 : Les machines RISCs,
Années 90 : Les VLIWs, etc.
H. CHERROUN CISC RISC et VLIW 4/ 34
Microprogrammées
Machine-langage: CISCs
Vue schématique
RISCs
VLIWs

Remédiation aux inconveniants produits par le fossé sémantique Hard/Soft

H. CHERROUN CISC RISC et VLIW 5/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Exemple
VLIWs

Principe rendre le contrôle flexible

Remplacer les automates câblés


Avantage: commuter très rapidement d’un état à l’autre
Problème lors d’un changement –même minime– du
langage-machine: impossible de le modifier,
Par une Mémoire morte % A l’époque réalisée avec des
diodes soudées puis avec une technologie évoluée
Où pour changer le comportement, il suffit alors de modifier
le contenu de la mémoire morte (c’est-à-dire dé-souder et
re-souder les diodes à l’époque.

H. CHERROUN CISC RISC et VLIW 6/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Exemple
VLIWs

Automate câblé versus une ROM

H. CHERROUN CISC RISC et VLIW 7/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Exemple
VLIWs

Exemple la série IBM 360/370 puis IBM 390


L’IBM 360 est un calculateur fabriqué en 1966
Tous les ordinateurs de la série 360 exécutent le même
langage-machine alors que leur matériel varie énormément
Un même code peut être exécuté par des machines différentes.
Une nouvelle génération de machine, plus moderne et plus
puissante peut exécuter en plus de son propre langage-machine
celui des machines de la génération précédente: c’est
l’émulation.
Les utilisateurs peuvent porter leurs programmes (90 % du code
des années soixante était écrit en assembleur) sur la nouvelle
génération sans les modifier.
Grâce à la microprogrammation, les gammes de machines ont
pu se développer à la fois en puissance et aussi dans le temps.

H. CHERROUN CISC RISC et VLIW 8/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Remédiation aux inconvénients produits par le fossé sémantique Hard/Soft

H. CHERROUN CISC RISC et VLIW 9/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Motivations & Principes

Développement des nouvelles technologies de mémoires


mortes à semiconducteurs
Nouvelles possibilités de la microprogrammation qui ont
permis la remise en cause du niveau langage-machine
Conçues de façon descendante : l’examen des
caractéristiques syntaxiques et sémantiques du langage
évolué à exécuter et on en déduit les divers traitements à
effectuer et les divers niveaux de langage nécessaires
avant d’exécuter le programme de l’utilisateur.

H. CHERROUN CISC RISC et VLIW 10/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Du Modèle classique vers Machine-Langage

Fonctionnement ⇐⇒

H. CHERROUN CISC RISC et VLIW 11/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Architecture Machine-Langage

la MC est organisée physiquement en mots de 16, 24, 32 ou 40 bits, mais logiquement, elle est vue comme
une suite variable de Bytes de taille arbitraire, aussi bien pour les données (objets auto-définis contenant
des descripteurs au format variable) que pour les programmes (macrocode de structures diverses). Elle est
souvent adressée au bit (les bytes sont des multiples de bits) ou à l’octet (les bytes sont des multiples
d’octets).
l’UT est organisée autour d’une UAL. Elle traite les informations selon un format qui est physiquement fixe
(souvent le même que le format physique de la mémoire). On lui adjoint une mémoire locale qui contient les
données et dans le cas de certaines machines à pile, une pile d’exécution câblée.
L’UC est microprogrammée. Elle doit effectuer des traitements souvent complexes pour décoder et émuler
le macrocode, surtout dans le cas de formes fortement structurées. C’est pourquoi, sa structure est plus
complexe qu’une unité de contrôle de machine classique.
Le Manipulateur de Profil Binaires est un opérateur nouveau qui est placé entre la mémoire principale et les
Unités de Traitement et de Contrôle afin d’effectuer les divers changements de formats qui sont
nécessaires.

H. CHERROUN CISC RISC et VLIW 12/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Évolution des Architecture Machine-Langage

Les contraintes imposées par le traducteur et l’interprète sont les mêmes : syntaxe simple, sémantique riche. Les
familles de macrocodes ont connu une évolution constante avant de pouvoir prétendre satisfaire cette double
contrainte.
Les critères de classement des familles de macrocodes portent sur :
Sémantique du contrôle : il s’agit au départ d’une sémantique proche de celle des langages-machines qui
utilise des sauts explicites (Goto). Elle a été très vite remplacée par les machines à pile capables de
comprendre des formes pré ou post-fixées.
Structure support : elle ne doit pas être confondue avec la syntaxe du macrocode qui concerne plutôt
l’ordre dans lequel sont placés les éléments composant les instructions. Là encore, on est parti d’une
structure linéaire simple proche du langage-machine (où la relation de succession st exprimée par la
contiguïté physique) pour aboutir à une structure utilisant des pointeurs pour exprimer des relations
logiques plus souples et plus complexes.
Famille du Sémantique du contrôle Structure support Caractéristiques apportées
macrocode
N-uplets Séquentielle Linéaire Forme fixe de base
Forme polonaise Machine à pile Linéaire Contrôle à pile
Forme structurée Machine à pile Linéaire Sémantique évoluée
Forme arborescente Machine à pile Arborescente Représentation discontinue

H. CHERROUN CISC RISC et VLIW 13/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Architecture Machine-Langage

H. CHERROUN CISC RISC et VLIW 14/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Exemple de macrocode en Forme Quadruplet et polonaise

H. CHERROUN CISC RISC et VLIW 15/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Exemple de macrocode en Forme Structurée

H. CHERROUN CISC RISC et VLIW 16/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Exemple de macrocode en Forme Arborescente

Forme parenthésée d’où le programme devient un arbre


(SEQ
(<- K 1)
(<- F 1)
(TQ (<= K 10)
(SEQ
(<- F (* F K))
(<- K (+ K 1)))))

H. CHERROUN CISC RISC et VLIW 17/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Exemple de Machine

Cette philosophie a influencé toutes les machines produites


dans les années soixante-dix et on a abouti à des jeux
d’instructions très complexes assez proches du macrocode.
C’est ainsi que sont nés les CISCs : Complex Instruction Set
Computers:
1 B1700 de Burroughs
2 le VAX de DEC, (jeu d’instructions : 300 instructions)
3 le Motorola 68000, (jeu d’instructions : 82 instructions )
4 l’Intel x86 etc. (jeu d’instructions : xx instructions )

H. CHERROUN CISC RISC et VLIW 18/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Problèmes des machine-Langage

Effet "usines-à-gaz": partie matérielle extrêmement


complexe, partie logicielle toute aussi complexe,
Reporter les problèmes du logiciel sur le matériel
Jeu d’instructions très complexes assez proches du
macrocode

H. CHERROUN CISC RISC et VLIW 19/ 34


Microprogrammées Principe
Machine-langage: CISCs Architecture
RISCs Différents Formats de Macrocode
VLIWs Exemple de Machine CISC

Remédiation aux inconveniants produits par le fossé sémantique Hard/Soft

H. CHERROUN CISC RISC et VLIW 20/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Principe

Equation RISC : Vitesse = Régularité + Staticité

C’est la vitesse globale d’un système qui mesure son


degré de réussite,
La structure de la partie matérielle doit être simple et
régulière,
Toutes les opérations statiques doivent être faites à la
compilation.
RISC est riche de conséquences et touchent tous les aspects
de l’architecture, le plus important est le retour à des jeux
d’instructions simples, proches en apparence de ceux des
années cinquante

H. CHERROUN CISC RISC et VLIW 21/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Les RISC ont apporté différents apports et nouvelles


mesures au modèle d’exécution des machines
séquentielles

une attention particulière au Modes de Gestion des Registres


Jeu d’Instructions Réduit avec un Format d’Instructions Simples.
Amélioration de l’Unité de Contrôle Pipe-line. Avec plusieurs principes rajoutés
Branchement retardé.
Données retardée.
Les Appels de Procédures.(voir en TD)
Les Fenêtres de Registres. (voir en TD)
Principe du Buffer Tournant.(voir en TD)
Les Caches de Données.(voir en TD)
La Macroexpansion Dynamique.(voir en TD)

H. CHERROUN CISC RISC et VLIW 22/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Apport des RISC:Les Modes de Gestion des Registres

Au niveau du jeu d’instructions, il y a 6= stratégies pour évaluer l’instruction évoluée A := B + C.

la solution dite de REGISTRE à REGISTRE n’utilise que des instructions simples : où le compilateur est chargé
d’allouer les variables évoluées A, B, C dans les registres R1, R2, R3. On obtient alors la puissance de la solution
en un seul cycle ALU (pas d’accès mémoire !).

H. CHERROUN CISC RISC et VLIW 23/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Exemple de processeurs RISCs

Il existe de nombreuses familles de processeurs RISC :


PowerPC
SPARC
ARM
Alpha

H. CHERROUN CISC RISC et VLIW 24/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Apport des RISC: Formats d’Instructions Simples


Exemple de RISC de Berkley
un jeu d’instruction machine très réduits (32 insts)
Le Code opération (Cop) désigne directement l’une des 32 instructions.
Un accès mémoire simple (les modes d’adressages sont réduits à l’extrême)
soit un cycle UAL simple (Reg + Reg -> Reg).
Trois bits positionnent directement les codes condition
Le champ destination désigne directement un des 32 regs (exceptionnellement COND selon Cop).
soit une Constante immédiate sur 19 bits,
soit une désignation directe de registre Source1 suivie d’une
Constante immédiate plus courte.
une deuxième et dernière exception permet de remplacer cette constante courte par une
désignation directe de registre Source2.
Le mot direct est important car il signifie que ces champs contrôlent directement l’unité de
traitement sans passer par l’unité de contrôle qui se trouve drastiquement simplifiée.

H. CHERROUN CISC RISC et VLIW 25/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Apport des RISC: Instruction simple et régulière =>


introduction Pipeline

H. CHERROUN CISC RISC et VLIW 26/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Apports des RISC: Les Branchements Retardés

2 Pbs : Branchements + dépendances


=> que l’unité de contrôle pipeline s’occupe de défaire une
séquence !
on règle le premier problème par rajout d’un ou plusieurs délais
nop "NO oPération"
Adresse Br Normal Br. Retardé Br. retardé optimisé

100 LOAD @x, A LOAD @x, A LOAD @x, A


101 ADD 1, A ADD 1, A JUMP 105
102 JUMP 105 JUMP 105 ADD 1, A
103 SUB A, D NOP SUB A, D
104 ADD C, B SUB A, D ADD C, B
105 STORE @z, A ADD C, B STORE @z, A
106 ... STORE @z, A %

H. CHERROUN CISC RISC et VLIW 27/ 34


Microprogrammées
Machine-langage: CISCs Principe
RISCs Apports CISC
VLIWs

Les Données retardées

Le deuxième problème des dépendances peut être réglé par un


retardement

x := x + y x et y sont des variables


x := x + 1

Faire appel aux optimisations de code (par le biais des tâches


du compilateur):
Par exemple on peut rajouter un “NOP ” ou “spéculer et mettre
une instruction entre les deux”.
Spéculer == l’exécution d’une opération par spéculation ==
anticiper leurs exécution

H. CHERROUN CISC RISC et VLIW 28/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Remédiation aux inconveniants produits par le fossé sémantique Hard/Soft

H. CHERROUN CISC RISC et VLIW 29/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Principe VLIW = Very Long Instruction Word


L’Architecture VLIW est déduite de l’Architecture RISC. Où
Augmenter la vitesse du processeur en répliquant les unités de calcul (ALU en arithmétique ou FPU en
arithmétique flottante) pour exécuter encore + d’instructions en un même cycle.
En général, le nombre n d’ALUs est de quelques unités (n = 2 ou 4).
VLIW est une instruction très longue composée par la concaténation d’instructions destinées aux n ALUs
constituant le processeur.
A chaque cycle RISC, le contrôleur central délivre une VLIW et alimente ainsi en parallèle le contrôle des
ALUs : il agit en mode synchrone.
Ce mode de fonctionnement présente des analogies avec le mode de fonctionnement SIMD, à ceci près
que les instructions délivrées aux ALUs sont à priori différentes les unes des autres.

H. CHERROUN CISC RISC et VLIW 30/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Apports et techniques

Extraction du Parallélisme VLIW.


Optimisation de l’allocation des ALUs. (voir en TD)
Principe du Trace Scheduling. (voir en TD)

H. CHERROUN CISC RISC et VLIW 31/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Extraction du Parallélisme VLIW: Apports et


techniques

Dans le modèle VLIW, on exploiter le parallélisme de contrôle (une source de parallélisme). On essaye d’extraire le
parallélisme microscopique qui réside dans la possibilité d’exécuter des instructions machines de manière
indépendante sur des unités de calcul répliquées. L’extraction est faite par le compilateur en 3 en étapes :
1 Création du graphe de contrôle du programme source (a) : Le programme est découpé en blocs
d’instructions machines; un bloc est une suite d’instructions sans branchement à l’intérieur.
2 Analyse des dépendances de données dans les blocs de code (b)

3 Production du programme VLIW (c) : le programme VLIW est le résultat de la concaténation des analyses
de blocs ; pour un bloc, les instructions qui sont indépendantes sont placées sur une même ligne VLIW pour
être exécutées en parallèle par les ALUs ; le nombre d’instructions placées en parallèle est limité
doublement
par le nombre d’ALUs disponibles (si on a plus d’instructions en parallèle que d’ALUs on reporte le
surplus à la ligne suivante)
et surtout par les dépendances entre les instructions qui empêchent généralement de placer toutes
les instructions d’un bloc sur une même ligne.

H. CHERROUN CISC RISC et VLIW 32/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Exemple d’extraction du Parallélisme VLIW

H. CHERROUN CISC RISC et VLIW 33/ 34


Microprogrammées
Machine-langage: CISCs Principe Architecture
RISCs Apports et technique
VLIWs

Références

Principalement inspiré de:


Jean-Paul Sansonnet Cours Architectures Parallèles M2,
Université Paris Sud http://perso.limsi.fr/jps/

H. CHERROUN CISC RISC et VLIW 34/ 34

Vous aimerez peut-être aussi