Vous êtes sur la page 1sur 146

Architecture des ordinateurs

Cours élaboré par :Tarek Frikha

1
Ordinateur et logiciel
Les technologies numériques sont maintenant
omniprésentes
Elles sont le moteur et l'objet de ce qu'on appelle la
« révolution numérique »
Elles sont basées sur l'interaction entre :
Des programmes, aussi appelés logiciels,
décrivant des processus de traitement de
l'information : biens immatériels
Des ordinateurs, capables d'exécuter ces
programmes : biens matériels
2
Représentation de l'information
L'information est représentée au sein des
composants de l'ordinateur sous forme de
différents états de la matière :
« Trou » ou « pas trou » sur la surface d'un
cédérom ou DVD
Orientation nord ou sud d'un matériau
magnétique
Lumière ou absence de lumière émise par un
laser
Courant électrique ou non
3

Ce sont souvent des représentations à deux


Constituants élémentaires (1)
Presque tous les ordinateurs sont construits à
base de circuits électroniques
Les circuits électroniques sont réalisés au
moyen de transistors
Composant élémentaire, dont le courant de sortie
dépend de deux valeurs d'entrée
Un transistor a donc trois « pattes »
Appelées : base, émetteur et collecteur
Analogue à un « robinet à électricité » : plus il
arrive de courant sur la base, plus le courant
circule de l' émetteur vers le collecteur 4
Constituants élémentaires (2)
Dans les ordinateurs, on utilise les transistors
en mode saturé, c'est-à-dire « tout ou rien »
Fonctionnement analogue à celui d'un interrupteur
Robinet fermé ou ouvert en grand
Soit le courant passe, soit il ne passe pas du tout
Représentation des valeurs binaires « 0 » et « 1 »
En combinant plusieurs transistors, on peut
effectuer des calculs complexes
Sur la base de montages en série ou en parallèle
Regroupement au sein de « circuits intégrés » 5
Performance (1)
Les calculs des ordinateurs sont cadencés par
une horloge
Plus la fréquence de l'horloge est élevée, et plus
l'ordinateur pourra effectuer d'opérations par
seconde (s'il n'est pas ralenti par autre chose...)
On mesure la fréquence d'une horloge en Hertz (Hz)
Nombre de battements par seconde
1 kHz (kilo-Hertz) = 103 Hz
1 MHz (méga-Hertz) = 106 Hz
1 GHz (giga-Hertz) = 109 Hz
1 THz (téra-Hertz) = 1012 Hz
6
Performance (2)
En fait, ce qui importe aux usagers, c'est le
nombre d'opérations (plus généralement,
« d'instructions ») qu'un ordinateur est capable
d'effectuer par seconde
On la mesure en MIPS, pour « millions
d'instructions par seconde »
On pense souvent que la puissance d'un
ordinateur dépend de sa fréquence de
fonctionnement
C'est loin d'être toujours vrai ! 7
Évolutions architecturales (1)
1946 : Ordinateur ENIAC
Architecture à base de lampes et tubes à vide : 30
tonnes, 170 m2 au sol, 5000 additions par seconde
0,005 MIPS, dirons-nous...
1947 : Invention du transistor
1958 : Invention du circuit intégré sur silicium
Multiples transistors agencés sur le même substrat

8
Évolutions architecturales (2)
1971 : Processeur Intel 4004
2300 transistors dans un unique circuit intégré
Fréquence de 740 kHz, 0,092 MIPS
…40 ans d'une histoire très riche...
2011 : Processeur Intel Core i7 2600K
Plus de 1,4 milliards de transistors
Fréquence de 3,4 GHz
4 cœurs, 8 threads
128300 MIPS 9
Évolutions architecturales (3)
Entre le 4004 et le Core i7 2600K :
La fréquence a été multipliée par 4600
La puissance en MIPS a été multipliée par 1,4 million

La puissance d'un ordinateur ne dépend


clairement pas que de sa fréquence !
Intérêt d'étudier l'architecture des ordinateurs
pour comprendre :
Où les gains se sont opérés
Ce qu'on peut attendre dans le futur proche
10
Barrière de la chaleur (1)
Plus on a de transistors par unité de surface,
plus on a d'énergie à évacuer
La dissipation thermique évolue de façon
proportionnelle à V2*F
La tension de fonctionnement des circuits a été
abaissée
De 5V pour les premières générations à 0,9V
maintenant
Il n'est plus vraiment possible de la diminuer avec
les technologies actuelles
Le bruit thermique causerait trop d'erreurs 11
Barrière de la chaleur (2)
La fréquence ne peut raisonnablement
augmenter au delà des 5 GHz
« Barrière de la chaleur »
La tendance est plutôt à la réduction
« Green computing »
On s'intéresse maintenant à maximiser le nombre
d'opérations par Watt
Mais on veut toujours plus de puissance de calcul !

