GCOS7   Les matériels

Partie 1

         Les Processeurs

 

 

 

Plan

Introduction

1-       Famille P7

1.1              P7 Level 64

1.2              L64DPS

1.3             Taurus

2-       Famille P7G

2.1           P7G Leo DPS-7

2.2           Lyra

2.3          Ares DPS-7000

2.4          Ares ph3

3-       Famille Auriga  

3.0           Trilogy

3.1           Auriga 1

3.2           Auriga 2

3.3           Artemis

 

               

Introduction:

Il n'est pas aisé de décrire l'ensemble des matériels qui ont servi de base à une ligne de produits pendant 30 ans. Cependant, pour ne pas s'essayer à un ensemble de monographies qui restent pour la plupart[1] à écrire, on essaiera d'éviter les répétitions en s'essayant à une description de l'ensemble.

Le logiciel GCOS 7 présenté précédemment constitue la base de la ligne de produits et, depuis 1974 jusqu'à nos jours, il a été installé sur une succession de plates-formes offertes par les réseaux de vente de la compagnie. La plate-forme comprend une unité centrale comportant un ou plusieurs processeurs exécutant le code binaire du logiciel, des sous-systèmes périphériques plus ou moins spécifiques de la ligne de produits ainsi que depuis longtemps des terminaux . La liste de ces éléments constitue à un instant donné le catalogue de la ligne de produits.

Ce catalogue défini par des identifieurs marketing MI est établi en fonction d'une compétitivité en performances et en prix. La ligne GCOS 7 ne présentait pas de spécificités fonctionnelles originales traitant des applications très spécifiques mais devait être une alternative à l'offre dominante en systèmes moyens grands de gestion  c'est à dire le cœur des mainframes de IBM. L'offre devait faire l'objet de retouches à l'occasion des nouvelles introductions de la concurrence afin d'essayer de garder ainsi un avantage compétitif.

Une caractéristique des systèmes postérieurs à 1970 est que la location avait cessé[2] d'être le "business model" de l'industrie et qu'en conséquence le recyclage des modèles anciens n'était pas prix en considération au niveau du catalogue. Le marché d'occasion des systèmes GCOS était limité à des opérations locales et fut entravé par les obsolescences technologiques rapides.

Un des objectifs affichés de the Other Computer Company[3] était d'éviter l'introduction de clones sur son marché, qu'il s'agisse de processeurs ou même d'appareils périphériques, ces derniers ayant dans les années 1970 et au début des années 1980 de bien meilleures marges que des processeurs fabriqués en série limitée.

Cependant, il n'était pas question que de nouveaux développements engineering et fabrication soient entrepris à la fréquence des annonces qui se succédaient tous les 6 ou 12 mois, si bien que les modèles marketing durent être conçus à partir d'un ensemble de produits (IPI internal product identifiers) connus des études et de la fabrication. Le passage aux modèles marketing se faisait par des modifications de la "configurabilité" tant de la périphérie que du nombre de processeurs (à l'intérieur de contraintes du volume des armoires) et par un "ralentissement" des performances des processeurs. Ce qui peut passer à première vue pour un profane comme des artifices était entièrement justifié par la réduction des coûts de fabrication et de logistique.

Si la liste des MI correspondait de très près à l'offre de l'IBM 370 puis 43xx et suivants, l'architecture interne et le packaging du matériel GCOS en différait et il arriva que certains MI ne correspondaient qu'à du micrologiciel ou à des différences de tailles de configuration.

Honeywell avait l'ambition de se soustraire à l'invasion de clones, ce qui se traduisit par des modifications propriétaires aux interfaces standard [4] et par le maintien des spécifications internes (comme le code d'instructions l'interior decor) dans le domaine des secrets de fabrication. Il fut aussi longtemps considéré que la configuration du système même au niveau des terminaux devait être gérée au niveau des usines, empêchant clients et même filiales de se livrer au jeu de la cannibalisation des systèmes. Cet "impérialisme" avait aussi la justification de garantir la gestion centralisée des états techniques des matériels et de faciliter la maintenance à distance[5] des sites.

 

 

Première Partie

1- Les Processeurs

Un nouveau design de processeur, c'est à dire une page blanche pour les logiciens concepteurs, est un événement relativement rare. Il n'est décidé qu'à la naissance d'une nouvelle ligne de produits, à l'occasion d'une décision stratégique modifiant la destination de la ligne ou pour optimiser l'arrivée d'une nouvelle technologie. Quelques ingénieurs de Bull seulement ont eu l'occasion de participer à la conception de deux processeurs complets en situation de responsabilité, beaucoup n'ont eu que la responsabilité de portions négociant cependant les interfaces de leur œuvre et par conséquent contribuant au processeur entier. Si trois designs essentiels ont marqué l'histoire de la ligne GCOS 7 en aboutissant à un produit fabriqué et installé chez les utilisateurs, quelques autres sont  restés à l'état d'ébauche plus ou moins achevée pour des raisons diverses (compromis stratégiques, volatilité des hypothèses technologiques…) on les rappellera brièvement  plus loin. Les trois designs sont le produit initial P7 développé en 1972[6], le P7G en 1981 et le système Auriga en 1992.

Mais à ces trois "pages blanches", il faut ajouter des réimplémentations des designs précédents dans de nouvelles technologies, dans un packaging différent, avec des modifications de limites de configuration qui conduisent à des IPI différents et à des produits nouveaux. Le P7 a évolué dans sa technologie initiale TTL, puis a été converti en technologie CML (projet P7G-CR alias Taurus). Le P7G en technologie CML a été réimplémenté et redécoupé dans la technologie CMOS (projet Ares). Le processeur Auriga originellement en une carte multi-chips CMOS a été réorganisé en un processeur à un seul boîtier (projet Auriga 2) qui a lui-même vécu deux versions (la seconde étant une accélération par réduction de la largeur du tracé).

On notera que tous ces designs ont été réalisés dans une seule organisation de conception, initialement à Paris Gambetta puis aux Clayes sous Bois,  à l'exception des deux versions (Taurus et Lyra) dont la responsabilité fut à Angers et dont la mise au point se faisait en recouvrement des projets conçus dans la région parisienne. Il y eut des velléités d'associer les équipes Honeywell de Boston (projet P8 en 1971-1972) et de Milan (en 1979) à la conception de processeurs GCOS 7, mais diverses raisons n'ont pas permis de faire vivre ces projets.

 

Tous les processeurs de la ligne de produits interprètent le code d'instructions de la ligne (appelé depuis 1968 l'interior decor ). Cette spécification se présente sous forme d'un gros manuel BL011[7] dans sa version initiale, puis complété dans le PA800. La spécification des instructions exécutables utilisée dans le générateur de code des compilateurs constitue la spécification essentielle des processeurs. Des programmes de test des opérations élémentaires susceptibles de s'exécuter aussi bien sur le simulateur du matériel que sur les prototypes vérifient la conformité à cette spécification.

