 |
Structure pipeline
______
IBM 7030 ou
IBM STRETCH
19 61
Premier ordinateur transistors
Premier ordinateur
à utiliser la structure pipeline
Conçue par David Patterson
(photo)
|
David
Patterson concepteur de la structure pipeline,
spécialiste de l'architecture RISC professeur à
l'université de Berkeley |
|
La structure
pipeline:
Elle consiste en une succession
d'étapes matérialisée par des circuits indépendants qui vont
effectuer chacun successivement une tâche visant à exécuter
l'instruction.
La structure classique initiée par Patterson consiste à scinder
l'exécution de l'instruction en 5 étapes
IF |
ID |
EX |
Mem |
WB |
Recherche de l'instruction |
Décodage |
Exécution |
Écriture du résultat en mémoire |
Écriture éventuelle du résultat dans les
registres |
Le but est de commencer le
travail sur une instruction avant que la précédente soit exécutée
complètement .
Dans l'idéal le pipeline se comporterait comme ceci:
temps |
IF |
ID |
EX |
MEM |
WB |
t1 |
Instruc N |
Décod N-1 |
Exé N-2 |
Ecrit N-3 |
N-4 dans Reg |
t2 |
Instruc N+1 |
Décodage N |
Exé N-1 |
Ecrit N-2 |
N-3 dans Reg |
t3 |
Instruc N+2 |
Décod N+1 |
Exécution N |
Ecrit N-1 |
N-2 dans Reg |
t4 |
Instruc N+3 |
Décod N+2 |
Exé N+1 |
Ecrit résult N |
N-1 dans Reg |
t5 |
Instruc N+4 |
Décod N+3 |
Exé N+2 |
Ecrit N+1 |
résult N dans registre |
On voit que si tout se passe bien ,
à chaque cycle d'horloge (t1,t2, etc) le résultat d'une instruction
s'écrit en mémoire.
Cependant, ceci est théorique,
en effet ce processus peut fonctionner ainsi s'il n'y a pas
dépendance entre les instructions. Ainsi si l'instruction N+1
consiste à additionner le résultat de N à une autre opérande, il va
être nécessaire d'attendre que N arrive en fin de pipeline pour
exécuter N+1 . Ceci doit être prévu par le compilateur qui va
incorporer des instructions nulles (Nop) avant la recherche de N+1 .
Autre cas de dépendance
si l'instruction N est un branchement conditionnel, si ce
branchement s'effectue tout le contenu du pipeline doit être effacé,
ce qui nécessite une structure matérielle pour effectuer cette mise
à 0 et bien sur une perte de temps .
Le but est d'exécuter une
instruction par cycle d'horloge. Cet objectif ne peut être atteint
que dans la mesure ou le temps d'exécution est court ce qui va
imposer des instructions simples d'où la nécessité de supprimer les
instructions complexes des microprocesseurs classiques telles que
les multiplications et les divisions. L'utilisation de la structure
pipeline appelle la conception RISC
L'ordinateur
IBM 7030 ou IBM STRETCH
Commandé par le Laboratoire de Los
Alamos,
objectif multiplier par 100 la vitesse de l'IBM704
qui exécutait 40 000 instructions par seconde, ordinateur à tube à
vide et mémoire à tores de ferrite.
Livraison prévue 1960.
Au cours de l'étude il fallu se rendre à l'évidence, la fréquence de
l'horloge devait être diminuée et d'emblé la performance ne pourrait
être atteinte. En fait c'est un rapport de 30 qui fut atteint et IBM
du réduire son prix de vente de 13,5 M$ à 7,8M$ d'autant plus que la date de
livraison fut reportée à 1961
Cet échec commercial fut difficile à accepter par la direction d'IBM
mais cela ne devait pas durer longtemps car le prochain ordinateur
fut l'IBM 360 qui utilisera nombre innovations introduites dans le
7030
et sera un grand succès:
- utilisation de 168 100 transistors au
germanium, fréquence de coupure 100 MHz, implantés sur 4 025 cartes
doubles et 18 747 cartes simples
- les données stockées sur les tores de ferrite
sont accessibles en 2,8μs.
- la mémoire de masse est constituée de disque
magnétiques
- puissance absorbée 21 KW
- structure pipeline, prefetch des instructions
- bytes de 8 bits, instructions sur 32 et 64 bits
Le 7030 peut interrompre un travail de longue haleine et libérer son
unité de calcul pour un travail urgent et reprendre sa tâche ensuite
Il utilise la technique que l'on appelle maintenant de prefetch et
qui à cette époque était appelée Look-Ahead qui consiste à acquérir
les instructions et les stocker dans une file d'attente d'accès
rapide avant que l'unité d'exécution en ait besoin
|