Post on 01-Jan-2016
description
Architecture des ordinateurs
Julien Henriet
2006 – 2007
2
Architecture des ordinateursRéférences
William Stallings, « Organisation et architecture de l’ordinateur, 6ème édition », ISBN : 2-7440-7007-6, éditions PEARSON Education, 2003.
3
Plan général
Introduction L’ordinateur Le processeur L’unité de contrôle Organisation parallèle
4
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
5
Introduction Vue fonctionnelle
Les 4 fonctions de base d’un ordinateur : Traitement des données
Opérations arithmétiques, … Mémorisation des données
Mémoire à long terme Mémoire à court terme
Transfert des données Vers l’extérieur De l’extérieur
Contrôle Vérification des opérations possibles et non autorisées
6
IntroductionVue fonctionnelle
Dispositif de Transfert des données
Mécanisme deContrôle
Structure deMémorisation desdonnées
Structure de Traitement desdonnées
Environnement de fonctionnement (exploitation)(source et destination des données)
Transfert simple
Mémorisation
Traitement des Données mémorisées
Traitement desDonnées externes
7
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
8
IntroductionStructure d’un ordinateur
Processeur (CPU = Central Process Unit, Unité Centrale) Contrôle et exécute les fonctions de traitement des
données Il peut y en avoir plusieurs
Mémoire principale Mémorise les données
E/S 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
9
Introduction Structure d’un ordinateur
Le processeur est composé de 4 éléments Unité de Contrôle (UC)
Contrôle le fonctionnement du processeur et donc de l’ordinateur
Unité Arithmétique et Logique (UAL) Exécute les fonctions de traitement des données de
l’ordinateur Registres
Mémoire interne du processeur Interconnexion du processeur (Bus interne)
Prend en charge les communications entre l’UC, l’UAL et les registres
10
Introduction
Vue Fonctionnelle Structure d’un ordinateur Evolution et Performances Unités de mesure des tailles de la mémoire
d’un ordinateur
11
Introduction Evolution et performances
Augmentation constante de la vitesse des 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
Selon vous, quelles sont les évolutions technologiques constantes en informatique ?
12
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
13
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
14
Introduction Evolution et performances
Structure de l’IAS
Unité Centrale de Traitement
Mémoire Principale(données + instructions)
Unité Arithmétique etLogique
Unité de Contrôle duProgramme(interprète les instructions)
DispositifE/S
15
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
16
IntroductionEvolution et performances
100 000 000Intégration à très gde échelle
78 -5
10 000 000Intégration à gde échelle
72 – 774
1 000 000Micro électronique, puces et circuits intégrés
65 – 713
200 000Transistors58 – 642
40 000Tubes à vide46 – 571
Nb op/sTechnologiesDatesGénérations
17
Introduction Evolution et performances
7. 10 7Pentium IV2000
10 7Pentium III1999
9. 10 6Pentium II1997
8. 10 6Pentium Pro1995
5. 10 6Pentium 1993
10 6(80)4861989
5. 10 5(80)3861985
10 5(80)2861982
5. 10 480861978
10 340041971
Nb de transistors / puceType de processeur (Intel)Date
18
IntroductionEvolution 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 !!)
19
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
20
IntroductionEvolution 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
21
IntroductionEvolution 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
22
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
23
IntroductionUnité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
Combien bits exactement vaut 1 Kb ?
Un mégabit (noté 1 Mb) vaut 210 kilobits Combien de bits exactement vaut 1 Mb ?
Un gigabit (noté 1 Gb) vaut 210 mégabits Combien de bits exactement vaut 1 Gb ?
24
IntroductionUnités de mesure des
tailles... Convertissez les chiffres 1 à 8 en binaire
25
IntroductionUnité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
26
IntroductionUnités de mesure des
tailles... 1 Ko = 210 octets 1 Mo = ?? Ko = ?? Octets 1 Go = ?? Mo = ?? Ko = ?? octets
27
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
28
Plan général
Introduction L’ordinateur Le processeur L’unité de contrôle Organisation parallèle
29
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
30
L’ordinateurFonction
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
31
L’ordinateurFonction
CP
RI
RA
RT
Unité d’exécution
RA E/S
RT E/S
CPU
Module E/S
Tampons
Mémoire Principale
instruction
instruction
instruction
instruction
données
données
données
Bus Système
Faire un schéma fonctionnel d’un ordinateur à partir de la description faite
32
L’ordinateurFonction
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
33
L’ordinateurFonction
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
34
L’ordinateurFonction
L’instruction peut être : 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)
Selon vous, quels types d’instructions trouve-t-on en mémoire ?
35
L’ordinateurFonction
Une interruption peut être : Une interruption programme
Dépassement de capacité Division par 0 Instruction illégale
Un temporisateur Permet au système d’exploitation d’effectuer
régulièrement certaines fonctions Une interruption E/S
Exemple : l’utilisateur écrit au clavier Une défaillance matérielle
Une interruption comme (son nom l’indique) interrompt le cycle d’instructions ou le programme en cours d’exécution.
Selon vous, quels types d’interruptions trouve-t-on ?
36
L’ordinateurFonction
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 …
37
L’ordinateurFonction
Les différentes structures de bus : Les lignes de données
Transmettent uniquement des données déterminent les performances
Les lignes d’adresses Désignent la source ou la destination des données du bus de
données Les lignes de contrôle
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
38
L’ordinateurFonction
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…
39
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
40
L’ordinateurLa 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, …)
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 Interne duSystème
Mémoire Externe
41
L’ordinateurLa 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
42
L’ordinateurLa mémoire cache
Processeur Cache Mémoire principale (RAM)mots blocs
1 mot = plusieurs bits (dépend des ordinateurs)1 bloc = plusieurs mots (dépend des ordinateurs)
43
L’ordinateurLa 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
44
L’ordinateurLa 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
45
L’ordinateurLa mémoire cache
Le cache doit être suffisamment grand stocker toutes les données nécessaires
Le cache doit être suffisamment réduit pour permettre d’accéder aux informations
rapidement
hiérarchie de caches
46
L’ordinateurLa 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
47
L’ordinateurLa 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
48
L’ordinateurLa 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é
LRU : Least Recently Used Premier entré premier sorti
FIFO : First In First Out Moins fréquemment utilisé
LFU : Least Frequently Used Remplacement aléatoire
49
L’ordinateurLa 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
50
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
51
L’ordinateurLa 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 ?
52
L’ordinateurLa 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)
53
L’ordinateurLa 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
54
L’ordinateurLa 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
55
L’ordinateurLa 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 ?
56
L’ordinateurLa 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
Sous-programmes des bibliothèques pour les fonctions fréquemment utilisées
Programmes du système Tableaux de fonctions
Selon vous, est-elle utilisée dans un PC ?
57
L’ordinateurLa mémoire interne
ROM (suite) PROM
Programmable ROM ROM programmable une seule fois
EPROM Erasable PROM ROM effaçable et programmable globalement et
électriquement (par rayonnement UV) EEPROM
Electrical EPROM EPROM programmable octet par octet
Mémoire Flash PROM effaçable par bloc
58
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
59
L’ordinateurLa mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe
Quels sont les différents types de mémoires externes que vous connaissez ?
60
L’ordinateurLa 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
61
L’ordinateurLa 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 en-dessous 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
62
L’ordinateurLa 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
63
L’ordinateurLa 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
64
L’ordinateurLa mémoire externe
Secteurs
Piste
Faites une vue schématique d’un disque avec une piste et un secteur
65
L’ordinateurLa 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
66
L’ordinateurLa mémoire externe
Plateau
Axe Hampe
Tête de Lecture ou d’Ecriture
Bras Faire un schéma de disque à tête mobile avec une seule tête
67
L’ordinateurLa 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
68
L’ordinateurLa mémoire externe
Plateau
Axe Hampe
Tête de Lecture ou d’Ecriture
Bras
Surface 1
Surface 0
Faire le schéma d’un disque à tête mobile avec 3 plateaux double face
69
L’ordinateurLa 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
70
L’ordinateurLa mémoire externe
Performance d’un disque (suite) Temps de positionnement :
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 Délai dû au composant occupé
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
71
L’ordinateurLa mémoire externe
Temps Attente duComposant
Temps Attente du Canal
Temps dePositionnement
ComposantOccupé
Délai deRotation
Temps de transfert des données
Temps d’accès = temps de positionnement + délai de rotation
72
L’ordinateurLa 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.
Enregistrmentlinéaire
Couche SupplémentaireMagnétiséeverticalement
73
L’ordinateurLa mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe
74
L’ordinateurLa 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
75
L’ordinateurLa 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 ?
76
L’ordinateurLa 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
77
L’ordinateurLa mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe
78
L’ordinateurLa mémoire externe
1983 : création du CD, non effaçable 60 minutes audio
79
L’ordinateurLa mémoire externe
CD Lecture seule. AudioCD-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 enregistrable une seule fois
DVD-RW Ré-enregistrable
Citez les différents types de supports optiques que vous connaissez
80
L’ordinateurLa mémoire externe
Etiquette
Acryliqueprotecteur
Aluminium
PlastiquePolycarbonate
Réception / transmission laser
Creux
Méplat
Fonctionnement d’un CD :
81
L’ordinateurLa 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
82
L’ordinateurLa 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
83
L’ordinateurLa 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
84
L’ordinateurLa mémoire externe
Fonctionnement d’un DVD
Face 1
Face 2
Substrat de polycarbonate
Couche semi-réfléchissante
Couchepolycarbonate
Couche pleinementréfléchissante
85
L’ordinateurLa mémoire externe
Un CD ou un DVD est moins couteux à 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
Selon vous quels sont les avantages et les inconvénients des CD et DVD sur un disque magnétique ?
86
L’ordinateurLa mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe
87
L’ordinateurLa 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
88
L’ordinateurLa 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
89
L’ordinateurLa mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe
90
L’ordinateurLa 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
91
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
92
L’ordinateurLes 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, … Périphériques lisibles par l’ordinateur
disques magnétiques, capteurs, … Périphériques distants
modem, terminal, …
Citez et classez les périphériques que vous connaissez
93
L’ordinateurLes 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
94
L’ordinateurLes Entrées/Sorties
Les E/S programmées Les E/S gérées par interruption Les accès directs à la mémoire
95
L’ordinateurLes 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
96
L’ordinateurLes Entrées/Sorties
Un module E/S peut recevoir 4 types de commandes du processeur : Control
Active le périphérique et lui indique ce qu’il doit faire Test
Teste les différentes conditions d’état (alimenté, prêt, …) Read
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
97
L’ordinateurLes Entrées/Sorties
Les E/S programmées Les E/S gérées par interruption Les accès directs à la mémoire
98
L’ordinateurLes 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
99
L’ordinateurLes 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
100
L’ordinateurLes 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
101
L’ordinateurLes 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
102
L’ordinateurLes Entrées/Sorties
Les E/S programmées Les E/S gérées par interruption Les accès directs à la mémoire
103
L’ordinateurLes 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
104
L’ordinateurLes 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
105
L’ordinateurLes 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
106
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
107
L’ordinateurSupport 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
108
L’ordinateurSupport du système
d’exploitation Vue d’ensemble Ordonnancement La gestion mémoire
109
L’ordinateurSupport du système
d’exploitationCouches et vues du système informatique
Applications
Utilitaires
Système d’exploitation
Matériel
Vue par l’utilisateur final
Vues par le programmeur
Vue par le concepteurdu système d’exploitation
110
L’ordinateurSupport 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
111
L’ordinateurSupport 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)
112
L’ordinateurSupport du système
d’exploitation La mémoire principale héberge une partie du système d’exploitation (la plus utilisée) : le noyau
113
L’ordinateurSupport 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
114
L’ordinateurSupport 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
115
L’ordinateurSupport du système
d’exploitation Vue d’ensemble Ordonnancement La gestion mémoire
116
L’ordinateurSupport 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
117
L’ordinateurSupport du système
d’exploitation 4 types d’ordonnancement interviennent en même temps À long terme
Accroître la réserve des processus à exécuter À moyen terme
Accroître le nb de processus dans la mémoire principale À court terme
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
118
L’ordinateurSupport du système
d’exploitation File d’attente à long terme Tâches qui attendent pour utiliser le système
File d’attente à court terme 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
119
L’ordinateurSupport 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
120
L’ordinateurSupport 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
121
L’ordinateurSupport 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
122
L’ordinateurSupport 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
123
L’ordinateurSupport du système
d’exploitation Vue d’ensemble Ordonnancement La gestion mémoire
124
L’ordinateurSupport 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
125
L’ordinateurSupport 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
126
L’ordinateurSupport 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
127
L’ordinateurSupport 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
128
L’ordinateurSupport 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
129
Plan général
Introduction L’ordinateur Le processeur L’unité de contrôle Organisation parallèle
130
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
131
Le processeurArithmé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
132
Le processeurArithmétique des
ordinateurs Conversion d’un nombre décimal en binaire
convertir 128, 254, 53, 76, 89, 41 en binaire
37 2
1812
902
41
2
202
10
37 = 100101
133
Le processeurArithmétique des
ordinateurs Combien de caractères peut-on coder sur 8 bits ? Sur 32 bits ?
134
Le processeurArithmé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
135
Le processeurArithmétique des
ordinateurs
1000/-8
10011111-7
10101110-6
10111101-5
11001100-4
11011011-3
11101010-2
11111001-1
00000000 ou 10000
000100011
001000102
001100113
010001004
010101015
011001106
011101117
//8
Représentation complément à 2Représentation signe valeur absolueReprésentation décimale
136
Le processeurArithmétique des
ordinateurs Conversion entre différentes longueurs de bits : Signe valeur absolue :
+ 18 sur 8 bits = ? + 18 sur 16 bits = ? - 18 sur 8 bits = ? - 18 sur 16 bits = ?
Complément à deux : + 18 sur 8 bits = ? + 18 sur 16 bits = ? - 18 sur 8 bits = ? - 18 sur 16 bits = ?
Que remarque-t-on à chaque conversion ?
137
Le processeurArithmétique des
ordinateursAddition avec des nombres binaires en complément à 2
1001 (= -7)+0101 (= 5)
1110 (= -2)
0011 (= 3)+0100 (= 4)
0111 (= 7)
1100 (= -4)+0100 (= 4)
10000 (= 0)
Bit ignoré
1100 (= -4)+1111 (= -5)
11011 (= -5)
Bit ignoré
0101 (= 5)+0100 (= 4)
1001 (= -7) dépassement de 10011 (= 3) capacité
1001 (= -7)+1010 (= -6)
Bit ignoré
Faire les additions suivantes (sur 4 bits) :(-7) + 53 + 4(-4) + 4(-4) + (-1)5 + 4(-7) + (-6)
Que remarquez-vous ?
138
Le processeurArithmétique des
ordinateursPour la soustraction, on prend simplement le complémentà 2 du deuxième membre
0010 (= 2) 0010 (= 2)-0111 (= 7) +1001 (= -7)
1011 (= -5)
0101 (= 5) 0101-0010 (= 2) +1110 (= -2)
10011 (= 3)
Bit ignoré
1011 (=-5) 1011-0010 (= 2) +1110 (=-2)
11001 (=-7)
Bit ignoré
Faire les soustractions suivantes (sur 4 bits) :2 – 75 – 2(-5) – 2
Que remarquez-vous ?
139
Le processeurArithmétique des
ordinateurs 0101 (= 5) 0101-1110 (=-2) +0010 (= 2)
0111 (= 7)
0111 (= 7) 0111-1001 (=-7) +0111 (= 7)
1 11000(=-1) Dépassement de 10110 (= 6) capacité
1010 (=-6) 1010-0100 (= 4) +1100 (=-4)
Bit ignoré
Faire les soustractions suivantes (sur 4 bits) :5 – (-2)7 – (-7)-6 – 4
Que remarquez-vous ?
140
Le processeurArithmétique des
ordinateursLa multiplication binaire non signée se fait exactement comme en base décimale
1011 (=11)X1101 (=13)
1011 0000 1011 1011
10001111 (= 143)
Faire les multiplications suivantes :11 x 1315 x 96 x 511 x 11
Convertissez les résultats en base décimale
141
Le processeurArithmé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
142
Le processeurArithmé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
143
Le processeurArithmé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
144
Le processeurArithmé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
145
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
146
Le processeurJeux d’instructions
Éléments essentiels d’une instruction Code op
Spécifie l’opération à effectuer Code binaire
Références des opérandes (emplacements des entrées/sorties) 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)
147
Le processeurJeux 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
148
Le processeurJeux 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 Y sont en mémoire aux emplacements 513
et 514, le processeur devra : 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
Imaginez la traduction de cette instruction en langage machineavec les fonctions précitées
149
Le processeurJeux d’instructions
Les différents types d’instructions Traitement des données
Traitements arithmétiques Traitements logiques
Rangement des données Dans la mémoire principale Dans un registre interne
Mouvement des données D’une mémoire à l’autre D’un périphérique à la mémoire, etc.
Contrôles Instructions de tests et de branchements
150
Le processeurJeux d’instructions
Pour sauvegarder temporairement une donnée, on utilise souvent une adresse implicite dans le registre interne du CPU : l’accumulateur (AC)
151
Le processeurJeux d’instructions
Les types d’opérandes : Adresses Nombres
Entiers (integer), à virgule (double), à virgule flottante (float)
Caractères ASCII : American Standard Code for Information
Interchange Un caractère = un octet = ? Bits
Données logiques Valeurs booléennes
152
Le processeurJeux d’instructions
Les types d’opérations Transfert de données
MOVE, STOR, LOAD Arithmétiques
ADD, SUB, MPY, DIV Logiques
AND, OR, NOT Transfert du contrôle
Saut, si-alors-sinon-finsi, aller-au-sous-pgm, return
153
Le processeurJeux d’instructions
Les types d’instructions (suite) Destinées aux E/S
Input, output Conversions
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
154
Le processeurJeux 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
155
Le processeurJeux 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
156
Le processeurJeux d’instructions
0000 0000 0000 0100203
0000 0000 0000 0000204
0000 0000 0000 0011202
0000 0000 0000 0010201
0011 0010 0000 0100104
0001 0010 0000 0011103
0001 0010 0000 0010102
0010 0010 0000 0001101
Contenu Adresse
Langage machine (binaire)Code OP
Addresse de L’opérande
157
Le processeurJeux d’instructions
DAT 0204
DAT 4203
DAT 3202
DAT 2201
STA 204104
ADD 203103
ADD 202102
LDA 201101
Instruction adresse
Langage symbolique Langage assembleur
0DATAN
4DATAK
3DATAJ
2DATAI
NSTA
KADD
JADD
ILDAFORMUL
opérandeOpérationÉtiquette
158
Le processeurJeux 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.
159
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
160
Le processeurStructure 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
161
Le processeurStructure 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
162
Le processeurStructure et fonction d’un
proc... Registres de contrôle et d’état état du processeur Compteur de programme
Contient l’adresse de l’instruction à lire Registre d’instruction
Contient la dernière instruction lue Registre d’adresse mémoire
Contient l’adresse d’un emplacement mémoire Registre tampon mémoire
Contient un mot de données à écrire ou le dernier mot lu
163
Le processeurStructure 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
164
Le processeurStructure et fonction d’un
proc... Cycle d’instruction Lecture (lit la prochaine instruction en mémoire) 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
Rappeler la décomposition d’un cycle d’instructions
165
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
166
Le processeurArchitectures 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
167
Le processeurArchitectures 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
168
Le processeurArchitectures RISC
Implications : Optimiser l’emploi des registres
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
Selon vous, comment optimiser un processeur ?
169
Le processurArchitectures RISC
Registres deParamètres
RegistresLocaux
Registres Temporaires
Registres deParamètres
RegistresLocaux
Registres Temporaires
Registres deParamètres
RegistresLocaux
Registres Temporaires
Niveau 0 : programme principal
Aller/retour
Aller/retour
Niveau -1 :Procédure appelée
Niveau -2 :Sous-procédure appelée
Emplacements PhysiquesIdentiques
Variables locales ne servantPas à l’appel d’autres procédures
Optimisation matérielle des registres avec l’aide d’un Compilateur pour aider à ranger les données
170
Le processeurArchitectures 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)
171
Le processeurArchitectures 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
172
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
173
Le processeurParallé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
174
Le processeurParallélisme d’instruction et
… Limites de la parallélisation Dépendance des données
(1) add r1, r2 (2) mov r3, r1
Dépendance procédurale 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
175
Le processeurParallé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
176
Le processeurParallé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
177
Le processeurParallé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
178
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
179
Le processeurArchitecture 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
180
Le processeurArchitecture 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
181
Le processeurArchitecture 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
182
Le processeurArchitecture 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
183
Le processeurArchitecture 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
184
Le processeurArchitecture IA-64
Pipeline logiciel : Les instructions d’une boucle se font en
parallèle En léger différé suivant les dépendances
185
Plan général
Introduction L’ordinateur Le processeur L’unité de contrôle Organisation parallèle
186
L’unité de contrôle
L’exécution d’un programme est une suite de cycles d’instructions
Chaque instruction est une suite de micro-opérations (µOP)
Une micro-opération est une opération fonctionnelle (ou atomique) d’un processeur
187
L’unité de contrôle
Exécution du programme
Cycle d’instructions Cycle d’instructions Cycle d’instructions…
Acquisition Exécution Interruption
µOP µOP µOP… µOP µOP µOP… µOP µOP µOP…
188
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é, …
189
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
190
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
191
Plan général
Introduction L’ordinateur Le processeur L’unité de contrôle Organisation parallèle
192
Organisation parallèle
Utiliser en parallèle plusieurs processeurs Les objectifs
Accroître la performance 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
Selon vous, quels sont les objectifs d’une telle architecture ?Quelles en sont les contraintes ?
193
Organisation parallèle
Multiprocesseurs symétriques Les clusters Accès non uniforme à la mémoire Autres organisations
194
Organisation parallèleMultiprocesseur 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
195
Organisation parallèleMultiprocesseur symétrique
Les différentes organisations SMP Bus à temps partagé
Lorsqu’un processeur contrôle le bus, les autres attendent qu’il ait terminé
Simple, flexible, fiable Peu performante, bus = goulot d’étranglement
Mémoire multiport 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
196
Organisation parallèle
Multiprocesseurs symétriques Les clusters Accès non uniforme à la mémoire Autres organisations
197
Organisation parallèleLes 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
Dizaines de multiprocesseurs Extensibilité incrémentale
Ajout de nouveau systèmes Disponibilité
Un processeur peut faire le travail d’un processeur défaillant Meilleur rapport prix/performances
Par rapport à un serveur multiprocesseur
198
Organisation parallèleLes clusters
Gestionnaire de verrouillage obligatoire. Utilisé habituellement avec une écriture miroir ou la technologie RAID
Faible surcharge du réseau et du serveur. Risque réduit de temps mort pouvant provoquer une défaillance de disque
Plusieurs serveurs partagent simultanément l’accès aux disques
Serveurs partageant les disques
Écriture miroir ou technologie RAID généralement obligatoire pour compenser les risques de défaillance des disques
Réduction de la surcharges du réseau et du serveur due à l’élimination des opérations de copie
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
Serveurs connectés à des disques
Surcharge élevée du réseau et du serveur due aux opérations de copie
Grande disponibilitéDes serveurs distincts possèdent leurs propres disques. Les données sont copiées continuellement du serveur primaire vers le serveur secondaire
Serveurs distincts
Complexité accrueCoût réduit car les serveurs secondaires peuvent servir au traitement
Le serveur secondaire sert également pour les tâches de traitement
Secondaire actif
Coût élevé car le serveur secondaire n’est pas disponible pour d’autres tâches de traitement
Simple à implémenterUn serveur secondaire prend le contrôle en cas de défaillance du premier serveur
Secours passif
Limites Avantages Description Méthode d’utilisation des clusters
199
Organisation parallèle
Multiprocesseurs symétriques Les clusters Accès non uniforme à la mémoire Autres organisations
200
Organisation parallèleAccès non uniforme à la
mémoire UMA : 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
NUMA : Non Uniform Access to Memory 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
201
Organisation parallèle
Multiprocesseurs symétriques Les clusters Accès non uniforme à la mémoire Autres organisations
202
Organisation parallèleAutres organisations
Organisation client - serveur
1
23
203
Organisation parallèleAutres organisations
Organisation hiérarchique
204
Organisation parallèleAutres organisations
Organisation en anneau
205
Organisation parallèleAutres organisations
Organisation avec des super-nœuds
206
Organisation parallèleAutres organisations
centralisée
Répliquée
Hybride
CSCW
207
NoyaufonctionnelInterface
Avantage: simplicité d ’implémentation par exemple pour synchronisation et problèmes de concurrence.
Inconvénient: le temps de réponse est fortement accru, et la tolérance aux fautes ne peut être traitée.
Un seul processus gère la cohérence des données et les actions survenues au niveau des fenêtres des différents utilisateurs.
CSCW
Organisation parallèleAutres organisations
208
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.
Avantage: rapidité puisque l’accès est local, tolérance aux fautes car redondance grâce aux réplications.
Inconvénient: difficulté de mise en œuvre notamment cohérence des données et ordonnancement des actions.
NoyaufonctionnelInterface
NoyaufonctionnelInterface
NoyaufonctionnelInterface
CSCW
Organisation parallèleAutres organisations
209
Noyaufonctionnel
1
Noyaufonctionne
1
Noyaufonctionnel
1
Interface
Interface
Interface
Noyaufonctionne
2
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.
Avantage: simplicité et résolution partiel du problème de la gestion centralisée qui est le temps réponse
Inconvénient: la tolérance aux fautes ne peut être traitée.
CSCW
Organisation parallèleAutres organisations
210
Organisation parallèleAutres organisations
Hôpital de Besançon
Expert en neurologie à Lausanne
Groupement d’experts à Genève
211P1
P2Problème de cohérenceEntre les données des médecins
Organisation parallèleAutres organisations
La gestion de la cohérence des donnéeset de la topologie