De plus, la plupart des processeurs conçus entre 1968 et 1985 devaient en plus du code natif (celui de l'interior decor) être capables d'exécuter des programmes binaires programmés pour des systèmes cibles. Les modes ou émulateurs n'étaient pas génériques pour la ligne mais étaient spécifiques à quelques modèles. L'ambition de ces émulateurs étaient d'offrir un niveau de performances au moins légèrement supérieures à celles du système cible ce qui exigeait autre chose que la simple exécution d'un simulateur opérant séquentiellement (qui nécessiterait jusqu'à 100 instructions pour interpréter le système cible).

Les systèmes cibles choisis initialement furent le système GE-100 conçus en Italie par GEISI et l'IBM 360/20 conçus en Allemagne et qui était isolé au sein de la ligne S/360. Ces deux machines étaient des machines 16 et 8-bits, opérant sur des chaînes de caractères et faciles à émuler en mode natif. Par contre, le H-200 devenu prioritaire à la suite de la fusion Honeywell, traitait des caractères avec drapeau et le H-3200 ne cédait guère d'avantages technologiques au processeur P7. L'objectif 360/20  fut abandonné au profit de celui des petits 360 sous DOS, à la demande de Honeywell qui rêvait alors à renouveler sa démarche de libération des clients 1401. Si, l'émulateur 360/30 ne dépassa guère le stade du prototype, les contraintes qu'il posa influencèrent de nombreuses options de décor, à commencer par le choix de l'EBCDIC et celui des programmes canaux d'entrées-sorties. Il ne fut pas prévu d'émulateur du mode Level 62, car Honeywell[8] se disait confiant dans les outils de conversion pour lesquels la réalisation de fonctions compatibles au niveau logiciel suffirait.

Avec la fusion CII et l'abandon des machines Unidata[9], de nouvelles machines cibles commercialisées par CII (les lignes Iris) firent leur apparition. Compte tenu de leur place sur le marché[10], c'est le nouveau système P7G qui en devenait l'hôte. Le mode Siris3 (du nom du système d'exploitation de l'Iris 50/60) ne posait pas de contraintes particulières sur l'architecture. Par contre, le mode Siris8 nécessitait par sa pagination de 2Ko, par son architecture multiprocesseur et par la structure d'instructions particulière issue de XDS, influença notablement l'architecture du processeur P7G.

 

Bien que le processeur soit la partie la plus importante et la plus complexe d'un ordinateur, sa conception et sa fabrication a été souvent liée d'autres composants de l'unité centrale, la mémoire et le système de canaux d'entrées-sorties. En effet, les interfaces entre ces éléments n'ont pas été architecturés[11] au niveau ligne et ont évolué avec l'introduction de nouveaux processeurs.

 

 

1-1 La famille P7

 

1-1-1  P7

 

Les unités centrales de la famille P7 ont été conçus autour d'un chemin de données unique (appelé BUSA) de largeur 32-bits. Elles sont bâties autour d'une micro-machine de spécifications identiques opérant depuis une mémoire de contrôle. Les instructions de cette micro-machine sont des instructions de 32 bits susceptibles de commander des fonctions parallèles. La mémoire de contrôle comprend une majeure partie en PROM[12] et une autre partie en mémoire centrale DRAM (diagnostics et patches du firmware).

Il est également possible de charger les micro-instructions depuis la mémoire vive principale, mais au prix d'un temps d'accès sensiblement plus long.

Le processeur comprend aussi une "scratch-pad" utilisée comme un cache de l'ensemble des registres visibles et invisibles de la machine dont une copie se trouve en mémoire principale. En conséquence, le banc de registres ne permettait pas de simultanéité d'accès aux registres individuels.

La décodification des adresses virtuelles (segmentées à plusieurs niveaux) s'effectue à travers une "mémoire associative"[13] relativement coûteuse à l'époque en circuits MSI.

La majorité des fonctions des canaux (en dehors des transferts de données) sont interprétées par le processeur central lui-même à travers l'exécution de micro-programmes prioritaires pouvant même interrompre l'interprétation des instructions longues (e.g. MOVE).

L'optimisation du processeur a été faite sur des opérations de traitement de chaînes de caractères (y compris l'arithmétique décimale) pour lesquelles des opérations permettant d'utiliser les transferts par mots entiers ont été utilisées autant que faire se peut.

La machine possède outre les opérations sur 16 et 32 bits un opérateur décimal sur 4 bits avec traitement des reports et des débordements. Par contre la première version du P7 ne dispose pas des registres d'une arithmétique flottante (cette fonctionnalité présente dans le décor n'était disponible que sur option.).

 