12
Barrière de la complexité (1)
À surface constante, le nombre de transistors
double tous les 2 ans
« Loi de Moore », du nom de Gordon Moore, co-
fondateur d'Intel, énoncée en 1965
Diminution continuelle de la taille de gravage des
transistors et circuits sur les puces de silicium
On grave actuellement avec un pas de 14 nm
Limites atomiques bientôt atteintes...
Donc plus possible d'intégrer plus
Mais on veut toujours plus de puissance de calcul ! 13
Barrière de la complexité (2)
Que faire de tous ces transistors ?
On ne voit plus trop comment utiliser ces transistors
pour améliorer individuellement les processeurs
Des processeurs trop complexes consomment trop
d'énergie sans aller beaucoup plus vite
Seule solution actuellement : faire plus de
processeurs sur la même puce !
Processeurs bi-cœurs, quadri-coeurs, octo-cœurs,
… déjà jusqu'à 128 cœurs !
Mais comment les programmer efficacement ?! 14
Barrière de la complexité (3)
L'architecture des ordinateurs a été l'un des
secteurs de l'informatique qui a fait le plus de
progrès
Les ordinateurs d'aujourd'hui sont très
complexes
Plus d'un milliard de transistors dans un
processeur
Nécessité d'étudier leur fonctionnement à
différents niveaux d'abstraction
Du composant au module, du module au système 15
Structure d'un ordinateur (1)
Un ordinateur est une machine programmable
de traitement de l'information
Pour accomplir sa fonction, il doit pouvoir :
Acquérir de l'information de l'extérieur
Stocker en son sein ces informations
Combiner entre elles les informations à sa
disposition
Restituer ces informations à l'extérieur

16
Structure d'un ordinateur (2)
L'ordinateur doit donc posséder :
Une ou plusieurs unités de stockage, pour
mémoriser le programme en cours d'exécution
ainsi que les données qu'il manipule
Une unité de traitement permettant l'exécution
des instructions du programme et des calculs sur
les données qu'elles spécifient
Différents dispositifs « périphériques » servant à
interagir avec l'extérieur : clavier, écran, souris,
carte graphique, carte réseau, etc.
17
Structure d'un ordinateur (3)
Les constituants de l'ordinateur sont reliés
par un ou plusieurs bus, ensembles de fils
parallèles servant à la transmission des
adresses, des données, et des signaux de
contrôle Mémoire
graphique

Unité de Contrôleur
traitement Mémoire de bus Contrôleur
(processeur) centrale AGP graphique
Bus AGP

Contrôleur Contrôleur
Bus local
de disque de bus
dur IDE/ATA PCI Bus PCI
Carte Ca rte
d'extensi d'e
d'extension 18
on xt
Structure d’un ordinateur (4)

19
Unité de traitement (1)
L'unité de traitement (ou CPU, pour « Central
Processing Unit »), aussi appelée
« processeur », est le cœur de l'ordinateur
Elle exécute les programmes chargés en
mémoire centrale en extrayant l'une après
l'autre leurs instructions, en les analysant, et
en les exécutant

20
Unité de traitement (2)
L'unité de traitement est composé de plusieurs
sous-ensembles distincts
L'unité de contrôle, qui est responsable de la
recherche des instructions à partir de la mémoire
centrale et du décodage de leur type
L'unité arithmétique et logique (UAL), qui effectue
les opérations spécifiées par les instructions
Un ensemble de registres, zones mémoires rapides
servant au stockage temporaire des données en cours de
traitement par l'unité centrale
21
UAL
• Fonction logique nécessaire du microprocesseur

•Contenant la logique de traitement de données

•Utilisation de deux entrées et d’une sortie

•Utilisation de mémoires tampons pour :

•le stockage de données

•La mise à disposition de ces données


22
UAL
• Exécution d’un ensemble minimum d’opération
arithmétiques :
• Addition
• Soustraction
• Opération logique :
• Complémentation
• Décalage à droite
• And
• Or
• Décalage à gauche

23
UAL
• Opération arithmétiques complexes faite de
deux manière différentes :

• Méthode câblée

• Méthode microprogrammée

24
UAL: méthode câblée
• Opération arithmétiques complexes faite de
deux manière différentes :

• Méthode câblée :
• Ajout d’un circuit numérique spécialisé à l’UAL

• Rapidité d’exécution des opération complexes

• Complexité de l’UAL

25
UAL: méthode microprogrammé
• Transformation d’une opération arithmétique
complexe en opérations moins complexes

•Exécuté par les circuits standards du l’UAL

•Opération d’addition et de décalage

•Architecture simples mais méthode lente

26
UAL

27
UCC: Unité de commande
• Responsable de la lecture en mémoire

•Responsable du décodages des instructions

•Prise en compte des instructions suivantes :


• Décodage d’instructions
• Lancement des ordres aux composant réalisant
l’instruction
• Recherche de nouvelles instructions

28
UCC: Unité de commande

29
UCC: Unité de commande
• Décodeur : détermination de l’opération et des
opérandes

•Séquenceur :
• gestion des signaux de commandes au différents
composants selon un chronogramme
• Câblé ou microprogrammé

30
UCC: Séquenceur câblé
• Circuit séquentiel complexe

•Plusieurs sous-circuits pour chaque instruction à


commander

•Sous-circuits activés par le décodeur

31
UCC: Séquenceur microprogrammé
• Remplacement du circuit logique par un mémoire
ROM

•Code opération de l’instruction à exécuter

•Utilisé pour définir le pointeur sur la première micro-


insturction

•Le compteur :
• A un contenu initialisé en fonction de l’opération
• A un contenu incrémenté à chaque cycle d’horloge
• Servant à adresser la mémoire morte 32
UCC: Séquenceur microprogrammé

33
UCC: Séquenceur microprogrammé
• Plus lent que le séquenceur câblé

•Simplicité de conception et souplesse de l’utilisation

•Jeu d’instruction complexe

•Equivalent à plusieurs instruction d’une autre machine

Gain sur le temps de transfert des instruction

Plus grande souplesse pour les compilateurs haut


niveau 34
Registres
• Cellules de mémoires très rapides situés dans le microprocesseur

•Servant au stockage de l’information nécessaire momentanément

•Deux types de registres : :


• Registres spécifiques
• Registres communs à la disposition du programmeur

