Structure d`un ordinateur
Download
Report
Transcript Structure d`un ordinateur
Architecture des ordinateurs
Julien Henriet
2006 – 2007
Architecture des ordinateurs
Références
William Stallings, « Organisation et architecture
de l’ordinateur, 6ème édition », ISBN : 2-74407007-6, éditions PEARSON Education, 2003.
2
Plan général
Introduction
L’ordinateur
Le processeur
L’unité de contrôle
Organisation parallèle
3
Introduction
Vue Fonctionnelle
Structure d’un ordinateur
Evolution et Performances des ordinateurs
Unités de mesure des tailles de la mémoire
d’un ordinateur
4
Introduction
Vue fonctionnelle
Les 4 fonctions de base d’un ordinateur :
Traitement des données
Mémorisation des données
Mémoire à long terme
Mémoire à court terme
Transfert des données
Opérations arithmétiques, …
Vers l’extérieur
De l’extérieur
Contrôle
Vérification des opérations possibles et non autorisées
5
Introduction
Vue fonctionnelle
Environnement de fonctionnement (exploitation)
(source et destination des données)
Transfert simple
Mémorisation
Dispositif de
Transfert des
données
Traitement des
Données mémorisées
Traitement des
Données externes
Mécanisme de
Contrôle
Structure de
Mémorisation des
données
Structure de
Traitement des
données
6
Introduction
Vue Fonctionnelle
Structure d’un ordinateur
Evolution et Performances des ordinateurs
Unités de mesure des tailles de la mémoire
d’un ordinateur
7
Introduction
Structure d’un ordinateur
Processeur (CPU = Central Process Unit, Unité
Centrale)
Mémoire principale
Mémorise les données
E/S
Contrôle et exécute les fonctions de traitement des
données
Il peut y en avoir plusieurs
Transfert les données entre l’ordinateur et son
environnement externe
Interconnexion des systèmes (Bus Système)
Prend en charge la communication entre le processeur, la
mémoire principale et les E/S
8
Introduction
Structure d’un ordinateur
Le processeur est composé de 4 éléments
Unité de Contrôle (UC)
Unité Arithmétique et Logique (UAL)
Exécute les fonctions de traitement des données de
l’ordinateur
Registres
Contrôle le fonctionnement du processeur et donc de
l’ordinateur
Mémoire interne du processeur
Interconnexion du processeur (Bus interne)
Prend en charge les communications entre l’UC, l’UAL et les
registres
9
Introduction
Vue Fonctionnelle
Structure d’un ordinateur
Evolution et Performances
Unités de mesure des tailles de la mémoire
d’un ordinateur
10
Introduction
Evolution et performances
Augmentation
constante
de la
vitesse des
Selon
vous, quelles sont
les évolutions
technologiques
constantes
en informatique ?
processeurs
Miniaturisation de la taille des composants
réduction des distances entre les composants
augmentation du nombre de compsants
Augmentation de la taille de la mémoire
Augmentation des débits des E/S
11
Introduction
Evolution et performances
1946 : ENIAC
John Mauchly et John Presper Eckert, université de
Pennsylvanie
2ème guerre mondiale : portée et trajectoire des nouvelles
armes
30 tonnes, 500 m² au sol, 18 000 tubes à vide
1 tube = 1 chiffre
5 000 additions par secondes
Ordinateur décimal
Il fallait brancher et débrancher manuellement des câbles
12
Introduction
Evolution et performances
1952 : machine de Von Neumann
John Von Neumann
Idée : ranger les programmes en mémoire et non
plus tout câbler et recâbler à chaque fois
Cet ordinateur (l’IAS) a servi de base à tous les
autres ordinateurs généralistes
Données et instructions sont représentées en
code binaire
Une UAL est déjà basée sur l’utilisation de
registres
13
Introduction
Evolution et performances
Structure de l’IAS
Unité Centrale de Traitement
Mémoire Principale
(données +
instructions)
Unité Arithmétique et
Logique
Dispositif
E/S
Unité de Contrôle du
Programme
(interprète les
instructions)
14
Introduction
Evolution et performances
1950 : commercialisations des premiers
ordinateurs
UNIVAC I, UNIVAC II puis UNIVAC 1103 par J.
Eckert et J. Mauchly
1953 : IBM commercialise le 701
1950 : Bell crée le transistor (en silicium) qui
remplacera à la fin des années 50 les tubes à
vides dans les ordinateurs
2ème génération d’ordinateurs
15
Introduction
Evolution et performances
Générations Dates Technologies
1
46 – 57 Tubes à vide
Nb op/s
40 000
2
58 – 64 Transistors
3
65 – 71 Micro
1 000 000
électronique,
puces et circuits
intégrés
72 – 77 Intégration à gde 10 000 000
échelle
78 Intégration à très 100 000 000
gde échelle
16
4
5
200 000
Introduction
Evolution et performances
Date
1971
1978
Type de processeur (Intel) Nb de transistors / puce
4004
10 3
8086
5. 10 4
1982
1985
1989
(80)286
(80)386
(80)486
10 5
5. 10
10 6
1993
1995
1997
1999
Pentium
Pentium Pro
Pentium II
Pentium III
5. 10
8. 10
9. 10
10 7
6
2000
Pentium IV
7. 10
7
5
6
6
17
Introduction
Evolution et performances
4ème et 5ème génération : ordinateurs de
bureau et ordinateurs personnels (un
ordinateur de 3ème génération coûtait encore
16 000 $ US !!)
18
Introduction
Evolution et performances
Augmentation de la capacité de stockage sur une puce :
1Kb, 4Kb, 16Kb, 64 Kb, 256 Kb, 1Mb, 4 Mb, 16 Mb, 64 Mb, 256
Mb, 1 Gb
Augmentation de la largeur de bus : capacité de lecture et
transfert simultané de bits :
386 : 16 ou 32 bits
486 : 32 ou 64 bits
Pentiums III et IV : 64 bits
c’est un point critique de l’évolution car l’augmentation de la
largeur de bus n’évolue pas au même rythme que la capacité de
stockage (mémoire) et de traitement (CPU)
Solution :
Augmenter le nombre de bits récupérés simultanément
Utiliser des espaces mémoire tampon (cache et tampons) au niveau
du CPU
19
Introduction
Evolution et performances
Evolution Processeur INTEL
8086 à 80486 : 8 bits à 64 bits en largeur de bus
Pentium : introduction de la parallélisation des traitements
des instructions
Pentium pro : prédiction des branchements et instructions
Pentium II : traitements spécifiques des flux multimedia
Pentium III : instructions supplémentaires pour les logiciels
graphiques 3D
Pentium IV : instructions supplémentaires pour le
multimedia
Itanium : introduction de l’IA
20
Introduction
Evolution et performances
Evolution du Power PC (IBM avec système
RISC)
601 / 620 : 32 à 64 bits de largeur de bus
740 / 750 (3ème génération) : cache intégré dans
la puce du processeur principal
4ème génération : augmentation du parallélisme et
de la vitesse interne du processeur
21
Introduction
Vue Fonctionnelle
Structure d’un ordinateur
Evolution et Performances des ordinateurs
Unités de mesure des tailles de la
mémoire d’un ordinateur
22
Introduction
Unités de mesure des tailles ...
L’information est codée en binaire :
Un bit peut prendre 2 valeurs : 0 ou 1
Un kilobit (noté 1 Kb) est égal à 210 bits
Un mégabit (noté 1 Mb) vaut 210 kilobits
Combien bits exactement vaut 1 Kb ?
Combien de bits exactement vaut 1 Mb ?
Un gigabit (noté 1 Gb) vaut 210 mégabits
Combien de bits exactement vaut 1 Gb ?
23
Introduction
Unités de mesure des tailles...
Convertissez les chiffres 1 à 8 en binaire
24
Introduction
Unités de mesure des tailles...
Dans la plupart des ordinateurs, chaque caractère
est codé sur 8 bits
Combien de caractères différents est-il possible de coder
avec 8 bits ?
Un octet = 8 bits
Attention : la traduction américaine d’un octet est
« byte »
1 KB = 1 kilobyte = 1 kilooctet ≠ 1 Kb = 1 kilobit
1 MB = 1 mégabyte = 1 mégaoctet ≠ 1 Mb = 1 mégabit
1 GB = 1 gigabyte = 1 gigaoctet ≠ 1 Gb = 1 gigabit
25
Introduction
Unités de mesure des tailles...
1 Ko = 210 octets
1 Mo = ?? Ko = ?? Octets
1 Go = ?? Mo = ?? Ko = ?? octets
26
Introduction
Unités de mesure des tailles...
Un kilooctet (noté 1 Ko) est égal à ???
kilobits, soient ??? bits
Un mégaoctet (noté 1 Mo) est égal à ???
mégabits, soient ??? bits
Un gigaoctet (noté 1 Go) est égal à ???
gigabits, soient ??? bits
27
Plan général
Introduction
L’ordinateur
Le processeur
L’unité de contrôle
Organisation parallèle
28
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
29
L’ordinateur
Fonction
Exécuter des programmes
Les programmes se composent d’un
ensemble d’instructions
Les instructions sont rangées en mémoire
Les composants de l’ordinateur :
Processeur
Mémoire
Module d’E/S
Bus système
30
L’ordinateur
Fonction
Faire un schéma fonctionnel d’un ordinateur à partir de la description faite
Mémoire Principale
CPU
RA
CP
Bus Système
RT
RI
instruction
Unité
RA E/S
instruction
d’exécution
instruction
RT E/S
instruction
Module E/S
données
Tampons
données
données
31
L’ordinateur
Fonction
Le processeur lit une à une les instructions
dans la mémoire et les exécute
Le cycle d’instruction est le traitement
nécessaire pour une instruction
Lecture d’une instruction
Lecture d’une ou plusieurs opérandes
Rangement d’une ou plusieurs opérandes
Test d’interruption
32
L’ordinateur
Fonction
le CP (Compteur de Programme) contient
l’adresse de la prochaine instruction à lire
Il est incrémenté à chaque lecture
Le processeur place l’instruction du CP dans
le RI (Registre Interne) et incrémente le CP
Puis il traite l’instruction
33
L’ordinateur
Fonction
L’instruction
peutd’instructions
être :
Selon
vous, quels types
trouve-t-on en
mémoire
?
Une lecture ou une écriture mémoire
Une lecture ou une écriture E/S
Un traitement arithmétique des données
Un contrôle : la prochaine instruction est à
l’adresse…
(cas des instructions conditionnelles et des appels de
sous-programmes)
34
L’ordinateur
Fonction
Une
interruption
peutnom
êtrel’indique)
:
Une
interruption
comme (son
interrompt le
cycle d’instructions
ou le programme
programme en cours d’exécution.
Une interruption
Dépassement de capacité
Selon vous,
quels types d’interruptions trouve-t-on ?
Division par 0
Instruction illégale
Un temporisateur
Une interruption E/S
Permet au système d’exploitation d’effectuer
régulièrement certaines fonctions
Exemple : l’utilisateur écrit au clavier
Une défaillance matérielle
35
L’ordinateur
Fonction
Pour chaque périphérique E/S il y a un
gestionnaire d’interruption
Un périphérique E/S peut être :
Une imprimante
Un disque
Un modem
Un clavier
Une souris
…
36
L’ordinateur
Fonction
Les différentes structures de bus :
Les lignes de données
Les lignes d’adresses
Désignent la source ou la destination des données du bus de
données
Les lignes de contrôle
Transmettent uniquement des données
déterminent les performances
Contrôlent l’accès et l’utilisation des lignes de données et
d’adresse
Physiquement, ce sont des lignes métalliques
gravées sur la carte
37
L’ordinateur
Fonction
Ordinateurs modernes :
Hiérarchisation des bus
Des tampons sont ajoutés entre les bus
Le bus PCI
Bus interne permettant de connecter des cartes d’extension
sur la carte mère d’un ordinateur
Bus haut débit
Indépendant du processeur
Meilleurs performances que le bus système
aujourd’hui, les performances des cartes graphiques sont
fonction des bus utilisés : PCI fut supplanté par AGP, puis
PCI-Express…
38
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
39
L’ordinateur
La mémoire cache
Organisation hiérarchique de la mémoire d’un ordinateur
Registres du processeur (au plus près du processeur)
Cache (niveaux L1, L2, …)
Mémoire
Interne du
Système
RAM (mémoire principale du système)
Disque dur fixe
Médias mobiles : ZIP, CD, bandes
(temps d’accès plus élevés)
Mémoire
Externe
40
L’ordinateur
La mémoire cache
Pour améliorer les performances :
Garder au plus près du processeur (en
cache), les accès récents
De manière à accéder le moins possible à la
mémoire externe
41
L’ordinateur
La mémoire cache
mots
Processeur
blocs
Cache
Mémoire principale (RAM)
1 mot = plusieurs bits (dépend des ordinateurs)
1 bloc = plusieurs mots (dépend des ordinateurs)
42
L’ordinateur
La mémoire cache
La mémoire cache est une copie de certaines
parties de la mémoire principale
Lorsque le processeur tente de lire un mot, il
vérifie auparavant s’il ne se trouve pas déjà
dans le cache.
L’accès aux mots est ainsi plus rapide
43
L’ordinateur
La mémoire cache
Si le mot ne se trouve pas dans le cache, on
copie d’abord le bloc dans le cache
Puis le cache donne l’accès au mot au
processeur
il est fort probable que lorsqu’on souhaite
accéder à une information d’un bloc, on
souhaite accéder aux informations
environnantes de ce mot dans le bloc
44
L’ordinateur
La mémoire cache
Le cache doit être suffisamment grand
Le cache doit être suffisamment réduit
stocker toutes les données nécessaires
pour permettre d’accéder aux informations
rapidement
hiérarchie de caches
45
L’ordinateur
La mémoire cache
PowerPC G4
1 cache interne : cache L1
Un cache pour les données de 32 Ko
Un cache pour les instructions de 32 Ko
2 caches externes :
Cache L2 : cache mixte (données et instructions) de
256Ko à 1Mo
Cache L3 : cache mixte (données et instructions) de 2
Mo
46
L’ordinateur
La mémoire cache
Pentium 4
1 cache interne : cache L1
Un cache pour les données de 8 Ko
Un cache pour les instructions de 8 Ko
1 cache externe : cache L2
Un cache mixte (données et instructions) de 256 Ko
47
L’ordinateur
La mémoire cache
Il existe différents algorithmes pour remplacer
les blocs dans le cache
Du plus efficace au moins efficace :
Moins récemment utilisé
Premier entré premier sorti
FIFO : First In First Out
Moins fréquemment utilisé
LRU : Least Recently Used
LFU : Least Frequently Used
Remplacement aléatoire
48
L’ordinateur
La mémoire cache
Contrainte du remplacement des blocs du
cache :
Si le bloc à remplacer a été modifié reporter la
modification en mémoire principale
Accès concurrents directs la mémoire principale
Par un module E/S
Par un autre processeur parallèle (cas des
multiprocesseurs)
chaque processeur a son propre cache
penser à reporter la modification dans les autres caches
un bit du cache sert à spécifier la modification d’une ou
plusieurs données
49
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
50
L’ordinateur
La mémoire interne
DRAM
Dynamic Random Access Memory
Mémoire vive interne
L’information est une charge électrique sur un
condensateur
Cette charge diminue avec le temps et doit être rafraîchie
régulièrement
Une valeur seuil détermine si c’est un 1 ou un 0 pour le bit
L’information s’efface avec le temps
Selon vous, est-il utile d’attendre 10 à 20 secondes
avant de rallumer un PC planté ? Pourquoi ?
51
L’ordinateur
La mémoire interne
DRAM (suite)
La DRAM Synchrone (SDRAM) (IBM)
Échange les données avec le processeur en synchronisation
avec une horloge interne
Quand une requête est faite par le processeur, le nombre de
cycles au bout duquel la DRAM aura fait l’action est connu par
avance
le processeur peut donc continuer à travailler
(avec une DRAM classique, il attendrait)
La SDRAM peut envoyer des données en rafale
Aujourd’hui SDRAM
DDR-SDRAM qui peut envoyer des données vers le processeur 2
fois par cycle (contre 1 fois avec la SDRAM)
DDR2-SDRAM : parallélisme dans la mémoire (les puces
fonctionnent par deux)
52
L’ordinateur
La mémoire interne
DRAM (suite)
DRAM Rambus (RDRAM) (Intel)
Principale concurrente de la SDRAM
Basée sur un bus interne qui définit la vitesse de
transmission
Le type d’action est transmis par le bus et intégré aux
données transmises
gain de temps
Vitesse du bus : 800 Mb/s
53
L’ordinateur
La mémoire interne
DRAM (suite)
DRAM Cache (CDRAM) (Mitsubichi)
Elle inclut un petit cache SRAM de 16 Ko
Elle peut servir de véritable cache ou de tampon pour
prendre en charge l’accès séquentiel à un bloc do
données
Préchargement dans la SRAM cache
54
L’ordinateur
La mémoire interne
SRAM
Static Random Access Memory
Mémoire vive interne statique
La plus rapide à se décharger
Tout disparaît lorsque l’alimentation est coupée
Utilisée pour le cache
Pourquoi ?
55
L’ordinateur
La mémoire interne
ROM
Read-Only Memory
Mémoire morte
Mémoire permanente (non volatile, lecture seule),
les données ne peuvent être effacées
Elle sert aux
Selon vous,
est-elle utiliséedes
dans
un PC ? pour les fonctions
Sous-programmes
bibliothèques
fréquemment utilisées
Programmes du système
Tableaux de fonctions
56
L’ordinateur
La mémoire interne
ROM (suite)
PROM
EPROM
Erasable PROM
ROM effaçable et programmable globalement et
électriquement (par rayonnement UV)
EEPROM
Programmable ROM
ROM programmable une seule fois
Electrical EPROM
EPROM programmable octet par octet
Mémoire Flash
PROM effaçable par bloc
57
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
58
L’ordinateur
La mémoire externe
Quels
sont lesmagnétique
différents types de mémoires externes que
Disque
vous connaissez ?
La technologie RAID
Mémoire optique
Bande magnétique
Mémoire flash externe
59
L’ordinateur
La mémoire externe
Aspect physique
C’est un plateau rond composé
D’un matériau non magnétique (substrat)
Recouvert d’un matériau magnétique
60
L’ordinateur
La mémoire externe
Les données sont enregistrées puis
récupérées du disque via une bobine
conductrice : la tête
La tête est fixe et le plateau tourne endessous en phase de lecture et d’écriture
Sur la plupart des disques, il y a une tête de
lecture et une tête d’écriture
61
L’ordinateur
La mémoire externe
Sur le plateau les données sont organisées
en anneaux concentriques : pistes
Largeur d’une piste = largeur de tête
Une surface contient des milliers de pistes
Des espaces entre les pistes évitent les
erreurs induites par un mauvais alignement
de la tête sur les pistes
62
L’ordinateur
La mémoire externe
Les pistes sont divisées en secteurs
Quelques centaines de secteurs par piste
La longueur d’un secteur est fixe : 512 octets
Les secteurs adjacents sont séparés par des
espaces intersecteur
Des marqueurs invisibles à l’utilisateur délimitent
chaque secteur :
Début
Taille
Identifiant du secteur
Numéro de piste
fin
63
L’ordinateur
La mémoire externe
Faites une vue schématique d’un disque avec une piste et
un secteur
Piste
Secteurs
64
L’ordinateur
La mémoire externe
Disque à tête fixe
une tête de lecture / écriture par piste
Disque à tête mobile
une seule tête de lecture / écriture
montée sur un bras déployable et rétractable
Un arbre fait tourner le disque
65
L’ordinateur
La mémoire externe
Faire un schéma de disque à tête mobile avec
Bras
une seule tête
Plateau
Tête de
Lecture ou
d’Ecriture
Axe
Hampe
66
L’ordinateur
La mémoire externe
Les pistes d’une surface de plateau
constituent un cyclindre
2 types de disques :
Disques simple face
Disques double face
Une couche magnétique sur les 2 faces du plateau
Certains disques contiennent plusieurs plateaux
Une tête par surface de plateau
67
L’ordinateur
La mémoire externe
Bras avec 3
Faire le
schéma d’un disque à tête mobile
Plateau
Tête de
plateaux double face
Lecture ou
d’Ecriture
Surface 1
Surface 0
Axe
Hampe
68
L’ordinateur
La mémoire externe
Pour mesurer la performance des accès à un
disque :
Temps d’attente du composant
Lorsqu’un processus émet une requête d’E/S, il doit
d’abord attendre dans une file d’attente qu’un
composant soit disponible avant de lui être assigné
Temps d’attente du canal
Si le canal est partagé avec d’autres lecteurs de
disques, il y a un délai d’attente supplémentaire
69
L’ordinateur
La mémoire externe
Performance d’un disque (suite)
Temps de positionnement :
Délai dû au composant occupé
Temps nécessaire pour positionner la tête au-dessus de la
piste
Disques durs modernes : < 10 ms
Le contrôleur de disque attend ensuite que le secteur
approprié tourne pour venir s’aligner avec la tête
Si le composant fait une autre tâche, il faut attendre qu’il ait
fini le cycle
Délai de rotation
Temps qu’il faut pour positionner le début du secteur sous la
tête.
Disques durs modernes : entre 100 ms et 50 ms
70
L’ordinateur
La mémoire externe
Temps
Attente du
Composant
Temps
Attente du
Canal
Temps de
Positionnement
Composant
Occupé
Délai de
Rotation
Temps de transfert des données
Temps d’accès = temps de positionnement + délai de rotation
71
L’ordinateur
La mémoire externe
Aujourd’hui, les techniques de stockage
holographique et l’enregistrement
perpendiculaire (perpendicular recording)
permettent de concevoir des disques de
plusieurs Tera octets.
Couche
Supplémentaire
Magnétisée
verticalement
Enregistrment
linéaire
72
L’ordinateur
La mémoire externe
Disque magnétique
La technologie RAID
Mémoire optique
Bande magnétique
Mémoire flash externe
73
L’ordinateur
La mémoire externe
Reductant Array of Independant Disks
Réseaux redondants de disques indépendants
Utilisation de plusieurs disques externes en
parallèle
Accès simultanés à plusieurs disques
7 niveaux différents de 0 à 6
74
L’ordinateur
La mémoire externe
RAID 0
Pas de redondance
Possibilité d’émettre 2 requêtes en parallèle sur 2
disques différents
RAID 1
Duplication des données
Chaque disque possède un disque miroir
selon vous, quel(s) sont les intérêts ?
75
L’ordinateur
La mémoire externe
RAID 2 et RAID 3
Techniques d’accès parallèle aux différentes
données
En cas de défaillance d’un disque, on accède au
disque de parité et les données sont reconstruites
RAID 4 à RAID 6
Accès indépendants et non plus parallèles (aux
mêmes places sur tous les disques)
on peut satisfaire des requêtes d’E/S distinctes
en parallèle
76
L’ordinateur
La mémoire externe
Disque magnétique
La technologie RAID
Mémoire optique
Bande magnétique
Mémoire flash externe
77
L’ordinateur
La mémoire externe
1983 :
création du CD,
non effaçable
60 minutes
audio
78
L’ordinateur
La mémoire externe
Citez les différents types de supports optiques que vous
connaissez
CD
Lecture seule. Audio
CD-ROM
Lecture seule. Tout type d’information. 650 Mo
CD-R
1 seule écriture possible
CD-RW
Ré-enregistrable
DVD
Digital Video Disk. Lecture seule. Vidéo
DVD-R
DVD-RW
DVD enregistrable une seule fois
Ré-enregistrable
79
L’ordinateur
La mémoire externe
Fonctionnement d’un CD :
Etiquette
Aluminium
Acrylique
protecteur
Méplat
Plastique
Polycarbonate
Creux
Réception / transmission
laser
80
L’ordinateur
La mémoire externe
Fonctionnement d’un CD (suite) :
Un moteur fait tourner le disque sous un laser
faible puissance
Creux lumière dispersée : faible intensité en
retour
Méplats lumière d’intensité plus grande en
retour
Un capteur détecte les changements entre creux
et méplats
81
L’ordinateur
La mémoire externe
Fonctionnement d’un CD (suite) :
1 : début et fin d’un creux
0 : pas de changement d’état
Les données sont organisées en spirale et non en
disques
on balaie selon une vitesse linéaire constante et non
plus angulaire
82
L’ordinateur
La mémoire externe
Fonctionnement d’un DVD
Les bits sont disposés plus étroitement que sur un
CD
Seconde couche de creux et de méplats sur la
première couche
en ajustant la focale des lecteurs,
lecture couches semi-réfléchissante et réfléchissante
individuellement
Un DVD peut posséder 2 faces
83
L’ordinateur
La mémoire externe
Fonctionnement d’un DVD
Face 1
Face 2
Substrat de polycarbonate
Couche semiréfléchissante
Couche
polycarbonate
Couche pleinement
réfléchissante
84
L’ordinateur
La mémoire externe
Selon
sont
les avantages
et couteux
les inconvénients
des
Unvous
CD quels
ou un
DVD
est moins
à
CD et DVD sur un disque magnétique ?
reproduire qu’un disque magnétique
Il est amovible possibilité d’archivage
Mais les temps d’accès sont plus longs qu’un
disque magnétique
85
L’ordinateur
La mémoire externe
Disque magnétique
La technologie RAID
Mémoire optique
Bande magnétique
Mémoire flash externe
86
L’ordinateur
La mémoire externe
Même principe que les disques magnétiques
Bande polyester souple recouverte d’une
pellicule de matériau magnétique
Données organisées en pistes parallèles (18
à 36 pistes parallèles)
Enregistrement en serpentin
Une piste en aller,
L’autre piste en retour dans l’autre sens et ainsi
de suite
87
L’ordinateur
La mémoire externe
La tête peut lire et écrire sur plusieurs pistes
en même temps
L’accès aux données sur bande est
séquentiel
C’est le stockage le moins couteux encore
aujourd’hui
88
L’ordinateur
La mémoire externe
Disque magnétique
La technologie RAID
Mémoire optique
Bande magnétique
Mémoire flash externe
89
L’ordinateur
La mémoire externe
Clé USB :
Mémoire à semi-conducteurs (puce)
EEPROM
Effaçable octet par octet
Mémoire flash externe :
Mémoire flash
Effaçable bloc par bloc
90
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
91
L’ordinateur
Les Entrées/Sorties
Ce sont les interfaces d’un ordinateur avec le
monde extérieur (périphériques externes)
Périphériques lisibles par l’homme
écran, imprimante, clavier, souris, …
Citez et classez les périphériques que vous connaissez
Périphériques lisibles par l’ordinateur
disques magnétiques, capteurs, …
Périphériques distants
modem, terminal, …
92
L’ordinateur
Les Entrées/Sorties
Il y a un module E/S dédié à chaque périphérique
Un module E/S a pour fonction
Contrôler et coordonner les flux de données
Communiquer avec le processeur et les périphériques
Décoder les signaux électriques (imprimante),
États des périphériques (très lents)
Mettre en mémoire tampon des données (lenteur des
périphériques)
Détecter les erreurs, dysfonctionnements et pannes
93
L’ordinateur
Les Entrées/Sorties
Les E/S programmées
Les E/S gérées par interruption
Les accès directs à la mémoire
94
L’ordinateur
Les Entrées/Sorties
Échange de données processeur / module
E/S
Le programme contrôle totalement l’opération
durant toute sa durée
il doit attendre la fin de l’opération
perte de temps
95
L’ordinateur
Les Entrées/Sorties
Un module E/S peut recevoir 4 types de
commandes du processeur :
Control
Test
Teste les différentes conditions d’état (alimenté, prêt, …)
Read
Active le périphérique et lui indique ce qu’il doit faire
Lecture des données du périphérique et placement le tampon
du module E/S
Write
Transmission d’une données provenant du processeur au
périphérique via le bus système
96
L’ordinateur
Les Entrées/Sorties
Les E/S programmées
Les E/S gérées par interruption
Les accès directs à la mémoire
97
L’ordinateur
Les Entrées/Sorties
Le processeur émet une commande
Puis exécute un autre travail
Quand le module E/S a traité la commande, il
émet une requête de service
Le processeur interrompt son travail
98
L’ordinateur
Les Entrées/Sorties
Du point de vue du module E/S :
Entrée : réception d’une commande du
processeur
Lecture des données du périphérique
Écriture de la donnée dans le tampon (registre de
données)
Interruption transmise au processeur (via ligne de
contrôle du bus système)
Attente que le processeur réclame la donnée
Le module place la donnée sur le bus
99
L’ordinateur
Les Entrées/Sorties
Du point de vue du processeur
Émission d’une commande
Exécution d’une ou plusieurs tâches
À la fin de chaque cycle d’instructions, test des
interruptions
S’il y a une requête, il sauvegarde le contexte du
programme en cours
Stockage des données transmises dans la mémoire interne
Restauration du contexte du programme interrompu
100
L’ordinateur
Les Entrées/Sorties
Les interruptions peuvent venir de plusieurs
modules
quel module a envoyé quelle interruption ?
ordonner les interruptions qui arrivent en même
temps
priorités affectées aux périphériques
101
L’ordinateur
Les Entrées/Sorties
Les E/S programmées
Les E/S gérées par interruption
Les accès directs à la mémoire
102
L’ordinateur
Les Entrées/Sorties
Les E/S gérées par interruption demandent
néanmoins une intervention active du processeur
Le transfert des données doit passer par le
processeur
Le débit de transfert est donc limité par la vitesse à laquelle
le processeur teste et sert un périphérique
Le processeur est occupé à gérer chaque transfert E/S
l’accès direct à la mémoire est utile pour le transfert de
gros volumes de données
103
L’ordinateur
Les Entrées/Sorties
DMA : Direct Access Memory
implique un module supplémentaire sur le
bus système : le module DMA
S’octroie le contrôle du système pour transférer
les données vers et depuis la mémoire en passant
par le bus système
104
L’ordinateur
Les Entrées/Sorties
Quand le processeur veut lire ou écrire un
bloc de données
Il émet une commande vers le module DMA
Il continue ensuite son autre tâche
Le module DMA transfert le bloc en volant des
cycles de bus au processeur
simple ralentissement du processeur
Lorsque le transfert est terminé, il envoie un
signal d’interruption au processeur
105
L’ordinateur
Fonction d’un ordinateur
La mémoire cache
La mémoire interne
La mémoire externe
Les Entrées/Sorties
Support du système d’exploitation
106
L’ordinateur
Support du système d’exploitation
Le système d’exploitation (Opérating
Système, OS)
Est le logiciel qui
Contrôle les programmes d’un processeur et
Gère ses ressources
Citez tous les systèmes d’exploitation que
vous connaissez
107
L’ordinateur
Support du système d’exploitation
Vue d’ensemble
Ordonnancement
La gestion mémoire
108
L’ordinateur
Support du système d’exploitation
Couches et vues du système informatique
Applications
Vue par l’utilisateur final
Utilitaires
Vues par le programmeur
Système d’exploitation
Matériel
Vue par le concepteur
du système d’exploitation
109
L’ordinateur
Support du système d’exploitation
Fonctions
Contrôle l’exécution des programmes
d’applications
Interface entre utilisateur et matériel
Objectifs
Ergonomie : faciliter l’utilisation d’un ordinateur
Efficacité : gérer les ressources du système
110
L’ordinateur
Support du système d’exploitation
Les services
Assister le programmeur dans la création de
programmes
Exécution de programmes
Accès aux périphériques
Accès contrôlés aux fichiers
Accès au système
Détection d’erreur et réponse
Statistiques (sur les ressources et leurs taux
d’utilisation)
111
L’ordinateur
Support du système d’exploitation
La mémoire principale héberge une partie du
système d’exploitation (la plus utilisée) : le
noyau
112
L’ordinateur
Support du système d’exploitation
Les différents types de systèmes
d’exploitation
Systèmes à traitement par lots multiprogrammés
Systèmes actuels
Le processeur effectue plusieurs programmes en même
temps : système multitâche
Principal objectif : utiliser le processeur au maximum
Sources des directives : commandes du langage
113
L’ordinateur
Support du système d’exploitation
Les différents types de systèmes
d’exploitation (suite)
Systèmes à temps partagé
Plusieurs utilisateurs simultanés (via terminaux) sur un
serveur
Le système d’exploitation entrelace l’exécution des
programmes de chaque utilisateur
Principal objectif : minimiser le temps de réponse
Sources des directives : commandes saisies sur le
terminal
114
L’ordinateur
Support du système d’exploitation
Vue d’ensemble
Ordonnancement
La gestion mémoire
115
L’ordinateur
Support du système d’exploitation
L’ordonnancement des tâches est l’une des
tâches les plus importantes du système
d’exploitation
Le système interrompt de temps en temps
certains processus pour partager
équitablement les tâches
116
L’ordinateur
Support du système d’exploitation
4 types d’ordonnancement interviennent en
même temps
À long terme
À moyen terme
Accroître le nb de processus dans la mémoire principale
À court terme
Accroître la réserve des processus à exécuter
Choix du premier processus disponible
Ordonnancement d’E/S
Choix de la requête d’E/S qui sera gérée par un
composant E/S disponible
117
L’ordinateur
Support du système d’exploitation
File d’attente à long terme
File d’attente à court terme
Tâches qui attendent pour utiliser le système
Processus prêts à utiliser le processeur
File d’attente E/S
Processus de chaque périphérique E/S
Éventuellement, plusieurs processus pour un
périphérique
118
L’ordinateur
Support du système d’exploitation
Chaque requête de processus est placée
dans la file d’attente à long terme
Lorsqu’une place se libère dans la file
d’attente à court terme, la requête est
transformée en processus et placée dans la
file d’attente à court terme
119
L’ordinateur
Support du système d’exploitation
Le processeur passe de l’exécution de A à B
si
A émet un appel de service (une requête par
exemple)
A provoque une interruption
Une opération E/S de B s’achève : une
interruption d’E/S vient d’être reçue du module
E/S
120
L’ordinateur
Support du système d’exploitation
Sauvegarde des données contextuelles de A
Éventuellement restauration des données
contextuelles de B
Exécution de B
Une fois B terminée, le système d’exploitation
revient à A
121
L’ordinateur
Support du système d’exploitation
Le processeur alterne entre l’exécution
Du système d’exploitation
Des processus utilisateur
Lorsque c’est au tour du système
d’exploitation, il choisit le prochain processus
dans la file d’attente à court terme
Chaque tâche a une priorité, le système
d’exploitation est chargé d’orienter le
processeur vers les tâches les plus urgentes
122
L’ordinateur
Support du système d’exploitation
Vue d’ensemble
Ordonnancement
La gestion mémoire
123
L’ordinateur
Support du système d’exploitation
La file d’attente à long terme est en général
sur le disque
La file d’attente à court terme est dans la
mémoire principale
Permutation :
Un processus de la file d’attente à court terme est
en attente d’une opération d’E/S, il est placé sur
une file d’attente intermédiaire située sur le disque
Le système d’exploitation amène alors en
mémoire principale un autre processus du disque
124
L’ordinateur
Support du système d’exploitation
Partitionnement de la mémoire
Partitions de tailles fixes :
Gaspillage de la mémoire : certaines zones sont non
utilisées
Partitions de tailles variables bien plus efficace
Allocation de la taille exactement requise pour chaque
processus de la mémoire
Néanmoins, à force de permuter des processus, on peut
avoir certains trous
compactage : le système d’exploitation déplace les
processus
125
L’ordinateur
Support du système d’exploitation
Les unités de programmes sont des pages
Les cadres disponibles dans la mémoire sont
des pages mémoires
Les pages sont affectées à des pages
mémoires
possibilité de charger le programme par
morceau
le système d’exploitation tient à jour une table
des pages pour chaque processus
126
L’ordinateur
Support du système d’exploitation
La mémoire virtuelle repose sur la
pagination à la demande
La page d’un programme n’est appelée que
lorsque l’on en a besoin
Seules quelques pages sont en mémoire
principale
la taille d’un processus peut être supérieur à la
taille de la mémoire principale
un utilisateur a l’impression d’avoir à faire à
une mémoire beaucoup plus grande qu’elle n’est
réellement : c’est la mémoire virtuelle
127
L’ordinateur
Support du système d’exploitation
La segmentation est une méthode de pagination
visible par l’utilisateur
(la pagination n’est accessible et visible que par le système
d’exploitation)
Elle permet au programmeur de
Spécifier les tailles requises pour ses données
Modifier ou recompiler les programmes indépendamment
Partager des processus : un programme peut placer une
données dans un segment accessible par un autre
processus
Protéger le processus et les données car les segments ont
des privilèges d’accès associés
128
Plan général
Introduction
L’ordinateur
Le processeur
L’unité de contrôle
Organisation parallèle
129
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
130
Le processeur
Arithmétique des ordinateurs
Représentation des nombres au format
binaire
Les opérations arithmétiques et logiques sont
faites par l’UAL
Conversion d’un nombre binaire en décimal :
100101 =
1x25+0x24+0x23+1x22+0x21+1x20 =
32+4+1 = 37
convertir en décimal les nombres binaires
suivants : 00100101, 11100111, 10011110
131
Le processeur
Arithmétique des ordinateurs
Conversion d’un nombre décimal en binaire
37 2
1 18
2
0 9
1
37 = 100101
2
4
2
0
2
0
2
1
convertir 128, 254, 53, 76, 89, 41 en binaire
132
Le processeur
Arithmétique des ordinateurs
Combien de caractères peut-on coder sur 8
bits ? Sur 32 bits ?
133
Le processeur
Arithmétique des ordinateurs
2 représentations pour les entiers signés :
Représentation signe et valeur absolue sur 4 bits
+ 2 = 0 010
- 2 = 1 010
Représentation en complément à 2 sur 4 bits
+ 2 = 0010 = 21
- 2 = 1110 = -23 + 22 + 21 + 0x20 = -8 + 4 + 2
134
Le processeur
Arithmétique des ordinateurs
Représentation décimale
Représentation signe valeur absolue
Représentation complément à 2
8
/
/
7
0111
0111
6
0110
0110
5
0101
0101
4
0100
0100
3
0011
0011
2
0010
0010
1
0001
0001
0
0000 ou 1000
0000
-1
1001
1111
-2
1010
1110
-3
1011
1101
-4
1100
1100
-5
1101
1011
-6
1110
1010
-7
1111
1001
-8
/
1000
135
Le processeur
Arithmétique des ordinateurs
Conversion entre différentes longueurs de bits :
Signe valeur absolue :
Complément à deux :
+ 18 sur 8 bits = ?
+ 18 sur 16 bits = ?
- 18 sur 8 bits = ?
- 18 sur 16 bits = ?
+ 18 sur 8 bits = ?
+ 18 sur 16 bits = ?
- 18 sur 8 bits = ?
- 18 sur 16 bits = ?
Que remarque-t-on à chaque conversion ?
136
Le processeur
Arithmétique des ordinateurs
Addition avec des nombres binaires en complément à 2
Faire les additions suivantes (sur 4 bits) :
1001 (= -7)
0011 (= 3)
1100 (= -4)
1100 (= -4)
(-7) +(=55)
+0101
+0100 (= 4)
+0100 (= 4)
+1111 (= -5)
31110
+ 4(= -2)
10000 (= 0)
11011 (= -5)
0111 (= 7)
(-4) + 4
Bit ignoré
Bit ignoré
(-4) + (-1)
5 0101
+ 4 (= 5)
1001 (= -7)
(-7)
+ (-6)
+0100
(= 4)
+1010 (= -6)
1001 (= -7) dépassement de 10011 (= 3)
capacité
Que remarquez-vous
?
Bit ignoré
137
Le processeur
Arithmétique des ordinateurs
Pour la soustraction, on prend simplement le complément
à 2 du deuxième membre
Faire
les soustractions suivantes
(sur 4 bits) :
0010 (= 2) 0010 (= 2)
0101 (= 5) 0101
2-0111
– 7 (= 7) +1001 (= -7)
-0010 (= 2) +1110 (= -2)
5–2
1011 (= -5)
10011 (= 3)
(-5) – 2
Bit ignoré
1011 (=-5) 1011
-0010 (= 2) +1110 (=-2)
11001 (=-7)
Que remarquez-vous
?
Bit ignoré
138
Le processeur
Arithmétique des ordinateurs
0101 (=
5)
0101
Faire
les
soustractions
suivantes (sur 4 bits) :
(=-2) +0010 (= 2)
5-1110
– (-2)
0111 (= 7)
7 – (-7)
-6 – 4
1010 (=-6) 1010
-0100 (= 4) +1100 (=-4)
0111 (= 7) 0111
-1001 (=-7) +0111 (= 7)
1 11000(=-1)
Que remarquez-vous ?
Dépassement de
capacité
10110 (= 6)
Bit ignoré
139
Le processeur
Arithmétique des ordinateurs
La multiplication binaire non signée se fait exactement
comme en base décimale
Faire les multiplications
suivantes :
1011 (=11)
11 x 13
X1101 (=13)
15 x 9
1011
0000
6x5
1011
11 x 11
1011
10001111 (= 143)
Convertissez les résultats en base décimale
140
Le processeur
Arithmétique des ordinateurs
En fait la multiplication en complément à
deux faite par un ordinateur est beaucoup
plus complexe
Elle utilise l’algorithme de Booth
141
Le processeur
Arithmétique des ordinateurs
Représentation flottante
Utilisée pour représenter les nombres à
virgule
Permet aussi de représenter des nombres
très grands
Basée sur le constat suivant :
En base 2 : 11000 = 1100x21 = 110x22 = 11x23 =
1,1x24 = 0,11x25 = 0,011x26
142
Le processeur
Arithmétique des ordinateurs
Représentation flottante (suite)
1er bit : le signe :
0 : nombre positif
1 : nombre négatif
Exposant et mantisse
On décale jusqu’à obtenir :
1,<mantisse> x 2<exposant>
Pour 11000 1,1x24
Mantisse = 1000000…
Exposant = 100
Puis on prend l’exposant biaisé
Sur 8 bits : 11111111 – 00000100 11111011
143
Le processeur
Arithmétique des ordinateurs
Représentation flottante (suite)
11000 sera donc représenté par :
0
11111011
10000000000000000000000
Signe ; exposant biaisé ; mantisse
Norme IEEE pour la représentation flottante :
Sur 32 bits
Signe : 1 bit
Exposant biaisé : 8 bits
Mantisse : 23 bits
Sur 64 bits
Signe : 1 bit
Exposant biaisé : 11 bits
Mantisse : 52 bits
144
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
145
Le processeur
Jeux d’instructions
Éléments essentiels d’une instruction
Code op
Références des opérandes (emplacements des
entrées/sorties)
Spécifie l’opération à effectuer
Code binaire
Mémoire principale
Mémoire virtuelle
Registres du CPU
Périphériques E/S
L’instruction suivante
Implicite si immédiatement après
Mémoire principale
Mémoire secondaire (si mémoire virtuelle)
146
Le processeur
Jeux d’instructions
Principaux codes OP :
ADD : ajouter
SUB : soustraire
MPY : multiplier
DIV : diviser
LOAD : charger des données depuis la mémoire
STOR : ranger des données en mémoire
147
Le processeur
Jeux d’instructions
Aujourd’hui, la plupart des programmes sont
écrits en langages évolués :
X := X + Y signifie X prend la valeur de (X+Y)
Si X et la
Y traduction
sont en mémoire
Imaginez
de cette aux emplacements 513
et 514, le
devra :
instruction
enprocesseur
langage machine
avec
les fonctions
précitées
Charger
un registre
interne avec le contenu de
l’emplacement 513
Ajouter le contenu de l’emplacement mémoire 514 au
registre interne
Ranger le contenu du registre dans l’emplacement 513
148
Le processeur
Jeux d’instructions
Les différents types d’instructions
Traitement des données
Rangement des données
Dans la mémoire principale
Dans un registre interne
Mouvement des données
Traitements arithmétiques
Traitements logiques
D’une mémoire à l’autre
D’un périphérique à la mémoire, etc.
Contrôles
Instructions de tests et de branchements
149
Le processeur
Jeux d’instructions
Pour sauvegarder temporairement une
donnée, on utilise souvent une adresse
implicite dans le registre interne du CPU :
l’accumulateur (AC)
150
Le processeur
Jeux d’instructions
Les types d’opérandes :
Adresses
Nombres
Caractères
Entiers (integer), à virgule (double), à virgule flottante
(float)
ASCII : American Standard Code for Information
Interchange
Un caractère = un octet = ? Bits
Données logiques
Valeurs booléennes
151
Le processeur
Jeux d’instructions
Les types d’opérations
Transfert de données
Arithmétiques
ADD, SUB, MPY, DIV
Logiques
MOVE, STOR, LOAD
AND, OR, NOT
Transfert du contrôle
Saut, si-alors-sinon-finsi, aller-au-sous-pgm, return
152
Le processeur
Jeux d’instructions
Les types d’instructions (suite)
Destinées aux E/S
Conversions
Input, output
integer float, …
Contrôles du système
Elles ne peuvent s’exécuter que lorsque le processeur
est dans un état donné
Exp : modifier une clé de protection de rangement
153
Le processeur
Jeux d’instructions
Un CPU peut comprendre et exécuter des
instructions machines
Les instructions machines sont binaires
impossible pour quiconque normalement
constitué de programmer en binaire !!
la solution : le langage ASSEMBLEUR
154
Le processeur
Jeux d’instructions
En assembleur :
Une étiquette remplace l’adresse physique de
l’instruction
Des références remplacent les opérandes
Des symboles remplacent les opérations
Un programme assembleur créé par un (bon)
programmeur est ensuite assemblé par la
machine qui le traduit en langage machine
binaire
155
Le processeur
Jeux d’instructions
Langage machine (binaire)
Adresse
Contenu
101
0010 0010 0000 0001
102
103
104
0001 0010 0000 0010
0001 0010 0000 0011
0011 0010 0000 0100
201
202
203
0000 0000 0000 0010
0000 0000 0000 0011
0000 0000 0000 0100
204
0000 0000 0000 0000
Code OP
Addresse de
L’opérande
156
Le processeur
Jeux d’instructions
Langage symbolique
adresse Instruction
101
LDA 201
102
103
104
ADD 202
ADD 203
STA 204
201
202
203
DAT 2
DAT 3
DAT 4
204
DAT 0
Langage assembleur
Étiquette Opération opérande
FORMUL LDA
I
ADD
ADD
STA
J
K
N
I
J
K
DATA
DATA
DATA
2
3
4
N
DATA
0
157
Le processeur
Jeux d’instructions
L’assembleur = première étape vers les langages
évolués
Tous les processeurs utilisent un assembleurs
Ils sont utilisés pour les programmes systèmes
comme les routines E/S
On en trouve aussi pour programmer les systèmes
ABS des voitures par exemple
Langage à exécution très rapide car très proche du
langage machine
Citez les langages évolués que vous connaissez.
158
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
159
Le processeur
Structure et fonction d’un proc...
Les tâches du processeur :
Lecture d’instructions
Interprétation d’instructions
Lecture de données
Traitement des données
Écriture des données
160
Le processeur
Structure et fonction d’un proc...
Le processeur doit ranger temporairement
des données dans des registres
Registres visibles par l’utilisateur
Registres généraux : données, adresses, instructions
Registres de données : données uniquement
Registres d’adresses : adresses uniquement
Registres contenant des flags : bits positionnés
indiquant l’état du matériel
161
Le processeur
Structure et fonction d’un proc...
Registres de contrôle et d’état
état du processeur
Compteur de programme
Registre d’instruction
Contient la dernière instruction lue
Registre d’adresse mémoire
Contient l’adresse de l’instruction à lire
Contient l’adresse d’un emplacement mémoire
Registre tampon mémoire
Contient un mot de données à écrire ou le dernier mot lu
162
Le processeur
Structure et fonction d’un proc...
Registres de contrôle et d’état (suite)
Mot du programme contenant les informations d’état :
Bit de signe du dernier résultat arithmétique effectué
Bit zéro mis à 0 quand le résultat est 0
Bit de retenue à 1 si une OP a provoqué une retenue
Bit égal à 1 si une OP booléenne entraine une égalité
Bit de dépassement arithmétique
Bit d’interruption activée/désactivée
Bit superviseur qui indique si le CPU est en mode superviseur
ou utilisateur
Certaines instructions ne s’effectuent qu’en mode superviseur
comme l’accès à certaines zones mémoires
163
Le processeur
Structure et fonction d’un proc...
Cycle d’instruction
Lecture
(lit la prochaine
en mémoire)
Rappeler
la décomposition
d’uninstruction
cycle d’instructions
Exécution (interprète le code OP et l’exécute)
Interruption (éventuelle si requête d’interruption)
idée du pipeline d’instructions :
Lors de l’exécution, on n’accède pas à la mémoire
principale
On peut donc utiliser ces moments pour lire
l’instruction suivante : c’est le préchargement
d’instruction ou chevauchement de lecture
164
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
165
Le processeur
Architectures RISC
RISC : Reduced Instruction Set Computer =
ordinateur à jeu d’instructions réduit
Un jeu d’instruction limité avec un format fixe
Un grand nombre de registres
Un compilateur optimise l’utilisation de la
mémoire
Optimisation du pipeline d’instructions
166
Le processeur
Architectures RISC
Les constats faits sur les générations
précédentes de processeurs :
Les affectations prédominent dans les
programmes
80% des variables sont locales à une procédure
accès rapide requis car accès fréquents dans le pgm
Prépondérance des instructions conditionnelles
La procédure appel/retour est la plus lente
Très peu de variables et de paramètres à chaque appel
Profondeur d’imbrication : 2 au maximum
167
Le processeur
Architectures RISC
Selon
vous, comment
Implications
:
Optimiser l’emploi des registres
optimiser un processeur ?
Augmenter le nombre de registres internes et leurs
tailles
Compilateur pour aider à organiser les registres
Beaucoup de branchements conditionnels
un pipeline simple est inefficace car beaucoup
d’instructions seraient chargées et non utilisées
réduire la taille des instructions pour les charger plus
rapidement
168
Le processur
Architectures RISC
Optimisation matérielle des registres avec l’aide d’un
Compilateur pour aider à ranger les données
Registres de Registres Registres
Paramètres Locaux
Temporaires
Niveau 0 : programme principal
Aller/retour
Niveau -1 :
Procédure appelée
Registres de Registres Registres
Paramètres Locaux
Temporaires
Emplacements
Physiques
Identiques
Aller/retour
Variables locales ne servant
Registres de Registres Registres
Pas à l’appel d’autres
Paramètres Locaux
Temporaires
Niveau
-2
:
procédures
Sous-procédure appelée
169
Le processeur
Architectures RISC
Jeu d’instructions réduit
Une seule instruction machine de taille fixe par cycle
machine
les instructions prennent moins de place
Seules les opérations LOAD et STOR accèdent à la
mémoire, les autres accèdent à des registres uniquement
Les positions de champs sont fixes pour faciliter leur
lecture
Lecture d’un branchement on laisse l’espace libre dans
le registre sans avoir lu l’instruction suivante : on attend le
résultat du test conditionnel pour la stocker
On attend d’avoir effectivement besoin de la valeur dans un
calcul pour la charger (LOAD)
170
Le processeur
Architectures RISC
Les tests ont montré qu’il est difficile de
savoir si cette architecture est meilleure
qu’une autre
Dépend du programme
Dépend du compilateur
RISC = processeurs AMD
CISC = pentium, VAX
171
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
172
Le processeur
Parallélisme d’instruction et …
Caractéristiques d’un processeur
superscalaire :
Plusieurs pipelines indépendants plusieurs
instructions traitées en parallèle
Recherche et parallélisation des instructions
proches
Prédiction des branchements
Approche aujourd’hui standard
Intel depuis le 80486
IBM depuis le RS/6000, le PowerPC a toujours été
superscalaire
173
Le processeur
Parallélisme d’instruction et …
Limites de la parallélisation
Dépendance des données
Dépendance procédurale
(1) add r1, r2
(2) mov r3, r1
Les instructions suivant un branchement ne peuvent
s’effectuer avant le branchement
Conflits de ressources
Deux instructions concourent pour la même ressource
dupliquer la ressources
174
Le processeur
Parallélisme d’instruction et …
3 ordres sont importants :
Ordre de lecture des instructions
Ordre d’exécution des instructions
Ordre dans lequel elles actualisent le contenu des
registres et des caches mémoire
175
Le processeur
Parallélisme d’instruction et …
3 solutions
De base : émission ordonnée, terminaison
ordonnée
RISC : émission ordonnée, terminaison non
ordonnée
Superscalaire : émission non ordonnée,
terminaison non ordonnée
176
Le processeur
Parallélisme d’instruction et …
Émission ordonnée :
Le processeur décode les instructions jusqu’à une
dépendance ou un conflit et attend la fin du conflit
Émission non ordonnée
Le programme jusqu’à un conflit est géré par une
fenêtre d’exécution
Lorsqu’on arrive sur le conflit, une nouvelle
fenêtre d’exécution est créée
177
Le processeur
Arithmétique des ordinateurs
Jeux d’instructions
Structure et fonction du processeur
Architectures RISC
Parallélisme d’instruction et processeurs
superscalaires
Architecture IA-64
178
Le processeur
Architecture IA-64
Celle des processeurs Intel (Core Duo et Core 2
Duo)
Nouvelle génération de pentium
Parallélisation au maximum
Au niveau matériel
À la conception des programmes
À la compilation des programmes
À l’exécution des programmes
Architecture non compatible avec les précédentes
179
Le processeur
Architecture IA-64
Parallélisme au niveau matériel
Beaucoup plus de registres
Plusieurs unités d’exécution parallèles
Unité I pour arithmétique entière
Unité M pour chargements mémoire – registres
Unité B pour les instructions de branchement
Unité F pour les instructions à virgules flottantes
180
Le processeur
Architecture IA-64
Parallélisme explicite dans les instructions
machine : possibilité de dire si une instruction
peut se faire en parallèle d’une autre
à déterminer par le programmeur
ou par le compilateur
ou par le processeur à l’exécution
181
Le processeur
Architecture IA-64
L’exécution par prédicats est une technique
où le compilateur détermine les instructions
qui peuvent s’exécuter en parallèle
Soit l’instruction
si <condition> alors
<bloc_instructions_1>
sinon
<bloc_instructions_2>
finsi
182
Le processeur
Architecture IA-64
Le processeur IA-64 va exécuter en parallèle
bloc_instructions_1 et bloc_instructions_2
Il placera dans 2 registres différents les 2
résultats
Au moment du test de la condition, le calcul
sera fait
183
Le processeur
Architecture IA-64
Pipeline logiciel :
Les instructions d’une boucle se font en
parallèle
En léger différé suivant les dépendances
184
Plan général
Introduction
L’ordinateur
Le processeur
L’unité de contrôle
Organisation parallèle
185
L’unité de contrôle
L’exécution d’un programme est une suite de
cycles d’instructions
Chaque instruction est une suite de microopérations (µOP)
Une micro-opération est une opération
fonctionnelle (ou atomique) d’un processeur
186
L’unité de contrôle
Exécution du programme
Cycle d’instructions
Cycle d’instructions
Acquisition
µOP
µOP … µOP
…
Exécution
µOP
µOP … µOP
Cycle d’instructions
Interruption
µOP
µOP … µOP
187
L’unité de contrôle
L’unité de contrôle doit gérer
Le séquencement des µOP
La bonne exécution des µOP
Le résultat est-il bien retourné, …
188
L’unité de contrôle
Les éntrées de l’unité de contrôle
L’horloge : un groupe de µOP lancé par impulsion
Registre d’instructions : accès aux codes OP
Flags : pour déterminer l’état du processeur
Signaux de contrôle provenant du bus de contrôle
Requêtes d’interruption
Acquittements des opérations demandées par le
processeur
189
L’unité de contrôle
Les sorties de l’unité de contrôle
Signaux de contrôle dans le processeur
Ceux qui déclenchent le transfert de données
Ceux qui activent les fonctions UAL
Signaux de contrôle vers le bus de contrôle
Vers la mémoire
Vers les modules E/S
190
Plan général
Introduction
L’ordinateur
Le processeur
L’unité de contrôle
Organisation parallèle
191
Organisation parallèle
Utiliser en parallèle plusieurs processeurs
Les objectifs
Selon
vous, quels sont les objectifs d’une telle architecture ?
Accroître la performance
Quelles
en sont les contraintes ?
Disponibilité (les processus peuvent s’effectuer sur n’importe quel
processeur)
Extensibilité
Sécuriser le système
Les contraintes (pas d’horloge globale)
Interblocage des processus concurrents
Ordonnancement des exécutions
Synchronisation des exécutions et des résultats
Gestion partagée de la mémoire
Équilibrage de charge
Tolérance aux fautes : reconnaître la perte d’un processeur
192
Organisation parallèle
Multiprocesseurs symétriques
Les clusters
Accès non uniforme à la mémoire
Autres organisations
193
Organisation parallèle
Multiprocesseur symétrique
Multiprocesseur symétrique (SMP)
2 ou plusieurs processeurs
Partagent la même mémoire principale
Partagent les mêmes fonctions E/S
Partagent les mêmes canaux E/S
Un seul système d’exploitation ordonne les
processus sur tous les processeurs
194
Organisation parallèle
Multiprocesseur symétrique
Les différentes organisations SMP
Bus à temps partagé
Mémoire multiport
Lorsqu’un processeur contrôle le bus, les autres attendent
qu’il ait terminé
Simple, flexible, fiable
Peu performante, bus = goulot d’étranglement
Chaque processeur a son propre accès à la mémoire principal
Performant
Complexe à mettre en œuvre, assurer la cohérence des
données
Unité de contrôle centrale (UCC)
L’UCC canalise les échanges de flux de données
UCC complexe et goulot d’étranglement
195
Organisation parallèle
Multiprocesseurs symétriques
Les clusters
Accès non uniforme à la mémoire
Autres organisations
196
Organisation parallèle
Les clusters
Ensemble d’ordinateurs complets interconnectés et
agissant comme un unique ordinateur
Particulièrement intéressants pour les applications
de type serveur (WEB)
Extensibilité absolue
Extensibilité incrémentale
Ajout de nouveau systèmes
Disponibilité
Dizaines de multiprocesseurs
Un processeur peut faire le travail d’un processeur défaillant
Meilleur rapport prix/performances
Par rapport à un serveur multiprocesseur
197
Organisation parallèle
Les clusters
Méthode d’utilisation
des clusters
Description
Avantages
Limites
Secours passif
Un serveur secondaire prend le
contrôle en cas de défaillance du
premier serveur
Simple à implémenter
Coût élevé car le serveur
secondaire n’est pas disponible
pour d’autres tâches de
traitement
Secondaire actif
Le serveur secondaire sert
également pour les tâches de
traitement
Coût réduit car les serveurs
secondaires peuvent servir au
traitement
Complexité accrue
Serveurs distincts
Des serveurs distincts possèdent
leurs propres disques. Les
données sont copiées
continuellement du serveur
primaire vers le serveur
secondaire
Grande disponibilité
Surcharge élevée du réseau et
du serveur due aux opérations
de copie
Serveurs connectés
à des disques
Les serveurs sont câblés aux
mêmes disques mais chaque
serveur a ses propres disques. Si
un serveur prend le contrôle de
ses disques
Réduction de la surcharges du
réseau et du serveur due à
l’élimination des opérations de
copie
Écriture miroir ou technologie
RAID généralement obligatoire
pour compenser les risques de
défaillance des disques
Serveurs partageant
les disques
Plusieurs serveurs partagent
simultanément l’accès aux
disques
Faible surcharge du réseau et
du serveur. Risque réduit de
temps mort pouvant provoquer
une défaillance de disque
Gestionnaire de verrouillage
obligatoire. Utilisé
habituellement avec une écriture
miroir ou la technologie RAID
198
Organisation parallèle
Multiprocesseurs symétriques
Les clusters
Accès non uniforme à la mémoire
Autres organisations
199
Organisation parallèle
Accès non uniforme à la mémoire
UMA : Uniform Access to Memory
NUMA : Non Uniform Access to Memory
Tous les processeurs ont accès à la mémoire principale
avec les mêmes temps d’accès
Famille dont SMP fait partie
Tous les processeurs ont accès à la mémoire principale,
mais avec des temps d’accès différents
Famille dont les clusters font partie
NUMA avec cohérence des caches (CC-NUMA)
NUMA où la cohérence des caches internes aux différents
processeurs est assurée
Nécessité d’un protocole de coopération
200
Organisation parallèle
Multiprocesseurs symétriques
Les clusters
Accès non uniforme à la mémoire
Autres organisations
201
Organisation parallèle
Autres organisations
1
2
3
Organisation client - serveur
202
Organisation parallèle
Autres organisations
Organisation hiérarchique
203
Organisation parallèle
Autres organisations
Organisation en anneau
204
Organisation parallèle
Autres organisations
Organisation avec des super-nœuds
205
CSCW
Organisation parallèle
Autres organisations
centralisée
Répliquée
Hybride
206
CSCW
Organisation parallèle
Autres organisations
Un seul processus gère la cohérence des données et les actions
survenues au niveau des fenêtres des différents utilisateurs.
Avantage: simplicité d ’implémentation
par exemple pour synchronisation et
problèmes de concurrence.
Noyau
fonctionnel
Interface
Inconvénient: le temps de réponse
est fortement accru, et la tolérance
aux fautes ne peut être traitée.
207
CSCW
Organisation parallèle
Autres organisations
Un processus correspond à chaque utilisateur. Les données sont
répliquées sur chaque site et leur cohérence sera maintenue grâce à
des communications entre les différents sites.
Noyau
fonctionnel
Interface
Noyau
fonctionnel
Interface
Avantage: rapidité puisque l’accès est
local, tolérance aux fautes car
redondance grâce aux réplications.
Noyau
fonctionnel
Interface
Inconvénient: difficulté de mise en œuvre
notamment
cohérence
des
données
et
ordonnancement des actions.
208
CSCW
Organisation parallèle
Autres organisations
Un processus central gère la cohérence des données et un processus par
utilisateur gère les actions sémantiques de l ’utilisateur sur l ’interface.
Interface
Interface
Noyau
fonctionnel
1
Noyau
fonctionne
2
Noyau
fonctionne
1
Avantage: simplicité et résolution
partiel du problème de la gestion
centralisée qui est le temps réponse
Interface
Inconvénient: la tolérance aux fautes ne
peut être traitée.
Noyau
fonctionnel
1
209
Organisation parallèle
Autres organisations
Hôpital de Besançon
Expert en neurologie
à Lausanne
Groupement d’experts
à Genève
210
Organisation parallèle
Autres organisations
La gestion de la cohérence des données
et de la topologie
P2
Problème de cohérence
Entre les données des médecins
P1
211