La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture des ordinateurs

Présentations similaires


Présentation au sujet: "Architecture des ordinateurs"— Transcription de la présentation:

1 Architecture des ordinateurs
Julien Henriet 2006 – 2007

2 Architecture des ordinateurs Références
William Stallings, « Organisation et architecture de l’ordinateur, 6ème édition », ISBN : , é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 Introduction Vue fonctionnelle
Environnement de fonctionnement (exploitation) (source et destination des données) Traitement des Données mémorisées Transfert simple Mémorisation Traitement des Données externes Dispositif de Transfert des données Mécanisme de Contrôle Structure de Mémorisation des données Structure de Traitement des données

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 Introduction Structure 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, 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 et Logique Dispositif E/S Unité de Contrôle du Programme (interprète les instructions)

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 Introduction Evolution et performances
Intégration à très gde échelle 78 - 5 Intégration à gde échelle 72 – 77 4 Micro électronique, puces et circuits intégrés 65 – 71 3 Transistors 58 – 64 2 40 000 Tubes à vide 46 – 57 1 Nb op/s Technologies Dates Générations

17 Introduction Evolution et performances
7. 10  7 Pentium IV 2000 10  7 Pentium III 1999 9. 10  6 Pentium II 1997 8. 10  6 Pentium Pro 1995 5. 10  6 Pentium 1993 10  6 (80)486 1989 5. 10  5 (80)386 1985 10  5 (80)286 1982 5. 10  4 8086 1978 10  3 4004 1971 Nb de transistors / puce Type de processeur (Intel) Date

18 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 $ 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 Introduction Evolution et performances
Evolution Processeur INTEL 8086 à : 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 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

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 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 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 Introduction Unités de mesure des tailles...
Convertissez les chiffres 1 à 8 en binaire

25 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

26 Introduction Unité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’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

31 L’ordinateur Fonction
Faire un schéma fonctionnel d’un ordinateur à partir de la description faite CPU Mémoire Principale CP RA Bus Système RI RT instruction Unité d’exécution RA E/S instruction RT E/S instruction instruction Module E/S données Tampons données données

32 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

33 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

34 L’ordinateur Fonction
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’ordinateur Fonction
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 ? 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

36 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

37 L’ordinateur Fonction
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’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…

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’ordinateur La mémoire cache
Organisation hiérarchique de la mémoire d’un ordinateur Registres du processeur (au plus près du processeur) Mémoire Interne du Système Cache (niveaux L1, L2, …) RAM (mémoire principale du système) Disque dur fixe Mémoire Externe Médias mobiles : ZIP, CD, bandes (temps d’accès plus élevés)

41 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

42 L’ordinateur La mémoire cache
mots blocs Processeur Cache Mémoire principale (RAM) 1 mot = plusieurs bits (dépend des ordinateurs) 1 bloc = plusieurs mots (dépend des ordinateurs)

43 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

44 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

45 L’ordinateur La 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’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

47 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

48 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é 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’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

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’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 ?

52 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)

53 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

54 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

55 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 ?

56 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 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’ordinateur La 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’ordinateur La mémoire externe
Quels sont les différents types de mémoires externes que vous connaissez ? Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe

60 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

61 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 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’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

63 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

64 L’ordinateur La mémoire externe
Faites une vue schématique d’un disque avec une piste et un secteur Piste Secteurs

65 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

66 L’ordinateur La mémoire externe
Faire un schéma de disque à tête mobile avec une seule tête Bras Plateau Tête de Lecture ou d’Ecriture Axe Hampe

67 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

68 L’ordinateur La mémoire externe
Faire le schéma d’un disque à tête mobile avec 3 plateaux double face Bras Plateau Tête de Lecture ou d’Ecriture Surface 1 Surface 0 Axe Hampe

69 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

70 L’ordinateur La 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’ordinateur La mémoire externe
Composant Occupé Temps Attente du Composant Temps Attente du Canal Temps de Positionnement Délai de Rotation Temps de transfert des données Temps d’accès = temps de positionnement + délai de rotation

72 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

73 L’ordinateur La mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe

74 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

75 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 ?