35
Récapitulation
• UCC : recherche d’information par
• Envoi d’adresse à la mémoire centrale
• Envoi de commande à la mémoire centrale
Il s’agit de l’opération Fetch

:
•Instruction enregistrée et transférée sous forme binaire à l’adresse choisie
•Décodage et détermination de l’opération demandée
 Il s’agit de l’opération Decode

•Utilisation de l’information pour gérer les signaux nécessaires à l’UAL


pour déclencher l’exécution de l’instruction

•Données à traiter cherchées en mémoire par l’UC et transférés à l’UAL


36
Bus
• Transferts de données faits par des fils conducteurs appelés BUS

•Liaison entre les composants du PC

•Utilisation des lignes exploités en commun afin de ne pas relier toutes


les unités entre elle.

•Trois types de bus :


• Bus de données
• Bus d’adresse
• Bus de commande

37
Bus de données
• Acheminement des données échangées par les divers boitiers du
système

•Transport des données envoyées


• D’une entrée vers le microprocesseur
• Du microprocesseur vers la mémoire

•Bus bidirectionnel

•Nombre de lignes déterminant la tailler des information transitant

38
Bus d’adresses
•Transfert des adresses vers les dispositifs
branchés sur le bus de données

•Taille déterminant la capacité d’adressage du


microprocesseur

39
Bus de commande
• Transport des signaux de synchronisation entre le microprocesseur et
les dispositifs branchés

•Signaux transitant généralement sur le bus de commande et les signaux


de :
• Lecture
• Écriture
• Interruption
• Remise à zéro

40
Notion de bus local
•Bus E/S tels que ISA, EISA, MCA reliés au bus
principal
•CPU modeste & Péripériques +/ - lents  Ok
•CPU + rapides pilotant des bus de hautes
fréquences
•De + en + de périphériques rapides
•Remède : interfaçage direct sur le bus processeur
(FSB: front Side Bus) très rapide
•Architecture dite de bus local

41
Réalisation

42
Bus ISA
•Industry Standard Architecture

•Introduit pas IBM (PC XT) : 8 bits (4.77 MHz);


Débit max : 5.5 Mo/s; DMA; Adresse 16 Mo

•Devenu EISA en 1984 avec le PC AT : 16 bits


(8.33 MHz): Débit max : 8 Mo/s

•Bus propriétaire  jusqu’au début des 80 seul


IBM développait des périphériques et des
interfaces
43
Bus ISA
•1993 : Intel + Microsoft  PNP ISA détection et
configuration automatique des périphériques

•En voie de disparition

•Plus que que quelques machines avec 1 ou 2


slots ISA à coté des PCI ou AGP

 A éviter

44
Bus MCA
•Micro Channel Architecture

•Introduit par IBM en 1987 en concurrence à ISA

•32 bits auto-configurable (plug & play), Fréq: 10


Mhz; Débit de 20 Mo/s

45
Bus MCA
•Autorise le mastering (DMA) très efficace

•Très peu répandu pour 2 raisons

• Bus propriétaire

• Très forte concurrence de NEC (VLB) et Intel


(PCI)

46
VESA/VLB
•VESA Local Bus

•Mis au point en 92 par Video Electronics


Standard Association sous l’égide de NEC

•Dédié aux systèmes graphiques

47
VESA/VLB
•Composé de ISA 16 bits + connecteur
supplémentaire 16 bits
32 bits

•Utilisé sur 486 cadencés à 40 et 50 Mhz et Sur


les premiers Pentium

•Rapidement remplacé par le bus PCI

48
PCI
•Peripheral Component Interconect

•PCI 1.0 : mis au point par Intel en 06/92

•PCI 2.0: standard connecteur / slot 04/93: bus


intermédiaire entre FSB bus E/S

•32 bits cadencé à 33 MHz, débit 133 Mo/s

49
PCI
•3 à 5 slots blancs (normalisés sur carte mère)

•Plug & Play; Periph connecté reconnus

•Peut gérer jusqu’à 6 emplacements

•Possibilité de chainage

50
PCI
•3 à 5 slots blancs (normalisés sur carte mère)

•Plug & Play; Periph connecté reconnus

•Peut gérer jusqu’à 6 emplacements

•Possibilité de chainage

51
Evolution de PCI

52
Evolution de PCI

53
AGP
•Accelerated Graphics Port

•Apparu en 97 en remplacement de PCI des infos


graphiques

•Disposant d’un canal DMA (pas de contrôleur


E/S)

•AGP-1x cadencé à 66 MHz (33 pour PCI) 


débit : 266 Mo/s

54
AGP
•1x envoie 8 octets/2 cycles, 2x: 8 octets/cycle 
533 Mo/s

•98: version 2  AGP-4x (16 octets/cycle) 


> 1 Go/s

•2002: version 3  AGP-8x (32 octets/cycle) 


> 2 Go/s

•Compatibilité ascendante (1 slot 8x reçoit 4x ou


2x, …)
55
AGP

56
PCI Express
•Sorti en juillet 2002, PCI express est un bus série

•Version 1x à 32x, débits : 256 Mo à 8Go/s


(4/AGP!)

•Coût similaire  Remplaçant d’AGP, PCI, …

•Faible consommation électrique

57
PCI Express
•Autorisation du branchement à chaud

•Pas assez rapide pour bus mémoire

•N’offrant pas de flexibilité de InfiniBand

58
PCI Express

59
Bus PCMCIA
•Personnal Computer Memory Card International
Association

•Standard de carte d’extension (pour portables)

• Format carte de crédit

• Connecteur divers (modem, réseau, mémoire)

