Vous êtes sur la page 1sur 37

Ordinateur et logiciel

Les technologies numériques sont maintenant


omniprésentes
Architecture des ordinateurs Elles sont le moteur et l'objet de ce qu'on appelle la
Cours élaboré par :Tarek Frikha
« 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
1 2

Représentation de l'information Constituants élémentaires (1)


L'information est représentée au sein des Presque tous les ordinateurs sont construits à
composants de l'ordinateur sous forme de base de circuits électroniques
différents états de la matière :
Les circuits électroniques sont réalisés au
« Trou » ou « pas trou » sur la surface d'un
moyen de transistors
cédérom ou DVD
Composant élémentaire, dont le courant de sortie
Orientation nord ou sud d'un matériau magnétique dépend de deux valeurs d'entrée
Lumière ou absence de lumière émise par un laser Un transistor a donc trois « pattes »
Appelées : base, émetteur et collecteur
Courant électrique ou non
Analogue à un « robinet à électricité » : plus il
Ce sont souvent des représentations à deux arrive de courant sur la base, plus le courant
états, c'est-à-dire « binaires » 3
circule de l' émetteur vers le collecteur 4
Constituants élémentaires (2) Performance (1)
Dans les ordinateurs, on utilise les transistors Les calculs des ordinateurs sont cadencés par
en mode saturé, c'est-à-dire « tout ou rien » une horloge
Fonctionnement analogue à celui d'un interrupteur Plus la fréquence de l'horloge est élevée, et plus
Robinet fermé ou ouvert en grand l'ordinateur pourra effectuer d'opérations par
Soit le courant passe, soit il ne passe pas du tout seconde (s'il n'est pas ralenti par autre chose...)
Représentation des valeurs binaires « 0 » et « 1 » On mesure la fréquence d'une horloge en Hertz (Hz)
Nombre de battements par seconde
En combinant plusieurs transistors, on peut
1 kHz (kilo-Hertz) = 103 Hz
effectuer des calculs complexes 1 MHz (méga-Hertz) = 106 Hz
Sur la base de montages en série ou en parallèle 1 GHz (giga-Hertz) = 109 Hz
1 THz (téra-Hertz) = 1012 Hz
Regroupement au sein de « circuits intégrés » 5 6

Performance (2) Évolutions architecturales (1)


En fait, ce qui importe aux usagers, c'est le 1946 : Ordinateur ENIAC
nombre d'opérations (plus généralement, Architecture à base de lampes et tubes à vide : 30
« d'instructions ») qu'un ordinateur est capable tonnes, 170 m2 au sol, 5000 additions par seconde
d'effectuer par seconde 0,005 MIPS, dirons-nous...
On la mesure en MIPS, pour « millions 1947 : Invention du transistor
d'instructions par seconde »
1958 : Invention du circuit intégré sur silicium
On pense souvent que la puissance d'un
ordinateur dépend de sa fréquence de Multiples transistors agencés sur le même substrat
fonctionnement
C'est loin d'être toujours vrai ! 7 8
Évolutions architecturales (2) Évolutions architecturales (3)
1971 : Processeur Intel 4004 Entre le 4004 et le Core i7 2600K :
2300 transistors dans un unique circuit intégré La fréquence a été multipliée par 4600
Fréquence de 740 kHz, 0,092 MIPS La puissance en MIPS a été multipliée par 1,4 million
…40 ans d'une histoire très riche... La puissance d'un ordinateur ne dépend
2011 : Processeur Intel Core i7 2600K clairement pas que de sa fréquence !
Plus de 1,4 milliards de transistors Intérêt d'étudier l'architecture des ordinateurs
pour comprendre :
Fréquence de 3,4 GHz
4 cœurs, 8 threads Où les gains se sont opérés

128300 MIPS Ce qu'on peut attendre dans le futur proche


9 10

Barrière de la chaleur (1) Barrière de la chaleur (2)


