Académique Documents
Professionnel Documents
Culture Documents
Filières G.E-G.I.M S1
1 NUMERATION
I) Principe :
1) Définitions :
La numération représente un nombre par la juxtaposition de symboles appelés chiffres, pris parmi un
ensemble. Par exemple, dans le système décimal (Base 10), cet ensemble contient 10 symboles différents :
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Le nombre de symboles définit la base de numération ; et la position respective des chiffres détermine
leurs poids.
2014 = 2 × 1000 + 0 × 100 + 1 × 10 + 4 × 1
2014 = 2 × 103 + 0 × 102 + 1 × 101 + 4 × 100
1 1
3.14 = 3 × 1 + 1 × +4×
10 100
3.14 = 3 × 101 + 1 × 10−1 + 4 × 10−2
2) Généralisation :
Soit une base b, associée à b symboles : {S0, S1, ... Sb-1}. Un nombre N s'écrit alors avec la règle suivante :
𝑁 = (𝑎𝑛∙ 𝑎𝑛−1 ⋯ 𝑎0 , 𝑎−1 ⋯ 𝑎−𝑚 )𝑏 avec 𝑎𝑖 ∈ {𝑆0 , S1 , . . . Sb−1 }
Ce nombre s'écrit sous forme polynomiale :
𝑁 = 𝑎𝑛∙ 𝑏 𝑛 + 𝑎𝑛−1∙ 𝑏𝑛−1 + ⋯ + 𝑎0∙ 𝑏0 + 𝑎−1∙ 𝑏−1 + ⋯ + 𝑎−𝑚∙ 𝑏 −𝑚
𝑛
𝑁 = ∑ 𝑎𝑖 × 𝑏 𝑖
𝑖=−𝑚
Où :
ai est le chiffre (digit) de rang i, son poids est bi.
an est le chiffre le plus significatif (M.S.B.).
a-m est le chiffre le moins significatif (L.S.B.).
an ... a0 représente la partie entière.
a-1 ... a-m représente la partie fractionnaire.
La base 2 est la base la plus utilisée en électronique. On dispose de 2 symboles {0, 1} appelés bits.
(101)2 = 1 × 22 + 0 × 21 + 1 × 20 = (5)10
(1010,1)2 = 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 0 ⋅ 20 + 1 ⋅ 2−1 = (10,5)10
La base 16 (hexadécimal) est la base la plus utilisée en logique programmée. On dispose de 16 symboles :
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.
(𝐴𝐵8)16 = 𝐴 ⋅ 162 + 𝐵 ⋅ 161 + 8 ⋅ 160 = 10 ⋅ 162 + 11 ⋅ 161 + 8 ⋅ 160 = (2744)10
(𝐵48𝐸, 𝐶)16 = 𝐵 × 163 + 4 ⋅ 162 + 8 ⋅ 161 + 𝐸 ⋅ 160 + 𝐶 ⋅ 16−1
= 11 ⋅ 4096 + 4 ⋅ 256 + 8 ⋅ 16 + 14 ⋅ 1 + 12 ⋅ 0.0625 = (46222 ⋅ 75)10
III) Conversions de bases
1) Passage de la base b à la base 10 :
C'est l'exploitation directe de la forme polynomiale :
𝑁 = 𝑎𝑛∙ 𝑏 𝑛 + 𝑎𝑛−1∙ 𝑏𝑛−1 + ⋯ + 𝑎0∙ 𝑏0 + 𝑎−1∙ 𝑏−1 + ⋯ + 𝑎−𝑚∙ 𝑏 −𝑚
2) Passage de la base 10 à la base b :
• Conversion par divisions successives :
On divise le nombre décimal par b jusqu'à 0, et on ne prend que les restes en remontant.
23 2
1 11 2 (23)10 = (10111)2
1 5 2
1 2 2
0 1 2
1 0
(625)10 = (1161)8 (4592)10 = (11𝐹0)16
;
Pour les nombres à virgule, on fait la partie entière avec la méthode précédente et la partie fractionnaire que
l'on multiplie par b, et on ne garde que la partie entière et l'on recommence avec la partie décimale. Et on lit
le nombre binaire dans l'ordre.
(23,375)10 = (? )2
0,375 × 2 = 0,75 → 0
0,75 × 2 = 1,50 → 1 } ⇒ 0,37510 = 0,0112 ⇒ (23,375)10 = (10111,011)2
0,50 × 2 = 1,00 → 1
2
EST_GE/GIM S1
IV) Operations arithmétiques en binaire :
1) L'addition :
Quand on additionne deux nombres binaires, on obtient une retenue quand la somme d'une colonne est
supérieure ou égale à 210.
• Table d'addition
a b a+b
0 0 0
0 1 1
1 0 1
1 1 0 avec une retenue de 1
• Exemples
2) La soustraction :
On effectue la soustraction de la même manière qu'en décimal, si le chiffre à soustraire est plus grand, on
augmente le chiffre que l'on soustrait de 10, que l'on retranchera dans la colonne suivante.
• Table d'addition
a b a-b
0 0 0
0 1 1 avec une retenue de 1
1 0 1
1 1 0
• Exemples
3
EST_GE/GIM S1
(
Le complément restreint : CR ( N ) = 2 F − 1 )
10
− N10 avec ( 2F − 1) est le plus grand nombre que l'on puisse
représenter avec le format de F bits.
Il s'obtient donc en inversant chaque bit de N2 sans oublier le bit de poids fort (signe).
N10 = 1410 alors en base 2 N2 = (00001110)2
̅̅̅̅ ̅̅̅̅
−𝑁2 = 𝑁2 = 11110001 et N2 = (00001110)2 = N2
Exemple :
Si F=8 et b=2 C=256. Alors 𝑁max = (127)10 = (7F)𝐻
· Si 𝐵10 =75, alors -75=C𝑅 (𝐵)=255-75=180 et 𝐴10 =100alors dans ce cas A-B=(100-75)=100+180, c'est égal à
255+25=25 résultat positif.
·(-75)10 = (01001011)2 ; (-75)10 = (10110100)2 = 𝑁2 .
Remarque :
- Il y a deux représentations du zéro +0 : (00)𝐻 et -0 : (FF)𝐻 .
b) Complément à 2 (complément vrai) :
On le définit comme étant la valeur :𝐶𝑣 (𝑁) = (2𝐹 )10 − 𝑁10 = 𝐶𝑅 (𝑁) + 1
Pour obtenir le complément à 2, il suffit d'ajouter 1 au complément à 1.
N10 = 1410 alors en base 2 : N2 = (00001110)2
̅̅̅2̅ = 11110001 ; N
N ̅̅̅2̅ + 1 = 11110010
On peut donc utiliser cette méthode pour obtenir des nombres signés. Le M.S.B. est toujours représentatif du
signe.
Si on travaille sur n+1 bits, alors on pourra représenter un nombre N tel que : −2𝑛 ≤ 𝑁 ≤ 2𝑛 − 1
0 0000 -1 1111
1 0001 -2 1110
2 0010 -3 1101
3 0011 -4 1100
4 0100 -5 1011
5 0101 -6 1010
6 0110 -7 1001
7 0111 -8 1000
Exemples : N10 = 75 → N2 = (01001011)
N10 = -75 → (10110101)2
100 01100100 01100100
-75 -01001011 +10110101
25 00011001 1 00011001 lecture directe du résultat
50 00110010 00110010
-75 -01001011 +10110101
-25 11100111 11100111 le résultat est en complément à deux : 256-231=25
Remarque :
1) Pour effectuer une soustraction, il suffit de faire une addition avec le complément à deux. Le résultat
se lit directement en complément à deux :
- si le signe est + la lecture est directe,
- si le signe est (-), on convertit le résultat en recherchant le complément à deux de celui-ci.
2) Il existe une autre méthode pour obtenir le complément vrai. On examine le nombre binaire en
commençant par le bit de poids faible. On conserve les zéros s'il y en a jusque et y compris le premier 1
rencontré. On complémente ensuite les autres bits.
4
EST_GE/GIM S1
3) Représentation des nombres fractionnaires.
Norme ANSI IEEE standard 754 pour la représentation des réels
1) Simple précision.
31 22 0
S E M
La norme IEEE754 permet de représenter certaines valeurs spéciales lorsque E vaut 0 ou 255.
S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M
0 1 8 9 31
63 51 0
S E M
5
EST_GE/GIM S1
VI) Codage :
1) Notion de codage
Un dispositif logique ou numérique est destiné à manipuler des informations diverses qui doivent être
traduites par un ensemble de 0 et 1, obtenu suivant une loi de correspondance préétablie : c’est l’opération de
codage de l’information.
Exemples de codes :
* Code ASCII : chaque touche du clavier est codée sur 8 bits, donc on peut coder 256 caractères.
Exemple : Touche ‘A’ ==> code ASCII « 01000001 » ??
* Code DCB (Décimal Codée en Binaire) : utilisé uniquement pour les chiffres décimaux. Ce code est obtenu
en remplaçant individuellement chacun des chiffres du nombre à représenter par son équivalent binaire pur.
Exemple : 2458(10) = 0010 0100 0101 1000(DCB)
- Avantages : Représentation plus simple et très utile pour les systèmes d’affichage à 7 segments.
- Inconvénient : nécessite plus de bits.
Pour passer d'un nombre binaire à son équivalent en GRAY, on peut utiliser la formule suivante :
𝑁2 ⊕ (2 ⋅ 𝑁2 )
𝑛𝐺𝑅𝐴𝑌 =
2
Exemple :
(432)10 = (110110000)2 = (101101000)𝐺𝑅𝐴𝑌
6
EST_GE/GIM S1
c) Code BCD
Il s'agit de coder en binaire chacun des chiffres décimaux. Son utilisation est fréquente lorsque l'on compte
des événements et que l'on visualise le comptage. Le compteur est constitué de décades de 4 bits, et le
contenu de chaque compteur est directement affiché en clair
Décimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 00010000
11 00010001
12 00010010
13 00010011
14 00010100
15 00010101
3) Codage ASCII
Un fichier contient une représentation de données. Par exemple un fichier peut contenir une représentation
d'un texte (mais aussi d'une image, d'un son ...). Bien souvent on dit plus simplement que le fichier contient
le texte.
Le contenu du fichier n'est lui-même qu'une suite de 0 et de 1, des bits. On choisit donc de coder chacune des
lettres, plus généralement chacun des caractères, par une représentation binaire.
Historiquement, le codage ASCII a été défini et utilisé pour écrire des textes en anglais.
La table ASCII fournit la correspondance entre 128 caractères et leur représentation binaire. Les caractères
sont numérotés de 0 à 127. A priori, 7 bits suffisent à coder ces caractères, en effet 128 = 27. En pratique, les
ordinateurs travaillent presque tous sur des multiples de 8 bits, ce que l'on nomme octet. Chacun des 128
caractères ASCII est donc codé par un octet dont le 8ème bit est à 0.
Un caractère peut être une lettre, un chiffre, une ponctuation, tout autre symbole accessible via les touches de
votre clavier, etc.
7
EST_GE/GIM S1
Table des caractères ASCII
Note : les 33 caractères de contrôle (deux premières lignes et caractère DEL) correspondent aux significations
suivantes :
Application :
Donnez la représentation binaire ASCII du texte suivant :
Je code en binaire !
0100101001100101 0010000001100011 0110111101100100 0110010100100000 0110010101101110 0010000001100010
0110100101101110 0110000101101001 0111001001100101 0010000000100001
8
EST_GE/GIM S1
2 Systèmes à microprocesseur
I) Introduction
Avant l’avènement des microprocesseurs, on commandait les machines et les procédés industriels
par des séquenceurs ou avec des circuits logiques, ces derniers ont rendu de grands services mais ils
présentent l’inconvénient d’être spécifiques à une machine déterminée et pour une application
donnée : c’est la logique câblée.
Le microprocesseur pourrait s’adapter à de nombreux types de machines, son comportement est
déterminé par un programme qui indique au microprocesseur les taches que doit effectuer.
-microprocesseur : circuit intégré logique complexe commandé par un programme.
II) La logique programmée
1) Définition
Le programme qui définit le comportement du processeur est rangé dans la mémoire ; le
processeur ira chercher une instruction dans la mémoire, exécutera l’opération correspondante, puis
ira chercher en mémoire la prochaine instruction du programme l’exécutera, et ainsi de suite, une
telle logique est dite : logique programmée et elle correspond au logiciel (Software)
Les systèmes à logique câblée sont conçus à l'aide de circuits intégrés logiques.
1. La logique combinatoire
9
EST_GE/GIM S1
les sorties sont définies uniquement à partir des
variables d'entrée
2. La logique séquentielle
▪ La logique programmée
10
EST_GE/GIM S1
Entrées
Horloge
Bus d’adresses Touches de commande
Capteurs de température
(AB) et Capteur de cliquetis,
sonde lambda ….
Unité ROM RAM Ports
centrale (programme) (Données) d’E/S
Sorties
Moteurs, Électrovanne
E.G.R; injecteurs ; pompe,
…
Bus de controle Bus de donnees
(CB) (DB)
Un système minimum est l’ensemble de circuits, de composants nécessaires pour la
constitution d’un système programmable. Un système minimal doit obligatoirement comporter les
trois (3) éléments essentiels suivants :
a-1) Modèle d’architecture de Von Neumann
L’architecture de von Neumann est un modèle structurel d’ordinateur dans lequel une unité de
stockage (mémoire) unique sert à conserver à la fois les instructions et les données demandées ou
produites par le calcul. Les ordinateurs actuels sont tous basés sur des versions améliorées de cette
architecture.
11
EST_GE/GIM S1
a-3) L’unité centrale (appelé CPU : Central Processing Unit)
Elle est composée par le microprocesseur qui est chargé :
▪ De recevoir les informations provenant de la périphérie (touches de commande, différents
capteurs, …)
▪ d’interpréter et d’exécuter les instructions d’un programme
▪ de lire ou de sauvegarder les résultats dans la mémoire
▪ de communiquer avec les unités d’échange
Toutes les activités du microprocesseur sont cadencées par une horloge.
On caractérise le microprocesseur par :
– sa fréquence d’horloge : en MHz ou GHz
– le nombre d’instructions par secondes qu’il est capable d’exécuter : en MIPS
– la taille des données qu’il est capable de traiter : en bits
b) La mémoire principale
Elle contient les instructions du ou des programmes en cours d’exécution et les données associées
à ce programme. Physiquement, elle se décompose souvent en :
– une mémoire morte (ROM = Read Only Memory) chargée de stocker le programme. C’est une
mémoire à lecture seule.
– une mémoire vive (RAM = Random Access Memory) chargée de stocker les données
intermédiaires ou les résultats de calculs. On peut lire ou écrire des données dedans, ces données
sont perdues à la mise hors tension.
Remarque :
Les disques durs, disquettes, CDROM, etc… sont des périphériques de stockage et sont considérés
comme des mémoires secondaires.
b-1) Organisation d’une mémoire
Une mémoire est constituée de plusieurs cases mémoire. Chaque case peut contenir un seul
élément : des données. Le nombre de cases mémoires pouvant être très élevé, il est alors nécessaire
de pouvoir les identifier par un numéro. Ce numéro est appelé adresse. Chaque donnée devient
alors accessible grâce à son adresse
Adresse Case mémoire
7=111 1110 0001
6=110
5=101
4=100
3=011
2=010
1=001
0=000 0001 1111
Avec une adresse de n bits il est possible de référencer au plus 𝟐𝒏 cases mémoire. En plus du bus
d’adresses et du bus de données, un boîtier mémoire comprend une entrée de commande qui
permet de définir le type d’action que l’on effectue avec la mémoire (lecture/écriture) et une entrée
de sélection qui permet de sélectionner le boîtier de la mémoire.
12
EST_GE/GIM S1
Adresses (n bits)
̅
Mémoire Données (m bits)
R/𝑊
̅̅̅̅
𝐶𝑆
Remarque :
Les mémoires utilisées pour réaliser la mémoire principale d’un système à microprocesseur sont
des mémoires à semi-conducteur. Dans ce type de mémoire, on accède directement à n'importe
quelle information dont on connaît l'adresse et que le temps mis pour obtenir cette information ne
dépend pas de l'adresse. On dira que l'accès à une telle mémoire est aléatoire ou direct
b-3) Différents types de mémoire
❖ Les mémoires vives (RAM)
13
EST_GE/GIM S1
Une mémoire vive sert au stockage temporaire de données. Elle doit avoir un temps de cycle très
court pour ne pas ralentir le microprocesseur. Les mémoires vives sont en général volatiles : elles
perdent leurs informations en cas de coupure d'alimentation. Il existe deux grandes familles de
mémoires RAM (Random Acces Memory : mémoire à accès aléatoire) :
▪ Les RAM statiques : Le bit mémoire d'une RAM statique (SRAM) est composé d'une bascule.
Chaque bascule contient entre 4 et 6 transistors.
En général les DRAM, qui offrent une plus grande densité d'information et un coût par bit plus
faible, sont utilisées pour la mémoire centrale, alors que les mémoires statiques, plus rapides, sont
utilisées lorsque le facteur vitesse est critique, notamment pour des mémoires de petite taille
comme les caches et les registres.
14
EST_GE/GIM S1
❖ Les mémoires mortes (ROM)
Pour certaines applications, il est nécessaire de pouvoir conserver des informations de façon
permanente même lorsque l'alimentation électrique est interrompue. On utilise alors des mémoires
mortes (mémoires à lecture seule) (ROM : Read Only Memory). Ces mémoires sont non volatiles.
Ces mémoires, contrairement aux RAM, ne peuvent être que
lue. L’inscription en mémoire des données reste possible mais
est appelée programmation. Suivant le type de ROM, la
méthode de programmation changera. Il existe donc plusieurs
types de ROM :
▪ ROM : Elle est programmée par le fabricant et son
contenu ne peut plus être ni modifié, ni effacé par
l'utilisateur.
▪ PROM : C’est une ROM qui peut être programmée
une seule fois par l'utilisateur (Programmable ROM).
La programmation est réalisée à partir d’un
programmateur spécifique. Les liaisons à diodes de la
ROM sont remplacées par des fusibles pouvant être détruits ou des jonctions pouvant être
court-circuitées.
▪ EPROM ou UV-EPROM : ce sont des PROM Effaçables. Après une programmation, il est
possible de l'effacer puis de la reprogrammer complètement. Les UV EPROM s'efface aux
ultraviolets. Le boîtier est muni, sur sa face supérieure, d'une fenêtre en quartz transparente
aux U.V. Une exposition à un rayonnement U.V. pendant 15 à 30 minutes efface la totalité
de la mémoire. Pour éviter un effacement intempestif par des sources parasites telles que le
soleil, un cache opaque protège cette fenêtre.
EEPROM : (aussi appelées mémoires "Flash") sont des PROM Effaçables Electriquement. Ce type de
mémoire présente l'avantage par rapport au précédent de pouvoir être programmé et effacé in situ.
❖ Mémoire cache
Le principe de la mémoire cache est simple : il consiste à stocker dans une mémoire rapide et de
faible capacité les données les plus souvent utilisées.
La mémoire cache s'appuie sur deux facteurs :
▪ localité : on a une forte probabilité d'accéder à la donnée à l'adresse P+1 si on a accédé à la
donnée à l'adresse P
▪ temporalité : on a une forte probabilité d'accéder à la donnée à l'adresse P au temps T+1 si on
a accédé à la donnée à l'adresse P au temps T
Niveaux de caches
15
EST_GE/GIM S1
On distingue en fonction de leur taille et de leur localité :
La mémoire cache de premier niveau (L1) dont la taille est de deux fois 8 Ko (Pentium) ou deux fois 16 Ko
(Pentium Pro). On distingue
- le cache de données L1D
- du cache d'instructions L1I
La mémoire cache de second niveau (L2) dont la taille varie de 256 à 512 Ko.
La mémoire cache de troisième niveau (L3) parfois qualifié de LLC (Last Level Cache) dont la taille varie de 6
à 24 Mo.
▪
b-4) Critères de choix d’une mémoire
Les principaux critères à retenir sont :
▪ capacité
▪ vitesse
▪ consommation
▪ coût
b-5) Hiérarchie de mémoires
On utilise des mémoires de faible capacité mais très rapide pour stocker les informations dont le
microprocesseur se sert le plus et on utilise des mémoires de capacité importante mais beaucoup
plus lente pour stocker les informations dont le microprocesseur se sert le moins. Ainsi, plus on
s’éloigne du microprocesseur et plus la capacité et le temps d’accès des mémoires vont augmenter.
▪ Les registres sont les éléments de mémoire les plus rapides. Ils sont situés au niveau du
processeur et servent au stockage des opérandes et des résultats intermédiaires.
▪ La mémoire cache est une mémoire rapide de faible capacité destinée à accélérer l’accès à la
mémoire centrale en stockant les données les plus utilisées.
▪ La mémoire principale est l’organe principal de rangement des informations. Elle contient les
programmes (instructions et données).
▪ La mémoire d’appui sert de mémoire intermédiaire entre la mémoire centrale et les mémoires de
masse. Elle joue le même rôle que la mémoire cache.
▪ La mémoire de masse est une mémoire périphérique de grande capacité utilisée pour le stockage
permanent ou la sauvegarde des informations. Elle utilise pour cela des supports magnétiques
(disque dur, …) ou optiques (CDROM, DVDROM).
16
EST_GE/GIM S1
b-6) Extension de la mémoire
17
EST_GE/GIM S1
4) Les interfaces d’entrées/sorties
Les différents périphériques (touches de commande, capteurs, moteur, …) sont raccordés au
microprocesseur par des circuits d’interface nommés ports d’entrées et de sorties, nécessaire pour la
communication du microprocesseur avec l’extérieur.
Ces trois éléments sont interconnectés via des bus.
Le bus est un ensemble de lignes parallèles assurant le transfert d’information entre différents
circuits de système.
❖ Bus de données
Il permet de transporter :
- les instructions de la mémoire ROM vers le microprocesseur,
- les données de la mémoire RAM vers le microprocesseur (lecture) ou inversement (écriture).
- les informations lues sur les ports d'entrées,
- les commandes à écrire sur les ports de sorties.
Pour un microprocesseur 16 bits, le bus de données comporte 16 fils. Le nombre de valeurs
possibles sur le bus de données est 216 = 65536.
Lorsque les données vont du microprocesseur au composant cela est appelé une écriture (le
microprocesseur écrit une donnée dans une case mémoire ou dans un registre).
Ecriture
CPU Mémoire
Bus de données
Lorsque les données vont du composant au microprocesseur cela est appelé une lecture (le
Lecture
CPU Mémoire
Bus de données
microprocesseur lit une donnée dans une case mémoire ou dans un registre).
Le bus de contrôle
Il permet au microprocesseur de spécifier à son environnement ce qu'il a l'intention de faire : une
ligne (R/W̅ ) indique si le microprocesseur va lire (Read) ou écrire (Write) dans la mémoire ou un
périphérique. Suivant les microprocesseurs, d'autres lignes peuvent venir s'ajouter à savoir ̅𝐂𝐒 ̅̅̅
̅̅̅̅ (Chip Enable) : Permet de signaler que le composant est sélectionné et que les
(Chip Select) ou CE
ordres qu’il reçoit sur les autres fils lui sont destinés. Cette entrée est généralement active au niveau
bas.
❖ Le bus d'adresses
18
EST_GE/GIM S1
- un port d'entrée pour lire une information (ex : information provenant d'un capteur).
- un port de sortie pour envoyer une commande (ex : faire tourner un moteur).
L'espace mémoire disponible comporte 2n emplacements (où n est le nombre de bits du bus
d'adresses).
Pour un bus 16 bits. Les bits de ce bus sont repérés de A15 à A0.
Le nombre d’adresses possibles est 216 = 65536. Il est donc possible d’adresser 65536 cases
mémoires de n bits (taille du bus de données).
La première adresse s’écrit : (0000 0000 0000 0000)2 = (0000)16
La dernière adresse s’écrit : (1111 1111 1111 1111) 2= (FFFF)16
Ce bus n’est pas bidirectionnel. Il est en sortie pour le microprocesseur, c’est lui qui décide de
l’adresse, il est en entrée pour les autres composants.
5) Décodage d’adresses
La multiplication des périphériques autour du microprocesseur oblige la présence d’un décodeur
d’adresse chargé d’aiguiller les données présentes sur le bus de données.
En effet, le microprocesseur peut communiquer avec les différentes mémoires et les différents
boîtiers d’interface. Ceux-ci sont tous reliés sur le même bus de données et afin d’éviter des conflits,
un seul composant doit être sélectionné à la fois.
Lorsqu’on réalise un système microprogrammé, on attribue donc à chaque périphérique une zone
d’adresse et une fonction « décodage d’adresse » est donc nécessaire afin de fournir les signaux de
sélection de chacun des composants.
Remarque : lorsqu’un composant n’est pas sélectionné, ses sorties sont mises à l’état « haute
impédance » afin de ne pas perturber les données circulant sur le bus. (elle présente une impédance
de sortie très élevée = circuit ouvert ).
5-a) Décodage linéaire
Soit 𝑷, le nombre de bits d’adresse du microprocesseur, et 𝑪, le nombre de bits d’adresse du plus grand
composant connecté au microprocesseur. En décodage linéaire, on associe un bit de sélection par composant.
On peut donc connecter 𝑷 – 𝑪 composants au microprocesseur.
19
EST_GE/GIM S1
5-b) Décodage par zone.
En décodage par zone, on associe une combinaison de bits de sélection à un périphérique. On peut donc
connecter 𝟐𝑷−𝑪 périphériques au microprocesseur.
Si on dispose d’une mémoire morte (ROM) de 8 Mb, d’une mémoire vive (RAM) de 8 Mb et de deux
périphériques (P1, P2 et P3) adressables respectivement sur 8 Ko, 4 Ko et 2Ko. On désire les rendre
accessibles à un microprocesseur via les bus d’adresses (24 bits), de données (8 bits) et de commande.
Pour connecter les 5 composants en utilisant le moins de zones possible, il faut utiliser 3 bits de sélection afin
de découper l’espace mémoire en 8 zones. Ce seront les 3 bits de poids fort : 𝑨𝟐𝟑, 𝑨𝟐𝟐 et 𝑨𝟐𝟏.
A23 A22 A21 Composant associé Fonction de décodage
0 0 0 ROM. 𝑪𝑺𝑹𝑶𝑴 = 𝐴𝑆. 𝐴̅̅̅̅̅ ̅̅̅̅̅ ̅̅̅̅̅
23 . 𝐴22 . 𝐴21
0 0 1 RAM 𝑪𝑺𝑹𝑨𝑴 = 𝐴𝑆. 𝐴̅̅̅̅̅ ̅̅̅̅̅
23 . 𝐴22 . 𝐴21
0 1 0 P1 ̅̅̅̅̅
𝑪𝑺𝑷𝟏 = 𝐴𝑆. 𝐴 ̅̅̅̅̅
23 . 𝐴22 . 𝐴21
0 1 1 P2 ̅̅̅̅̅
𝑪𝑺𝑷𝟐 = 𝐴𝑆. 𝐴23 . 𝐴22 . 𝐴21
1 0 0 P3 𝑪𝑺𝑷𝟑 = 𝐴𝑆. 𝐴23 . ̅̅̅̅̅
𝐴22 . 𝐴 ̅̅̅̅̅
21
Avec AS (Address Strobe) que fournit le microprocesseur, indique si la valeur sur son bus d’adresse est
valide. La représentation de l’espace mémoires avec toutes les adresses remarquables est :
ROM basse : 0000 0000 0000 0000 0000 00002 = 00000016
ROM haute : 0000 1111 1111 1111 1111 11112 = 0FFFFF16
RAM basse : 0010 0000 0000 0000 0000 00002 = 20000016
RAM haute : 0010 1111 1111 1111 1111 11112 = 2FFFFF16
P1 basse : 0100 0000 0000 0000 0000 00002 = 40000016
P1 haute : 0100 0000 0001 1111 1111 11112 = 401FFF16
P2 basse : 0110 0000 0000 0000 0000 00002 = 60000016
P2 haute : 0110 0000 0000 1111 1111 11112 = 600FFF16
P3 basse : 1000 0000 0000 0000 0000 00002 = 80000016
P3 haute : 1000 0000 0000 0111 1111 11112 = 8007FF16
Le schéma de câblage :
20
EST_GE/GIM S1
3 La mémoire de masse
I) Le disque dur (hard drive)
Le disque dur est l'un des composants (ou périphérique) de l'ordinateur servant à conserver les
données de manière persistante. On qualifie également les média de stockage de grande capacité
de mémoire de masse. Le disque dur est relié à la carte-mère par l'intermédiaire d'un contrôleur de
disque dur faisant l'interface entre le processeur et le disque dur. On distingue généralement les
interfaces suivantes :
1) Organisation interne
Un disque dur est constitué d'un ou plusieurs plateaux d'une taille de 3"1/2 ou 2"1/2 entre
lesquels passent des têtes de lecture/écriture solidaires d'un bras qui autorise le déplacement des
têtes sur toute la surface du disque.
Les plateaux tournent à une vitesse de 4200, 5400, 7200, 10000, 12000 ou 15000 tr/min.
Plus la vitesse de rotation est importante, plus le disque est performant.
On utilise un matériau dur sur lequel on dispose une couche d'oxyde de fer. La tête de
lecture/écriture est composée par un aimant autour duquel est enroulée une bobine.
▪ Pour écrire :
21
EST_GE/GIM S1
On fait passer un courant électrique dans la bobine ce qui crée un champ magnétique. Les
lignes de champ magnétique traversent la couche d'oxyde et orientent celui-ci en créant de
petits aimants dont le sens est donné par le sens du courant dans la bobine.
▪ Pour lire :
On fait passer la tête de lecture/écriture sur le support magnétisé qui crée un courant induit
dans la bobine dont le sens indique s'il s'agit d'un 0 ou d'un 1.
3) Formatage
Il existe deux types de formatages :
format c:
22
EST_GE/GIM S1
▪ Pour un disque de 512 Mo, la taille d'un cluster est de 229 / 216 = 8 ko.
La FAT 16 permet de gérer des disques d'une capacité n'excédant pas 2 Go.
Un disque peut contenir au maximum 4 partitions principales dont une seule est dite active (c'est
elle qui permettra de démarrer la machine avec le système d'exploitation par défaut).
On peut également organiser le disque en 3 partitions principales et une partition étendue. Dans ce
cas la partition étendue peut être subdivisée en lecteurs logiques
Le secteur de démarrage (appelé Master Boot Record ou MBR en anglais) est le premier secteur
d'un disque dur (cylindre 0, tête 0 et secteur 1), il contient la table de partition principale et le code
qui, une fois chargé en mémoire, va permettre d'amorcer le système (booter).
Pour partitionner un disque on peut utiliser :
▪ la commande fdisk avant d'installer un système d'exploitation
▪ ou des utilitaires comme Partition Magik.
Le MBR contient toutes les informations relatives au disque dur (fabricant, numéro de série,
nombre d'octets par secteur, nombre de secteurs par cluster, nombre de secteurs, ...). Ce secteur est
donc le secteur le plus important du disque dur, il sert au setup du BIOS à reconnaître le disque
dur. Lorsqu'il est endommagé ou effacé par un virus votre disque dur est inutilisable.
5) Grandeurs caractéristiques et performances
a) Capacité
Connaissant :
23
EST_GE/GIM S1
▪ le nombre de secteurs par piste (S)
b) Taux de transfert
Le taux de transfert indique le nombre de ko que l'on peut transférer en une seconde.
Quelques caractéristiques de disques dur
Mesures réalisées par hdtune
Vitesse de Tx de Transfert Temps d'accès
Disque Capacité
rotation (tr/min) maximum (Mo/s) (ms)
Hitachi HTS548060M 60 Go 5400 31 18,4
Hitachi Travelstar 40 4200 10 18,8
Maxtor Diamond Max Plus 160 7200 56 15,5
c) Temps de latence
Le temps de latence correspond à l'intervalle de temps entre le moment ou la tête de
lecture/écriture trouve les données étant placée sur la piste adéquat. Le temps de latence est donné
par la formule suivante :
d) Temps d'accès
Temps nécessaire au passage sur la piste suivante
24
EST_GE/GIM S1
Le principe de fonctionnement des SSD repose sur l'utilisation de mémoire Flash qui a tendance à
s'user à force de lecture/écriture :
▪ la mémoire Flash NAND : l'accès est réalisé en série et ce type de mémoire se montre
intéressant pour la lecture/écriture de fichiers de grande taille
▪ SLC (Single-Level Cell) : stockage d'un bit par cellule, faible consommation, taux de
transfert élevé : 100.000 cycles avant usure
▪ MLC (Multi-Level Cell) : stockage de deux bits par cellule : 10.000 cycles avant usure
▪ la mémoire Flash NOR : adaptée à des accès aléatoires
On utilise généralement de la Flash NAND car sa densité de stockage est plus grande.
Comparatif disque dur magnétique (DDM)/ Solid State Disk (SSD)
Critère DDM SSD
Consommation importante / moyenne faible
nuisance sonore importante / moyenne nulle
lecture moyenne rapide
écriture moyenne lente
cycles très importants 100.000 / 10.000
Prix moyen très élevé
25
EST_GE/GIM S1