• 3 formats
60
Bus PCMCIA

61
Bus SCSI
•Small Computer System Interface

•Utilisé durant les années 90’ pour les hauts débits

•Supplanté (pour PC car moins cher)

• IDE/ATA bien que plus lent

• USB et Firewire plus pratiques

62
Bus SCSI
•Réservé aujourd’hui aux serveurs

•Simultanéité :

• Déplacement de bras sur une chaine de diques


(IDE pas possible)

• Optimisation du déplacement de bras 


réodonnancement des requêtes

63
Fonctionnement SCSI
•Adressage :
• N° de carte SCSI
• ID: N° de contrôleur périphéiruqes
• LUN : Logical Unit Number (0..7)

•Type de bus SCSI :


• Asymétrique (noté SE pour Single End): le +
connu:
• Parallèle 8 bits (narrow)
• Parallèle 16 bits (wide)
• Différentiel
64
Les standards SCSI

65
Bus ATA / IDE
•Standard ATA (Advanced Technology
Attachement)

•Appelé aussi IDE (Integraterd Drive Electronics)

•Créé en 94 pour connecter les disques durs 


ATAPI (ATA Packet Interface)  Iomega, CD,
DVD

•Liaison Périphs/carte mère via IDE


 Composée de 40 liaisons + 3 connecteur

66
Modes de
fonctionnement
•Mode PIO (Programmed Input/Output):
• Échanges gérés entièrement par le processeur

•Mode DMA (Direct Memory Acess) :


intervention du CPU pour initialiser l’échange

•Mode Ultra DMA :


• ATA asynchrone, dépend de la fréq du bus
• Si fréq. Bus +  problème
• Envoi sur 2 fronts + contrôle CRC
• A partir de Ultra DMA 4, fils de nappes
doublés par 40 fils de masses intercalés
67
Bus USB
•Bus exclusivement externe

•Liaison en étoile (hub) ou guirlande

•127 périphériques simultanés


• Débit réparti entre tous les périphériques

•Fourniture d’alimentation électrique (5V, 100ma)

•Branchement et débranchement à chaud


• Lecture d’infos périphériques
• Détermination pilote approprié
• Détection débranchement  pilote effacé 68
USB 1.1
•2 modes :

• Lent (1.5 Mbps) : clavier, souris … cable < 3m

• Rapide (12 Mbps): imprimantes, scanners, disques


durs, graves … cable < 5 m

•Chaque bus piloté par un seul hôte

69
USB 2.0
•Introduit en 2001

•Début jusqu’à 480 Mbps

•Spécification « On the Go » : protocole permettant à


deux appareil de négocier celui qui sera l’hôte

•Réservé aux liaisons P2P:


• Ordinateur
• Téléphone mobile …

70
Le bus Firewire
•Créé en 95 par Apple (norme IEEE 1394)
•Appelé i.Link par Sony
•Appelé Lynx par Texas Instruments
•Jusqu’à 64 périphériques en série, Hot PnP
•Câble longueur max :4.5 m
•Bande passante 100 à 400 Mbps (> 30*USB 1.1)
•Energie : 24V/15W
•Dialogue entre appareils (pas de maître)

71
Le bus Firewire 2
•Créé en 2001 par Apple (Firewire Gigawire), régi par
norme 1394b
•Débit de 800 Mbps et bientôt 1.6 et 3.2 Gbps
•Développement en 2 phases
• Firewire-Audio : bande passante et qualité élevées
• Serial Bus Protocol 2 (SBP2): stockages de masse de
commandes ou de données asynchrones
• Utilisé par Epson et Umax pour les scanners et
imprimantes

72
Fonctionnement du Firewire

73
USB ou Firewire

74
CPL
•Courant porteur en ligne
•De + en + utilisé
•Utilisation du câblag électrique (signal HF)
•Vitesse 0.4 Mbps (1998)  8 Mbps (2005)
•Norme HomePlug 1.01  HomePlug AV (45 Mbps)
•Méthode d’accés = topologie de bus
•Mode de fréquance : 4-21 Mhz (84 porteuses)
•Longuer 300m
•Cryptages D.E.S (Data Encryption Standard) 56 bits

75
Applications
•Faire les applications suivantes :

• Addition binaire

• Soustraction binaire

• Multiplication binaire

• Division binaire

76
Chemin de données (1)
Le chemin de données représente la structure
interne de l'unité de traitement
Comprend les registres, l'UAL, et un ensemble de
bus internes dédiés
L'UAL peut posséder ses propres registres destinés
à mémoriser les données d'entrées afin de
stabiliser leurs signaux pendant que l'UAL calcule
Le chemin des données conditionne fortement
la puissance des machines
Pipe-line, superscalarité, …
77
Chemin de données (2)
Chemin de données d'une machine de type
« Von Neumann »
A+B

A
B
Registres généraux

A B
Registres
d'entrée de l'UAL

UAL

A+B
Registre de sortie
de l'UAL
78
Exécution d'une instruction (1)
L'exécution d'une instruction par l'unité
centrale s'effectue selon les étapes suivantes :
1 Charger la prochaine instruction à exécuter depuis
la mémoire vers le registre d'instruction
2 Décoder (analyser) l'instruction venant d'être lue
3 Faire pointer le compteur ordinal vers l'instruction
suivante (y compris dans le cas de branchements)
4 Localiser en mémoire les données nécessaires
5 Charger si nécessaire les données dans l'UAL
6 Exécuter l'instruction, puis recommencer 79
Architecture des ordinateurs
Les ordinateurs modernes sont conçus
comme un ensemble de couches
Chaque couche représente une abstraction
différente, capable d'effectuer des opérations
et de manipuler des objets spécifiques
L'ensemble des types de données, des
opérations, et des fonctionnalités de chaque
couche est appelée son architecture
L'étude de la conception de ces parties est
appelée « architecture des ordinateurs » 80
Machines multi-couches actuelles