A titre indicatif, l'instruction AG4 (addition d'un mot de 32-bits entre mémoire et registre) se déroulait en 7 cycles dont la durée était de 300 ns (sur la machine à vitesse nominale).

 

L'adressage du P7 initial était limité à 18-bits, ce qui avec des mots de 32-bits limitait la capacité de mémoire du système à 1 Mo. Le premier prototype fut équipé en début 1972 d'une mémoire à tores, mais la réalisation des autres machines utilisa une mémoire DRAM avec des chips de 1Kbits. Les machines livrées en clientèle reçurent des DRAM de 4 Kbits[14]. Le contrôleur de mémoire (contrôle ECC, circuits de DMA pour les canaux,  circuits de rafraîchissement) était prévu depuis le début pour recevoir des chips de mémoire de deux types.

 

Le contrôleur d'entrées-sorties IOC qui comprenait les circuits d'accès à la mémoire et les têtes de canaux PSI ne possédait comme indépendance que les transferts de donnés (et de commandes à destination des appareils  périphériques – ces commandes étant vues à ce niveau comme des données). Les autres fonctions: initialisation des programmes canaux, interprétation des status des programmes canaux etc… sont traités par des micro-programmes prioritaires du processeur central.
Les tête de canaux PSI, dont la topologie était en étoile[15] (pour éviter des perturbations d'intégrité en cas de défaillance d'un processeur contrôleur de périphériques) étaient regroupés en un tiroir (card cage) pouvant recevoir 4 canaux.

 

Les première études de ce qui deviendra le processeur P7 ont commencé en 1967 sur le projet Charlie de Bull General Electric. Le choix d'une machine à octets avec des mots de 32 bits date de cette époque.
 En 1968, John Haanstra recommanda de recourir à la technologie propriétaire CML et de prévoir un découpage de la logique sous forme de plaques dont le contenu aurait été LSIfié dans une phase ultérieure. Ce projet R270 fut abandonné en 1969 et la conception du système s'appuya dès lors sur la technologie TTL.

L'équipe de conception de l'architecture et du processeur P7 était sous l'autorité de Georges Lepicard et plus spécifiquement de Jacques Bienvenu.

 

L'annonce des 64/20 et 64/40, modèles volontairement bridés de P7, eut lieu dans le cadre de l'annonce globale de celle des Honeywell série 60 le 23 avril 1974. Le premier prototype avait été mis sous tension le 1er avril 1972 sous la forme d'un processeur central et d'une URC tournant sous un système d'exploitation de tests le SCP Support Control Program depuis mai 1972. Le modèle 64/60 –un P7 aux performances quasi nominales- fut introduit à la fin 1974. On notera que cette machine sera fabriquée au Japon , sous licence Honeywell sous le nom de ACOS-250.

 

 

1-1-2  64 DPS

Cependant, dès 1972, des études préliminaires d'un successeur appelé P7A furent entreprises. Ce projet qui aurait dû être entrepris en collaboration avec NEC explora deux pistes basées sur la logique de P7: une version en technologie ECL et une version en micropackaging.

 

Un projet moins ambitieux appelé sous le nom de code 64 step 3 fut lancé en 1975. Un de ces objectifs était une reprise du jeu de circuits pour pouvoir se passer des pièces périmées de l'ensemble 74N. C'est ainsi que l'utilisation de puces 74S ainsi que le patch de quelques chaînes longues permit l'accélération des performances d'environ 25%. Par ailleurs, l'expérience des premières commandes permit de supprimer quelques options du catalogue[16] et de réduire l'encombrement d'un cabinet sur trois. Enfin l'arrivée de DRAM à 16 K bits en 1979 permit d'offrir ce modèle , tandis que l'adressage de la mémoire physique était porté à 20 bits (soit une capacité totale de 4 M octets au maximum). Ces modèles furent annoncés en 1979 sous le nom de 64DPS pour Distributed Processing System, une appellation promotionnelle qui cachait une importante baisse des prix de vente qui apporta un carnet de commandes déstabilisant l'usine d'Angers et amenant à lancer une fabrication en sous-traitance à l'usine Thomson de Toulouse (ex-CII).

 