Plus on a de transistors par unité de surface, La fréquence ne peut raisonnablement
plus on a d'énergie à évacuer augmenter au delà des 5 GHz
La dissipation thermique évolue de façon « Barrière de la chaleur »
proportionnelle à V2*F La tendance est plutôt à la réduction
La tension de fonctionnement des circuits a été « Green computing »
abaissée
On s'intéresse maintenant à maximiser le nombre
De 5V pour les premières générations à 0,9V maintenant d'opérations par Watt
Il n'est plus vraiment possible de la diminuer avec
Mais on veut toujours plus de puissance de calcul !
les technologies actuelles
Le bruit thermique causerait trop d'erreurs
11 12
Barrière de la complexité (1) Barrière de la complexité (2)
À surface constante, le nombre de transistors Que faire de tous ces transistors ?
double tous les 2 ans On ne voit plus trop comment utiliser ces transistors
« Loi de Moore », du nom de Gordon Moore, co- pour améliorer individuellement les processeurs
fondateur d'Intel, énoncée en 1965 Des processeurs trop complexes consomment trop
Diminution continuelle de la taille de gravage des d'énergie sans aller beaucoup plus vite
transistors et circuits sur les puces de silicium Seule solution actuellement : faire plus de
On grave actuellement avec un pas de 14 nm processeurs sur la même puce !
Limites atomiques bientôt atteintes... Processeurs bi-cœurs, quadri-coeurs, octo-cœurs,
Donc plus possible d'intégrer plus … déjà jusqu'à 128 cœurs !
Mais on veut toujours plus de puissance de calcul ! 13
Mais comment les programmer efficacement ?! 14

Barrière de la complexité (3) Structure d'un ordinateur (1)


L'architecture des ordinateurs a été l'un des Un ordinateur est une machine programmable
secteurs de l'informatique qui a fait le plus de de traitement de l'information
progrès Pour accomplir sa fonction, il doit pouvoir :
Les ordinateurs d'aujourd'hui sont très Acquérir de l'information de l'extérieur
complexes
Stocker en son sein ces informations
Plus d'un milliard de transistors dans un processeur Combiner entre elles les informations à sa
Nécessité d'étudier leur fonctionnement à disposition
différents niveaux d'abstraction Restituer ces informations à l'extérieur
Du composant au module, du module au système
15 16
Multiples niveaux de hiérarchie
Structure d'un ordinateur (2) Structure d'un ordinateur (3)
L'ordinateur doit donc posséder : Les constituants de l'ordinateur sont reliés
Une ou plusieurs unités de stockage, pour par un ou plusieurs bus, ensembles de fils
mémoriser le programme en cours d'exécution parallèles servant à la transmission des
ainsi que les données qu'il manipule adresses, des données, et des signaux de
Une unité de traitement permettant l'exécution contrôle Mémoire
graphique
des instructions du programme et des calculs sur Unité de Contrôleur
traitement Mémoire de bus Contrôleur
les données qu'elles spécifient (processeur) centrale AGP Bus AGP
graphique

Différents dispositifs « périphériques » servant à


Bus local
interagir avec l'extérieur : clavier, écran, souris, carte Contrôleur
de disque
Contrôleur
de bus
graphique, carte réseau, etc. dur IDE/ATA PCI Bus PCI
Carte Ca rte
17
d'extension d'ext
d'extension 18

Structure d’un ordinateur (4) 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

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

UAL UAL
• Exécution d’un ensemble minimum d’opération • Opération arithmétiques complexes faite de
arithmétiques : deux manière différentes :
•Addition
•Soustraction •Méthode câblée
•Opération logique :
•Complémentation
•Décalage à droite •Méthode microprogrammée
•And
•Or
•Décalage à gauche

23 24
UAL: méthode câblée UAL: méthode microprogrammé
• Opération arithmétiques complexes faite de • Transformation d’une opération arithmétique
deux manière différentes : complexe en opérations moins complexes

•Méthode câblée : •Exécuté par les circuits standards du l’UAL


•Ajout d’un circuit numérique spécialisé à l’UAL
•Opération d’addition et de décalage
•Rapidité d’exécution des opération complexes
•Architecture simples mais méthode lente
•Complexité de l’UAL

25 26

UAL 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

27 28
UCC: Unité de commande 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é

29 30

UCC: Séquenceur câblé UCC: Séquenceur microprogrammé


• Circuit séquentiel complexe • Remplacement du circuit logique par un mémoire
ROM

•Plusieurs sous-circuits pour chaque instruction à •Code opération de l’instruction à exécuter


commander
•Utilisé pour définir le pointeur sur la première micro-
insturction
•Sous-circuits activés par le décodeur
•Le compteur :
•A un contenu initialisé en fonction de l’opération
•A un contenu incrémenté à chaque cycle d’horloge
31 • Servant à adresser la mémoire morte 32
UCC: Séquenceur microprogrammé 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


