LES COMPATIBLES GE-400
LUNITE CENTRALE
Lunité centrale des compatibles GE 400 est composée de trois éléments distincts: une mémoire centrale à tores magnétiques dans laquelle sont rangés le programme en cours dexécution et linformation en cours de traitement, un organe central de commande contrôlant le déroulement du programme et assurant lexécution des opérations arithmétiques et logiques, et enfin une unité de commande des entrées/sorties contrôlant le fonctionnement des éléments périphériques par lintermédiaire des canaux dentrées/sorties.
La mémoire centrale.
La mémoire à tores qui, ainsi que nous lavons vu plus haut est modulaire et dont le cycle de base varie en fonction des machines, opère de manière asynchrone par rapport au reste de lunité centrale et possède sa propre horloge, sa logique de commande et son registre dadresse. En outre, son cycle de base peut être partagé (lire seulement, écrire seulement, lire-restaurer, effacer écrire) afin de réduire le temps dexécution de certaines opérations.
Chaque mot de mémoire de 24 bits peut, selon linterprétation machine, contenir linformation suivante:
1) Quatre caractères décimaux de 6 bits avec signe.
2) Quatre caractères alphanumériques de 6 bits.
3) Vingt-quatre poids binaires (équivalant à 8 caractères octaux).
Les deux premières catégories constituent les formats des mots information (données), tandis que la troisième catégorie est normalement (bien que non exclusivement) réservée aux mots instruction et aux autres mots auxiliaires dans la séquence du traitement des instructions.
Pour sadresser à nimporte quel mot de la mémoire, il suffit de spécifier la position de ce mot dans la zone dadresse dune instruction. Ladressage interne de la mémoire se fait en mode binaire et les zones dadresse des instructions comportent toutes 15 bits. Le programme de macro assemblage (Macro Assembly Programm MAP) convertit automatiquement en binaire les adresses décimales ou symboliques du programme dorigine. Ladressage en mémoire se fait en mode binaire, et non en mode décimal, afin de rendre plus efficace lutilisation des bits du mot instruction. La zone dadresse dun mot instruction peut sadresser à toute position de mémoire, de 0 à 32 767.
La logique de la mémoire à tores avertit lunité centrale toutes les fois quun programme sadresse à une position qui dépasse la capacité de la mémoire utilisée (par exemple, une position au-delà de 8191 pour une mémoire 8 K). Toute tentative daccès à une position de mémoire inexistante est traitée comme une opération invalide.
Chaque fois quun mot est écrit en mémoire, il subit automatiquement un contrôle de parité. Si le nombre de bits 1 est impair, un autre bit 1 est engendré à lemplacement du 25 ème bit (bit de parité) de manière à ce que chaque mot de mémoire contienne un nombre pair de bits 1. Cette parité est vérifiée lorsque les mots sortent de la mémoire.
Il existe 65 positions spéciales parmi les 72 premières positions de mémoires sur lesquelles portent des limitations quant à leur utilisation par le programmeur. Les positions 1 à 6 sont réservées en priorité aux mots index servant à ladressage et à la modification dadresse. La position 8 est exclusivement réservée à la logique de lunité centrale pour les instructions de transfert et de décalage. Les positions 10 et 11 sont exclusivement réservées aux mots de contrôle de linterruption du programme du canal de lunité centrale. Les positions 16 à 47 sont réservées aux mots de contrôle des canaux dentrées/sorties et les positions 48 à 71 sont nécessaires à la compatibilité de la programmation des ensembles GE 400.
Lorgane central de commande.
Lorgane central de commande contient tous les circuits logiques nécessaires pour accéder à la mémoire à tores et exécuter les différentes opérations (chargement et stockage à longueur variable, calculs arithmétiques en décimal et en binaire, comparaisons, décalages, branchements et instructions de modification logique à adresse unique et à deux adresses). Les opérations à longueur variable impliquent des zones à longueur simple, double, triple et quadruple (4, 8, 12 et 16 caractères).
Bien quil existe certaines instructions arithmétiques binaires, les données alphanumériques sont normalement traitées dans le mode décimal-codé-binaire. Lemploi de laccumulateur réadressable à longueur variable pour les opérations arithmétiques permet dajouter ou de soustraire des zones dopérande comprenant 4, 8, 12 ou 16 caractères. La capacité de laccumulateur est suffisamment grande pour permettre la multiplication des zones de 8 caractères par 8 caractères, ou la division de zones de 16 caractères par 8 caractères: au-delà, on utilise un sous-programme.
Pour le programmeur, il existe trois éléments dont limportance est grande dans la mise en oeuvre du système:
1. - Le compteur-P commande la séquence dans laquelle les instructions sont exécutées. Il constitue un registre de 15 bits qui contient, normalement, Ladresse de la position en mémoire de la séquence suivante du programme (séquence-P). Lorsquun mot de la séquence-P est extrait de la mémoire, le compteur-P est automatiquement augmenté dune unité.
Le compteur-P enregistre des positions séquentielles sauf sil rencontre dans la séquence-P une instruction de branchement, ce qui entraîne le remplacement de son contenu. De plus, on peut au moyen des instructions « stockage du compteur-P et branchement » ou « stockage du compteur-P dans lindex et branchement », stocker le contenu du compteur-P dans une position de mémoire déterminée, afin de le conserver en mémoire et de pouvoir, ainsi, revenir ultérieurement à ce point de la séquence-P.
2. - Le registre adresse de laccumulateur est un registre de 13 bits qui contient les 13 bits les plus à gauche de ladresse du mot le plus significatif de laccumulateur. Le contenu de ce registre peut être changé dans le programme, ce qui entraîne automatiquement le repositionnement de laccumulateur. Linstruction « positionnement de laccumulateur actif (LAL) » établit une nouvelle position de laccumulateur, en remplaçant le contenu du registre adresse de laccumulateur.
Le programmeur a, en outre, la possibilité de conserver en mémoire la position précédente de laccumulateur, en employant linstruction « stockage adresse et longueur de laccumulateur » (SAL).
3. - Le registre longueur de laccumulateur est un registre de 2 bits qui enregistre la longueur active de laccumulateur. Le contenu de ce registre est automatiquement réglé par toute instruction qui comporte une fonction de réglage de la longueur de laccumulateur; les 2 bits de rang inférieur de la zone dadresse dune instruction LAL sont transmis à ce registre.
Dautre part, une instruction SAL transmet le contenu du registre aux deux positions de bit de rang inférieur de ladresse spécifiée dans la zone dadresse de linstruction.
Lorgane central de commande contient tous les éléments logiques nécessaires à lexécution dopérations arithmétiques en binaire ou en décimal, de décalage de bits ou de caractères, de transferts de données, dinstructions logiques ou dautres instructions spéciales et de modifications dadresse.
Les opérations de base que peut exécuter lorgane central de commande sont les suivantes: charger et stocker, addition, complément, décalage, branchement, opérations logiques, édition.
Toutes les instructions du répertoire dinstructions sont obtenues en combinant, de plusieurs façons différentes, ces mêmes opérations.
Contrôle des opérations.
Le canal de lunité centrale sert non seulement aux opérations de lunité centrale, mais il permet également à lopérateur dintervenir directement dans le programme:
- Pour permettre le stockage (spécifié par le programme) de létat de certains indicateurs de lunité centrale qui donnent une image de ce qui se passe durant le traitement.
- Pour permettre le positionnement par le programme de certains indicateurs de lunité centrale.
- Pour permettre, quand certaines conditions sont réalisées dans lunité centrale, linterruption du programme et le transfert de la commande à un sous-programme dinterruption.
Au moyen dune instruction « demande détat » le programmeur peut stocker létat des indicateurs de lunité centrale dans un mot de mémoire quelconque, afin de pouvoir les tester ultérieurement dans son programme.
Dautre part, pour imprimer aux indicateurs de lunité centrale une configuration quelconque, il suffit au programmeur demployer une instruction « positionnement détat ». On peut donc créer un .« mot détat » qui sert à enregistrer létat de lunité centrale au moment où survient une interruption du programme et à rétablir, ultérieurement, cet état.
On peut également en examinant ce mot détat, déterminer la cause de linterruption du programme.
Lunité de commande de lentrée/sortie.
Ce troisième élément fondamental de lunité centrale accomplit, sous le contrôle de lorgane central de commande, les opérations suivantes:
1 - Réponse aux instructions dentrée/sortie et mise en marche des unités périphériques.
2 - Introduction des données contenues dans des zones de mémoire non consécutives (scatter).
3 - Extraction de données contenues dans des zones de mémoire non consécutives (gather).
4 - Contrôle de répartition des accès à la mémoire dans les transmissions de données, daprès une échelle de priorité préétablie, afin de permettre la simultanéité de plusieurs opérations.
5 - Commande des transmissions de données entre la mémoire à tores et les unités périphériques.
6 - Information de lunité centrale sur la condition des canaux et des unités périphériques.
7 - Déclenchement des interruptions du programme lorsque certaines conditions des unités périphériques sont réalisées. Ces interruptions sont effectuées daprès une échelle de priorité préétablie.
Lunité de commande de lentrée/sortie impose un ordre fixe aux transmissions de données entre les différents éléments périphériques et lunité centrale. A chaque unité périphérique est attribué un canal dentrée/ sortie déterminé. De son côté, chacun de ces canaux a son numéro, son ordre de priorité dinterruption du programme et son ordre de priorité de transmission de données. Les canaux reçoivent les instructions de lunité centrale et les transmettent aux éléments périphériques. Cest également par les canaux que seffectuent les transmissions de données (ou de toute information relative à létat des différents éléments) entre la mémoire et les éléments périphériques.
Les transmissions de données sont synchronisées avec les opérations de la mémoire et de lunité centrale. Il est donc indispensable de contrôler la sélection et la séquence des pauses dans le traitement des instructions, pauses qui rendent possibles les transmissions des données et les interruptions du programme. Lunité de commande de lentrée/sortie assure ce contrôle de trois manières:
1 - Contrôle de commande de lentrée/sortie. Ces circuits lancent les opérations périphériques. Lopération à exécuter, ainsi que le canal et lélément utilisés, sont spécifiés par une instruction générale. Létat du canal et du périphérique correspondant est stocké dans une position de mémoire déterminée par la seconde adresse de linstruction générale (il sagit là dinstructions à deux adresses).
2 - Mots de contrôle de lentrée/sortie. Pour chaque canal, quatre mots de contrôle différents sont stockés dans des positions de mémoires fixes. Ces mots sont utilisés par la logique entrée/sortie, pendant les transmissions de données et les opérations dinterruption du programme. La position de mémoire à partir de laquelle ou à laquelle doivent être transmises les données est déterminée par le mot indicateur de liste (LPW - List Pointer Word) et par le mot de contrôle du transfert de linformation (DCW - Data Control Word).
Les deux autres mots, le mot dinterruption du programme (PIW - Program Interrupt Second Word), sont utilisés pour assurer le renvoi automatique à un sous-programme dinterruption en réponse à la condition qui a causé linterruption.
3- Logique de transmissions de données. Etant donné que plusieurs unités périphériques peuvent fonctionner simultanément, quand les données parviennent dun élément périphérique au canal correspondant, elles doivent attendre leur tour pour accéder à la mémoire. La logique de transmissions de données détermine précisément lordre dans lequel les différents canaux peuvent avoir accès à la mémoire.
Le critère de sélection se fonde sur lordre de priorité des canaux. Quand plusieurs demandes daccès se produisent simultanément, cest au canal ayant lordre de priorité le plus élevé que laccès est accordé en premier.
Lorsquun canal a obtenu laccès à la mémoire, le DCW et le LPW servent à contrôler le passage des données.
Pupitre de commande.
Les pupitres de commande des GE 400 comprennent tous un tableau de manoeuvre, un tableau dentretien et une machine à écrire. Le pupitre constitue, avec sa machine à écrire, le moyen fondamental de communication entre lopérateur et le calculateur. La machine à écrire est connectée à un canal dentrée/sortie « tamponné » à un caractère; ce canal possède toujours lordre de priorité le plus bas (canal zéro). Dautres connexions permettent laccès au pupitre et relient les voyants et commutateurs du tableau de commande à lunité centrale.