architecture des ordinateurs - aix-marseille...
TRANSCRIPT
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
Architecture desordinateurs
François TOUCHARDPolytech Marseille et CPPM
http://francois.touchard.perso.luminy.univ-amu.fr/francois.touchard at univ-amu.fr
INFO3 2017-18
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 2
2
CV● ingénieur ESPCI (physicien)● doctorats en physique nucléaire et physique des particules● spécialisé dans les systèmes d'acquisition de données et
de déclenchement des détecteurs de physique des particules
● recherche actuelle sur le détecteur ATLAS au CERN ➢ système de déclenchement➢ grilles de calcul pour l'analyse des données
● professeur à l'Université d'Aix-Marseille, Polytech Marseille, département Informatique
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
Vue aérienne du CERN
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
Le tunnel du LHC au CERN
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
4 expériences sur l'accélérateur
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
L'expérience ATLAS
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
L'expérience ATLAS
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
L'expérience ATLAS
● l'accélérateur produit une collision de particules toutes le 25 ns
● chaque seconde, on produit environ 60 Toctets de données brutes– impossibles à stocker (et à analyser)– tous les événements produits ne nous intéressent
pas● système de tri extrêmement puissant pour ne
garder que des événements potentiellement intéressants (environ un sur un million)– on stocke quand même de l'ordre de 10 Poctets par
an...● l'analyse des données est réparties sur plus de
100 centres de calcul dans le monde entier
L'expérience ATLAS
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
Le système de déclenchement et d'acquisition
~9000 cœursà 1.8 GHz
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
La salle de contrôle d'ATLAS
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
un événement un toutes les 25 nanosecondes
F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015
un autre événement
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 14
14
Présentation du cours● architecture matérielle des ordinateurs● cours s'insérant dans un concept plus large de description
des systèmes informatiques et de leur organisation interne
● important de comprendre comment fonctionnent les outils que vous allez utiliser dans votre vie professionnelle
● présente la couche matérielle permettant d'exécuter les logiciels de base (LdB, cf cours de L. Mugwaneza)
➢ cours + TD➢ projet
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 15
15
Présentation du cours● Support de cours
➢ matériel disponible sur la page webhttp://francois.touchard.perso.luminy.univ-amu.fr/
✔ transparents✔ TD✔ références bibliographiques et sites web
● contrôles :➢ examen écrit à la fin du module ➢ contrôle(s) écrit(s) en cours ou en TD (20 à 30% de la note
finale)➢ présence obligatoire (contrôlée)➢ projet, noté à part
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 16
16
Introduction● science relativement récente
➢ apparue au milieu du 20ème siècle● en évolution constante
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 17
17
Introduction● l'ancêtre : ENIAC (1946)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 18
18
Introduction● puis les mainframes : IBM 7090 (1959)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 19
19
Introduction● les minis : PDP8 (1965)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 20
20
Introduction● les stations de travail (~1985) : VAXStation 3100
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 21
21
Introduction● et maintenant les serveurs organisés en clusters
➢ fermés ➢ clouds
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 22
22
Introduction● ou les tablettes et autres smartphones
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 23
23
Introduction● maintenant, les processeurs sont plus complexes, plus
rapides● mais l'architecture interne reste organisée de façon à peu
près similaire● plusieurs familles d'architectures
➢ CISC ✔ Intel (x86), AMD
➢ RISC✔ MIPS, ARM, PowerPC
● on va se focaliser sur une architecture RISC (MIPS)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 24
24
Architecture générale
● une application va consister en un code écrit dans un langage de haut niveau
● au plus bas niveau, la machine ne sait exécuter qu'un nombre restreint d'opérations élémentaires
● on passe du langage de haut niveau aux opérations élémentaires grâce aux logiciels de base
➢ compilateurs➢ système d'exploitation
● le code exécutable est constitué d'instructions pour manipuler des données
➢ modifications➢ comparaisons➢ branchements➢ entrées/sorties vers tous types de périphériques➢ etc...
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 25
25
Architecture générale – blocs fonctionnels
● le processeur traite l'information en exécutant des instructions sur des données
● les données sont déplacées d'un point à l'autre du processeur via un chemin de données grâce à des éléments de contrôle
● physiquement➢ les instructions et les données
sont stockées dans une mémoire➢ le processeur accède aux
instructions et aux données par un bus
➢ l'interaction avec l'extérieur se fait par des périphériques d'entrée/sortie
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 26
26
Architecture générale - blocs fonctionnels
● architecture d'un ordinateur : ➢ description des unités fonctionnelles➢ description de leurs interconnexions
● compromis entre :➢ performances et coûts➢ efficacité et facilité de construction➢ performances et facilités de programmation➢ etc...
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 27
27
Composants d'un ordinateur● 5 composants de base
➢ dispositifs d'entrée✔ clavier, ✔ souris, ✔ disque dur, disque optique, ✔ réseau...
➢ dispositifs de sortie✔ écran, ✔ disque dur, disque optique,✔ réseau...
➢ mémoire➢ processeur
✔ unité de calcul (chemin de données)
✔ unité de contrôle
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 28
28
Carte-mère● support contenant le matériel électronique
➢ processeur➢ mémoire ➢ mémoire cache➢ interfaces
(chipsets,périphériques,bus, etc...)
© MSI K8T Neo
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 29
29
Processeur (Pentium 4)
ControlControl
Control
Control
Advanced pipelininghyperthreading support
Secondarycacheand memoryinterface
I/Ointerface
Instruction cache
Enhanced floating pointand multimedia Integer
datapath
Data cache
15,7
mm
13,8 mm
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 30
30
Fonctionnement du processeur● Cf cours de Logiciel de Base
➢ basé sur l'architecture MIPS● réalisation d'une simple addition
➢ a = b+c➢ instruction add a, b, c
place dans la variable a la somme b+c ➢ utilise des registres pour stocker les variables et une unité
arithmétique pour réaliser la somme● spécificité MIPS : nombre fixe d'opérandes pour avoir une
implémentation matérielle simple ● addition de plus de 2 variables
➢ a = b+c+d+e➢ add a, b, c # la somme de b et c est placée dans aadd a, a, d # la somme de b, c et d est dans aadd a, a, e # la somme de b, c, d et e est dans a
➢ nécessite une séquence de 3 instructions
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 31
31
Fonctionnement du processeur● pour exécuter l'opération a = (b+c) - (e+f)
➢ séquence de 3 instructions➢ add t0, b, cadd t1, e, fsub a, t0, t1
➢ utilisation des variables intermédiaires t0 et t1● les opérandes de l'unité arithmétique
➢ limités à certains emplacements spéciaux liés au matériel appelés registres
➢ constituent l'interface entre le programme et le matériel, visibles des 2 points de vue
➢ leur nombre et leur taille dépendent du matériel (32 registres de 32 bits dans l'architecture MIPS)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 32
32
Fonctionnement du processeur● les registres de l'architecture MIPS
➢ leur nombre (32) résulte d'un compromis entre la vitesse d'exécution et la commodité de programmation
➢ séparés en 2 groupes, avec pour convention de notation :✔ les registres pour les variables "permanentes" : $s0, $s1, ...✔ les registres pour les variables "temporaires" : $t0, $t1, ...
● les 32 registres sont insuffisants pour stocker toutes les variables d'un programme un peu complexe
➢ stockage des variables dans des zones de la mémoire associée au processeur
➢ nécessité d'avoir des instructions pour aller lire et sauvegarder dans la mémoire : lw et sw
➢ exemple : pour exécuter A[12] = h + A[8]
lw $t0, 32($s3)add $t0, $s2, $t0sw $t0, 48(s3)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 33
33
Fonctionnement du processeur● chaque architecture (processeur) possède un ensemble
d'instructions de base (Instruction Set Architecture : ISA)➢ opérations de chargement, stockage en mémoire➢ opérations arithmétiques➢ opérations de comparaison, etc...
● chaque instruction et ses opérandes sont identifiés (représentés) par une séquence de bits
➢ l'instruction est codée dans les 6 bits de poids fort➢ les registres $s0 à $s7 correspondent aux numéros 16 à 23➢ les registres $t0 à $t7 correspondent aux numéros 8 à 15➢ exemple : add $t0, $s1, $s2 sera codé
0 17 18 8 0 32
code opérationidentification registres inutilisé
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 34
34
Fonctionnement du processeur● chaque architecture (processeur) possède un ensemble
d'instructions de base (Instruction Set Architecture : ISA)➢ opérations de chargement, stockage en mémoire➢ opérations arithmétiques➢ opérations de comparaison, etc...
● chaque instruction et ses opérandes sont identifiés (représentés) par une séquence de bits
➢ l'instruction est codée dans les 6 bits de poids fort➢ les registres $s0 à $s7 correspondent aux numéros 16 à 23➢ les registres $t0 à $t7 correspondent aux numéros 8 à 15➢ exemple : add $t0, $s1, $s2 sera codé
ou en binaire :
0 17 18 8 0 32
000000 10001 10010 01000 00000 100000
6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 35
35
Fonctionnement du processeur
● étapes nécessaires pour l'exécution des instructions➢ chargement de l'instruction➢ décodage de l'instruction➢ localisation dans les mémoire des données nécessaires➢ chargement des données (si nécessaire)➢ exécution de l'instruction➢ sauvegarde des résultats dans leurs destinations➢ passage à l'instruction suivante
● unité fonctionnelle associée à chacune des étapes
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 36
36
● l'unité centrale de traitement comprend :➢ une unité de commande
✔ décodeur pour les instructions✔ séquenceur pour contrôler les circuits nécessaire à
l'exécution de l'instruction en cours➢ une unité arithmétique et logique (UAL ou ALU)
✔ exécute les instructions arithmétiques (+, -, ...) et logiques (ET, OU, ...), les comparaisons, etc...
➢ des registres (mémoire locale rapide)✔ compteur ordinal✔ registre d'instruction✔ registre d'état✔ pile et pointeur de pile
➢ de la mémoire locale (cache)➢ éventuellement des co-processeurs
Fonctionnement du processeur
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 37
37
● les élément de l'unité centrale de traitement sont cadencés par une horloge commune
➢ à chaque cycle, chacune des unités va ouvrir ou fermer des portes pour déplacer, lire, écrire, comparer, additionner des bits, en fonctions des ordres de l'unité de contrôle, qui vont dépendre de l'instruction à exécuter
➢ les performances de l'unité centrale peuvent être améliorées en augmentant la cadence de l'horloge et en parallélisant l'exécution des instructions (nécessite une programmation adaptée → compilateur)
Fonctionnement du processeur
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 38
38
Les briques élémentaires● les ordinateurs vont manipuler des entités représentées
par des bits (0/1)➢ logique « booléenne » pour les opérations élémentaires➢ logique « combinatoire » pour manipuler
✔ additionner, soustraire, comparer, multiplexer, etc...➢ logique « séquentielle » pour réaliser des opérations
dépendant du temps✔ bascules, registres, compteurs
➢ l'électronique nécessaire utilise différentes technologies✔ la plus fréquente : VLSI
● pour stocker temporairement ou définitivement les données
➢ mémoires vives (RAM)➢ mémoires mortes (ROM)
● pour effectuer des traitements spécialisés➢ circuits dédiés, éventuellement programmables
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 39
39
Les briques élémentaires● à partir des ces briques, constructions d'entités
complexes➢ contrôleurs➢ processeurs (CPU)
● et des « accessoires » pour assurer leur fonctionnement dans le contexte de l'application
➢ périphériques et gestion des interruptions
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 40
40
Plan du cours● notions sur la technologie VLSI● logique booléenne● logique combinatoire● logique séquentielle● mémoires
➢ vives➢ mortes➢ circuits programmables
● CPU● gestion des interruptions● périphériques
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 41
41
Technologie VLSI● pour manipuler les bits, on assemble des réseaux de
transistors qui peuvent être conducteurs ou isolants selon la polarisation qu'on leur impose par un signal de commande
● technologie CMOS (Complementary Metal Oxyde Semiconductor)
➢ modification de la conductance d'un support de silicium par dopage chimique
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 42
42
Technologie VLSI● pour manipuler les bits, on assemble des réseaux de
transistors qui peuvent être conducteurs ou isolants selon la polarisation qu'on leur impose par un signal de commande
● technologie CMOS (Complementary Metal Oxyde Semiconductor)
➢ modification de la conductance d'un support de silicium par dopage chimique
➢ isolant quand trèspur
✔ dopage N (arsenic, phosphore) → électrons mobiles✔ dopage P (bore, gallium) → trous mobiles
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 43
43
● diode➢ juxtaposition de deux zones, une dopée N, l'autre dopée P
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 44
44
● diode➢ juxtaposition de deux zones, une dopée N, l'autre dopée P➢ au repos, polarisation naturelle par transfert de trous et
d'électrons entre les deux zones
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 45
45
● diode➢ une polarisation directe (- sur la zone N, + sur la zone P)
supérieure à la polarisation naturelle ("seuil") va provoquer la circulation d'un courant
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 46
46
● diode➢ une polarisation inverse (+ sur la zone N, - sur la zone P)
va créer une région déplétée isolante
Technologie VLSI
cathode anode
© il
lust
ratio
ns
: F
. A
nce
au
(C
NA
M)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 47
47
● capacité (condensateur)➢ armature métallique➢ + couche isolante➢ + substrat semi-conducteur (ici dopé P) à la masse (0V)
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 48
48
● capacité➢ en cas de polarisation négative de l'électrode métallique
⇒ renforcement de la densité de trous
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 49
49
● capacité➢ en cas de polarisation positive de l'électrode métallique
⇒ disparition des trous et éventuellement accumulation d'électrons jusqu'à l'obtention locale d'un semi-conducteur de type N
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 50
50
● transistor C-MOS➢ capacité MOS (grille)➢ + 2 zones de contact en semi-conducteur de type opposé à
celui de la grille (source et drain)
transistor de type N
➢ en cas de polarisation positive suffisamment élevée de la grille, le courant pourra passer de la source au drain
Technologie VLSI©
illu
stra
tion
s :
F.
An
cea
u (
CN
AM
)
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 51
51
● transistor C-MOS
➢ un transistor peut être considéré comme un interrupteur :
Technologie VLSI
G=0 G=1 G=1G=0
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 52
52
● inverseur CMOS
Technologie VLSI
G S
Vdd
Vss
G
S
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 53
53
● inverseur CMOS
Technologie VLSI
G S
Vdd
Vss
G
S
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 54
54
● inverseur CMOS
Technologie VLSI
G S
Vdd
Vss
G
S
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 55
55
● avec des transistors et des inverseurs, on va pouvoir créer tous les outils nécessaires pour construire un ordinateur !
Technologie VLSI
F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 56
56
Logique booléenne
à suivre...