5 Langages d'application
Traduction (compilateur)
4 Langage d'assemblage
Traduction (assembleur)
3 Système d'exploitation
Interprétation partielle (SE)
2 Jeu d'instructions
Interprétation ou exécution
1 Microarchitecture
Matériel
0 Logique numérique
81
Couche logique numérique
Les objets considérés à ce niveau sont les
portes logiques, chacune construite à partir de
quelques transistors
Chaque porte prend en entrée des signaux
numériques (0 ou 1) et calcule en sortie une
fonction logique simple (ET, OU, NON)
De petits assemblages de portes peuvent
servir à réaliser des fonctions logiques telles
que mémoire, additionneur, ainsi que la logique
de contrôle de l'ordinateur 82
Couche microarchitecture
On dispose à ce niveau de plusieurs registres
mémoire et d'un circuit appelé UAL (Unité
Arithmétique et Logique, ALU) capable de
réaliser des opérations arithmétiques
élémentaires
Les registres sont reliés à l'UAL par un chemin
de données permettant d'effectuer des
opérations arithmétiques entre registres
Le contrôle du chemin de données est soit
microprogrammé, soit matériel 83
Couche jeu d'instruction
La couche de l'architecture du jeu
d'instructions (Instruction Set Architecture,
ISA) est définie par le jeu des instructions
disponibles sur la machine
Ces instructions peuvent être exécutées par
microprogramme ou bien directement

84
Couche système d'exploitation
Cette couche permet de bénéficier des
services offerts par le système d'exploitation
Organisation mémoire, exécution concurrente
La plupart des instructions disponibles à ce
niveau sont directement traitées par les
couches inférieures
Les instructions spécifiques au système font
l'objet d'une interprétation partielle (appels
système)
85
Couche langage d'assemblage
Offre une forme symbolique aux langages
des couches inférieures
Permet à des humains d'interagir avec les
couches inférieures

86
Mémoire centrale : Objectifs
• Comprendre le fonctionnement de la mémoire
centrale d’un ordinateur

• Différentes stratégies utilisées pour améliorer sa


performance.

87
Mémoire centrale : types
-dynamique (DRAM) VS statique (SRAM);
-vive (RAM) VS morte (ROM);
- fonctionnement des trois types de mémoire
cache (antémémoire) :
- correspondance directe
- correspondance associative
- correspondance associative par ensemble de
blocs;
-évaluation quantitative de l’organisation des
mémoires.
88
Hiérarchie des mémoires

Les différents éléments de la mémoire d’un


ordinateur ordonnés en fonction des critères
suivants :

• Temps d’accès
• Capacité
• Coût par bit

89
Hiérarchie des mémoires

Vitesse Capacité

registres
1 ns 100 o
du CPU
10 ns mémoire cache 1 Mo

100 ns mémoire centrale 100 Mo


mémoire d’appui 1 Go

>10 ms mémoire de masse >10 Go

90
Types d’accès

Les différents éléments de la mémoire d’un


ordinateur ordonnés en fonction des critères
suivants :

• Temps d’accès
• Capacité
• Coût par bit

91
Types d’accès
°Accès séquentiel (e.g. bande magnétique) : le
plus lent de tous

°Accès direct ou aléatoire (e.g. mémoire centrale,


registres) : chaque information a une adresse.

°Accès semi-séquentiel (e.g. disques)

°Accès par le contenu ou associatif (e.g. mémoire


cache)
92
Mémoire centrale
° Tores magnétiques : Mémoire de 256 bits
256 = 28 nécessite donc 8 lignes d’adresse

°Remarquez la simplification obtenue par cette


organisation 2D par rapport à une organisation
linéaire qui nécessiterait un
décodeur 8-256

93
94
Mémoire à semiconducteurs
° mémoire à accès direct (RAM)

°Chaque bit a une adresse (adresse rangée +


adresse colonne)

°Mémoire statique (SRAM):


°éléments de mémoire bistables
°Informations sur la sortie tant que les signaux
de lecture appliqués

95
Mémoire à semiconducteurs
Mémoire à m bits par adresse

Capacité totale : n x n x m bits

96
Mémoire à semiconducteurs
Mémoire statique MOS
Mémoire statique nécessitant 6
transistors par bit.
Très couteuse en pratique mais
rapide
Puces de capacité modeste

Utilisation de mémoire statique


pour la mémoire cache

97
Mémoire à semiconducteurs
Mémoire dynamique MOS
• Mémoire centrale basée sur la
mémoire dynamique ou DRAM

• Elément de mémoire  capacité 


moins coûteux

• Information volatile à rafraichir


périodiquement

98
Mémoire à semiconducteurs
Mémoire mortes
• ROM (Read-Only Memory)
• PROM ( Programmable Read-Only Memory)
• EPROM (Electically Programmable Read-Only Memory)
• EAROM (Electrically Alterable Read-Only Memory)
• EEPROM (Electrically Erasable Programmable Read-Only
Memory)

Partie de l’OS faisant partie de la mémoire morte


Bios sur le PC et Toolbox du Mac
99
Mémoire à semiconducteurs

•Mémoire statique de 128 ko

•Nombre total de bits : 128K x 8 = 1 Mbit

•Nombre total d’adresses = 217= 128K