33 niveau 34

Registres Récapitulation
• UCC : recherche d’information par
• Cellules de mémoires très rapides situés dans le microprocesseur •Envoi d’adresse à la mémoire centrale
•Envoi de commande à la mémoire centrale
•Servant au stockage de l’information nécessaire momentanément →Il s’agit de l’opération Fetch

•Deux types de registres : : :


•Instruction enregistrée et transférée sous forme binaire à l’adresse choisie
•Registres spécifiques •Décodage et détermination de l’opération demandée
•Registres communs à la disposition du programmeur → 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


35 36
Bus Bus de données
• Transferts de données faits par des fils conducteurs appelés BUS • Acheminement des données échangées par les divers boitiers du
système
•Liaison entre les composants du PC
•Transport des données envoyées
•Utilisation des lignes exploités en commun afin de ne pas relier toutes •D’une entrée vers le microprocesseur
les unités entre elle. •Du microprocesseur vers la mémoire

•Trois types de bus : •Bus bidirectionnel


•Bus de données
•Bus d’adresse •Nombre de lignes déterminant la tailler des information transitant
•Bus de commande

37 38

Bus d’adresses Bus de commande


• Transport des signaux de synchronisation entre le microprocesseur et
•Transfert des adresses vers les dispositifs les dispositifs branchés
branchés sur le bus de données
•Signaux transitant généralement sur le bus de commande et les signaux
de :
•Lecture
•Taille déterminant la capacité d’adressage du •Écriture
microprocesseur •Interruption
•Remise à zéro

39 40
Notion de bus local Réalisation
•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 42

Bus ISA Bus ISA


•Industry Standard Architecture •1993 : Intel + Microsoft → PNP ISA détection et
configuration automatique des périphériques
•Introduit pas IBM (PC XT) : 8 bits (4.77 MHz);
Débit max : 5.5 Mo/s; DMA; Adresse 16 Mo •En voie de disparition

•Devenu EISA en 1984 avec le PC AT : 16 bits •Plus que que quelques machines avec 1 ou 2
(8.33 MHz): Débit max : 8 Mo/s slots ISA à coté des PCI ou AGP

•Bus propriétaire → jusqu’au début des 80 seul ➔ A éviter


IBM développait des périphériques et des
interfaces
43 44
Bus MCA Bus MCA
•Micro Channel Architecture •Autorise le mastering (DMA) très efficace

•Introduit par IBM en 1987 en concurrence à ISA •Très peu répandu pour 2 raisons

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


Mhz; Débit de 20 Mo/s
•Très forte concurrence de NEC (VLB) et Intel
(PCI)

45 46

VESA/VLB VESA/VLB
•VESA Local Bus •Composé de ISA 16 bits + connecteur
supplémentaire 16 bits
•Mis au point en 92 par Video Electronics ➔32 bits
Standard Association sous l’égide de NEC
•Utilisé sur 486 cadencés à 40 et 50 Mhz et Sur
•Dédié aux systèmes graphiques les premiers Pentium

•Rapidement remplacé par le bus PCI

47 48
PCI PCI
•Peripheral Component Interconect •3 à 5 slots blancs (normalisés sur carte mère)

•PCI 1.0 : mis au point par Intel en 06/92 •Plug & Play; Periph connecté reconnus

•PCI 2.0: standard connecteur / slot 04/93: bus •Peut gérer jusqu’à 6 emplacements
intermédiaire entre FSB bus E/S
•Possibilité de chainage
•32 bits cadencé à 33 MHz, débit 133 Mo/s

49 50

PCI Evolution de 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 52
Evolution de PCI 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
53 54

AGP 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 56
PCI Express PCI Express
•Sorti en juillet 2002, PCI express est un bus série •Autorisation du branchement à chaud

•Version 1x à 32x, débits : 256 Mo à 8Go/s •Pas assez rapide pour bus mémoire
(4/AGP!)
•N’offrant pas de flexibilité de InfiniBand
•Coût similaire ➔ Remplaçant d’AGP, PCI, …

•Faible consommation électrique

57 58

PCI Express 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
59 60
Bus PCMCIA 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

61 62

Bus SCSI Fonctionnement SCSI


