Voila, j'inaugure mon journal par cette question angoissante et existentielle, copie d'un post (http://linuxfr.org/comments/203996.html) lancé lors d'une dépêche sur l'Opteron.
Si un dlfp-naute calé en hardware avait la réponse, je lui en serais reconnaissant.
« Complètement vrai.
Ceci m'amène à une autre question. L'architecture d'un PC a toujours été très loin de représenter l'idéal en la matière (même dans les premières années), mais même sachant cela, il y a quelque chose qui m'a toujours échappé.
Comment se fait-il que les périphériques d'un PC aient besoin d'une IRQ exclusive ?
Qu'ils aient tous une adresse I/O qui leur est propre, ça c'est normal. Mais l'IRQ, pour autant que je sache, c'est une ligne qui permet d'interrompre automatiquement le processeur lorsqu'elle passe à un état déterminé (en général 0), lequel processeur se charge alors de vérifier quel périphérique a sonné et a besoin d'être traité. En ce sens, une seule IRQ devrait être suffisante pour tout le monde.
En 1987, j'utilisais un MO6 dont le 6809 local ne proposait que trois interruptions matérielles (à part Reset), dont seule l'IRQ était réellement exploitée. Cela suffisait à gérer une souris, une crayon optique, un lecteur de disquette, un clavier, un timer (le clignotement du curseur était réalisé en soft) et plusieurs autres périphériques. Le tout emmené dans une joyeuse farandole à 1 Mhz.
En principe, une ligne que l'on active en la mettant à la masse peut très supporter un OU câblé, et a partir du moment où au moins un périphérique relie cette ligne à la masse, l'interruption est déclenchée, et le pilote passe en revue les ports des périphériques susceptibles d'interrompre le processeur et traite chacun d'eux le cas échéant.
Pourquoi tant de soucis sur un PC ? ».
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.