Information Technology Reference
In-Depth Information
une donnée il faut accéder à celle-ci en mémoire centrale (on dispose pour cela de
son adresse mémoire) et la faire parvenir via le bus au contrôleur de l'imprimante.
Nous serons donc amenés à définir l'adresse et la structure générale d'un contrôleur
lui permettant d'accueillir une donnée. Les signaux à produire selon que l'on doive
gérer une imprimante, un clavier ou encore un disque magnétique sont différents et
sont spécifiques du périphérique. Il existe donc plusieurs catégories de contrôleurs.
Certains contrôleurs peuvent directement accéder à la mémoire centrale pour effec-
tuer des échanges avec les périphériques, on dit qu'ils opèrent des accès directs à la
mémoire et sont identifiés sous le nom de DMA ( Direct Memory Access ). Afin
d'améliorer l'efficacité des échanges, les ordinateurs modernes permettent d'effec-
tuer des opérations d'entrées-sorties en parallèle de l'activité du processeur central
(les opérations d'entrées-sorties sont réalisées de manière autonome sans interven-
tion du processeur et sont dites asynchrones). À la fin d'une opération d'entrées-
sorties le contrôleur génère une interruption qui interrompt l'activité du processeur
au profit d'un programme de gestion de l'interruption spécifique de l'opération
d'entrées-sorties en cours. Nous entrevoyons déjà que les mécanismes mis en jeu
(asynchronisme, interruptions…) lors d'une opération d'entrées-sorties sont nombreux
et complexes.
Le processeur et la mémoire centrale
Une opération d'entrées-sorties fait intervenir un programme exécutant des instruc-
tions spécifiques à l'échange et au périphérique. Ce programme, comme tous les
programmes exécutables, se trouve en mémoire centrale et est exécuté selon le
schéma d'exécution étudié dans la fonction d'exécution.
Le bus de communication
Le programme d'entrées-sorties gère les échanges de données entre mémoire centrale
et périphérique, il utilise le bus de communication pour ces échanges. La machine
présentée est une machine dite à bus unique. Cette architecture a pendant longtemps
été celle de nos ordinateurs personnels, elle pose cependant des problèmes d'effica-
cité à cause de la très grande hétérogénéité des performances des composants que le
bus interconnecte. Par exemple lorsqu'un contrôleur et le processeur central souhai-
tent utiliser, au même moment, le bus de communication pour réaliser un échange il
y a conflit d'accès à cette ressource unique. Il faut, pour régler ce conflit, faire appel
à un dispositif particulier (l'arbitre de bus) afin d'ordonnancer les demandes d'accès
au bus. Dans une telle architecture la priorité est généralement donnée au contrôleur
afin que l'opération d'entrées-sorties puisse s'effectuer sans perte d'informations (si
une opération d'entrées-sorties disque est en cours il n'est pas possible de stopper
cet échange, pour attribuer le bus au processeur, sans risquer de perdre des informa-
tions). Ainsi lorsqu'un programme est en cours d'exécution il utilise à sa guise le bus
mais si une opération d'entrées-sorties doit être réalisée, le contrôleur émet une
requête à l'arbitre de bus pour signaler qu'un transfert de données est nécessaire.
Pendant cette requête le processeur est privé du bus. Ce mécanisme est appelé vol
de cycle . Ce mécanisme ralentit légèrement le processeur dans l'exécution d'un
 
Search WWH ::




Custom Search