1-1-3 Taurus

 

Le 64 DPS eut cependant une durée de vie commerciale assez courte, puisqu'il fut remplacé par un lointain successeur au projet P7A, le DPS-7/x5 né P7G-CCR (compact-cost reduced). Ce système était essentiellement étroitement dérivé de P7, mais sa technologie était par contre celle adoptée pour son grand frère P7G avec des chips CML et le micropackaging.

L'adoption de la nouvelle technologie permit de réduire le cycle de la machine de 300 ns à 140 ns et d'accroître les performances dans les mêmes proportions.


photographie de l'unité centrale Taurus DPS-7-65

Ce programme CCR se déroula un certain temps en "sous-marin, toutes voiles dehors", car il semblait empiéter à la fois sur la version monoprocesseur du P7G et sur une future machine en MOS dont la technologie se préparait  aux Clayes. Le nom de P7G-CCR laissait entendre qu'il s'agissait d'une version construite avec des briques du P7G, ce qui n'était vrai qu'en ce qui concerne la technologie. Le développement en fut presque exclusivement mené par la division d'études d'Angers sous la direction de Christian Joly, par ailleurs responsable de l'industrialisation du micropackaging.  Daniel Humblot en fut le project manager. Après son officialisation, le programme fut connu en interne sous le nom de code Taurus et fut annoncé au moment de sa première livraison sous le nom de DPS-7/65.

Le prototype tourna sous GCOS dès septembre 1980, et l'annonce du DPS-7/65 se fit le 14 octobre 1981.

Parmi les innovations ayant pour but de diminuer le coût[17], on notera le recours aux cabinets bas, le remplacement des câbles PSI par des câbles plats utilisables aussi bien en interne qu'en externe.

Une nouvelle version le Taurus1-4C vit le jour en 1983 et fut livré début 1984. Les systèmes Taurus furent construits à l'usine d'Angers, et en outre pour le marché local brésilien par la filiale ABC Bull Telematic  à Belo Horizonte.

 

 

1-2    la famille P7G

 

1-2-1  P7G [18][19]

Le programme P7G fut développé pour satisfaire l'évolution du marché des gros 64 et 64-DPS ainsi que pour se substituer à l'offre X4/X5 de la CII/Unidata pour se substituer aux gammes Iris.

A l'annonce de la fusion avec CII en 1975, les équipes de Marc Bourin[20] s'apprêtèrent à se confronter à leurs nouveaux collègues de CII en raffinant les plans d'un P7B plus orienté vers les performances que les évolutions jusqu'alors considérées.

Le cache devenait une pièce incontournable de l'architecture du processeur et que les simultanéités de traitement, notamment un recouvrement du calcul d'adresses et de l'exécution des instructions devait être prises en considération.

En fait après les premiers échanges croisés d'informations entre les deux engineering fin 1975, le programme X4/X5[21] continua[22] jusqu'en automne 1976, tout en reconsidérant le système d'entrées sorties Unidata au profit de sous-systèmes sur canaux PSI communs avec le 64-DPS. Le programme X4 fut interrompu au cours de la préparation du budget 1976 et ses équipes de développement partiellement transférées[23] sur le projet P7G. Dans ces conditions, technologie, implantation, auxiliaires d'initialisation et de maintenabilité étaient identiques pour les deux cibles. On fermait aussi la route à une version de Siris8 en mode X compatible IBM qui, maintenue, aurait pu permettre à la compétition Siemens ou IBM de reconquérir le parc.

 

La conception du processeur proprement dit fut dérivée du projet P7B et sa responsabilité resta celle des équipes de Paris-Gambetta  sous la responsabilité de Jacques Bienvenu. L'objectif d'émulation[24] Siris 8 nécessitait d'offrir une structure multiprocesseur pour des raisons de performances (l'Iris 80 était livré en biprocesseur) et de disponibilité. Également, l'objectif d'un système redondant et le souci de ne pas obérer les performances du processeur conduisit à réaliser un IOC autonome distinct du processeur, dont la responsabilité fut spécifiquement confiée à l'équipe des Clayes de Robert Bavoux.

 

Le processeur est comme les précédents entièrement microprogrammée dont les instructions longues de 96 bits sont stockées dans une mémoire de contrôle SRAM spécifique. La réalisation en SRAM CML[25] permettait à la fois des performances supérieures[26] et des facilités de maintenance.

La mémoire de contrôle, comprenant des mots de micro-instructions instructions de 56 bits[27], est rechargée par le processeur de service (SURP) à chaque réinitialisation à partir d'un fichier sur diskette.

Le processeur proprement dit se compose de plusieurs éléments [28] commandés par les micro-programmes et susceptibles de recouvrement de traitements entre instructions successives. C'est ainsi que l'instruction AG4 se déroule en 5 cycles (de 110 ns) grâce à l'individualisation de l'accès aux registres et  aux opérateurs.

L'ensemble du processeur est bâti autour de deux bus (instructions et données) de 32 bits.

 

 La fonctionnement du processeur est commandé par l'élément pilote (PIM) de décodification des micro-programmes  et un mécanisme de distribution d'horloge[29]. Les éléments du processeur sont respectivement:
