Honeywell-Bull    CII-Honeywell-Bull     Bull

Ligne GCOS7

1967-200x

ARCHITECTURE

GÉNÉRALITES

On appellera architecture de la ligne les interfaces invariantes qui assurent la pérennité des composants matériels et logiciels de la ligne et par conséquent  doivent être considérées comme des contraintes pour les développeurs de produits matériels et logiciels. Cette architecture a pu recevoir quelques évolutions avec le temps, mais ces évolutions se sont faites avec un souci de compatibilité ascendante ou de coexistence avec les produits développés suivant des versions antérieures de l'architecture. We name here "architecture" of the product line the invariant interfaces that guarantee the compatibility pf hardware and software components of the line and have to be constraining the hardware and software developers. That architecture has received some evolutions across time, but those evolution have mainatined an ascending compatibility and have allowed a coexistence with products developed on previous versions of the architecture.
L'invariant essentiel d'une ligne de produits est l'interface entre le "matériel" et le logiciel, c'est à dire le manuel de programmation (l'instruction set) .
La ligne GCOS 7 ne fait pas exception à cette règle encore que lorsque la ligne fut annoncée dans le cadre des Séries 60 en 1974, Honeywell a cherché à dissimuler le code d'instructions aux yeux des utilisateurs afin de permettre une migration entre des systèmes différents. Cette stratégie ne s'est pas affirmée dans les faits et l'architecture GCOS 7 quoique gardée confidentielle a représenté pour le constructeur toutes les caractéristiques et contraintes que celle du VAX ou du S/360 et plus que celle du S/38 (AS/400 d'IBM).

Une particularité importante de l'architecture GCOS7 introduite dès 1967 est de se placer plus haut dans les niveaux d'abstraction du logiciel que les codes d'instruction habituels. L'architecture GCOS7 implique la réalisation de fonctions maintenant connues sous le nom de micro-noyau (micro-kernel) habituellement enfouies dans le noyau du système d'exploitation. C'est pourquoi l'architecture a été connue sous le nom d'interior decor, (habituellement appelé aujourd'hui Instruction Set Architecture) c'est à dire la frontière à l'intérieur de laquelle le mobilier (le logiciel proprement dit) peut-être installé.

L'interior decor natif est le manuel de programmation des programmeurs, y compris de ceux développant le système d'exploitation. Les instructions traditionnelles comme le micro-noyau sont fournis par le développeur du processeur. Le moyen de les réaliser (exécution directe, interprétation, exécution d'instructions natives) est laissé à la responsabilité du développeur de chaque processeur.

D'autres codes d'instructions spécifiques de certains processeurs pouvaient aussi être interprétés par ces processeurs en liaison avec l'interior decor natif et le microkernel afin d'émuler les programmes en code machine écrits pour ces codes d'instruction.

D'autres invariants de la ligne de produits sont relatifs aux sous-systèmes périphériques. Le principal est l'interface PSI Peripheral System Interface qui permet la connexion de périphériques au central et d'en assurer une visibilité logiciel identique.
Lorsque de nouveaux périphériques furent connectés à l'aide de standards matériels simplifiés ou différents (e: SCSI), il est du ressort des sous-systèmes d'entrées-sorties de retrouver l'interface logiciel du PSI.

Comme l'architecture initiale avait été conçue sur la base d'une fourniture de tous les éléments par Honeywell pour ses différentes lignes de produits, des interfaces appareils périphériques/contrôleurs de sous-systèmes ont été également "architecturés". C'est le cas du DAI Device Adapter Interface pour les appareils lents unit-record et du DLI Device Link Interface pour les mémoires magnétiques (disques et bandes).


PLAN INTERIOR DECOR

INTERIOR DECOR OUTLINE

interior_decor_guide.jpg (28355 bytes)

  • Data Types
  • Address space
  • Basic instructions
  • Control Structures
  • Extended instructions
  • I/O instructions
Adaptation aux langages de programmation.

La programmation en langage de haut niveau a été une des considérations importantes prise en compte par l'interior decor. La très grande majorité du système d'exploitation a été écrite en un sous ensemble de PL/1 (HPL) qui était un langage de structure de blocs qui a influencé l'architecture (pile de paramètres des procédures,   adressage des variables locales...).

Programming Languages adaptation.

INVARIANTS MATÉRIEL

  • PSI
    Le canal Peripheral Subsystem Interface de liaison avec le central était voisin de celui du Level-66 (deux versions avaient été prévues à l'origine, l'une parallèle sur 8-bits, l'autre sur 16-bits). Seule la première sera réalisée par Honeywell-Bull, NEC ayant réalisé d'abord une version 16-bits, avant de développer une version PSI-streaming adopté aussi par Bull.
  • DAI
    L'interface "Device Adapter Interface" est une interface parallèle sur 8 bits entre les  appareils -initialement supposés non-intelligents- et les contrôleurs de périphériques.
  • DLI
    L'interface DLI est un peu l'équivalent du DAI pour les appareils à mémoire magnétique (disques et bandes). C'est aussi une interface parallèle sur 8 bits.
  • PSI
    The PSI channel connecting the CPU was close to that of Level-66. Two versions have been originally planned at respectively 8-bits and 16-bits parallel transfer. Only the first was implemented by Honeywell-Bull. The 16-bits PSI had been implemented initially by NEC, before being supersede by a PSI-streaming version used later by Bull.
  • DAI
  • DLI

CONSIDÉRATIONS GÉNÉRALES sur l'ARCHITECTURE du MATÉRIEL

Trois grandes générations d'architecture de processeurs se sont succédées sur les processeurs natifs GCOS7 (P7, P7G et Auriga).

Aucune d'entre elles n'a réalisé l'architecture entièrement en hardware. Toutes ont utilisés une interprétation au moins partielle en firmware situé dans une mémoire de contrôle.  Les microprogrammes sont différents sur les différentes générations d'architecture de processeurs tenant compte d'un parallélisme de plus en plus important entre les différents opérateurs. Tous appartiennent à la catégorie des micro-programmes dits horizontaux dont la longueur des mots est supérieure à la longueur des mots de l'interior decor.

Bien que l'architecture logiciel isole clairement  les programmes des données, l'implémentation des processeurs est restée conforme à l'architecture de von Neumann avec une mémoire partagée (mémoire centrale et caches) unique.

Cependant, dès l'introduction de la seconde génération de processeurs (P7G 1982), le partitionnement du matériel en multisystèmes (2 sur P7G) sur la base du matériel a été pris en considération. Du point de vue logiciel, tout se passe comme s'il s'agissait de deux systèmes disjoints.

Bien que souvent discutée, il n'a pas été réalisé de virtualisation de l'architecture GCOS7, et par conséquent de moniteur de machines natives virtuelles .