Vous êtes sur la page 1sur 55

Melvin Campos Casares Synthèse initPC (Janvier 2017)

initPC (théorie)

Table des matières


Chapitre 1 : Introduction ..................................................................................................................... 3
1.1. Historique ................................................................................................................................. 3
1.2. Structure d’un ordinateur ........................................................................................................ 5
Chapitre 2 : L’unité centrale de traitement......................................................................................... 6
2.1. Structure d’un ordinateur ........................................................................................................ 6
2.2. UAL : L’unité arithmétique et logique ...................................................................................... 8
2.3. Les bus ...................................................................................................................................... 8
Chapitre 3 : Le microprocesseur ......................................................................................................... 9
3.1. Introduction historique ............................................................................................................ 9
3.2. Notion d’horloge ...................................................................................................................... 9
3.3. Chipset .................................................................................................................................... 10
3.4. Socket ..................................................................................................................................... 10
3.5. La gamme Intel ....................................................................................................................... 10
3.6. Performance des processeurs « loi de Moore »..................................................................... 11
Chapitre 4 : La mémoire et sa gestion............................................................................................... 12
4.1. Introduction ............................................................................................................................ 12
4.2. ROM vs RAM........................................................................................................................... 12
4.3. ROM : Read Only Memory...................................................................................................... 13
4.4. Mémoires vives – RAM : Random Access Memory ................................................................ 14
4.5. Les « utilisations » de la mémoire : temps de réponse & coût VS taille ................................ 17
4.6. Organisation et brochage des mémoires vives ...................................................................... 17
4.7. La mémoire à tores................................................................................................................. 17
4.8. Mémoire flash ........................................................................................................................ 18
4.9. Mémoire USB et disque SSD................................................................................................... 18
4.10. Adresse & Espace d’adressage ............................................................................................. 18
4.11. Gestion de l’espace mémoire ............................................................................................... 21

Chapitre 4bis à Chapitre 7, voir suite table des matières

Page 1 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 4bis : La mémoire et sa gestion, la mémoire cache ........................................................... 25


4bis.1. La cache ou antémémoire ................................................................................................. 25
4bis.2. MMU : Memory Management Units ................................................................................. 25
4bis.3. « Implantation » du cache ................................................................................................. 25
4bis.4. Modèles de cache .............................................................................................................. 25
4bis.5. Hit Rate .............................................................................................................................. 26
4bis.6. Aspects de l’utilisation de la mémoire............................................................................... 26
4bis.7. « Localité des références » ................................................................................................ 26
4bis.8. Organisations ..................................................................................................................... 27
4bis.9. « Cache »  « Anticipation ........................................................................................... 28
4bis.10. Correspondante directe ................................................................................................... 29
4bis.11. Associatif .......................................................................................................................... 29
4bis.12. Associatif par ensemble ou partiellement associatif ....................................................... 30
Chapitre 5 : Les supports ................................................................................................................... 31
5.1. Supports magnétiques ........................................................................................................... 31
5.2. Supports numériques ............................................................................................................. 41
5.3. Les supports autres ................................................................................................................ 43
Chapitre 6 : Communication avec les périphériques ........................................................................ 44
6.1. Bus .......................................................................................................................................... 44
6.2. Transfert CPU  E/S .............................................................................................................. 44
6.3. Interruption ............................................................................................................................ 44
6.4. Transfert DMA ........................................................................................................................ 47
Chapitre 7 : Les médias numériques ................................................................................................. 49
7.1. Image ...................................................................................................................................... 49
7.2. La couleur ............................................................................................................................... 51
7.3. Format d’images ..................................................................................................................... 52
7.4. Son .......................................................................................................................................... 53
7.5. Vidéo....................................................................................................................................... 54

Page 2 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 1 : Introduction
1.1. Historique
1.1.1. Les origines de l’ordinateur
Fondements théorie du calcul par Alan Turing & Claude Shannon avant la 2ème guerre mondiale.
Les fondements de la théorie du calcul a permis d’intégrer notre façon de calculer à l’ordinateur.
Cette théorie est toujours utilisée aujourd’hui.

Entre 1940 et 1945, Alan Turing et son équipe ont développé les premiers calculateurs.
Ils étaient faits à base de relais électriques et/ou de tubes électroniques, éventuellement
programmables (par le biais d’utilisation de fiches ou de soudures) et ils prouvaient la faisabilité du
concept d’ordinateur qui calcule vite.

En 1946, le 1er ordinateur voit le jour, le ENIAC (Electronic Numerical Integrator And Computer).
Développé par John W. Mauchly & Prosper Eckert.
De nombreux visiteurs sont retourné dans leur labo pour développer leur propre machine et le plus
connu fut le mathématicien John von Neumann qui rédigea un rapport avec ses vues sur
l’organisation interne d’un ordinateur, mis l’accent sur le concept de programme enregistré afin de le
rendre transportable et décrivit l’architecture qui est la base des ordinateurs depuis 60 ans.

L’architecture, vu par John von Neumann est le suivant :

Mémoire

Unité
Unité de arithmétique
contrôle et logique
Accumulateur

Entrée Sortie
1.1.2. Typologie historique
Jusque dans les années 80, on caractérisa l’ordinateur en fonction de sa taille.

- Les Mainframes étaient les descendants des « gros ordinateurs » des années 60 car ils
étaient imposants (pièce entière et de grande taille), ils avaient un support important (il
fallait plusieurs techniciens pour pouvoir l’utiliser) et ils étaient couteux et puissants pour
l’époque.
- A la fin des années 60, les Minis sont apparus. Ils étaient plus petits, moins coûteux, plus
simple et « bon marché » ; étaient conçu pour des labos et des petits services et les simples
calculs mathématiques étaient peu complexes à faire.

Dans les années 70, le coût des composants baisse et implique l’arrivée de petites cartes à base de
microprocesseurs. Malheureusement, ils étaient peu puissants, ne proposait pas d’affichage élaboré
ni de logiciels. Les premiers tableurs et traitements de texte firent leur apparition pour l’usage
individuel.

Dans les années 80, il y a une forte montée en puissance des micro-ordinateurs.
En 1981, le premier Personal Computer arrive sur le marché : IBM-PC. Il était fait d’une accumulation
de composants standards et de logiciels sous-traités (principalement auprès de Microsoft) dans le
but de minimiser le temps nécessaire pour sa mise au point.

Page 3 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
Aujourd’hui, on sait découper l’univers de l’informatique en 5 parties :

• Les super calculateurs


o Prouesses mathématiques mais surcoût important
• Les gros systèmes (toujours présents)
o Applications de gestion de taille importante
o L’évolution de ça : le Cloud
• Les serveurs
o Micro-ordinateur gonflé (+ de mémoire, disques accélérés, carte réseau + rapides,
processeurs supplémentaires)
o Eléments redondants (alimentation, disque dur, contrôleurs, …)
• Les micro-ordinateurs
o Usage individuel
o Station de travail
• Les nouveaux périphériques intelligents
o PABX, GSM, Appareils photos, Smartphones, …

1.1.3. Notion de programme


Au début, on programmait les ordinateurs en effectuant des connexions physiques (câbles) entre
les composants et en positionnant manuellement des commutateurs sur les éléments fonctionnels.
Inconvénient : le passage à une autre tâche faisait perdre l’ensemble des connexions installées…

John von Neumann a été le 1er à décrire la notion de programme enregistré.


La suite des opérations n’étaient plus une série de connexions matérielles mais bien comme une
série d’instructions sous forme de codes numériques que l’on pouvait laisser dans la mémoire de
l’ordinateur.
Avantage : on pouvait stocker le « programme » pour le réutiliser sans avoir à tout réécrire.

3 notions firent leur apparition :

• L’assembleur
o 1ers programmes écrits en code machine (dépendant du processeur)
(codes numériques correspondant aux instructions entrés un par un en mémoire par utilisateur)
o Passage au langage assembleur dans lequel des expressions symboliques remplacent les
codes numériques (gain en compréhension)
Exemple : ADD A,B (additionne A à B) au lieu du code numérique 5ef416
• Le compilateur
o Développement de langages évolués (C, Java, Pascal, …) possédant des structures de
données et de contrôle évoluées permettant au développeur de se concentrer sur
l’algorithmique plutôt que sur l’écriture fastidieuse du code assembleur.
o Prend en entrée un fichier texte contenant le « code source » écrit en langage évolué pour
produire un fichier exécutable formé de codes numériques propres à la machine.
• L’interpréteur (ex. : JavaScript)
o L’étape de compilation peut prendre du temps (taille du code source).
o Certains langages (PHP, Python, Perl, Basic, …) proposent une méthode qui consiste à
exécuter les instructions au fur et à mesure via un interpréteur.
o Pour chaque ligne de code, l’interpréteur simule son exécution sur l’ordinateur. Il n’y a plus
de délai de compilation.

Inconvénients de l’assembleur : instructions peu puissantes, bcp d’instructions pour 1 résultat,


instructions spécifiques à un modèle de processeur (si changement de machine  réécriture du
code).

Page 4 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
Le compilateur lit tout un programme et crée un exécutable.
Inconvénient : instructions plus directement compréhensibles par la machine  nécessité d’une
étape de traduction en langage machine (prendra plus de temps et de place).
Avantage : gain en portabilité (programme facilement porté sur autre machine si elle dispose d’un
compilateur prévu pour ce langage).

Les navigateurs contiennent des interpréteurs JavaScript car aucun navigateur internet n’a le droit e
créer un fichier à sa guise.
Inconvénient : le programme tourne plus lentement que s’il était compilé.
Avantage : ces langages conviennent mieux à l’écriture de petits programmes pour lesquels la facilité
de développement prime sur la rapidité d’exécution mais également à la mise au point rapide de
programmes plus complexes avant de les mettre en production dans une version compilée.

1.2. Structure d’un ordinateur


La structure d’un ordinateur comporte 5 éléments importants :

• Une unité centrale de traitement (CPU),


• Des périphériques d’entrée et de sortie,
• Des unités de stockage interne (RAM, ROM, …),
• Des unités de stockage externe (disque dur, CD-ROM, …),
• Un système de bus chargé de véhiculer l’information entre les composantes de la machine.

Le schéma de John von Neumann des années 50 est toujours d’actualité même si TOUT a évolué.

Page 5 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 2 : L’unité centrale de traitement


2.1. Structure d’un ordinateur
Représentation des blocs fonctionnels

2.1.1. Unité centrale


L’unité centrale de traitement (Central Processing Unit – CPU) est composée de 2 sous-ensembles :

• L’unité de commande
o Rôle : gérer le bon déroulement du/des programme(s) en cours.
• L’unité de calcul
o Réalise les opérations arithmétiques et les traitements logiques de comparaison sur
les données à traiter.

2.1.2. Unité de calcul


L’unité arithmétique et logique ou U.A.L. (Arithmetic & Logic Unit – ALU) réalise les opérations
arithmétiques (additions, multiplications, …) et les traitements logiques (et, ou, comparaison, …).

2.1.3. UC : L’unité de commande


Il permet de gérer le déroulement des programmes en cours.
Par exemple :

• Prendre en compte les instructions les unes après les autres


• En fonction de l’instruction :
Répartir les ordres (micro-commandes) aux organes de la machine qui participent à la réalisation de l’instruction
Exemples : lire une info sur disque, calculer, envoyer texte à l’écran, …
• Aller chercher l’instruction suivante
Utiliser registre « compteur d’instructions » (compteur ordinal) qui contient l’adresse de la prochaine instruction.
• Une instruction (dans la mémoire) est différente de l’adresse.

Compteur ordinal : c’est une case mémoire (= registre) où l’on met une donnée ou une instruction.
Ici, une donnée (adresse de la prochaine instruction).
Un pointeur c’est une case mémoire qui contient une adresse.

Page 6 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
2.1.4. RI : Registre d’instruction
Le registre d’instruction
contient l’instruction à
exécuter dont l’adresse (la
position) en mémoire
centrale se trouve dans le
« compteur ordinal ».

Une instruction est composée de 2 parties (champs) : le code opération définit l’action que le
processeur doit accomplir et le code opérande définit les paramètres de l’action (donnée ou adresse
mémoire).

2.1.5. Décodeur
Le décodeur interprète l’instruction contenue dans le registre
d’instruction.
Par exemple : Quelle est l’opération à effectuer parmi le jeu d’instruction (addition,
branchement…) ? Comment aller chercher les opérandes requis pour cette opération (ex. :
les nombres à additionner) ?

2.1.6. Séquenceur
• Le séquenceur génère une séquence de microcommandes pour piloter les autres entités du
microprocesseur impliquées par l’instruction et synchroniser ce dernier avec la mémoire.
• Ces ordres respectent une chronologie bien précise selon le type d’instruction à exécuter.
• La chronologie est rythmée par une horloge interne au système (fréquence de l’horloge influence
la rapidité de travail de l’UC de commande mais pas le seul facteur).
• Il doit connaître l’état d’autres composantes du système  rôle du registre d’état.

2.1.7. RE : Registre d’état


Pour travailler correctement, le séquenceur doit connaître
l’état d’autres composantes du système et disposer d’infos sur
les opérations déjà effectuées (ex. : retenues générées par des
additions préalables, résultat d’une condition, dépassement…).
Ces informations sont données par le Registre d’état (PSW
Program Status Word) qui les mémorise grâce à des indicateurs
(flags) qui ne sont rien d’autre que des registres de bascules.
Il mémorise les états du programme.

Un registre d’état permet d’enregistrer l’état (0 ou 1) de différentes choses.

2.1.8. CO : Compteur ordinal


Quand le séquenceur a généré toutes les microcommandes nécessaires à l’instruction en cours, il
faut charger une nouvelle instruction dans le registre d’instruction. Il dispose pour cela d’un registre
qui contient l’adresse de la prochaine instruction (pointeur d’instruction). C’est le « compteur
d’instruction » ou « compteur ordinal ». Il est aussi appelé registre PC (Program Counter).

Page 7 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
Il est chargé par le système lors du lancement du
programme avec l’adresse mémoire de la 1ère
instruction à exécuter.
Il est « modifié » lors de « sauts » avec l’adresse de
destination du « saut » (boucles, alternatives, ruptures…)
sinon « incrémenté » pour passer à l’adresse de
l’instruction suivante.

Le « compteur » ordinal contient l’ADRESSE de la prochaine instruction.


Soit on y met une adresse (1ère instruction d’un programme ou adresse du « saut »), soit il est
« incrémenté » pour qu’il contienne l’adresse de l’instruction suivante.

