Architecture des ordinateurs

Post on 01-Jan-2016

66 views 7 download

description

Julien Henriet 2006 – 2007. Architecture des ordinateurs. Architecture des ordinateurs Références. William Stallings, « Organisation et architecture de l’ordinateur, 6 ème édition », ISBN : 2-7440-7007-6, éditions PEARSON Education, 2003. Plan général. Introduction L’ordinateur - PowerPoint PPT Presentation

Transcript of Architecture des ordinateurs

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