archi 1 eii 1 complet
DESCRIPTION
about modern computer architectureTRANSCRIPT
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 1
Support de cours EII 1
D.Chillet [email protected]
http://cairn.enssat.fr
Architectures des machines
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 2
Architecture des machines
Plan Introduction objectif du cours historique des systmes informatiques machines algorithmiques : classification
Machines ddies ou programmables ? automate tats finis modle, matrialisation, implantation dalgorithmes hirarchisation notion de langage associ un niveau de la hirarchie
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 3
Architecture des machines
Plan (suite) Modle Von Neumann la machine et le cycle Von Neumann excution d'instruction
Le concept RISC historique, observations concepts volution des processeurs processeurs CISC -- RISC
Hirarchie mmoire Mmoire cache
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 4
Architecture des machines
Plan (suite)
Fonctionnement pipeline Principe Objectifs Problmes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 5
Architecture des machines
Plan Introduction
Machines ddies ou programmables ?
Modle Von Neumann
Le concept RISC
Hirarchie mmoire
Fonctionnement pipeline
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 6
INTRODUCTION
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 7
Introduction
Computer Science
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 8
Introduction Historique : les bases
le calcul a pour anctre : mains : doigts et articulations
digit binary digit = bit calculer = grouper des cailloux
la manipulation de cailloux : calculus abaque :
romain : compos d'une plaque mtallique et de 9 rainures dans lesquelles on vient placer des jetons
les cordelettes nuds le boulier occidentales (environ 500 av J.C) :
trs proche de l'abaque pratique, "rapide", mais ne reporte pas la retenue
rgle calculer exemple : 2*4
tables : trs grand nombre de tables produites la main (logarithme, multiplication, etc) trs nombreuses erreurs
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 9
Introduction
la cryptographie et le codage ont pour anctres : remplacement des lettres par leurs numros
utilis par la cours d'Angleterre : (1561-1626) les lettres sont cods de la faon suivante :
A = aaaaa B = aaaab C = aaaba D = aaabb E = aabaa F = aabab G = aabba H = aabbb
exemple : Honni soit qui mal y pense : codage de chaque lettre : Honni = aabbb abbab abbaa abbaa abaaa
on prend un texte quelconque, dans lequel on crit en gras les lettres qui correspondent aux lettres b et en normal les lettres qui correspondent aux a :
Il deviendra un serpent noir
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 10
Introduction Morse invente le tlgraphe et
le codage associ : les lettres sont transmises par
des sries de points et de traits reprsentation binaire de
symboles : la notation est simple les rgles opratoires sont simples les lettres les plus frquentes ont un
codage le plus petit possible
A .- B -... C -.-. D -.. E . F ..-. G --. H . I .. J .--- K -.- L .-.. M --
N -. O --- P .--. Q --.- R .-. S ... T - U ..- V - W .-- X -..- Y -.-- Z --..
0 ----- 1 .---- 2 ..--- 3 -- 4 .- 5 .. 6 -. 7 --... 8 ---.. 9 ----. . .-.-.- , --..-- ? ..--..
Erreur .. Debut -.-.- Fin .-.-.
Frquence d'apparition des lettres de l'alphabet dans les textes anglais
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 11
Introduction notion de programme :
enregistrement pralable d'une suite d'oprations :
orgue barbarie, pianos mcaniques, boites musique
portage vers les activits industrielles : commande de mtier tisser, utilisation de bandes
perfores (fin 18 ime sicle) le motif tisser est "cod" sur la bande qui tourne en continue. On change le motif en changeant la bande
Jacquard est le premier utiliser la notion de programme
mot "ordinateur" : proposition de Jacques Perret IBM
France en 1956 mot informatique :
cr par Philippe Dreyfus en 1964 partir des mots :
information automatique
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 12
Introduction notion de logiciel :
naissance partir de l'apparition des ordinateurs programmables
machines construites : mcanique :
Konrad Zuse : machine Z1 (1936), machine entirement mcanique, utilisation d'un systme binaire pour la reprsentation des nombres, nombres codes en virgule flottante, la machine recevait le programme sur un film 35 mm avec des trous fait la main
lectromcanique : Konrad Zuse : machine Z2, Z3 et Z4 le Z3, 1941 (lectromcanique) est considr comme le premier ordinateur avec
programme fournit par bande perfore, traitement des nombres en virgule flottante avec 14 bits pour la mantisse et 7 bits pour l'exposant. Machine ralisant 3 ou 4 additions par secondes, 1 multiplication en 4 secondes. La machine ne pouvait pas raliser de branchements conditionnels (frquence de processeur 5,33 Hertz, 20 Flops)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 13
Introduction Stibitz (1904 - 1995) : ralisa un additionneur binaire lectromcanique l'aide
de relais de tlphone,
Les Bell Labs utilisrent cette ide pour construire une calculatrice de nombres complexes (oprations : addition, soustraction, multiplication, division). Le code binaire tait redondant si bien que les machines (peu fiable) taient capable de dtecter des erreurs de calculs
MARK 1 : machine de Babbage lectromcanique, cycle de 6 secondes,
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 14
Introduction lectronique :
Stibitz : le Z22 : machine entirement lectronique Atanasoff (1903 1995) : machine ABC (Atanasoff Berry Computer), machine utilisant le
code binaire, oprations d'addition et de soustraction, frquence d'excution de 60 hertz (60 cycles d'excution par seconde). Cette machine servit de modle pour la construction de l'ENIAC.
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 15
Introduction ENIAC :
1943 1944, vitesse de travail 200 000 Hz ou tapes par secondes, la machine travaillait avec la base 10 et non la base 2, il tait compos d'un multiplieur, d'un diviseur, d'une table de fonction , sa programmation consistait connecter les diffrentes units entres elles, la notion de programmation consistait alors en la ralisation d'un cblage long et non modifiable par la machine elle mme. L'ENIAC tait sujet une panne tous les 3 jours environ. Il calcul 5000 additions ou 350 multiplications par seconde. Cette machine fut utilise pour calculer les 70 premires dcimale de PI en 70 heures de calcul. La machine fonctionna 10 ans.
7,4 * 5,3 mm 174 569 transistors Ralis pour le 50ime anniversaire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 16
Introduction Quelques grands noms
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 17
Introduction Historique, quelques grands noms : Blaise Pascal : 1623 - 1662 :
machine Pascaline : mise au point l'ge de 19 ans utilise des roues dentes qui permettent de raliser des
additions et soustractions les roues comportent 10 positions (de 0 9) chaque fois qu'une roue passe de 9 0 elle entrane la
roue immdiatement gauche la soustraction est ralise grce la mthode des
complments arithmtiques : s = a - b s = a + ! b
Mac
hine
arit
hmt
ique
de
Pas
cal
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 18
Introduction
Babbage : 1792 - 1871 prof de mathmatique Cambridge ide de dpart :
consistait mcaniser les calculs des tables utilises notamment la navigation
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 19
Introduction 1820 : machine diffrences n1 : objectifs : produire des tables
mathmatiques exactes observation : les longs calculs sont souvent des rptitions d'oprations
similaires (traitement d'une srie d'oprations en squence) ide de dpart : concept dvelopp par Jacquart programme inscrits sur cartes perfores calcul de fonctions polynomiales de degr 6 avec une prcision 16 chiffres cette machine ne fut jamais acheve elle donna toutefois naissance premier calculateur automatique (plus simple) qui
mcanisait une rgle mathmatique ensuite Babbage labora les plans dune machine plus perfectionne : machine
diffrences n2 fonctions polynomiales de degr 7 avec une prcision de 31 chiffres
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 20
Introduction 1833 : machine analytique :
objectif : trouver la valeur de toute expression mathmatique pouvant sexprimer sous forme algorithmique (droulement des oprations de faon conditionnelle)
4 oprations de base : addition, soustraction, multiplication, division itrations et branchements conditionnels permettaient la programmation deux lments principaux :
le moulin ====> le processeur le magasin ===> la mmoire
cette machine ne fut jamais construite il fut nanmoins encourag par Ada Augusta King (1816 1852) qui se passionna
pour cette machine et crivit des programmes partir des plans fournis par Babbage. Elle est considre comme la premire programmeuse et le langage Ada fut baptise de son premier prnom.
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 21
Introduction A partir des plans originaux, la machine diffrences n2 fut
construite, elle fonctionne parfaitement : elle est expose dans un muse Londres
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 22
Introduction Boole : 1815 - 1864
mathmaticien Il conoit l'algbre qui porte son nom :
algbre base sur 2 signes : Oui = 1 ; Non = 0
et sur 3 oprateurs : ET ; OU ; PAS
algbre capable d'assurer la totalit des calculs envisageables (toutes fonctions calculables)
La logique devient une discipline mathmatique
A 0 0 1 1
B 0 1 0 1
ET 0 0 0 1
OU 0 1 1 1
PAS B 1 0 1 0
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 23
Introduction Turing : 1912 - 1954
il formule le concept de calculabilit : tout processus logique peut tre dcompos en une suite
doprations lmentaires qui peuvent tre excutes par une machine
il dfinit une machine pouvant travailler de faon automatique :
notion de programmation par table d'instructions : automate partir du moment ou la configuration est dfinie par une table dinstructions
(machine universelle) la machine excute son travail 1 calcul particulier ===> une table dinstructions particulire
travaillera au dchiffrage des messages allemand, systme Enigma
il sintresse ensuite la mcanisation des processus de la pense
rflexions propos dune machine capable de jouer aux checs aprs la guerre, il travaille sur un projet de machine
universelle : ACE (Automatic Computing Engine)
en 1950 il publie un article dans une revue philosophique :
"Lordinateur et lintelligence", prmisse de lintelligence artificielle
Statue du mmorial Alan Turing Whitworth Gardens
(Manchester, Angleterre)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 24
Introduction Machine de Turing :
vue interne Ruban de taille infinie
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 25
Introduction Machine de Turing :
vue externe
fonctionnement la machine est dans un tat
lecture du ruban criture sur le ruban dplacement gauche ou droite changement d'tat
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 26
Introduction Exemple de machine:
incrmentation d'une valeur
Etat courant
START Addition
Retenue
Pas de retenue
Dpassement Retour
Contenu cellule
courante
* 0 1 * 0 1 * 0 1 * ? 0 1 *
Contenu
crire
* 1 0 * 1 0 1 0 1 * * 0 1 *
Dplacement tte de lecture
gauche gauche gauche droite
gauche gauche gauche gauche gauche droite droite droite droite rien
Nouvel tat
Addition Pas de retenue
Retenue Retour
Pas de retenue Retenue
Dpassement Pas de retenue Pas de retenue
Retour Retour Retour Retour STOP
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 27
Introduction
Tte de lecture
Etat : START Lecture : * Ecriture : * Dpla : gauche Etat suiv : Add
* 1 0 1 *
Tte de lecture
Etat : Add Lecture : 1 Ecriture : 0 Dpla : gauche Etat suiv : Retenue
* 1 0 1 *
Tte de lecture
Etat : Retenue Lecture : 0 Ecriture : 1 Dpla : gauche Etat suiv : Pas retenue
* 1 0 0 *
Tte de lecture
Etat : Pas retenue Lecture : 1 Ecriture : 1 Dpla : gauche Etat suiv : Pas retenue
* 1 1 0 *
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 28
Introduction
Tte de lecture
Etat : Pas retenue Lecture : * Ecriture : * Dpla : droite Etat suiv : Retour
* 1 1 0 *
Tte de lecture
Etat : Retour Lecture : 1 Ecriture : 1 Dpla : droite Etat suiv : Retour
* 1 1 0 *
Tte de lecture
Etat : Retour Lecture : 1 Ecriture : 1 Dpla : droite Etat suiv : Retour
* 1 1 0 *
Tte de lecture
Etat : Retour Lecture : 0 Ecriture : 0 Dpla : droite Etat suiv : Retour
* 1 1 0 *
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 29
Introduction Von Neumann : 1903- 1957
mathmaticien Hongrois brillant : il changea de nationalit en 1937 pour devenir amricain il sest intress aux disciplines suivantes :
mathmatiques purs, thories des ensembles, logique, thorie de la mesure, physique, thorie des oprateurs, statistique, analyse numrique, hydrodynamique, balistique, etc etc
il participe au dveloppement de la bombe atomique (Los Alamos) : pour raliser les calculs de dtonation et dimplosion, il imagine une nouvelle machine compose
dune unit de calcul, dune mmoire et dun programme.
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 30
Introduction en 1944 il rejoint Eckert et Mauchly qui sont en train de mettre au point un calculateur
lectronique : ENIAC : Electronic Numerical Integrator and Computer : sa premire tche consista dcoder les messages cods des
Nazis machine pouvant prendre des dcisions en fonction d'un rsultat de calcul prcdent (rsultat positif ou ngatif)
nouveau projet EDVAC : Electronic Discrete Variable Automatic Computer : les instructions sont enregistres dans une mmoire et le programme peut sauto modifier, la machine passe du stade
de calculateur celui dordinateur il publie un rsum du projet, le rapport (un pr rapport suite aux nombreuses discussions sur les limitations de l'ENIAC
avec Eckert et Mauchly) est attribu (maladroitement) Von Neumann, tous les honneurs lui reviennent (Eckert et Mauchly se sentent exclus du succs auquel ils ont largement particip).
Mauchly
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 31
Introduction Von Neumann montre qu'en enregistrant le programme dans la mmoire en
mme temps que les donnes traiter, alors on obtient un automate qui a les proprits de la machine de Turing :
machine algorithmique universelle
en 1947 un rapport est diffus par Von Neumann, Burks et Goldstine, il donne les prescriptions pour la ralisation d'un ordinateur :
le programme et les donnes sont enregistrs le programme et les donnes sont dans une mme mmoire dcoups en cellules cette mmoire est unique et banalise les contenus de la mmoire sont accessibles pour la lecture et l'criture par localisation de leur
contenant (c'est ce que l'on appellera plus tard les adresses). la commande de la machine est squentielle (excution des oprations instruction aprs instruction)
dans l'ordre des cellules mmoire (sauf en cas de branchements qui peuvent tre impratif ou conditionn par des rsultats de calcul prcdent)
l'excution de chaque instruction est acheve avant que la suivante ne commence l'unit de traitement ralise un jeu d'oprations entre les registres
Un grand nombre de ralisation furent bases sur ce schma que l'on appelle de "Von Neumann"
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 32
Introduction
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 33
Introduction
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 34
Introduction Les premires machines : dfauts des premiers ordinateurs :
fiabilit incertaine : 1 panne tous les 3 jours pour l'Eniac
besoin de refroidissement : 5 chevaux pour la Mark 1 (3700 Watt !!)
encombrement certain : 160 m2 pour la Mark 1
dfauts des langages associs : la taille de la mmoire tant trs limite, le code est compact au
maximum : grande poque du GOTO et de la rutilisation de morceaux de programmes pas de notion de structuration de programme, d'interface utilisateur et de
convivialit
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 35
Introduction Les diffrentes gnrations
5 1978- Trs forte intgration Very Large scale integration (VLSI)
100 000 000
4 1972-1977 Forte intgration Large scale integration (LSI)
10 000 000
1
2
3
1946-1957
1958-1964
1965-1971
Tubes vide 40 000
Transistors 200 000
Petite et moyenne intgration Small and medium scale integration
1 000 000
1956 0'' Electronique 0' Electromcanique 0 1642 Mcanique quelques op/s
Gnrations Dates Technologies Vitesses (op/s)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 36
Introduction Qu'est qu'un "ordinateur" ? systme compos de :
processeur(s) : unit centrale mmoire(s) : stockage dispositif(s) d'entres sorties : lien avec l'extrieur
Imprimante
Units d'entres sorties
Bus
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 37
Introduction L'unit centrale :
machine qui excute des ordres lmentaires de faon squentielle sur des donnes : on parle de machine algorithmique
c'est donc une machine qui manipule des donnes, oprations sur les donnes : addition, multiplication consommation des donnes traiter, et production de donnes traites
notion d'unit de traitement et d'unit de commande la diffrence d'une simple calculatrice, l'ordinateur comporte une unit de commande capable de
traiter un programme (interne ou externe)
Unit de traitement
Donnes traiter
Donnes traites
Ordres
Compte rendus
Unit de commande
Programmes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 38
Introduction Unit de traitement :
elle effectue, sur les donnes qu'elle reoit, les traitements commands par l'unit de commande
au cours des traitements, les donnes temporaires sont stockes dans des mmoires locales internes, REGISTRES
Unit de commande : elle squence les oprations sur l'unit de traitement
elle rcupre les instructions depuis l'extrieur elle dcode les instructions elle demande l'excution de l'opration l'unit de traitement elle rcupre les comptes rendus d'excution
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 39
Introduction La mmoire :
stockage : des donnes des programmes
l'unit de stockage est le bit : valeurs 0 ou 1
les donnes sont stockes dans des cellules mmoires par exemple des cellules de 8 bits
chaque cellule possde un numro : adresse le processeur manipule les donnes via leurs adresses
a7 a6 a5 a4 a3 a2 a1 a0
Poi
ds fo
rt
Poi
ds fa
ible
A
Bus d'adresses 001011 Bus de donnes
Sens de l'accs
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 40
Introduction Les entres sorties :
change d'informations entre l'environnement (utilisateur, capteur, appareils de mesure, etc) et la machine
2 modes d'organisation : pour les petits systmes :
beaucoup plus simple 1 seul bus raccordant le microprocesseur, la mmoire et les entres/sorties les priphriques sont constitus de 2 parties : le contrleur et le priphrique proprement parl le rle du contrleur consiste piloter le priphrique et grer les accs au bus un mcanisme d'arbitrage permet de rgler les conflits lorsque le processeur et un contrleur veulent utiliser
simultanment le bus
Unit centrale
Mmoire principale
Contrleur d'cran
Contrleur de clavier
Contrleur disquette
Contrleur disquette
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 41
Introduction pour les grands systmes :
mise en place de processeurs d'entres sorties les priphriques sont connects sur des canaux grs par ces processeurs les entres sorties sont sous traites aux processeurs spcialiss, soulage l'unit centrale, travail en
parallle bus d'entres sortie permet au processeur de dialoguer avec les processeurs spcialiss bus mmoire permet aux processeurs d'E/S des accs directe la mmoire sans passer par le
processeur
Mmoire
Unit centrale
Processeur d'E/S
Processeur d'E/S
Priphriques
Bus d'entres / sorties
Bus mmoire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 42
Introduction Qu'est ce qu'un systme informatique ? systme regroupant plusieurs machines :
chaque machine est compose de nuds: homognes htrognes
les nuds sont soient : des lments simples (processeurs simples, petites mmoires) des lments complets (ordinateurs complets, processeurs, mmoire, disques,
entres sorties,etc)
les machines dialoguent : (changent des informations, coopration pour la ralisation d'un travail complexe) :
au moyen de bus communs d'envoi de messages
notions: de paralllisme de partage de ressources tolrances aux fautes etc
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 43
Introduction
Le premier programme !!!
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 44
Machines algorithmiques
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 45
Qu'appelle-t-on "machine algorithmique " ?
machine capable : d'excuter une suite d'instructions de manire automatique de prendre des dcisions quant la suite des traitements raliser
en fonction du droulement des oprations prcdentes
on distingue deux classes de machines : les machines programmables les machines ddies
Machines algorithmiques
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 46
Machines algorithmiques Les machines programmables :
modle :
notion de flexibilit : existence d'un programme "droulant" l'application :
si lapplication change, il suffit de modifier le programme
machine d'usage gnrale : utilisation non optimale du processeur lapplication est pose sur le modle du processeur
68000
Mem Capteurs
Donnes traiter
vnements
Donnes traites
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 47
Machines algorithmiques Les machines ddies :
modle :
pas de flexibilit : btit le processeur partir des besoins de lalgorithme mise en place du bon nombre dunits de calcul chaque unit est taille en fonction des besoins :
vitesse (temps de calcul) surface (cot silicium) consommation (puissance)
machine d'usage spcifique : utilisation optimale de la machine
Capteurs
Donnes traiter
vnements
Donnes traites
UC UC
Ucontrle
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 48
Machines algorithmiques
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 49
Machines algorithmiques
Flexibilit programmabilit
Performances ASIC
ASIP
Processeurs gnraux
DSP
Pour une application donne
Machines ddies
Machines programmables
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 50
Machines algorithmiques Modlisation d'une machine algorithmique
AEF de traitement
commandes compte rendu
AEF de commande
Evnements
Donnes Donnes
Evnements +
Instructions
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 51
Machines algorithmiques
St = g ( Xt , Et ) Xt+1 = f ( Xt , Et )
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 52
Machines algorithmiques
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 53
Machines algorithmiques Lautomate de commande :
ragit aux vnements extrieur cre des vnements pour lenvironnement gnre le flot de commandes traduit lalgorithme excuter
Lautomate de traitement : il est pilot par lAEF de commande ragit aux commandes de celui-ci gnre des donnes pour lenvironnement excute les oprations sur les donnes reues produit des comptes rendus de traitement (de calcul)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 54
Machines algorithmiques
AEF de traitement : Et : les variables dentre :
commande provenant de lautomate de commande donnes provenant de lenvironnement (extrieure)
St : les variables de sortie : compte rendu de calcul action sur lenvironnement
Xt : le vecteur dtat de lautomate : mmorisation intermdiaire de calcul
g : la fonction qui dfinit ltat des sorties : dfinit les actions dfinit les comptes rendus
f : la fonction qui dfinit lvolution de lautomate : dfinit les calculs en fonction des commandes
St = g ( Xt , Et ) Xt+1 = f ( Xt , Et )
AEF Donnes
Cmd Cpt
Donnes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 55
Machines algorithmiques AEF de traitement (suite) : 2 primitives :
calcul : fonctions combinatoires mmorisation : registres, file de registres, mmoire
2 modles : chemins partags chemins point point
(ou encore registres ddis) (ou encore registres gnraux)
R1 R2 R3 O1 O2 Bus 1
Bus 3
R1 R2 R3 O1 O2
Bus 2
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 56
Machines algorithmiques Avantages et inconvnients :
bus point point : paralllisme maximum implantation efficace des algorithmes :
extraction du paralllisme de lapplication ordonnancement des oprations sur les units de calculs
coteux : trs nombreux bus nombreuses connections
intressant pour les machines fort taux de calcul : flot de donnes
bus partags : les bus sont un goulot dtranglement moins coteux ncessit de squencer les oprations indpendantes modle de tous les processeurs existants
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 57
Machines algorithmiques Quest ce qui distingue les AEF de traitement ? largeur des bus :
dabord en 4 bits, puis 8, ... 64 bits, voir mme 128 bits complexit des units de calcul :`
dabord entire puis flottante en 4, puis 8, ... puis 64 bits, (128 bits dans certains cas)
nombre de ressources de calcul : 1 UAL : addition, soustraction, oprations logiques (ou, et, not, etc) ajout dune unit flottante, doublement des units de calcul
nombre de registres : une dizaine dans les premiers processeurs quelques dizaines
dans les processeurs RISC le rle des registres :
de calcul dadresses et de donnes ou gnraux
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 58
Machines algorithmiques la taille de la mmoire adressable :
quelques kilo octets quelques giga octets la prsence dune organisation mmoire complexe :
mise en place de mmoire(s) cache(s) recherche dun compromis entre taille et temps daccs registres trs rapide mais cote cher taille mmoire et temps daccs voluent dans des directions opposes
mmoires externes aux processeurs lente, passage par des buffers et par les pads du circuit
lvolution de la densit a permit dimplanter des mmoires dans le circuit bnficie dun temps daccs trs rapide
1 / temps daccs
taille
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 59
Machines algorithmiques
Alpha 21064
Mips R4000 Pentium
Power PC 601 80486 68040
200 Mhz
64 bits
2 * 8 ko
4
2 * 32
30 w
2,2
150 Mhz
64 bits
2 * 16 ko
??
2 * 32
15 w
4,7
66 Mhz
32 bits
2 * 8 ko
3
2 * 8
16 w
3,8
80 Mhz
32 bits
32 Ko
3
2 * 32
9 w
2,4
50 Mhz
32 bits
2 * 4 ko
1
16 + 8
6 w
1
25 Mhz
32 bits
8 ko
1
2 * 8
5 w
1,8
Frquence
Largeur bus
Cache
Units indp
Registres
Consom
Prix
Caractristiques de quelques processeurs (1994 - 1995)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 60
Machines algorithmiques Alpha 21164
Mips R10000
Pentium II
Power PC 604e
600 Mhz
64 bits
16 et 8 ko
4
2 * 32
40 w
275 Mhz
64 bits
2 * 32 ko
5
2 * 32
30 w
300 Mhz
32 bits
2 * 16 ko
7
? w
350 Mhz
32 bits
2 * 32 Ko
6
12 w
Frquence
Largeur bus
Cache
Units indp
Registres
Consom
Prix
Caractristiques de quelques processeurs
Pentium 4
2400
12 K trace L1 = 8K
L2 = 256 K
7
32 entiers, 80 flottants,
64 MMX
55
1200
64
L1 = 2*64K L2 = 1,75 M
6
2 * 80 int reg 72 float reg
155
G4
1250
L1 = 2 * 32K L2 = 256K
L3 = 2Mb off
32 reg de 128 bits
30
~ $300
Frquence
Largeur bus
Cache
Units indp
Registres
Consom
Prix
Alpha 21364
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 61
Machines algorithmiques Caractristiques de quelques processeurs
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 62
Machines algorithmiques AEF de commande :
Et : les variables dentre : compte rendu provenant de lautomate de traitement vnements provenant de lenvironnement (extrieure)
St : les variables de sortie : vnements destination de lenvironnement commandes pour le traitement
Xt : le vecteur dtat de lautomate : tat courant de lautomate
g : la fonction qui dfinit : dfinit les commandes pour lAEF de traitement dfinit les vnements pour lenvironnement
f : la fonction qui dfinit lvolution de lautomate : dfinit ltat suivant en fonction de ltat courant et des entres
St = g ( Xt , Et ) Xt+1 = f ( Xt , Et )
AEF Evt Cmd Cpt
Evt
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 63
Machines algorithmiques AEF de commande : Modles utiliss : rseaux de Ptri
machine dtats (synchrone ou asynchrone) t1 t2
t3
t4 t5
e1 s1 = 1; s2 = 0;
e2
e3
e4
s1 = 0; s2 = 0;
s1 = 1; s2 = 1;
s1 = 0; s2 = 1;
transition 1
transition 2
transition 3 Notion de synchronisation par rapport une horloge :
- explicite : exprime dans la transition - implicite : napparat pas dans la transition
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 64
Machines algorithmiques
Logique combinatoire
Logique combinatoire
Registre dtats Et
St
Xt+1 Xt
Horloge
St = g ( Xt , Et ) Xt+1 = f ( Xt , Et )
e1 s1 = E0 & E1; s2 = E1 + E2;
e2
e3
s1 = E3 + E4 & E1; s2 = 0;
s1 = E2 & E1 ; s2 = 1;
transition 1
transition 2
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 65
Machines algorithmiques
Logique combinatoire
Logique combinatoire
Registre dtats Et
St
Xt+1 Xt
Horloge
St = g ( Xt ) Xt+1 = f ( Xt , Et )
e1 s1 = 1; s2 = 0;
e2
e3
s1 = 0; s2 = 0;
s1 = 1; s2 = 1;
transition 2
transition 1
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 66
Machines algorithmiques stockage dans une mmoire programme :
Algorithme
Droutement ou passage en squence
Dcodage dadresses
Varia
bles
test
er
Commandes ou vnements vers unit de traitement
Adresses
Contient le codage de l'application
Mmoire ROM ou RAM
Matrialis par un registre (PC : compteur de programme)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 67
Machines algorithmiques les champs de la mmoire programme :
Fonction tester
Action raliser (vers UT)
Adresse de branchement
Fi ( x ) si Ni
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 68
Implantation dun algorithme : tout programme peut tre implant dans ce type de machine
Le modle gnral est le suivant : on peut faire un test, une action et un branchement
Machines algorithmiques
Nt f ( x ) s0 N0 f ( x ) s1 N1
Adresses suivantes Actions Fonctions tester Adresses courantes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 69
Machines algorithmiques modle simplifi, on peut faire soit :
action : on ne teste rien, on effectue laction et on poursuit sur ladresse de programme suivante (Nt+1)
test : on neffectue aucune action, on ralise le test et en fonction du rsultat de lvaluation de la condition
on effectue un branchement ou non dun point de vue AEF de traitement, aucune action nest ralise dun point de vue AEF de commande, il sagit dune action de chargement dune nouvelle valeur
dans le PC de la machine
Nt 0 Nt f ( x ) N0
Action
Test et saut
: ne rien faire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 70
Machines algorithmiques Instructions de calcul ou de transfert :
r1 := r1 + r2 ;
Instructions de saut inconditionnel : BRA Ni ;
Instructions de saut conditionnel : BCC Ni ;
Nt Add r1,r2
Nt true Ni
Nt condition Ni
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 71
Machines algorithmiques Instructions de test
if condition then r1 := r1 + r2 ;
else r1 := r1 - r2 ;
Nt condition Nt+3 Nt+1 Add r1,r1, r2 Nt+2 true Nt+4 Nt+3 Sub r1, r1, r2 Nt+4 .............................................
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 72
Machines algorithmiques Instruction de test :
if condition then bloc instructions 1 ; else bloc instructions 2 ;
N21 I 2,1 N22 I 2,2 .....
N2n2 true Nt+2
Bloc dinstructions 2 N11 I 1,1 N12 I 1,2 .....
N1n1 true Nt+2
Bloc dinstructions 1
Nt condition N11
Nt+1 true N21
Nt+2 ................................
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 73
Machines algorithmiques Instruction de boucles
pour i de 1 N faire bloc dinstructions ;
fait ;
N0 i := 1 N1 i > N Ni+2 N2 I 1 N3 ... ... ...... ... .... .... ......
Ni i := i+1 Ni+1 true N1 Ni+2 ..... ..... .....
Initialisation
Test darrt
Coeur de la boucle bloc dinstructions
Incrmentation de i
Branchement
Demande de test lAEF de traitement (i-N et test si zro)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 74
Machines algorithmiques Instruction de boucles
faire bloc dinstructions ;
tant que condition ;
. ..... ..... .....
N0 I 1 N1 ... I 2 ... .... .... ...... ... .... .... ......
Ni condition N0 Ni+1 ..... ..... .....
Test darrt
Coeur de la boucle bloc dinstructions
Branchement
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 75
Machines algorithmiques Le droutement et lappel de sous programme : aide la structuration de programmes :
appels de procdures ou fonctions
main(){ y = factorielle(x); z = factorielle(s); a = factorielle(b); }
ncessite la mmorisation de l'adresse de retour
void factorielle (x) { ... return valeur;
}
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 76
Machines algorithmiques structure pour assurer le droutement avec sauvegarde de
contexte
Registre dadresses X +1 PIL
E
Adresses de droutement
Stockage des adresses de retour
Squencement des instructions
Call ou Return
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 77
Machines algorithmiques instruction call factoriel
PC = @1000 X +1 PIL
E
Adresses de droutement
Call
PC+1
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 78
Machines algorithmiques instruction call factoriel suite
Adresse de saut X +1 PIL
E
Adresses de droutement
Call
1001
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 79
Machines algorithmiques instruction return
1001 X +1 PIL
E
Adresses de droutement
Return
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 80
Machines algorithmiques Principe de la hirarchisation Une machine M0 :
dispose dun langage L0 A laide de ce langage, on construit des programmes qui forment le
langage L1
La machine M1 : est alors une machine virtuelle dans laquelle on pourra implanter
des algorithmes laide des instructions de L1
Unit de commande de niveau 1
Unit de traitement de niveau 1
Unit de commande de niveau 0
UT 0
*
*
com
man
des
comptes rendus
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 81
Machines algorithmiques Il existe plusieurs niveaux de squencement :
il faut les synchroniser Le squenceur de la machine M0 est simple:
il est ralis de faon travailler le plus rapidement possible il ne sait pas grer les mcanismes dappel de sous programme
(stockage de ladresse de retour, passage de paramtres, etc)
Le squenceur de la machine M1 est plus complexe : offre des modes de squencement complexes, des instructions
complexes permet de bien structurer le programme
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 82
Machines algorithmiques Lenvironnement fournit les commandes (instructions) raliser Le composant mmoire contient lensemble des micro programmes permettant lexcution
des instruction du niveau suprieur Un micro programme est constitu de micro instructions Une micro instruction contient les micro commandes destines lUT0
Unit de traitement de niveau 1
Unit de commande de niveau 0
UT 0
*
commandes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 83
Machines algorithmiques Extension du principe de hirarchisation
reprsentation dun ordinateur sous la forme dune machine 4 niveaux hirarchique 1 langage pour chaque niveau de la hirarchie instructions simples pour le niveau 0 instructions de plus en plus complexes pour les niveaux 1, 2 et 3 machine Mi, compose dAEF de commande UCi, dun AEF de traitement
UTi, et dfinissant un langage Li
Niveau 0, micro instructions
Niveau 1, langage machine
Niveau 2, systme dexploitaton
Niveau 3, applications
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 84
Machines algorithmiques Pour rsumer : les machines ddies :
conues par une approche descendante construction de la partie oprative du systme rpondent strictement aux besoins de lapplication performantes et efficaces
figes donc pas volutives
permettent la conception hirarchique pas intressant pour la ralisation dun prototype mais conviennent bien aux
grandes sries : cot (surface, consommation, etc) protection du systme
conception dASIC temps de conception assez long
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 85
Machines algorithmiques Pour rsumer :
les machines algorithmiques programmables : conues par une approche ascendante :
programmation flexibilit volutives utilisation non optimale des possibilits de la machine
on utilise pas toutes les instructions disponibles on doit programmer les instructions qui nexistent pas
dans les premiers processeurs, pas de multiplication on sarrange pour atteindre la prcision souhaite
exemple : addition 16 bits (A+B) sur processeur 8 bits
AL + BL = SL + Retenue AH + BH + Retenue = SH
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 86
Machine Von Neumann
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 87
Machine Von Neumann Les processeurs Von Neumann : Architecture :
Base sur un accumulateur
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 88
Machine Von Neumann LAEF de commande de niveau 1 : 1 ) recherche le code instruction 2 ) dcode linstruction raliser 3 ) excute linstruction sur lAEF de traitement de niveau 0
lAEF de commande de niveau 0 : reoit le code de linstruction excute le micro programme de linstruction
4 ) stocke les rsultats des calculs
CYCLE VON NEUMANN
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 89
Machine Von Neumann Recherche du code de linstruction : le processeur accde la mmoire et charge linstruction dans un
registre dinstructions ladresse accde est ladresse courante du programme et est stocke
dans un registre de compteur de programme PC ce registre dadresses volue de 1 en 1 sauf dans le cas de
branchement, o il est charg avec une autre valeur
Dcodage de linstruction : il sagit de savoir quelle instruction doit tre ralise : une instruction se dcompose en :
un code opration des oprandes code opratoire
oprande 1 oprande 2
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 90
Machine Von Neumann Excution de linstruction : dcomposition de linstruction en micro instructions par la
machine de commande de niveau 0
move 2(A7), A0
envoie des bons signaux de contrle vers lUT
Stockage des rsultats de calculs : adressage de la mmoire transferts des donnes vers la mmoire mise jour de l'tat du processeur :
mmorisation des drapeaux
A7 A0
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 91
Machine Von Neumann Excution dune instruction plus dtaille :
1) chargement de la prochaine instruction depuis la mmoire vers le registre dinstruction
2) modification du compteur ordinal (PC) pour quil pointe sur linstruction suivante PC = PC + 1
3) dcodage de linstruction 4) localisation des ventuelles donnes ncessaires pour linstruction 5) chargement des donnes dans les registres internes de lunit
centrale 6) excution de linstruction 7) stockage des rsultats dans leurs cases mmoire respectives 8) passage linstruction suivante, retour en 1
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 92
Machine Von Neumann Les diffrentes units
UAL Squencement
Registre dinstructions
Mm
oire
E / S
Unit de traitement
Unit de contrle
Unit de stockage
Bus de donnes
SP RA
PC
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 93
Machine Von Neumann Unit de stockage :
contient les informations relatives : au programme, donc lapplication aux donnes traiter
Unit de traitement : constitue dUAL et de registres de travail les registres contiennent les informations en cours de traitement :
registres contenant des donnes registres contenant ltat de la machine
Unit de contrle : coeur de la machine ralise le squencement, droulement du programme :
dcode linstruction situe dans le registre RI adresse la mmoire par le compteur de programme le registre dadresses permet daccder aux donnes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 94
Machine Von Neumann Autre reprsentation de la machine Von Neumann
REGISTER FILE A
LU
PC
AD
DR
ESS
REG
ISTE
R
MEM
. DAT
A R
EGIS
TER
MUX
MEMORY DATA BUS
MEMORY ADDRESS BUS
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 95
Machine Von Neumann Lexcution des instructions :
on distingue 3 types dinstructions :
instruction de contrle : branchement, appel de procdure
instruction de traitement : arithmtique, logique
instruction de transfert : entre registres entre registres et case mmoire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 96
Machine Von Neumann Instruction de contrle : modification du droulement du programme en fonction
dvnements : INTERNES au processeur : rsultats de calcul, tat de la machine EXTERNES au processeur : broches dentres / sorties
modification du registre de compteur de programme PC
3 types de branchement : conditionnel ou inconditionnel explicite ou implicite avec ou sans restitution du contexte
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 97
Machine Von Neumann Branchement conditionnel ou inconditionnel :
conditionnel : rsulte dun test, par exemple de la valeur dun drapeaux qui indique ltat
de la machine inconditionnel :
saut quelque soit l'tat du processeur
Branchement explicite ou implicite : explicite :
cas dun jump, branchement conditionnel implicite :
cas des interruptions signal extrieur cas des exceptions par exemple division par 0
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 98
Machine Von Neumann Branchement avec sauvegarde de contexte :
lors de lappel dune interruption, il faut conserver ladresse de retour pour assurer le bon droulement du programme
le contexte minimum est constitu de : ladresse de linstruction en cours dexcution lors de lappel de la
procdure charge lutilisateur de sauvegarder plus dinformations si cela est
ncessaire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 99
Machine Von Neumann
PC ( A )
SP
registres
1 ) Avant linterruption 2 ) Interruption
PC
SP
registres
A
Programme dinterruption
Programme principal A A
PC
SP
registres
A
A
PC (A+1)
SP
registres A
3 ) Fin de linteruption 4 ) Retour au programme principal
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 100
Machine Von Neumann
PC
SP
registres
2 ) Interruption
PC
SP
registres
A
Programme dinterruption
Programme principal A A
PC
SP
registres
A
A
3 ) Fin de linteruption
A
Sauvegarde de contexte plus gnral
PC
SP
registres
A
A
restitution de contexte plus gnral
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 101
Machine Von Neumann Linstruction de branchement
Registre dinstructions
Mm
oire
E / S
Squencement
Registre dinstructions
Mm
oire
E / S
SP
a) recherche dune instruction
b) dcodage de linstruction
UAL
UAL PC RA
Squencement
PC
RA SP
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 102
Machine Von Neumann
Squencement
Registre dinstructions
Mm
oire
E / S
SP
c) sauvegarde du contexte UAL PC
RA
Squencement
Registre dinstructions
Mm
oire
E / S
SP
d) Modification du pointeur de pile
UAL PC RA
-1
Linstruction de branchement suite
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 103
Machine Von Neumann
Registre dinstructions
Mm
oire
E / S
SP
e) recherche ladresse de dbranchement
UAL Squencement
PC RA
Linstruction de branchement suite
adresse de saut code Mot 1
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 104
Machine Von Neumann Instructions de traitement : traitement des donnes :
oprations de calculs : arithmtique logique
positionnement des drapeaux en fonction des rsultats de calcul : nul ngatif dbordement de calcul, problme de retenue
A, B sur 8 bits et opration A+B, thoriquement A+B est un rsultat sur 9 bits, si la machine est une machine 8 bits, lopration A+B va provoquer un dbordement, un bit de dbordement rcupre cette information et il est possible de tester la valeur de ce bit
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 105
Machine Von Neumann Linstruction de traitement
Registre dinstructions
Mm
oire
E / S
a) recherche dune instruction UAL
Squencement
PC
RA SP
Squencement
Registre dinstructions
Mm
oire
E / S
SP
b) dcodage de linstruction UAL PC
RA
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 106
Machine Von Neumann
Squencement
Registre dinstructions
Mm
oire
E / S
SP
c) excution de linstruction UAL PC RA
Registre dinstructions
Mm
oire
E / S
SP
d) Stockage du rsultat UAL
Squencement PC
RA
Linstruction de traitement suite
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 107
Machine Von Neumann
Registre dinstructions
Mm
oire
E / S
SP
e) passage ladresse suivante
UAL Squencement
PC RA
+1 Linstruction de traitement suite
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 108
Machine Von Neumann Instructions de transferts :
Il existe au moins 3 types de transferts : entre registres entre mmoire et registre entre deux cases mmoire
Ladressage dune donne peut se faire de manire : adressage immdiat : adressage direct adressage indirect adressage index etc
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 109
Machine Von Neumann
A) recherche dune instruction Registre dinstructions
Mm
oire
UAL Squencement
PC
RA SP
Squencement
Registre dinstructions
Mm
oire
SP
B) dcodage de linstruction UAL PC
RA
Linstruction de transfert
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 110
Machine Von Neumann
C) recherche de la donne Registre dinstructions
Mm
oire
UAL Squencement
PC
RA SP
Squencement
Registre dinstructions
Mm
oire
SP
D) transfert effectif UAL PC
RA
Linstruction de transfert suite
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 111
Machine Von Neumann Transfert registre registre : adressage registre
codage
Instructions : add R1, R2, R3 ; R1 = R2 + R3 move R1, R2 ; R1 = R2
tape de linstruction : A B D
temps dexcution : 3 units de temps
registre destination code Mot 1 registre source
Squencement
Registre dinstructions
Mm
oire
SP
UAL PC RA
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 112
Machine Von Neumann Adressage immdiat : Codage
Instructions : Add R1, R2, #3 ; R1 = R2 + 3 Load R1, #20 ; R1 = 20
type de donnes manipules : constante tape de linstruction :
A B D
temps dexcution : 5 units de temps
registre destination donne
code Mot 1 Mot 2
2 fois, une fois pour chaque mot de linstruction
Squencement
Registre dinstructions
Mm
oire
SP
UAL PC RA
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 113
Machine Von Neumann Adressage direct : codage :
Instructions : Add R1, R2, (1000) ; R1 = R2 + Mmoire[1000] Li R4, (2000) ; R4 = Mmoire[2000]
type de donnes manipules : variable, constante tape de linstruction :
A B C D
temps dexcution : 8 units de temps
registre destination Adresse partie 1
code Mot 1 Mot 2 Mot 3 Adresse partie 2
3 fois, une fois pour chaque mot de linstruction
Squencement
Registre dinstructions
Mm
oire
SP
UAL PC RA
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 114
Machine Von Neumann Adressage indirect :
codage : indirect registre
autre codage : indirect mmoire
Instructions : Add R1, R2, @(R3) ; R1 = R2 + Mmoire[Mmoire[R3]] Li R4, @(R5) ; R4 = Mmoire[Mmoire[R5]]
type de donnes manipules : variable, tableau, pointeur, constante
tape des instructions : A, B, C, D indirect registre 4 UT (A, B) * 3, (C, D) * 3 indirect mmoire 12 UT
registre destination Adresse partie 1
code Mot 1 Mot 2 Mot 3 Adresse partie 2
registre (adr) code Mot 1 registre destination
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 115
Machine Von Neumann Adressage indirect post incrment : codage : indirect registre
autre codage : indirect mmoire
type de donnes manipules : tableau, pointeur, variable, constante
tape des instructions : indirect registre : A, B, C, D, incrmentation du registre dadresses
5 UT indirect mmoire : (A, B) * 3, (C, D) * 3, incrmentation de ladresse,
stockage de la nouvelle adresse en mmoire 17 UT
registre destination Adresse partie 1
code Mot 1 Mot 2 Mot 3 Adresse partie 2
registre (adr) code Mot 1 registre destination
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 116
Machine Von Neumann Adressage index:
codage : index immdiat
autre codage : index par rapport un registre dindex
Instructions : Add R1, R2, R3(R4) ; R1 = R2 + Mmoire[R3+R4]
type de donnes manipules : variable, structure de donnes tape des instructions :
index immdiat: (A, B) * 2, C, D, addition de base et index 7 UT
index par un registre: A, B, C, D, addition de base et index 5 UT
registre base code Mot 1 Mot 2
registre destination index
reg base code Mot 1 reg index registre dest
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 117
Machine Von Neumann Pour rsumer les adressages : Immdiat
Direct
Indirect mmoire
Op code Oprande
Op code Adresse
Mmoire
Oprande
Adresse Oprande
Adresse
Reg dest
Reg dest
Op code Reg dest
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 118
Machine Von Neumann Indirect registre
Dplacement (index)
Pile : accs mmoire implicite
Op code Registre
Adresse
Mmoire
Oprande
Op code Oprande
Oprande
Registre
Registre Registre
+
de la pile Sommet
Reg dest
Op code Reg dest
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 119
Machine Von Neumann
Utilisation des modes dadressages
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 120
Machine Von Neumann Caractristiques du jeu dinstructions :
taille du jeu dinstructions :
pour les processeurs CISC : le nombre de mots pour coder une instruction est variable
pour les RISC on tente de coder les instructions sur une longueur de mot fixe
contrleur plus simple
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 121
Machine Von Neumann
Caractristiques du jeu dinstructions (suite) : orientation mmoire, accumulateur, registres, pile :
mmoire : pas de registres visibles par lutilisateur, toutes les oprations semblent se faire en mmoire
accumulateur : toutes les oprations sont ralises avec un registre particulier (le registre accumulateur)
registre : toutes les oprations se font sur des registres de lunit de calcul pile : les oprations se font sur des donnes ranges dans la pile que lon a
pralablement charge
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 122
Machine Von Neumann
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 123
Machine Von Neumann Caractristiques du jeu dinstructions (suite) : jeu dinstructions orthogonal :
indpendance entre les codes oprations et les modes dadressages toutes les instructions bnficient de tous les modes dadressages en gnral, ces processeurs ont un nombre dinstructions plus petit processeurs plus simples programmer dveloppement dun compilateur plus ais
nombre doprandes manipules : en gnral, les instructions sont :
0 oprande (NOP) 1 oprande 2 oprandes (jeu d'instructions destructif) 3 oprandes (c'est la tendance des processeurs rcents)
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 124
Machines RISC
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 125
Machines RISC Evolution des machines programmables : premiers processeurs :
instructions simples oprations sur les registres oprations sur les entiers
augmentation du nombre dinstructions instructions plus complexes oprations sur les flottants instructions qui se rapprochent dun langage haut niveau
machines trs complexes contrleur trs volumineux
nb de cycles faible
nb de cycles important
Processeur CISC Complex Instruction Set Computer
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 126
Machines RISC La famille des processeurs Intel
1970 1975 1980 1985 1990 1995 2000 2005
Nb
de tr
ansi
stor
s pa
r puc
e
104
103
105
106
107
108
4004
8086
80386
80286
80486
Pentium
Pentium Pro
Pentium IV
8080
Pro
cess
eurs
4 b
its
Pro
cess
eurs
8 b
its
Pro
cess
eurs
16
bits
Pro
cess
eurs
32
bits
Pro
cess
eurs
64
bits
Itanium ?
Loi de Moore
Pentium II
2010
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 127
Machines RISC
1970 1975 1980 1985 1990 1995 2000 2005
Frq
uenc
e d'
horlo
ge
106
105
107
108
109
1010
4004
8086
80386
80286
80486
Pentium
Pentium Pro Pentium II
8080
Pro
cess
eurs
4 b
its
Pro
cess
eurs
8 b
its
Pro
cess
eurs
16
bits
Pro
cess
eurs
32
bits
Pro
cess
eurs
64
bits
Itanium ?
Pentium iv
2010
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 128
Machines RISC Observations : les instructions les moins couramment utilises sont celles
qui engendrent le plus de contrle : adressages complexes (pr-post incrment, bas, index, ...) tous les calculs peuvent sexcuter avec des oprandes en mmoire
(via tous les adressages) latences des instructions trs variables difficult pipeliner lexcution jeux dinstructions non orthogonales jeux dinstructions mal utiliss par les compilateurs
volutions technologiques : Annes 70 : cot mmoire important, il faut rduire la taille du code,
code dense, code complexe Annes 80 : volution des compilateurs, architecture chargement/
rangement
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 129
Machines RISC
occurrence des instructions
load store add sub or and xor sl sr mult div sqrt
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 130
Machines RISC
Exemple d'occurrences des instructions pour un 80x86
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 131
Machines RISC Rgle des 90 - 10 :
par une analyse des excutions des programmes, on remarque que seules
10 % des instructions sont utilises 90 % du temps. les 90 % dinstructions inutilises cotent cher en temps et en
surface silicium Ide : on limite le nombre dinstructions celles qui sont le plus
utilises On ralisera les instructions complexes par programmation
instructions ralisables en 1 cycle horloge rapide
Processeur RISC Reduce Instruction Set Computer
Plusieurs instructions en 1 cycle
Instruction complexe en n cycles
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 132
Machines RISC RISC : instructions simples instructions rapides
Que faire de la surface disponible ?
augmenter le nombre de registres augmenter le nombre dUAL paralllisme placer des units spcifiques mettre de la mmoire cache dans le processeur
temps daccs trs court profiter des rutilisations des donnes
Contrleur simple
Gain en surface important
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 133
Machines RISC Historique
Cahier des charges du premier RISC toutes instructions en 1 cycle accs mmoire par instructions load store oprations addition comparaison entre registres nombre de mode dadressage rduit mme format pour toutes les instructions squenceur cbl trs grand soin apport la ralisation du compilateur
Consquences le cblage du squencement redevient possible puisque instructions simples squenceur rapide et peu coteux surface silicium libre, utilisation pour dautres fonctionnalits gestion matrielle du pipeline plus simple puisque de nombreux problmes sont reportes sur le
logiciel
Projet RISC I et II de Berkeley RISC I : 1982, 39 codes oprations, abandonne pour cause derreur de conception RISC II : 55 codes oprations, 12 MHz, 41 000 transistors, UAL 32 bits
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 134
Machines RISC
Caractristiques des premiers processeurs RISC
IBM 801 RISC 1 RISC2 Processeurs
Annes
Nb instructions
Taille instructions
1980 1982 1983
120 39 55
32
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 135
Machines RISC Comparaison CISC - RISC
Nom
Annes
Nb instructions
Taille instructions
Nb de mode d'adressage
Nb registres
Mmoire de contrle
Taille cache
IBM 370/168
1973
208
2-6
4
16
420
64
VAX 11/780
1978
303
2-57
22
16
480
64
Intel 80486
1989
235
1-11
11
8
246
8
SPARC
1987
69
4
1
40-520
-
32
MIPS R4000
1991
94
4
1
32
-
128
CISC RISC
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 136
Machines RISC
Exemple : taille des instructions variables / fixes
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 137
Machines RISC
Instructions simples ne prenant quun cycle
Seules les instructions LOAd et STORE font des accs la mmoire
Traitement pipeline
Instructions excutes par le matriel
Instructions au format fixe
Peu dinstructions et de modes dadressage
Toute la complexit est dans le compilateur
Instructions complexes prenant plusieurs cycles
Toutes les instructions peuvent faire des accs la mmoire
Instrucitons interprtes par un micro programme
Instructions en format variable
Beaucoup dinstructions et de modes dadressage
Toute la complexit est dans le micro programe
Peu ou pas de traitement pipeline
Plusieurs jeux de registres Un seul jeu de registres
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 138
Machines RISC Les tendances des processeurs RISC et CISC pipelines profonds :
jusqu 20 tages pour le Pentium IV superscalaire :
units fonctionnelles indpendantes unit de disptaching (jusqu 6 instructions lances par cycle pour le R10000)
frquence dhorloge leve : 4 Ghz
architectures 32 ou 64 bits hirarchie mmoire complexe :
bus de donnes entre cache et buffer large premier et second niveau de cache intgrs (on chip)
jeux dinstructions tendus au multi mdia multi processeurs on chip
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 139
ORGANISATION MEMOIRE
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 140
Organisation mmoire
Rappel les mmoires
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 141
Organisation mmoire Pourquoi une organisation mmoire ? Motivations et principe :
augmentation de complexit des applications augmentation du volume de donnes mmoriser augmentation des tailles des mmoires
volution : en 1980, les ordinateurs navaient que quelques kilo octets de mmoires actuellement, il faut au minimum quelques centaines mga octets
les mmoires doivent rpondre 2 contraintes : taille importante temps daccs trs court
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 142
Organisation mmoire Evolution des performances des processeurs et des mmoires
Gap
trs
impo
rtan
t
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 143
Organisation mmoire Illustration des diffrents temps d'accs
Technologie Tps accs Echelle humaine Capacits Indication de prix $ / Mo
Registre 1 2 ns 1 s 64 * 64 bits Fait partie du processeur
Cache intgr 3 ns 3 s 32 ko Fait partie du processeur
Cache externe 25 ns 25 s 4 Mo 40
Mmoire principale 200 ns 3 min 1 Go 2,5
Disque 12 ms 139 jours 10 Go 0,010
Bande 10 20 s 315 ans et plus 50 Go < 0,05
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 144
Organisation mmoire Reprsentation des niveaux de mmoire
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 145
Organisation mmoire
Ct applications Notion de localit dans les accs mmoire :
localit spatiale :
si le processeur excute linstruction de ladresse @i, il y a de forte chance quil excute trs prochainement linstruction de ladresse @i+1
localit temporelle :
si le processeur traite la donne d linstant t, il y a de forte chance quil traite nouveau cette donne dans une temps trs proche
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 146
Organisation mmoire
Exemples de localits sur les donnes
y[i] : localits spatiale et temporelle a[i][j] : localit spatiale x[j] : localits temporelle et spatiale
dans les programmes
dans la boucle, rutilisation intensive des instructions
for (i = 0 ; i < N ; i++) { for (j = 0 j < N ; j++) {
y[i] =y[i] + a[i][j] * x[j] ; }}
Boucle LD R0, R1
ADD R2, R3, R4
MULT R5, R2, R7
SUB R10, R10, #1
BRnz R10, Boucle
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 147
Organisation mmoire
Temps
Adr
esse
s Localit temporelle
Loca
lit
spat
iale
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 148
Organisation mmoire Ides de base :
mise en place d'une hirarchie mmoire : mmoire de petite taille, rapide, proche du processeur mmoire de grande taille, lente, loigne du processeur
Mem
Pro
cess
eur
(reg
istre
s)
Mmoire Mmoire Mmoire
Taille
Cot
Placer dans cette mmoire les donnes utilises par le processeur dans un intervalle de temps
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 149
Organisation mmoire
Efficacit dune hirarchie mmoire :
Eff =
Acclration apporte par la hirarchisation :
Acc =
Tps de traitement mmoire rapide
Tps de traitement mmoire hirarchise
Tps de traitement mmoire lente
Tps de traitement mmoire hirarchise
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 150
Organisation mmoire
Soit N : la taille du bloc P : le nombre de donnes lues et/ou crites dans un bloc TpsL : le temps daccs la mmoire lente TpsR : le temps daccs la mmoire rapide
Processeur
Adresses
Don
nes
Mm
oire
lent
e
Mm
oire
rapi
de
Fonctionnement
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 151
Organisation mmoire Lefficacit et lacclration sexpriment :
Condition respecter pour que la hirarchie soit utile
P * TpsR 2 * N * TpsL + P * TpsR
Eff =
P * TpsL Acc = 2 * N * TpsL + P * TpsR
2 * N * TpsL + P * TpsR < P * TpsL
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 152
Organisation mmoire Intrt dune hirarchie mmoire
plus la diffrence entre les temps daccs est faible, plus les donnes de la page doivent tre rutilises
si P est faible, alors la hirarchie est peu intressante Exemple :
Soit N = 256 et TpsL = 2 * TpsR
2 * N * TpsL TpsL - TpsR P >
2 * 256 * 2 * TpsR 2 * TpsR - TpsR P >
P > 2 * 256 * 2
P > 4 * 256 En moyenne, chaque donne doit tre utilise 4 fois
-
Daniel Chillet, CAIRN-IRISA-ENSSAT-Universit de Rennes 1 153
Organisati