Architecture E/S et bus
L'architecture d'entrée/sortie (E/S) définit la manière dont un processeur et la mémoire communiquent avec les périphériques via des bus, des contrôleurs, des interruptions et des schémas d'adressage, régissant ainsi le flux des commandes et des données vers et depuis le monde extérieur.
Definition
L'architecture E/S et les bus désignent l'organisation et les interconnexions par lesquelles le processeur et la mémoire d'un ordinateur échangent des signaux de contrôle et des données avec les périphériques, incluant l'adressage des registres de périphériques et les mécanismes par lesquels les périphériques demandent un service.
Scope
Ce sujet couvre la structure de l'entrée/sortie : les bus et les interconnexions point à point, les contrôleurs et registres de périphériques, l'E/S mappée en mémoire versus l'E/S mappée en port, l'interrogation (polling) et l'E/S par interruption, ainsi que les protocoles et l'arbitrage de bus. Il traite de la manière dont les périphériques sont connectés et contrôlés. Il exclut le mécanisme de transfert de masse DMA et la virtualisation (virtualisation E/S et DMA) ainsi que les supports de stockage eux-mêmes (dispositifs de stockage secondaire).
Core questions
- Comment les périphériques sont-ils adressés et contrôlés par le processeur ?
- En quoi l'E/S mappée en mémoire et l'E/S mappée en port diffèrent-elles ?
- Comment l'interrogation (polling) et l'E/S par interruption se comparent-elles en termes d'efficacité ?
- Comment les bus et les interconnexions point à point arbitrent-ils et transfèrent-ils les données ?
Key concepts
- contrôleurs et registres de périphériques
- E/S mappée en mémoire
- E/S mappée en port
- interrogation (polling)
- interruptions et gestionnaires d'interruption
- bus et interconnexions
- arbitrage de bus
- adressage E/S
Key theories
- E/S par interruption
- Plutôt que d'interroger continuellement un périphérique, le processeur poursuit d'autres tâches et est averti par une interruption lorsque le périphérique nécessite une attention, améliorant considérablement l'efficacité pour les périphériques lents ou fonctionnant de manière intermittente.
Mechanisms
Chaque périphérique est géré par un contrôleur exposant des registres que le processeur lit et écrit, soit via des adresses mappées en mémoire, soit via des ports E/S spéciaux. Le processeur peut interroger (poller) ces registres ou, de manière plus efficace, activer des interruptions afin que le périphérique signale lorsqu'il est prêt. Les bus connectent les composants et arbitrent l'accès entre plusieurs maîtres, tandis que les systèmes modernes utilisent de plus en plus des liaisons série point à point à haute vitesse au lieu de bus parallèles partagés.
Clinical relevance
L'architecture E/S détermine l'efficacité avec laquelle un système communique avec le stockage, le réseau et d'autres périphériques. L'E/S par interruption libère le processeur pour des tâches utiles, et l'évolution des bus partagés vers des interconnexions série rapides telles que PCI Express est à la base de la bande passante requise par le stockage, les réseaux et le matériel d'accélération modernes.
History
Les premiers systèmes utilisaient l'E/S programmée et des bus parallèles partagés avec arbitrage centralisé. Les mécanismes d'interruption et les bus standardisés tels que ISA et PCI ont amélioré la flexibilité et les performances. Le passage aux interconnexions série point à point à haute vitesse, illustré par PCI Express, a permis de résoudre les limites de bande passante et de signalisation des bus parallèles partagés.
Key figures
- John L. Hennessy
- David A. Patterson
- Abraham Silberschatz
Related topics
Seminal works
- hennessy2019
- silberschatz2018
Frequently asked questions
- Quelle est la différence entre l'E/S mappée en mémoire et l'E/S mappée en port ?
- L'E/S mappée en mémoire attribue aux registres de périphériques des adresses au sein de l'espace d'adressage mémoire régulier, de sorte que les instructions de chargement et de stockage ordinaires y accèdent. L'E/S mappée en port utilise un espace d'adressage distinct et des instructions spéciales pour l'accès aux périphériques. L'E/S mappée en mémoire est plus courante dans les architectures modernes.
- Pourquoi les interruptions sont-elles préférables à l'interrogation (polling) pour la plupart des périphériques ?
- L'interrogation (polling) gaspille des cycles de processeur en vérifiant de manière répétée si un périphérique est prêt. Les interruptions permettent au processeur d'effectuer d'autres tâches et d'être averti uniquement lorsque le périphérique a réellement besoin d'un service, ce qui est bien plus efficace pour les périphériques lents ou répondant de manière imprévisible.