76 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

77 L’ordinateur La mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe

78 L’ordinateur La mémoire externe
1983 : création du CD, non effaçable 60 minutes audio

79 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 enregistrable une seule fois DVD-RW Ré-enregistrable

80 L’ordinateur La mémoire externe
Fonctionnement d’un CD : Etiquette Aluminium Acrylique protecteur Méplat Plastique Polycarbonate Creux Réception / transmission laser

81 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

82 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

83 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

84 L’ordinateur La mémoire externe
Fonctionnement d’un DVD Couche semi- réfléchissante Face 1 Substrat de polycarbonate Couche polycarbonate Face 2 Couche pleinement réfléchissante

85 L’ordinateur La mémoire externe
Selon vous quels sont les avantages et les inconvénients des CD et DVD sur un disque magnétique ? 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

86 L’ordinateur La mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe

87 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

88 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

89 L’ordinateur La mémoire externe
Disque magnétique La technologie RAID Mémoire optique Bande magnétique Mémoire flash externe

90 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

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’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, … 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’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

94 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

95 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

96 L’ordinateur Les 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’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

98 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

99 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

100 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

101 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

102 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

103 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

104 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

105 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

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’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

108 L’ordinateur Support du système d’exploitation
Vue d’ensemble Ordonnancement La gestion mémoire

109 L’ordinateur Support du système d’exploitation
Couches et vues du système informatique Vue par l’utilisateur final Applications Vues par le programmeur Utilitaires Système d’exploitation Matériel Vue par le concepteur du système d’exploitation

110 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

111 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)

112 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

113 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

114 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

115 L’ordinateur Support du système d’exploitation
Vue d’ensemble Ordonnancement La gestion mémoire

116 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

117 L’ordinateur Support 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’ordinateur Support 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’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

120 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

121 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

122 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

123 L’ordinateur Support du système d’exploitation
Vue d’ensemble Ordonnancement La gestion mémoire

124 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

125 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

126 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

127 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

128 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

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 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 : = 1x25+0x24+0x23+1x22+0x21+1x20 = = 37 convertir en décimal les nombres binaires suivants : , ,

132 Le processeur Arithmétique des ordinateurs
Conversion d’un nombre décimal en binaire  convertir 128, 254, 53, 76, 89, 41 en binaire 37 2 1 18 2 37 = 9 2 1 4 2 2 2 1

133 Le processeur Arithmétique des ordinateurs
Combien de caractères peut-on coder sur 8 bits ? Sur 32 bits ?

134 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 = x20 =

135 Le processeur Arithmétique des ordinateurs
1000 / -8 1001 1111 -7 1010 1110 -6 1011 1101 -5 1100 -4 -3 -2 -1 0000 0000 ou 1000 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 8 Représentation complément à 2 Représentation signe valeur absolue Représentation décimale

136 Le processeur Arithmé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 : Que remarque-t-on à chaque conversion ?

137 Le processeur Arithmétique des ordinateurs
Addition avec des nombres binaires en complément à 2 Faire les additions suivantes (sur 4 bits) : (-7) + 5 3 + 4 (-4) + 4 (-4) + (-1) 5 + 4 (-7) + (-6) Que remarquez-vous ? 1001 (= -7) +0101 (= 5) 0011 (= 3) +0100 (= 4) 1100 (= -4) +0100 (= 4) 1100 (= -4) +1111 (= -5) 1110 (= -2) 0111 (= 7) 10000 (= 0) 11011 (= -5) Bit ignoré Bit ignoré 0101 (= 5) +0100 (= 4) 1001 (= -7) +1010 (= -6) 1001 (= -7)  dépassement de  (= 3) capacité Bit ignoré

138 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) : 2 – 7 5 – 2 (-5) – 2 Que remarquez-vous ? 0010 (= 2)  (= 2) -0111 (= 7)  (= -7) 0101 (= 5)  0101 -0010 (= 2) +1110 (= -2) 1011 (= -5) 10011 (= 3) Bit ignoré 1011 (=-5)  -0010 (= 2)  (=-2) 11001 (=-7) Bit ignoré

