LES COMPATIBLES GE-400

L’UNITE CENTRALE

Retour

L’unité 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 d’exécution et l’information en cours de traitement, un organe central de commande contrôlant le déroulement du programme et assurant l’exé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 l’intermédiaire des canaux d’entrées/sorties.

La mémoire centrale.

La mémoire à tores qui, ainsi que nous l’avons 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 l’unité centrale et possède sa propre horloge, sa logique de commande et son registre d’adresse. En outre, son cycle de base peut être partagé (lire seulement, écrire seulement, lire-restaurer, effacer écrire) afin de réduire le temps d’exécution de certaines opérations.

Chaque mot de mémoire de 24 bits peut, selon l’interprétation machine, contenir l’information 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 s’adresser à n’importe quel mot de la mémoire, il suffit de spécifier la position de ce mot dans la zone d’adresse d’une instruction. L’adressage interne de la mémoire se fait en mode binaire et les zones d’adresse 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 d’origine. L’adressage en mémoire se fait en mode binaire, et non en mode décimal, afin de rendre plus efficace l’utilisation des bits du mot instruction. La zone d’adresse d’un mot instruction peut s’adresser à toute position de mémoire, de 0  à 32 767.

La logique de la mémoire à tores avertit l’unité centrale toutes les fois qu’un programme s’adresse à 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 d’accès à une position de mémoire inexistante est traitée comme une opération invalide.

Chaque fois qu’un 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é à l’emplacement 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 à l’adressage et à la modification d’adresse. La position 8 est exclusivement réservée à la logique de l’unité 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 l’interruption du programme du canal de l’unité centrale. Les positions 16 à 47 sont réservées aux mots de contrôle des canaux d’entrées/sorties et les positions 48 à 71 sont nécessaires à la compatibilité de la programmation des ensembles GE 400.

L’organe central de commande.

L’organe 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 qu’il existe certaines instructions arithmétiques binaires, les données alphanumériques sont normalement traitées dans le mode décimal-codé-binaire. L’emploi de l’accumulateur réadressable à longueur variable pour les opérations arithmétiques permet d’ajouter ou de soustraire des zones d’opérande comprenant 4, 8, 12 ou 16 caractères. La capacité de l’accumulateur 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 l’importance 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, L’adresse de la position en mémoire de la séquence suivante du programme (séquence-P). Lorsqu’un mot de la séquence-P est extrait de la mémoire, le compteur-P est automatiquement augmenté d’une unité.

Le compteur-P enregistre des positions séquentielles sauf s’il 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 l’index 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 l’accumulateur est un registre de 13 bits qui contient les 13 bits les plus à gauche de l’adresse du mot le plus significatif de l’accumulateur. Le contenu de ce registre peut être changé dans le programme, ce qui entraîne automatiquement le repositionnement de l’accumulateur. L’instruction « positionnement de l’accumulateur actif (LAL) » établit une nouvelle position de l’accumulateur, en remplaçant le contenu du registre adresse de l’accumulateur.

Le programmeur a, en outre, la possibilité de conserver en mémoire la position précédente de l’accumulateur, en employant l’instruction « stockage adresse et longueur de l’accumulateur » (SAL).

3. - Le registre longueur de l’accumulateur est un registre de 2 bits qui enregistre la longueur active de l’accumulateur. Le contenu de ce registre est automatiquement réglé par toute instruction qui comporte une fonction de réglage de la longueur de l’accumulateur; les 2 bits de rang inférieur de la zone d’adresse d’une instruction LAL sont transmis à ce registre.

D’autre part, une instruction SAL transmet le contenu du registre aux deux positions de bit de rang inférieur de l’adresse spécifiée dans la zone d’adresse de l’instruction.

L’organe central de commande contient tous les éléments logiques nécessaires à l’exécution d’opérations arithmétiques en binaire ou en décimal, de décalage de bits ou de caractères, de transferts de données, d’instructions logiques ou d’autres instructions spéciales et de modifications d’adresse.

Les opérations de base que peut exécuter l’organe 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 d’instructions sont obtenues en combinant, de plusieurs façons différentes, ces mêmes opérations.

Contrôle des opérations.

Le canal de l’unité centrale sert non seulement aux opérations de l’unité centrale, mais il permet également à l’opérateur d’intervenir directement dans le programme:

- Pour permettre le stockage (spécifié par le programme) de l’état de certains indicateurs de l’unité centrale qui donnent une image de ce qui se passe durant le traitement.

- Pour permettre le positionnement par le programme de certains indicateurs de l’unité centrale.

- Pour permettre, quand certaines conditions sont réalisées dans l’unité centrale, l’interruption du programme et le transfert de la commande à un sous-programme d’interruption.

Au moyen d’une instruction « demande d’état » le programmeur peut stocker l’état des indicateurs de l’unité centrale dans un mot de mémoire quelconque, afin de pouvoir les tester ultérieurement dans son programme.

D’autre part, pour imprimer aux indicateurs de l’unité centrale une configuration quelconque, il suffit au programmeur d’employer une instruction « positionnement d’état ». On peut donc créer un .« mot d’état » qui sert à enregistrer l’état de l’unité 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 l’interruption du programme.

L’unité de commande de l’entrée/sortie.

Ce troisième élément fondamental de l’unité centrale accomplit, sous le contrôle de l’organe central de commande, les opérations suivantes:

1 - Réponse aux instructions d’entré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, d’aprè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 l’unité 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 d’après une échelle de priorité préétablie.

L’unité de commande de l’entrée/sortie impose un ordre fixe aux transmissions de données entre les différents éléments périphériques et l’unité centrale. A chaque unité périphérique est attribué un canal d’entrée/ sortie déterminé. De son côté, chacun de ces canaux a son numéro, son ordre de priorité d’interruption du programme et son ordre de priorité de transmission de données. Les canaux reçoivent les instructions de l’unité centrale et les transmettent aux éléments périphériques. C’est également par les canaux que s’effectuent 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 l’unité 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. L’unité de commande de l’entrée/sortie assure ce contrôle de trois manières:

1 - Contrôle de commande de l’entrée/sortie. Ces circuits lancent les opérations périphériques. L’opé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 l’instruction générale (il s’agit là d’instructions à deux adresses).

2 - Mots de contrôle de l’entré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 d’interruption 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 l’information (DCW - Data Control Word).

Les deux autres mots, le mot d’interruption du programme (PIW - Program Interrupt Second Word), sont utilisés pour assurer le renvoi automatique à un sous-programme d’interruption en réponse à la condition qui a causé l’interruption.

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 d’un é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 l’ordre dans lequel les différents canaux peuvent avoir accès à la mémoire.

Le critère de sélection se fonde sur l’ordre de priorité des canaux. Quand plusieurs demandes d’accès se produisent simultanément, c’est au canal ayant l’ordre de priorité le plus élevé que l’accès est accordé en premier.

Lorsqu’un canal a obtenu l’accè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 d’entretien et une machine à écrire. Le pupitre constitue, avec sa machine à écrire, le moyen fondamental de communication entre l’opérateur et le calculateur. La machine à écrire est connectée à un canal d’entrée/sortie « tamponné » à un caractère; ce canal possède toujours l’ordre de priorité le plus bas (canal zéro). D’autres connexions permettent l’accès au pupitre et relient les voyants et commutateurs du tableau de commande à l’unité centrale.

Retour