▪ l'élément de calcul des adresses (ACM) comportant une TLB de 128 entrées et générant des adresses physiques en assurant le contrôle de la segmentation et des anneaux de protection.
▪ l'élément d'alimentation des instructions et des données (DIM) incluant un tampon de 32 octets d'instructions.
▪ l'élément arithmétique et logique (ALM) incluant les registres généraux de la machine
▪ l'élément de calcul scientifique en virgule flottante (SCM)

En outre le processeur comprend un élément de maintenance (MIM) qui assure la gestion d'un mode mettant en série tous les registres de la machine et assurant les diagnostics et l'initialisation des registres. Elle est reliée au SURP par une liaison série MCSI.

 

A chacun des processeurs est associé un cache en SRAM CML contenant 1024 lignes de 16 octets contenant indifféremment des contenus de mémoire en provenance de segments de code ou de données. Les lignes sont organisées en 4-way associative. Ce cache est store-into[30] , ce qui veut dire que les données ne sont écrites dans la mémoire centrale qu'en cas de besoin. Le protocole du bus système inclut la détection de conflit entre processeurs et entre processeur et IOC et garantit l'intégrité des données. En cas de défaillance d'un des éléments d'un processeur, l'intégrité du système reste conservée, le cache restant accessible par le bus à l'autre processeur. Ce maintien de l'intégrité de la mémoire avec caches store-into du système multiprocesseur est peut-être une première dans l'industrie.

 

Les canaux d'entrées-sorties sont pilotées (côté central) par des processeurs spécialisés regroupés par groupe (de 16 au maximum) autour d'une interface avec le bus système. Les processeurs de canaux étaient réalisés en technologie T²L. Chacun d'entre eux possède une mémoire SRAM de 2K octets et une mémoire de contrôle de 4 K mots de 48 bits[31].  Ce sont ces contrôleurs d'entrées sorties qui interprètent les programmes canaux (après conversion des adresse en adresses physiques dans le processeur central). Le groupe de canaux réalisé en technologie CML est un multiplexeur de lignes de 16 octets. Les processeurs de canaux sont tous identiques et supportent la même interface PSI (au débit maximum de 2.5 Mo/s).

 

Un système peut comporter une ou deux unités de mémoire principale de capacité comprise ente 2 et 4 M octets. La largeur de la mémoire en DRAM 16 ou 64 Kbits MOSFET est de 9 octets[32], avec un temps d'accès de 550 ns (écriture) 660 ns (lecture/ réécriture).

 

Le bus système (UMI) reliant l'ensemble des unités est un bus parallèle à "split transaction" sur 32 bits pour les données et de 26 bits d'adressage.

 Leo fut le premier système de Bull dynamiquement reconfigurable en bi-système[33], une fonction qui continuera d'être offerte par la suite sur tous les processeurs redondants.

 

Le prototype de P7G fut mis sous tension le 2 avril 1979 et fut annoncé le 18 septembre de la même année. La mise au point du matériel se poursuivit pendant presque deux ans, GCOS7 commença à tourner sur le prototype en juillet 1980

 

Le programme P7G fut annoncé sous le nom de DPS-7/x0 en trois modèles monoprocesseurs (60, 70 et 80) et un modèle biprocesseur (82). Ce dernier ne fut annoncé que plus tard en mode natif et initialement en mode Siris8, à la fois pour se donner le temps de qualifier GCOS7 et pour se garder des réserves de puissance en natif. En fait toute la logique du système P7G comme la version de GCOS7 avaient été conçus pour un quadri-processeur, cependant l'implantation en armoires (le type et la longueur des câbles) s'étaient limité aux spécifications demandées en fonction du marché. Le bond en performances du 64/60 DPS à un P7G quad dépassait la croissance des clients s'étant engagés en 1975-79 sur GCOS64 natif et les clients des modes émulés avaient plus besoin d'une sécurité de leurs opérations que d'une croissance pour laquelle il leur fallait d'abord faire évoluer leurs applications.

 

1-2-2  Lyra

Le projet Lyra ne correspond qu'à une simple évolution de son prédécesseur pour réutiliser le maximum possible de composants communs avec Taurus, pour améliorer le coût des monoprocesseurs et d'assurer une modularité allant jusqu'à 4 processeurs sans échange de matériel. Les systèmes DPS-7/xxx se distinguent aussi  par l'adoption d'un style de cabinets bas, à un certain dépens d'une augmentation de surface au sol.

Lyra prenait également en compte les progrès technologiques amenés par l'augmentation de densité des puces. Les modifications furent faites par les équipes d'études d'Angers. Le Lyra se substituera aux Leo à partir de 1984.

 

1-2-3 Ares[34]

La principale évolution du programme issu de P7G a été la refonte de sa logique en technologie CMOS.

L'objectif de ce programme était de permettre une réduction importante des coûts de fabrication, autorisant le développement de la ligne vers le bas tant en direction de clients moins fortunés que des systèmes départementaux des grandes entreprises.

