LES COMPATIBLES GE-400

LES AIDES A LA PROGRAMMATION (SOFTWARE)

Retour

Pour l’utilisateur d’un ensemble électronique, les aides à la programmation Software possèdent une importance au moins équivalente aux caractéristiques propres de la machine elle-même. C’est pour cette raison que General Electric s’est efforcé d’élaborer pour la série des Compatibles 400 un ensemble aussi complet que possible des programmes. Dans ce but ont été mis au point des programmes modulaires à partir desquels l’utilisateur peut construire un système satisfaisant à ses besoins. Ce système est une entité dans laquelle sont utilisées les techniques modernes de programmation, mais cette entité reste dynamique et peut toujours évoluer en fonction du développement de l’installation et/ou des travaux ou encore bénéficier des apports de techniques de programmation nouvellement mises au point.

Les programmes modulaires utilisés avec les GE-400 présentent un certain nombre de caractéristiques essentielles:

- Il est possible de choisir et d’utiliser le niveau de langage approprié à chaque tâche. Ainsi, par exemple, un programmeur peut combiner, suivant les besoins, des programmes écrits en COBOL et en langages de l’assembleur de base et du macro-assembleur.

- Le langage d’origine pour la rédaction de chaque programme particulier peut être librement choisi grâce à l’utilisation d’un programme de chargement standard, d’une structure standard, des programmes machines et des supports d’information.

- La mise au point des programmes-sources est efficacement réalisée en raison de l’existence de compilateurs rapides et de la segmentation des programmes.

- Le caractère modulaire du système offre une large gamme d’exploitation.

- Enfin, l’exploitation peut atteindre une grande efficacité et l’utilisation des unités périphériques peut être rendue optimale par l’emploi des programmes d’entrée/sortie et des interruptions.

En dehors de l’assembleur de base ou autocode qui est un langage élémentaire de programmation produisant des programmes en format translatable, la série des compatibles GE 400 possède une importante bibliothèque de programmes généraux que nous allons sommairement décrire dans les pages suivantes.

I.-Système d’entrée/sortie de base (BIOS).

Ce système de base qui a été conçu pour faciliter l’utilisation de tous les autres systèmes de programmation peut presque être considéré comme faisant partie intégrante de la machine (tout comme un élément de « hardware »). Il se trouve en effet presque constamment enregistré en mémoire. Le BIOS peut être divisé en quatre sections distinctes:

- La section de contrôle de l’entrée/sortie évite de réassembler les programmes déjà écrits lorsque la configuration des équipements périphériques a été modifiée sur la machine. Pour ce faire, le programme objet adresse l’équipement périphérique au moyen d’un numéro qui est traduit par le BIOS. De cette manière, un programme écrit pour une machine déterminée peut être également utilisé sur tout autre machine de la même famille.

- La section du canal de l’unité centrale possède quatre sous-sections fonctionnelles de base capables d’exploiter et interpréter chacune des quatre interruptions possibles du canal de l’unité centrale.

- La section de contrôle de la machine à écrire contient les séquences nécessaires à la lecture ou à l’écriture de messages à partir de la machine à écrire en mode alphanumérique ou octal.

- La section moniteur est constituée: de séquences gérant les fins de travail permettant l’enchaînement automatique sur le travail suivant par l’appel du programme moniteur, d’une zone de communications de 21 mots assurant le lien fonctionnel entre les divers programmes de service (assembleurs, moniteur, chargeur).

II. - Le macro-assembleur.

Le langage du macro-assembleur est une extension logique de l’assembleur de base qui est essentiellement lié à la machine. Cette extension prend la forme de macro-instructions qui peuvent être utilisées pour effectuer des opérations sur des données décrites à l’aide de définition de zones. Ce langage est tel qu’une instruction peut générer plusieurs instructions machine. Il existe des macro-instructions pour les opérations d’entrée/sortie, les opérations arithmétiques, les transferts de données et les commandes de procédure.

Les macro-instructions d’entrée/sortie peuvent communiquer avec le système d’entrée/sortie de base (BIOS) et avec le système d’entrée/sortie complet (EIOS). Il est ainsi possible de normaliser et de faciliter la programmation pour tout l’équipement périphérique.

Le programme de macro-assemblage comprend quatre parties:

- La division identification permet d’identifier et de préciser le programme d’origine et de spécifier les options du programme de macro assemblage.

- La division environnement permet au programmeur de préciser les caractéristiques du calculateur devant être utilisé pour l’exploitation du programme résultant et de spécifier le programme de commande principal pour le traitement des entrées/sorties.

- La division données décrit le format des fichiers et affecte des emplacements de mémoire aux zones de fichiers, aux zones de travail et aux constantes. Les données sont définies par des zones plutôt que par des mots de mémoire.

- La division procédure contient des macro-instructions, ainsi que des instructions et des pseudo-instructions du langage de l’assembleur de base.

Pour utiliser le programme de macro-assemblage, il est nécessaire de disposer d’un ensemble comprenant:

- Une unité centrale avec mémoire 8K;

