Bus Et Adressage
Bus Et Adressage
Bus Et Adressage
• Mécanismes de fonctionnement:
• bus et mémoires
• adressage
2
Rappel: CPU, mémoire, bus
Bus d’adresses (8 bits)
Adresse
CPU RAM
L E Données
• Questions de rappel:
• Comment lire des données stockées en mémoire RAM?
• Comment écrire des données en mémoire RAM?
• Combien d’adresses la mémoire a-t-elle?
• Quelle est la taille des mots dans la RAM?
3
Lecture vs écriture
Mettez-vous dans la peau du microprocesseur!
écriture
Bite my
shiny m
etal…
lecture
4
Carte de la mémoire (memory map)
0x00
RAM
0xFF 5
Carte de la mémoire (memory map)
0x00
La carte de la mémoire
(memory map en anglais)
indique l’adresse de début et de fin
de toutes les composantes placées
sur les bus.
0xFF 6
Bus: adressage
Bus d’adresses (8 bits)
Adresse Adresse
• Questions:
• Comment faire pour sélectionner la bonne mémoire?
7
Bus: décodeur d’adresses
Décodeur
d’adresses s1
e0 s0
b7
Bus d’adresses (8 bits)
EN Adresse EN Adresse
8
Bus: décodeur d’adresses
Décodeur
d’adresses s1
e0 s0
• Le décodeur d’adresses est un circuit logique qui sélectionne une sortie
en fonction des entrées.
9
Bus: décodeur d’adresses
Décodeur
d’adresses s1
e0 s0
b7
Bus d’adresses (8 bits)
EN Adresse EN Adresse
• Questions:
• Quelle est la taille maximale de RAM et ROM (en octets)?
• Aux yeux du CPU, quelle est l’adresse du premier emplacement mémoire en
RAM? en ROM?
• Quelle est la carte de la mémoire (memory map) de ce système?
10
Carte de la mémoire (memory map)
0x00
RAM
0x7F
0x80
ROM
0xFF 11
Carte de la mémoire (memory map)
0x00
RAM
Nous avons maintenant
deux composantes sur les bus
(RAM et ROM).
ROM
0xFF 12
Carte de la mémoire (memory map)
Adresse (en binaire)
0 0 0 0 0 0 0 0 0x00
RAM
Nous avons maintenant
deux composantes sur les bus
(RAM et ROM).
ROM
1 1 1 1 1 1 1 1 0xFF 13
Carte de la mémoire (memory map)
Adresse (en binaire)
0 0 0 0 0 0 0 0 0x00
ROM
1 1 1 1 1 1 1 1 0xFF 14
Activation (enable)
• Un bus relie le CPU à plusieurs composantes
• Plusieurs composantes sont donc branchées sur le même
circuit.
• Réponse:
• chaque bloc mémoire possède un signal d’activation (enable)
qui indique si elle est sélectionnée pour lecture ou écriture sur
le bus de données
• Réponse:
• c'est le décodeur d’adresse qui détermine quelle
composante est activée (avec le enable) selon
l’adresse spécifiée sur le bus d’adresse
16
Bus: plusieurs périphériques
Décodeur ? ?
d’adresses s1
e0 s0
b7
• Question:
• Comment faire pour supporter plus que deux
mémoires?
17
Bus: plusieurs périphériques s3
Décodeur s2
d’adresses s1
e0 s0
b7
• Question:
• une entrée, quatre sorties?
18
Bus: plusieurs périphériques s3
Décodeur s2
d’adresses s1
e0 e1 s0
b6 b7
• Question:
• quelle est la carte de la mémoire (memory map) de ce
système?
19
Carte de la mémoire (memory map)
0x00
RAM
0x3F
0x40
ROM
0x7F
0x80
Écran
0xBF
0xC0
Clavier
0xFF 20
Carte de la mémoire (memory map)
Adresse (en binaire)
0 0 0 0 0 0 0 0 0x00
RAM
0 0 1 1 1 1 1 1 0x3F
0 1 0 0 0 0 0 0 0x40
ROM
0 1 1 1 1 1 1 1 0x7F
1 0 0 0 0 0 0 0 0x80
Écran
1 0 1 1 1 1 1 1 0xBF
1 1 0 0 0 0 0 0 0xC0
Clavier
1 1 1 1 1 1 1 1 0xFF 21
Carte de la mémoire (memory map)
Adresse (en binaire)
0 0 0 0 0 0 0 0 0x00
RAM
0 0 1 1 1 1 1 1 0x3F
0 1 0 0 0 0 0 0 0x40
ROM
Cette fois, les bits b7 et b6 sont
0 1 1 1 1 1 1 1 0x7F utilisés par le décodeur d’adresse
pour déterminer quelle composante
1 0 0 0 0 0 0 0 0x80
sera activée!
Écran
1 0 1 1 1 1 1 1 0xBF
1 1 0 0 0 0 0 0 0xC0
Clavier
1 1 1 1 1 1 1 1 0xFF 22
Entrées-sorties (périphériques)
• Les I/Os (Input-Output, entrées-sorties) servent
d’interface avec l’usager, les périphériques et
d’autres ordinateurs.
23
Entrées-sorties: adressage
• Deux façons principales pour déterminer les adresses des I/Os
• ex: x86
24
Démonstration: TP1
25