LES COMPATIBLES GE-400
LA LOGIQUE FONDAMENTALE DES GE-400
Un certain nombre de dispositifs ou de facilités inclus dans la logique fondamentale des GE-400 revêtent une importance particulière pour lutilisateur sur le plan de lexploitation et de la simplification de la programmation.
1. Laccumulateur readressable à longueur variable.
Cet accumulateur, appelé également « accumulateur volant » remplit un certain nombre de fonctions différentes. Il peut contenir:
- Lun 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 dune édition.
- Lun des deux opérandes dans certaines opérations de comparaison.
Laccumulateur est constitué par quatre positions de mémoire consécutives qui
sont désignées par le programme. Le programmeur peut placer laccumulateur dans nimporte quel groupe de quatre positions consécutives; ladresse de la position la plus significative doit être divisible par quatre (0, module 4). Le déplacement (réadressage) de laccumulateur na aucune influence sur le contenu des positions de mémoire impliquées.
De plus, étant donné que laccumulateur 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, laccumulateur 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 laccumulateur.
Les principaux avantages de laccumulateur réadressable et à longueur variable sont les suivants:
1. Au lieu de déplacer les données à traiter, on peut faire aller laccumulateur jusquà elles. Comme le réadressage de laccumulateur nexige pas daccès à la mémoire, il se fait bien plus vite quune transmission de données.
2. La longueur active de laccumulateur peut être adaptée aux données, ce qui facilite le contrôle et réduit le temps de traitement.
3. Laccumulateur étant réadressable, le nombre dinstructions nécessaires pour dégrouper, éditer et grouper les données se trouve réduit au minimum.
Pour pouvoir sy référer plus facilement, les quatre mots de laccumulateur 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 laccumulateur, on dispose dautres instructions pour conserver (stocker) ou rétablir (charger) les longueurs et adresses précédentes de laccumulateur.
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 dautres caractères spéciaux. Cette opération est commandée automatiquement par linstruction « 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 laccumulateur. Le résultat de lédition est stocké dans laccumulateur. 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 dun signe dollar.
3. Eclatement- Rassemblement.
Comme lunité de commande de lentrée/sortie se sert dune liste des mots en mémoire (appelée liste de contrôle du transfert de linformation « DCL ») pour déterminer les positions de mémoire affectées par une transmission de donnes, le programmeur peut, sil le désire, lire un enregistrement dentré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 lavantage de réduire le nombre de déplacements des données à linté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 dadresse.
Le répertoire dinstructions comprend des instructions à une seule adresse, ainsi que des instructions à deux adresses. Les instructions à deux adresses contiennent deux opérandes; les instructions à adresse unique nen contiennent quun. Ces deux types dinstructions peuvent exiger tous les deux un ou plusieurs mots dans la séquence du traitement (séquence-P) selon le code dopération et la zone de commande dadresse (ACF-Address Control Field) de chaque instruction.
Pendant le traitement des instructions,lunité centrale suit la séquence générale suivante:
- Linstruction est prise en charge.
- Si lACF de linstruction spécifie une modification quelconque, celle-ci est alors exécutée, ce qui peut impliquer laccès à des mots extérieurs à la séquence P.
- Si le code dopération indique que linstruction est à deux adresses, la seconde adresse est prise en charge.
- Linstruction est exécutée.
- Linstruction suivante est prise en charge. La modification de la première adresse est commandée par lACF et la zone dadresse indirecte et comprend:
1. Modification par un mot dindex fixe (FlW-Fixed Index Word). Le contenu de lun des six est ajouté à linstruction.
2. Modification par une séquence de modification dadresse (AMS Address Modification séquence). Si lACF de linstruction spécifie un AMS, le mot suivant dans la séquence-P pourra être:
- soit un index, dont la zone dadresse doit être ajoutée à ladresse de linstruction en question;
- soit un indicateur dindex, dont la zone dadresse spécifie la position où se trouve la quantité qui doit être ajoutée à la zone dadresse de linstruction;
- soit un enchaînement dindex, dont la zone dadresse spécifie une position, extérieure à la séquence-P, contenant un index, un indicateur dindex ou un autre enchaînement dindex.
3. Adressage indirect.
La modification sopère en remplaçant la zone dadresse de linstruction par le contenu dun mot de mémoire quelconque. Après une séquence de modification dadresse, le mot AMS qui a lancé la séquence est examiné pour vérifier sil spécifie un adressage indirect. Dans laffirmative, ladresse développée devient ladresse de la position qui contient la zone dadresse de remplacement. Ladresse indirecte peut également être modifiée.
La zone dadresse dune instruction à adresse unique peut être modifiée par lune quelconque des trois méthodes décrites ci-dessus. La première adresse dune instruction à deux adresses peut être modifiée au moyen dune AMS et/ou dun adressage indirect, mais jamais en employant un mot dindex fixe.
La seconde adresse dune 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 lexécution de toutes les modifications de la première adresse. Le mot SAS peut être:
- Un opérande, sur lequel seffectuera linstruction.
- Un indicateur dopérande, dont la zone contient la seconde adresse de linstruction.
- Un enchaînement dopérande dont la zone dadresse contient ladresse dun autre mot SAS, qui peut, à son tour, être un opérande, un indicateur dopérande ou encore un enchaînement dopérande.
Il existe une catégorie spéciale dinstructions à deux adresses qui ne requiert pas de SAS. Dans ce cas, la seconde adresse est constituée par lun des six index fixes, celui qui est spécifié par lACF de linstruction.
On peut faire des combinaisons dadressage très complexes, ce qui constitue un supplément extrêmement utile aux possibilités dadressage de base. La modification dadresse 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 dinterruption du programme commande la sélection, le déclenchement et la séquence dinterruptions automatiques du programme, suivant un critère de priorité. Le canal de lunité centrale possède lordre de priorité le plus élevé et le canal dentrée/sortie de la machine à écrire, lordre le plus bas (O). Les autres canaux dentrée/sortie se rangent, selon leur ordre de priorité, de 1 à 7 ou de 1 à 13.
Quand un canal sollicite une interruption, lunité centrale transfère le contrôle au mot dinterruption du programme de ce canal. Le contenu de ce mot dinterruption du programme détermine si létat dinterruption doit être ignoré ou si un programme dinterruption 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 sarrê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 dincident dans lunité centrale. Une fois lopé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 dincident, la procédure qui convient le mieux à son programme. Les autres opérations périphériques peuvent se poursuivre pendant la correction dun état dincident. Le programmeur peut désirer tenir lopérateur au courant des incidents éventuels, au moyen de messages prévus par le programme et tapés par la machine à écrire dentrée/sortie.