- Un contrôleur de bande;

- Quatre lecteurs de bande;

- Une imprimante;

- Un lecteur de cartes;

- Un perforateur de cartes.

Le programme peut utiliser avantageusement des modules de mémoire supplémentaires et des lecteurs de bandes magnétiques peuvent être substitués aux unités périphériques plus lentes.

Le programme d’origine écrit sur les feuilles de programme est perforé sur des cartes (même dessin que la feuille de programme) et est ensuite introduit dans le calculateur, soit directement à partir des cartes, soit à partir d’une bande magnétique dont les enregistrements ont le même dessin que les cartes.

Le programme de macro-assemblage comprend trois phases:

- Phase de traduction;

- Phase de sélection;

- Phase d’assemblage.

La phase de traduction correspond à l’analyse des cartes d’entrée d’origine et détermine si le langage du macro-assembleur a été utilisé ou non. Si le programme d’origine ne contient pas de division environnement ou données, la phase d’assemblage est chargée dans le calculateur et les phases non nécessaires à l’assemblage ne sont pas utilisées.

Le programme de macro-assemblage permet d’utiliser un langage d’origine avec macro-instructions et de traduire ce langage en instructions des GE 400. Le langage de l’assembleur de base comporte un code pour chaque opération que le calculateur peut exécuter. Le langage du macro-assembleur permet de disposer d’instructions qui génèrent une série de ces codes opérations. Ce langage exécute des opérations sur des données décrites lors de définitions de zones.

Il est une extension logique du langage de l’assembleur de base. Les chances d’introduire des erreurs dans le programme d’origine se trouvent ainsi considérablement réduites.

Le programmeur peut écrire entièrement son programme dans le langage du macro-assembleur ou bien combiner les opérations de l’assembleur de base aux macro-opérations.

Des macro-instructions supplémentaires peuvent être ajoutées au langage d’origine. Les générateurs nécessaires au traitement de ces instructions peuvent être écrits par l’utilisateur dans le langage du macro-assembleur ou de l’assembleur de base. Ils peuvent également être ajoutés au programme de macro-assemblage sous la forme d’un sous-programme de bibliothèque.

Le programme de macro-assemblage présente les principales caractéristiques suivantes:

- Un ensemble minimum mais suffisant de macro-instructions;

- Toutes les opérations-machine et pseudo-opérations disponibles dans le langage assembleur de base;

- Une division donnée séparée avec format fixe;

- Le moyen d’obtenir les sous-programmes d’entrée/sortie automatiques;

- Un langage d’origine qui est commode pour le programmeur et qui est facilement assemblé;

- Une division identification qui fournit une description suffisante du programme d’origine.

III. - Le système d’entrée/sortie complet (EIOS).

Dans un programme courant, le programmeur doit répéter au point voulu la codification nécessaire à l’exécution des entrées/sorties, ce qui notamment prend de la place en mémoire et introduit des risques d’erreurs supplémentaires, tout en limitant la compatibilité des programmes. C’est dans le but de diminuer ou de supprimer ces inconvénients et de simplifier le travail du programmeur que le système d’entrées/sorties complet (EIOS) a été écrit.

Ce système est un ensemble de sous-programmes traitant des entrées/sorties et qui a, en plus de celles du BIOS, les caractéristiques suivantes:

- Groupage et dégroupage des articles d’un bloc;

- Traitement alterné des zones d’entrée/sortie;

- Traitement continu des entrées/sorties base sur l’interruption automatique de priorité;

- Vérification des labels de bande;

- Traitement alterné des bandes dès détection de « fin de bande »;

- Comptage des blocs et utilisation des numéros de séquence des blocs (block serial number);

- Points de reprise;

- Désignation modulaire utilisant au mieux la mémoire.

Les programmes de l’EIOS permettent de commander toutes les unités périphériques à savoir: l’unité de bande magnétique (avec ou sans double canal), le lecteur de cartes, le perforateur de cartes, l’imprimante, la machine à écrire, le lecteur de bande perforée, le perforateur de bande, la mémoire à disques, le lecteur/trieur de chèques.

Les programmes de l’EIOS sont incorporés au programme généré par l’intermédiaire du MAP et la configuration nécessaire pour l’EIOS est la même que celle qui est requise pour le MAP. Leur désignation modulaire permet au programmeur de sélecter uniquement les modules nécessaires pour l’exécution des fonctions d’entrée/ sortie désirées par le programme généré.

L’EIOS comprend quatre groupes distincts de programmes:

1. Les programmes qui groupent et dégroupent les articles;

2. Les programmes qui alternent les zones tampons et déterminent le moment à partir duquel une zone peut être traitée;

3. Les programmes qui exécutent les opérations d’entrée/sortie en se servant du BIOS;

4. Les programmes de service.

Les sous-programmes communs d’entrée/sortie de l’EIOS destinés à être incorporés dans chaque programme assurent de façon standard, l’exécution des fonctions de base (transfert de données, vérification de ces transferts, etc.).