2.2. UAL : L’unité arithmétique et logique


Elle est composée de circuits logiques : additionneurs, comparateurs
logiques, …
L’UAL reçoit ses opérandes (données qu’elle manipule) du bus des données. Celles-
ci peuvent provenir de la mémoire ou de registres (dans le microprocesseur).
A la fin d’une opération, l’UAL peut aller modifier certains bits du registre
d’état.

2.2.1. UAL & RE


A la fin d’une opération, l’UAL peut aller modifier certains bits du registre d’état.
Exemple : en cas de débordement d’une addition (résultat trop grand pour entrer dans un registre), l’UAL va mettre le bit
de débordement du flag overflow à 1.

1ères générations de processeur :

2.2.2. UC + UAL = C.P.U.


L’Unité de Commande et l’U.A.L. constituent l’Unité Centrale ou C.P.U.
Le CPU permet ainsi de :

• Acquérir et décoder les instructions d’un programme


• Faire exécuter l’UAL les opérations arithmétiques et logiques commandées par l’instruction
• Gérer les adresses du programme (compteur ordinal)
• Mémoriser l’état interne de la machine (registre d’état)
• Fournir les signaux de commande et contrôle aux divers éléments du système.

2.3. Les bus


Les composants de l’UC communiquent entre eux et avec les autres
composants extérieurs par des connexions (fils, circuits imprimés,
…) que l’on appelle les BUS. Il existe 3 bus fondamentaux du
processeur : de données, d’adresses et de commandes.

2.3.1. Bus de données


Le bus de données ou Data Bus sert au transfert de données (instructions ou données à traiter) entre
les différents composants du système.
Suivant le nombre de fils (broches) que compte le bus, on pourra transporter des mots d’un certain
nombre de bits. Ce nombre de bits pouvant circuler en même temps détermine la largeur du bus.
Comme les infos peuvent circuler dans les 2 sens (UC ↔ mémoire), le bus est dit bidirectionnel.

Page 8 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
2.3.2. Bus d’adresses
Le bus d’adresses ou Address Bus est destiné à véhiculer des adresses (d’instruction à charger dans le
registre d’instruction ou d’une donnée à charger dans un registre particulier ou à envoyer sur une entrée de l’UAL).
La largeur du bus d’adresse détermine la taille de la mémoire qui sera directement adressable
(adressage physique) par le microprocesseur.
Exemple : Un bus d’adresse d’une largeur de 16 bits permet 216 combinaisons, soit autant de cellules mémoire où stocker
les instructions/données (16 𝑏𝑖𝑡𝑠 → 64𝐾). Un bus d’adresse de 32 bits permet d’adresses 4Go de mémoire physique.
Dans ce type de bus, les adresses ne circulent que dans le sens UC → mémoire, il est unidirectionnel.

2.3.3. Bus de commandes


Le bus de commandes ou Control Bus permet aux microcommandes générées par le séquenceur de
circuler vers les différents composants du système. Il est contrôlé par le processeur et indique ce
qu’il veut faire : lecture, écriture, gestion d’une interruption, …

Chapitre 3 : Le microprocesseur
3.1. Introduction historique
D’un point de vue technologique, jusqu’au tout début des années 70, les différents composants
électroniques formant le microprocesseur ne pouvaient pas tenir sur un seul circuit imprimé (C.I.).

En 1971, Intel réussit à placer tous les transistors constituant un processeur sur un seul C.I.
donnant naissance au microprocesseur (µP).
Avantages de la miniaturisation :

• ↑ Vitesse de fonctionnement des processeurs car ↓ distances entre composants,


• ↓ Couts car remplacement de plusieurs circuits par un seul,
• ↑ Fiabilité car réduction des connexions entre composants,
• Créer des ordinateurs plus petits, les micro-ordinateurs,
• Réduire les consommations énergétiques.

Le microprocesseur, µP, regroupe sur une puce de silicium de quelques mm2 les fonctionnalités
(unité de commande, unité de calcul, mémoire, …) qui étaient séparés sur les systèmes de jadis.
Les performances et la densité d’intégration ne cesse de croître (loi de Moore).
On se réfère souvent aux exemples du processeur Intel 8086, « père » des µP Intel car il offre pédagogiquement parlant,
l’avantage d’avoir une structure simple.

Les principales caractéristiques d’un µP sont :

• Le jeu d’instructions qu’il peut exécuter,


• La complexité de son architecture, se mesure par le nombre de transistors dans le µP,
• Le nombre de bits que le µP peut traiter ensemble,
Les 1ers pouvaient traiter 4 bits d’un coup. Actuellement, ils en traitent 64 voire 128.
• La vitesse de l’horloge qui cadence le travail du µP.
Dans la pratique, selon l’architecture du processeur, le nombre de cycles d’horloge pour réaliser une opération
élémentaire peut varier de 1 cycle à plusieurs dizaines par unité d’exécution.

3.2. Notion d’horloge


Le µP doit exécuter les opérations d’un programme le plus rapidement possible.

L’horloge est le dispositif qui cadence le rythme de travail du µP.


Cette horloge se situe sur la carte mère (motherboard).

Elle pilote le bus processeur ou bus système ou FSB (= Front Side Bus) permettant au processeur de
communiquer avec le contrôleur de la mémoire centrale du système (mémoire vive ou RAM). Le
débit du FSB dépend de la vitesse d’horloge exprimée en MHz.

Page 9 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
Pour améliorer les performances des processeurs, la 1ère idée a été d’augmenter sa vitesse de fonctionnement. On est
passé de 4,77 MHz sur les 1ers processeurs (8088) à près de 4 GHz (3,88 pour le Pentium 4).

3.3. Chipset
Chipset = (littérature) Ensemble de puces électroniques.

Composant important de la carte-mère et spécifiquement conçu pour un type de µP.

Il est chargé de gérer les flux de données numériques entre le µP et les divers composants de la
carte-mère (bus, mémoire vive, mémoire cache, disque dur, …).

La communication du chipset avec le µP se fait via le FSB (Front Side Bus).

Le chipset se compose de 2 parties (2 puces) :

• Pont Nord (Northbridge) ou MCH (Memory Controller Hub) qui se


charge de gérer les communications avec les composants rapides (RAM,
mémoire carte graphique, bus AGP, bus PCI Express, …). Il se situe à
proximité immédiate du µP.
• Pont Sud (Southbridge) ou ICH (I/O Controller Hub) qui gère les
communications lentes (tout ce qui n’est pas géré par le Northbridge)
tels que ports parallèle/série, bus PCI, interface PS2, contrôleur
disquette. Il inclut généralement le support des interfaces parallèle ATA,
Serial ATA, d’une interface Ethernet, USB, IEEE 1394 (Firewire).

3.4. Socket
Le Socket (ou socle) est un connecteur spécifique utilisé pour interface le processeur avec la carte-
mère. Il évolue généralement conjointement aux processeurs. La plupart des sockets et des
processeurs actuels sont construits autour d’une architecture Pin Grid Array (= matrice de broches) dans
laquelle les broches en-dessous du processeur sont insérées dans le socket.

3.5. La gamme Intel


Le premier µP conçu par Intel était le 4004 en 1971. Il
possédait un bus de données de 4 bits, fonctionnait à la
fréquence de 108 kHz et était équipé de 2300 transistors.
Sa puissance était égale à celle de l’ENIAC fabriqué en
1946 qui occupait 25 m2.

3.5.1. µP Intel i8086 et Intel i8088


Ils sont les ancêtres d’une grande famille. Entièrement compatible pour les instructions mais différents par la
largeur du bus de données externe (8 bits  8088, 16 bits  8086). Le bus de données interne est de 16 bits pour les 2.

Caractéristiques :

• 29 000 transistors
• Gravure 3µm
• Capacité d’adressage mémoire de max. 1Mo (bus d’adresse 20 bits) par pages de 64k

3.5.2. Intel Core i7 quadricœur (2008)


• Microprocesseur 64 bits (initialement quad-core)
• 774 millions de transistors
• Fréquence processeur de 1,6 à 3,33 GHz
• Gravure de 32 à 45 nm
• L1 4x64 Ko, L2 4x256 Ko, L3 8Mo
• Gestion directe de la mémoire DDR3

Page 10 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
• Retour de l’Hyperthreading (simulation du biprocessing dans un processeur)

3.5.3. Intel Core i5


En Octobre 2009, Intel sort l’i5, milieu de gamme (i3 entrée de gamme en 2010) :

• Microprocesseur 64 bits (4 cœurs)


• 774 millions de transistors
• Fréquence processeur 2,66 GHz
• Gravure 45 nm
• L1 4x64 Ko, L2 4x256 Ko, L3 8Mo
• Technologie Hyperthreading inactive

3.6. Performance des processeurs « loi de Moore »


La « loi de Moore » a joué un rôle important dans l’histoire de l’informatique.
Formulée pour la 1ère fois par Gordon E. Moore dans un article de 1965, elle postule le doublement
annuel des performances des circuits intégrés (dont les mémoires et processeurs). Cette annonce a
incité les ingénieurs à concevoir des systèmes très en avance sur les possibilités du jour de leur
conception. Elle a ainsi contribué à accélérer le rythme de l’innovation.

Moore a revu son estimation en 1975 : le doublement aurait lieu tous les 18 mois et non tous les
ans, ce qui correspond tout de même à une croissance très rapide. Cette « loi », fondée sur un
constat empirique, a été vérifiée par la suite. Moore estime qu’elle se poursuivra jusqu’en 2017, date
à laquelle elle devrait rencontrer des contraintes physiques.

Page 11 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 4 : La mémoire et sa gestion


4.1. Introduction
4.1.1. Structure d’un ordinateur
Représentation des blocs fonctionnels

• Zone de travail de l’ordinateur,


• Zone de stockage temporaire,
• Mémoire principale : RAM ou mémoire vive

Mémoire non volatile (ROM)


Mémoire qui ne reste pas
Mémoire non rémanente (RAM)
Mémoire Flash (USB, SSD, Memory Stick, PRAM)

4.1.2. Généralités
Dispositif capable de mémoriser de l’information.
Caractéristiques :

• Capacité : exprimée en bits (binaire)


• Volatilité : capacité à retenir l’information de manière durable.
• Temps d’accès : délai pour accéder à l’information.
o Un accès rapide se mesurera en ns (nano).
o Un accès plus lent se mesurera en ms (milli) ; essentiellement mémoires auxiliaires.
• Bande passante : remplace parfois le temps d’accès.
o 𝐵𝑃 = 𝒍𝒂𝒓𝒈𝒆𝒖𝒓 𝒃𝒖𝒔 𝒅𝒆 𝒅𝒐𝒏𝒏é𝒆𝒔 ∗ 𝒇𝒓é𝒒𝒖𝒆𝒏𝒄𝒆 𝒅𝒖 𝒃𝒖𝒔 𝒅𝒆 𝒅𝒐𝒏𝒏é𝒆𝒔.
Exemple : bus 16 bits et fréquence bus de 800 MHz. BP de (800 ∗ 16)⁄8 = 1,6 ∗ 10 3 octets.
• (Prix de revient)

Savoir jongler avec les 𝟐𝒙 !


Exemple : 233 = 230+3 = 230 + 23 = ⋯
Giga 8 = 8 GB

4.2. ROM vs RAM


En opposition aux mémoires « vives » RAM qui sont des mémoires à lecture/écriture.
Les mémoires « mortes » ne peuvent qu’être lues. Elles sont plus généralement connues sous le
terme de ROM (Read Only Memory).

 RAM : mémoire de travail, données (= instructions) qui « évoluent ». S’ « efface » si non alimentée.
 ROM : programme et/ou données « figés ». Ne s’efface pas même si non alimentée.

Page 12 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4.3. ROM : Read Only Memory


• ROM : Read Only Memory
▪ Programmable 1 fois « en usine » (masse).
• PROM : Programmable Read Only Memory
▪ Programmable 1 fois « chez soi » (prototypage).
Evolution

• EPROM : Erasable Programmable Read Only Memory


▪ Effaçable (tout) par des UV.
• EEPROM : Electrically Erasable Programmable Read Only Memory
▪ Effaçable (tout) « électriquement ».
• EAPROM : Electrically Alterable Programmable Read Only Memory
▪ Electriquement alterable (modification d’1 morceau choisi)
▪ Écriture du secteur qui nous intéresse actuellement et uniquement.
100.000 écritures sur le même secteur avant que la mémoire ne meure.

4.3.1. ROM version simpliste


Enregistrement à la fabrication par masquage.
En usine, on crée ou non les diodes qui court-circuitent pour obtenir 0 (pas de diode = 1, diode = 0).
C’est un peu plus compliqué qu’une diode en réalité.

4.3.2. mos ROM : Metal oxyd semiconductor ROM


Enregistrement à la fabrication par masquage.

4.3.3. PROM : Programmable ROM


• Diode + « fusible ».
• On « grille » le « fusible » (surchauffe électrique).
• Départ : tous même valeur (ici 0) et on « brûle » pour avoir l’opposé (ici 1).

4.3.4. EPROM : Erasable PROM


• Transistor FAMOS.
• Effacement par UV.
• Tous 1, 0 par programmateur d’EPROM.

4.3.5. Programmateur d’EPROM


Ce programmateur est normalement relié à un PC dans lequel on insère une carte d’interface. Un cordon spécial relie ce
programmateur à la carte. Un logiciel livré avec l’ensemble programmateur-câble-carte permet de transférer des fichiers
contenant les codes (octets) à n’importe quelle adresse valide de l’EPROM. Un programme de comparaison permet de
vérifier les EPROMs programmées.

4.3.6. Effaceur d’EPROM


Le dispositif d’effacement consiste en une lampe spéciale à Ultra-Violets d’une longueur d’onde particulièrement étudiée
pour cette application. Ces U.V. sont particulièrement dangereux pour la vue. Leur effet provoque un aveuglement plus ou
moins total et définitif. Par ailleurs, ces effets néfastes n’apparaissent pas immédiatement.

4.3.7. EEPROM : Electrically EPROM


• ≅ EPROM.
• Effacement par impulsion électrique.
• Variante : mémoire FLASH efface tout en 1x.

4.3.8. EA(P)ROM : Electrically Alterable (P)ROM


• Type de mémoire ROM modifiable électriquement.
• Contrairement aux EEPROM ou tout le contenu peut être complètement effacé en
appliquant une tension sur une des broches, les EAROM permettent de modifier
uniquement certaines plages d’adresses.

