CII-Honeywell-Bull        Bull SA  

Ligne GCOS7

P7G Leo  DPS-7-x0

1976-1985

INTRODUCTION ET HISTOIRE

Les systèmes dénommés DPS-7-x0 (c'est à dire 60, 70, 80 et 82) furent introduits en 1981 en haut de gamme de la ligne GCOS7. Ces machines étaient de la même famille que les systèmes Level 64 et Level 64 DPS, et la plupart des programmes, même les programmes systèmes de GCOS64, fonctionnaient sous DPS-7. De plus, la ligne DPS-7 comportait d'autres modèles DPS-7-x5 (nom de code Taurus) d'architecture identique à celle du Level 64.

La rupture du nom de la ligne du 64 au DPS-7 et du système GCOS64 en GCOS7 fut de nature purement marketing. Cependant, les modèles DPS-7-X0 et leurs successeurs seront à même d'apporter des innovations sensibles qui ne seront pas visibles à l'annonce (Multiprocesseur, pagination...)

Une autre caractéristique du DPS-7-x0 sera le support d'émulateurs pour les logiciels (système et applications) du parc CII Siris 3 et Siris 8. 
Le projet fut développé initialement sous le nom de code P7G et plus tard rebaptisé Leo, dans le cadre des noms de codes basés sur les noms de constellations (en latin).

Le système P7G a été conçu par une équipe dirigée par Georges Lepicard entre 1976 et 1981. Le processeur l'a été dans l'équipe ex-Honeywell-Bull de Jacques Bienvenu à Paris-Gambetta, les entrées-sorties par une équipe ex-CII aux Clayes dirigée par Robert Bavoux, le contrôleur mémoire et la technologie a été développée par les équipes de Christian Joly à Saint-Ouen et à Angers, les modes (firmware et software) l'ont été par des équipes ex-CII à Louveciennes et aux Clayes.
Le système a été intégré à Paris-Gambetta, les éléments des prototypes ont été fabriqués  Angers ou la production en série a débuté en 1981/

leo_system.jpg (69660 bytes)

PLAN

OUTLINE

architecture système

architecture processeur

technologie

modes émulation

system architecture

processor architecture

technology

emulation modes

 

architecture unité centrale

L'unité centrale comporte:
  • une ou deux unités de mémoire
  • un ou deux processeurs CPU
  • un ou deux contrôleurs d'entrées-sorties IOC

Seul le modèle DPS-7-82 est doté de plus d'une de ces unités. L'architecture du P7G est basée sur 4 processeurs, mais pour des raisons d'implantation cette facilité ne sera disponible que dans le modèle suivant Lyra.

Le contrôleur d'entrées-sorties est réalisé sous la forme d'un multiplexeur et d'un ensemble de processeurs spécialisés dans la gestion des canaux. Ces processeurs recevront le nom de PCP Peripheral Control Processors, en réalité des contrôleurs de canaux PSI. L'autre extrémité d'un canal PSI est occupée par un processeur de gestion des périphériques, en général communs à l'ensemble de la gamme DPS7 et à la gamme 64. Des dispositifs de commutation des périphériques seront introduits avec le P7G pour faciliter la reconfiguration du système.

Les unités listées ci-dessus sont interconnectés à travers un bus rapide appelé Bus UMI.

 

 

Processeur central (CPU)

Le CPU est composé de 7 unités opérant à travers un bus. Ces unités sont commandées par l'exécution d'instructions de micrologiciel interprétant les instructions du logiciel natif et éventuellement celles des modes émulés.

Le processeur a des instructions mots de 56-bits (+6 bits d'autocorrection)   rangés dans une mémoire de contrôle en technologie SRAM chargée à l'initialisation (ou rechargée à la reconfiguration) du système. La technologie SRAM diffère selon les modèles : le modèle DPS7-60 utilise des SRAM en TTL, tandis que les autres sont dans la technologie CML de l'ensemble du processeur.
Ces instructions processeurs sont exécutés dans une "machine pilote" PIM qui dispatche les commandes des mots de mémoire vers les "machines d'exécution".
Il ne faut pas confondre ces instructions de la machine pilote avec les instructions du code natif qui sont de longueur variable (en octets) et sont l'invariant de la ligne GCOS64/7.

Les machines d'exécution sont les suivantes

  • La machine de calcul des adresses ACM

    L'unité ACM effectue le calcul d'adresse en mémoire virtuelle et transforme ces adresses en mémoire physique  à l'aide d'une mémoire associative de 128 entrées (TLB). Cette conversion possède un mode spécifique pour le Siris8. Les pages peuvent être de 2 Ko ou de 4 Ko (le mode natif utilisera cette dernière taille). Les registres de base sont localisés dans l'ACM.
  • la machine de gestion des instructions et des données DIM

    L'unité DIM fait la liaison du processeur avec le cache (appelé parfois antémémoire) en lui présentant les adresses physiques calculées par l'ACM. Cette liaison se fait par blocs de 16 octets. La DIM pré-alimente un second bloc dans un buffer et permet le recouvrement d'instructions.

  • La machine arithmétique et logique ALM

    L'unité ACM effectue les opérations logiques et arithmétiques en virgule fixe. Elle contient les registres de travail (et d'index) correspondant à l'interior decor (visibles du logiciel)

  • la machine de calcul scientifique SCM

    La SCM effectue les opérations en virgule flottante.
  • l'horloge

    l'unité horloge comprend l'horloge de synchronisation du fonctionnement du processeur ainsi que la circuiterie nécessaire aux fonctions de time-out, d'horloge temps réel, et de mesures/
  • la machine interface de maintenance MIM

    l'interface technologique entre les circuits du processeur et la liaison avec le processeur de service (SURP) est assurée par la MIM. Entre autres, la MIM assure la mise en série de tous les registres de la machine à des fins de tests et de diagnostics et d'initialisation.

Le cache est une unité associée au processeur mais qui en reste suffisamment indépendante pour rester "vivante" en cas d'arrêt de celui-ci. Ceci assure l'intégrité du système d'exploitation dans le cas de panne s'un processeur dans un système DPS-7/82, car il opère en mode "copy back" ne ralentissant pas le processeur pour écrire en mémoire principale. On diminue ainsi le trafic sur le bus et on peut retrouver plus rapidement une donnée dans le cache de l'autre processeur que si l'on devait accéder à la mémoire principale.
La technologie du cache utilise des SRAM CML. Le contenu du cache est sécurisé à l'aide d'un code auto correcteur.

Le cache associé à chaque est organisé en 1024 lignes de 16 octets consécutifs. Il est  associatif sur 4 chemins. sa table de contenu contient 4 x 256 registres. Les poids forts (2) de l'adresse sont associés  le banc de registres, les poids intermédiaires (22) au numéro à l'intérieur du banc et les poids faibles (4) l'adresse de l'octet à l'intérieur du bloc.
Une lecture en mémoire est d'abord présentée au cache du processeur intéressé, puis à l'autre processeur et enfin à la mémoire. Une écriture écrit le cache du processeur intéressé puis transmet un avis d'inhibition de la ligne pour l'autre processeur. Ce n'est qu'en cas de manque de place pour alimenter une lecture que se fait une écriture physique en mémoire, sauf lorsqu'il s'agit de certaines opérations de synchronisation entre les processeurs ou avec le contrôleur d'entrées-sorties.
On notera que le cache fonctionne sur des adresses réelles. La raison en est qu'il existe une possibilité qu'un même bloc réel soit représenté volontairement par deux adresses virtuelles différentes, et que d'autre part l'IOC ne travaille qu'en adresse physique.

 

Mémoire principale

L'unité de mémoire principale a une capacité de mémoire allant de 2 à 4 M octets, suivant les modèles de systèmes. Le DPS-7/82 possède deux unités de mémoire.
elle est réalisée au moyen de puces DRAM en MOS.

Les temps d'accès en lecture sont de 960 ou 800 ns (800 pour les DPS-7/80 et 82) et de 880 et 755 en écriture. L'accès est fait simultanément sur 64 bits (8 octets). Chaque bloc de 16 octets est accompagné d'un code de Hamming auto-correcteur.

 

Bus UMI

L'unité centrale d'un système P7G est organisée autour d'un bus donnant à tous les processeurs et aux entrées-sorties l'image d'une mémoire unique toujours cohérente (représentée par la mémoire centrale et les caches des processeurs).

Son débit est de 36 M octets/s (25 sur le modèle inférieur). Il a une largeur de 32 bits pour les données et de 28 bits pour les adresses accessibles indépendamment. 
 

Input-Output Controller (IOC)

Les fonctions de contrôle d'entrées-sorties sont réparties en deux composants:

  • l' IOC proprement dit participant au dialogues sur l'UMI et accédant aux mémoires (et aussi aux caches des CPU). Il est réalisé en technologie CML rapide. Cet accès se fait par blocs de 16 octets.
  • les processeur de contrôle de canaux, mini-ordinateur fermé, possédant une mémoire programme de 4 096 mots de 48 bits (+8 d'autocorrection). Sa mémoire de données comprend 2048 octets contenant des buffers de données ou de "channel programs" en cours. Il est réalisé en circuits MSI TTL.

Le nombre de PCP est au maximum de 16 ce qui permet de connecter 32 canaux PSI à un DPS-7/82. IL faut noter qu'un même canal PSI peut être multiplexé sur plusieurs appareils ou niveaux de simultanéités.

Le débit maximum d'un IOC -au niveau du bus UMI- est de 20 M octets/s. Le débit maximum par canal au niveau de l'IOC peut atteindre 2,5 M octets/s. Le débit réel dépend de la longueur du canal PSI, du contrôleur de périphériques et des appareils eux-mêmes.

 

Processeur de Service (SURP)

Le processeur de service est relié au processeur central par l'intermédiaire d'un canal de maintenance spécifique. Il est en fait une partition du contrôleur de périphériques URC avec lequel il partage les appareils disquette, console, imprimante et ligne de télémaintenance.
L'initialisation du système matériel P7G est particulière parce que contrairement au Level 64, l'unité centrale ne contient pas de mémoire fixe. Le firmware est chargé depuis disquette via le canal de maintenance à chaque démarrage à froid.

 

 

MODES d' exploitation du système


La visibilité externe du système est triple. Elle peut être réservée au mode natif GCOS7 ou bien être réservée à une exploitation SIRIS 8 auquel cas le système apparaît en presque tout comme un Iris 80 ou bien réservée à une exploitation SIRIS 3.

En réalité, le système de base est bien un système GCOS7 auquel est ajouté un émulateur du décor  Siris et d'un logiciel d'interprétation des instructions mode maître (opérant sur la gestion d'incidents, la mémoire physique et les entrées-sorties) des machines Iris.

Une "release" spécifique SIRIS8-E de Siris8 sur P7G a été réalisée afin d'améliorer sensiblement les performances d'émulation pour atteindre l'objectif formulé dans les programmes X4/X5 d'une machine d'upgrade de l'Iris80 biprocesseur.
Les modifications faites à Siris3 pour la release SIRIS3-E furent mineures et peu significatives.
Les programmes d'applications, y compris ceux dotés de capacités de télétraitement (sous Siris 3 v17/VCAM et Siris8 C10/VCAM) , fonctionnent sur DPS-7 sans modifications.

Il n'a pas été entrepris d'émulateur du code X de la machine Unidata 7720. 
CII-HB avait réalisé un émulateur 360, d'ailleurs non commercialisé, pour le Level 64, ce sont des considérations de stratégie marketing et de coût engineering qui ont motivé cette décision.

 

Une des modifications importante de l'architecture logiciel de GCOS7 (et des Modes Siris) est le support de l'architecture de réseaux DSA (Distributed Systems Architecture) introduite pas CII-HB et Honeywell sur leurs lignes de produits GCOS. 
Les fonctionnalités DSA sont suportées par le processeur frontal Datanet 7100 (un logiciel spécial développé par CII-HB sur base matérielle DPS-6) connecté au DPS-7 par un adapteur du DPS-6 au canal PSI.
On peut noter que le MLA frontal intégré à l'URC qui supporte aussi DSA sur des systèmes  64 ou Taurus d'entrée de gamme, n'est utilisé sur le DPS-7 Leo que pour des applications de maintenance du système invisibles du client et de ses applications.

Le Datanet se connecte aux autres systèmes GCOS DSA, au concentrateur Mini6/DSS et à toute une gamme de terminaux.

Bibliographie: