LES COMPATIBLES GE-400

LA LOGIQUE FONDAMENTALE DES GE-400

Retour

Un certain nombre de dispositifs ou de facilités inclus dans la logique fondamentale des GE-400 revêtent une importance particulière pour l’utilisateur sur le plan de l’exploitation et de la simplification de la programmation.

1. L’accumulateur readressable à longueur variable.

Cet accumulateur, appelé également « accumulateur volant » remplit un certain nombre de fonctions différentes. Il peut contenir:

- L’un des deux opérandes, dans les opérations arithmétiques à une seule adresse.

- Le résultat de certaines opérations arithmétiques.

- Les données à décaler.

- Les données à rassembler en mémoire et le résultat quand on fait éclater des données.

- Les caractères du format avant une édition.

- Les caractères qui résultent d’une édition.

- L’un des deux opérandes dans certaines opérations de comparaison.

L’accumulateur est constitué par quatre positions de mémoire consécutives qui

sont désignées par le programme. Le programmeur peut placer l’accumulateur dans n’importe quel groupe de quatre positions consécutives; l’adresse de la position la plus significative doit être divisible par quatre (0, module 4). Le déplacement (réadressage) de l’accumulateur n’a aucune influence sur le contenu des positions de mémoire impliquées.

De plus, étant donné que l’accumulateur comporte quatre mots, il est possible de faire varier sa longueur active (ou utile), la rendre simple, double, triple ou quadruple. Quelle que soit la longueur active spécifiée, l’accumulateur comporte toujours quatre mots. En réglant cette longueur active, on détermine la longueur de la zone de mémoire affectée par certaines opérations qui utilisent l’accumulateur.

Les principaux avantages de l’accumulateur réadressable et à longueur variable sont les suivants:

1. Au lieu de déplacer les données à traiter, on peut faire aller l’accumulateur jusqu’à elles. Comme le réadressage de l’accumulateur n’exige pas d’accès à la mémoire, il se fait bien plus vite qu’une transmission de données.

2. La longueur active de l’accumulateur peut être adaptée aux données, ce qui facilite le contrôle et réduit le temps de traitement.

3. L’accumulateur étant réadressable, le nombre d’instructions nécessaires pour dégrouper, éditer et grouper les données se trouve réduit au minimum.

Pour pouvoir s’y référer plus facilement, les quatre mots de l’accumulateur sont désignés respectivement, du plus significatif au moins significatif, par les lettres D,C,B et A.

Outre les instructions qui servent à régler la longueur et la position de l’accumulateur, on dispose d’autres instructions pour conserver (stocker) ou rétablir (charger) les longueurs et adresses précédentes de l’accumulateur.

2. Instruction « Edition »

Les systèmes GE-400 ont la possibilité d’éditer les données de sortie en supprimant des zéros ou certains caractères des données et en insérant, dans les données, des signes de ponctuation et d’autres caractères spéciaux. Cette opération est commandée automatiquement par l’instruction « Edition » (EDT- Edit).

Cette instruction sort les caractères de la mémoire un par un et les traite sous le contrôle des caractères du format contenus dans l’accumulateur. Le résultat de l’édition est stocké dans l’accumulateur. Le contenu de la zone de mémoire où se trouvent les données demeure inchangé.

Pendant l’édition, il y a trois types de suppression de zéros possibles:

1. Suppression simple.

2. Suppression avec protection par astérisque.

3. Suppression avec Signe Dollar Flottant.

Une suppression provoque le remplacement des zéros de tête, des virgules et des points, soit par des espaces en blanc, soit par des astérisques, soit par des espaces suivis d’un signe dollar.

3. Eclatement- Rassemblement.

Comme l’unité de commande de l’entrée/sortie se sert d’une liste des mots en mémoire (appelée liste de contrôle du transfert de l’information « DCL ») pour déterminer les positions de mémoire affectées par une transmission de donnes, le programmeur peut, s’il le désire, lire un enregistrement d’entrée dans des zones de mémoire non-consécutives (scatter) ou écrire un seul enregistrement de sortie (gather) à partir de zones de mémoire non-consécutives.

Une telle technique offre l’avantage de réduire le nombre de déplacements des données à l’intérieur de la mémoire et de réduire également la grandeur des zones de mémoire réservées comme mémoires de travail.

4. Modification d’adresse.

Le répertoire d’instructions comprend des instructions à une seule adresse, ainsi que des instructions à deux adresses. Les instructions à deux adresses contiennent deux opérandes; les instructions à adresse unique n’en contiennent qu’un. Ces deux types d’instructions peuvent exiger tous les deux un ou plusieurs mots dans la séquence du traitement (séquence-P) selon le code d’opération et la zone de commande d’adresse (ACF-Address Control Field) de chaque instruction.

Pendant le traitement des instructions,l’unité centrale suit la séquence générale suivante:

- L’instruction est prise en charge.

- Si l’ACF de l’instruction spécifie une modification quelconque, celle-ci est alors exécutée, ce qui peut impliquer l’accès à des mots extérieurs à la séquence P.

- Si le code d’opération indique que l’instruction est à deux adresses, la seconde adresse est prise en charge.

- L’instruction est exécutée.

- L’instruction suivante est prise en charge. La modification de la première adresse est commandée par l’ACF et la zone d’adresse indirecte et comprend:

1. Modification par un mot d’index fixe (FlW-Fixed Index Word). Le contenu de l’un des six est ajouté à l’instruction.

2. Modification par une séquence de modification d’adresse (AMS Address Modification séquence). Si l’ACF de l’instruction spécifie un AMS, le mot suivant dans la séquence-P pourra être:

- soit un index, dont la zone d’adresse doit être ajoutée à l’adresse de l’instruction en question;

- soit un indicateur d’index, dont la zone d’adresse spécifie la position où se trouve la quantité qui doit être ajoutée à la zone d’adresse de l’instruction;

- soit un enchaînement d’index, dont la zone d’adresse spécifie une position, extérieure à la séquence-P, contenant un index, un indicateur d’index ou un autre enchaînement d’index.

3. Adressage indirect.

La modification s’opère en remplaçant la zone d’adresse de l’instruction par le contenu d’un mot de mémoire quelconque. Après une séquence de modification d’adresse, le mot AMS qui a lancé la séquence est examiné pour vérifier s’il spécifie un adressage indirect. Dans l’affirmative, l’adresse développée devient l’adresse de la position qui contient la zone d’adresse de remplacement. L’adresse indirecte peut également être modifiée.

La zone d’adresse d’une instruction à adresse unique peut être modifiée par l’une quelconque des trois méthodes décrites ci-dessus. La première adresse d’une instruction à deux adresses peut être modifiée au moyen d’une AMS et/ou d’un adressage indirect, mais jamais en employant un mot d’index fixe.

La seconde adresse d’une instruction à deux adresses est généralement spécifiée par une séquence de seconde adresse (SAS - Second Address séquence). Cette séquence est lancée par un mot SAS dans la séquence-P, après l’exécution de toutes les modifications de la première adresse. Le mot SAS peut être:

- Un opérande, sur lequel s’effectuera l’instruction.

- Un indicateur d’opérande, dont la zone contient la seconde adresse de l’instruction.

- Un enchaînement d’opérande dont la zone d’adresse contient l’adresse d’un autre mot SAS, qui peut, à son tour, être un opérande, un indicateur d’opérande ou encore un enchaînement d’opérande.

Il existe une catégorie spéciale d’instructions à deux adresses qui ne requiert pas de SAS. Dans ce cas, la seconde adresse est constituée par l’un des six index fixes, celui qui est spécifié par l’ACF de l’instruction.

On peut faire des combinaisons d’adressage très complexes, ce qui constitue un supplément extrêmement utile aux possibilités d’adressage de base. La modification d’adresse peut réduire considérablement la durée totale du traitement ainsi que le nombre de positions de mémoire utilisées par le programme.

5. Interruption du programme.

La logique d’interruption du programme commande la sélection, le déclenchement et la séquence d’interruptions automatiques du programme, suivant un critère de priorité. Le canal de l’unité centrale possède l’ordre de priorité le plus élevé et le canal d’entrée/sortie de la machine à écrire, l’ordre le plus bas (O). Les autres canaux d’entrée/sortie se rangent, selon leur ordre de priorité, de 1 à 7 ou de 1 à 13.

Quand un canal sollicite une interruption, l’unité centrale transfère le contrôle au mot d’interruption du programme de ce canal. Le contenu de ce mot d’interruption du programme détermine si l’état d’interruption doit être ignoré ou si un programme d’interruption doit être lance.

6. Les possibilités de vérification (contrôle).

Les GE-400 peuvent être programmés de telle façon que toute erreur détectée provoque une interruption du programme et que cette interruption détermine, sans que le système s’arrête, un transfert à un sous-programme de correction du programme.

Par exemple, si, pendant une opération de lecture de bandes magnétiques, un incident de parité est détecté, le contrôleur de bandes magnétiques positionne automatiquement un indicateur d’incident dans l’unité centrale. Une fois l’opération terminée, l’état du dérouleur de bande est examiné et le contrôle est alors transféré à un programme de correction qui relit la bande sous le contrôle du programme. Le programmeur peut choisir en cas d’incident, la procédure qui convient le mieux à son programme. Les autres opérations périphériques peuvent se poursuivre pendant la correction d’un état d’incident. Le programmeur peut désirer tenir l’opérateur au courant des incidents éventuels, au moyen de messages prévus par le programme et tapés par la machine à écrire d’entrée/sortie.

Retour