Page 13 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
• Elles sont actuellement remplacées par les Flash ROM, l’électronique étant plus facile à
gérer par logiciel informatique.
• 𝐸𝐴𝑅𝑂𝑀 = 𝐸𝐴𝑃𝑅𝑂𝑀. Cela signifie la même chose.

4.4. Mémoires vives – RAM : Random Access Memory


Peuvent être lues ou écrites à volonté et sont connues sous le terme générique de RAM.
Inconvénient de la volatilité (s’ « efface » si non alimentée) mais avantage de la rapidité du temps
d’accès et de la faible consommation en énergie.
Elles servent de mémoire de travail (mémoire centrale ou mémoire cache).
On distingue 2 catégories : SRAM (mémoire vive statique) et DRAM (mémoire vive dynamique).

• SRAM : Static Random Access Memory


▪ Static RAM (temps d’accès ≈ 20𝑛𝑠𝑒𝑐).
▪ Mémoire cache du processeur.
• DRAM : Random Access Memory
▪ Dynamic RAM (temps d’accès ≈ 70𝑛𝑠𝑒𝑐).
Evolution

• VRAM : Virtual Random Access Memory


Evolution

▪ DRAM modifiée ; pour la carte vidéo ; accessible par vidéo ET µP.


• NVRAM : Non-volatile Random Access Memory
▪ RAM avec pile pour garder l’alimentation.
• RDRAM : Rambus Dynamic Random Access Memory
▪ Rambus DRAM.
▪ Module RIMM.
• SDRAM DDR : Static Dynamic Random Access Memory – Double Data Rate
▪ Double Data Rate.
▪ SDRAM DDR est le remplaçant de RDRAM (car eux, quand rempli, fallai remplacer).
• NVRAM : Non-Volatile RAM (mémoire FLASH)

Note : au plus un écran à des Hertz élevé, au moins il scintilla et au moins nos yeux se fatiguent.

4.4.1. DRAM : Dynamic RAM


• Cellule de base = condensateur (effet capacitif du transistor).
• Capacité grille/source du transistor.
• Chargé/déchargé.
• Charge ↓ avec le temps.
 recharger régulièrement (toutes les 15 ns).
• Lecture destructive.
Pour voir si chargé, il faut décharger puis recharger (50-60 ns) – « pre charge delay ».
• Pas de lecture et écriture simultanée sauf VRAM.

4.4.2. SRAM : Static RAM


• 6 transistors (bascule).
• ≅ interrupteur  2 états stables.
• Reste dans sa position tant que la tension ne la fait pas basculer.
•  Pas de rafraîchissement mais 6x plus de place.
 6x moins dans même espace.
Ne pas mettre de 1 sur un 2 car sinon, on crée un « flip-flop » et, par conséquent, une horloge.

• Reset : mettre à 0. • Q : sortie de lecture.


• Set : mettre à 1. • P ou Q/ : sortie inverse.

Page 14 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4.4.3. Types de mémoire vive dynamique


• SDRAM (Synchronous Dynamic RAM)
• RDRAM (Rambus Dynamic RAM)
• DDR SDRAM (Double Data Rate SDRAM)
• DDR2-SDRAM (Double Data Rate two SDRAM)
• DDR3 SDRAM (Double Data Rate three SDRAM)
• DDR4 SDRAM (Double Data Rate four SDRAM)
• XDR DRAM (XDimm Rambus RAM).
• Il existe aussi des mémoires Flash.
o NVRAM effaçables électriquement (EEPROM).

4.4.4. SDRAM : Synchronous Dynamic RAM (1997)


• Particularité : est synchronisée avec la fréquence du processeur, ce qui a pour but d’éliminer
les délais d’attente au processeur.
o Un délai d’attente est le temps requis pour synchroniser échanges avec fréquence propre de la mémoire.
• Elle était utilisée comme mémoire principale et vidéo (à part que pour la vidéo, il en faudra une
spéciale qui permet l’écriture et la lecture en simultané).

4.4.5. Mémoire DDR SDRAM


• Double Data Rate Synchronous Dynamic RAM (2003)
o Utilisée comme mémoire principale et comme mémoire vidéo.
o Synchrone avec l’horloge système.
o Mais double la largeur de bande passante en transférant des données 2x par cycles
au lieu d’1x pour la SDRAM simple (d’où l’appellation double data rate).
o Plus chère.
o On distingue les DDR PC1600, PC2100, PC2700, PC3200, …
▪ Nombre représente quantité théorique maximale de transfert d’infos en Mo/s.

4.4.6. DDR : Débit mémoire


Le débit mémoire d’une mémoire DDR est calculé comme suit :

• Les DDR sont des mémoires 64 bits (8 octets). Une barrette DDR peut transmettre les
données sur les flancs montant et descendant d’horloge ce qui double son taux de transfert
initial soit 8 x 2 = 16 octets à chaque cycle d’horloge.
• Supposons que cette mémoire fonctionne à la fréquence de 133MHz, on aura donc 16 x 133 = 2128 soit un débit
théorique de 2100 Mo/s, c’est la PC2100.

4.4.7. Mémoires DDR2 – DDR3 – DDR4


• La DDR2 (2005) est la 2ème génération de mémoire DDR, plus simple à produire et permettant
des fréquences d’horloge plus élevées.
• La DDR3 (2007) succède à la DDR2 en offrant des améliorations de performances tout en
diminuant la consommation électrique de l’ordre de 40%.
• La DDR4 (2015) offre une consommation réduite de 40% et on se retrouve dans l’ordre d’1V.

4.4.8. DRDRAM : Direct Rambus DRAM


• Inventé par la société américaine Rambus.
• Présente des caractéristiques différentes des autres types de mémoires.
o 8 transferts par cycle d’horloge, peut fonctionner en mode bi-canal de 16 bits.
o Sa fréquence est très élevée : atteint 1 GHz.
o Bande passante théorique de 32 Go/s.
(1 GHz x 8 transferts x 2 octets x 2 canaux)

Page 15 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4.4.9. CMOS RAM
Utilisé pour que la configuration du BIOS ne soit pas perdue.

Toutes les données du BIOS configurées par l’utilisateur sont retenues par ce
type de mémoire et généralement alimentée par une pile visible sur la carte-
mère. La durée de vie de cette pile est d’environ 5 ans.
Lorsque cette pile est déchargée, un message apparaît au démarrage de l’ordinateur, demandant d’entrer la date et
l’heure. Cette donnée n’a donc pas été conservée, ce qui signifie que la pile est déchargée. Lorsqu’un message de ce type
apparaît, il est nécessaire de remplacer la pile. 1 janvier 1970 (Windows) ou 1 décembre 1970 (Macintosh) = Jour 0 !

4.4.10. Mémoire graphique


• Mémoire utilisée sur les cartes graphiques.
o Ne se présente pas sous forme de barrettes à insérer mais en circuits intégrés
directement soudés à la carte graphique.
o N’est pas la même que les types de mémoire décrits avant.
• La mémoire graphique
o Doit obligatoirement permettre la lecture et l’écriture simultanées, ce que la
mémoire DRAM classique ne permet pas.
o Reçoit les informations à stocker du processeur graphique. Celles-ci sont
constamment lues par le RAMDAC (convertisseur numérique-analogique), pour
les afficher à l’écran.
C’est pour cette raison que la mémoire graphique doit être capable de lire et d’écrire simultanément.

4.4.11. Mémoire VRAM : Vidéo RAM


• Conçue pour être utilisée sur les cartes graphiques.
• Plus rapide que la mémoire DRAM classique
• Sa fréquence atteint 800 MHz et son temps d’accès est de 20 à 25 ns.
• Contrairement à la DRAM, elle ne permet la lecture et l’écriture simultanées.

4.4.12. SGRAM : Synchronous Graphic RAM


• Adaptation de la SDRAM à un usage graphique.
• Elle ne permet pas la lecture et l’écriture simultanées.
• En revanche, elle permet la récupération et modification de données
par blocs entiers (mode « rafales »).
• Ressemble à la WRAM (Windows RAM) dans le sens où elle travaille également par bloc. Au lieu d’être bloqué à
une modification précise, elle peut récupérer simultanément le reste du bloc entier.

4.4.13. GDDR : Graphic Double Data Rate Memory


La mémoire GDDR est destinée aux cartes graphiques et se décline actuellement en GDDR3, GDDR4
(à partir de 2005) et GDDR5 (2009). Elle permet d’atteindre des débits de 20 Go/s (sur un bus de 32 bits).

4.4.14. Mémoire cache


• Equipe tous type de périphériques : disques durs, lecteurs CD/DVD, imprimantes, processeurs, …
• Faite de faibles quantités de SRAM (4 Ko à qques Mo)
• Sert de mémoire propre au périphérique.
o Le périphérique concerné pourra stocker des infos dans sa mémoire cache plutôt que de stocker les
données dans la mémoire centrale. Avec ce procédé, on gagne un temps précieux.
• Temps d’accès très réduit : de 5 à 15ns.
o Le temps d’accès à diminué avec le temps et aujourd’hui on est dans l’ordre de 1ns.

SRAM utilisée car bien plus rapide que DRAM classique et surtout pas de rafraichissement ni de
« pre-charge delay » !

Page 16 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4.4.15. Mémoire cache
Divisée en plusieurs niveaux : L1, L2, L3 (, L4). L = Level.

• L1 est directement intégrée dans le circuit du processeur.


Le 1er processeur doté de cette fonctionnalité était le 486 qui possédait 8 Ko de mémoire cache.
• L2 anciennement intégrée sur la carte-mère puis dans le boîtier du processeur, est
actuellement dans le µP. Comme la mémoire cache de niveau 1, elle est constituée de
« petites quantités » de SRAM.
• L3 anciennement intégrée sur la carte-mère puis dans le boîtier du processeur, est
actuellement intégrée aussi dans le µP.

4.5. Les « utilisations » de la mémoire : temps de réponse & coût VS taille

SSD

(Bandes, CD, DVD, …)

4.6. Organisation et brochage des mémoires vives


• Un octet est « distribué » sur
o 8 puces (Non ECC) ou 9 puces (ECC).
ECC : Error Correction Code ou Error Checking & Correction.
o Parfois un 9ème « bit » pour le contrôle ( 9 puces), c’est le « bit de parité ».
• DIP : Dual Inline Package
o Système qui permet de venir lire un fichier avec 2 points de connexion.

ATTENTION à la notion de BANK !

• Une BANK correspond à plusieurs emplacements pour mémoires consécutifs.


• Pour que la mémoire soit prise en compte, il faut que la BANK soit entièrement remplie avec
des barrettes du même type (taille en Ko et vitesse).

Cette notion de BANK est toujours vrai actuellement pour certains types de mémoires…

4.7. La mémoire à tores


• Le panneau fait 64 x 64 bits, soit 4096 bits, ou 512 octets.
• La surface couverte par les tores fait 4,8 cm de côté, ce qui donne 0,75 mm de côté par bit.

A l’époque, on tapait sur les


PC pour les faire
refonctionner. C’était du
temps de la mémoire à
tores.

Page 17 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4.8. Mémoire flash


• Usage croissant avec les nouvelles technologies (appareil photo numérique, PDA,
téléphones, smartphones, …)
• Composant proche des technologies EEPROM et RAM avec des caractéristiques intéressantes
de rapidité et de non volatilité.
• Mémoire effaçable et programmable électriquement qui peut se reprogrammer en un
temps très bref d’où son appellation Flash.
• On distingue 2 types selon la technologie employée : flash NOR et flash NAND du nom des
portes logiques utilisées.

4.8.1. Mémoire Flash NOR


Flash NOR (1988) :

• Avantages :
o Rapide en lecture – directement adressable
o Surtout utilisée comme support de stockage de firmware d’appareils électroniques
et téléphones portables
o Délaissée peu à peu au profit de la Flash NAND
• Inconvénients :
o Lente en écriture (notamment en effacement) car il faut passer par une mémoire
tampon et des registres
o Faible densité

4.8.2. Mémoire Flash NAND


Flash NAND (1989) :

• Avantages :
o N’exige qu’un transistor par point de mémoire (2 à 3 pour une EEPROM) ce qui
permet des capacités importantes (jusque 64 Go voire 128 Go (Toshiba 2010)).
o Vitesse élevée (60 Mo/s en lecture et 16 Mo/s en écriture).
• Inconvénients :
o Cycle de vie limitée (environ 100.000 écritures)
o Lecture par blocs (pages)
o Utilisée pour stocker le bios des machines (bios flashable) et sous forme de memory
sticks, clés USB et autre cartes flash.

4.9. Mémoire USB et disque SSD


• Mémoire USB ou clé USB, abus de langage car le terme désigne le connecteur. Il s’agit de
mémoire flash se connectant via le port USB.
• Disque SSD : mémoire de masse composée de mémoire flash NAND et munie d’une
interface IDE, ATA ou SATA pour l’intégrer au PC (portable). Capacité jusque 128 Go (2009)
mais à un prix élevé.

4.10. Adresse & Espace d’adressage


Mécanisme d’adressage : chaque « mot » est repéré par son emplacement (sa position) dans le
tableau (son « indice »), c’est son « adresse » et sont la plupart du temps notées en hexadécimal.

Le µP communique avec le matériel par l’intermédiaire de ports d’entrée/sortie (I/O). Ces ports ont
des adresses qui donnent accès aux registres du périphérique. Un périphérique peut avoir plusieurs
ports.
Soit les adresses des ports sont des adresses dans la mémoire centrale, soit ils sont dans un espace

Page 18 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
distinct et il faut donc préciser si on veut lire dans la mémoire centrale ou dans cet espace.
 Préciser si on veut lire dans la mémoire centrale ou dans cet espace distinct.

4.10.1. Décodage d’adresses


Lorsque le µP doit écrire (ou lire) une donnée, il place l’adresse sur le bus d’adresse.
Un décodage de l’adresse se fait pour trouver où se trouve l’octet correspondant (dans quelle
« zone »). (un peu à la manière du tri postal sur base du code postal).
Ce décodage permet de sélectionner le dispositif (« bloc ») physique qui est concerné par l’octet.

• Chaque dispositif (RAM, ROM et périphérique) possède un circuit logique (décodeur


d’adresses) qui sélectionne le composant concerné par l’adresse.
• Le décodeur reçoit la partie haute de l’adresse (bits de poids les plus forts).
• Si celle-ci le concerne, il active une ligne CHIP-SELECT (CS) dont le rôle est d’avertir le
composant que l’adresse le concerne. Le composant peut alors déterminer l’octet concerné.

Partie basse à droite et partie haute à gauche (pour les


digits (= une case, un octet, c’est 2 digits)).
La partie haute va servir à allumer un et un seul chip, celle
qu’on va utiliser. Il y a 4 lignes donc, 16 possibilités (= 16
chemins), 16 puces, 16 Mo.

4.10.2. Etapes du décodage (syllabus 4b p.9 à 17)


CAS : Column Address Strobe – RAS : Row Address Strobe

1. Le décodeur reçoit sur la ligne IO/M un signal indiquant qu’une adresse mémoire centrale se
trouve sur le bus d’adresses.
a. Il « décode » les bits supérieurs pour savoir si c’est une mémoire DRAM qui est
adressée.
i. Si oui, il active une et une seule ligne CS (Chip Select) en fonction de la partie
de l’adresse qu’il a « décodé ». et le CS démarre le « Timer » de la ‘boite’
« zone mémoire » correspondant.
2. Le « timer » sélectionne la position « ligne » du multiplexeur.
a. L’adresse « ligne » (moitié supérieure – A10-A19) fournie par le multiplexeur à partir
de la partie basse de l’adresse est présentée sur les broches du décodeur de ligne
(elle se trouve AUSSI à l’entrée du décodeur de colonne).
3. Un signal RAS indique au décodeur de ligne qu’une adresse est présente et qu’il doit la
décoder.
a. Ce décodage consiste à identifier une ligne, et une seule, de la matrice mémoire.

Page 19 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4. La position « colonne » du multiplexeur est sélectionnée.
a. L’adresse colonne (partie haute de l’adresse de base) fournie par le multiplexeur est
présentée sur les broches du décodeur de colonnes.
5. Un signal CAS indique au décodeur de colonne qu’une adresse est présente et qu’il doit la
décoder.
a. Ce décodage consiste à identifier une colonne de la matrice mémoire.
6. Un signal sur la ligne R/W (Read/Write) indique s’il s’agit d’une lecture ou d’une écriture.
7. Le transfert se fait via le bus des données.

3  5 : Un délai est généré entre le décodage de ligne et le décodage de colonne (délai RAS/CAS)
pour laisser le temps au décodeur de ligne de se stabiliser.

3a + 5a : Une ligne et une colonne sont actives


 identifient une cellule (1bit) dont le contenu est accessible.

4.10.3. Temps caractéristiques


Temps d’accès : temps qui s’écoule entre le moment où une adresse est présente sur le bus
d’adresse et le moment où la donnée est disponible sur le bus de données (80, 70, 60, … ns).
Actuellement : registre processeur à 1ns, cache à 5ns et RAM à 10ns.

Temps de cycle : temps qui s’écoule entre 2 lectures successives en mémoire = temps d’accès + pre-
charge delay.

Temps de latence générale : temps entre quand l’adresse sort et qu’il est dans le bus.

4.10.4. Décodage en mode page (mode FPM (Fast Page Mode))


• Programmes souvent séquentiels
o 2 instructions en séquence souvent à des adresses voisines
o Adresse ne diffère que par bits de poids faibles : colonne
o Pas nécessaire de sélectionner une ligne à chaque fois
o On gagne le temps de décalage RAS/CAS ≈ 1⁄2 temps d’accès.
• Nécessite un comparateur qui compare l’adresse ligne actuelle déjà décodée avec l’adresse
ligne de la nouvelle adresse. Si les 2 sont équivalents, on lance CAS directement.

Si pas de changement de ligne, on dit que les adresses sont dans la même « page » (= blocs).
Perte de temps puisqu’il faut recharger la donnée là où on vient de lire (notion de pre-charge delay).

4.10.5. Burst mode (mode rafale)


Si µP utilise mémoire cache entre lui et RAM, le transfert de la RAM vers cache se fait par ligne
entière. 𝑈𝑛𝑒 𝑙𝑖𝑔𝑛𝑒 𝑐𝑎𝑐ℎ𝑒 = 𝑝𝑙𝑢𝑠𝑖𝑒𝑢𝑟𝑠 𝑜𝑐𝑡𝑒𝑡𝑠 (adjacents dans la RAM).
Si la cache a une ligne 16 octets et un bus 32 bits : 4 lectures de 4 octets, 16 octets adjacents en mémoire.

Burst mode : ne placer qu’une seule adresse sur le bus des adresses et effectuer la lecture en rafale.
Nécessite que la mémoire centrale possède un compteur d’adresse.
Burst mode exploite le mode page : une seule adresse ligne est utilisée et l’adresse colonne est
incrémentée par le compteur d’adresse.

 Réduction du temps d’accès puisqu’on ne doit pas attendre chaque fois la stabilisation des
adresses sur les lignes de bus.

4.10.6. Mémoire entrelacée


Objectif : économiser le temps d’attente (pre-charge delay) lors de lectures successives en
mémoire.

Page 20 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
• Un module mémoire est divisé en 2 modules A et B.
Si µP 32 bits (bus de données) : 4 premiers octets dans A, 4 suivants dans B puis 4 suivants dans A et ainsi de suite.
• Lors de la lecture des 4 premiers octets (dans A), il est fort probable (programme séquentiel)
que la lecture suivante fasse appel aux 4 octets qui suivent (qui sont dans B). On peut lire ces
octets dans B pendant que A se recharge  A immédiatement disponible pour la 3ème
lecture (pendant que B se recharge).
C’est la valeur du bit A2 (si lecture 4/4) qui fixe le module dans lequel on va lire (0  module
A ; 1  module B).

4.10.7. Décodeur
N bits  2N combinaisons différentes. Nécessaire d’avoir un circuit logique permettant d’accepter en
entrée un code à N bits et de générer en sortie un signal sur la ligne (et la seule ligne) associée à ce
code. Ça permet de mettre à « 1 » une et une seule ligne de sortie.

4.10.8. Multiplexeur – démultiplexeur


Plusieurs données en entrée, une seule d’entre elles en sortie et un choix commandé par SELECT.
Dans un multiplexeur, on a un étage de codage/décodage.
Dans le cas du démultiplexeur (l’inverse du multiplexeur), on a une seule entrée, plusieurs sorties
possibles et un choix commandé par SELECT.
Le RJ45 permet 100m de distance maximum alors qu’une ligne de cuivre (= fibre optique ?) permet plusieurs kilomètres.

4.11. Gestion de l’espace mémoire


La taille de la mémoire centrale a fortement évolué ces dernières années mais les techniques de
multiprogrammation, l’emploi d’environnements graphiques ont aussi évolué et de nombreux
processus sont souvent rivaux pour accéder en mémoire centrale.

La gestion de la mémoire est donc toujours d’actualité et 2 reproches sont souvent évoqués :
capacité mémoire trop faible et vitesse trop lente et donc limitation des capacités de traitement de
la mémoire centrale.

Les solutions à apporter aux problèmes de mémoire sont de 2 ordres : envisage une extension de la
mémoire en utilisant une mémoire auxiliaire « comme de la mémoire centrale », la mémoire
virtuelle ainsi qu’accélérer la vitesse globale de travail de l’unité centrale par l’emploi de mémoires à
technologie rapide (mémoire cache ou antémémoire).

Antémémoire : la mémoire avant la mémoire - Mémoire virtuelle : la mémoire sur le disque dur

4.11.1. Mémoire virtuelle


• ?? Si les programmes s’exécutant nécessitent plus de mémoire que ce qui est disponible
• ?? Si un programme est plus grand que la mémoire physique
• Gestion de la mémoire virtuelle :
o Mémoire centrale (les parties actives)
o Mémoire auxiliaire sur disque

2 techniques sont abordées et travaillent en permanence : la pagination (découpage en pages de


taille équivalent) et la segmentation (processeur).
Page 21 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4.11.2. La pagination
Principe : on veut séparer 2 notions : espace d’adressage et espace mémoire (physique).

Espace d’adressage (virtuel) : adresse logique (ou virtuelle) utilisée par les programmes et le CPU.
Espace mémoire : adresses physiques qui sont des emplacements en mémoire centrale où sont
stockées les infos (instructions, données, résultats).

La pagination est une méthode pour concilier un espace d’adressage plus grand que l’espace
mémoire. Il faut un mécanisme pour traduire les adresses logiques utilisées par les programmes en
adresses physiques véhiculées par le bus d’adresse afin d’avoir en mémoire les instructions et les
données.

Réalisation :

• Mémoire centrale : divisée en plusieurs pages physiques


• Mémoire secondaire : sur le disque, divisé en pages de même taille qu’en mémoire centrale
• Espace d’adressage virtuel : espace mémoire que représente la mémoire centrale + la
secondaire, divisé en pages de même taille
• En plus du mécanisme de traduction d’adresses on doit avoir :
o Une méthode pour savoir si la page nécessaire est déjà en mémoire centrale ou si
elle est en mémoire virtuelle sur le disque
o Une méthode de choix de la page qui retourne en mémoire virtuelle quand on en
charge une autre en mémoire centrale.
▪ LRU : Least Recently Used (basé sur un numéro d’utilisation)
▪ FIFO : First In, First Out (basé sur un numéro d’entrée)

4.11.3. Classement des algorithmes de remplacement


Algorithme optimal : purement théorique, cet algorithme s’appuie sur la
connaissance de la chaîne de référence complète. Par définition, un
optimal n’existe pas car ce n’est qu’un but.

Algorithme aléatoire : cet algorithme n’utilise aucune connaissance sur


le comportement du programme, il sert lui aussi de point de comparaison.
L’algorithme FIFO ne tient absolument pas compte de la propriété de localité (= local, proche) !

4.11.4. Pagination : gestion mémoire

Page 22 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4.11.5. Pagination : table des pages

4.11.6. Pagination & segmentation


Pagination, mécanisme matériel transparent du point de vue du programmeur qui ne sait pas
comment est organisé l’espace mémoire d’un processus. Au mieux peut-on détecter des
ralentissements dus à des défauts de page.

Les processus ajoutent souvent un mécanisme de segmentation qui est un découpage logique de
l’espace mémoire d’un processus accessible au programmeur et au compilateur. Ces découpages en
plusieurs mémoires dédicacées constituent les « segments ».

4.11.7. Segmentation
• Programme vu comme une série de « blocs fonctionnels ». On va « segmenter » le
programme en blocs fonctionnels : les segments.
• Tailles des segments non fixes.
• On voit un programme comme une série de modules ayant des fonctions différentes
o Zone des données (constantes et variables globales)
o Zone d’instructions (programme principal, fonctions)
o La pile (passage de paramètres pour les fonctions)
o Le tas (données locales, allocation dynamique, …)

Base + déplacement : On divise l’espace d’adressage en plusieurs espaces d’adressage indépendants.


Chaque segment comporte une suite linéaire d’adresses numérotées à partir de 0 (le déplacement).
Les segments peuvent avoir une taille différente et la taille des segments peut varier pendant
l’exécution du programme  implantation différente de la pagination.
Les segments ont n’importe quelle taille mais le maximum est fixé par le nombre de bits donnant le
déplacement dans le segment.
Le déplacement est toujours « positif ».

Problème : la fragmentation
En mémoire centrale, quand on remplace un segment par un plus petit, il se forme un « trou » qui
nécessite un besoin de défragmenter (quand certain % de trous) vu qu’une fragmentation s’est formé.

4.11.8. Segmentation : Adresse virtuelle VS adresse physique


Adresse virtuelle : n° du segment + déplacement dans le segment.
Adresse physique = somme adresse de base + déplacement dans segment.

4.11.9. Registres du Intel 8086


20 lignes d’adresses  220 = 1 Mo adressable
16 lignes de données  216  entier positif de 0…65535
Registres internes de 16 bits  seulement 64 Ko adressable pour les déplacements

Page 23 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

 Voir p.21 syllabus IVc Mémoire : gestion de l’espace mémoire

4.11.10. Gestion de l’espace mémoire multitâches et/ou multiutilisateurs


Dans le cadre d’un système multiutilisateurs ou multitâches, il faut que les zones de mémoire
attribuées à un utilisateur ou une tâche ne vienne pas empiéter sur celles affectées aux autres.
Pour cela, différentes techniques existent permettant le partage de la mémoire entre plusieurs
segments de programme.

Succinctement, il faut éviter qu’un programme n’aille déborder en mémoire sur d’autres
programmes (mode « protégé »).

4.11.11. Gestion de l’espace mémoire : conclusion


La segmentation et la pagination concernent des problèmes différents. Ce sont 2 techniques qui
peuvent se combiner :

• La segmentation découpe les processus en zones linéaires pouvant être gérées


différemment selon que ces segments sont propres au processus, qu’ils sont partagés, lus,
écrits ou exécutés et de manière à protéger les processus entre eux.
• La pagination découpe la mémoire en pages non contiguës mais de même taille (LRU ou
FIFO). Elle procure aux processus des espaces d’adresse continus (nécessaires aux segments).
Les pages mémoires peuvent n’être allouées que lorsqu’un processus en a besoin. On obtient
de la sorte une mémoire virtuelle de taille supérieure à la mémoire réelle.

Page 24 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 4bis : La mémoire et sa gestion, la mémoire cache


4bis.1. La cache ou antémémoire
• µP plus rapide que mémoire central, mémoire centrale plus rapide que mémoire de masse.
 temps d’attente car on va toujours à la vitesse du plus lent.
• Idée : conserver dans une mémoire intermédiaire plus rapide les données les plus
fréquemment utilisées.
o Système de prévention des accès, on garde « sous » la main des données les plus
couramment utilisées et donc de réduire le temps d’accès.
o L’aspect prévention des accès différencie le cache d’une mémoire tampon =>
gestionnaire (ou contrôleur) de cache gère flux entre mémoire centrale et cache.
o ∃ des mémoires rapides qui permettraient de se passer de cache mais coût ↑↑.

La mémoire cache est quelque chose qu’on prépare à l’avance. On y insère les instructions et
informations que le processeur aurait le plus souvent besoin.

4bis.2. MMU : Memory Management Units


Résoudre un problème récurrent : fragmentation.
Intermédiaire entre adresse logique (ce que voit et manipule le programme) et physique (où est
réellement conservée la donnée).
Outil matériel pour mieux gérer la mémoire physique d’une machine.

Cache : « faible » quantité de mémoire rapide entre le µP et la mémoire centrale.

Le contrôleur de cache gère le flux de « données » entre la cache et la mémoire centrale.


 diminution du trafic sur le bus (fonction de l’efficacité du « contrôleur » de cache).

4bis.3. « Implantation » du cache


• Au départ :
taille cache petite
 Cache primaire (niveau 1) intégrée au µP, cache secondaire (niveau 2) sur carte mère.
Le niveau 1 travaille à la vitesse interne du µP et le niveau 2 à la vitesse externe du µP.
• Puis :
L1 dans µP, L2 pas loin à côté et L3 sur carte mère.
• Actuel :
L1, L2, et L3 sont dans le processeur.

4bis.4. Modèles de cache


• Von Neumann
o Instructions et données dans la même mémoire
o 2 accès pour le µP (traite instructions et données de la même manière)
o Données peuvent « chasser » des instructions et vice versa
• Harvard
o Instructions et données séparées
o 2 caches
o Chargement quasi simultané des instructions et des données
• …
o PC récents utilisent les 2 modèles
o Cache primaire « Harvard » (point de vue performance)  2 contrôleurs
o Cache secondaire « Von Neumann » (point de vue coût)
o Exemple : Pentium 16 Ko Interne : 8 Ko pour data et 9 Ko pour code.

Page 25 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4bis.5. Hit Rate


• Si lors d’un accès à la mémoire, le contenu recherché est déjà dans la cache, cet accès à la
cache s’appelle le read hit (touché).  temps d’accès très court  pas d’attente du µP.
• Si pas dans la cache : read miss (raté), le contenu recherché en mémoire centrale est copié
dans la cache pour un accès futur.  temps d’accès (très) long  attente du µP.
• Write hit et write miss lors de l’écriture.

Hit Rate = taux de succès en %


# 𝑑′ 𝑎𝑐𝑐è𝑠 𝑟é𝑢𝑠𝑠𝑖𝑠 𝑑𝑎𝑛𝑠 𝑙𝑎 𝑐𝑎𝑐ℎ𝑒
ℎ𝑖𝑡 𝑟𝑎𝑡𝑒 = =ℎ
# 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑟é𝑓é𝑟𝑒𝑛𝑐𝑒𝑠
Taux d’insuccès = 1 – h
Temps moyen d’accès : t = c + (1 – h) m avec m : temps d’accès à la mémoire & c : temps d’accès au cache
si ℎ ≈ 1  t = c
si ℎ ≈ 0  t = m + c

4bis.6. Aspects de l’utilisation de la mémoire


• On n’a pas besoin de toute la mémoire en même temps
o Code du programme : la partie en cours d’exécution
o Les données : utilisation souvent localisée
▪ Dans le temps et l’espace : variables locales
▪ Dans le temps : allocation/libération dynamique
▪ Utilisation par à-coups, sur des intervalles de temps courts
• Utilisation irrégulière des ressources
o Loi des 90-10
▪ 10% des données représentent 90% des accès
▪ (10% du code utilise 90% du CPU)

4bis.7. « Localité des références »


• Concept de « localité des références »
o Sur un court laps de temps, le nombre « d’objets » utilisés est petit
o WS, Working Set [Peter Denning, 1968]
• Programme
o Les instructions sont le plus souvent exécutées en séquences
o Les boucles tendent à faire répéter de courtes séquences
• Données : variables locales, tables constituent des regroupements naturels
• Mais… évolution au fil du temps du WS

4bis.7.1. Principe de localité


Programme : séquence d’instruction, boucles, branchements et programme d’appels de procédure.
Principe de localité spatiale : si une adresse est appelée, il y a une forte probabilité que l’adresse qui
sera appelée ensuite soit dans le voisinage de l’adresse appelée précédemment.
Principe de localité temporelle : si une adresse est appelée, il y a une forte probabilité qu’elle soit à
nouveau appelée rapidement (souvent des boucles).

L’efficacité du cache dépend aussi de l’architecture du cache et de sa taille.

4bis.7.2. Stratégie de recopie


• Transfert mémoire centrale ↔ cache s’effectue par blocs de taille fixée et dépendante de
l’architecture du cache. Un bloc = +rs adresses consécutives en mémoire centrale
• Quand contenu d’une adresse est modifié (dans cache), il est nécessaire de recopier (en
mémoire centrale) le bloc dont fait partie cette adresse

Page 26 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4bis.7.3. Les 3 stratégies de recopie
• Write through : écriture immédiate (écriture se fait simultanément dans cache et mémoire centrale)
o Simple
o Pas très efficace
(pas de gain d’écriture  mem. centrale : on bénéficie pas de la rapidité du cache)
o Garantit la conformité totale des informations
o Lecture + nombreuse  cache quand même utile
(les opérations de lecture étant + nombreuses=> 𝜃)
• Write back (écriture différée)
o Mise à jour dans le cache d’abord
o Écriture (mise à jour) en mémoire centrale quand cache doit libérer de la place
o Il n’y aura conformité qu’à l’écriture
• Write back synchrone
o Mise à jour de mémoire centrale sélectives. On réécrit un bloc seulement si modifié
depuis qu’il est en cache.  marquage des blocs
o « Synchrone » : intervention du contrôleur de cache (R/W) que si µP ne tente pas
d’accéder à cette mémoire.

4bis.8. Organisations
3 types de caches :

• Correspondante directe (inconvénient)


• Associatif (inconvénient)
• Associatif par ensemble (celui retenu car un mix des 2)

4bis.8.1. Correspondante directe

Page 27 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
4bis.8.2. Associatif

4bis.8.3. Associatif par ensemble ou partiellement associatif

4bis.9. « Cache »  « Anticipation


Un « programme » I. Initialisation II. Choix de départ III. Traitement IV. Sortie
(sauvegarde)
Anticipation : quand on est à la fin de l’ « initialisation », on peut retirer les « données » (data et instruc)
correspondantes et amener à l’avance les « données » de la partie « choix de départ ».
Si une instruction vient d’être jouée, il a de fortes chances : qu’elle soit demandée à nouveau (dans pas
longtemps) ou que ce soit celle qui la suit qui le soit.

Cfr. Principe de « localité » (spatiale et temporelle).

Page 28 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4bis.10. Correspondante directe


• La mémoire cache est constituée d’un tableau de plusieurs lignes.
• Chaque ligne :
o A un numéro de ligne (0, 1, 2, 3, …)
o A une case contenant une « valeur étiquette » (appelé TAG)
o A une série de case numérotée (0, 1, 2, …) contenant des « octets » (word ici)
consécutives en mémoire centrale.
• Tous les octets d’une ligne sont placés et retirés en même temps (blocs)

L’adresse d’un octet en mémoire centrale est décomposée (découpée) en 3 morceaux.

TAG : partie haute


INDEX : partie moyenne
OFFSET : partie basse
Avantage : une seule comparaison par accès.
Inconvénient : si µP fait appel fréquemment à 2 octets ayant les mêmes bits intermédiaires
(lignes) : remplacement du bloc dans la cache, accès à la mémoire centrale et performance de la
cache diminue.

4bis.11. Associatif

• Avantages :
o un bloc peut se trouver dans n’importe quelle ligne de la cache ( supprime inconvénient
de correspondance directe)
o taux de succès plus grand car jamais de conflit d’accès
• Inconvénients :
o Autant de comparaison qu’il y a de lignes
o Pas de ligne attitrée  politique (algorithme) de remplacement
▪ LRU : Least Recently Used
Tient compte ▪ FIFO : First In, First Out
de LRU/FIFO ▪ Tenir l’historique du cache ou avoir en + ne colonne avec le « time » du
dernier accès à chaque ligne.

Page 29 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

4bis.12. Associatif par ensemble ou partiellement associatif

Si 4 éléments,
combien de bits ?

22 = 4 donc, 2 bits.

4bis.12.1. Associatif par ensemble – efficacite en fonction (nbre de voies, quantité de « cache »)

Avantages : nombre de comparateurs = le nombre de voies ( moins de comparateurs qu’en « associatif ») ;


moins de conflit d’accès que dans accès direct pur.

Page 30 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 5 : Les supports


5.1. Supports magnétiques
5.1.1. Principes physiques & technologiques
5.1.1.1. Le support
• Substance ferromagnétique : fer, nickel, cobalt, …
• Aimantation résiduelle (ou rémanente) M+ = mots clés
• Champ coercitif (Hc) : le champ nécessaire à désaimanter.
• Cycle d’hystérésis

Caractéristiques du milieu magnétisable : taille aiguilles, aimantation rémanente, champ coercitif.


Recherche de matériaux à cycle d’hystérésis carré : flanc vertical = changement d’état magnétique
pour une faible variation de champ. Il faut le plus petit possible pour que la variation ne prenne pas trop de place.

5.1.1.2. Taille des particules


• Aujourd’hui, environ 250 nm (10-9m) sur 30 nm.
• Tellement tassées et proches les unes des autres qu’il est devenu très difficile d’en avoir plus.
• Si on les miniaturise davantage, entre en jeu un phénomène physique appelé super
paramagnétisme (les systèmes vont changer de valeur à cause de ce qu’il y a autour) : lorsque
2 particules aux polarités contraires sont face à face, il arrive que se produisent des interférences et que la
polarité de l’une d’elle s’inverse ! La miniaturisation devient par conséquent une voie sans issue.

Pixie Dust : Anti-Ferromagnetically Couple (AFC)

• Nouveau support magnétique : Pixie dust (poussière de fée).


• Revêtement de 3 atomes d’épaisseur de ruthénium (proche du platine) pris en entre 2
couches magnétiques.
• Permet déjà de stocker jusqu’à 25,7 Gbits/pouces2 et permettra d’aller jusqu’à 400
Gbits/pouces2.

Ce système permet l’écriture sur 2 couches


sans pour autant influencer car l’AFC vient
contrebalancer l’aiguille et les empêche de
s’entrechoquer.

5.1.1.3. La tête d’écriture

Les aiguilles !

Page 31 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
5.1.1.4. La tête de lecture

Ici, on lit les variations Nord/Sud,


donc pas sens des aiguilles qui est
important mais, variation des
aiguilles…

• Tête inductive… (en ferrite) (1966) : « Toute variation de flux à travers une spire fermée induit
un courant dans cette spire ».
o La tête génère des courants faibles qui seront filtrés, amplifiés et décodés.
o Problème : pour augmenter la capacité, on va placer + d’infos donc, + de transitions
dans un espace de + en + petit.
 Signal dans les têtes de + en + faible
 ??? Signal ou parasite ???
• Tête magnéto-résistante (MR) (IBM 1991) : « Lorsqu’un fil passe dans un champ magnétique,
il génère un faible courant, mais sa résistance est également modifiée »
o La tête est utilisée comme une résistance, on lui applique une certaine tension et on
observe les variations de cette tension quand la résistance est modifiée par
l’inversion de flux. On a un signal plus clair et plus fort.
Problème : ne fonctionne qu’en lecture  2 TETES
• Tête magnéto-résistante géante (GMR) (IBM 1997) : « … changement de résistance
considérable dans des matériaux composés de fines couches alternées avec différents
éléments métalliques »
o Physiquement plus petite que la magnéto-résistante « classique ».
o Effet GMR (Giant Magneto Resistive) (1988).

5.1.1.5. Enregistrement longitudinal & perpendiculaire

Enregistrement perpendiculaire :

• La technologie PMR commence à trouver sa place sur le marché.


• Actuellement, on atteint des densités de 420 Gbit/sqin, ce qui permet
fabrication de disques de plus de 2 To.
• Evolution (2016 ?) densité surfacique pouvant atteindre 4Tbit/sqin
donc vers fabrication disques 3.5’’ 25 To.

Page 32 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
N.B. la limite théorique semble se situer actuellement autour de 100 Tbit/sqin, ce qui permettrait
d’envisager des disques durs de 65 000 To.

Enregistrement perpendiculaire vs longitudinal :

5.1.1.6. HAMR (Heat Assisted Magnetic Recording) & HDMR (Heated Dot Magnetic Recording)
Le HAMR :

• Le fabricant Seagate a mis au point un mécanisme de


lecture-écriture avec une tête au laser (HAMR). Il
permet de multiplier par 10 la capacité des disques
durs.
• Ce procédé (Heat Assisted Magnetic Recording),
permettrait de chauffer la surface uniquement en cas
de besoin, autrement dit au moment où les données
sont sur le point d’être écrites. Ce qui permet de les
ordonner avec plus de minutie, et d’en augmenter la
densité.
Chauffer le support avec • « Lors de l’écriture, le faisceau laser de plus forte intensité vient
un rayon laser juste modifier les propriétés de la couche qui est alors magnétisée dans un sens
avant l’écriture. ou l’autre selon qu’on enregistre un 0 ou un 1. En lecture, le faisceau laser
 gain de place (et
de faible intensité sera réfléchi différemment selon que la couche a été
améliore la rapidité ?)
magnétisée dans un sens ou l’autre ».

Le HDMR :

• Bit-patterned media (BPM) isolates each bit to improve the stability of each data bit, making
it less prone to changes through interference from other data bits or temperature.
• HDMR will combine this technology to improve the areal density further, which is predicted
to enable hard disk drives thought to be able to store data from between 60 to 100TB.
• Such advances will be extremely important for the future of traditional spinning hard disk
drives.

Le MAMR : Microwave-Assisted Magnetic Recording

Page 33 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
5.1.1.7. Lecture
M : magnétisation (il s’agit en fait de variations)

5.1.1.8. Codage des données – modes de codages et d’enregistrements


• Modes de codage des données
o Support magnétique  stockage analogique
o Données de type numérique
o Codeur/décodeur – impulsions/binaires
o IMPORTANT : synchronisation entre la lecture et l’écriture

Avantage d’avoir les top horloge à l’intérieur du


disque : même quand le disque vieillit, tourne plus
lentement, le top fonctionne. Inconvénient : moitié
du disque sert à mémoriser les top horloge.

Modes de codages :

• FM : modulation de fréquence
o Transition de synchronisation (horloge)
o Transition pour les 1
o « impression que » horloge « x1 »
• MFM : modulation de fréquence modifiée
o Transition pour les 1
o Transition d’horloge QUE SI deux 0 se suivent
o « impression que » horloge « x2 »
• RLL : Runtime Limited Length (longueur de course limitée)
o Utilisation d’une table de codage
o Codage de flux
o RLLx,y (x la course, y la limite)
▪ La course : la + petite distance entre 2 transitions
▪ La limite : la + grande distance entre 2 transitions
o « impression que » horloge « x3 »

Page 34 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
La plus petite distance entre 2 transitions est celle due aux caractéristiques physiques/mécaniques
du disque dur. Cette distance est OBLIGATOIREMENT la même pour les 3 modes ( ramener à une
« même échelle » pour unifier la distance).

5.1.1.9. Advanced RLL (ARLL)


RLL 3,9

• Permet un ratio de densité encore plus élevé que RLL 2,7.


• Malheureusement, la fiabilité a trop souffert du régime RLL 3,9 ;
• La méthode a été utilisée par seulement quelques contrôleurs maintenant obsolètes et a
presque disparu.

5.1.1.10. PRML : Partial-Response, Maximum-Likelihood Decoders


Technology enable disk drive manufacturers to increase the amount of data stored on a disk platter
by up to 40%.

5.1.2. Les caractéristiques constructives


• Types
o disques souples (floppy disk) : mylar (300 tr/min)
o disques durs (hard disk) : feuilles d’aluminium (> 3600 tr/min)
• Pistes : circulaires, concentriques
• Densité : vitesse angulaire constante (CAV) pour avoir une vitesse de défilement relative
constante de la piste sous la tête de lecture
o L’angle de lecture pour lire un mot est le même sur tout le disque mais longueur de
piste variable.
o Plus facile à gérer mécaniquement
o Densité différentes selon la piste (même quantité sur chaque piste)
o Débits lus et écrits constants
o Densité linéaire (bits/’’) croissante de l’extérieur vers l’intérieur
o Densité « maximale » sur la piste intérieure
• Densité…

Page 35 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
Accès « direct » : position de la tête sur le rayon (piste), rotation pour position dans la piste.
Double face : une tête par face
Cylindre : la même piste sur les différentes faces des différents plateaux

Le cylindre est une piste (on écrit la même chose sur toutes les
faces) mais est aussi plusieurs pistes contiguës qui forme un
disque « virtuel ».
Remplir toutes les faces de données sans bouger la tête.

5.1.3. Le format physique des disques


• Besoin d’emplacement identifiables (adressables)
• Secteurs fixes : 128 256 512 octets/secteur (disquette)
512 1024 … (disque)
• Secteurs variables : gestion plus élaborée des disques

La taille des secteurs est important.


Exemple : Grands secteurs + petits fichiers  perte place | Petits secteurs + grands fichiers  perte rapidité et optimisation

« Sectorisation » :

• Disquettes : secteurs physiques (trous dans disquette) et secteurs logiques


• Disques : secteurs logiques
• … logique
o Ecrire des repères sur le disque ; c’est le formatage physique
o Entre 2 secteurs : une zone vide (gap)

Accès à l’information (adressage) : trouver le secteur (pour trouver l’info)


En mode normal ou CHS (plus ancien) : choix tête (face), choix rayon (piste), choix angle (secteur)
Adresse d’un secteur (CHS) : C (cylindre), H (tête (head)), S (secteur)

Organisation du secteur :

• Un secteur = 2 zones séparées par un gap


• Chaque zone contient une marque d’adresse suivie de 2 octets de CRC (cyclic rudondancy
check) (dans RLL, le CRC est remplacé par ECC Error Correcting Code)
o Zone 1 : infos sur le secteur
o Zone 2 : zone utile

Facteur d’entrelacement : (= facteur d’équilibrage) un « fichier »


peut tenir sur moins d’un secteur ou sur plusieurs secteurs quand
plusieurs, ?? Lecture/traitement ??

Page 36 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Etre capable de
refaire les calculs
pour l’examen !

89% des 720Mo

80Mo de perdu

89% des 474Mo

54Mo de perdu

Vieux disque choisi car les chiffres sont encore raisonnables.


Zone 14 (122 secteurs de pistes) est la zone la plus lente et est le plus proche du centre.
Zone 0 est la zone de table d’adressage car elle sera lue très souvent donc, autant qu’elle soit à l’extérieur et dans la zone la
plus rapide…

Page 37 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
5.1.3.1. NCQ : Native Command Queuing
• Le NCQ est une technologie destinée à améliorer les performances des disques durs.
• Cette technique permet de réorganiser l’ordre des requêtes envoyées au disque dur pour
que celui-ci récupère les données en faisant le moins de tours possibles pour récupérer les
données demandées (ce qui se fait donc plus rapidement).
• Cette technologie n’est efficace que si vous ne parcourez
pas un seul gros fichier non fragmenté sur le disque et est
implantée dans les chipsets les plus récents :

5.1.4. Les caractéristiques fonctionnelles


Caractéristiques fonctionnelles : densité d’infos, capacité du disque, temps d’accès, temps de
déplacement (seek time), temps de latence (latency time), vitesse de transfert et taux de transfert,
température.

5.1.4.1. Contrôleurs ou Interfaces disques


• Rôle de l’interface disque ou contrôleur :
o Gérer les échanges de données et leur encodage entre le disque et le système.
• Les plus utilisés actuellement avec les HD :
o Interfaces SATA
o Interfaces EIDE et SCSI
o Interface Fiber Channel (pour les très haut de gamme)
• Premier contrôleur : ST506 (Seagate Technology) (1980) avec des disques de 5Mo
• ESDI (Enhanced Small Device Interface) : évolution du ST 506. Permet de gérer des disques
de 100 à 137 Go avec des débits de l’ordre de 24Mo/s.
• Contrôleur IDE(Integrated Drive Electronic), BUS-AT, ATA (Advanced Technology
Attachment) (1986) : Bus parallèle permettant de gérer dans leur première version des
disque jusque 528 Mo avec des taux de transfert de 8Mo/s.
• IDE-ATA a évolué en EIDE (Enhanced IDE) – ATA2 toujours de type parallèle et permettant de
gérer des disques de plus grande capacité (→ 10Go).

Page 38 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
• Les contrôleurs EIDE-ATA utilisent deux protocoles de transmission :
o PIO (Programmed Input Output) où le taux de transfert varie de 3,33 Mo/s à 16,67
Mo/s pour le PIO 4. Ce dernier a tendance à monopoliser le processeur.
o DMA (Direct Memory Access) qui permet de transférer directement vers la mémoire
centrale sans transiter par le processeur ( amélioration des taux de transfert)
• SATA (Serial ATA)
o Évolution du Parallel ATA avec une transmission des données en série (câbles de 4 à
8 fils de 1m de long).
o Avec la 1ère implémentation du SATA-150, le débit maximum autorisé est 150 Mo/s.

5.1.4.2. Thunderbolt

Apple a suivi et à intégrer


Thunderbolt mais très peu de
marques proposent des écrans
Thunderbolt.

5.1.4.3. Température
En fonction de la température, soit le disque dur, soit l’ordinateur peuvent en souffrir fortement.
En « travail » : souvent de 5 à 55°C.
Au repos : souvent de -40 à 70°C.

5.1.5. Systèmes RAID – Redundant Array of Independent Disk


Idée : prendre plusieurs disques physiques pour représenter un disque logique.

• C’est le système RAID qui se charge de répartir les données sur les disques physiques 
transparence pour l’utilisateur.
• Plusieurs niveaux de 0 à 7 qui définissent la manière dont les données et la sécurité sont
réparties dans le système RAID.
• La sécurité mise en œuvre (dépendant du niveau RAID) permet de reconstruire rapidement
un système endommagé.
• Les disques durs du système RAID peuvent être changés « à chaud ». On peut donc ajouter
ou enlever des disques sans éteindre la machine.

RAID Logiciel : couche logicielle (application ou driver) de l’OS. Problème : forte charge du CPU.

RAID Matériel : contrôleur dédié (soit sur carte mère, soit PCI).
Meilleure car c’est le contrôleur qui se charge de la gestion des disques (répartition des data et
sécurité)  CPU « libéré ».
Le système peut posséder plusieurs contrôleurs redondants pour gérer le système.
 Si un en panne, l’(les) autre(s) prenne(nt) le relais
 quasi invisible pour l’utilisateur (petit temps de latence)

Page 39 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Le changement à chaud n’est, potentiellement pas supporté par RAID1.

L’idéal serait RAID01 pour plus de sécurité. Dans les 2 cas, coût plus élevé puisqu’au lieu de 1 disque,
il en faut 2 de même capacité. En sécurité, RAID2 est bien mais en vitesse de travail…

Sens de lecture

Page 40 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

RAID6 généralement utilisé par les banques par exemple.

5.2. Supports numériques


Les disques optiques numériques : CD-ROM, DVD, Blu-Ray Disc, HVD, …

• Taux de transfert
o x1 : 150 Ko/s (accès 400ms)
o x2 : 300 Ko/s (300 ms)
o ….
o x40 : 6 Mo/s (75 ms)
• Capacité
o 650 Mo (74min Audio 44k100Hz stéréo 16 bits)
o 700 Mo (80 min)
o …
• Accès (Méthodes de lecture)
o CLV : vitesse linéaire constante (vitesse de rotation varie)
o CAV : vitesse angulaire constante (x12 à x24, accès 150 à 90 ms))
o CAV / CLV en fonction de la position des sillons lus
• Utilisation du processeur
o Acer 40x - P-CAV - min 8% - max 82 % (40x)
Kenwood 40x - TrueX - 18% tout le temps
o DMA - 11 % (Direct Access Memory)
• Types de lecteur / Interface
o // (parallèles) pour les portables (externes)
o IDE/ATAPI (attention Master/Slave)
o SCSI/ASPI (mécanique idem mais interface + rapide)
o USB
• Chargement
o À tiroir
o À caddy (disque dans un tiroir/emballage et y reste, même pour la lecture)
o « Avalement »
• Autres caractéristiques
o Étanchéité à la poussière (parfait pour milieux hostiles comme désert ou usines)
o Lentilles autonettoyantes
o Lecteur interne ou externe

Page 41 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
5.2.1. Le lecteur

5.2.2. TrueX, technologie multifaisceaux


Avec le diviseur de faisceau, on peut lire 8 pistes différentes en même
temps. Donc, au niveau vitesse, 40 x 8 = 320 !
SOUCI : il faut faire un tour complet avant de pouvoir réellement lire.

• Technique multi faisceaux pour des lecteurs rapides


(lecteurs 52X et 72X)
• Permet des taux de transfert élevés en permettant de
diminuer la vitesse de rotation (5100t/min au lieu de
10.000t/min pour les lecteurs les plus rapides) ce qui permet
une diminution significative du bruit et une plus
grande fiabilité de lecture.
• Le prix est aussi plus élevé !

5.2.3. Les graveurs (pour info)


• CD-R
o Capacité
o Couleur du support : Or – or, Or – vert, Argent – bleu
o Vitesse d’enregistrement
• CD-RW
• CD-R/RW

5.2.4. Le DVD – Digital Versatil Disk


• Caractéristiques
o Cavité 2x + petite (entre 1 et 0,4 µm)
o Hauteur de piste 2x + petite (entre 1,6 et 0,75 µm)
o Zone de données 1,02x + grande
o Correction d’erreur 1,32 x + efficace
o Surcharge des secteurs moins grande (2048/2352 <> 2048/2060)
• Capacité
o 4,7 Go à 15,9 Go
o Deux faces sur une ou deux couches
o 2 heures de vidéo sonorisée
• Taux de transfert
o x1 : 1,3 Mo/s
o ….
o x8 : ~10 Mo/s
• Temps d’accès : de 150 à 250 ms
• Types de lecteur : IDE, SCSI-2

Page 42 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
5.2.5. Le Blu-ray Disk
• Caractéristiques : Rayon laser bleu-violet au lieu de rouge
 longueur d’ondes 405 nanomètres au lieu de 605 pour les DVD-RW.
• Capacité : 27 Go sur une couche d’une face
• Taux de transfert : 36 Mbits/s (lecteur 1x)

5.2.6. HD-DVD (2006)


• High Density Digital Versatile Disc
o Capacité par couche de 15 Go, soit un total de 30 Go avec un HD DVD double couche.
o Récemment, Toshiba a annoncé un disque triple couche, qui offrira jusqu'à 45 Go de
données.

5.2.7. HVD : DVD holographique (2006)


InPhaseTechnologies (start-up américaine) DVD holographique.
Un disque optique stockant 300 Go, en attendant des modèles à 3.9 To (6000 CD-ROM).

5.3. Les supports autres


5.3.1. Carte mémoire et « USB »
Les clés USB 2 To n’existent pas !

• Carte mémoire : apparue principalement avec les appareils photos numérique


• Mémoire USB ou clé USB, abus de langage car le terme désigne le connecteur.
Il s’agit de mémoire flash se connectant via le port USB.

5.3.2. Disque SSD


Disque SSD : mémoire de masse composée de mémoire flash NAND et munie d’une interface IDE,
ATA ou SATA (voir plus loin) pour l’intégrer au PC (portable). Capacités jusque 128 Go (2009) mais à
un prix élevé.

SSD en PCI Expess :


Fusion-io : ioDrive2 et ioDrive2 Duo, nouvelle
génération de SSD au format PCI Express à 3
Go/s (nov2011)

Seagate à présenté en 2016 un disque SSD de 60TB.

5.3.3. Graphène
• Graphène et molybdénite se marient dans une mémoire flash
• 22.03.13 - Des chercheurs de l’EPFL ont eu l’idée
de combiner les avantages de ces deux matériaux
aux propriétés électroniques particulièrement
prometteuses. Ils ont pu réaliser un prototype de
mémoire flash qui offre un grand potentiel en
termes d’efficacité, de miniaturisation, de
souplesse mécanique et de moindre
consommation.

« L’informatique, depuis toujours,


on dit que ça n’ira pas plus loin mais le monde technologique va toujours plus loin… »

Page 43 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 6 : Communication avec les périphériques


Il y a plusieurs façons d’amorcer et de contrôler les transferts entre µP et les dispositifs d’E/S :

• Si initialisé par le µP, toujours sous le contrôle d’un programme qui demande d’exécuter une
ou des instructions qui transfèrent des données entre un registre du processeur et le
périphérique
• Si initialisé par le dispositif d’E/S, le transfert peut être contrôlé par le µP ou par le dispositif
d’E/S
o Si µP contrôle, il arrête l’exécution du programme en cours et exécute un autre
programme : une routine d’interruption (instructions de transfert des données)
o Si transfert DMA, le dispositif d’E/S est l’initiateur et le transfert n’est pas sous le
contrôle du µP. Le transfert a lieu sous le contrôle du contrôleur DMA.