D’autre part, de manière à éviter au maximum les risques d’erreurs, des programmes de traitement de « labels ,» (ou étiquettes) de bande ont été inclus. Ces labels comportent trois parties en entrée.

En fin de bande, les labels permettent, d’une part de faire la distinction entre fin de bobine et fin de fichier et, d’autre part, la vérification du nombre de blocs écrits sur la bande.

Il existe également des parties laissées en blanc où le programmeur peut écrire les remarques qu’il juge utiles.

IV- Package de multiprogrammation.

Ce puissant élément de software permet le déroulement simultané en mémoire d’un nombre de programmes indépendants limité seulement par les périphériques disponibles et la taille de la mémoire. Six routines distinctes (exécutif, entrées-sorties, interruption, contrôle opérateur, initiation, fermeture) permettent le changement, le démarrage et la terminaison d’un programme quelconque appelé par l’opérateur concurremment au déroulement des autres programmes en machine. L’ensemble opère sous le contrôle du moniteur.

V- I.D.S.

C’est une méthode nouvelle unique d’utilisation d’un fichier central chaîné sur disques, basée sur la création de liens de relations fonctionnelles entre des éléments d’enregistrements (un texte de commande sera chaîné aussi bien à un numéro de commande qu’à un numéro de vendeur par exemple). Le fichier est traité comme une extension directe de la mémoire par des macro-instructions puissantes mais simples d’emploi.

L’apparition d’IDS rend enfin praticable l’utilisation des mémoires à accès aléatoire si séduisantes sur le plan théorique.

VI- Le COBOL GE 400

Le compilateur COBOL GE-400 permet de traduire COBOL 61 et ses extensions, ainsi que certains éléments facultatifs de COBOL. Des programmes écrits en COBOL 61 sont compatibles avec les autres systèmes de programmation GE-400, tels que le générateur de programmes d’édition d’états imprimés et le programme de macro-assemblage.

Les quatre divisions séparées de COBOL GE 400 correspondent aux quatre éléments principaux exigés pour la solution des problèmes de traitement de l’information dans le domaine de la gestion: divisions identification environnement, données et procédures.

Le COBOL GE 400 permet d’utiliser automatiquement les instructions à une ou deux adresses, tous les mots index, l’éclatement et le réassemblage des données.

VII - Le FORTRAN 400.

FORTRAN 400 est un langage de codification automatique conçu principalement pour les applications scientifiques et techniques. Il est utilisé couramment dans toute l’industrie et est considéré comme un langage universel de programmation scientifique. FORTRAN 400 ressemble beaucoup au langage mathématique et constitue ainsi un moyen de communication commode entre l’utilisateur et le calculateur.

Il comprend des déclarations entrant dans l’une des catégories suivantes:

- Les déclarations arithmétiques qui permettent d’effectuer des calculs arithmétiques ou logiques;

- Les déclarations de programme qui permettent de définir et d’utiliser des sous-programmes;

- Les déclarations de commande qui déterminent le déroulement du programme;

- Les déclarations d’entrée/sortie qui définissent les formats et les sous-programmes d’entrée/sortie désirés;

- Les déclarations de spécification qui permettent d’affecter des zones de mémoire aux données et de décrire ces données.

Ces déclarations sont composées de constantes, de variables, d’indices, d’expressions arithmétiques et logiques et d’appel à des sous-programmes.

VIII - Les programmes relatifs au système opératoire.

Le chargeur Les segments du programme qui ont été testés et assemblés séparément vont être chargés à des emplacements consécutifs et réunis effectivement au dernier moment, simplifiant la mise au point de tout le programme.

Le moniteur assure la gestion optimum de la machine en améliorant le rapport temps utile/temps disponible.

a) Il permet une utilisation économique de la machine pendant les séances de mise au point des programmes en enchaînant automatiquement les phases d’assemblages et d’essais (LOAD and GO), assurant éventuellement l’arrêt d’un programme mal codé et l’enchaînement sur le programme suivant.

b) Il assure une exploitation continue des programmes d’exploitation, soit en fonction de paramètres, soit en fonction d’un ordre préétabli sur une bande programme.

Le Librarian permet de constituer des bandes programme source ou programme objet, d’assurer leur maintenance et de créer également les bandes comportant les compilateurs qui seront utilisés par le moniteur.

IX- Les générateurs de tri et fusion.

Ils utilisent le scatter-gather et l’adressage indirect, ce qui réduit les temps de tri et de fusion. Ils permettent l’insertion par l’utilisateur de son propre programme pour des traitements précédant ou suivant le tri ou la fusion des enregistrements.

Les programmes générés peuvent être placés sur une bande magnétique pour être utilisés avec un temps d’appel minimum.

X - Les générateurs d’états imprimés.

Une simple procédure remplace le travail de codification de l’édition, généralement fastidieux. Les descriptions de la page à éditer, de la date, du numéro de la page et de la partie des informations à prendre en compte pour traitement et décisions logiques suffisent au générateur.

Le programme ainsi constitué peut alors être utilise par le système opératoire, écrit sur la bande magnétique et exploité par le moniteur de programme.

Retour