|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Interruptions matérielles et conflitsQu'est-ce qu'une interruption ?Puisque le processeur ne peut pas traiter plusieurs informations simultanément (il traite une information à la fois, le multitâche consiste à alterner des morceaux d'instructions de plusieurs tâches différentes), un programme en cours d'exécution peut grâce à une interruption être momentanément suspendu, le temps que s'exécute une routine d'interruption. Le programme interrompu peut ensuite reprendre son exécution. Il existe 256 adresses d'interruption différentes. Une interruption devient une interruption matérielle lorsqu'elle est demandée par un composant matériel de l'ordinateur.
En effet, il existe dans l'ordinateur de nombreux périphériques. Ceux-ci ont généralement
besoin d'utiliser les ressources du système, ne serait-ce que pour communiquer avec lui...
Cette "ficelle" est en fait une ligne physique qui relie le slot à la carte-mère. Pour un emplacement ISA 8 bits par exemple, il y a 8 lignes IRQ (Interruption Request Line) qui relient le slot ISA 8 bits à la carte-mère, c'est-à-dire IRQ0 à IRQ7. Ces IRQ sont contrôlés par un «contrôleur d'interruption» qui permet de "donner la parole" à l'IRQ ayant la plus grande priorité. Pour les slots 16 bits, les IRQ 8 à 15 ont été ajoutés, il a donc fallu ajouter un second contrôleur d'interruption, la liaison entre les deux groupes d'interruption se fait par l'intermédiaire de l'IRQ 2 reliée à l'IRQ 9 (et appelée «cascade»). La cascade vient donc en quelque sorte "insérer" les IRQ 8 à 15 entre les IRQ 1 et 3 :
La priorité étant donnée par ordre d'IRQ croissant, et les IRQ 8 à 15 étant insérées entre les IRQ 1 et 3, l'ordre de priorité est donc le suivant : 0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7 Qu'appelle-t-on DMA ?Des périphériques ont régulièrement besoin d'"emprunter de la mémoire" au système afin de s'en servir comme zone de tampon (en anglais buffer), c'est-à-dire une zone de stockage temporaire permettant d'enregistrer rapidement des données en entrée ou en sortie. Un canal d'accès direct à la mémoire, appelé DMA (Direct Memory Access soit Accès direct à la mémoire), a ainsi été défini pour y remédier. Le canal DMA désigne un accès à un emplacement de la mémoire vive (RAM) de l’ordinateur, repéré par une « adresse de début » (ou «RAM Start Address» en anglais) et une « adresse de fin ». Cette méthode permet à un périphérique d'emprunter des canaux spéciaux qui lui donnent un accès direct à la mémoire, sans faire intervenir le microprocesseur, afin de le décharger de ces tâches. Un ordinateur de type PC possède 8 canaux DMA.
Les quatre premiers canaux DMA ont une largeur de bande de 8 bits tandis que les DMA 4 à 7 ont une largeur de bande de 16 bits.
Adresses de baseLes périphériques ont parfois besoin d'échanger des informations avec le système, c'est pourquoi des adresses mémoire leur sont assignées pour l'envoi et la réception de données. Ces adresses sont appelées «adresses de base» (les termes suivants sont également parfois utilisés : «ports d'entrée/sortie», «ports d'E/S», «adresse d'E/S», «adresses de ports d'E/S», «ports de base», ou en anglais I/O address qui signifie «Input/Output Address», littéralement «Adresse d'entrée - sortie»). C'est par l'intermédiaire de cette adresse de base que le périphérique peut communiquer avec le système d'exploitation. Il ne peut donc exister qu'une adresse de base unique par périphérique. Voici une liste de quelques adresses de base courantes :
Tous ces éléments sont toutefois transparents pour l'utilisateur moyen, c'est-à-dire qu'il n'a pas à s'en préoccuper. Pourquoi y a-t-il des conflits matériels ?Une interruption est donc une ligne reliant un périphérique avec le processeur, l'interruption est matérielle lorsqu'elle est demandée par un composant matériel du PC.
C'est le cas, par exemple, lorsqu'une touche a été frappée et que le clavier veut attirer l'attention du processeur sur cet événement. Mais les 256 interruptions ne peuvent pas toutes être demandées
comme des interruptions matérielles. Les différents périphériques appellent toujours des interruptions bien précises.
En effet, si deux périphériques ont le même IRQ, le système ne saura pas à quel matériel il doit donner la main ... le système se bloque ou fonctionne anormalement ... on appelle ça un conflit matériel. Un conflit matériel ne se produit pas uniquement pour deux périphériques ayant la même interruption matérielle, il peut aussi y avoir un conflit lorsque deux périphériques ont la même adresse d'entrées/sorties ou sont assignés aux mêmes canaux DMA. Comment configurer les IRQ des périphériquesL'IRQ d'une carte peut donc être modifié, car il faut lui allouer un numéro d'IRQ non utilisé par un autre périphérique.
Résoudre les conflits matérielsLorsque vous vous trouvez face à un problème que vous pensez relatif à la configuration matérielle de votre machine, la première chose à faire est de tenter de l'isoler. Cela signifie tenter d'éliminer toutes les variables possibles, généralement en ouvrant la machine, et, en ôtant petit à petit tous les éléments susceptibles de provoquer un conflit, ou bien de les isoler par voie logicielle (dans votre système d'exploitation), jusqu'à la découverte de l'élément responsable. Discussions pertinentes trouvées dans le forum
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||