100
Mémoire à semiconducteurs
•Mémoire dynamique de 128 Mo organisée
en 256M x 4
•Nombre total de bits = 256 Mbit x 4
= 1024 Mbit
•Nombre total d’octets = 1024 Mbit / 8
= 128 Mo
•Nombre total d’adresses = 228= 256 M

Utilisation de la puce en paires


Mémoire adressable en octets
101
Mémoire à semiconducteurs
•Mémoire dynamique  Adresse scindée en deux motiés
• Adresse de rangée
• Adresse de colonne
•Application de l’adresse de rangée
•Activation de la ligne RAS (Row Adress Select)
•Application de l’adresse de colonne
•Activation de la ligne CAS (Column Adress Select)
•Réduction de moitié de nombre de broches de la puce

102
Mémoire à semiconducteurs
Mémoire dynamique chronogramme

103
Mémoire à semiconducteurs
Mémoire dynamique chronogramme
• SIMM (Single Inline Memory Module)

104
Mémoire à semiconducteurs
Mémoire dynamique chronogramme
• SIMM (Single Inline Memory Module)

105
Mémoire à semiconducteurs
Mémoire dynamique chronogramme
• DIMM (Dual Inline Memory Module): Process lisant 64
bits à la fois sur le bus de données

• Modules à 168 contacts :


• 64 pour les données
• 32 pour les adresses
• Reste pour les lignes de contrôle (RAS, CAS, R/W,
Alimentation, Masse …) 106
Mémoire à semi conducteurs
Mémoire dynamique chronogramme
•Structure physique de la mémoire
centrale

DIMM de 16 Mo

Dans cet exemple, les puces sont


activées au moins deux à en même
temps, car chacune ne fournit que
4 bits d’information à la fois.

107
Structure physique de la mémoire
centrale : Mode page rapide
•Dans ce mode, on réduit le temps d’accès en maintenant
RAS bas, en altérant seulement les adresses de colonne et
en activant CAS chaque fois.
•Les temps d’accès sont 6-3-3-3, c’est à dire 6 cycles pour
la lecture de la première donnée, puis 3 cycles par donnée
successive dans la même rangée.
•Ceci est une amélioration importante par rapport au mode
normal qui nous donnerait 6-6-6-6.

108
Structure physique de la mémoire
centrale : Mode page rapide

109
Structure physique de la mémoire
centrale : Mode EDO
•Amélioration majeure apportée aux DRAM asynchrones :
mémoire EDO (Extended Data Out).
•Pas de désactivation des tampons de sortie sur la montée
de CAS.
•Élimination du temps de précharge au moment de
verrouillage des données en sortie.
•Réduction du temps minimum où CAS est bas, et la
montée peut donc se produire plus tôt.
•Nouvelle adresse de colonne appliquée avant la fin du
cycle précédent
.

110
Structure physique de la mémoire
centrale : Mémoire EDO

111
Structure physique de la mémoire
centrale : Mode EDO
•Procuration d’une amélioration de 40% du temps d'accès
•Bon fonctionnement jusqu'à une fréquence de bus de 83
MHz.
•Puces DRAM suffisamment rapides (>55 ns)
•Utilisation des mémoires EDO jusqu'à une fréquence de
bus de 100 MHz.
•Les temps d'accès typiques 5-2-2-2 avec une fréquence de
bus de 66 MHz.
•EDO considérée comme dépassée.
•La tendance actuelle : DRAM synchrones.
112
Structure physique de la mémoire
centrale : Mode BEDO
•Burst EDO ou BEDO

•Le mode «rafale» : un progrès sur le mode page : après


qu'une première adresse est lue, les 3 adresses suivantes sont
générées à l'interne

•Élimination du temps nécessaire à fournir les 3 adresses de


colonne.

•Les temps d'accès à 66 MHz sont 4-1-1-1.


113
Structure physique de la mémoire
centrale : Mode BEDO

114
Mémoire SDRAM

•Vitesses de bus dirigées vers 100 MHz  les concepteurs


de DRAM cherchant un moyen de contourner les latences
significatives présentes.
•L'implantation d'une interface synchrone premettant une
telle réduction et procure également d'autres avantages.
•Dans une interface asynchrone, le processeur doit attendre
sans rien faire que la DRAM ait effectué ses opérations
internes, ce qui prend de l'ordre de 60 ns.

115
Mémoire SDRAM

• Avec une interface synchrone, la DRAM verrouille


l'information provenant du processeur, sous le contrôle de
l'horloge système.
• Ces verrous enregistrent les adresses, les données et les
signaux de contrôle, ce qui permet au processeur de
vaquer aussitôt à d'autres tâches.
• Après un certain nombre de cycles d'horloge, les données
deviennent disponibles et le processeur peut les lire sur
les lignes de sortie.

116
Mémoire cache
•La mémoire centrale lente par rapport à la vitesse d’horloge
des processeurs actuels  utilisation d’une mémoire cache
ou antémémoire de capacité plus faible faite de mémoire
statique entre le processeur et la mémoire centrale.

•Placer les données les plus récemment utilisées. Elle


contient donc une petite partie de la mémoire centrale.

117
Mémoire cache

•Lors d’un accès mémoire, le système de gestion de


mémoire cache doit déterminer si l’information désirée se
trouve dans le cache. Si elle s’y trouve, on n’a pas besoin
d’aller en mémoire centrale et on obtient l’information à la
vitesse du cache, ~ 5 ns.

•Si elle ne s’y trouve pas, on la copie de la mémoire centrale


vers le cache, de sorte qu’elle s’y trouvera la prochaine fois.