•Réservé aujourd’hui aux serveurs •Adressage :
•N° de carte SCSI
•Simultanéité : •ID: N° de contrôleur périphéiruqes
•LUN : Logical Unit Number (0..7)
•Déplacement de bras sur une chaine de diques
(IDE pas possible) •Type de bus SCSI :
•Asymétrique (noté SE pour Single End): le +
•Optimisation du déplacement de bras → connu:
réodonnancement des requêtes • Parallèle 8 bits (narrow)
•Parallèle 16 bits (wide)
•Différentiel
63 64
Les standards SCSI 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
65 66

Modes de fonctionnement Bus USB


•Mode PIO (Programmed Input/Output): •Bus exclusivement externe
•Échanges gérés entièrement par le processeur
•Liaison en étoile (hub) ou guirlande
•Mode DMA (Direct Memory Acess) :
intervention du CPU pour initialiser l’échange •127 périphériques simultanés
•Débit réparti entre tous les périphériques
•Mode Ultra DMA :
•ATA asynchrone, dépend de la fréq du bus •Fourniture d’alimentation électrique (5V, 100ma)
•Si fréq. Bus + → problème
•Envoi sur 2 fronts + contrôle CRC •Branchement et débranchement à chaud
•A partir de Ultra DMA 4, fils de nappes •Lecture d’infos périphériques
doublés par 40 fils de masses intercalés •Détermination pilote approprié
67
•Détection débranchement → pilote effacé 68
USB 1.1 USB 2.0
•2 modes : •Introduit en 2001

•Lent (1.5 Mbps) : clavier, souris … cable < 3m •Début jusqu’à 480 Mbps

•Rapide (12 Mbps): imprimantes, scanners, disques •Spécification « On the Go » : protocole permettant à
durs, graves … cable < 5 m deux appareil de négocier celui qui sera l’hôte

•Chaque bus piloté par un seul hôte •Réservé aux liaisons P2P:
•Ordinateur
•Téléphone mobile …

69 70

Le bus Firewire Le bus Firewire 2


•Créé en 95 par Apple (norme IEEE 1394) •Créé en 2001 par Apple (Firewire Gigawire), régi par
•Appelé i.Link par Sony norme 1394b
•Appelé Lynx par Texas Instruments •Débit de 800 Mbps et bientôt 1.6 et 3.2 Gbps
•Jusqu’à 64 périphériques en série, Hot PnP •Développement en 2 phases
•Câble longueur max :4.5 m •Firewire-Audio : bande passante et qualité élevées
•Bande passante 100 à 400 Mbps (> 30*USB 1.1) •Serial Bus Protocol 2 (SBP2): stockages de masse de
•Energie : 24V/15W commandes ou de données asynchrones
•Dialogue entre appareils (pas de maître) •Utilisé par Epson et Umax pour les scanners et
imprimantes

71 72
Fonctionnement du Firewire USB ou Firewire

73 74

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

75 76
Chemin de données (1) Chemin de données (2)
Le chemin de données représente la structure Chemin de données d'une machine de type
interne de l'unité de traitement « Von Neumann »
Comprend les registres, l'UAL, et un ensemble de A+ B

bus internes dédiés A Registres généraux


B
L'UAL peut posséder ses propres registres destinés
à mémoriser les données d'entrées afin de A B
Registres
d'entrée de l'UAL
stabiliser leurs signaux pendant que l'UAL calcule
Le chemin des données conditionne fortement UAL

la puissance des machines Registre de sortie


A+ B
Pipe-line, superscalarité, … de l'UAL
77 78

Exécution d'une instruction (1) Architecture des ordinateurs


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

5 Langages d'application
Les objets considérés à ce niveau sont les
Traduction (compilateur) portes logiques, chacune construite à partir de
4 Langage d'assemblage quelques transistors
Traduction (assembleur)
Chaque porte prend en entrée des signaux
3 Système d'exploitation
numériques (0 ou 1) et calcule en sortie une
Interprétation partielle (SE)
Jeu d'instructions
fonction logique simple (ET, OU, NON)
2
Interprétation ou exécution De petits assemblages de portes peuvent
1 Microarchitecture servir à réaliser des fonctions logiques telles
Matériel que mémoire, additionneur, ainsi que la logique de
0 Logique numérique
81 contrôle de l'ordinateur 82