Le programme débuta à la fin des années 1970 dans les équipes de technologie aux Clayes sous le nom de Archer[35] avec l'objectif de fournir une version d'entrée de la ligne en MOS . Un certain délai s'écoula avant le choix de la technologie CMOS. Une autre étude Antarès fut proposée à partie de la structure logique du processeur P7G. Ces deux projets convergèrent en 1983 sous le nom du projet Ares, sous la direction de Roger Briand[36] en même temps que toutes les études matériel de Gambetta et de Saint-Ouen furent regroupées aux Clayes-sous-Bois.

Ramener la taille du processeur en une seule plaque permettait en outre d'offrir des solutions quadri-processeurs séduisantes pour les applications transactionnelles. C'est pourquoi, le développement du processeur a été bâti sur la base du design conceptuel de P7G, en concentrant le travail des logiciens sur la conception de VLSI en CMOS 2 µm et sur leur assemblage.

Le programme Ares s'étendit jusqu'à la fin des années 1980: après une première phase annoncée en 1987 conduisant à des livraisons dès mai 1987 (Bull livra des machines en cette technologie un peu avant son principal concurrent), une seconde phase (Ares phase 2) retouchait les circuits de calcul d'adresse pour incorporer de plus la pagination, une troisième phase (Ares phase3[37] ou Libra) correspondit, sans modification du processeur, à un renouveau complet des canaux et des contrôleurs de périphériques.

Le système Ares commencera à tourner sous GCOS 7 le 6 mai 1986. L'annonce en eut lieu le 7 avril 1987 pour une livraison quasi immédiate.


photographie du système Ares DPS-7000

Le découpage du processeur proprement dit conduisit à l'élaboration de 6 circuits fonctionnels différents en plus de la mémoire de contrôle, tandis que le contrôleur de cache comportait 4 circuits dont deux identiques. Tout le processeur se tenait en une seule grande carte de 1650 cm², la mémoire cache elle-même étant implantée sur une carte fille. La taille du cache (en technologie SRAM de 16 K bits par puce)  était étendue à 8 K mots de 32 bits (+4 bits de contrôle de parité)

L'unité mémoire centrale (max. 2) se compose d'une carte principale et de 1 à 4 cartes filles. Les chips mémoire , à l'origine des DRAM de 256 Kbits, ont été ensuite des chips de 1 M bits offrant ainsi une capacité maximum de 128 M octets. La carte principale comprend 3 VLSI de deux types et une base de temps locale. L'interface entre la carte principale et les cartes filles permet un accès simultané à 72 bits (64 + ECC) .

 

1.2.4 Ares phase 2

La carte processeur du système Ares, ou plus exactement la puce BPA) fut modifiée pour permettre le support de la pagination (superposée à la segmentation de l'adressage d'origine) de façon à unifier l'offre logiciel sur les systèmes livrés à partir de 1988.

 

1.2.5 Ares phase 3