6.1. Bus

6.2. Transfert CPU  E/S

6.3. Interruption
Idée : signaler au processeur qu’il se passe quelque chose.

• Une interruption permet d’interrompre un programme en cours d’exécution sur le µP afin


que celui-ci effectue une tâche considérée comme plus urgente. Quand cette tâche est
terminée, le processus interrompu pourra reprendre là où il a été interrompu.
• Les interruptions permettent donc à des événements externes au µP de prendre la main
(coupures de courant, alarmes, périphériques prêts à émettre ou à recevoir, …)
• Si elle est acceptée par le µP, l’interruption permet au périphérique de demander au µP
d’exécuter un sous-programme (routine) de service ou routine d’interruption.

Page 44 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
6.3.1. Types
• Une interruption peut être provoquée de diverses manières :
o Par un périphérique : interruption externe et matérielle
o Par un programme : interruption externe et logicielle
o Par le µP lui-même : interruption intrene appelée exception (trap en anglais)
▪ Les exceptions les plus courantes sont la division par zéro, le dépassement
de capacité, l’accès anormal à une zone mémoire, …
• Le processeur dispose d’instructions autorisant ou interdisant les interruptions selon la
nature de celles-ci. On parle d’interruptions masquables ou non-masquables (cf. infra)

6.3.2. Principe de base (simplifié) d’une interruption matérielle


• Chaque dispositif d’E/S ou son contrôleur est connecté à une ligne d’interruption
• Si périphérique a besoin d’un service, il génère un signal sur sa ligne d’interruption (INTR)
vers le µP. Une interruption est comme une sonnerie de porte!
• A la fin de chaque instruction, le « µP » scrute les lignes d’interruption.
o Si un signal est présent, il gère la demande (exécute la routine d’interruption
correspondante – ISR Interrupt Service Routine) puis quand il a fini, il reprend à
l’instruction qui suit celle qu’il avait terminée. S’il a accepté la demande, ce qu’il peut
refuser, il envoie un signal (INTA) vers le périphérique.
o Sinon il exécute l’instruction suivante dans le programme en cours

6.3.3. Transfert ES  CPU

6.3.4. Réalisation pratique dans un PC


Pas numéroté dans l’ordre prioritaire car :

6.3.5. Vecteur d’interruption


• Pour exécuter la routine d’interruption, le µP doit connaître l’adresse de base (1ère
instruction) de la routine. Le vecteur d’interruption contient l’adresse de cette 1ère
instruction de toutes les interruptions.
• Le 8086 supporte 256 interruptions différentes identifiées par un numéro compris entre 00h
et FFh :

Page 45 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
o Dans le PC, 1024 adresses de 00000h à 003FFh constituent la table des vecteurs
d’interruption de 256 entrées de 4 octets : la table contient les adresses de base de
chaque routine. Elle se charge en RAM à partir de l’adresse la plus basse (00000h).
• Certaines entrées sont utilisées par les interruptions matérielles et d’autres par les
interruptions logicielles.
• Quand il reçoit un INTA, le contrôleur doit envoyer l’identification du dispositif de plus
haute priorité qui a émis une requête. Identification du dispositif est le numéro de l’entrée
de la table correspondant à sa routine d’interruption.

6.3.6. Routine d’interruption


• Les routines des périphériques de base dans la ROM BIOS. Pendant le démarrage de la
machine (POST Power On Self Test), la table est initialisée en y recopiant les adresses de base de
ces routines.
• Pour les périphériques qu’on ajoute sur les connecteurs d’extension, les routines doivent
être fournies par le fabricant.
o Routine dans la ROM de la carte d’extension
o Fournie sur disquette ou CD-ROM (pilote, driver)
• Lors de l’initialisation de la carte, l’adresse de base est recopiée dans la table d’interruptions
allouée lors de l’installation de la carte (avec l’IRQ)
Voir « Enchaînement de routines d’interruption » syllabus chapitre 6 p.12-13

6.3.7. Interruption du µP
• Lors de la demande d’interruption
o µP termine l’instruction en cours
o Le registre « compteur ordinal » du µP contient
l’adresse de la prochaine instruction à exécuter
o Le registre Pointeur de pile (stack pointer)
possède adresse du 1er emplacement libre dans
la pile (sommet de la pile)
 Sauver l’adresse dans la « pile » en mémoire « stack »
 Idem avec les autres registres du processeur
• A la fin de la routine
o Instruction « Interrupt return » restaure l’état du processeur
o Récupérer l’adresse dans la pile et rétablir le compteur ordinal

6.3.8. Masquable/non masquable


• Masquable
o (INTR) peuvent être ignorées par le processeur. µP active une ligne CLI (Clear
Interrupt) et continue le programme initial
• Non masquable
o µP obligé d’y répondre
▪ Ex. : Routine dans la ROM BIOS (problème de parité de la mémoire, …)
o Entrée µP : NMI (le µP possède une entrée supplémentaire Not Mask. Interruption)
o INTR et NMI sont activées simultanément
o Une 2ème entrée dans la table d’interruptions est dédiée aux NMI

Page 46 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

6.4. Transfert DMA


Idée : soulager le processeur des transferts en
mémoire.

Principe :

• Direct Access Memory


o Mécanisme pour transférer
rapidement les données d’un
périphérique vers la mémoire
et inversement.
• Transfert DMA
o N’exige plus que le µP gère le transfert.
o µP doit « juste » initialiser le transfert.
o Transfert réalisé par le contrôleur DMA (circuit spécialisé ou carte).
o Une fois le contrôleur DMA initialisé, le transfert peut commencer et le µP est libre
d’effectuer une activité productive.
• « Programmation » par un programme ou par une routine se trouvant dans la ROM du
périphérique.
• Transfert DMA transporte les données directement entre la source et la destination sans
passer par un stockage intermédiaire.
o Quand µP : il lit un octet dans le périphérique, le stocke dans un registre interne puis
il copie du registre vers la mémoire.
o Contrôleur DMA fait transfert en 1 étape en manipulant signaux de contrôle du BUS.

6.4.1. « Actions » pour transfert DMA


Un transfert DMA s’effectue au moyen des 4 actions suivants :

• Initialisation du canal DMA par le µP


o Chaque contrôleur DMA possède ses propres registres accessibles en
lecture/écriture par le µP
o Le processeur initialise en programmant ces registres
o 4 registres : Adresse mémoire (où données lues/écrites), Compteur (nombre d’octets à
échanger), Adresse du périphérique, Sens du transfert (lecture/écriture en mémoire)
• Initialisation du périphérique
o Le processeur envoie des signaux de contrôle au périphérique pour indiquer une
lecture ou une écriture.
• Obtention du contrôle du bus par le contrôleur DMA

Page 47 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

6.4.2. Modes de transfert


Le contrôleur DMA peut être programmé pour travailler dans 3 modes différents :

• Transfert simple
o DMA partage le bus avec le processeur, DMA rend le contrôle après chaque octet.
• Transfert par bloc
o Quand il y a bcp de données (HD, FD, …), transfert pendant AU PLUS le temps entre
2 rafraîchissements de la RAM.
• Transfert à la demande
o Transfert aussi longtemps que le périphérique maintient le signal DRQn actif et que
l’on ne dépasse pas les capacités de transfert du contrôleur DMA.

6.4.3. Réalisation dans les PC


Dans les premiers PC, il y avait un seul contrôleur de DMA
avec 4 entrées programmables appelées canaux DMA et
numérotées de 0 à 3.

Ensuite avec les machines AT, on a utilisé deux circuits


DMA mis en dérivation et on dispose de 7 canaux DMA
utiles. Le 8ème, le canal 4, sert à relier les deux contrôleurs
entre eux.

6.4.4. Gestion des priorités


• Priorité fixe :
o En fonction du numéro du canal.
0 la plus haute, 3 la plus basse.
ATTENTION quand 2 contrôleurs, le second est connecté au canal 4. Les canaux du
second sont donc prioritaires par rapports aux 3 derniers canaux du contrôleur
maître.
o Un canal de priorité basse attend que le canal de priorité haute ait fini avant de
transférer.
• Priorité tournante :
o Le dernier qui a travaillé devient celui de plus basse priorité.
o Les autres effectuent en fonction de celui qui change de priorité une rotation dans
l’ordre des priorités.
o Permet d’éviter qu’un canal monopolise le contrôleur.
o ATTENTION : à l’initialisation de la machine, le programme POST initialise par
défaut le contrôleur DMA en priorité fixe.

Page 48 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

Chapitre 7 : Les médias numériques


7.1. Image
Les utilisations d’images numériques sont nombreuses :

• Album photos personnel


• Fond pour le « bureau » de l’ordinateur
• Site web
• Insertion dans un document pour impression sur imprimante/chez un imprimeur
• Impression sur papier argentique sur imprimante/chez un imprimeur
• Insertion dans un montage vidéo (numérique)
• …

Chacune de ses utilisations requière une préparation différente de l’image et la sauvegarde de celle-
ci dans un format adéquat.

7.1.1. Images calculées/non calculée


Selon que l’étape finale de rendu est réalisée par l’« Homme » ou la « Machine », on parlera,
respectivement, d’images non calculées (photos retouchées, graphismes, dessins, images 2D) ou
calculées (images de synthèse).

7.1.2. Images fixes/animées


7.1.3. Images « point à point » (bitmap)/vectorielles
7.1.3.1. Les images « bitmap »
Ces images sont constituées d’une matrice de points élémentaires, les pixels (picture element).
Chaque pixel ayant comme attribut sa couleur.
C’est le format le plus « riche » en détail mais a de gros défauts dont le « poids » (taille en nombre de
pixels) de ces images qui est souvent très grand. De plus, lorsqu’on veut « agrandir » l’image,
l’ordinateur va « calculer » les points qu’il doit insérer. Il faut retenir que : « Toute modification
apportée à un pixel est irréversible ».

7.1.3.2. Les images vectorielles


Dans le mode vectoriel, les images sont constituées d’éléments mathématiques. Dès lors, la taille de
l’image n’influence pas son « poids ». Agrandir une telle image revient à modifier les proportions
« mathématiques » des objets qui la composent avant de les redessiner. Il n’y a donc pas de
« modification » du dessin original puisqu’il est juste redessiné dans une taille différente.

7.1.4. La notion de pixel


Un pixel est un point élémentaire. Ce point est « coloré » et va pouvoir prendre un certain nombre
de couleurs. Selon le nombre de couleurs qu’il peut prendre, un pixel nécessitera plus ou moins de
place en mémoire.

S’il peut prendre 𝟐𝒏 couleurs il faudra 𝒏 par pixel. + la définition


2 1 bit est meilleure
4 2 bits
16 4 bits
256 8 bits = 1 octet
65 536 2 octets
16 777 216 3 octets
4 294 967 296 4 octets
7.1.5. La notion de « résolution de l’image »
La résolution s’exprime en points par pouce (ppp) ou, en anglais, dots per inch (dpi).
La résolution traduit le nombre de pixels que l’on trouve dans un pouce (2,54cm).

Page 49 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
7.1.6. La résolution de « sortie »
7.1.6.1. La notion de « points par pouce » (ppp) ou, en anglais, « dots per inch » (dpi)
La résolution de sortie est celle qu’utilise le périphérique de sortie auquel est destinée l’image. Ainsi,
les résolutions de sortie courantes sont pour :

• Un écran : 72 dpi (vieil écran) ou 96 dpi (nouveaux écrans).


• Une imprimante : 300, 600 ou 1200 dpi et plus.
• Une photocomposeuse : 1200 ou 2400 dpi.

Ces différences de résolution vont fortement influencer la perception des images sur ces différents
périphériques.

7.1.6.2. La notion de « linéature » (lpi – « ligne par pouce ») ou de « trame »


En réalité, les imprimeurs ne travaillent pas avec la notion résolution en dpi mais en lpi.
La linéature va dépendre du papier sur laquelle on va imprimer l’image.

On a 3 grandes classes de papier :

• Papier « journal » 60  100 lpi


• Papier « non-couché » 100  133 lpi
• Papier « couché » 133  200 lpi

Une petite formule très simple va permettre de connaître la résolution nécessaire et suffisante qui
donnera toujours le même résultat que les résolutions supérieures :

• Moins de 133 lpi, multiplier la linéature par 2 pour avoir la résolution nécessaire/suffisante ;
• Plus de 133 lpi, multiplier la linéature par 1,5 pour avoir la résolution nécessaire/suffisante.
60 133 200

x2 x 1,5
7.1.7. Acquisition numérique d’images
Sauf si on a déjà un support « numérique », la première étape sera la numérisation du « document »
de départ. On devra pour cela utiliser un « scanneur ». La numérisation, ou plutôt ces paramètres,
va dépendre de la destination finale mais aussi du support de départ où se trouve l’image.

Ce support de départ pourra se présenter sous plusieurs formes :

• « A plat » : photo argentique, documents provenant de livre ou de revue, …


• « Positif » : diapositives
• « Négatif couleur »
• « Négatif Noir & Blanc »

En fonction du « support » de départ, la numérisation sera souvent différente.

Puisque la « source » à une certaine taille « métrique » et qu’en fonction de sa sortie finale, elle
devra avoir une certaine taille en pixels, on parlera également de résolution de numérisation. Les
scanneurs sont, la plupart du temps, caractérisés par 2 résolutions :

• La résolution optique : résolution maximale que permet de réaliser le scanneur sans


artifices.
• La résolution par interpolation : résolution maximale obtenue en interpolant (calculant) des
points que le scanneur ne peut pas voir à cause de sa résolution optique. Cette résolution par
interpolation peut parfois être double par rapport à la résolution optique.

Page 50 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
C’est ainsi qu’on parle d’un scanneur 1200/2400 dpi où la 1ère valeur est la résolution optique et la
suivante la résolution par interpolation.

Outre le scanneur en lui-même, la numérisation va se faire à travers un logiciel « spécialisé » qui est
fourni avec le scanneur et on pourra y régler : le type de la source, la résolution, la taille, la
colorimétrie de sortie, le détramage (prend en compte la qualité du papier et/ou de l’impression).

« Une image mauvaise au départ à peu de chance d’être meilleure par la suite »

7.1.8. Le « détramage » ou « démoirage »


Il existe 2 grands types de tramage.
Lorsqu’on imprime en « basse résolution », la couleur ne couvre pas toute la surface du papier.
L’image est consituée de points plus ou moins épais dans les couleurs de bases de l’impression. On
parle alors de « moiré » ou de « trame ». Lorsqu’on numérise une image de ce type et qu’on monte
en résolution, ce moirage est de plus en plus visible.

