DPS-7 Unit Record Processor
Une partie importante de l'architecture du Level 64/DPS-7 est dissimulée dans un mini-ordinateur auxiliaire officiellement connu sous le nom de processeur de périphériques Unit record. On emploiera ici le nom engineering, moins promotionnel, mais bien plus utilisé d'URC (Unit Record Processor).
Lorsque des systèmes possédant plus d'une URC ont été commercialisés, l'URC principale -celle connectée au canal de maintenance du processeur a reçu le nom de SURP System Unit Record Processor. Les différences opérationnelles entre le SURP et les URC ordinaires sont décrites dans les paragraphes initialisation et maintenance ci-dessous.
Origine de l'URC
A une revue du programme Charlie à la fin de 1967, John Haanstra
suggéra l'adoption d'un mini-ordinateur pour effectuer le contrôle des entrées sorties.
A cette époque, ni BGE, ni General Electric ne disposaient de matériel semblable - le
Datanet-30 était construit en une technologie obsolète et son successeur le Datanet 355
était plus puissant, mais trop cher pour être utilisé à plusieurs exemplaires sur un
système moyen. L'équipe de Georges Lepicard avait déjà commencé à faire les
spécifications d'un contrôleur de lignes de télécommunications micro-programmable qui
évolua au cours de l'année 1968 en ce qui devint plus tard connu sous le nom de URC
(Unit Record Controller).
La raison pour laquelle ce mini-ordinateur s'appelle Unit Record, est que Bull-General
Electric avait obtenu la "mission" des appareils Unit Records (appareils à
cartes et imprimantes) pour le groupe, les appareils étant confiés à Belfort, les
sous-systèmes NPL devant être conçus à Paris dans la Medium Systems Division. Cet URC
,essentiellement optimisé pour le système moyen -futur Level 64- devait servir aussi de
sous-système unit record pour le haut de gamme et l'établissement parisien ne faisait
pas trop mystère de son souhait de voir utiliser cette plate-forme comme un processeur de
bas de gamme, réglant ainsi un vieux compte avec leurs amis transalpins. Le système en
cours de conception n'était pas -en principe un système transactionnel- mais il semblait
désirable de le doter d'une configuration minimale de ligne de communications (support de
Teletypes et de ligne haute vitesse 4800 bps pour le remote batch). Un système doté d'un
processeur 16-bits fonctionnant à une fréquence de 6 MHz -celle du CPU-
devait être capable de multiplexer un ensemble d'appareils à cartes, une imprimante et
16 lignes à 110 bps en plus d'une ou deux lignes remote batch, moyennant la dotation de
mémoires tampon adaptées.
L'idée d'un processeur de maintenance faisant les diagnostics off-line de la logique du
processeur principal et capable de suppléer aux procédures manuelles d'initialisation du
système se fit jour en 1969-1970 et comme ce processeur était susceptible d'utiliser
off-line les périphériques unit record, il apparut judicieux de combiner ces fonctions
avec celles de l'URC. Le seul appareil manquant était une mémoire de masse permanente
pour laquelle l'utilisation des cassettes de ruban magnétique était -en 1970- une
solution acceptable, qui devint encore plus attrayante lorsque les augures annoncèrent
que ce media pouvait remplacer avantageusement la carte perforée comme véhicule de
saisie de données.
Projet URC
La conception et la réalisation de l'URC a été réalisée dans la division Périphériques de la direction hardware des Systèmes Moyens de Honeywell-Bull sous l'autorité de Henri Verdier.
La technologie était identique à celle du processeur principal Level 64 (mémoire MOS 4Kbits, technologie TTL 74N, packaging SP-10.
Les outils logiciels étaient développés dans la division Software de la Direction hardware, initialement dirigée ar Michel Rocher, puis par Jean-Jacques Pairault.
Les "device adapters" de périphériques étaient conçus par l'équipe de Henri Verdier et réalisés par les constructeurs des périphériques -ils se trouvaient dans l'armoire du périphérique et packagés avec l'électronique analogique spécifique de celui-ci, à l'exception des adaptateurs de communication (MLA) , intégrés dans un tiroir voisin de l'URC, réalisés par l'équipe de Jean Akriche chez Henri Verdier.
Architecture de l'URC
Bien que l'URC ait été conçu comme un mini-ordinateur à usage général, on n'avait jamais envisagé que sa base architecturale soit directement programmable par l'utilisateur final. Lorsqu'on a envisagé son utilisation comme processeur de bas de gamme, l'"interior decor" considéré devait être un code d'instructions compatible avec celui du 64 (aligné octet, instructions de longueur variable...) interprété par du "firmware" et non le décor natif offert par le matériel (machine mot de 16-bits, adressage limité à 64KB, 2 registres de base - un pour le code, l'autre pour les données-). On a donc appelé "firmware de l'URC" le logiciel en mode natif, dont une partie, celle du "bootstrap", et les pilotes des périphériques de base était réalisé en PROM.
L'URC comprenait un processeur, une mémoire DRAM et des
adaptateurs (1 ou 2 adaptateurs de canal PSI -liaison avec le processeur central,
adaptateurs de canaux DAI -liaison avec l'électronique des périphériques).
Les canaux DAI étaient un standard Honeywell et identiques pour tous les périphériques
(parallèle sur 8-bits).
Le canal PSI de liaison avec le central était voisin de celui du Level-66 (deux versions
avaient été prévues, l'une 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.
Les "device adapters" de communication étaient de types différents: un adaptateur de lignes asynchrones regroupant 8 lignes à basse vitesse avec un double tampon d'un caractère par ligne, un adaptateur de ligne asynchrone à "grande vitesse" , un adaptateur de lignes synchrones BSC puis plus tard un adaptateur de ligne synchrone HDLC. Ces adaptateurs étaient échantillonnés par le programme de gestion de lignes aussi appelé "MLA firmware".
Micro-Logiciel
Inspiré de la conception du processeur du Level 64, un "microprogrammed-OS" (MIOS) servait de système d'exploitation de l'URC. Il s'agissait d'un micro-noyau qui, non seulement gérait les interruptions, mais aussi assurait le dispatching des tâches de leur synchronisation au sein de l'URC. Ce MIOS faisait partie de la partie réalisée en PROM et était par conséquent chargé au début de l'initialisation de l'URC.
Les micro-tâches étaient les suivantes:
le pilote du lecteur de cartes (code en ROM)
le pilote du perforateur de cartes
le pilote de bande perforée
le pilote d'imprimante (PR71 et PR54)
le pilote du canal PSI de liaison avec le processeur central (code en ROM)
le pilote de cassettes de bandes magnétiques (code en ROM)
le pilote de la console (modèle pour le haut de gamme développé à Billerica)
le pilote de lignes asynchrone TTY (console bas de gamme GE Terminet 300 compatible TTY35)
le pilote de la trieuse de chèques
le programme de gestion des lignes de communication (MLA firmware)
l'interpréteur du programme de maintenance
l'attachement de diskettes (seulement introduit sur l'URC-E
sur 64-DPS)
l'attachement d'adapteur canal à canal
La structure de ces micro-tâches était rigoureuse, la partie procédure était réentrante de façon à pouvoir supporter le multi-tasking (ex: support de plusieurs imprimantes) et se dérouler simultanément sous contrôle du MIOS multiplexant le matériel entre ces micro-tâches (appelées micro-process). C'est ainsi que le fonctionnement des lignes de communication pouvait être complètement indépendant et ces lignes allouées à des "logiciels" différents dans le central ou l'URC.
A propos des pilotes, il faut noter que la lourdeur de la distribution des "releases" du micro-logiciel (Basic System Release BSR) conduisit le Département de Conception de Périphériques Unit Record de Belfort à réaliser des matériels rigoureusement compatibles avec des matériels antérieurs, même si le coût et la fonction de ces appareils en différaient sensiblement (ex: lecteur de cartes CR300 et lecteur de cartes Honeywell CR 1000).
Pour la liaison avec le processeur central, l'URC disposait du
canal PSI et d'un canal spécial de maintenance. Ce dernier servait à lancer la
réinitialisation du central, à accéder au contrôleur de mémoire centrale et à
extraire le contenu des registres de l'unité centrale. Le pilote de canal PSI avait comme
fonction d'assurer la communication entre le logiciel du central (via le contrôleur
d'entrées-sorties du central et son firmware associé) avec les pilotes de contrôle de
périphériques. Il maintenait un ensemble de "subchannels" entités logiques
définissant des chemins de données (macroscopiquement asynchrones) entre les
"processes" du central et des fonctions logiques sur les périphériques.
Cet asynchronisme avait des limites dues aux fonctions "temps réel" du
sous-système d'entrées sorties. Ces fonctions pouvaient être réalisées, comme sur le
IBM S/360, en synchronisant les "programmes canaux" du central avec les
"interruptions" des entrées-sorties. Pour les opérations plus contraignantes,
l'URC permettait au programmeur du central de prédéfinir des actions se déroulant dans
l'URC (actions sur caractères spéciaux de communications, actions sur les trieuses
de chèques). Ces actions étaient soit définies par des déclarations transmises au
programme de gestion de lignes de communication, soit par la génération d'un programme
compilé pour la lecture et le tri de chèques.
Attachement de Peripheriques
La spécification de l'URC, faite à un moment où la logique des devices adapters était coûteuse, n'avait pas prévu que ces devices adapters enregistraient le type d'appareil qu'ils reliaient à l'URC. Ainsi, il n'y avait pas de possibilité de reconnaissance automatique des appareils au moment de l'initialisation (Fonction Plug and Play).
Les "Device Adapters" spécifiques de chaque appareil étaient connectés à l'URC par une interface standard DAI (également utilisée sur Level 62 et Level 66). Cette interface parallèle sur un octet était directement contrôlée par les micro-programmes de l'URC.
lecteur de cartes
lecteur-perforateur de cartes
imprimante
La définition de l'attachement imprimante posa des problèmes particuliers dus à l'existence d'une phase off-line sur la PR71 qui était l'avance du papier. Cette avance était lancée par le micro-programme à la fin du transfert de données dans le tampon ligne de l'imprimante, mais la fin du saut de papier n'était détecté que lorsque le microprogramme se préoccupait de l'envoi de la ligne suivante. Un incident mécanique d'avance papier était donc détecté après que le logiciel du central ait reçu le signal de transfert de données. Dans le cas où le logiciel n'avait pas prévu de point de reprise au niveau de la page, ce problème risquait de provoquer un message d'erreur sur l'état d'impression "LINE MAY BE LOST"
trieuse de cheques
La connexion du lecteur-trieuse de chèques (modèle MICR ou OCR) posait des problèmes que la plupart des autres appareils unit-record. Les critères de sélection (champ des données, codage, type...) de la case de réception normale des chèques étaient sous-la dépendance du programmeur d'application. De plus, la trieuse de chèques rencontrait des cas d'impossibilité de lecture devait provoquer la sélection en case rebut sans ralentir le rythme de la machine. La lecture des chèques ne devait s'arrêter que dans le cas de case d'alimentation vide, de case sortie pleine ou de bourrage.
bande perforée
Multi-Line adapter (MLA)
Le MLA est composé de deux composants: un composant matériel l'UCLA (Universal Communication Lines Adapter) panier (card cage) recevant une carte de liaison avec l'URC (Common Board) via l'interface DAI et jusqu'à 15 adapteurs de ligne, et un composant micrologiciel l'"attachement MLA". Plusieurs modèles d'adapteurs de ligne ont été offerts (l'adapteur de ligne asynchrone possédant une horloge bit programmable, l'adapteur de lignes synchrones et l'adapteur HDLC , ces derniers étant synchronisés par le modem). L'interface entre adapteur et UCLA est parallèle sur un caractère, l'interface entre adapteur et modem est du type série. Les adapteurs pouvaient indifféremment être utilisés via modem ou en connexion locale à courte disatnce.
L'attachement MLA reconnaît chaque caractères de
contrôle, vériifie leur parité -s'il ya lieu-, interprète les caractères de contrôle
de bloc et vérifie les contrôles d'intégrité (CRC) selon les protocoles de
transmission, effectue -éventuellement- une traduction (ex: ASCII<>EBCDIC), et
regroupe le contenu pour une transmission par blocs à l'unité centrale. En outre,
l'attachement MLA interprète les caractère de Break qui interrompent la
transmission et informe le central par une "attention" spécifique, pouvant
interrompre le déroulement du programme canal. A chaque ligne est associée 1 ou 2 logical
channels (selon half-duplex ou full-duplex).
Les options du MLA sont le mode TTY (avec support de bande perforée) , le mode Honeywell
VIP (avec option de multi-point), le mode IBM BSC utilisé essentiellement en "remote
batch", le mode HDLC X25 (compatible IBM SDLC). Un mode Télex 5 moments, code Baudot
a été offert mais n'a guère eu d'applications. Essentiellemnt pour les pays nordiques
un support de l'interface de commutation automatiques de circuits X21 a également été
offert sur URC.
Presque tous les systèmes avec URC ont eu la console système connectée via le MLA. Seuls font exception des systèmes de haut de gamme ayant reçu un adpateur spécial pour une console conçu à Boston à base de CRT. La console la plus répandue avant 1981 fut le General Electric Terminet 300 (compatible TTY). Il a été ensuite remplacé par un écran du type VIP, utilisé par GCOS d'abord en mode TTY, puis en mode plein écran.
Attachement de Canaux
Canal PSI
L'interface avec le canal PSI était une interface parallèle sur un octet. L'URC pouvait recevoir un second canal PSI permettant de la partager entre deux unités centrales. Les sous-canaux correspondant aux périphériques étaient partagés statiquement (à la génération du firmware) entre les deux appareils ce qui limitait l'intérêt de la double connexion. Elle ne fut guère utilisée que pour connecter l'ensemble des péripgériques à l'une ou l'autre unité centrale, jouant un rôle identique à celui d'un switch de canaux PSI utilisé sur les autres sous-systèmes périphérques.
Canal de maintenance
Le CPU du central (et les autres contrôleurs de périphériques) était connecté via une interface série MCSI.
La mise au point initiale du système Level 64 commença à Paris
Gambetta en avril 1972. Les controleurs de bandes magnétiques et de disques étaient
développés à Billerica et n'étaient pas encore disponibles. Aussi, le système central
et sa mémoire devaient être initialisés à partir d'un deck de cartes perforées lues
dans l'URC. Cette fonction de durée assez longue (de l'ordre de 15 minutes) fut utilisée
seulement avant la connexion du MSC et du MTC. En fait, le lecteur de cassette et son
"device adapter" (produit par Honeywell Italia) n'étaient pas non plus
disponible, ce qui fait que le paquet de cartes -en mode binaire- émulait la future
cassette du point de vue fonctionnalité d'utilisation. la cassette inversement émulera
le lecteur de cartes en adoptant des blocs de 120 octets (960 bits) .
A noter que le système prototype du Level 64 possédait une mémoire à tores
magnétiques comme aussi le prototype de l'URC, bien qu'il soit prévu d'utiliser des
mémoires DRAM dès le début (seul le premier prototype était équipé de mémoire à
tores).
On décrira ici, l'initialisation des prototypes complets à
partir de la cassette.
A la mise sous tension du matériel, l' URC initialisait sa mémoire et effectuait des
auto-tests (les POST d'aujourd'hui) de son processeur et de sa mémoire depuis ses
"microprogrammes" en PROM. Le MIOS commençait le chargement et l'initialisation
des micro-processes dont le code était résident en ROM et la mémoire de travail (dans
la mémoire vive de l'URC) auto-initialisée. Après cela, il chargeait le
"firmware" d'initialisation depuis la cassette située dans le lecteur, puis sur
le contrôle de cet "attachement d'initialisation", il lisait depuis le cassette
le "firmware" du processeur principal destiné à s'exécuter depuis la
mémoire centrale vive. Ensuite, le processeur principal exécute un chargement du premier
"logiciel" normalement le System Initialisation Program SIP.
Une alternative au SIP -chargée le plus souvent
depuis bande magnétique- est le logiciel de tests fonctionnels élémentaires du
processeur principal (OPELs).
Le rôle du SIP consiste à examiner la configuration du
système contenu dans des tables logiciel (SRT System Resource Table), de charger le
"firmware" correspondant à ces tables dans le sous-systèmes périphériques et
en particulier dans l'URC et de lancer définitivement la configuration opérationnelle.
Il constitue aussi la table de ressources effectivement disponible au système
d'exploitation GCOS (SRST) terminant ainsi le processus d'initialisation.
En fonctionnement normal opérationnel, l'initialisation a lieu depuis disque; le "boot-record" est logé sur ces média au lieu d'être sur cassette. Mais le lancement des tests (POST) des contrôleurs et le choix du périphérique d'initialisation reste commandé par l'URC -via l'interface de maintenance des MSC ou MTC. Le SIP se charge dans la mémoire principale à partir du "boot-record" et les autres contrôleurs de périphériques sont initialisés. "L'image" de la mémoire URC comprenant le support des périphériques spécifiés dans la SRT est descendue ("downloadée" ) dans la mémoire URC depuis la mémoire centrale via le canal PSI. Les micro-tâches de l'URC sont lancées et les périphériques qui le doivent sont placés dans leur état initial par ces micro-tâches.
Dans le cas où le sous-systèmes disques -s'il n'y en a qu'un- doit faire l'objet de vérifications (Tests et Diagnostics du sous-système et d'un appareil), l'initialisation a lieu comme depuis disques, le système d'exploitation chargé étant le SCP
Un arrêt inopiné du processeur central (interruption au niveau 0
-déclenchée par l'interpréteur d'instructions 64 ou par le superviseur GCOS ou par un
time-out sur la durée d'une instruction) se traduisait par l'envoi d'une
interruption à l'URC sur le canal de maintenance, interrompant les microprocessus en
cours.
Le bootstrap résident de l'attachement de maintenance interprétait cette interruption et
lançait l'attachement de maintenance complet écrasant d'autres attachements de l'URC, à
l'exception de la cassette, de la console et de l'imprimante. Cet attachement comprenait
l'interpréteur du décor processeur de maintenance et l'ensemble de drivers disponibles
à l'initialisation.
Dans ce décor -un sous-ensemble réduit du décor GCOS62-
étaient écrits un mini-système d'exploitation MPOS 'maintenance panel operating
system" et un certain nombre de commandes interprétant les données entrées par
l'opérateur à la console du système, telles que DUMP
Génération
La programmation de tous les produits liés à l'URC fut faite jusqu'aux années 1980 sur des outils tournant sous GCOSIII sur GE-635, puis sur H-6000 dans les locaux de Bull. Il était, à l'époque, considéré comme stratégique que ni les filiales, ni à fortiori les clients eussent une quelconque de connecter des appareils non-Bull au système 64. La modularité de l'architecture permettait cette exclusion au prix d'une complexité logistique non négligeable La distribution des Basic System Release (ensemble des micro-logiciels et des outils logiciels appropriés) était distribuée comme du "hardware" par l'usine d'Angers.
Le langage d'écriture du firmware de l'URC était un macro-assembleur. Lorsque le processeur de l'URC devint un 68000, le langage C remplaça l'assembleur.
Evolution du projet
Version Diskette de l'URC (URC-E)
Le choix de la cassette pour le support des fonctions de service du Level64 n'était pas complètement satisfaisant. Il présentait des risques de mauvaise fiabilité dus aux rebobinages fréquents. La cassette ne répondait pas non plus aux espérances comme media de saisie de données. Aussi, la nouvelle version de l'URC développée en 1976-1978 dans le cadre du Levl64-DPS s'orienta vers le remplacement de la cassette par une diskette 8 pouces, le standard émergent de la micro-informatique à l'époque, qui avait été choisi par IBM comme media de maintenance pour le S/370 au début de la décennie 1970. L'URC-E différait du modèle précédent par un l'évolution de la technologie en TTL 74S (le 74N souffrant déjà d'un problème d'approvisionnement de circuits) et le remplacement des chips DRAM par le modèle 16Kbits, ce qui permettait à la fois de réduire l'encombrement du tiroir URC et d'étendre la mémoire à 64K octets.
Système P7G (DPS/7-x0)
L'URC de P7G restait du point de vue matériel et micro-logiciel de base, celle du 64DPS. Par contre les fonctions de maintenance en différaient sensiblement. Bien que tous les systèmes Leo (P7G) furent dotés du frontal Level 6, le MLA devait être conservé pour les systèmes Taurus de bas de gamme, beaucoup de ces derniers étant des évolutions de Level64 sur parc.
Le système P7G différait essentiellement de celui du Level 64 du fait que le processeur central ne disposait d'aucun firmware en ROM. La procédure d'initialisation du processeur central était différente: les tests du central et les valeurs d'intialisation des registres devaient être alimentés par le SURP.
D'autre part, le système P7G étant un multiprocesseur capable d'un partitionnement en deux systèmes indépendants, il était nécessaire de disposer de deux SURP pour l'utilisation en bi-système qui par ailleurs pouvaient être basculer l'un sur l'autre en cas de panne.
URC vs Front-End Processor
Datanet-2000
Le Datanet-2000 était un processeur frontal de communications développé par Honeywell pour la série H-200/2000 à base du mini-ordinateur H-516. Pour reprendre la base de clientèle H-200 par le Level 64, il fut décidé de connecter ce frontal sur un canal PSI. L'existence de ce produit contribua à diminuer la pression pour le développement de l'URC6MLA vers le haut.
Frontal DSA
Après la fusion de CII et de Honeywell-Bull, CII-HB obtint de Honeywell la mission de réaliser "le frontal commun" de l'architecture DSA (Distributed System Architecture) pour les systèmes DPS-7 et DPS-8. Cette décision posa des problèmes à toutes les lignes de produits (GCOS4 qui s'en abstint, GCOS8 qui traîna des pieds et GCOS7 qui dut s'y contraindre mais devait assurer à la fois une coexistence et une évolution avec les systèmes URC.
Système Aquila (DPS/7-10x7)
En 1987, fut introduit par Bull, un système de haut de gamme DPS/1007 dont le processeur était celui du S/750 développé par NEC.
NEC avait dérivé son propre URP à partir du design initial Bull et il fut décidé de conserver le produit NEC pour l'initialisation et la maintenance du central. Le SIP fut adapté pour reconnaître l'existence de ce SURP, mais ce SURP ne fut pas rendu visible au logiciel GCOS et ne servait qu'aux interventions des techniciens Bull ainsi qu'au partitionnement éventuel d'une configuration multi-processeurs. Le support des imprimantes et de la console GCOS7 restèrent sur l'URC de fabrication Bull.
Eclatement du système de maintenance
Avec le système Auriga, l'architecture de maintenance du central fut sensiblement modifiée. Un microprocesseur Intel 386 sur une plaque montée dans le coffret de l'unité centrale effectuait les fonctions spécialisées de ce modèle de processeur
La console proprement dite était un micro-ordinateur PC 386 sous Windows 3.1 dont on utilisait l'écran, le clavier, l'imprimante et la diskette au lieu des appareils directement contrôlés par l'URC
Remplacement du Microprocesseur
En 1969-1974, il était prévu que le design du matériel du processeur URC soit "VLSIfié" lorsque la technologie deviendrait disponible. Cependant, une des limitations de l'URC restait la capacité d'adressage limitée que le dispositif d'extension introduit par l'URC-E ne résolvait qu'imparfaitement. Le coût de "VLSIfication" d'un mini-ordinateur vendu à quelques milliers d'exemplaires était relativement prohibitif et l'évaluation de microprocesseurs fournis à l'extérieur s'imposa naturellement comme alternative.
Au début des années 1980, apparaissaient des microprocesseurs du commerce à 32-bits.
Le Motorola 68000 avait été choisi par Bull-SEMS et par HIS Italie pour ses systèmes
UNIX.Ce fut donc lui qui fut sélectionné comme base du remplacement de l'URC d'abord
pour le DPS-7000 bas de gamme (programme Libra), puis sur l'ensemble des DPS-7000 (Auriga
et Artemis).
L'URC fut ainsi reprise sous forme d'un micro-ordinateur doté d'un bus -fond de panier-
Multibus 2, comportant outre l'unité centrale basé sur 68000 un certain nombre de
Devices adapters repris de l'URC.
Le MLA ne fut pas réincorporé étant remplacé par le Micro-FEP li aussi doté d'un
680x0 et doté d'un sous-ensemble du logiciel du nouveau frontal Mainway.
En pratique, l'architecture micro-logiciel de l'URC fut conservée et le processeur Motorola était sous le contrôle d'une version du MIOS recodée sur MC68000.
Notes
PROM ou ROM.
les premières réalisations furent faites en utilisant des PROM dont il était
nécessaire au fabriquant de semi-conducteurs de fournir le masque de métallisation
externe. Cette procédure -outre son prix élevé avait l'inconvénient d'un temps très
long entre la correction d'un bug et le remplacement du chip défectueux en clientèle.
Elle entraîna la création d'une "zone de patches" situés ne mémoire vive
dans laquelle étaient placés le contournement du problème au prix d'un certain
ralentissement.
A l'époque des années 1970, les PROM
étaient plus rapides que les DRAM dans un rapport de 3. La DRAM posait de plus des
contraintes de rafraichissemnt qui interrompaient le déroulement des micro-processus
temps réel. L'architecture du "firmware" URC devait être très rigoureuse pour
minimiser l'impact des corrections sur les performances.
Plus tard -sur l'URC-E-, des EPROM modifiables en usine par
CII-HB et plus rarement en clientèle remplaceront avantageusement les PROM.
Attachement de URC.
Mot utilisé par développeurs et commerciaux pour désigner les
"programmes se déroulant" sur l'URC sous-contrôle du MIOS. Ces programmes
occupent une certaine place mémoire, sont normalement relocatables et peuvent dans
quelques cas comporter des "overlays". Selon la configuration, ils peuvent être
multi-tâches (multi-thread)..
Attachement canal à canal
L'architecture de l'URC fut utilisée pour réaliser un "channel to
channel adapter" permettant l'interconnexion de deux systèmes Level 64DPS. Cette
réalisation fut faite à la fin des années 1970 à une époque où CII-HB s'apprêtait
à annoncer son architecture distribuée DSA dans laquelle le rôle essentiel était
déplacé de l'URC vers le frontal Datanet. Aussi le CTC adapter npn supporté an standard
par GCOS64 ne fut pas utilisé en clientèle
L'URC servant de liaison CTC (mais pouvant aussi recevoir d'autres appareils et même
servir de SURP était connecté à chaque unité centrale par un canal PSI. Le CTC ne
comprenait aucun matériel spécifique, les sous-canaux affectés au CTC étaient
multiplexés sur le canal PSI et la mémoire tampon de l'échange était de la mémoire de
travail de l'attachement dans la mémoire centrale de l'URC.
SCP et SIP
Le Suport Control Program (SCP) est un système d'exploitation primitif permettant
l'exécution de travaux individuellement lancés par l'opérateur, soit un enchaînement
séquentiels de travaux. Il n'offre pas de support de multi-programmation, permet le
multi-tâches (défini statiquement). Il fut utilisé comme support de la première
version de l'émulateur GE-100 sur Level 64 et resta utilisé comme support des tests et
diagnostics "stand-alone" permettant les diagnostics de sous-systèmes disques
et de discriminer pannes du central et problèmes logiciels de GCOS.
A l'origine conçu comme un travail (job step) séparé sous SCP, l'initialisation
du système fut ensuite combinée avec le code de SCP, l'ensemble fut renommé System
Initialization Program (SIP). cette intégration réduisait de manière significativela
durée de la phase de lancement de GCOS.
Jean Bellec