Le système Ares phase 3 ne différait du précédent que par des limites de configurabilité (intégration de tout le système d'entrée dans un seul cabinet) et par sa périphérie. Il fut annoncé en 1990 sous le nom de DPS-7000 A. Bien qu'il utilisât le même GCOS-7, il était positionné en face du système AS/400 de IBM, et s'accompagnait aussi de limites de la configuration logiciel le différenciant des modèles de haut de gamme.

La caractéristique esentielle de l'unité centrale de ce système était d'ajouter sur l'interface UMI un convertisseur de bus vers un bus 32 bits d'origine Intel le Multibus II, sur lequel se plaçaient les nouveaux contrôleurs d'entrées sorties supportant les canaux standards de l'industrie (notoirement SCSI). Ces contrôleurs nouveaux plus économiques possédaient un moteur Motorola 68000. Le convertisseur de bus  -également à base de MC-68000 –  complétait l'émulation des canaux PSI et assurait la compatibilité du logiciel.

 

 

 

1-3 La famille Auriga

 

1-3-0  Trilogy

En 1982, Bull prit une participation minoritaire[38] dans la start-up californienne Trilogy Corporation qui venait d'être fondée par Gene Amdahl. Cette société se proposait de réaliser un processeur compatible 370 en une seule puce géante. C'est ce qu'on appelé l'intégration au niveau de la tranche de silicium (WSI wafer scale integration). Les technologistes n'avaient pas de peine à percevoir les risques de cette approche du point de vue rendement de fabrication, mais les promoteurs de l'approche pensaient pouvoir suppléer les défauts de fabrication par l'inclusion de portes redondantes remises dans le design au niveau de la dernière couche de métallisation.

Tout comme Digital Equipment, Bull SA décida d'associer une équipe à celle de Trilogy, non pas pour participer à la conception d'une machine haut de gamme compatible IBM, mais pour gagner une expérience de première main sur cette nouvelle technologie et pour concevoir un nouveau processeur DPS-7 adoptant les options que les américains de Gene Amdahl, avaient expérimenté à IBM et Amdahl Corp avec des technologies très onéreuses mais dont on pouvait prévoir le généralisation sous l'influence des technologies nouvelles.

C'est ainsi qu'une partie de l'équipe ayant conçu le processeur P7G s'installa à Cupertino  pendant près de deux ans. Le projet de nouveau processeur s'appelait Aquila[39].

Les options technologiques de WSI s'avérèrent coûteuses en terme de conception assistée, de machines de fabrication et impropres à une utilisation dans la micro-informatique naissante. Trilogy jeta l'éponge en fin 1984. Bull  abandonna le WSI et réorienta son équipe vers la réalisation du projet Auriga, dont la conception se déroula aussi en Californie.

 

On ne devrait passer sous silence le premier projet de développer un processeur de "mainframe" en un seul chip, le projet Altair entrepris sous la direction de François Anceau. Ce projet aida les concepteurs de Auriga à prendre en compte les détails de la  technologie du silicium pour optimiser le nombre de puces et les performances d'une nouvelle structure.

 

1-3-1  Auriga

Auriga était un projet de nouveau système processeur incorporant un pipe-line. La structure générale  de l'unité centrale était dérivée de celle d'Ares, le bus UMI étant relégué au niveau  des entrées sorties et une nouvelle interconnexion des processeurs était faite autour d'un nouveau bus ASB (Auriga System Bus) à 500 Mo/s et d'un System Controller.
 Le nombre maximum de processeurs était de 6, chaque processeur se présentant sous forme d'une seule carte de 460 cm² comportant 6 VLSI spécialisés de 12mm de côté..

La technologie était toujours du CMOS optimisé d'environ 500 000 transistors/avec une finesse de gravure de 1.6 µm. La mémoire est constituée de chips DRAM 4Mb et possède jusqu'à 8 modules de 64M octets.

 

Le processeur comportait un pipe-line  permettant un large recouvrement du temps des instructions. Le temps apparent de l'instruction AG4 était réduit à un seul cycle de 32ns. Le processeur comportait trois chemins de données, deux de 32 bits et un de 64 bits (utilisé entre autres pour accélérer les opérations en virgule flottante). L'exécution des micro-programmes étaient décentralisés dans les unités de traitement.

 

Le chef de projet du programme était Michel Sakarovitch. Les architectes étaient Michel Guillemet, Philippe Vallet et Jean-Jacques Pairault..

 

Les systèmes DPS-7000/700 et 500 annoncés en février 1990 furent les premiers annoncés à base de cartes Auriga1. Ces systèmes étaient capables de remplacer les systèmes Bull Lyra et Aquila et étaient positionnés en face des systèmes 3090 de IBM.


photographie du système Auriga  DPS-7000/500

 

1-3-1-2 Vega

Le programme Vega correspond à une réduction de coût du programme Auriga avec l'adoption des entrées-sorties "Multibus 2" développées pour Ares.

 

 

1-3-2  Auriga 2

Dès la conception de Auriga, il était prévu que lui succéderait une version regroupant tout le processeur sur une puce, donnant le jour à une plaque quadri-processeurs comportant un cache partagé de second niveau. L'amélioration de la finesse du tracé permit de mettre tout les composants (y compris le cache de premier niveau) d'un processeur sur une seule puce de 15 mm de côté contenant environ 5 million de transistors. Le cycle de base était de 26 ns. Le nombre maximum de processeurs du système était de 24 -6x4- avec un mémoire maximum[40] de 2G octets (avec des puces DRAM de 16 M bits).

L'augmentation du nombre de processeurs  permit de bâtir des configurations quelque peu asymétriques sur une architecture de base matériel qui restait complètement SMP. Certains processeurs pouvaient être dédiés à des serveurs tels que Oracle ou Open7, afin d'assurer un niveau de performances suffisant, même sur des systèmes où les applications utilisateurs étaient ralenties. De plus cette stratégie permettait de limiter les  migrations entre caches coûteuses en performances dans les applications de gestion entraînant des dispatchings de threads fréquents.

                                      
photographies du circuit du processeur Auriga 2

 

Le programme Auriga 2 se déroula sous la direction de Michel Guillemet, Philipe Vallet ayant la responsabilité du processeur.

Auriga 2 fut annoncé en avril 1994 comme processeur du DPS-7000/800. La capacité annoncée fut à l'origine de 12 puis de 24 processeurs (sur un ou deux systèmes). Les entrées-sorties se font à travers via des cartes d'interface Multibus2 pour les canaux PSI-N, PSI-S, SCSI, Ethernet et FDDI. Jusqu'à 2x4 tiroirs de 16 cartes peuvent être raccordées à un système Auriga2.

 

1-3-3 Artemis

Un simple "shrink" technologique des puces Auriga2 à une finesse de tracé de 0.35 µm fut le moteur du système Artemis qui reprit toutes les caractéristiques du système précédent, libérant certaines restrictions de l'offre commerciale du DPS-7000/800. La mémoire centrale recevait  des chips 64Mb. Le cycle de base du processeur est ramené à 18 ns.

 

1-4   Diane

Si la famille Auriga représente la dernière version des processeurs spécifiques conçus par Bull pour GCOS7, des réflexions ont été menées par Bull dès la fin des années 1980 devant le coût de développement des processeurs et la spectaculaire augmentation de puissance des processeurs standards dont les coûts de R&D étaient amortis sur des millions d'exemplaires. Après des hésitations sur les perspectives de pérennité des différents modèles de micro-processeurs offerts en 1990, le choix de l'utilisation de l'architecture Intel et plus particulièrement de l'architecture Pentium / Xeon a été fait pour la première version de support de GCOS7 par des processeurs standards. En 2001 a été annoncé le DPS-7000/XTA qui avait été développé sous le nom de projet Diane.

Outre la diminution du coût des processeurs, l'utilisation d'une plate-forme standard présentait l'avantage de pouvoir bénéficier des sous-systèmes d'entrées-sorties disponibles sur les serveurs Windows (ou Linux) après une adaptation par logiciel au système GCOS7.

Ce n'est cependant qu'en 2003 que les performances d'un système Xeon interprétant l'interior decor du DPS-7000 ont pu dépasser les performances du processeur spécifique Artemis.



[1] Le système DPS-7000 Ares a fait l'objet d'un document publié en 1989 par Bull.

[2] du moins aux États-Unis et en Europe. Elle le resta encore longtemps au Japon, ce qui peut expliquer les différences de stratégie d'avec NEC.

[3] Le slogan de Honeywell en 1990 après son acquisition des ordinateurs  General Electric

[4] Exemple SMD

[5] introduite au début des années 1980

[6] date de "mise sous tension" du prototype.

[7] Le BL011 fut édité à Billerica pour les instructions courantes utilisées dans les compilateurs, les instructions spécifiques du micro-kernel et des entrées-sorties étant rédigées à Paris. Le PA800 a complété les instructions systèmes pour tenir compte du multi-processeur. Plus tard, en 1986, il incorpora la pagination dans une spécification conforme à la réalisation de NEC. Enfin, une extension d'adressage fut conçue en liaison avec NEC en 1989.

[8]  Honeywell a proposé en 1979 qu'à partir du successeur du DPS-4 initial, Honeywell Italia développe une machine de bas de gamme compatible 64. CII-HB a décliné cette offre en lui opposant ce qui deviendra le DPS-7000 … en 1987. On peut noter que NEC a utilisé une structure hardware commune à ACOS-2 et ACOS-4 à partir de 1986, maintenant des machine ACOS-2 sans prendre en charge de développement matériel spécifique.

[9] Conçues par CII avec Siemens

[10] qui se tenait au-dessus de la ligne 64/P7

[11] ce concept est né avec la série IBM S/360

[12] Programmable Read-Only Memory

[13] Honeywell-Bull n'a pas utilisé sur cette ligne le terme TLB (Translation Look-aside Buffer)

[14] du moins en Europe, car Honeywell plus prudent (?) avait passé une commande de chips 2Kbits qu'il écoula sur le marché américain.

[15] À la différence des selector channels et des burst multiplexor channels de IBM qui  étaient chaînés ( multipoints)

[16] Entre autres une console à base de CRT et le remplacement de la cassette par la disquette.

[17] On notera pour mémoire l'essai de substitution du cuivre à l'or dans la fabrication des substrats qui échoua sur des problèmes d'électromigration.

[18] Le nom du programme P7G sera rebaptisé Leo suivant le désir de Honeywell de camoufler des noms de projet sous ceux de constellations d'étoiles..

[19] cf brochure CII-HB DPS-7 30.F8-8291

[20] Directeur du Département des Systèmes Moyens à Honeywell Bull.

[21] X5 étant la version multiprocesseurs de X4.

[22] Projet Alida initialisé en avril 1976

[23] Une petite équipe resta sur le CS40 version télécommunications de l'Iris80. Les équipes logiciel se répartirent entre le développement des modes et le développement des réseaux DSA..

[24] On disait comme en 1974 le mode Siris8, car le client restait relativement inconscient du fait qu'il possédait le système d'exploitation natif GCOS7.

[25] La version d'entrée DPS-7/60 était dotée d'une SRAM en T²L

[26] l'avantage de performances des PROM (et autres EPROM) qu'avait cette technologie dans les années 1970 disparut au début des années 1980 avec la création de VLSI SRAM.

[27] La mémoire de contrôle est dotée d'une clé ECC de 8 bits par mot de 56 bits.

[28] Appelés peut-être à tort machines.

[29] À partir de l'horloge centrale du système.. L'ensemble des processeurs, des unités mémoires et des contrôleur d'entrées-sorties utilise une même horloge.

[30] Ou write-into par opposition au store-through qui copie le contenu des lignes modifiées du cache dans la mémoire centrale.

[31] Plus 8 bits d'ECC.

[32] Dont 8 bits d'ECC

[33] une fonction qu'IBM introduira un peu plus tard sous le nom de Sysplex. Cette fonctionnalité restait exclue des systèmes d'entrée de gamme qui ne possédaient pas d'éléments redondants.

[34] cf Naissance d'un ordinateur (Bull DPS-7000 à livre ouvert) Bull 1992

[35] le projet Archer conservait l'architecture du processeur P7

[36] reprenant les études commencées par Robert Bavoux.

[37] Introduit comme DPS-1000 séries A en 1990

[38] Digital Equipment prit aussi une participation significative.

[39] Le nom de code Aquila fut repris dans le projet utilisant le NEC S/750 afin de brouiller les pistes après l'arrêt du programme Trilogy. Ce système fut livré à partir d'avril 1987 comme successeur des grosses configurations Leo.

[40] Cette capacité est atteinte pour des systèmes avec deux copies de GCOS7 dont la capacité d'adressage restait alors limitée à 1Go