Couche microarchitecture Couche jeu d'instruction


On dispose à ce niveau de plusieurs registres La couche de l'architecture du jeu
mémoire et d'un circuit appelé UAL (Unité d'instructions (Instruction Set Architecture,
Arithmétique et Logique, ALU) capable de ISA) est définie par le jeu des instructions
réaliser des opérations arithmétiques disponibles sur la machine
élémentaires Ces instructions peuvent être exécutées par
Les registres sont reliés à l'UAL par un chemin microprogramme ou bien directement
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 84
Couche système d'exploitation Couche langage d'assemblage
Cette couche permet de bénéficier des Offre une forme symbolique aux langages
services offerts par le système d'exploitation des couches inférieures
Organisation mémoire, exécution concurrente Permet à des humains d'interagir avec les
La plupart des instructions disponibles à ce couches inférieures
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 86

Mémoire centrale : Objectifs Mémoire centrale : types


• Comprendre le fonctionnement de la mémoire -dynamique (DRAM) VS statique (SRAM);
centrale d’un ordinateur -vive (RAM) VS morte (ROM);
-fonctionnement des trois types de mémoire
• Différentes stratégies utilisées pour améliorer sa cache (antémémoire) :
performance. -correspondance directe
-correspondance associative
-correspondance associative par ensemble de
blocs;
-évaluation quantitative de l’organisation des
mémoires.
87 88
Hiérarchie des mémoires Hiérarchie des mémoires

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


ordinateur ordonnés en fonction des critères
suivants : registres
1 ns 100 o
du CPU
10 ns mémoire cache 1 Mo
•Temps d’accès 100 ns mémoire centrale 100 Mo
•Capacité mémoire d’appui 1 Go
•Coût par bit >10 ms mémoire de masse >10 Go

89 90

Types d’accès Types d’accès


°Accès séquentiel (e.g. bande magnétique) : le
Les différents éléments de la mémoire d’un plus lent de tous
ordinateur ordonnés en fonction des critères
suivants : °Accès direct ou aléatoire (e.g. mémoire centrale,
registres) : chaque information a une adresse.
•Temps d’accès
•Capacité °Accès semi-séquentiel (e.g. disques)
•Coût par bit
°Accès par le contenu ou associatif (e.g. mémoire
cache)
91 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 à semiconducteurs


° mémoire à accès direct (RAM)
Mémoire à m bits par adresse

°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
Capacité totale : n x n x m bits

95 96
Mémoire à semiconducteurs Mémoire à semiconducteurs
Mémoire statique MOS Mémoire dynamique MOS
Mémoire statique nécessitant 6 • Mémoire centrale basée sur la
transistors par bit. mémoire dynamique ou DRAM
Très couteuse en pratique mais
rapide • Elément de mémoire → capacité →
→Puces de capacité modeste moins coûteux

→Utilisation de mémoire statique • Information volatile à rafraichir


pour la mémoire cache périodiquement

97 98

Mémoire à semiconducteurs Mémoire à semiconducteurs


Mémoire mortes
• ROM (Read-Only Memory) •Mémoire statique de 128 ko
• PROM ( Programmable Read-Only Memory)
• EPROM (Electically Programmable Read-Only Memory)
•Nombre total de bits : 128K x 8 = 1 Mbit
• EAROM (Electrically Alterable Read-Only Memory)
• EEPROM (Electrically Erasable Programmable Read-Only •Nombre total d’adresses = 217= 128K
Memory)

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


Bios sur le PC et Toolbox du Mac
99 100
Mémoire à semiconducteurs Mémoire à semiconducteurs
•Mémoire dynamique de 128 Mo organisée •Mémoire dynamique → Adresse scindée en deux motiés
en 256M x 4 •Adresse de rangée
•Nombre total de bits = 256 Mbit x 4 •Adresse de colonne
= 1024 Mbit •Application de l’adresse de rangée
•Nombre total d’octets = 1024 Mbit / 8 •Activation de la ligne RAS (Row Adress Select)
= 128 Mo •Application de l’adresse de colonne
•Nombre total d’adresses = 228= 256 M •Activation de la ligne CAS (Column Adress Select)
•Réduction de moitié de nombre de broches de la puce
→Utilisation de la puce en paires
→Mémoire adressable en octets
101 102

Mémoire à semiconducteurs Mémoire à semiconducteurs


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

