Grande Encyclopédie Larousse 1971-1976Éd. 1971-1976
O

ordinateur (suite)

Les interruptions prioritaires

Enchaînant systématiquement les instructions, l’unité centrale resterait parfaitement aveugle au monde extérieur s’il n’y avait les interruptions prioritaires. L’effet d’un signal d’interruption est d’arrêter provisoirement le déroulement du programme en cours pour faire exécuter en priorité un programme associé à ce signal d’interruption. En pratique, l’unité de commande analyse les demandes d’interruption en fin d’instruction. Si l’une de ces demandes est positionnée, elle sauvegarde en mémoire le contexte du programme en cours (contenu du compteur d’instructions, des indicateurs, de certains registres) et instaure à partir d’informations en mémoire le contexte associé à l’interruption, ce qui donne automatiquement le contrôle au programme d’interruption. La dernière instruction de ce programme restaure dans les registres le contexte précédemment sauvegardé, ce qui implique automatiquement la reprise du programme interrompu. Le système d’interruption d’un ordinateur comprend généralement plusieurs niveaux hiérarchisés de priorité, de sorte qu’un programme d’interruption puisse lui-même être interrompu par une interruption survenant sur un niveau de priorité plus élevé.

Les systèmes d’interruption ont d’abord été développes en vue des applications en temps réel de type « contrôle de processus industriel » où l’ordinateur doit réagir rapidement à des événements extérieurs. L’utilisation d’un système d’interruption évolué évite ainsi la scrutation cyclique par programme de tous les événements possibles, qui entraînerait un gâchis du temps d’unité centrale et surtout un temps moyen de réaction plus élevé.

Dans les ordinateurs orientés vers le calcul scientifique ou la gestion, les interruptions renvoient systématiquement au système d’exploitation ; celui-ci est ainsi prévenu des anomalies de fonctionnement de l’ordinateur, des erreurs détectées dans les programmes (instruction illicite, tentative de division par zéro), ce qui lui permet des débranchements vers les programmes d’édition d’erreur ; d’autre part, toutes les requêtes provenant des organes d’entrée-sortie viennent interrompre un module du système d’exploitation, qui est ainsi tenu au courant de l’utilisation des différents périphériques et met en œuvre les programmes chargés de les gérer.


Les unités d’échange

Les opérations d’entrée-sortie permettent la communication en entrée de la périphérie vers la mémoire centrale et la communication en sortie de la mémoire centrale vers la périphérie, cette dernière comportant à la fois les organes de communication avec le monde extérieur et les mémoires auxiliaires. Le problème fondamental des entrées-sorties réside dans la différence de vitesse entre l’unité centrale, purement électronique, qui travaille au millionième de seconde, et la plupart des périphériques, dont les organes mécaniques imposent un rythme beaucoup plus lent, mais parfaitement impératif. On a pu admettre, à l’origine, que l’unité centrale reste bloquée pendant le transfert de tout un ensemble d’informations ; par la suite, qu’elle déroule un petit programme d’interruption chaque fois que l’unité périphérique était prête pour le transfert d’une information élémentaire (mot ou caractère). Ces solutions se révèlent inacceptables dès lors que la périphérie d’un système informatique devient importante : les opérations d’entrée-sortie se déroulent aujourd’hui en simultanéité avec le traitement. Cela implique qu’elles soient prises en charge par un nouveau type d’unité, appelé unité d’échange ou canal, qui soit capable de gérer indépendamment de l’unité centrale un transfert entre une zone de mémoire centrale et la périphérie. Des instructions spéciales de début d’entrée-sortie commandent à l’unité centrale de fournir à l’unité d’échange les informations qui lui seront nécessaires pour l’exécution de l’opération d’entrée-sortie. À partir de cet instant, l’unité d’échange exécute l’opération demandée de façon absolument indépendante de l’unité centrale en se synchronisant sur l’organe périphérique, qui travaille à son rythme propre, et en demandant directement à la mémoire les accès nécessaires. Quand l’opération est terminée, l’unité d’échange adresse une interruption à l’unité centrale pour l’en prévenir. Les unités d’échange sont de plus en plus assimilables à des petits ordinateurs qui exécutent des programmes enchaînant des opérations d’entrée-sortie, au même titre que l’unité centrale exécute des programmes enchaînant des opérations de traitements. De plus, travaillant à la vitesse de l’électronique, elles peuvent gérer plusieurs opérations d’entrée-sortie simultanément, en imbriquant dans le temps les transferts d’informations élémentaires émanant de différents périphériques.


Les mémoires

Ce sont des systèmes physiques de stockage d’ensembles d’informations digitales, munis d’un moyen de repérage de ces informations. Les opérations de base sont l’écriture de nouvelles informations (avec effacement des anciennes) et la lecture d’informations précédemment écrites. De nombreux systèmes physiques peuvent servir à la réalisation de mémoires. En dehors de l’assemblage de bistables électroniques sous forme de circuits intégrés à grande échelle (mémoires à semi-conducteur) et en attendant que les mémoires à faisceaux holographiques ou à recirculation de bulles magnétiques apparaissent sur le marché, les mémoires magnétiques restent les plus utilisées : la rémanence de l’aimantation des corps ferromagnétiques réalise la fonction de stockage ; les lois de l’induction électromagnétique (action réciproque des champs magnétiques et des courants électriques) sont utilisées pour les opérations de lecture et d’écriture.


Les mémoires statiques

Chaque bit d’information y est parfaitement individualisé. Ce sera par exemple un microtore de ferrite traversé par des fils d’écriture (permettant de l’aimanter dans un sens ou dans l’autre) et des fils de lecture (permettant de repérer les changements de sens d’aimantation). La mémoire est organisée en cellules de quelques digits à quelques dizaines de digits binaires, chaque cellule étant connue par son numéro d’ordre servant à l’adresser. Du fait de la constitution statique de la mémoire, le temps d’accès au contenu d’une cellule est indépendant de son adresse, c’est-à-dire de sa position dans la mémoire.