bus d'adresse
Anglais: address bus
Bus utilisé pour spécifier une adresse physique.
Bus d'adresses : les fils qui dirigent le CPU vers la mémoire
Le bus d'adresses est un ensemble de lignes électriques parallèles qui transportent des signaux binaires du processeur vers la mémoire ou les périphériques, identifiant l'emplacement physique accédé. Dans un microcontrôleur ou un ordinateur typique, la largeur du bus d'adresses (mesurée en bits) détermine le nombre d'emplacements mémoire distincts qui peuvent être atteints. Un bus d'adresses 8 bits peut accéder à 256 emplacements ; un bus 16 bits atteint 65 536 ; un bus 32 bits atteint environ 4 milliards. Le nombre de fils dans le bus d'adresses est égal à sa largeur en bits, et chaque fil transporte un état 0 ou 1 à tout moment donné.
Les bus d'adresses fonctionnent conjointement avec les bus de données et les signaux de commande. Alors que le bus d'adresses spécifie où lire ou écrire, le bus de données transporte l'information réelle, et les lignes de commande signalent si l'opération est une lecture ou une écriture. Le bus d'adresses est unidirectionnel dans la plupart des systèmes : il transporte les signaux uniquement du CPU vers l'extérieur. La mémoire et les périphériques d'E/S décodent l'adresse pour déterminer si la requête leur est destinée, puis répondent sur le bus de données ou acceptent les données de celui-ci.
Contraintes pratiques et modes de défaillance
La largeur du bus d'adresses limite directement la mémoire du système. Les anciens processeurs 8 bits avec des bus d'adresses 16 bits ne pouvaient utiliser que 64 kilo-octets de RAM ; les processeurs 64 bits modernes avec une implémentation appropriée des lignes d'adresses peuvent théoriquement accéder à 16 exaoctets. Cependant, les systèmes réels utilisent rarement la gamme théorique complète en raison des coûts et des compromis de conception des puces. La capacité et le délai de propagation du bus d'adresses affectent la vitesse du système, en particulier dans les applications haute fréquence. Une mauvaise terminaison sur de longues pistes de bus d'adresses peut provoquer des réflexions et des erreurs de synchronisation qui corrompent l'accès à la mémoire.
Le multiplexage est courant dans les systèmes embarqués pour réduire le nombre de broches. Les bus d'adresses multiplexés partagent les mêmes fils physiques avec le bus de données, avec des signaux de commande séparés indiquant si l'état actuel représente l'adresse ou les données. Cela économise des broches mais nécessite des verrous externes pour maintenir l'adresse pendant le transfert des données. Les microprocesseurs Intel classiques à partir du 8086 ont utilisé des bus multiplexés à cet effet.
Le bus d'adresses se situe entre la logique arithmétique du CPU et la hiérarchie de la mémoire. Il est invisible pour les utilisateurs finaux mais fondamental pour la façon dont tout système numérique alloue les ressources de calcul. Comprendre les limitations du bus d'adresses aide à expliquer pourquoi les anciennes machines ne pouvaient pas exécuter les logiciels conçus pour les plus récentes, et pourquoi les systèmes embarqués nécessitent souvent un partitionnement minutieux de la mémoire par les ingénieurs.
Sources
- Source de la définitionWiktionary
- Source complémentaireaddress bus Definition & MeaningMerriam-Webster