139 Le processeur Arithmétique des ordinateurs
Faire les soustractions suivantes (sur 4 bits) : 5 – (-2) 7 – (-7) -6 – 4 Que remarquez-vous ? 0101 (= 5)  -1110 (=-2)  (= 2) 0111 (= 7) 1010 (=-6)  -0100 (= 4)  (=-4) 0111 (= 7)  -1001 (=-7)  (= 7) 11000(=-1)  Dépassement de  (= 6) capacité Bit ignoré

140 Le processeur Arithmétique des ordinateurs
La multiplication binaire non signée se fait exactement comme en base décimale Faire les multiplications suivantes : 11 x 13 15 x 9 6 x 5 11 x 11 Convertissez les résultats en base décimale 1011 (=11) X1101 (=13) 1011 0000 (= 143)

141 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

142 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 : = 1100x21 = 110x22 = 11x23 = 1,1x24 = 0,11x25 = 0,011x26

143 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  1,1x24  Mantisse = … Exposant = 100 Puis on prend l’exposant biaisé Sur 8 bits : – 

144 Le processeur Arithmétique des ordinateurs
Représentation flottante (suite) 11000 sera donc représenté par : 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 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 processeur Jeux 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 secondaire (si mémoire virtuelle)

147 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

148 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 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 machine avec les fonctions précitées

149 Le processeur Jeux 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 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)

151 Le processeur Jeux 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 processeur Jeux 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 processeur Jeux 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 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

155 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

156 Le processeur Jeux d’instructions
203 204 202 201 104 103 102 101 Contenu Adresse Langage machine (binaire) Code OP Addresse de L’opérande

157 Le processeur Jeux d’instructions
DAT 0 204 DAT 4 203 DAT 3 202 DAT 2 201 STA 204 104 ADD 203 103 ADD 202 102 LDA 201 101 Instruction adresse Langage symbolique Langage assembleur DATA N 4 K 3 J 2 I STA ADD LDA FORMUL opérande Opération Étiquette

158 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.

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 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

161 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

162 Le processeur Structure 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 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

164 Le processeur Structure 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 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

167 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

168 Le processeur Architectures 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 processur Architectures RISC
Optimisation matérielle des registres avec l’aide d’un Compilateur pour aider à ranger les données Registres de Paramètres Registres Locaux Registres Temporaires Niveau 0 : programme principal Aller/retour Emplacements Physiques Identiques Niveau -1 : Procédure appelée Registres de Paramètres Registres Locaux Registres Temporaires Aller/retour Variables locales ne servant Pas à l’appel d’autres procédures Registres de Paramètres Registres Locaux Registres Temporaires Niveau -2 : Sous-procédure appelée

170 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)

171 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

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 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

174 Le processeur Parallé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 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

176 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

177 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

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 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

180 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

181 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

182 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

183 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

184 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

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 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è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

195 Organisation parallèle Multiprocesseur 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è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 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èle Les 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é accrue Coû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émenter Un 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èle Accè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èle Autres organisations
1 2 3 Organisation client - serveur

203 Organisation parallèle Autres organisations
Organisation hiérarchique

204 Organisation parallèle Autres organisations
Organisation en anneau

205 Organisation parallèle Autres organisations
Organisation avec des super-nœuds

206 Organisation parallèle Autres organisations
CSCW Organisation parallèle Autres organisations centralisée Répliquée Hybride

207 Organisation parallèle Autres organisations
CSCW Organisation parallèle Autres organisations 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. Noyau fonctionnel Interface

208 Organisation parallèle Autres organisations
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. 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. Noyau fonctionnel Interface

209 Organisation parallèle Autres organisations
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. 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. Noyau fonctionnel 1 fonctionne Interface 2

210 Organisation parallèle Autres organisations
Hôpital de Besançon Expert en neurologie à Lausanne Groupement d’experts à Genève

211 Entre les données des médecins
Organisation parallèle Autres organisations La gestion de la cohérence des données et de la topologie Problème de cohérence Entre les données des médecins P2 P1


Télécharger ppt "Architecture des ordinateurs"

Présentations similaires


Annonces Google