GCOS7 Les
matériels
Partie 1 |
Les Processeurs |
|
|
1.1 P7 Level 64
1.2 L64DPS
1.3 Taurus
2.1 P7G Leo DPS-7
2.2 Lyra
2.3 Ares DPS-7000
2.4 Ares ph3
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
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