Gamma 5 (Petite Machine)
Le nom de Gamma 5 a été le nom proposé pour la machine de bas de gamme de la Compagnie des Machines Bull. Elle devait coexister avec le système à cartes Gamma 10, puis avec une Machine Intermédiaire qui sera abandonnée au profit du Gamma 30 (d'origine RCA) et enfin avec le Gamma 60. Cependant en interne, elle gardera le nom de "Petite Machine" et souvent le surnom de "Machine à Bouvier" du nom de son architecte.
En 1960, il devint clair que l'électronique devait à plus ou moins long terme
envahir le monde du traitement de l'information, depuis les ateliers
mécanographiques qui depuis les années 1950 devenait dotée de calculatrices
ancêtres de l'ordinateur, jusqu'aux machines comptables électromécaniques dont
l'horlogerie était remplaçables par des circuits à transistors.
L'utilisation de mémoires de -relativement- grande capacité comme des tambours
de 100 000 caractères amenait aussi à se poser le problème des fichiers à accès
immédiat, en contraste avec les fichiers de très grosses capacités comme
les bandes magnétiques qui ne pouvaient que difficilement être
consultables plus d'une fois par jour.
Il restait à réaliser un système suffisamment économique pour mettre à la
disposition des petites entités (petites entreprises ou agences décentralisées
de grosses entreprises) le matériel répondant à leurs besoins à un prix
acceptable pour ses entités. IBM avait mis au point le système 305 RAMAC qui
répondait aux besoins fonctionnels de l'accès direct à des disques mais dont le
prix (et le coût) a réduit singulièrement le marché.
A la Compagnie des Machines Bull, les équipes d'études comprenaient en 1960 que le succès d'une machine ne pouvait reposer uniquement sur l'originalité des concepts ni sur l'excellence de certains périphériques. Il était nécessaire de développer un système complet (matériel, logiciel, fournitures) suffisamment économique pour couvrir de nouveaux marchés qui se trouvaient encore hors d'atteinte des fournisseurs d'équipements électroniques de bureau.
Il a semblé nécessaire à l'équipe Petite Machine (l'équipe initiale impliquait Claire Vidal, mais le projet s'articula autour de Claude Bouvier, le père et le chef architecte de ce qui deviendra une ligne de produits) de faire une rupture avec le postulat de base de la stratégie de la Compagnie depuis ses débuts qui était de fonder le traitement des informations autour de la carte perforée. Les matériels à cartes représentaient une part incompressible de mécanique de précision qui faisaient glisser inévitablement l'offre vers le haut. Il n'était pas question à cette époque de promouvoir une alternative systématique aux cartes perforées comme ont cherché d'autres constructeurs comme Univac mais de permettre un traitement de l'information alternatif et de ne recourir aux cartes que comme media d'échange.
Un autre point de l'architecture des petites machines était de pouvoir éviter
l'embauche de cette denrée rare qu'était le programmeur. La programmation en
assembleur classique comme celui du Gamma 3 ET exigeait une spécialisation, la
connaissance des performances des entrées-sorties de la machine (bref un
spécialiste). Les langages de haut niveau comme FORTRAN et ALGOL nécessitaient
une capacité d'abstraction qui sortait de la culture des utilisateurs de
machines comptables. De plus, sauf recours à une sous-traitance de la fonction
programmation, les compilateurs de ces langages (et il en sera de même pour
COBOL qui commencera à se répandre à cette même époque) requéraient une machine
beaucoup plus puissantes que la cible recherchée. L'axe essentiel de la
conception de la Petite Machine sera l'invention d'un langage machine
directement utilisable par le client.
On aurait pu penser que la démarche aurait pu mener à la
conception de langages de programmation comme RPG , mais la vision d'un
traitement interactif qu'avaient les concepteurs les dissuadaient de se diriger
vers des langages non procéduraux opérant sur des fichiers.
L'élaboration de la Petite Machine se fit pendant la période troublée de la fin de la vie indépendante de la Compagnie des Machines Bull. Elle se déroula en l'absence de contraintes de planification, de contrôle financier, de revues indépendantes de produits, ... bref, ce qu'on a appelé souvent le "développement en perruque".
La conception du matériel se fit avec un impératif de coût (prix de revient
usine) minimum. La technologie retenue était celle disponible sur les unités
centrales de l'époque mais sans compromis. Une des avancées à la fois sur le
plan de la logique de conception d'un ordinateur et de la technologie a été la
première utilisation chez Bull de la mémoire morte comme moyen de concilier un
riche code d'instructions et un matériel simplifié. Cette technique de
microprogrammation est ensuite devenue répandue dans la conception de toutes les
machines, à commencer par le Gamma M-40 qui utilisera la même technologie que la
Petite Machine.
La réalisation de la mémoire morte de la PM a été faite au moyen d'enroulements
sur des bâtonnets de ferrite. L'étude théorique de la technologie était de même
nature que la réalisation des mémoires réinscriptibles à tores magnétiques. Yves
Brette sera le créateur de cette mémoire morte.
Par contre la Petite Machine fait des économies sur la taille de la mémoire
centrale qui est réduite à une capacité maximum de 640 caractères divisée en
deux zones l'une pour les données de travail, l'autre comme "mémoire cache
programme". Le mécanisme d'adressage de la mémoire vive inclut des "progresseurs"
qui alimentent une succession de caractères sans intervention de l'additionneur
du processeur, jusqu'à reconnaissance d'un drapeau de fin de zone logique. En
extrémité d'un segment de programme la mémoire cache programme est alimentée
automatiquement par microprogramme depuis une mémoire secondaire.
La mémoire secondaire dépend du modèle de petite machine. Ce pouvait être un
tambour magnétique (celui du Gamma ET) ou se limiter à une bande perforée. Dans
ce dernier cas la mémoire programme est une boucle de bande perforée (de
longueur inférieure à 2 mètres), une solution des années 1950 fragile et lente.
C'est la solution à tambour qui sera privilégiée dans les applications
pratiques.
L''architecture -on dira plus tard l'interior decor- interprétée par
microprogrammes et le logiciel de la machine furent conçus simultanément avec
l'objectif de rendre simplifiée la formation du programmeur-opérateur.
C'est aussi dans ce but que l'adressage est décimal afin d'éviter une
traduction. Les données sont accessibles via des descripteurs (adresse de zone)
qui contiennent soit l'adresse en mémoire secondaire, soit le numéro de zones en
mémoire centrale.
Sur la Petite Machine, le programmeur manipule des données cadrées sur une zone
et limitées par un caractère drapeau sur 100 registres de calcul dont 10
registres d'adresse de zone dont:
Les instructions permettent de transférer les données entre ces différentes
zones , d'effectuer des calculs sur les données en registres. Ces instructions
sont à 2 adresses sans accumulateur spécifique et les données sont cadrées
automatiquement par microprogrammes.
Les instructions d'entrées-sorties sont soit bloquantes (attente de la fin
d'opération du périphérique), soit non bloquantes. Ces dernières permettent des
simultanéités de traitements. Sur le tambour, les recherches (temps de latence)
sont non bloquants, les opérations de lecture/écriture mobilisent les
microprogrammes de l'unité centrale.
Conception et réalisation des PM "Petites Machines" (2 modèles) .
Petite Machine à bande perforée :
-Une mémoire morte à bâtonnets de ferrite pour contenir la logique hardware
(microprogramme)
-Une mémoire vive à progresseurs de 160/320 caractères de 6 bits pour les
données.
-Une mémoire vive à progresseurs de 160/320 caractères de 6 bits pour recevoir
un segment de programme ("mémoire cache programme"). Le programme est inscrit
sur une boucle de bande perforée (longueur inférieure à 2 mètres). Un segment de
programme est alimenté en mémoire automatiquement en fin d'exécution du segment
précédent ou lors d'un saut de séquence.
-Une machine à écrire électrique (Flexowriter).
-Un lecteur/perforateur de cartes.
Petite Machine à tambour magnétique :
-Mémoire morte à bâtonnets de ferrite pour contenir la logique hardware
(microprogramme)
-Une mémoire vive à progresseurs de 160/320 caractères de 6 bits pour les
données. Les données stockées sur le tambour magnétique sont transférées mot par
mot.
-Une mémoire vive à progresseurs de 160/320 caractères de 6 bits pour recevoir
un segment de programme. Le programme est inscrit sur le tambour magnétique. Un
segment de programme est alimenté en mémoire automatiquement en fin d'exécution
du segment précédent ou lors d'un saut de séquence.
-Une machine à écrire électrique (Flexowriter).
-Un lecteur/perforateur de cartes.
Lorsque la Petite Machine a été présentée aux réseaux commerciaux CMB, les
responsables de ceux-ci l'ont accueilli négativement tout spécialement la
machine à bande perforée qui se comparait au modèle 632 Electronic Typing
Calculator (facturière électronique mais uniquement à bande perforée, vendue par
le réseau IBM "machines à écrire").
La version du Gamma 5 à tambour apparaissait trop chère pour les PME et les deux
modèles ne faisaient que peu d'usage des cartes perforées qui constituaient
encore en 1962-1963 le cheval de bataille de la Compagnie et de son actionnaire
majoritaire. La solution d'une programmation par l'utilisateur apparut trop
hasardeuse. Au total, la capacité de la machine à révolutionner l'informatique
en généralisant l' "accès direct" fut nettement sous-estimée et c'est à partir
des grosses machines (GE-400) que naîtra chez Bull-General Electric
l'informatique transactionnelle de gestion.
Le projet, enterré sous sa forme de Petite Machine, sera reconsidéré et
donnera le jour au système GE-55. Les concepts imaginés à l'occasion de la
Petite Machine survivront et l'architecture en gardera les grandes lignes.
©Jean Bellec d'après le papier de René Koebel