103 104
Mémoire à semiconducteurs Mémoire à semiconducteurs
Mémoire dynamique chronogramme Mémoire dynamique chronogramme
• SIMM (Single Inline Memory Module) • 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,
105 Alimentation, Masse …) 106

Mémoire à semi conducteurs Structure physique de la mémoire


Mémoire dynamique chronogramme centrale : Mode page rapide
•Structure physique de la mémoire •Dans ce mode, on réduit le temps d’accès en maintenant
centrale RAS bas, en altérant seulement les adresses de colonne et
en activant CAS chaque fois.
DIMM de 16 Mo •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
Dans cet exemple, les puces sont successive dans la même rangée.
activées au moins deux à en même •Ceci est une amélioration importante par rapport au mode
temps, car chacune ne fournit que normal qui nous donnerait 6-6-6-6.
4 bits d’information à la fois.

107 108
Structure physique de la mémoire Structure physique de la mémoire
centrale : Mode page rapide 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.

109 110

Structure physique de la mémoire Structure physique de la mémoire


centrale : Mémoire EDO 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.

111
•La tendance actuelle : DRAM synchrones. 112
Structure physique de la mémoire Structure physique de la mémoire
centrale : Mode BEDO 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 114

Mémoire SDRAM Mémoire SDRAM

•Vitesses de bus dirigées vers 100 MHz → les concepteurs •Avec une interface synchrone, la DRAM verrouille
de DRAM cherchant un moyen de contourner les latences l'information provenant du processeur, sous le contrôle
significatives présentes. de l'horloge système.
•L'implantation d'une interface synchrone premettant une •Ces verrous enregistrent les adresses, les données et les
telle réduction et procure également d'autres avantages. signaux de contrôle, ce qui permet au processeur de
•Dans une interface asynchrone, le processeur doit attendre vaquer aussitôt à d'autres tâches.
sans rien faire que la DRAM ait effectué ses opérations •Après un certain nombre de cycles d'horloge, les
internes, ce qui prend de l'ordre de 60 ns. données deviennent disponibles et le processeur peut les
lire sur les lignes de sortie.

115 116
Mémoire cache Mémoire cache
•La mémoire centrale lente par rapport à la vitesse d’horloge
des processeurs actuels → utilisation d’une mémoire cache •Lors d’un accès mémoire, le système de gestion de
ou antémémoire de capacité plus faible faite de mémoire mémoire cache doit déterminer si l’information désirée se
statique entre le processeur et la mémoire centrale. 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.
•Placer les données les plus récemment utilisées. Elle
contient donc une petite partie de la mémoire centrale. •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.

117 118

Mémoire cache Mémoire cache


•La mémoire cache est basée sur le principe de localité: Un cache est donc inutile et même nuisible pour un
1. Localité temporelle: si un objet a été référencé, il sera programme qui n’aurait aucune boucle, ou qui
référencé de nouveau bientôt (exemple : boucle). n’utiliserait jamais de données contigües.
2. Localité spatiale: si un objet a été référencé, des objets
proches seront également référencés (exemple : tableau). Les processeurs modernes ont deux caches internes (L1):
° un pour les instructions,
•La mémoire cache est une mémoire associative, dans le sens
° un pour les données,
qu’on doit déterminer si le contenu d’une adresse s’y trouve
avant de pouvoir le lire.
On utilise aussi habituellement un cache externe d ’une
capacité beaucoup plus grande (L2).
•Il faut s’assurer que l ’information recherchée s’y trouve le plus Pentium : cache interne :instructions : 16 Ko
souvent possible pour réduire les accès à la mémoire centrale. données: 16 Ko
119
cache externe : 512 Ko 120
Mémoire cache Mémoire cache : cache associatif
•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 122

Mémoire cache: cache associatif Mémoire cache: cache associatif


1. Quand une donnée est placée dans le cache, le numéro de 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 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. champ étiquette de la rangée où la donnée est placée.

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

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

Mémoire cache: cache à accès direct 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.

127 128
Mémoire cache: cache associatif par Mémoire cache: politique d’écriture
ensemble de blocs 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.
129 130

Mémoire cache: performance Mémoire cache: performance