118
Mémoire cache
•La mémoire cache est basée sur le principe de localité:
1. Localité temporelle: si un objet a été référencé, il sera
référencé de nouveau bientôt (exemple : boucle).
2. Localité spatiale: si un objet a été référencé, des objets
proches seront également référencés (exemple : tableau).

•La mémoire cache est une mémoire associative, dans le sens


qu’on doit déterminer si le contenu d’une adresse s’y trouve
avant de pouvoir le lire.

•Il faut s’assurer que l ’information recherchée s’y trouve le plus


souvent possible pour réduire les accès à la mémoire centrale.
119
Mémoire cache
Un cache est donc inutile et même nuisible pour un
programme qui n’aurait aucune boucle, ou qui
n’utiliserait jamais de données contigües.

Les processeurs modernes ont deux caches internes (L1):


° un pour les instructions,
° un pour les données,
On utilise aussi habituellement un cache externe d ’une
capacité beaucoup plus grande (L2).
Pentium : cache interne :instructions : 16 Ko
données: 16 Ko
cache externe : 512 Ko 120
Mémoire cache
•L’unité d’information est appelée un bloc: il constitue une
ligne (ou rangée) du cache. Les blocs ont généralement entre 4
et 128 octets et sont tous de même taille dans un cache donné.
•À chaque bloc on associe une étiquette. La valeur de cette
étiquette permet de décider si un bloc donné est effectivement
dans le cache ou non.
•L’adresse fournie par le processeur peut être scindée en deux
parties : le no de bloc et l’adresse dans le bloc.

121
Mémoire cache : cache associatif

122
Mémoire cache: cache associatif
1. Quand une donnée est placée dans le cache, le numéro de
bloc de l’adresse fournie par le processeur est placé dans le
champ étiquette de la rangée où la donnée est placée.

2. À chaque accès mémoire, les comparateurs comparent


simultanément le no. de bloc de l’adresse demandée avec
toutes les étiquettes se trouvant dans le cache. Si l’une de
ces étiquettes est égale au numéro de bloc, c’est que la
donnée correspondante se trouve dans le cache. L’accès
s’effectue alors dans le cache au lieu de la mémoire
centrale, donc 2 à 5 fois plus rapidement.

3. Si aucune étiquette n’est égale au no. de bloc, c’est que la


donnée n’est pas dans le cache. On retourne à 1. 123
Mémoire cache: cache associatif
1. Quand une donnée est placée dans le cache, le numéro de
bloc de l’adresse fournie par le processeur est placé dans le
champ étiquette de la rangée où la donnée est placée.

2. À chaque accès mémoire, les comparateurs comparent


simultanément le no. de bloc de l’adresse demandée avec
toutes les étiquettes se trouvant dans le cache. Si l’une de
ces étiquettes est égale au numéro de bloc, c’est que la
donnée correspondante se trouve dans le cache. L’accès
s’effectue alors dans le cache au lieu de la mémoire
centrale, donc 2 à 5 fois plus rapidement.

3. Si aucune étiquette n’est égale au no. de bloc, c’est que la


donnée n’est pas dans le cache. On retourne à 1. 124
Mémoire cache: cache associatif
Politique de remplacement de rangées
L’algorithme de remplacement utilisé quand il faut remplacer
un bloc et que tous les blocs du cache sont valides (V = 1)
peut être :
1.L’algorithme du plus ancien LRU (Least Recently
Used), c’est-à-dire qu’on remplace le bloc qui a été
utilisé le moins récemment.
2. L’algorithme FIFO (First-In First Out), c’est-à-dire
qu’on remplace les blocs dans le même ordre qu’on les
a introduits.
3. LFU (Least Frequently Used), c’est-à-dire quon
remplace le bloc qui a été utilisé le moins souvent.
4. Le hasard (Random). 125
Mémoire cache: cache à accès direct
•Le cache purement associatif est très coûteux en raison du
nombre élevé de comparateurs. Chaque comparateur nécessite
autant de portes XOR qu’il y a de bits dans l’étiquette et il y a
autant de comparateurs que de rangées dans le cache.
•Dans le cache à accès direct, le champ no. de bloc de l’adresse
est scindé en deux parties : l’étiquette et l’index. L’étiquette et
les données correspondantes sont toujours enregistrées dans la
rangée donnée par le champ index.
•Ainsi, on n’a besoin que d’un seul comparateur dont le
nombre de bits est égal au nombre de bits dans le champ
étiquette.

126
Mémoire cache: cache à accès direct

127
Mémoire cache: cache associatif par
ensemble de blocs
•Le cache associatif par ensemble de blocs est un compromis
entre le cache purement associatif et le cache à accès direct.
On a 2 ou 4 blocs de données. D’un ensemble à l’autre, le
cache est associatif. Cependant, les blocs (rangées) sont
gérés comme dans le cache à correspondance direct.

•La performance de ce type de cache pratiquement


équivalente à celle du cache purement associatif, à un prix
beaucoup moindre. En pratique, on n ’a aucun avantage à
dépasser 4 ensembles.

128
Mémoire cache: cache associatif par
ensemble de blocs

129
Mémoire cache: politique d’écriture
dans un cache
Écriture simultanée (write-through) : Lors d’une écriture,
l’information est écrite simultanément dans le cache et en
mémoire centrale. Toute écriture prend le même temps qu’un
échec de cache, donc perte d’efficacité.
Récriture (write-back) : Lors d’une écriture, l’information n’est
écrite que dans le cache. Ce n’est que lors d’un remplacement
de la rangée du cache où elle se trouve que l’information est
transcrite en mémoire centrale. L’écriture est aussi rapide que la
lecture tant qu’un bloc est dans le cache. Cependant les données
en mémoire centrale sont inconsistantes avec celles du cache
tant que les données modifiées n’y ont pas été recopiées.
130
Mémoire cache: performance

