Bus et adressage
GIF-1001: Ordinateurs: Structure et Applications
Jean-François Lalonde, Hiver 2015
Aujourd’hui
• Mécanismes de fonctionnement:
• bus
• adressage
• jeu d’instructions
Bus: lecture et écriture
• Les bus permettent de lire et d’écrire le contenu d’une
mémoire
• Question: comment faire pour s’assurer qu’on ne puisse
pas lire et écrire sur le bus en même temps?
• Réponse:
• Toutes les mémoires ont un signal de lecture qui permet de lire
des données.
• Toutes les mémoires RAM ont un signal d’écriture qui permet
d’écrire des données.
• Le bus de contrôle permet de sélectionner l’opération effectuée
Bus: “enable”
• Un bus relie le CPU à plusieurs composantes
• Plusieurs composantes sont donc branchées sur le même
circuit.
• Question: comment faire pour qu’une seule composante
puisse accéder au bus à la fois?
• Réponse:
• chaque bloc mémoire possède un signal “enable” qui indique si
elle est sélectionnée pour lecture ou écriture sur le bus de
données
• sinon, la composante est en haute impédance sur le bus de
données (tri-state)
Bus: adressage
• Un bus relie le CPU à plusieurs composantes
• Question: comment déterminer quelle composante
devrait être activée?
• Réponse:
• c'est le décodeur d’adresse qui détermine quelle
composante est activée (“enabled”) selon l’adresse
spécifiée sur le bus d’adresse
• les autres composantes sont en haute impédance sur le
bus de données
Bus: adressage
Décodeur
d’adresses
b7
Bus d’adresses (8 bits)
EN Adresse EN Adresse
CPU RAM ROM
R W Données R W Données
Bus de données (8 bits)
Bus de contrôle (R/W)
• 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 mémoire de ce système?
Autre exemple
Décodeur
Bus d'adresse
CE address CE address CE address
RAM 0 RAM 1 RAM 2
W data R W data R W data R
CPU
Memory Read Bus de données
Memory Write
Bus de contrôle
• Dans cet exemple, le CPU met les données du bus de données dans une
case mémoire de RAM 1 déterminée par une partie des lignes d’adresse. Les
autres lignes d’adresse servent à déterminer quelle RAM est active (La valeur
du Chip Enable de RAM 0 et RAM 2 est telle que ces 2 chips sont en hautes
impédances sur le bus de données). Pour écrire la donnée, Memory Write du
bus de contrôle est activé pour dire à RAM 1 de lire la valeur du bus.
Jeu d’instructions
• Chaque instruction exécutée par un microprocesseur a un
code op (opcode) en binaire et une longueur prédéterminée.
• Chaque instruction possède un mnémonique en assembleur.
Des microprocesseurs différents peuvent supporter le même
jeu d’instruction ou plusieurs jeux d’instructions
• Les instructions permettent de: lire des données de la
mémoire (dans des registres du microprocesseur), effectuer
des calculs (sur les registres), sauvegarder le résultat des
calculs en mémoire, contrôler la séquence d’exécution des
instructions…