Malheureusement, le « démoirage » génère du flou.

7.1.9. Le support de la source

Il y a le support papier ou « à plat » comme vu précédemment.


Les autres sont les négatifs « noir & blanc » ou « couleur » et les diapositives.
Ces supports posent différents problèmes : la lumière, la taille d’origine, le prétraitement et le
réglage de la focale.

7.2. La couleur
Les couleurs sont des sensations créées au niveau du cerveau à partir du stimulus détecté sous une
lumière particulière par trois des pigments de la rétine (cônes).

7.2.1. La luminosité et la luminance


La luminosité fait référence à la quantité de lumière qui est absorbée ou réfléchie par la zone
colorée, elle fait donc appel à la sensibilité de la vision humaine aux intensités lumineuses.
Pour parler strictement, la luminosité devrait être exprimée en candelas par mètres carrés mais en
pratique, elle est souvent normalisée à 1 ou 100 unités en fonction de la luminance du blanc de
référence.

7.2.2. La teinte
La teinte est définie par la capacité de la vision humaine d’associer une zone de couleur à une autre
définie comme étant de couleur rouge, verte ou bleue ou d’une combinaison de 2 de ces couleurs.
Si la longueur d’onde de la lumière éclairant la zone colorée varie, alors la teinte de la zone varie.

7.2.3. La saturation
La saturation d’une couleur est l’intensité de celle-ci par rapport à sa luminosité.
On peut désaturer une couleur en ajoutant à celle-ci une lumière qui contient des radiations
lumineuses qui contiennent toutes les longueurs d’ondes (du blanc pur).

7.2.4. L’intensité
L’intensité est une mesure de la puissance électromagnétique qui est réfléchie ou rayonnée par une
surface.
N’oublions pas qu’un espace de couleur est défini pour certaines conditions d’éclairement, il sera
donc évident rapidement qu’une image RGB sur un écran X sera différente sur un écran Y qui ne
possède pas les mêmes caractéristiques.

Page 51 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
7.2.5. Utilisation d’un espace de couleur spécifique pour une image numérique
Une image numérique est représentée par un ensemble de pixels. Chacun des pixels contient des
composantes numériques qui définissent une couleur. 3 composantes sont nécessaires et suffisantes
pour ceci (Rouge, Vert, Bleu), c’est le principe de la vision trichromatique, même si pour l’impression,
il est plus pratique d’utiliser 4 composantes (Cyan, Magenta, Jaune, Noir), c’est la quadrichromie.

7.2.5.1. RGB (Red, Green, Blue), R’G’B’ et sRGB


7.2.5.2. CMYK (Cyan, Magenta, Yellow, BlacK) - CMJN
7.2.5.3. TSL (Teinte, Saturation, Luminance) – HSB (Hue, Saturation, Luminance)
7.2.5.4. Les fausses couleurs
La représentation des valeurs d’une image nécessite 8 bits dans le cas d’une image monochrome et
3 ∗ 8 = 24 dans le cas d’une image RGB. Pour réduire le nombre de bits dans le cas d’une image en
couleurs, on réduit la taille de l’espace des couleurs en sous-échantillonnant l’espace RGB.
Il est également possible de considérer les 256 valeurs d’une image comme les 256 indices d’un
vecteur tridimensionnel reprenant les composantes RGB de couleurs. On parle alors de palette de
couleurs ou de Color Look Up Table (CLUT).

On parle de représentation en fausses couleurs car elles ne représentent pas des couleurs physiques.

7.2.6. Espace CIE


La CIE (Commission Internationale de l’Eclairage) a défini un espace de
couleur qui se représente en général sous la forme de la courbe ci-
contre appelée « diagramme chromatique ».
Cela correspond à l’espace des couleurs visible par notre œil.

On ne sait pas voir sur un écran toutes les couleurs que l’on peut voir
ou imprimer et l’on ne sait imprimer toutes les couleurs que l’on voit à
l’œil ou affichée sur l’écran.

Différents écrans n’auront pas forcément la même « couverture ».

7.3. Format d’images


Un format d’image comprend en général un en-tête qui contient des données sur l’image (taille en
pixels par exemple) suivie des données de l’image. La structuration des données est différente pour
chaque format d’image.
• Il est important d’éviter les formats propriétaires (format propre à un programme et que lui seul ou presque
reconnaît) et de leur préférer des formats libres de tous droits,
• Il faut prendre garde aux différentes versions que peut recouvrir un format particulier. C’est notamment le cas
pour le format TIFF qui varie selon les versions et qui fait que certaines versions ne sont pas reconnues par
certains logiciels.

Bitmap/vectoriel Compression des Nombre de Affichage Animations Transparence


données couleurs progressif
supportées
JPEG Bitmap Oui, réglable 16 millions Oui Non Non
(avec pertes)
JPEG Bitmap Sans perte 16 millions Oui Non Non
2000 (MPEG)
GIF Bitmap Oui (sans perte) 256 (palette) Oui Oui Oui
PNG Bitmap Oui (sans perte) 256 (palette) à 16 Oui Non (MNP) Oui (couche
millions (et +) alpha)
TIFF Bitmap Oui (sans perte) 16 millions Non Non Non
ou non (au choix)
Le JPEG travaille par couche, le GIF réduit à 256 teintes (1 octet par pixel).
En développement web, on a droit aux formats suivants : JPEG, GIF, PNG.

Page 52 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)

7.4. Son
7.4.1. Numérisation
La transformation d’un signal analogique en signal numérique est appelée numérisation ou
échantillonnage. L’échantillonnage consiste à prélever périodiquement des échantillons d’un signal.
La qualité du signal numérique dépendra de 2 facteurs :

• La fréquence d’échantillonnage (appelé taux d’échantillonnage) : plus celle-ci est grande


(c’est-à-dire que les échantillons sont relevés à de petits intervalles de temps) plus le signal
numérique sera fidèle à l’original.
• Le nombre de bits sur lequel on code les valeurs (appelé résolution) : il s’agit du nombre de
valeurs différentes qu’un échantillon peut prendre. Plus celui-ci est grand, meilleure est la
qualité.

Grâce à la numérisation, on peut garantir la qualité d’un signal, ou bien la réduire volontairement
pour : diminuer le coût de stockage, diminuer le coût de la numérisation, diminuer les temps de
traitement, tenir compte du nombre de valeurs nécessaires selon l’application et tenir compte des
limitations matérielles.

7.4.2. Echantillonnage du son


On appelle cette action l’échantillonnage ou numérisation du son. L’intervalle de temps entre 2
échantillons est appelé taux d’échantillonnage. Le nombre d’échantillon par seconde s’exprime en
Hertz (Hz).

Taux d’échantillonnage Qualité du son


48.000 Hz Qualité DV
44.100 Hz Qualité CD
22.050 Hz Qualité Radio
8.000 Hz Qualité Téléphone

Le théorème de Shannon stipule que pour numériser fidèlement une valeur ayant une fréquence
donnée, il faut numériser au double de cette fréquence.

Un son est représenté (informatiquement) de plusieurs paramètres : la fréquence d’échantillonnage,


le nombre de bits d’un échantillon, le nombre de voies (1 correspond à mono, 2 à stéréo, 4 à quadriphonie et 6
au Dolby Surround 5.1).

7.4.2.1. Mémoire requise pour stocker un son


Pour connaître la taille d’une voie, il suffit de connaître le taux d’échantillonnage, qui va nous
permettre de savoir le nombre d’échantillons par seconde, donc la taille qu’occupe une seconde de
musique. Celle-ci vaut :
𝑇𝑎𝑢𝑥 𝑑′ é𝑐ℎ𝑎𝑛𝑡𝑖𝑙𝑙𝑜𝑛𝑛𝑎𝑔𝑒 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑏𝑖𝑡𝑠
Ainsi, pour savoir l’espace mémoire que consomme un extrait sonore de plusieurs secondes, il suffit
de multiplier la valeur précédente par le nombre de seconde :
𝑇𝑎𝑢𝑥 𝑑′ é𝑐ℎ𝑎𝑛𝑡𝑖𝑙𝑙𝑜𝑛𝑛𝑎𝑔𝑒 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑏𝑖𝑡𝑠 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑠𝑒𝑐𝑜𝑛𝑑𝑒𝑠
Enfin, la taille finale de l’extrait est à multiplier par le nombre de voies (elle sera alors 2 fois plus
importante en stéréo qu’en mono…). La taille en bits d’un extrait sonore est ainsi :
𝑇𝑎𝑢𝑥 𝑑′ é𝑐ℎ𝑎𝑛𝑡𝑖𝑙𝑙𝑜𝑛𝑛𝑎𝑔𝑒 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑏𝑖𝑡𝑠 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑠𝑒𝑐𝑜𝑛𝑑𝑒𝑠 ∗ 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑣𝑜𝑖𝑒𝑠
7.4.2.2. Les types de son
Traditionnellement, on a classé les différents sons en 3 catégories : la parole, la musique et les
bruits.

Page 53 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
7.4.2.3. Quelques conseils pour un enregistrement de qualité
Niveau sonore, distance micro, affichage des volumes, taux d’échantillonnage et choix du micro.

7.4.3. MP3
Le MP3 « MPEG Audio Layer 3 » est un format de compression de données audio par destruction de
données audio développée par l’organisation de standardisation internationale (ISO). Ce format
permet de compresser à un taux de 1:12 les formats audio habituels (WAV ou CD audio). Vous
pouvez donc mettre l’équivalent de 12 albums de musique sur un seul CD de MP3. De plus, le format
MP3 n’altère pas le son pour l’oreille humaine.

Bande passante Mode Débit Qualité Compression Ko


11.025 Mono 8 Kbps Mauvaise 200:1 5
22.050 Stéréo 64 Kbps Bonne 25:1 40
44.100 Stéréo 96 Kbps Très bonne 16:1 62,5
44.100 Stéréo 128 Kbps Excellente 12:1 83,3

La décompression d’un fichier MP3 (c’est-à-dire la lecture) se fait en temps réel, mais monopolise
une grande partie des ressources du « système », c’est pourquoi il est déconseillé sur des machines
plus anciennes de lancer une autre application gourmande en mémoire pendant la lecture.

7.5. Vidéo
7.5.1. Différence entre vidéo analogique et vidéo numérique
Vidéo analogique Vidéo numérique
• COPIES : dégradation de la qualité • COPIES : copies identiques aux rushes
• RECUPERATION : difficile car physique • RECUPERATION : instantanée
• EXPLOITATION : d’un résultat partiel • EXPLOITATION : d’un résultat exhaustif
• LONGEVITE doublement limitée • LONGEVITE : illimitée
• IDENTIFICATION : aléatoire • IDENTIFICATION : systématique
• 1 bande = 1 utilisateur : Accès 1 pour 1 • Accès direct en quelques ms à toutes
Caractère exclusif de l’accès physique les infos archivées
• Doublons coûteux • Aucune usure de bande vidéo, tout
• Espace de stockage important étant stocké sur support numérique
• Chasse aux cassettes • Séquences vidéo largement
« documentables » au travers d’un
SGBD performant, permettant une
recherche efficace
• Télédiffusion sans aucune dégradation
• Pas d’exclusion d’accès, pas
d’égarement de K7
• Pas de doublons de K7
• Espace libéré = confort de travail
• Plus de déplacement et de perte de
temps
Longévité illimitée pour la vidéo numérique à condition qu’on respecte certaines choses (chaleur, rayon UV, …).

7.5.2. La compression Spatiale (Intra Image)


On l’a aussi dans le JPEG.

7.5.3. La compression temporelle (inter-images, ou inter-trame fields)


Le but de la compression temporelle : « Ne transmettre que le minimum d’informations d’une
image à l’autre ». La plupart des images vidéo ayant très peu de zones d’image différentes, d’une
image à l’autre. Certaines images sont complètes, d’autres sont complétées en fonctions des images
voisines, seuls les éléments nouveaux de l’image sont transmis.

Page 54 sur 55
Melvin Campos Casares Synthèse initPC (Janvier 2017)
7.5.3.1. Types d’images : I, P, B
• Images I : Intra, c’est une image complète, qui va servir de référence aux autres images.
• Images P : Prédite, elle pèse environ 50% du poids d’une image I et est recomposée à partir
de l’image I qui la précède.
• Images B : Bidirectionnelle, elle pèse environ 15% du poids d’une image I, et est recomposée
à partir des images I et P qui l’entourent, dans les 2 directions.

C’est grâce aux images B que l’on fait


tomber drastiquement le débit d’un flux
MPEG.
Les images sont structurées sous forme
de GOP (Group Of Pictures), qui forme
l’entité redondante de la structure
MPEG. Dans un flux MPEG, le GOP est fixe sur toute la longueur du flux. Le paramètre N détermine la
distance entre 2 images I, et M la distance entre 2 images P.
Exemples :

• Un flux MPEG1 N=12 et M=3 : I B B P B B P B B P B B I …


• Un flux de visioconférence MPEG2 : I B B B B B B P B B B B B B P B B B B B B P B B B B B B I …
• Un flux BETACAM SX : I B I B I B I B I B I B I B I B I …

7.5.4. Montage numérique


Avant :

• Montage linéaire >> Les séquences sont copies bout à bout.


• Une modification de séquence implique un remontage complet ou partiel, ou une perte de
génération.

Après :

• Montage non-linéaire (dit virtuel) >> Toutes séquence peut être modifiée dynamiquement
dans un espace virtuel (le disque dur).

7.5.5. Analogique/Numérique : Avantages/Inconvénients


Numérique Analogique
• Avantages • Inconvénients
o Temps réel, o Montage linéaire,
o Master prêt à diffuser immédiatement, o Difficulté de modification du Master,
o Prix d’une station CUT, o Prix des éléments séparés,
o Montage non linéaire, o Dégradation des générations,
o Tout en un (peut aussi être un inconvénient), o Limitation des machines du parc,
o Création quasi-illimitée, o Non-évolutivité des machines.
o Modification du Master ultra-rapide,
o Accès aux rushes partageable,
o Evolutivité informatique.
• Inconvénients
o Etape de numérisation obligatoire,
o Bases Informatiques,
o Temps de calculs,
o Complexité des processus informatiques.

Un « film » sera une « super » séquence où l’on assemble toutes les petites séquences réalisées.

Page 55 sur 55

Vous aimerez peut-être aussi