•Le taux de succès est le rapport entre le nombre d’accès


mémoire pour lesquels le bloc est présent dans le cache et le
nombre total d’accès. Le taux d’échec est :
Taux d’échec = 1 - taux de succès.
•Le temps associé au succès est le temps d’accès à un bloc du
cache, et comprend le temps nécessaire pour déterminer si le
bloc est présent ou non. Le temps de traitement de l’échec est le
temps de remplacement d’un bloc du cache par le bloc
correspondant de la mémoire principale.

131
Mémoire cache: performance

Succès du cache : 3 ns
Échec du cache
• Accès cache conduisant à l’échec : 3 ns
• Lecture d’un bloc en mémoire centrale. Par exemple, 32 octets
en 4 accès de 64 bits ( 8 octets) à 33 ns / accès = 132 ns.
• Temps total : 132 + 3 = 135 ns.
Soit P la probabilité d’un succès. Le temps d’accès moyen sera
T = P x 3.3 + (1 - P) x 135
Le temps d’un accès mémoire normal étant 33 ns, on veut que P
soit tel que T < 33 ns . On calcule que le taux de succès P doit être
supérieur à 77% pour le cache soit utile.

132
Mémoires auxiliaires

Digtal Redundant
Audio Array of
Tape Independant
Disc

Digtal
Linear
Tape
133
Mémoires auxiliaires

134
Les disques durs

•Constitué de plusieurs plateaux , empilés et en rotation


rapide autour du même axe.
• Chaque face d’un plateau est lue ou écrite par une tête de
lecture/écriture.
•Déplacement des têtes en même temps, radialement.
•Chaque face est formée par des pistes et en secteurs.
•L’organisation des informations sur un disque dur est assez
semblable à l’organisation des informations sur une
disquette.

135
Les disques durs

•La surface active découpée en pistes.


•Chaque piste elle-même constituée de secteurs.
•Chaque secteur est repéré par un numéro de face, un
numéro de piste et un numéro de secteur.
•Le système complet est constitué d’un ensemble de disques
empilés.
•La plupart des systèmes introduisent la notion de cylindre :
un cylindre est formé par l’ensemble des pistes de même
position sur tous les plateaux.

136
Les disques durs

137
Les disques durs : temps d’accès

Le temps d’accès pour lire ou écrire un secteur du disque


dur dépend de :

• la vitesse de rotation du disque

• la vitesse de déplacement des têtes

• la dimension du disque.

138
Les disques durs : déplacement des
têtes
Cylindre sur une mauvaise piste  déplacement des
têtes

•Définition du temps de positionnement minimum (passage


d’un cylindre au cylindre voisin)

•Définition du temps de positionnement moyen (passage à


un cylindre quelconque)  parcours moyen de la moitié du
rayon.

139
Les disques durs : déplacement des
têtes
Attente que le début du secteur visé arrive sous la tête
de lecture :

•Disque tournant d’un demi-tour.

•Temps est appelé demi délai rotationnel.

140
Les disques durs : déplacement des
têtes
•Transfert des données: temps nécessaire pour faire défiler
le secteur entier
sous la tête de lecture.

Le débit d’information maximal déterminé par:


• la vitesse de rotation du disque
• la densité d’enregistrement de données
• limitée par le débit du bus d’entrées/sorties reliant le
disque à l’ordinateur.

141
Les disques durs : Calcul de capacité
de débit
•Capacité DD = nombre total de secteurs * nombre d’octets
par secteur

•Nombre total de secteurs = Nombre total de secteurs par


face * nombre de face

•Nombre totale de secteurs par face = Nombre de secteurs


par piste * nombre de pistes par face

•Débit = vitesse de rotation par seconde * Nombre de


secteurs par piste * nombre d’octets par secteur 142
Les disques durs : Calcul du temps
d’accès moyen
C’est le temps moyen entre la demande de lecture d’un
secteur et la mise à disposition du résultat sur l’interface

Temps d’accès (moyen) = Temps de déplacement moyen


(Tr)+ Temps (moyen) de latence (Td)+ Temps de lecture
d’un secteur (Tt)
Td=Têmps de latence moyen =demi-durée d’un tour =
0.5*60/vitesse de rotation du disque
Tt = Durée d’un tour / (nb. Secteurs par piste)

143
Les disques durs caractéristiques

•Capacité du disque dur


•Temps d’accès moyen (entre 1 et 5ms)
•Taux de transfert maximum ou débit (en Mo/s).
•Le débit dépend du type du contrôleur de disque dur :
• IDE jusqu’à 100 Mo/s
• SATA à partir de 150 Mo/s.
•La vitesse de rotation du disque dur est 5400 tours/minute,
7200 t/min ou 10000 tours/min

144
Les disques durs : Optimisation
d’accès (NCQ)
•Native Command Queuing
•Amélioration des performances par réorganisation de
l’ordre des requêtes envoyées

145
Les disques durs SATA

•C’est un grand assemblage de mémoires FLASH dans un


boitier (même format que le disque dur).
•Réduction de la consommation électrique (puisqu’il n’ya a
pas d’éléments mécaniques).
•Résistant aux chocs et plus rapide que le disque dur
classique.
•Prix élevé par rapport aux disques durs de même taille

146

Vous aimerez peut-être aussi