•Le taux de succès est le rapport entre le nombre d’accès Succès du cache : 3 ns
mémoire pour lesquels le bloc est présent dans le cache et le Échec du cache
nombre total d’accès. Le taux d’échec est : •Accès cache conduisant à l’échec : 3 ns
Taux d’échec = 1 - taux de succès. •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.
•Le temps associé au succès est le temps d’accès à un bloc du •Temps total : 132 + 3 = 135 ns.
cache, et comprend le temps nécessaire pour déterminer si le Soit P la probabilité d’un succès. Le temps d’accès moyen sera
bloc est présent ou non. Le temps de traitement de l’échec est le T = P x 3.3 + (1 - P) x 135
temps de remplacement d’un bloc du cache par le bloc Le temps d’un accès mémoire normal étant 33 ns, on veut que P
correspondant de la mémoire principale. 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.

131 132
Mémoires auxiliaires Mémoires auxiliaires

Digtal Redundant
Audio Array of
Tape Independant
Disc

Digtal
Linear
Tape
133 134

Les disques durs Les disques durs

•Constitué de plusieurs plateaux , empilés et en rotation •La surface active découpée en pistes.
rapide autour du même axe. •Chaque piste elle-même constituée de secteurs.
• Chaque face d’un plateau est lue ou écrite par une tête de •Chaque secteur est repéré par un numéro de face, un
lecture/écriture. numéro de piste et un numéro de secteur.
•Déplacement des têtes en même temps, radialement. •Le système complet est constitué d’un ensemble de disques
•Chaque face est formée par des pistes et en secteurs. empilés.
•L’organisation des informations sur un disque dur est assez •La plupart des systèmes introduisent la notion de cylindre :
semblable à l’organisation des informations sur une un cylindre est formé par l’ensemble des pistes de même
disquette. position sur tous les plateaux.

135 136
Les disques durs 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.

137 138

Les disques durs : déplacement des Les disques durs : déplacement des
têtes têtes
Cylindre sur une mauvaise piste ➔ déplacement des Attente que le début du secteur visé arrive sous la tête
têtes de lecture :

•Définition du temps de positionnement minimum (passage •Disque tournant d’un demi-tour.


d’un cylindre au cylindre voisin)
•Temps est appelé demi délai rotationnel.
•Définition du temps de positionnement moyen (passage à
un cylindre quelconque) → parcours moyen de la moitié du
rayon.

139 140
Les disques durs : déplacement des Les disques durs : Calcul de capacité
têtes de débit
•Transfert des données: temps nécessaire pour faire défiler •Capacité DD = nombre total de secteurs * nombre d’octets
le secteur entier par secteur
sous la tête de lecture.
•Nombre total de secteurs = Nombre total de secteurs par
Le débit d’information maximal déterminé par: face * nombre de face
• la vitesse de rotation du disque
• la densité d’enregistrement de données •Nombre totale de secteurs par face = Nombre de secteurs
• limitée par le débit du bus d’entrées/sorties reliant le par piste * nombre de pistes par face
disque à l’ordinateur.
•Débit = vitesse de rotation par seconde * Nombre de
141 secteurs par piste * nombre d’octets par secteur 142

Les disques durs : Calcul du temps Les disques durs caractéristiques


d’accès moyen
C’est le temps moyen entre la demande de lecture d’un •Capacité du disque dur
secteur et la mise à disposition du résultat sur l’interface •Temps d’accès moyen (entre 1 et 5ms)
•Taux de transfert maximum ou débit (en Mo/s).
Temps d’accès (moyen) = Temps de déplacement moyen •Le débit dépend du type du contrôleur de disque dur :
(Tr)+ Temps (moyen) de latence (Td)+ Temps de lecture •IDE jusqu’à 100 Mo/s
d’un secteur (Tt) •SATA à partir de 150 Mo/s.
Td=Têmps de latence moyen =demi-durée d’un tour = •La vitesse de rotation du disque dur est 5400 tours/minute,
0.5*60/vitesse de rotation du disque 7200 t/min ou 10000 tours/min
Tt = Durée d’un tour / (nb. Secteurs par piste)

143 144
Les disques durs : Optimisation Les disques durs SATA
d’accès (NCQ)
•Native Command Queuing •C’est un grand assemblage de mémoires FLASH dans un
•Amélioration des performances par réorganisation de boitier (même format que le disque dur).
l’ordre des requêtes envoyées •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

145 146

Vous aimerez peut-être aussi