Telechargé par Hamdi Sghir

C1-intro

publicité
Architecture des
ordinateurs
François TOUCHARD
Polytech 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 Architecture des ordinateurs
Introduction
©GFGPL 2015
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
2
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
2
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
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
–
–
●
système de tri extrêmement puissant pour ne
garder que des événements potentiellement
intéressants (environ un sur un million)
–
●
impossibles à stocker (et à analyser)
tous les événements produits ne nous intéressent
pas
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
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 Architecture des ordinateurs
Introduction
©GFGPL 2015
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
14
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
14
Présentation du cours
●
Support de cours
➢
matériel disponible sur la page web
http://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
15
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
15
Introduction
●
science relativement récente
➢
●
apparue au milieu du 20ème siècle
en évolution constante
16
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
16
Introduction
●
l'ancêtre : ENIAC (1946)
17
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
17
Introduction
●
puis les mainframes : IBM 7090 (1959)
18
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
18
Introduction
●
les minis : PDP8 (1965)
19
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
19
Introduction
●
les stations de travail (~1985) : VAXStation 3100
20
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
20
Introduction
●
et maintenant les serveurs organisés en clusters
➢
➢
fermés
clouds
21
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
21
Introduction
●
ou les tablettes et autres smartphones
22
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
22
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
✔
➢
RISC
✔
●
Intel (x86), AMD
MIPS, ARM, PowerPC
on va se focaliser sur une architecture RISC (MIPS)
23
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
23
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...
24
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
24
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
●
25
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
25
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...
26
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
26
Composants d'un ordinateur
●
5 composants de base
➢
dispositifs d'entrée
✔
✔
✔
✔
➢
dispositifs de sortie
✔
✔
✔
➢
➢
clavier,
souris,
disque dur, disque optique,
réseau...
écran,
disque dur, disque optique,
réseau...
mémoire
processeur
✔
✔
unité de calcul (chemin de
données)
unité de contrôle
27
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
27
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
28
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
28
Processeur (Pentium 4)
Control
Control
I/O
interface
Instruction cache
Data cache
Integer
datapath
Secondary
cache
and memory
interface
15,7 mm
Enhanced
floating point
and multimedia
Control
Advanced pipelining
hyperthreading support
Control
13,8 mm
29
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
29
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 a
add a, a, d # la somme de b, c et d est dans a
add a, a, e # la somme de b, c, d et e est dans a
nécessite une séquence de 3 instructions
30
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
30
Fonctionnement du processeur
●
pour exécuter l'opération a = (b+c) - (e+f)
➢
➢
➢
●
séquence de 3 instructions
add t0, b, c
add t1, e, f
sub 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)
31
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
31
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, $t0
sw $t0, 48(s3)
32
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
32
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ération
identification
registres inutilisé
33
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
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
ou en binaire :
000000
10001
10010
01000
00000
100000
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
34
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
34
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
35
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
35
Fonctionnement du processeur
●
l'unité centrale de traitement comprend :
➢
une unité de commande
✔
✔
➢
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)
✔
➢
décodeur pour les instructions
séquenceur pour contrôler les circuits nécessaire à
l'exécution de l'instruction en cours
compteur ordinal
registre d'instruction
registre d'état
pile et pointeur de pile
de la mémoire locale (cache)
éventuellement des co-processeurs
36
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
36
Fonctionnement du processeur
●
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)
37
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
37
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
✔
➢
logique « séquentielle » pour réaliser des opérations
dépendant du temps
✔
➢
la plus fréquente : VLSI
pour stocker temporairement ou définitivement les
données
➢
➢
●
bascules, registres, compteurs
l'électronique nécessaire utilise différentes technologies
✔
●
additionner, soustraire, comparer, multiplexer, etc...
mémoires vives (RAM)
mémoires mortes (ROM)
pour effectuer des traitements spécialisés
➢
circuits dédiés, éventuellement programmables
38
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
38
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
39
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
39
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
40
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
40
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
41
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
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
isolant quand très
pur
✔
✔
dopage N (arsenic, phosphore) → électrons mobiles
dopage P (bore, gallium) → trous mobiles
42
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
42
Technologie VLSI
●
diode
juxtaposition de deux zones, une dopée N, l'autre dopée P
© illustrations : F. Anceau (CNAM)
➢
43
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
43
Technologie VLSI
●
diode
➢
© illustrations : F. Anceau (CNAM)
➢
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
44
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
44
Technologie VLSI
●
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
© illustrations : F. Anceau (CNAM)
➢
45
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
45
Technologie VLSI
●
diode
© illustrations : F. Anceau (CNAM)
➢
une polarisation inverse (+ sur la zone N, - sur la zone P)
va créer une région déplétée isolante
cathode
anode
46
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
46
Technologie VLSI
●
capacité (condensateur)
➢
➢
© illustrations : F. Anceau (CNAM)
➢
armature métallique
+ couche isolante
+ substrat semi-conducteur (ici dopé P) à la masse (0V)
47
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
47
Technologie VLSI
●
capacité
en cas de polarisation négative de l'électrode métallique
⇒ renforcement de la densité de trous
© illustrations : F. Anceau (CNAM)
➢
48
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
48
Technologie VLSI
●
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
© illustrations : F. Anceau (CNAM)
➢
49
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
49
Technologie VLSI
●
transistor C-MOS
➢
© illustrations : F. Anceau (CNAM)
➢
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
50
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
50
Technologie VLSI
●
transistor C-MOS
➢
un transistor peut être considéré comme un interrupteur :
G=0
G=1
G=0
G=1
51
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
51
Technologie VLSI
●
inverseur CMOS
Vdd
G
S
S
Vss
G
52
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
52
Technologie VLSI
●
inverseur CMOS
Vdd
G
S
S
Vss
G
53
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
53
Technologie VLSI
●
inverseur CMOS
Vdd
G
S
S
Vss
G
54
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
54
Technologie VLSI
●
avec des transistors et des inverseurs, on va pouvoir
créer tous les outils nécessaires pour construire un
ordinateur !
55
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
55
à suivre...
Logique booléenne
56
F. Touchard
Polytech Marseille INFO3 2017-18
Cours d'Architecture
Introduction
©GFGPL 2015
56
Téléchargement