FR2473197A1 - Systeme de traitement par multiprocesseurs - Google Patents

Systeme de traitement par multiprocesseurs Download PDF

Info

Publication number
FR2473197A1
FR2473197A1 FR7727011A FR7727011A FR2473197A1 FR 2473197 A1 FR2473197 A1 FR 2473197A1 FR 7727011 A FR7727011 A FR 7727011A FR 7727011 A FR7727011 A FR 7727011A FR 2473197 A1 FR2473197 A1 FR 2473197A1
Authority
FR
France
Prior art keywords
line
state
input
data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR7727011A
Other languages
English (en)
Other versions
FR2473197B1 (fr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of FR2473197A1 publication Critical patent/FR2473197A1/fr
Application granted granted Critical
Publication of FR2473197B1 publication Critical patent/FR2473197B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

LA PRESENTE INVENTION SE RAPPORTE A UN SYSTEME DE TRAITEMENT PAR MULTIPROCESSEURS. CE SYSTEME COMPREND PLUSIEURS MODULES 33 DE PROCESSEURS INTERCONNECTES PAR DEUX LIGNES 35, CONTROLEES CHACUNE PAR UN CONTROLEUR 37. DES ORGANES DE COMMANDE 41 A ENTREES MULTIPLES 43 SONT CONNECTES PAR DES LIGNES 39 AUX MODULES 33 DE PROCESSEURS. CHAQUE ORGANE DE COMMANDE COMPREND UNE LOGIQUE QUI ASSURE LA SELECTION D'UNE ENTREE D'ACCES A LA FOIS. LES MODULES DE PROCESSEURS CONTIENNENT CHACUN UNE COMMANDE 55 ENTRE PROCESSEURS, UNE UNITE CENTRALE 105, UNE MEMOIRE 107 ET UN CANAL 109 D'ENTREES-SORTIES. UN SYSTEME D'ALIMENTATION ELECTRIQUE ASSURE UN FONCTIONNEMENT CONTINU DU RESTE DU SYSTEME DE TRAITEMENT EN CAS DE PANNE D'UNE ALIMENTATION D'UNE PARTIE DU SYSTEME. DANS LE CADRE D'UNE EXPLOITATION EN MULTIPROGRAMMATION, LES PROGRAMMES SONT PROTEGES CONTRE LES ACTIONS DES UTILISATEURS. LA PRESENTE INVENTION EST NOTAMMENT APPLICABLE A LA GESTION DE POINTS DE VENTE AUTOMATISES, AUX INVENTAIRES ET AUX OPERATIONS DE CREDIT, AINSI QU'AUX VIREMENTS AUTOMATISES DE FONDS.

Description

La présente invention se rapporte à un système de traite-
ment par multiprocesseurs dans lequel des modules de proces-
seurs interconnectés assurent un multitraitement (traitement en simultanéité dans des modules de processeurs séparés) et une multiprogrammation (traitement imbriqué dans un seul modu-
le de processeur).
La présente invention concerne, en particulier, un systè-
me capable de supporter des débits élevés de données de mouve-
ments vers d'importants fichiers centraux en liaison directe
avec l'ordinateur, et dans lequel une défaillance d'un compo-
sant unique ne peut ni arrêter ni affecter le fonctionnement
du système.
De nombreuses applications exigent un traitement en di-
rect avec l'ordinateur de quantités importantes de données à
des débits élevés de mouvements. Ce traitement est, par exem-
ple, nécessaire dans les applications relatives au commerce de détail en ce qui concerne les points de vente automatisés, les
inventaires et les opérations de crédit et dans les établisse-
ments financiers pour les virements automatisés de fonds et les opérations de crédita
Dans des applications de calcul de ce genre il est impor-
tant, et souvent critique, que le traitement des données ne
soit pas interrompu. Une défaillance d'un système de traite-
ment en liaison directe avec l'ordinateur peut paralyser une partie de la gestion concernée et causer des pertes importantes
de données et d'argent.
Ainsi, un système de ce genre en liaison directe avec
l'ordinateur doit fournir non seulement une puissance suffisan-
te de calcul qui permet d'effectuer de nombreux calculs simul-
tanément, mais également un mode d'exploitation qui permet de continuer sans interruption le traitement des données en cas de
défaillance d'un composant du système.
Le système doit être conçu soit pour fonctionner même en cas d'incident grave (auquel cas l'incident ne donne lieu à aucune perte de capacité de traitement), soit pour fonctionner
en mode "dégradé" (dans lequel il se produit un certain ralen-
tissement mais la capacité totale de traitement est maintenue)
en cas de défaillance.
En outre, le système doit également fonctionner de telle
manière qu'une défaillance d'un composant unique ne peut affec-
2 P247Â9 r7
ter l'exploitation du système. Le système doit fournir un cal-
cul qui tient compte des erreurs. Dans le cas d'un calcul qui tient compte des erreurs, toutes les erreurs et défaillances du système doivent être corrigées automatiquement ou bien, si elles ne peuvent être corrigées automatiquement, elles doivent être détectées ou bien, si elles ne peuvent être détectées,
elles doivent être limitées et ne doivent pas affecter le res-
te du système.
Comme un module unique de processeur peut avoir une dé-
faillance, il est évident qu'un système fonctionnant sans in-
terruption en liaison directe avec l'ordinateur doit comporter
plus d'un module de processeur.
Les systèmes qui comprennent plus d'un module de proces-
seur peuvent donc satisfaire à l'une des conditions nécessai-
res à une exploitation non interruptible. Cependant, l'utilisa-
tion de plus d'un module de processeur dans un système ne réu-
nit pas, par elle-même, toutes les conditions suffisantes au
maintien des capacités requises de traitement en cas de défail-
lance d'un composant, comme le montrera clairement la descrip-_
tion qui va suivre.
Les systèmes de calcul qui sont prévus pour des calculs.
en liaison directe avec l'ordinateur, de grand volume et orien-
tés vers les données de mouvements, et qui doivent fonctionner
sans interruption, nécessitent donc des multiprocesseurs com-
me point de départ. Mais l'utilisation de multiprocesseurs ne
garantit pas que toutes les conditions suffisantes seront sa-
tisfaites et l'accomplissement des conditions suffisantes sup-
plémentaires pour les systèmes de ce genre en liaison directe avec l'ordinateur a présenté un certain nombre de difficultés
dans l'art antérieur.
L'art antérieur a abordé le problème du traitement inin-
terrompu des données en suivant généralement deux méthodes:
soit en adaptant deux ou plusieurs gros ordinateurs monolithi-
ques universels en vue d'une exploitation en commun, soit en interconnectant plusieurs miniordinateurs afin de fournir des
capacités de multitraitement.
Dans le premier cas, c'est-à-dire l'adaptation de deux
gros ordinateurs monolithiques universels en vue d'une exploi--
tation en commun, une méthode classique d'approche suivant l'art antérieur consiste à faire partager aux deux ordinateurs une mémoire commune. Mais dans un système de multitraitement de ce type, une défaillance de la mémoire commune peut paralyser
tout le système. La mémoire commune soulève également un cer-
tain nombre d'autres difficultés, y compris la mise en séquen-
ce des accès à cette mémoire commune. Bien qu'il satisfasse à
certaines des conditions nécessaires à un traitement non in-
terruptible, ce système ne répond pas à toutes les conditions suffisantes. En outre, les systèmes de multitraitement qui utilisent de gros ordinateurs universels sont plutôt coûteux car chaque
ordinateur est construit sous la forme d'un ensemble monolithi-
que dans lequel tous les composants (y compris l'ensemble des programmes, le système de refroidissement, etc.) doivent être
doublés chaque fois qu'un autre processeur est adjoint au sys-
tème, même si de nombreux composants doublés ne sont pas néces-
saires. L'autre approche du problème suivant l'art antérieur, qui
consiste à utiliser plusieurs miniordinateurs, présente (en com-
mun avec la solution qui consiste à utiliser de gros ordinateurs universels) l'inconvénient de devoir adapter une liaison entre des ordinateurs universels, l'inconvénient de devoir adapter une liaison entre des ordinateurs qui, au départ n'ont jamais été constitués pour assurer une telle liaison. En conséquence,
les liaisons nécessaires sont habituellement établies par l'in-
termédiaire du canal d'entrées-sorties. Les liaisons par l'inter-
médiaire du canal d'entrées-sorties sont nécessairement plus lentes que les échanges à l'intérieur du processeur lui-même et ces liaisons entre processeurs assurent donc des communications
relativement lentes entre les processeurs.
En outre, les liaisons entre processeurs exigent des car-
tes spéciales d'adaptation qui augmentent sensiblement le coût de l'ensemble du système et qui introduisent la possibilité de défaillances de composants uniques qui pourraient immobiliser le système. Le fait de doubler les liaisons entre processeurs
et les cartes d'adaptation afin d'éviter les problèmes de dé-
faillances de composants critiques uniques, augmente encore plus
sensiblement le coût de l'ensemble du système.
le doublement des liaisons et des cartes d'adaptation entre
tous les processeurs est devenu très encombrant et plutôt com-
plexe du point de vue de l'exploitation.
Une autre difficulté de l'art antérieur réside dans la ma-
nière dont les connexions sont faites aux appareils périphéri-
ques. Si plusieurs appareils périphériques sont connectés à une ligne unique d'entrées-sorties d'un processeur faisant partie
d'un système de traitement par multiprocesseurs et si ce pro-
cesseur a une défaillance, les appareils périphériques seront
alors indisponibles pour le système, même si le processeur dé-
faillant est connecté par une liaison entre processeurs à un
ou plusieurs autres processeurs du système.
Afin d'-éviter cette difficulté, on a prévu dans l'art an-
térieur un commutateur de lignes d'entrées-sorties qui permet d'interconnecter les lignes d'entrées-sorties, afin d'assurer
des accès continus aux appareils périphériques en cas de dé-
faillance d'un processeur relié aux appareils périphériques par une ligne particulière d'entrées-sorties. Ues commutateurs de lignes sont coûteux et ils présentent également le danger
de défaillances individuelles qui pourraient provoquer la cou-
pure d'une partie sensible de l'ensemble du système.
La fourniture du logiciel aux systèmes de traitement par multiprocesseurs de l'art antérieur constitue également un
important problème.
Le logiciel des systèmes d'exploitation conçus pour ces
systèmes de multitraitement tendent à être inexistants. Lors-
qu'un logiciel est réalisé pour ces systèmes de traitement par multiprocesseurs, il est très souvent limité à un petit nombre
de processeurs et il n'est pas adapté à l'adjonction de pro-
cesseurs supplémentaires. Dans de nombreux cas, il faut soit modifier le système d'exploitation, soit inclure certaines des fonctions du système d'exploitation dans le programme de
l'utilisateur, ce qui constitue une opération longue et coûteu-
seo Dans l'art antérieur, un système d'exploitation standard et satisfaisant de liaisons des processeurs fait défaut. De même, on ne dispose pas d'un système d'exploitation permettant d'adjoindre automatiquement des processeurs supplémentaires dans un système de multitraitement constitué pour recevoir une adjonction modulaire de processeurs, lorsqu'un accroissement
de la puissance de calcul est nécessaire.
Un premier objet de la présente invention est de fournir
un système de traitement par multiprocesseurs, en vue d'applica-
tions en liaison directe avec l'ordinateur et orientées vers les données de mouvements, qui élimine les difficultés rencontrées
dans l'art antérieur.
Un objet fondamental de la présente invention est d'assu- rer qu'aucune défaillance individuelle ne peut immobiliser le système ni affecter de manière significative l'exploitation du
système. A cet égard, le système qui fait l'objet de la présen-
te invention est construit de telle sorte qu'aucun composant unique n'est connecté à une partie du système, mécaniquement ou électriquement.
La garantie que toute erreur qui se produit peut être cor-
rigée, détectée ou empêchée d'affecter le système est un objet
en étroite relation avec la présente invention.
13 La présente invention a encore pour objet important de
fournir une structure de système et un mode fondamental d'ex-
ploitation qui libèrent l'utilisateur de la nécessité d'inter-
venir dans le matériel composant le système et dans le protocole de liaison entre les processeurs. Dans la présente invention, chaque composant principal se présente sous une forme modulaire de manière à pouvoir être démonté ou remplacé sans qu'il soit nécessaire d'immobiliser le système. En outre, ce dernier peut être élargi sur place (soit horizontalement par l'adjonction de modules standards de processeurs, soit verticalement dans la plupart des cas par l'adjonction d'appareils périphériques, sans
interruption du système ni modification du matériel ou du lo-
giciel.
Le système de traitement par multiprocesseurs qui fait l'ob-
jet de la présente invention se compose de plusieurs modules de processeurs indépendants et de plusieurs circuits indépendants
de données.
Dans un exemple particulier de réalisation de la présente
invention, 16 modules séparés de processeurs sont interconnec-
tés par l'intermédiaire d'une ligne entre processeurs en vue du multitraitement et de la multiprogrammation. Dans cet exemple particulier de réalisation, chaque module de processeur supporte jusqu'à 32 organes de commande d'appareils et chacun d'eux peut
commander jusqu'à huit appareils périphériques.
Plusieurs circuits et sorties indépendants sont prévus entre tous les composants principaux du système pour assurer
6 2473197
qu'une communication est toujours possible, par l'intermédiaire de deux circuits au moins, entre les modules de processeurs et entre ceux-ci et les appareils périphériques, et pour assurer
également qu'une défaillance unique n'arrêtera pas l'exploita-
tion du système. Ces multiples circuits de liaison comprennent des lignes multiples interconnectant chacun des modules de processeurs, des sorties multiples dans chaque organe de commande des appareils et des lignes d'entrées-sorties connectant chaque organe de commande des appareils pour permettre l'accès par deux modules
différents de processeurs au moins.
Chaque module de processeur est un module standard et il comprend une mémoire centrale, un appareil de commande entre processeurs et un canal d'entrées-sorties qui font partie du
module d'une unité centrale.
Chaque module de processeur comporte un microprocesseur alimenté et exploité au moyen de microinstructions incluses sous la forme d'un jeu d'instructions fondamentales dans chaque
module de processeur.
Le jeu d'instructions fondamentales incorporé dans chaque
module de processeur implique le fait d'une liaison entre pro-
cesseurs et, lorsqu'un module de processeur supplémentaire est adjoint au système, le système d'exploitation (dont une copie se trouve dans chaque module de processeur) est informé de la disponibilité d'une nouvelle ressource exploitable au sein du système d'exploitation existant, sans qu'il faille modifier ni le matériel ni le logiciel du système0 Pour augmenter ses performances et maintenir des débits très élevés de mouvements, chaque module de processeur comprend un deuxième microprocesseur qui est consacré aux opérations d'entrées-sorties0
Un accès à double entrée à la mémoire centrale, par l'in-
termédiaire de l'unité centrale et du canal d'entrées-sorties,
permet un accès direct à la mémoire pour les transferts d'en-
trées-sorties afin d'augmenter également leurs performances.
Chaque module de processeur est matériellement constitué pour s'adapter sur un nombre minimal de grandes plaquettes à
circuits imprimés. Le fait de n'utiliser que quelques plaquet-
tes pour chaque module de processeur ménage une place pour l'ensemble des programmes et réduit au minimum la longueur de
7 2473197
la liaison entre processeurs, requise pour interconnecter tous les modules de processeurs. Une liaison relativement courte entre processeurs réduit au minimum la distorsion des signaux dans la
liaison entre processeur et permet une vitesse élevée de commu-
znication entre les processeurs. Chaque ligne entre processeurs est une ligne synchrone à
grande vitesse qui réduit au minimum la servitude dans les com-
munications entre processeurs et qui permet au système de réali-
ser des débits élevés.
Un contrôleur séparé de ligne surveille toutes les trans-
missions sur la ligne. Le contrôleur de ligne inclut une logique de sélection de processeur pour déterminer la priorité d'échange de données entre deux modules quelconques de processeurs sur la
ligne entre processeurs. Le contrôleur de ligne comprend égale-
ment un état logique de commande de la ligne afin de constituer une paire émettrice-réceptrice de modules de processeurs et une base de temps pour un échange d'informations sur la ligne entre
la paire émettrice-réceptrice de modules de processeurs.
Chaque contrôleur de ligne comprend une horloge de ligne et chaque unité centrale de chaque module de processeur possède sa propre horloge. Il n'y a donc pas de système d'horloge-mère susceptible de subir une défaillance individuelle qui pourrait
immobiliser l'ensemble du système de traitement par multiproces-
seurs. Chaque module de processeur comprend, dans le contrôleur entre processeurs du module de processeur, un certain nombre de circuits montés sur des plaquettes à circuits imprimés et qui
sont consacrés aux communications par les lignes entre proces-
seurso Chaque commande entre processeurs comprend également des
mémoires-tampons à accès rapide (mémoires-tampons en file d'at-
tente et une mémoire-tampon hors de la file d'attente) qui peu-
vent être vidées et remplies par l'unité centrale sans perturber la ligne entre les processeurs. Ceci permet de maintenir dans la ligne entre processeurs un débit de données supérieur à celui que pourrait maintenir n'importe quelle paire unique de processeurs0
Plusieurs échanges de données entre les paires de modules de pro-
cesseurs peuvent être imbriqués sur une base apparemment simul-
tanée. Du fait que la ligne entre processeurs fonctionne de manière
asynchrone par rapport à chaque unité centrale particulière, cha-
que mémoire-tampon en file d'attente et hors de la file d'atten-
te est rythmée par le module de processeur ou par le contrôleur
de ligne, mais pas par les deux simultanément.
Par conséquent, à chaque mémoire-tampon en file d'attente
et à chaque mémoire-tampon hors de la file d'attente sont asso-
ciées, dans la commande entre processeurs, une logique qui fonc-
tionne en synchronisme avec l'horloge de ligne et une autre lo-
gique qui fonctionne en synchronisme avec l'horloge de l'unité
centrale. Les verrouillages logiques déterminent certains passa-
ges de la logique d'un état à un autre afin d'empêcher une perte de données dans les échanges entre les lignes asynchrones entre
processeurs et le module de processeur.
La logique est également disposée pour que, dans le cas o l'alimentation d'un module de processeur baisserait, il n'y ait aucun effet transitoire sur les lignes entre processeurs parce que le module de processeur est en train de perdre le contrôle. Une baisse d'alimentation du module de processeur sur une ligne entre processeurs ne troublera donc pas l'activité
d'une autre ligne entre processeurs.
Le contrôleur de ligne et la commande entre processeurs de chaque module de processeur agissent donc conjointement pour
effectuer la gestion de toutes les lignes entre processeurs si-
multanément au traitement par les unités centrales, de sorte
qu'il n'y a aucun gaspillage de la puissance de traitement. Cet-
te gestion des lignes est réalisée avec une faible servitude
envers le protocole du fait qu'il faut très peu de cycles de li-
gnes entre processeurs pour établir un échange de lignes (quels que soient le module de processeur qui est émetteur et le module de processeur qui est récepteur) relativement à la quantité
d'informations réellement transmises.
La logique de sélection des processeurs du contrôleur de ligne comprend une ligne individuelle de sélection qui relie la
logique de sélection des processeurs à chaque module de proces-
seur. Les lignes de sélection sont utilisées de trois manières
dans le protocole d'établissement d'une paire émettrice-récep-
trices de modules de processeurs et d'une base de temps pour
l'échange d'informations sur la ligne entre la paire émettrice-
réceptrice. Les lignes de sélection sont utilisées a) en balaya-
ge pour déterminer quel module particulier de processeur est désireux d'émettre, b) en réception pour interroger un module de processeur et savoir si ce module particulier de processeur
veut recevoir et c) en combinaison avec une instruction d'émis-
sion pour faire connaître au module du processeur émetteur l.
base de temps afin d'émettre. Le module du processeur récepteur est qualifié pour recevoir
des données "en entrée" non sollicitées par lui et sans instruc-
tion du programme.
Les blocs de données entre une paire émettrice-réceptrice de modules de processeurs sont transmis en paquets par la ligne
reliant les processeurs.A la fin de chaque transmission de pa-
quet, la commande entre processeur d'un module de processeur ré-
cepteur est déconnectée logiquement de la ligne entre processeurs pour permettre à la logique de l'état de contrôle des lignes de mettre en séquence une paire différente émettrice-réceptrice de
modules de processeurs ainsi qu'une base de temps, afin d'effec-
tuer une transmission de paquet entre l'autre paire émettrice-
réceptrice de modules de processeurs. Ainsi, comme on l'a noté ci-dessus, plusieurs transmissions de blocs de données entre
différentes paires émettrices-réceptrices de modules de proces-
seurs peuvent donc être imbriquées dans la ligne reliant les pro-
cesseurs sur une base apparemment simultanée, du fait de la fré-
quence de base plus rapide de la ligne entre processeurs, compa-
rativement à la vitesse plus faible de la mémoire des modules de
processeurs.
Chaque mémoire de module de processeur comprend une mémoire-
tampon séparée pour chaque combinaison d'un module de processeur
et d'une ligne entre processeurs.
Chaque mémoire inclut également une table de réception de ligne pour diriger les données "en entrée" venant d'une ligne
entre processeurs vers une position déterminée d'une mémoire-
tampon correspondante de la mémoire d'un module de processeur récepteur. Chaque table de réception de ligne fournit une entrée
de table de réception de ligne qui contient l'adresse dans la-
quelle doivent être mémorisées les données "en entrée", et le
nombre de mots attendus du module de processeur émetteur. L'en-
trée de la table de réception des lignes est mise à jour par des
micro-instructions dans le module du processeur après la récep-
tion de chaque paquet et elle opère avec les micro-instructions soit.pour fournir une interruption de programme lorsque le bloc
247319?
entier de données a été reçu avec succès soit pour fournir une interruption au programme du logiciel en cours de déroulement dans le module de processeur, en réponse à la détection d'une
erreur de transmission des données dans la ligne entre proces-
seurs. La production d'une interruption du programme à la fin
seulement de la transmission du bloc de données permet de ren-
dre la transmission de données transparente au programme du lo-
* giciel en cours de déroulement dans le module de processeur.
L'interruption en réponse à la détection d'une erreur fournit
un contrôle d'intégrité de la transmission des données.
Le sous-système d'entrées-sorties du système de traitement par multiprocesseurs qui fait l'objet de la présente invention
est constitué de manière telle qu'aucune défaillance individuel-
le de module de processeur ne peut gêner l'exploitation du sys-
tème.
En outre, le sous-système d'entrées-sorties est constitué pour traiter des données à des débits très élevés de mouvements, pour optimiser la capacité de traitement et pour réduire au
minimum les perturbations des programmes en cours de déroule-
ment dans les modules de processeurs.
Comme on l'a noté ci-dessus, chaque module de processeur comprend un microprocesseur qui est consacré aux opérations d'entrées-sorties. Le système d'entrées-sorwles est un système à interruptions et il ne fournit une interruption de programme que lorsque la
transmission des données est terminée. Ceci libère l'unité cen-
trale de son rôle vis-à-vis de l'appareil pendant la transmis-
sion des données.
Chaque canal d'entrées-sorties est multiplexé par blocs
pour traiter plusieurs transmissions de données par blocs de-
puis plusieurs organes de commande sur une base apparemment si-
multanée. Pour accomplir cette fonction, on imbrique des tran-
ches de données de longueur variable dans les transmissions en-
tre le canal d'entrées-sorties et les mémoires-tampons des or-
ganes de commande, sensibles aux contraintes.
Comme on l'a noté ci-dessus, chaque organe de commande
comprend plusieurs entrées et une ligne séparée d'entrées-
sorties est connectée à chaque entrée, de sorte que chaque or-
gane de commande est connecté par l'intermédiaire d'au moins
deux modules de processeurs différents.
Les entrées de chaque organe de commande sont constituées
de telle sorte que chacune d'elles est logiquement-et matériel-
lement indépendante de l'autre. Aucune partie de composant d'u-
ne entrée ne constitue en même temps un composant d'une autre entrée, de sorte qu'aucune défaillance individuelle d'un compo- sant d'une entrée ne peut affecter le fonctionnement d'une autre entrée. Chaque organe de commande inclut une logique qui assure la sélection d'une entrée d'accès seulement à la fois, de sorte que la transmission de données erronées à une entrée ne peut jamais
affecter une autre entrée.
Le système d'entrées-sorties qui fait l'objet de la présen-
te invention relie les appareils périphériques en mode "dégradé".
Il existe plusieurs circuits conduisant à chaque appareil parti-
oulier pour le cas d'une défaillance dans un circuit. Et une dé-
faillance de l'appareil ou une défaillance du module de proces-
seur situé le long d'un circuit n'affecte pas l'exploitation
d'un module de processeur sur un autre circuit conduisant à l'ap-
pareil.
Le système d'entrées-sorties qui fait l'objet de la présen-
te invention est également constitué de telle sorte que n'impor-
te quel type d'appareil peut être placé dans le système et le
système d'entrées-sorties utilisera encore au maximum la lar-
geur de bande du canal d'entrées-sorties.
Les organes de commande sont équipés d'une mémoire-tampon
de sorte que toutes les transmissions entre les organes de com-
mande et le canal d'entrées-sorties s'effectuent au débit maxi-
mal du canal.
L'organe de commande peut transmettre entre lui-même et un appareil périphérique, des données sous forme de multiplets, mais l'organe de commande doit condenser et séparer les données
afin de transmettre des mots entre lui-même et le canal d'entrées-
sorties. Comme les mémoires-tampons sont disposées dans les organes
de commande plutôt que dans le canal d'entrées-sorties, la pré-
sente invention limite la mise en mémoire-tampon à celle qui est requise par une composition particulière du système. La présente invention ne nécessite pas une mémoire-tampon séparée pour chaque
appareil périphérique afin d'éviter des surcharges, comme ce se-
rait nécessaire si les mémoires-tampons étaient situées dans le
247319-7
canal d'entrées-sorties plutôt que dans les organes de commande
comme cela était souvent le cas dans l'art antérieur.
Comme on l'a noté ci-dessus, chaque mémoire-tampon est sen-
sible aux contraintes et ceci procure un double avantage.
Tout d'abord, chaque mémoire-tampon peut être constituée de manière à posséder une profondeur totale en relation avec le type et le nombre d'appareils à desservir. Chaque organe de
commande peut donc comporter une mémoire-tampon dont la capaci-
té est fonction du type d'appareils à commander.
Ensuite, la constitution des mémoires-tampons sensibles aux contraintes et le mode de fonctionnement de la présente inven-
tion permettent aux mémoires-tampons de combiner leur action sans communiquer entre elles. Cette caractéristique permet, à son tour, une utilisation efficace et optimale de la largeur de
bande du canal d'entrées-sorties.
la contrainte appliquée à une mémoire-tampon particulière est déterminée par le degré de remplissage ou de vide de la mémoire-tampon en combinaison avec le sens de la transmission
par rapport au module de processeur. La contrainte augmente lors-
que l'appareil périphérique a accès à la mémoire-tampon et elle diminue lorsque c'est le moyen de canal d'entrées-sorties qui a
accès à la mémoire-tampon.
Chaque mémoire-tampon a une profondeur qui est la somme
d'une profondeur de seuil et d'une profondeur d'attente. La pro-
fondeur de seuil est fonction du temps nécessaire pour desservir les organes de commande fortement prioritaires, tandis que la
profondeur d'attente est liée au temps nécessaire pour desser-
vir les organes de commande faiblement prioritaires connectés
au même canal d'entrées-sorties.
La mémoire-tampon sensible aux contraintes inclut une lo-
gique de commande afin de garder la trace de la contrainte ap-
pliquée à la mémoire-tampon. La-logique de commande est effica-
ce pour effectuer des demandes de remise en service au canal d'entréessorties lorsque la contrainte traverse une profondeur
de seuil de la mémoire-tampon.
Chaque mémoire-tampon qui a une demande de remise en servi-
ce en cours, est connectée individuellement au canal d'entrée-
sorties conformément à un programme de balayage qui résout la priorité parmi tous les organes de commande qui ont une demande
de remise en service en cours.
Lorsque l'organe de commande est connecté au canal d'en-
trées-sorties, les données sont transmises entre la mémoire-
tampon et le canal d'entrées-sorties en une tranche à ou au
voisinage de la vitesse de la mémoire.
Ainsi, parce que les mémoires-tampons transmettent les données allant vers et venant des appareils périphériques à la
vitesse relativement faible des appareils et parce qu'ils peu-
vent transmettre mes données allant vers et venant des modules de processeurs à ou au voisinage de la vitesse de la mémoire sous forme de transmissions par tranches, et en réponse à la contrainte appliquée à la mémoire-tampon, les transmissions par tranches peuvent être multiplexées par une division du
temps, de sorte que des tranches individuelles venant de plu-
sieurs organes de commande peuvent être imbriquées afin d'opti-
miser l'utilisation efficace de la largeur de bande du canal
d'entrées-sorties et afin également de pouvoir effectuer plu-
sieurs transmissions de blocs à partir de différents organes de
commande sur une base apparemment simultanée.
Des contrôles complets d'erreurs et des moyens de limita-
tion d'erreurs sont prévus pour toutes les transmissions de données dans les circuits de données du système de traitement
par multiprocesseurs.
Des contrôles complets d'erreurs et des moyens de limita-
tion d'erreurs sont prévus pour toutes les transmissions de données dans les circuits de données du système de traitement
par multiprocesseurs.
Les contrôles d'erreurs comprennent la totalisation des
contrôles d'erreurs et des contrôles de parités dans les cir-
cuius desdonnées correction d'erreurs dans le système de la mé-
moire centrale.
Les contrôles d'erreurs concernent également les limita-
tions des intervalles de blocage dans le canal d'entrées-sorties.
La limitation des erreurs et prévue dans le système d'en-
trées-sorties par une table de commande des entrées-sorties
comportant une clé de deux mots pour chaque appareil périphé-
rique afin de définir une zone de mémoire-tampon dans la mé-
moire centrale et la longueur de comptage du multiplet restant à transmettre à n'importe quel moment particulier pour une transmission particulière de données à un appareil. La table de commande d'entréessorties est placée dans chaque processeur,
au lieu de se trouver dans les organes de commande, afin de li-
miter les résultats d'une défaillance dans le mot de comptage ou le motadresse au seul module de processeur dans lequel le
mot de comptage ou le mot-adresse est matériellement position-
né. Chaque modulede processeur qui est connecté pour accéder aux organes communs de commande et aux appareils connexes,
contient sa propre copie de la table de commande d'entrées-sor-
ties. LIa défaillance d'une clé de table dans un module de pro-
cesseur n'affecte pas l'autre module de processeur car ce der-
-- 10 nier possède sa propre copie correcte de la clé de la table.
Le système de traitement par multiprocesseurs qui fait
l'objet de la présente invention comprend un système d'alimen-
tation électrique qui alimente séparément les modules de pro-
cesseurs et les organes de commande de manière à assurer une exploitation ininterrompue du reste du système de traitement par multiprocesseurs, en cas de défaillance dans l'alimentation
électrique d'une partie du système de traitement par multipro-
cesseurs. L'alimentation d'une module quelconque de processeur ou d'un organe de commande peut être coupée de manière à permettre l'entretien direct hors tension, alors que le reste du système
de traitement par multiprocesseurs reste alimenté et opération-
nel. L'alimentation électrique comprend une alimentation séparée pour chaque module de processeur et deux alimentation séparées
pour chaque organe de commande.
les deux alimentations électriques séparées sont opération-
nellement associées à l'organe de commande par l'intermédiaire d'un commutateur qui permet à une alimentation de fournir toute
la puissance nécessaire à l'organe de commande en cas de défail-
lance de l'autre alimentation.
L'alimentation électrique qui fait l'objet de la présente invention crée également un signal d'alarme en cas de panne d'alimentation, qui a pour effet de conser er l'état logique du
module de processeur en cas de panne d'une alimentation asso-
ciée à ce module de processeur. Lorsque la tension est rétablie, le module de processeur est-remis en fonctionnement dans un état
qui est connu et sans pertes de données.
La mémoire du système de traitement par multiprocesseurs qui fait l'objet de la présente invention est divisée en quatre
2473197
zones logiques, à savoir les données de l'utilisateur, les don-
nées du système, le code de l'utilisateur et le code du système.
Cette division de la mémoire en quatre zones séparées d'adres-
ses logiques sépare le code des données de sorte que le code peut être rendu non modifiable, et elle sépare également les
programmes du système d'exploitation des programmes de l'utili-
sateur de sorte que les utilisateurs ne peuvent pas détruire
par inadvertance le système d'exploitation.
Le système de traitement par multiprocesseurs qui fait
l'objet de la présente invention comprend un topogramme de mé-
moire qui accomplit plusieurs fonctions.
Une fonction du topogramme consiste à fournir un système à mémoire virtuelle dans lequel tous les codes et toutes les données sont translatables de manière inhérente, de sorte que l'utilisateur n'a pas à se préoccuper de l'emplacement physique
réel du système ou des programmes de l'utilisateur, ni de l'é-
tendue de la mémoire physique connectée au système.
Le topogramme traduit les adresses logiques en adresses physiques pour constituer des pages de la mémoire centrale et
il fournit des interruptions pour fautes de pages pour les pa-
ges qui ne sont pas dans la mémoire centrale. le système d'ex-
ploitation extrait les pages d'une mémoire auxiliaire (c'est-à-
dire une mémoire implantée dans les appareils périphériques) et les introduit dans la mémoire centrale disposée dans le module de processeur comme cela est nécessaire pour mettre en oeuvre
un système à mémoire virtuelle dans lequel les adresses des pa-
ges physiques sont invisibles aux utilisateurs et dans lequel il n'est pas nécessaire que les pages logiques soient implantées dans des pages physiques contiguës ni qu'elles se trouvent dans la mémoire centrale physique, mais dans lequel elles peuvent être
dans une mémoire auxiliaire.
Le topogramme fournit également une fonction de protection
et une fonction de gestion de la mémoire.
Le topogramme fournit un topogramme séparé pour chaque zo-
ne logique séparée de mémoire.
Ce topogramme fournit une protection en séparant le code
des données et également en séparant les programmes de l'utili-
sateur des programmes du système, comme on l'a fait remarquer ci-dessus. Il fournit également une protection entre les utilisateurs dans le cadre d'une exploitation en multiprogrammation car le
topogramme qui est opérant pour un utilisateur particulier indi-
que uniquement les pages physiques en mémoire du programme de cet utilisateur, ce qui empêche un utilisateur d'écrire dans une page du programme d'un autre utilisateur. Cette caractéristique d'un topogramme d'utilisateur empêche donc un utilisateur de détruire le programme d'un autre utilisateur, sans qu'il soit nécessaire
de recourir à des registres de protection.
En liaison avec le système d'exploitation, le topogramme ac-
complit une fonction de gestion de la mémoire de manière à ré-
duire la servitude dans la gestion du système de mémoire a) en
rendant disponibles des pages de la mémoire auxiliaire, b) en gar-
dant une trace de la fréquence d'utilisation des pages physiques
dans la mémoire centrale, c) en réduisant les transmissions d'en-
trées-sorties des pages de la mémoire virtuelle, et d) en rédui-
sant les interruptions apportées au système d'exploitation. La manière dont le topogramme accomplit ces fonctions fournit un
système à mémoire virtuelle efficace.
Le nombre des pages disponibles dans la mémoire physique centrale est limité. Des pages physiques doivent donc parfois être extraites de la mémoire auxiliaire et introduites dans la
mémoire physique centrale.
Un aspect important d'une gestion efficace de la mémoire
est de garder une trace des pages de la mémoire physique centra-
le qui sont utilisées suffisamment fréquemment pour devoir être
retenues dans la mémoire physique centrale.
Un autre aspect important est de savoir si des pages parti-
culières de la mémoire physique centrale peuvent être écrites
(recouvertes) sans devoir être d'abord transférées sur une mémoi-
re auxiliaire.
Le topogramme inclut des bits historiques qui font partie de l'entrée du topogramme pour chaque page. Ces bits historiques
(qui se trouvent physiquement dans l'entrée du topogramme) don-
nent un histogramme de l'utilisation de la page physique donnée
pendant une certaine période de temps. Et, dans la présente in-
vention, les bits historiques sont périodiquement mis à jour.par
l'ordinateur sans la nécessité d'intervention des programmes.
Chaque entrée de topogramme comprend également un bit-clé
qui indique si une page particulière a été extraite de la mémoi-
re auxiliaire.
Dans le topogramme même est donc incluse une information qui permet au système de gestion de la mémoire de déterminer si une page particulière de la mémoire physique centrale est un bon candidat au recouvrement (lorsqu'il est nécessaire d'extraire une page de la mémoire auxiliaire et qu'aucune page vide ou page de code de la mémoire physique centrale n'est disponible pour
un recouvrement) et pour déterminer également, si un recouvre-
ment est nécessaire, s'il faut ou non transférer la page recou-
verte sur une mémoire auxiliaire avant que la page puisse être recouverte. Comme des copies de toutes les pages sans bit-clé sont conservées dans la mémoire auxiliaire, aucune introduction
en mémoire n'est nécessaire si le bit-clé n'est pas sur la page.
Le topogramme est contenu dans une partie de la mémoire qui est séparée de la mémoire centrale. Chaque topogramme est constitué de manière à fournir un accès significativement plus rapide que l'accès à la mémoire physique centrale, de sorte que le topogramme peut être récrit pendant le temps o un accès à la mémoire physique est en train de s'effectuer. La ré-écriture du
topogramme n'augmente donc pas la durée du cycle de la mémoire.
Comme on l'a noté ci-dessus, la mémoire comprend un double
accès d'entrée pour l'unité centrale et pour le canal d'entrées-
sorties. Ce dernier peut donc accéder directement à la mémoire, sans avoir à traverser l'unité centrale, pour des transmissions de données allant vers et venant d'un organe de commande. Les accès de l'unité centrale à la mémoire et les accès du canal
d'entrées-sorties à cette même mémoire peuvent donc être imbri-
qués dans le temps.
Toutes les transmissions de données venant de ou allant vers
la mémoire en passant par le canal d'entrées-sorties sont effec-
tuées par l'intermédiaire du topogramme des données du système.
le topogramme des données du système ajoute des bits supplémen-
taires au cours de la traduction des adresses logiques en adres-
ses physiques, ce qui permet d'accéder à un plus grand nombre de mots de la mémoire physique en utilisant une adresse logique plus courte pour accéder à un espace physique plus grand que la
longueur même des mots le permettrait normalement.
La présente invention fournit également une méthode de dé-
codage de syndrome afin de décoder et de corriger les erreurs
dans les modules de mémoires à semiconducteurs.
La zone de mémorisation du module de mémoire à semi-
18 2473197
conducteurs comprend des mots de 22 bits. Chaque mot comprend une zone de 16 bits d'information et une zone de six bits de contrôle. Chaque module de mémoire comprend un détecteur d'erreurs pour corriger simultanément chaque bit unique, détecter toutes les erreurs de bits doubles et un grand nombre des erreurs de bits triples ou davantage en n'importe quel point du mot de 22 bits. La correction des erreurs inclut un générateur de bits de controle, un comparateur de bits de contrôle et un décodeur
de syndrome.
Le générateur de bits de contrôle fournit un code dans le-
quel chaque bit de contrôle est une combinaison linéaire de huit bits d'information et dans lequel chaque bit d'information
est un composant d'exactement trois bits de contrôle.
Le comparateur de bits de contrôle fournit six bits de syn-
drome de sorties L'entrée de chacun des bits de syndrome de sor-
tie comprend huit bits d'information et un bit de contrôle.
lie décodeur de syndrome interprète la valeur des six bits
de syndrome de sortie et identifie la présence ou l'absence -
d'erreurs et le type d'erreurs, le cas échéant, dans le mot de
22 bits.
Un complémentateur de bits d'information est également prévu pour inverser une erreur de bit unique d'information, détectée
par le décodeur de syndrome, et ainsi pour corriger l'erreur.
Le système de mémoire à semi-conducteurs tolère donc des
erreurs de bits uniques et il peut être exploité malgré ces er-
reurs de bits uniques jusqu'au moment qui convient pour réparer
la mémoire.
Le système et les méthodes de traitement par multiproces-
seurs qui incorporent la structure et les techniques décrites
ci-dessus et qui sont opérationnels suivant la description ci-
* dessus, constituent d'autres objets particuliers de la présente invention. La présente invention sera bien comprise à la lecture de la
description suivante faite en relation avec les dessins ci-joints
dans lesquels:
- la figure 1 est un schéma de fonctionnement, en perspecti-
ve isométrique, d'un système de traitement par multiprocesseurs
constitué suivant un exemple de réalisation de la présente inven-
tion. La figure 1 représente plusieurs modules 33 de processeurs
19 2473197
connectés par deux lignes 35 entre processeurs (une ligne X et une ligne Y), chaque ligne étant contrôlée par un contrôleur de ligne 37. La figure 1 représente également plusieurs organes de commande 41 à double-entrée, chaque organe de commande étant connecté aux lignes 39 d'entrées-sorties de deux modules de pro- cesseurs; - la figure 2 est un schéma de fonctionnement représentant les détails des connexions du contrôleur de la ligne X et du
contrôleur de la ligne Y aux modules individuels de processeurs.
La figure 2 représente, sous forme schématique, les connexions reliant chaque contrôleur de ligne à la commande 55 d'une module individuel de processeur;
- la figure 3 est une vue schématique détaillée de la logi-
que de l'un des contrôleurs de ligne 37 représentés à la figure 2;
- la figure 4 est une vue schématique détaillée de la logi-
que prévue pour la mémoire-tampon de sortie et la commande 67
oommunes dans la commande 55 d'un module de processeur représen-
tée à la figure 2; - la figure 5 est une vue similaire à la figure 4, mais représentant la logique prévue pour une mémoire-tampon dans la file d'attente et une commande 65 de la commande 55 d'un module de processeur; - la figure 6 est un schéma d'état de la logique 81 prévue pour un contrôleur de ligne 37 et elle illustre la manière dont
la logique répond aux lignes du protocole entrant dans le con-
trôleur de ligne et crée les lignes du protocole allant du con-
trôleur de ligne aux modules de processeur; - la figure 7 est un schéma d'état similaire à la figure 6,
mais représentant les logiques 73 et 75 prévues pour la mémoire-
tampon hors de la file d'attente et la commande 67 communes de la figure 4; - la figure 8 est un schéma d'état similaire aux figures 6 et 7, mais représentant les logiques 93 et 101 prévues pour la mémoire-tampon dans la file d'attente et la commande 65 de la figure 5;
- la figure 9 est une vue schématique représentant la sé-
quence chronologique utilisée pour la transmission d'un paquet donné entre un module de processeur émetteur et un module de processeur récepteur; la figure 10 est un schéma logique de la partie logique de l'état de vide de la ligne et de la partie logique 73 de
l'état de remplissage de la mémoire-tampon hors de la file d'at-
tente et de la commande 67 représentées à la figure 4; - la figure il est une liste d'équations logiques utilisées pour le schéma logique représenté à la figure 10; - la figure 12 est un schéma de fonctionnement du système d'entrées-sorties du système de traitement par multiprocesseurs représenté à la figure 1; - la figure 13 est un schéma de fonctionnement du canal 109 d'entrées-sorties d'un module de processeur. La figure 13 représente les composants prnncipaux du canal d'entrées-sorties et le circuit des données reliant à ces composants;
- la figure 14 est une vue détaillée représentant les con-
ducteurs individuels de la ligne 39 d'entrées-sorties de la fi-
gure 1
- la figure 15 est un schéma de protocole de canal d'en-
trées-sorties montrant les changements d'état de la ligne T 155
pour une entrée-sortie d'exécution causées par le micro-program-
me 115 dans l'unité centrale 105. la séquence illustrée est déclenchée par l'unité centrale 105 et elle est transmise, par
l'intermédiaire du canal d'entrées-sorties 109 du module de pro-
cesseur 33 et la ligne T 153, à un organe de commande 41 repré-
senté à la figure 1;
- la figure 16 est un schéma de protocole de canal d'en-
trées-sorties montrant les changements d'état de la ligne T 153 pour une séquence de reconnexion et de transmission de données déclenchée par le micropoogramme 121 du canal d'entrées-sorties en réponse à un signal de demande émis par un organe de commande 41;
- la figure 17 est un schéma de protocole de canal d'entrées- -
sorties montrant les changements d'état de la ligne T 153 pour
une instruction d'entrée-sortie d'interrogation ou une instruc-
tion hautement prioritaire d'interrogation déclenchée par le microprogramme 115 de l'unité centrale. La séquence illustrée est transmise par la ligne T 153 à un organe de commande 41;
- la figure 18 est une table identifiant les fonctions aux-
quelles font référence les mnémoniques des figures 15 à 17; - la figure 19 est un schéma de fonctionnement montrant la structure générale des entrées 43 d'un organe de commande 41 représenté à la figure 1; - la figure 20 est un schéma de fonctionnement d'une entrée
43 représentée à la figure 19. Cette figure 20 représente princi-
palement les circuits de données au sein d'une entrée 43; - la figure 21 est un schéma de fonctionnement représentant les détails des circuits de données de la logique commune 181 d'interface de l'organe de commande 41 représenté à la figure 19; - la figure 22 est un schéma de fonctionnement montrant les parties constitutives d'une mémoire-tampon 189 de données située dans la partie commande d'un organe de commande 41 représenté à la figure 19; - la figure 23 est un graphique illustrant le fonctionnement de la mémoire-rampon 189 de données illustrée aux figures 22 et la figure 24 est un chronogramme illustrant la relation entre le signal d'INDISPONIBILITE venant du canal 109 et le chargement
des données dans le registre de données 213 de l'entrée, repré-
senté à la figure 21, et elle illustre la manière dont le contrô-
le de parité est démarré avant que les données ne soient chargées
dans le registre et comment il se continue jusqu'à ce que les don-
nées aient été complètement chargées dans le registre; - la figure 25 est une vue schématique montrant les détails du circuit de mise sous tension représenté aux figures 19 et 21; - la figure 26 est un schéma logique de la logique 243 de commande de la mémoire-tampon 189, représentée à la figure 22,
d'un organe de commande 41. La figure 26 montre comment la logi-
que 243 de commande de la mémoire-tampon commande les liaisons dans la ligne de données et commande les indicateurs d'entrées et de sorties; - la figure 27 est une liste des équations logiques utilisées pour le registre 173 de sélection représenté à la figure 20; - la figure 28 est un dronogramme montrant le fonctionnement de la liaison à deux lignes entre le canal des entrées-sorties 109 et les entrées 43; - la figure 29 est un schéma logique montrant la logique dans
le cas général de la liaison représentée à la figure 28. La logi-
que représentée à la figure 29 fait partie de la machine 143 de ligne T du canal 109 d'entréès-sorties représenté à la figure 13; - la figure 30 est un schéma de fonctionnement d'un système d'alimentation électrique. La figure 30 montre comment plusieurs
alimentations indépendantes et séparées 30 sont réparties et as-
sociées aux organes de commande 41 à double entrée afin d'assu-
rer à chaque organe de commande une alimentation principale et une deuxième alimentation en variante; - la figure 31 est une vue détaillée à grande échelle de l'agencement de commutation prévu pour commuter un organe de
commande entre une alimentation principale et une deuxième ali-
mentation en variante. La structure de commutation représentée à la figure 31 permet à la fois une commutation automatique dans le
cas d'une défaillance de l'alimentation principale et une commu-
tation manuelle suivant-trois modes différents, à savoir hors cir-
cuit, automatique et en bascule; - la figure 32 est un schéma de fonctionnement montrant les détails de l'une des alimentations séparées et indépendantes 303 illustrées à la figure 30; - la figure 33 est un schéma de fonctionnement montrant le
détail des lignes verticales et horizontales d'alimentation élec-
trique connectant les sources 303 séparées d'alimentation, re-
présentées à la figure 30, aux organes individuels 41 de comman-
de. La disposition particulière des lignes, représentée à la fi-
gure 33, permet une sélection facile de deux quelconques des
alimentations individuelles qui serviront d'alimentation princi-
pale et de deuxième alimentation en variante d'un organe parti-
culier de commande; - la figure 34 est un schéma de fonctionnement du système de mémoire et elle montre les détails de la mémoire 107 du module de processeur 33 représenté à la figure 1; - la figure 35 est un schéma de fonctionnement montrant les
détails de la partie 407 du topogramme de la mémoire 107 repré-
sentée à la figure 34; - la figure 36 est un schéma de fonctionnement montrant l'organisation de la mémoire logique en quatre zones d'adresses logiques et quatre parties séparées de topogramme correspondant
aux quatre zones d'adresses logiques. La figure 36 montre éga-
lement les détails des bits et des zones dans une entrée unique d'une partie de topogramme; - la figure 37 est un schéma de fonctionnement montrant les détails des modules de mémoire 403 illustrés à la figure 34. Le module de mémoire 403 représenté à la figure 37 est un module de mémoire à semiconducteurs;
- la figure 38 est un schéma du générateur de bits de con-
trôle utilisé dans le module 403 de mémoire à semiconducteurs
représenté à la figure 37. La figure 38 donne également une lis-
te d'équations logiques de deux des structures arborescentes de parité de huit bits, utilisées dans le registre de bits de con- trôle;
- la figure 39 est un schéma du comparateur de bits de con-
trôle utilisé dans le module 403 de mémoire à semiconducteurs
représenté à la figure 37. La figure 39 inclut l'équation logi-
que de la structure arborescente de parité de neuf bits pour l'état zéro des bits de syndrome;
- la figure 40 est un schéma du décodeur de syndrome utili-
sé dans le module 403 de mémoire à semiconducteurs représenté à la figure 37. La figure 40 donne également une liste d'équations logiques utilisées pour l'exploitation de la partie logique 511 du décodeur de syndrome; - la figure 41 est un schéma logique d'un complémenteur de
bits utilisé dans le module 403 de mémoire à semi-conducteurs re-
présenté à la figure 37; et - la figure 42 représente les divers états d'un système de
traitement par deux processeurs exécutant un programme d'appli-
cation qui doit être exécuté en continu. Les schémas illustrent les deux processeurs successivement en état de défaillance et en cours de réparation et le programme d'application modifiant son
mode de fonctionnement en conséquence.
On se reportera maintenant à la figure 1 qui est une vue
schématique, en perspective isométrique, d'une partie d'un sys-
tème de traitement par multiprocesseurs, conformément à un exem- ple de réalisation de la présente invention. Le système de trai-
tement par multiprocesseurs est indiqué de manière générale à la
figure 1 par la référence 31.
Le système 31 de traitement par multiprocesseurs comprend des modules individuels 33 de processeurs. Chaque module 53 de processeur comprend une unité centrale 105, une mémoire 107, un
canal 109 d'entrées-sorties et. une commande 55 entre processeurs.
Les modules individuels de processeurs sont interconnectés
par des lignes 35 permettant les échanges entre processeurs.
Dans un exemple particulier de réalisation du système 31 de traitement par multiprocesseurs, jusqu'à seize modules 33 de processeurs sont interconnectés par l'intermédiaire de deux lignes 35 entre processeurs, indiquées à la figure 1 comme étant la ligne X et la ligne Y. Chaque ligne entre processeurs, comporte un contrôleur 37
de ligne associé à cette ligne.
Les contrôleurs de ligne 37, les lignes 35 entre proces- seurs et les commandes 55 entre processeurs, représentés à la
figure 1, de même que les microprocesseurs 113, les microprogram-
mes 115 et les tables 150 de réception des lignes qui leur sont a xociés, représentés à la figure 2, fournissent un système de lignes entre processeurs. L'architecture et le fonctionnement de
ce système de lignes entre processeurs sont illustrés aux figu-
res 2 à 11 et 42 et sont décrits plus en détail ci-après.
Le système 31 de traitement par multiprocesseurs comporte un système d'entrées-sorties prévu pour transmettre les données
entre les modules 33 de processeurs et les appareils périphéri-
ques, tels que les disques 45, les postes terminaux 47, les dé-
rouleurs 49 de bandes magnétiques, les lecteurs de cartes 51 et
les imprimantes ligne par ligne 53, représentés à la figure 1.
Le système d'entrées-sorties comprend une ligne 39 d'en-
trées-sorties associée à chaque canal 109 d'entrées-sorties d'un module de processeur et une ou plusieurs organes de commande 41 à entrées multiples peuvent être connectés à chaque ligne 39 d'entrées-sorties. Dans l'exemple particulier de réalisation illustré, chaque organe de commande 41 comporte deux entrées 43 prévues pour les connexions à deux modules différents 33 de processeurs, de sorte que chaque organe de commande est connecté pour donner accès à
deux modules de processeurs.
Le système d'entrées-sorties comprend un microprocesseur
119 et un microprogramme 121, inclus dans le canal 109 d'entrées-
sorties comme le montre la figure 12, et qui sont consacrés aux
transferts d'entrées-sorties.
Comme le montre également schématiquement la figure 12, le microprocesseur 115 et le microprogramme 115 de l'unité centrale 105 et de la table 140 de commande des entrées-sorties dans la
mémoire centrale 107 de chaque module 33 de processeur sont opé-
rationnellement associés au canal 109 d'entrées-sorties.
L'architecture et le fonctionnement de ces composants et d'autres composants du système d'entrées-sorties sont illustrés aux figures 12 à 29 et ils sont décrits en détail ci-après.' lIe système de traitement par multiprocesseurs inclut un système 301 de répartition de l'alimentalaon qui répartit les alimentations séparées entre les modules 33 de processeurs et les organes de commande 41 de manière à permettre un entretien en ligne et également à fournir une réserve de puissance à
chaque organe de commande.
Comme le montre la figure 30, le système de répartition de l'alimentation inclut des sources d'alimentation séparées
et indépendantes 303.
Une alimentation séparée 303 est prévue pour chaque modu-
le 33 de processeur et une ligne 305 connecte la source 303 d'alimentation à l'unité centrale 105 à la mémoire 105 d'un
module 33 de processeur associé.
Comme l'illustre également la figure 30, chaque organe de commande 41 est connecté à deux sources 303 d'alimentation
séparée par l'intermédiaire d'un commutateur automatique 311.
Si une source 303 d'alimentation d'un organe de commande parti-
culier 41 a une défaillance, cet organe de commande sera ali-
menté par l'autre source 303 d'alimentation et la commutation s'effectuera régulièrement et sans interruption ni pulsation
de l'alimentation fournie à l'organe de commande.
Le système de répartition de l'alimentation agit conjoin-
tement avec le système à double entrée de l'organe de commande pour assurer une exploitation et un accès ininterrompus aux appareils périphériques, en cas de défaillance d'une entrée
individuelle 43 ou d'une alimentation individuelle 303.
Le système de traitement par multiprocesseurs inclut un circuit 182 de mise sous tension, dont les détails sont donnés
à la figure 25, de plusieurs composants du système afin d'éta-
blir que l'alimentation de ce composant particulier se trouve
dans certaines limites acceptables.
Par exemple, le circuit 182 de mise sous tension est im-
planté dans chaque unité centrale 105, dans chaque organe de commande 41 et dans chaque contrôleur de ligne 370 L'objet du circuit de mise sous tension est de présenter un signal établissant le niveau d'alimentation appliqué à ce composant particulier; si l'alimentation ne se situe pas dans
certaines limites acceptables prédéterminées, la sortie du si-
gnal est utilisée pour invalider le signal de ligne approprié du composant dans lequel le circuit de mise sous tension est
26 2473197
implanté. Le circuit de mise sous tension fonctionne dans quatre états: état hors tension; passage de l'état hors tension à l'état sous tension; état sous tension; et passage de l'état sous tension à l'état hors tension. Le circuit de mise sous tension initialise tous les états logiques du système lorsque l'alimentation est brusquement coupée et, dans la présente invention, ce circuit de mise sous tension assure une fonction supplémentaire et très importante qui consiste à fournir un système conçu pour fonctionner même en cas d'incident grave, ainsi qu'un entretien en ligne. Pour ce faire, le circuit de mise sous tension qui fait partie de
la présente invention est utilisé de manière unique pour com-
mander les circuits d'interface qui commandent toutes les li-
gnes d'intercommunications du système.
L'architecture et le fonctionnement du système de répar-
tition de l'alimentation sont illustrés aux figures 30 à 33 et
ils sont décrits en dttail ci-après.
Le système de traitement par multiprocesseurs comprend
un système de mémoire dans lequel la mémoire physique est di-
visée en quatre zones d'adresses logiques, à savoir: données de l'utilisateur, données du système, code de l'utilisateur et
code du système. A ce sujet, on se reportera à la figure 36.
Ie système de mémoire comprend un topogramme 407 et une logique de commande 401, comme le montre la figure 34, afin de traduire toutes les adresses logiques en adresses physiques et indiquer les pages absentes du bit de la mémoire centrale
et présentes dans la mémoire auxiliaire, comme cela est néces-
saire pour mettre en oeuvre un système de mémoire virtuelle dans lequel les adresses physiques des pages sont invisibles
aux utilisateurs.
Le système de mémoire comprend un accès à double entrée à la mémoire par l'intermédiaire de l'unité centrale 105 et du
canal 109 d'entrées-sorties. Ce dernier peut donc accéder di-
rectement à la mémoire 107, sans devoir traverser l'unité centrale 105, pour des transferts de données venant de et
allant vers un organe de commande 41.
L'architecture et le fonctionnement du système de mémoire
sont illustrés aux figures 34 à 41 et ils sont décrits en dé-
tail ci-après.
27 2473197
Un système de détection d'erreurs est incorporé au systè-
me de mémoire afin de corriger tous les bits uniques et de dé-
tecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dans le système de mémoire. Ce système de détection d'erreurs utilise une zone de données de 16 bits et une zone de contrôle de 6 bits, comme le montre la
figure 37, et il comprend un complémenteur 487 de bits de don-
nées, également représenté à la figure 37, pour corriger toutes les erreurs de bits uniques et détecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dans le système de mémoire. Ce système de détection d'erreurs
utilise une zone de données de 16 bits et une zone de contrô-
le de 6 bits, comme le montre la figure 37, et il comprend un complémenteur 487 de bits de données, comme le montre également
la figure 37, afin de corriger les erreurs de bits uniques.
Les figures 37 à 41 et la description qui les concerne don-
nent les détails du système de détection d'erreurs.
Avant d'entrer dans une description détaillée des systèmes
et des composants mentionnés d'une façon générale ci-dessus, il
faut noter les significations suivantes de la terminologie uti-
lisée dans la présente demande de brevet.
Le terme "logiciel" se rapporte à un système d'exploita-
tion ou aux instructions du programme d'un utilisateur; le
terme "microinstructions" se rapporte à un microprogramme enre-
gistré dans une mémoire morte; et le terme "matériel" se réfè-
re à la logique électronique réelle et à la mémorisation des données. Le système d'exploitation est un programme principal de
gestion se déroulant dans chaque module de processeur qui com-
porte une gestion centrale de l'affectation de toutes les res-
sources du système accessibles à ce module de processeur. Le système d'exploitation fournit une fonction d'ordonnancement et
il détermine le traitement qui utilisera ce module de proces-
seur. Le système d' exploitation affecte également l'utilisation de la mémoire centrale (gestion de la mémoire) et il exploite
le système de fichiers en vue de la gestion de la mémoire auxi-
liaire. Le système d'exploitation gère également le système de messages, ce qui facilite la transmission des informations par
la ligne entre processeurs.
lia disposition du système d'exploitation est compatible
2 2473197
avec la disposition modulaire des composants du système de trai-
tement par multiprocesseurs décrit ci-dessus, par le fait qu'ils
ne comportent aucun composant "global".
Au niveau le plus bas du système de logiciel, deux entités fondamentales sont mises en oeuvre, à savoir les traitements et
les messages.
Un traitement est l'entité fondamentale de gestion au sein
d'un système.
Chaque traitement comprend une zone spécialisée de données
et de valeurs de registre, ainsi qu'un ensemble de codes éven-
tuellement communs. Un traitement peut également accéder à une
zone commune de données.
Plusieurs traitements coexistent dans un module 33 de pro-
cesseur.
Les traitements peuvent résulter de l'application de pro-
grammes rédigés par l'utilisateur ou ils peuvent avoir des fonc-
tions consacrées telles que, par exemple, la gestion d'un appa-
reil d'entrées-sorties ou la création et l'élimination d'autres traitements.
Un traitement peut nécessiter les services d'un autre trai-
tement et cet autre traitement peut être localisé dans le même module 33 de processeur qu'un traitement demandeur, ou l'autre
traitement peut être localisé dans un autre module de proces-
seur. Les traitements fonctionnent de façon asynchrone et, par
conséquent, ils nécessitent une méthode d'échanges qui permet-
tra de placer une demande de service en file d'attente sans "courses" (une condition suivant laquelle le résultat dépend
de la séquence du traitement qui aura été mis en route le pre-
mier), d'o la nécessité de "messages" (un système ordonné d'échanges entre modules de processeurs décrit plus en détail ci-après). De même, tous les échanges entre les modules de processeurs doivent apparaître-les mêmes aux traitements, que ces derniers soient localisés dans le même module de processeur ou dans des
modules différents.
Comme le montrera plus clairement la description ci-après,
l'architecture du logiciel est compatible avec le matériel et
différents traitements peuvent être considérés comme étant équi-
valents à certains composants du matériel au point de vue dis-
position et fonction.
Par exemple, exactement comme le canal 109 d'entrées-sor-
ties communique par la ligne 39 d'entrées-sorties avec l'organe de commande 41, un traitement de l'utilisateur peut faire une demande (en utilisant le système de message) au procédé associé à cet organe de commande 41; ensuite, le traitement de l'organe signale à nouveau un état de la même manière que l'organe de commande 41 renvoie l'information au canal 109 d'entrées-sorties
par la ligne 39 d'entrées-sorties.
L'autre entité fondamentale du système de logiciel, le mes-
sage, se compose d'une demande de service aussi bien que d'une demande de données. Lorsque la demande sera terminée, toutes les
valeurs demandées seront renvoyées au traitement demandeur.
lorsqu'un message doit être envoyé entre des traitements dans deux modules différents 33 de processeurs, on utilise les
lignes 35 entre processeurs. Cependant, comme on l'a noté ci-
dessus, tous les échanges entre les traitements apparaissent les mêmes aux autraitements, que ces derniers soient localisés dans
le même module de processeur 33 ou dans des modules différents.
Cette organisation du logiciel présente plusieurs avanta-
ges. la présente méthode de structuration du logiciel fournit
également un logiciel significativement plus fiable. En permet-
tant de compartimenter la structure du logiciel, on peut obtenir des modules d'un plus faible volume et les interfaces entre les
modules sont bien définis.
Le système est également d'un entretien plus facile, du
fait de la compartimentation de fonction.
* Les modules et les interfaces bien définis dans le système de logiciel présentent également l'avantage de pouvoir être facilement extensibles, comme dans le cas de l'adjonction de
modules supplémentaires 33 de processeurs ou d'organes supplé-
mentaires de commande 41 au système de traitement par multipro-
cesseurs.
En outre, le fait que l'utilisateur, en rédigeant son pro-
gramme, ne doit pas connaître l'architecture réelle de la ma-
chine ni l'implantation physique d'autres traitements, consti-
tue un avantage pour l'utilisateur du système de traitement par
multiprocesseurs et du système de logiciel.
Le logiciel fournit de nombreux modules fonctionnellement
2 2473197
équivalents avec des interconnexions redondantes, exactement
comme le fait le matériel.
Par exemple, des messages circulant entre des traitements dans différents modules 33 de processeurs peuvent utiliser l'une ou l'autre ligne 35 entre processeurs. De même, des organes de commande 41 peuvent être exploités par des traitements dans l'un ou l'autre des nodules 33 de processeurs, connectés à l'organe de commande 410
Le système de matériel et le système de logiciel de traite-
ment par multiprocesseurs, décrits ci-dessus permettent à l'u-
tilisateur de mettre au point un système d'application qui tient compte des erreurs en raison de ses modules répétés avec des
interconnexions redondantes.
Comme on l'a fait remarquer ci-dessus, les modules indi-
viduels 33 de processeurs sont interconnectés par l'intenné-
diaire de deux lignes 35 entre processeurs, une ligne I et une ligne Y, Chaque ligne 35 entre processeurs, en combinaison avec
son contrôleur 37 de ligne et une commande connexe 55 entre pro-
cesseurs prévue dans chaque module 53 de processeur, fournit
un circuit d'échange multimodulaire entre un module de proces-
seur et n'importe quel autre module de processeur du système.
L'utilisation de deux lignes assure que deux circuits indépen-
dants existent entre tous les modules de processeurs du système.
Par conséquent, une défaillance d'un circuit (d'une ligne)
n'empêche pas les échanges entre les modules de processeurs.
Le contrôleur 37 de ligne de chaque ligne 35 entre proces-
seurs est un contrôleur qui, dans un exemple préféré de réali-
sation de la présente invention, est séparé et distinct des mo-
dules 33 de processeurs.
Chaque ligne 35 entre processeurs est une ligne synchrone,
la synchronisation étant fournie par une horloge de ligne loca-
lisée dans les contrôleurs 37 de ligne. Les parties 55 de la commande entre processeurs de tous les modules associés à la ligne effectuent des changements d'état en synchronisme avec
cette horloge de ligne pendant les échanges par l'intermédiai-
re de la ligne.
Comme on le décrira plus en détail ci-dessous, l'unité de contrôle 105 fonctionne sur une horloge différente de l'horloge
de ligne entre processeurs. Pendant le remplissage d'une mé-
moire-tampon hors de la file d'attente ou le vidage d'une mé-
3o
moire-tampon en file d'attente de la commande 55 entre pro-
cesseurs par l'unité centrale, le fonctionnement se fait à la fréquence de l'horloge de l'unité centrale. Cependant, la transmission de groupes de bits par la ligne entre processeurs s'effectue à la fréquence de l'horloge de la ligne. Une caractérçstique importante de la présente invention réside dans le fait que l'information transmise par la ligne
entre processeurs l'est à des vitesses élevées sans aucune cor-
respondance requise avec les fréquences d'horloge des diverses
unités centrales 105. la vitesse de transmission de l'informa-
tion par la ligne entre processeurs est également sensiblement plus élevée que ne le permettraient des accès directs d'entrée et de sortie des parties 107 de la mémoire à la vitesse de la
mémoire. Cette caractéristique assure l'existence d'une lar-
geur de bande de ligne appropriée, même lorsqu'un grand nombre de modules de processeurs sont connectés dans un système de
traitement par multiprocesseurs.
L'avantage d'une utilisation d'horloge séparées pour cha-
que unité centrale 105 réside dans le fait qu'une horloge-mère n'est pas nécessaire, ce qui élimine une source possible de défaillance de composant unique qui pourrait immobiliser tout
le système.
La commande 55 entre processeurs comprend des verrouilla-
ges logiques qui permettent d'exploiter les lignes 35 entre processeurs à une fréquence d'horloge et chaque unité centrale à sa fréquence indépendante propre d'horloge sans pertes
de données.
L'information transmise par la ligne l'est sous forme de
groupes de bits comportant plusieurs mots. Dans un exemple pré-
féré de réalisation de la présente invention, chaque groupe de
bits se compose de seize mots dont quinze sont des mots conte-
nant des données et dont un est un mot de contrôle.
La logique de commande implantée dans le contrôleur 37
de lignes et dans les commandes 55 entre processeurs des modu-
les individuels 33 suit un protocole détaillé. Le protocole prévoit l'établissement d'une paire émettrice-réceptrice et d'une base de temps pour la transmission des groupes de bits de données. A la fin du système de base de temps prévu pour la transmission du groupe de bits de données, le contrôleur 37 de lignes est libéré pour une autre séquence. La façon particulière dont ces fonctions sont remplies sera mieux comprise après la
description ci-dessous des caractéristiques de structure des
figures 3 à 9.
la ligne X 35 est de structure identique à la ligne Y 35, c'est pourquoi on ne décrira qu'une seule ligne en détail. Comme le montre la-figure 2, chaque ligne 35 comprend seize conducteurs individuels 57 de données de ligne, cinq conducteurs
individuels 59 de protocole de ligne, un conducteur 61 de si-
gnaux d'horloge et un conducteur 63 de sélection pour chaque
module 33 de processeur.
Comme l'illustre également la figure 2, la commande 55 entre processeurs de chaque module 33 de processeur comprend deux organes 65 en file d'attente (représentés à la figure 2 sous la forme d'un organe X en file d'attente et d'un organe Y
en file d'attente) et un organe commun 67 hors de la file d'at-
tente. En se reportant particulièrement à la figure 4, on verra que l'organe commun 67 hors de la file d'attente comprend une mémoire-tampon 69 hors de la file d'attente qui accomplit une
fonction de mémorisation. Dans un exemple préféré de réalisa-
tion de la présente invention, la mémoire-tampon 69 comporte
seize mots de seize bits chacun. La mémoire-tampon 69 est char-
gée par l'unité centrale et elle retient les données Jusqu'au moment-de la transmission du groupe de bits; à ce moment-là, les données sont libérées dans la ligne comme on le décrira plus en
détail ci-dessous.
L'organe 67 hors de la file d'attente comprend également
un registre récepteur 71, qui, dans un exemple préféré de réa-
lisation de la présente invention, est un registre de quatre
bits. Ce registre est chargé par l'unité centrale qui lui indi-
que le numéro du module de processeur auquel les données seront envoyées. La partie de commande de l'organe 67 hors de la file
d'attente comprend une partie logique 73 de l'état de remplis-
sage des processeurs qui fonctionne en synchronisme avec l'hor-
loge de l'unité centrale, une partie logique 75 de l'état de vidage des lignes qui fonctionne en synchronisme avec l'horloge
de la ligne X ou Y, et un compteur 77 hors de la file d'attente.
Pendant le remplissage de la mémoire-tampon 69 hors de la file d'attente par l'unité centrale, le compteur 77 hors de la file
d'attente explore la mémoire-tampon 69 afin de diriger l'intro-
duction des données dans chacun des seize mots de la mémoire-
tampon et,lorsque le seizième mot est mémorisé dans la mémoire-
tampon 69 hors de la file d'attente, le compteur 77 hors de la
file d'attente termine l'état de remplissage.
L'organe 67 en dehors de la file d'attente comprend égale-
ment un indicateur 79 en dehors de la file d'attente, qui connec-
te l'ensemble de la partie hors de la file d'attente à la ligne X ou Y 35. L'indicateur 79 hors de la file d'attente permet aux
parties logiques 73 et 75 et à la mémoire-tampon 69 d'être com-
munes aux lignes x et Y 35 entre processeurs.
Comme le montre la figure 3, le contrôleur de ligne 37 comprend une partie logique 81 de l'état de commande de ligne, un compteur émetteur 83, une partie logique 85 de sélection de processeur, un registre récepteur 87,-un compteur de groupe de
bits 89 et une horloge de ligne 91.
On se reportera maintenant à la figure 5. Chaque organe 65 en file d'attente comprend une partie logique 93 de l'état de
remplissage des lignes qui fonctionne en synchronisme avec l'hor-
loge de ligne, un registre émetteur 95, une mémoire-tampon 97
en file d'attente, un compteur 99 en file d'attente et une par-
tie logique 101 de l'état de vidage des processeurs qui fonc-
tionne en synchronisme avec l'horloge de l'unité centrale.
la figure 6 est un schéma d'état de la logique 81 prévue
pour le contrôleur de ligne 37.
La figure 7 est un schéma d'état des parties logiques 73
et 75 de la partie 67 hors de la file d'attente.
La figure 8 est un schéma d'état des parties logiques 93
et 101 des parties 65 en file d'attente.
On se reportera à la figure 7. La partie logique 73 de l'état de remplissage des processeurs comporte fondamentalement quatre états, à savoir: VIDE, REMPLISSAGE, COMPLET et ATTENTE, comme l'indiquent les légendes respectives. Ia partie logique 75 de l'état de vidage des lignes comporte fondamentalement quatre états, à savoir: EN RESERVE, MNOBRONIS TION, EMISSION
et EVACUEE, comme l'illustrent les légendes.
Continuant la description de la notation de la figure 7,
on notera que les lignes en traits pleins terminées par des
flèches indiquent des passages de l'état actuel à l'état suivant.
Les flèches en traits interrompus se terminant aux flèches en
traits pleins indiquent les conditions qui doivent être satisfai-
tespour que le passage indiqué puisse avoir lieu.
La synchronisation de machines qui créent ces états et qui fonctionnent à partir d'horloges relativement asynchrones exige
une structure soigneusement étudiée du système de verrouillage.
Ces verrouillages importants sont indiqués sur les schémas d'état
par les flèches en traits interrompus. Ces verrouillages accom-
plissent une synchronisation de deux machines relativement asyn-
chrones qui créent les états. Les flèches en traits interrompus, reliant aux figures 7 et 8 les machines qui créent ces états, représentent des signaux qui synchronisent les changements
d'état des machines.
En ce qui concerne l'état de remplissage pour la partie lo-
gique 73, on doit bien noter que la condition hors de la file
d'attente de la mémoire ne produira pas de fin de l'état de rem-
plissage aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte 15 (pour un compte qui
part de zéro); à ce moment-là, l'état de REMPLISS IEsera rem-
placé par l'état COMPIER.-
De même, on doit noter que l'état d'EIISSION de la partie logique 75 ne prendra pas fin avec la condition d'instruction de sélection et d'émission aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte de 15; à ce moment-là, l'état d'EMISSION sera remplacé par l'état ExECUTE. L'astà?bque qui apparaît dans la notation de la figure 7 indique un pas de progression du compteur 77 hors de la file d'attente. La figure 6 représente le schéma d'état de la logique 81
du contrôleur de ligne et elle illustre les quatre états fonda-
mentaux de la logique, à savoir: EN RESERVE, BRLYAAGE, RECEP-
TION et EMISSION.
la notation utilisée à la figure 6 est la même que celle qui a été décrite ci-dessus pour la figure 7. Une ligne en traits pleins terminée par une flèche indique un passage d'un état à un autre et une ligne en traits interrompus se terminant par une flèche sur la ligne en traits pleins, indique une condition qui doit être réalisée pour permettre au passage indiqué (ligne en traits pleins- terminée par une flèche) de se produire. Un astirsque placé sur ue ligne de passage d'un état à un autre indique dans ce cas que le compteur émetteur 83 est avancé d'un
pas de progression, simultanément au passage indiqué.
Les lignes de sortie en traits interrompus se terminant par une flèche à la figure 6, indiquent les instructions du pro- tocole envoyées par le régulateur de lignes à la ligne entre processeurs.
Aux figures 7 et 6, une flèche en traits interrompus quit- tant un état indique une sortie logique, tel qu'un signal de sortie
logique, allant de cet état à une ligne de protocole (dans le cas de la logique 75 d'état de vidage de la ligne) ou à une ligne d'état du module de processeur (dans le cas de la logique 73 de l'état de remplissage du processeur) La figure 8 représente les schémas d'état de la partie 93 de la logique de l'état de remplissage des lignes et de la
partie 101 de la logique de l'état de vidage des processeurs.
Le schéma d'état de la partie 93 de la logique comprend quatre états, à savoir: SYNCHRONISATION, ACCEîPTATION, RECEPTION
et OMPILET.
le schéma d'état de la partie logique 101 comprend quatre
états, à savoir: MISE A ZERO, PEE, INTERRUPTION et VIDAGE.
Ia notation (flèches en traits pleins et flèches en traits interrompus) est la même que celle qui a été décrite ci-dessus
en ce qui concerne les figures 6 et 7.
L'astérique à la figure 8 indique un pas de progression
dans le compteur 99 en file d'attente.
La figure 9 est un chronogramme représentant la séquence chronologique selon laquelle se produisent les changements
d'état mentionnés aux figures 6, 7 et 8.
La séquence représentée à la figure 9 effectue la trans-
mission d'un groupe de bits, d'un module de processeur à un
autre module de processeur à la fréquence d'horloge de la li-
gne (le module récepteur prévu étant supposé prêt à recevoir
le groupe de bits).
la figure 9 représente les séquences chronologiques d'une
transmission de groupe de bits effectuée avec succès, les re-
présentations des signaux individuels étant indiquées de haut en bas à la figure 9 et les périodes de temps d'une horloge de ligne étant représentées chacune de gauche à droite à la figure 9 dans l'ordre croissant des temps0
Ia ligne supérieure de la figure indique l'état du contrô-
leur de ligne et chaque repère de division représente une pé-
riode d'horloge ou cycle de l'horloge 91 de ligne représentée à la figure 3. Chaque division du temps à la ligne supérieure se
-5 reporte verticalement vers le bas afin de couper les représenta-
tions des divers signaux indiqués par les légendes portées à
gauche de la figure.
Si l'on considère les signaux séquentiels présentés de haut en bas à la figure 9, le premier signal (en dessous de la ligne d'état du contrôleur de ligne) est le signal de.DEMANDE
D'EMISS]LN(un signal du groupe du protocole repéré par la réf é-
rence 59 à la figure 3); ce signal est, en particulier, le si-
gnal qui peut être validé par la partie logique 67 de commande
hors de la file d'attente de n'importe quel module 33 de proces-
seur. Le signal est transmis à la partie logique 81 de l'état de commande de ligne du contrôleur 37 de ligne, comme le montre
la figure 3.
Le signal suivant oeprésenté à la figure 9, c'est-à-dire le signal de SELECTION, représente un signal qui provient de la partie logique 85 de sélection de processeur du contrôleur 37 de ligne et qui est transmis par une seule à la fois des lignes
63 de sélection à un module 33 connexe de processeur.
Le signal suivant représenté à la figure 9, c'est-à-dire le signal d'ACCEPTATION D'EMISSION, ne peut être validé que par un processeur particulier 33 lorsque ce dernier est sélectionné et lorsque sa partie logique 75 de l'état de vide de la ligne se trouve dans l'état dVEXISSION, comme le montre le troisième
état de la figure 7. Ce signal d'ACCEPTA!ION D'EMISSION est uti-
lisé par le contrôleur 37 de ligne pour établir l'identité d'un
module 33 de processeur désireux d'envoyer un groupe de bits.
Le signal suivant, c'est-à-dire le signal de COMMANDE DE
RECEPTION, représente un signal venant du régulateur 37 de li-
gne et transmis par une des lignes 59 de protocole. L'action de
ce signal est double.
Tout d'abord, en combinaison avec le signal de SEIECTION du récepteur, ce signal interroge le module 33 du processeur récepteur pour s'assurer que ce module de récepteur est prêt à
recevoir, comme l'indique l'état ACCEPTATION à la figure 8).
Ensuite, ce signal a comme deuxième fonction d'invalider la partie logique 75 de l'état de vidage de la ligne du module récepteur, de sorte que ce dernier ne peut envoyer un numéro prévu de récepteur dans la ligne de données si la partie hors de la file d'attente du module récepteur prévu 30 a également un
groupe de données en propre prêtes à être envoyées.
A ce sujet, pendant que le processeur émetteur impose le signal d'ACOEPTATION D'MNISSION, il envoie également le numéro prévu de récepteur dans la ligne pour que le régulateur 37 de lig ligne puisse l'utiliser LIa ligne 35 elle-même est, bien entendu, une ligne non directionnelle de sorte que l'information peut être envoyée vers la ligne 57 de données par un module quelconque en vue d'être utilisée soit par le contrôleur 37 de ligne pour une fonction de commande, soit par un autre processeur pour une fonction de transfert d'infommation. On doit noter qu'un module
33 ne peut envoyer des données dans la ligne que lorsque sa li-
gne de SEEIT0ION est validée et que le signal de 0OMUNDAE DE
RECEPTION n'est pas validé.
Pendant le temps que le signal de CO0HARDE DE RECEPTION
est validé, le contrôleur 37 de ligne transmet le numéro du ré-
cepteur à la ligne 57 de données pour sa saisie par le module de processeur récepteur sélectionnéS
Il ligne du signal suivant, c'est-à-dire la ligne d'ACOEP-
TATION DE RECEPTION A la figure 9, représente un signal qui est transmis de la partie 93 de la logique d'état de remplissage de
ligne du module récepteur sélectionné à la partie 81 de la logi-
que d'état de commande de ligne du contrôleur 37 de ligne, par l'une des lignes 59 de protocole, afin d'indiquer que le module récepteur sélectionné se trouve à l'dat d'ACCOOEPTATION, comme
l'indique la légende à la figure 8, et ainsi qu'il est prêt à re-
cevoir le groupe de bits que le module émetteur est prêt à trans-
mettre. Si le signal d'ACîEPTATION DE REîEPTION n'est pas validé par le module récepteur, la SELECTION de l'émetteur, la GOMMANDE
D'EMISSION et la transmission par la base de temps du groupe mê-
me de bits de données ne se produiront pas.
Si le signal d'ACOEPTATION DE RECEPTION est validé, la sé-
quence indiquée par la ligne de COMMANDE D'EMISSION se produira
alors.
la ligne de COMMNDE D'ENISSION représente un signal qui est émis par la partie logique 81 de l'état de commande de la ligne
du contrôleur 37 de ligne et qui est transmis à la partie logi-
que 75 de l'état de vide de ligne du module 33 du processeur
émetteur, par l'intermédiaire de l'une des lignes 59 de proto-
coleo En combinaison avec un signal de SELECTION du module du processeur émetteur, le signal de COMNANDE D'EXPEDITION permet au module du processeur émetteur d'envoyer un groupe de bits au module récepteur pendant les seize cycles d'horloge délimités
par le signal de COMMANDE D'EMISSION.
La dernière ligne, c'est-A-dire la ligne 16 de données, représente l'infommation présente dans les lignes 57 de données
pendant la séquence décrite ci-dessus.
Les données sont envoyées à la ligne par le module de pro-
cesseur émetteur sélectionné et elles sont transmises au module de processeur récepteur dans la mémoire-tampon 97 hors de la file d'attente, représentée à la figure 5, pendant la base de temps de ce seizième cycle d'horloge. Ceci suppose que le signal
d'ACCEPTATION DE RECEPTION a été reçu par le régulateur de li-
gne en réponse au signal de COMMANDE DE RECEPTION.
Si le signal d'ACCEPTATION DE RECEPTION n'avait pas été
reçu par le contrôleur de ligne, le signal de C0M0ANDE D'EMIS-
SION n'aurait pas été alors validé et le contrôleur 37 de ligne
aurait repris l'état de BALAYAGE comme le montre la figure 6.
En se reportant aux figures 2, 7, 10 et 11, on décrira maintenant une opération caractéristique de la mémoire-tampon et de la commande 67 hors de la file d'attente d'un module 33 de processeur Comme le montre la figure 10, la partie 73 de la logique de l'état de remplissage du processeur comprend deux bascules
bstables A et B, tandis que la partie 75 de la logique de l'é-
tat de vide de ligne comprend deux bascules bistables C et D.
En résumé des affectations d'états représentées par les ta-
bles AB et CD de la figure 10, l'état de VIDE est défini par A = o, B = o L'état de remPLISSAGE est défini par A = 1 B = O. L'état COMPILET est défini par A = 1, B = 1 et l'état d'ATTENTE
est défini par A = o, B = 1.
De même, les combinaisons correspondantes des variables des états C et D sont définies respectivement par les états
EN RESERVE, SYNCHRONISATION, EMISSION et ECXCUTION. Les affecta-
tions d'états énumérées précédemment pourraient également être données sous la forme d'équations logiques. Par exemple, l'état
de VItE peut être représenté par l'équation A.B et cette nota-
tion est utilisée dans les listes d'équations logiques de la
figure 11.
En fonctionnement et avec une référence particulière à la figure 7, l'état initial atteint par l'intermédiaire d'initia- lisation de mise sous tension ou la remise manuelle à zéro est
l'état VIDE représenté à la partie supérieure gauche de la fi-
gure 7.
L'état VIDE de la logique 73 de l'état de remplissage du processeur envoie un signal "prêt" à l'unité centrale 105 pour indiquer la présence de cet état, comme le montre la flèche RDY en traits interrompus représentée quittant 1' état de vide
à la figure 7.
Lorsqu'une transmission par l'intermédiaire de la ligne
entre processeurs est nécessaire, les microinstructions (micro-
programme) de l'unité centrale, en réponse à un signal "prêt", fourniront un signal de réception dans la mémoire, représenté par la flèche en traits interrompus entrant dans le schéma de
la figure 7. Ce signal de réception dans la mémoire synchroni-
se le passage de l'état VIDE à l'état de EMPLIBAGE.o Pour transmettre les données dans la mémoire-tampon 69 hors de la file d'attente, les microinstructions de l'unité centrale fourniront un signal de mémorisation hors de la file d'attente, représenté par la flèche en raits interrompus entrant dans le
* schéma de la figure 7, pour chaque mot A stocker dans la mémoi-
re-tampon 69 Chaque fois que ce signal de mémorisation hors de la file d'attente sera produit, le compteur 77 hors de la file d'attente
progressera, commençant son compte à zéro jusqu'à ce qu'il at-
teigne un compte quinze.
Iorsque le signal de mémorisation hors de la file d'attente
sera produit pour la seizième fois, un passage de l'état de REM-
PLISSAGE à l'état COPLEET, illustré par une flèche en traits
pleins à la figure 7, est permis.
L'état COMPILET de la logique de 1'état de REMPLISSAGE dl processeur fournit une condition de synchronisation à la logique de l'état de vide de la ligne, illustrée par la flèche en traits
interrompus portant de l'état COMPLET de la logique 73 et des-
cendant vers la logique 75 à la figure 7.
La logique 73 de l'état de remplissage du processeur res-
tera à l'état COMPLET jusqu'à ce que la logique 75 de l'état de
vide de la ligne ait atteint ensuite l'état EXERCUTE.
Si l'on considère maintenant en particulier la logique de
l'état de vide de la ligne représentée à la figure 7 par la ré-
férence 75, l'état initial EN RESERVE de la partie logique 75 à la figure 7 est de nouveau assuré par une initialisation de
la mise sous tension ou par une remise manuelle à zéro.
La logique 75 de l'état vide de la ligne restera à l'état
EN RESERVE jusqu'à ce que le passage à l'état de SYNOHRONISA-
TION soit permis, comme le montre la flèche en traits interrom-
pus venant de l'état COMPLET de la logique 73 de 1' état de rem-
plissage du processeur.
Ia logique 75 de l'état vide ne procédera à aucune synchro-
nisation requise entre l'état de SYNCHRONISATION et l'état
d'EMISSION.
C'est dans l'état d'EMISSION que le signal de DEMANDE
D'EMISSION appliqué à la ligne et au contrôleur de ligne est va-
lidé, comme l'indique la flèche en traits interrompus partant
de l'état d'EMISSION du schéma 75.
En réponse au signal de DEMANDE D'EMISSION, la logique 81 du contrôleur de lignes, représentée à la figure 6, balayera
successivement les modules de processeurs jusqu'à ce que le mo-
dule émetteur soit identifié, comme on l'a décrit ci-dessus
avec référence à la figure 9.
Le contrôleur de lignes enverra un signal de COMMANDE DE RECEPTION et de SELECTION au module de processeur récepteur prévu et, à la réception du signal d'ACCEPTATION DE RECEPTION,
le signal passera à la base de temps du groupe de bits,égale-
ment repérée à la figure 9.
Pendant la base de temps du groupe de bits le contrôleur de ligne valide le signal de SEIECTION du module de processeur émetteur et valide également le signal de COMMANDE D'EMISSION
envoyé au module de processeur émetteur.
Ce signal de SELECTION et ce signal de COMMANDE DE SELEC-
TION sont représentés entrant dans le schéma et synchronisant les signaux de passage sortant de et entrant dans l'état
d'EMISSION, comme le montre la figure 7.
Tandis que les signaux de SEILECTION et de COMMANDE D'EMIS-
SION sont validés, chaque horloge de ligne fera progresser le compteur 77 hors de la file d'attente, à partir d'un compte de zéro. A la seizième période d'horloge de la SEIECTION et de la COMMANDE D'EMISSION, le passage de l'état d'EMISSION à l'état
EXECUTE est synchronisé comme le montre la flèche en traits in-
terrompus permettant ce passage. Lorsque la logique 75 de l'état de vide a atteint l'état EXECUTE, un passage de la logique 73 de l'état de remplissage
du processeur, de l'état COMPIET à l'état d'ATTENTE, est syn-
chronisé, comme le montre la flèche en traits interrompus par-
tant de l'état Uexécutéf.
Ensuitel 'état d'ATTENTE de la logique 73 de l'état de rem-
plissage du processeur synchronise un passage de la logique 75 de l'état de vide de la ligne, de l'état EXECUTE à l'état EN RESERVE, comme le montre une flèche en traits interrompus partant
de l'état d'ATTENTE et synchronisant le passage indiqué.
Enfin, la logique 75 de l'état de vide de la ligne, étant dans l'état EN RESERVE, synchronise le passage de la logique à l'état VIDE, comme le montre la flèche en traits interrompus
partant de l'état EN RESERVE.
A ce stade, un groupe de bits a été chargé dans la mémoire-
tampon 69 hors de la file d'attente par le module de processeur et transmis par la ligne 35 au module de processeur récepteur, tandis que la logique 73 de l'état de remplissage du processeur de commande hors de la file d'attente et la logique 75 de l'état
de vide de la ligne ont été ramenées à zéro.
lIa description ci-dessus concerne les passages d'état et
les synchronisations indiquées à la figure 7. L'action des par-
ties logiques 73 et 75, concernées par la description ci-dessus
du fonctionnement du schéma de la figure 7, sera maintenant dé-
crite avec référence au schéma logique de la figure 10 et à la
liste d'équations logiques de la figure 11.
On se reportera d'abord à la figure 10. Comme on l'a men-
tionné ci-dessus, les bascules bistables A et B sont des bascu-
les bistables J.K. à déclenchement par le bord dans lesquelles des changements d'état' se produisent uniquement aux passages d'horloge, comme l'indiquent les petits symboles triangulaires et les légendes mentionnés du côté gauche des bascules bistables
A et B à la figure 10.
le schéma logique de la figure 10 a pour premier objet d'illustrer le passage d'un état à un autre dans les machines produisant ces états et représentées à la figure 7. Ainsi, pour
illustrer le passage de l'état de RESERVE à l'état de SYNCHRO-
NISATION de la logique 75 d'état de vide, le fonctionnement est le suivant: Pour effectuer un passage de l'état de RESERVE à l'état de
SYNCHRONISATION, la variable d'état C doit être mise à 1.
L'équation logique pour l'entrée J de la variable d'état
C est représentée à la figure 11 et elle est repérée par la ré-
férence 130 Dans cette équation, le blocage (représenté par la flèche en traits interrompus venant de l'état tcomplet" de la
logique 73 de l'état de remplissage à la figure 7 et aboutis-
sant à la flèche représentant le changement) correspond à la
quantité (A.B) ou (COMPLET) dans l'équation repérée par la ré-
férence 103. Le symbole D ou (EN RESERVE) dans l'équation repé-
rée par la référence 103 à la figure 11 correspond à l'état EN RESERVE indiqué par la légende à la figure 7. Le symbole J dans l'équation correspond à l'entrée J de la bascule bistable C de la figure 100 Et le symbole (C) correspond à la sortie vraie
de la bascule bistable C de la figure 10.
On ne décrira pas plus en détail d'autres passages d'un état à un autre du schéma de la figure 7, avec références aux figures 10 et 11 car on suppose que ces passages sont effectués
par le schéma logique de la figure 10 et que les équations lo-
giques de la figure 11 sont absentes des exemples ci-dessus de passage de l'état de RESERVE à l'état de SYNCHRONISATION, comme
on l'a décrit en détail ci-dessus.
Les figures 10 et 11 représentent le schéma logique et les équations logiques du schéma d'état de la mémoire-tampon hors de la file d'attente et de la commande 67. Les schémas logiques
et les équations logiques correspondantes concernant la mémoi-
re-tampon en file d'attente et la commande 65 ou le contrôleur 37 de lignes n'ont pas été illustrés, car ces schémas logiques
et ces équations logiques sont analogues à ceux qui sont repré-
sentés aux figures 10 et 11 et on peut facilement les déduire
des schémas d'état représentés aux figures 6 et 8.
Chaque module 33 de processeur du système de traitement par multiprocesseurs, représenté à la figure 1, est connecté aux deux lignes 35 entre processeurs, comme le montre la figure
1, et il peut communiquer avec n'importe quel module de proces-
seur y compris lui-même, par l'intermédiaire de l'une ou l'au-
tre des lignes. Pour chaque transfert de données en bloc, un module de processeur est la source ou émetteur et l'autre module
de processeur est le destinataire ou récepteur.
La transmission de données par un module de processeur par l'intermédiaire de l'une des lignes entre processeurs est dé- clenchée et réalisée par le logiciel au moyen de l'instruction d'ENISSION. Dans l'instruction dVEMISSION, le microprogramme 115 et le
microprocesseur 113 de l'unité centrale, représentés à-la figu-
re 2, agissent en liaison avec la partie commune 67 de la file d'attente de la commande 55 entre processeurs afin d'extraire
un bloc de données de la mémoire 101, de le décomposer en grou-
pes de bits4 de calculer les mots du total de contrôle des grou-
pes de bits et de transmettre le bloc à raison d'un groupe de bits à la fois, par l'intermédiaire d'une ligne au module du processeur récepteur. Les paramètres fournis à l'instruction
d' EMISSION définissent le nombre de mots dans le bloc, l'adres-
se de début d'implantation du bloc, la ligne à utiliser, le pro-
cesseur récepteur et une valeur maximale de délai initial d'at-
tente pour que la partie commune 67 hors de la file d'attente,
représentée à la figure 2 devienne disponible.
L'instruction d'EXISSI0N ne prend fin qu'après que le bloc
entier a été transmis; ainsi, l'émission d'un bloc est un évè-
nement unique du point de vue du logiciel0 Cependant, l'instruc-
tion d'EMISSION peut être interrompue et reprise, de sorte que la réponse du système d'exploitation aux autres évènements n'est pas altérée par la longueur du temps requis pour terminer une
instruction d'EMISSION.
la réception des données par un module de processeur, par l'intermédiaire des lignes entre processeurs, ne s'effectue pas
au moyen d'une instruction du logiciel puisque les temps d'arri-
vée et les sources des groupes de bits de données ne peuvent être prévus. La réception des données est validée mais ne peut
être déclenchée par le récepteur.
Le microprocesseur 113 de l'unité centrale extrait du trai-
tement de l'instruction du logiciel un délai d'attente nécessai-
re pour l'exécution du microprogramme 115 de RECEPTIQN EN LIGNE.
Ce microprogramme extrait de l'une des parties 65 en file d'at-
tente, représentées à la figure 2, de la commande 55 entre pro-
cesseurs le groupe de bits de données, stocke les donnes dans une mémoiretampon et vérifie que le total de contrôle des
groupes de bits est correct.
Le réassemblage en blocs des groupes de bits reçus s'ef-
fectue au moyen de la table 150 de réception de ligne implantée dans la mémoire. la table de réception de ligne contient 32 entrées de deux mots, correspondant aux deux lignes venant de
chacun des seize modules de processeurs possibles dans une mi-
se en oeuvre particulière du système de traitement par multi-
processeurs. Chaque entrée de la table de réception de ligne correspond à une ligne et un émetteur contient un mot-adresse
et un mot de comptage. le mot-adresse précise dans quelle mémoi-
re-tampon de la zone des données du système les données"en en-
trée" venant de cet émetteur doivent être stockées. Le mot de comptage précise le nombre de mots contenant des données qu'il
reste pour terminer le transfert par blocs à partir de cet émet-
teur.
Lorsque chaque groupe de bits de données est reçu, le micro-
processeur 113 de l'unité centrale suspend le traitement des instructions du logiciel et le microprogramme 115 de réception de ligne est lancé. Ce microprogramme lit le mot-adresse et le mot de comptage venant de l'entrée de la table de réception de ligne de l'émetteur, stocke le groupe de bits de données dans la zone spécifiée, vérifie que le total de contrôle des groupes de bits est correct et stocke à nouveau les valeurs réglées du mot-adresse et du mot de comptage dans l'entrée de la table de réception de ligne. Si le groupe de bits a amené le compte à
zéro ou si le groupe de bits contenait un total de contrôle in-
correct, le microprogramme de réception de ligne place un indi-
cateur d'interruption de fin d'opération pour signaler au logi-
ciel l'arrêt du bloc de données. Le microprogramme de l'unité
centrale reprend ensuite le traitement de l'instruction du lo-
giciel au point o il avait été interrompu, sans autre pertur-
bation qu'un retard causé au programme au cours de déroulement.-
Une caractéristique importante réside dans le fait que des blocs de données provenant de plusieurs émetteurs peuvent être
tous assemblés en simultanéité par un module-de processeur ré-
cepteur à partir des groupes de bits de données reçus dans n'im-
porte quel ordre. Cet assemblage imbriqué de blocs formés à par-
tir de groupes de bits est effectué d'une manière transparente
4-0 au programme en cours de déroulement dans le processeur récep-
teur. Seules des fins d'assemblage réussi de blocs ou des trans-
missions erronées provoquent l'interruption du programme.
Il importe également qu'un partage du temps ou découpage
du temps du matériel des lignes entre processeurs ait été ef-
fectué dans deux zones. Tout d'abord, chaque ligne entre processeurs et chaque
contrôleur de ligne associé permettent la transmission de grou-
pes de bits entre n'importe quel émetteur et n'importe quel ré-
cepteur suivant la nécessité. Le balayage circulaire par un contrôleur de ligne afin d'identifier un émetteur demandeur, assure à tous les modules de processeurs une égale occasion d'émission par l'intermédiaire de cette ligne. Chaque ligne fournit un circuit de communication qui est exploité en temps
partagé sans déséquilibre par tous les modules de processeurs.
Ensuite, chaque partie 65 en file d'attente de la commande entre processeurs d'un module de processeur est exploitée en temps partagé par les groupes de bits "en entrée" provenant de plusieurs émetteurs. Ce qui revient à dire que la logique et la mémoire en file d'attente d'un processeur ne sont pas réservées à un seul émetteur pendant la durée d'un transfert
par blocs. Au contraire, chaque groupe de bits reçu est correc-
tement dirigé dans la mémoire par l'entrée de la table de ré-
ception de ligne correspondant à son émetteur et à sa ligne.
Les blocs de données provenant de plusieurs émetteurs sont as-
semblés correctement dans la mémoire du récepteur, indépendam-
ment de l'ordre dans lequel les émetteurs utilisent la ligne.
Un module de processeur a deux manières de contrôler sa capacité de réception des groupes de bits par la ligne X ou par la ligne Y. Tout d'abord, il existe un bit dans le registre de MASQUE
d'interruption de l'unité centrale, correspondant à chaque li-
gne entre processeurs. Lorsque le bit de MASQUE est présent, des microinterruptions sont permises dans cette ligne. Des microinterruptions (lancement du microprogramme de RECEPTION DE LIGNE) se produisent lorsque la logique 101, représentée à la figure 5, de l'état de vide de processeur d'une partir 65 en file d'attente atteint l'état de MICROINTERRUPTI0N après qu'un groupe de bits a été reçu dans une mémoiretampon en file d'attente.Si le bit de MASQUE est absent à la réception
d'un groupe de bits, la microinterruption et le traitement sui-
46 2473197
vant du groupe de bits dans la mémoire seront différés jusqu'à
ce que le bit de MASQUE soit amené par une instruction du lo-
giciel. Les opérations du logiciel, telles que le changement d'une entrée de la table de réception de ligne, sont effectuées avec des microinterruptions invalidées afin d'éviter des résultats imprévisibles. Aucun groupe de bits n'est perdu pendant que les microinterruptions sont invalidées. Le premier groupe de
bits reçu sera maintenu dans la mémoire-tampon en file d'atten-
te jusqu'à ce que la microinterruption soit validée. les trans-
missions des groupes de bits suivants sont refusées aussi long-
temps que la mémoire-tampon en file d'attente est pleine car la logique 93 de l'état de remplissage de ligne sera à l'état
COMPLET et donc dans l'incapacité de valider le signal d'ACCEP-
TATION DE RECEPTION en réponse au signal de SEIZOTION.
Un deuxième moyen de contrôler sa capacité de réception
des groupes de bits par la ligne réside dans l'action entre-
prise par un module de processeur après une interruption de l'achèvement de la réception par la ligne X ou la ligne Y (dé-
clenchement d'un dispositif d'interruption du système d'ex-
ploitation). Lorsqu'une erreur de total de contrôle est détectée dans
un groupe de bits reçu ou lorsque le compte de mots de la ta-
ble de réception de ligne, restant dans un bloc de données,
atteint zéro alors qu'un groupe de bits est stocké dans la mé-
moire, le microprogramme de RECEPTION EN LIGNE indique une interruption de l'achèvement de la réception par la ligne X ou la ligne Y. En d'autres termes, le microprogramme envoie le
signal RINT (INTERRUPTION DE RECEPTION), représenté à la fi-
gure 8, dans la logique 101 de l'état de vide du processeur en file d'attente, pour permettre la réception d'un autre groupe de bits. Cependant, lorsque l'achèvement de la réception est indiqué, le signal RINT (INTERRUPTION DE RECEPTION) n'est pas émis. Il incombe donc au programme d'interruption du logiciel d'achèvement de la réception par la ligne d'émettre le signal RIJT (INTERRUPTION DE RECEPTION) au moyen d'une instruction de programme RIR (DEMANDE D'INTERRUPTION DE RECEPTION), afin de revalider la partie 65 en file d'attente. Jusqu'à ce que cela se produise, la logique 93 de l'état de remplissage de ligne
4 2473197
en file d'attente reste à l'état COMPILE et aucun groupe supplé-
mentaire de bits ne sera reçu.
LIe signal d'interruption de l'achèvement de la réception peut dont désigner soit un transfert de données par blocs qui ont été émises et reçues sans erreur, soit un transfert partiel dans
lequel une erreur de total de contrôle est détectée et dans le-
quel un transfert partiel de l'interruption de l'achèvement est créé en résultat de l'erreur de total de contrôle détectée. Dans
ce dernier cas, l'émetteur continue à envoyer les blocs de don-
nées mais le récepteur rejette les blocs de données après que
l'erreur de total de contrôle a été détectée. Cette erreur appa-
raît avec une valeur négative dans le mot de comptage de la ta-
ble de réception de ligne. Ces explications seront clarifiées
par la description suivante de l'opération.
L'instruction d'EMISSION'est une instruction qui exige
quatre mots paramètres dans la pile du registre de l'unité cen-
trale. LIe premier de ces quatre mots paramètres est un compte du nombre de mots à transmettre. Cette valeur doit correspondre au nombre attendu par la table de réception de ligne du module de processeur récepteur si l'on veut que la transmission s'achève
avec succès.
Le deuxième mot paramètre est l'adresse, moins un, de la
zone de données de la mémoire du processeur émetteur dans laquel-
le sont localisées les données à transmettre.
Le troisième mot paramètre est une valeur de délai d'atten-
te affectée à l'achèvement de la transmission d'un seul groupe
de bits (quinze mots contenant descbnnées). la période d'atten-
te repart de zéro pour chaque groupe de bits transmis par l'in-
termédiaire de l'instruction d'EMISSION.
Le quatrième mot paramètre précise la ligne (c'est-à-dire la ligne X ou la ligne Y) à utiliser et il indique le module de processeur récepteur. Le bit de poids fort du paramètre précise
la ligne et les quatre bits de poids faible, dans un exemple par-
ticulier de réalisation de la présente invention, indiquent le
numéro du module de processeur récepteur.
A l'achèvement d'une instruction d'EMISSION, il y a deux situations possibles: La première situation est la suivante: il s'est produit un délai d'attente d'un groupe de bits et les groupes de bits
48 2473197
restants n'ont pas été transmis, l'instruction ayant pris fin à ce momentlà. Dans ce cas, les groupes de bits restants du
bloc ne sont pas transmis.
La deuxième situation possible consiste en une indica-
tion de l'achèvement réussi de la transmission d'un bloc de données. Ainsi, dans une première récapitulation de l'opération d'EMISSION, l'instruction d'EMISSION remplit la mémoire-tampon 69 hors de la file d'attente, représentée à la figure 4, au moyen de quinze mots contenant des données, joint un total de contrôle d'imparité et signale au contrôleur 37 de ligne qu'un autre groupe de bits est prêt à être transmis. Après que chaque
groupe de seize mots a été transmis, l'exécution de l'instruc-
tion d'EMISSION reprend au point o elle a été laissée. Si le dernier groupe de bits du blocs comprend moins de quinze mots, les mots restants sont complétés par des zéros. L'instruction
prend fin lorsque le dernier groupe de bies est transmis.
La figure 5 représente le schéma logique et la figure 7
représente le schéma d'état du matériel d'émission.
lia première action de la séquence d'instruction d'ENIS-
SION est d'envoyer un signal de RECEPTION EN NENOIRE à la lo-
gique 73 de l'état de remplissage du processeur, représentée à la figure 4, et de fournir le numéro du processeur récepteur, par l'intermédiaire de la ligne N représentée à la figure 4,
au registre récepteur 71. En même temps, l'index de l'indica-
teur 79 hors de la file d'attente est réglé en conformité avec le bit de poids fort de la ligne M afin de connecter l'organe
67 hors de la file d'attente soit à la ligne X, soit à la li-
gne Y.
Le signal de REîEPTION EN M1EMOIRE fait progresser la lo-
gique 73 de l'état de remplissage du processeur, qui est ini-
tialement à l'état vide comme le montre la figure 7, vers l'état de REMPLISSAGE représenté à la figure 7. Ce changement
d'état provoque le chargement du numéro du processeur récep-
teur dans le registre 71 représenté à la figure 4.
A ce stade, l'organe 67 hors de la file d'attente est prêt pour le chargement du groupe de bits de données dans la mémoire-tampon 69 hors de la file d'attente. Jusqu'à quinze
mots sont extraits de la mémoire et sont stockés, par l'inter-
médiaire de la ligne M représentée à la figure 4, dans la
mémoire-tampon 69 hors de la file d'attente. Le signal de stoc-
kage hors de la file d'attente a pour résultat d'introduire cha-
que mot, transmis par la ligne M, dans la mémoire-tampon 69 hors de la file d'attente à un emplacement précisé par le compteur 77 hors de la file d'attente. Chaque signal de stockage hors de la file d'attente a également pour effet de faire progresser
d'une unité le compteur 77 hors de la file d'attente.
* Au fur et à mesure que les mots sont extraits de la mémoi-
re, le mot-adresse est augmenté d'une unité et le compte de mots à émettre est diminué d'une unité. Si le compte atteint zéro avant que les quinze mots ne soient extraits de la mémoire, la partie restante de la mémoire-tampon hors de la file d'attente est garnie de zéros afin de remplir les position inutilisées
dans le groupe de bits de données.
En outre, au fur et à mesure que les mots sont introduits
dans la mémoire-tampon 69 hors de la file d'attente, le micro-
programme 115 représenté à la figure 2 calcule un total de con-
trôle modulo deux des mots contenant des données. Après que le quinzième mot contenant des données a été introduit, le mot de
total de contrôle d'imparité est chargé dans le seizième empla-
cement de la mémoire-tampon 69 hors de la file d'attente.
A ce moment-là, le compteur 77 hors de la file d'attente a une valeur de compte égale à 15 et cette valeur, combinée au
signal de stockage hors de la file d'attente, fait passer la lo-
gique 73 de l'état de remplissage du processeur, de l'état de
REMPLISSAGE à l'état COMPIET, comme le montre la figure 7.
A ce stade, le microprogramme 115 a terminé l'introduction
des données dans la mémoire-tampon 69 hors de la file d'attente.
le microprogramme attend alors la transmission du groupe de bits
en recherchant l'apparition du signal PRET représenté à la figu-
re 7. Pendant cette attente de la transmission du groupe de bits, le microprogramme 115 fait évoluer un rythmeur et si le rythmeur dépasse le temps imparti ou s'arrête avant que le signal PRET
ne soit validé, le microprogramme envoie à la logique 73 de l'é-
tat de remplissage du processeur, représentée à la figure 4, le signal hors de la file d'attente de remise à zéro. Ceci a pour résultat de ramener la logique 73 de l'état de remplissage du processeur à l'état de vide représenté à la figure 7, et le microprogramme met ensuite fin à l'instruction d'EMISSION avec
l'indication du dépassement du temps imparti.
En fonctionnement normal, l'état COMPIET de la logique 73 de l'état de remplissage du processeur synchronise la logique 75 de l'état de vide de la ligne de manière à la faire passer de l'état EN RESERVE à l'état de SYNOERONISATION représenté à la
figure 7 Ensuite, l'état de SYNCHRONISATION est remplacé automa-
tiquement par l'état d'EMISSION et cet état provoque l'envoi du signal de DEMANDE D'EMISSION au contrôleur 37 de ligne. Le signal de DEMANDE D'EMISSION déclenche une séquence de transmission de
groupes de bits décrite auparavant.
Comme on l'a décrit auparavant, lorsque le module de pro-
cesseur émetteur a été identifié par le contrôleur 37 de ligne
par balayage et lorsque le module de processeur récepteur a ac-
cepté la transmission du groupe de bits au moyen du signal
ACCEPTATION DE RECEPTION, le groupe de bits est envoyé de la mé-
moire-tampon 69 hors de la file d'attente, par l'intermédiaire de l'indicateur 79 hors de la file d'attente, à l'une des lignes 57
de données afin d'être chargé dans le module de processeur récep-
teur en file d'attente.
Lorsque le seizième mot est envoyé dans la ligne, la valeur
du compte 15 du compteur hors de la file d'attente, en combinai-
son avec le signal de COMMANDE D'EMISSION et le signal de SELEC-
TION DE L'EMETTEUR, fait passer de l'état d'EMISSION à l'état
EXEOUTE la logique 75 de l'état de vide de la ligne.
L'état EXECUTE synchronise l'état COMPIET de la logique 73
de l'état de remplissage du processeur (comme le montre la flè-
che en traits interrompus joignant l'état EXEOUTE à la flèche marquant à la figure 7 le passage de 1' état COMPLET afin de
passer à l'état d'ATTENTE.
Ensuite, l'état d'ATTENTE synchronise l'état EXECUTE afin de passer à l'état EN RESERVE comme le montre le schéma d'état représenté à la figure 7o Enfin, l'état EN RESERVE synchronise l'état d'ATTENTE afin de passer à l'état VIDE, comme le montre également le schéma
de la figure 7.
L'état de VIDE de la logique 73 de l'état de remplissage
du processeur fournit l'indication PRET au microprogramme 115.
Si le groupe de bits qui vient juste d'être transmis est le dernier groupe de bits du bloc spécifié de données, l'instruction d'EMISSION prend fin et l'indication d'une transmission réussie o
2473197
de bloc est donnée.
Si le groupe de bits transmis n'est pas le dernier du bloc
de données, la séquence décrite ci-dessus se répète alors jus-
qu'à ce que tous les mots du bloc aient été transmis ou jus-
qu'à ce qu'une erreur de délai d'attente se soit produite. L'instruction d'EMISSION peut être interrompue et reprise; cependant, l'instruction d'EMISSION ne peut être interrompue qu'entre les groupes de bits et l'interruption de l'instruction
d'EMISSION n'a aucun effet sur les données transmises.
insi, au moyen d'une seule instruction de programme (l'instruction d'EMISSION), un bloc de données comptent jusqu'à
32 767 mots est transmissible d'un module de processeur émet-
teur à un module de processeur récepteur et l'exactitude de la transmission est vérifiée par le total de contrôle des groupes de bits. De même, la transmission se produit à un débit élevé de transfert des données car la mise en mémoire-tampon fournie par la mémoire-tampon 69 hors de la file d'attente du module de
processeur émetteur permet d'effectuer la transmission à la vi-
tesse de la ligne entre processeurs, indépendante de la vites-
se de la mémoire du module de processeur émetteur. Ceci permet une utilisation efficace de ce circuit de communication entre plusieurs modules de processeurs -sur la base d'un découpage du temps.
Comme on l'a mentionné ci-dessus, il n'y a pas d'instruc-
tion pour la réception.
Pour qu'un module de processeur reçoive des données par
l'intermédiaire d'une ligne entre processeurs, le système d'ex-
ploitation de ce module de processeur doit d'abord réaliser une entrée dans la table de réception de ligne. Chaque entrée de la table de réception de ligne contient l'adresse dans laquelle sont mémorisées les données "en entrée" et le nombre attendu
de mots.
Pendant que le module de processeur émetteur est en train d'exécuter l'instruction d'émission et envoie les données dans
la ligne, le matériel de réception de la ligne et le micropro-
gramme 115 du module de processeur récepteur rangent les don-
nées en fonction de l'entrée de la table de réception de ligne (ceci se produit en imbrication avec l'exécution du programme
du logiciel).
Lorsque le module de processeur récepteur reçoit le nombre attendu de mots d'un émetteur donné, le programme en cours de déroulement est interrompu et cette transmission particulière par la ligne se termineo La figure 5 représente le schéma logique et la figure 8 représente le schéma d'état du matériel de réception de ligne. Comme on l'a fait remarquer précédemment, il existe des parties 65 en file d'attente X et Y identiques dans chaque
module de processeur pour la ligne X et pour la ligne Yo Ia des-
cription qui suit se rapportera donc à une seule de ces parties
en file d'attente.
Après une mise à zéro initiale d'un module de processeur, ou après une opération précédente de réception, l'état de MISE A ZERO de la logique 101 de l'état de vide du processeur passe à 1' état PR T. L' 6tat PET synchronise 1' état de SYNEOHRONISATION de la logique 93 de l'état de remplissage de ligne pour faire
passer la logique à l'état d'ACCEPTATION.
Dans cet état d'ACCEPTATION, la partie 65 en file d'attente
renvoie le signal d'ACCEPTATION au contrôleur 37 de ligne en ré-
ponse à un signal 63 de SELEOTION, représenté A la figure 2, de
ce module 33 de processeur. Ceci montre la facilité avec laquel-
le la partie 65 en file d'attente X reçoit les groupes de bits de données.
Dans la séquence de transmission des groupes de bits, décri-
te en détail ci-dessus, la combinaison du signal de SELECTION de ce module de processeur et du signal de COMM0NANDE DE RECEPTION synchronise l'état d'ACCEPTATION de la logique 93 de l'état de
remplissage de ligne et le fait passer à 1' état de RIECEPTION.
A ce passage d'un état à l'autre, le numéro du module de processeur émetteur est chargé dans le registre de 1 'émetteur 95
représenté à la figure 5.
A l'état de RECEPTION, le groupe de bits de données est transmis de la ligne de données A la mémoire-tampon 97 en file
d'attente sous le contrôle du compteur 99 en file d'attente.
Lorsque le seizième mot du groupe de bits est chargé, il provoque le passage de l'état de RECEPTION à l'état COMPLET,
comme le montre la figure 8.
L'état COMPLET synchronise l'état PRET de la logique 101 de l'état de vide du processeur pour la faire passer à l'état de MICROINTERRUPTION, comme le montre la figure 8. L'état de MICROINTERRUPTION présente un état COMPLET EN FITTLE D'ATTENTE à
2 2473197
la logique d'interruption de l'unité centrale. Ce signal COMPIET EN FILE D'ATTENTE produit une microinterruption à la fin de
l'instruction suivante du programme si le bit de MASQUE corres-
pondant à cette ligne est présent.
Le microprogramme 115 de réception de ligne lancé par l'in- terruption envoie d'abord un signal de BLOCAGE, représenté à la figure 5, à la logique 101 de l'état de vide du processeur. Ceci
fait passer l'état de MICROINTERRUPTION de la logique 101 de l'é-
tat de vide du processeur à l'état de VIDAGE.
Le signal de BLOCAGE sélectionne également la partie en fi-
l d'attente X ou la partie en file d'attente Y; à condition, tou-
tefois, que les deux parties en file d'attente soient complètes
et validées, c'est la partie X en file d'attente qui est validée.
Ensuite, le microprogramme 115 produit le signal d'EMIS-
SION K qui provoque l'envoi du contenu du registre émetteur 95 dans la ligne K, représentée à la figure 5, afin d'obtenir le
numéro du processeur émetteur de groupes de bits.
A l'aide de ce numéro de processeur, le microprogramme 115 lit l'entrée de la table de réception de ligne du processeur
émetteur afin d'obtenir les mots-adresses et les mots de compta-
ge. Si le mot de comptage est nul ou négatif, le groupe de bits est rejeté; et, dans le deuxième cas, le microprogramme 115 envoie un signal d'INTERRtPTION DE RECEPTION qui fait passer la logique 101 de l'été de vide du processeur de l'état de VIDAGE à l'état de MISE A ZERO, comme le montre la figure 8. Dans ce cas, il n'y a pas d'autre action. lia microinterruption prend fin
et le traitement de l'instruction du programme est repris.
Si le comptage est positif, le microprogramme 115 extrait
des mots de la mémoire-tampon 97 en file d'attente pour les lan-
cer dans la ligne K par l'intermédiaire du signal K EN FILE
d' ATENTE, comme le montre la figure 5.
A chaque apparition du signal K EN FILE D'ATTENTE, le compteur 99 en file d'ateente progresse afin de balayer la
mémoire-tampon 97 en file d'attente.
Au fur et à mesure que chaque mot de données est extrait de la mémoiretampon 97 en file d'attente, le mot de comptage est diminué, le motadresse de la mémoire est augmenté et le mot de données est stocké dans la mémoire0 Si le mot de comptage atteint zéro, aucun autre mot n'est
2 2473197
stocké dans la mémoire, un indicateur d'interruption de fin d'opération est placé et le numéro du processeur émetteur est
stocké dans un emplacement de la mémoire. Dans ce cas, la lo-
gique 93 de la ligne de l'état de remplissage reste à l'état COMPLET jusqu'à ce qu'elle soit remise à zéro par une instruc-
tion de programme de DEMANDE D'INTERRUPTION DE RECEPTION.
Ainsi, lorsqu'un bloc de données aura été entièrement reçu, le mot de comptage contiendra une valeur comprise entre -14 et
zéro. Après que l'interruption de la fin d'opération s'est pro-
duite, aucune autre transmission vers le processeur par la li-
gne qui provoque l'interruption n'est permise, jusqu'à ce que
l'organe en file d'attente soit remis à zéro par une instruc-
tion de DEMANDE D'INTERRUPTION DE RECEPTION.
Au fur et à mesure que les mots contenant des données sont stockés dans la mémoire, un total de contrôle modulo deux des
données du groupe de bits est calculé.
Si le total de contrôle est mauvais, le compte de mots dans l'entrée de la table de réception de ligne est réglé à -256, un indicateur d'interruption de fin d'opération est placé
et le numéro du processeur émetteur est introduit dans la mé-
moire. Comme ci-dessus, la logique 93 de l'état de remplissage
de la ligne reste à l'état COMPLET jusqu'à ce qu'elle soit re-
mise à zéro par une instruction de DEMANDE D'INTERRUPTION DE
RECEPTION.
Si le mot de comptage n'atteint pas zéro, et si le total
de contrôle est bon, le microprogramme 115 de réception de li-
gne envoie un signal d'INTERRUPITION DE RECEPTION à la logique de l'état de vide du processeur, comme le montre la figure 5,
ce qui fait passer la logique 101 de l'état de vide du proces-
seur, de l'état de VIDAGE à l'état de MISE A ZERO, comme le
montre la figure 8.
L'état de MISE A ZERO de la logique 101 synchronise la lo-
gique 93 de l'état de remplissage de la ligne et la fait pas-
ser de 1' état COMPLET à 1 ' état de SYNCHRONISATION, comme le
montre également la figure 8.
A ce stade, la logique a été ramenée à l'état dans lequel elle se trouvait avant que le groupe de bits ne soit reçu,
ce qui permet donc la réception d'autres gzoupes de bits.
Ces groupes de bits peuvent provenir du même émetteur,
de manière à compléter le bloc de données, ou bien ils peu-
54i
vent provenir d'un autre émetteur.
Ceci met fin à l'action du microprogramme 115 de réception de ligne et le microprocesseur 113 reprend le traitement des
Instructions du logiciel.
Lorsqu'il s'est produit une interruption de la fin de
l'opération de réception, le programme de gestion de l'interrup-
tion du logiciel extrait le numéro du processeur émetteur de l'emplacement de la mémoire o ce numéro était stocké, et le programme de gestion de l'interruption du logiciel peut ensuite détecter si une erreur s'est produite dans le total de contrôle
en examinant le mot de comptage de la table de réception de li-
gne de ce processeur émetteur.
Dans le cas d'une erreur de transmission, le mot de compta-
ge a été amené à -256. En d'autres termes, le mot de comptage
contiendra une valeur comprise entre -14 et zéro.
Comme on l'a mentionné ci-dessus, il incombe donc au pro-
gramme de gestion de l'interruption de la fin d'opération de ré-
ception de ligne de produire un signal d'IeERRUPTION DE RECEîP-
TION, par l'intermédiaire d'une instruction de programme de DEMANDE D' INTERRUPTION DE RECEPTION, afin de valider à nouveau
la partie 65 en file d'attente.
Pour résumer l'opération de réception, exactement comme l'émission d'un bloc de données par un module de processeur
émetteur estvue par le logiciel comme un seul évènement, la ré-
ception des données par un processeur récepteur ne provoque pas d'interruption de programme du module de processeur récepteur
jusqu'à ce que le bloc de données tout entier ait été reçu jus-
qu'à ce qu'une erreur se soit produite.De même, les parties 65 en file d'attente servent de mémoires-tampons pour permettre la transmission de données aux débits de transmission par ligne tout en permettant la mémorisation des données et le contrôle
des données à la vitesse de la mémoire.Cette capacité d'utili-
ser le débit élevé de transmission de la ligne assure une lar-
geur de bande appropriée de ligne de manière à desservir plu-
sieurs modules de processeurs sur une base de découpage du temps.
Enfin, le fait qu'un mot de total de contrôle soit prévu dans
chaque groupe de-bits de données, fournit au module de proces-
seur récepteur un moyende vérifier l'exactitude des données
reçues par le circuit de communication du système de multipro-
cesseurso
2 2473197
L'information transmise par la ligne entre processeurs l'est sous le contrôle du système d'exploitation et elle est transmise d'un traitement dans un module de processeur 33 à un
autre traitement dans un autre module de processeur 33. Un trai-
tement tel qu'on l'a décrit ci-dessus dans la description du
système de traitement par multiprocesseurs, forme une entité fon-
damentale dans le système de logiciel et plusieurs traitements
coexistent dans un module de processeur 33. L'information trans-
mise par la ligne entre processeurs, entre des traitements im-
plantés dans différents modules de processeurs, se compose de deux types d'éléments: les groupes de bits de contrôle et les données. Les groupes de bits de contrôle sont utilisés pour informer
le module 33 de processeur récepteur en ce qui concerne les lan-
cements de messages, les annulations et les transmissions de don-
nées. A ce sujet, il faut noter que, bien que les lignes 35 entre processeurs interconnectent les modules de processeurs 33, un
traitement dans un module particulier 33 de processeur communi-
que avec un autre traitement ou avec d'autres traitements dans
un autre module 33 de processeur, par l'intermédiaire d'un pro-
cédé de multiplexage dans la ligne 35 entre processeurs. La cir-
culation dans la ligne entre deux modules 33 de processeurs con-
tiendra, par conséquent, des transmissions entre des traitements qui se trouvent à des stades variés d'exécution. De nombreuses transmissions entre traitements sont, par conséquent, imbriquées
sur une base apparemment simultanée.
Le matériel utilise le découpage de temps dans la ligne 35 entre processeurs au niveau des groupes de bits, et de nombreux traitements communiquent entre eux, aussi bien à l'intérieur
des modules 33 de processeurs que par les lignes 35 entre pro-
cesseurs dans la mesure nécessaire, par des mouvements de mes-
sages qui sont imbriqués l'un dans l'autre. En aucun cas, une
ligne 35 entre processeurs n'est affectée à un mouvement parti-
culier entre traitements.
Les données sont envoyées dans la ligne entre processeurs
en un ou plusieurs groupes de bits et elles sont toujours pré-
cédées d'un groupe de bits de contrôle et toujours suivies d'un
groupe de bits de fin de bloc.
le groupe de bits de contrôle précédant les groupes de -56
bits de données est nécessaire car une ligne n'est jamais affec-
tée à un message particulier et le groupe de bits de contrôle sert par conséquent à identifier correctement le message et à
indiquer la quantité de données à recevoir dans le message.
Cette transmission de l'information (groupe de bits de con- trôle, information, groupe de bits de fin de bloc) se fait en un tout indivisible une fois qu'elle est commencée. Le module de processeur émetteur envoie les blocs de données sous la forme d'une transmission individuelle (composée d'un certain nombre de groupes de bits de données) et il envoie le groupe de bits de
fin de bloc également sous la forme d'une transmission indivi-
duelle; c'est alors seulement que le module de processeur émet-
teur peut envoyer une information relative à un autre message.
Le groupe de bits de fin de bloc a un double objet.
Tout d'abord, si une erreur est commise au cours de la transmission des données (et le reste du bloc de données doit alors être rejeté), le groupe de bits de fin de bloc indique la
fin du bloc.
Ensuite, si le processeur émetteur tente d'envoyer trop de données (etde nouveau, le bloc doit être rejeté), le groupe de bits de fin de bloc fournit un moyen de reconnaître que les données ont été transmises et que la transmission de données est terminée*
Ou bien l'information transmise est reproduite sur diffé-
rents circuits (de manière à assurer son arrivée au récepteur) ou bien un accusé de réception du récepteur est exigé(de telle sorte que l'information est rejetée en cas de nécessité). Une erreur individuelle quelconque de lignes ne peut donc provoquer une perte d'information et une erreur individuelle quelconque
de ligne ne sera pas perçue par les deux traitements concernés. Le logiciel de réception de ligne est verrouillé avec le
matériel de réception de ligne, c'est-à-dire la partie 65 en fi-
le d'attente représentée à la figure 2, par un contrôle de la
transmission de l'information entre cette partie en file d'at-
tente et la mémoire 107.
Ceci permet d'effectuer des opérations telles que la modifi-
cation de l'information de la table de réception de ligne, sans
conditions de courses (problèmes de synchronisation).
Une fois que l'information de la table de réception de li-
gne a été mise à jour, on supprime le verrouillage en éliminant
58 2473197
l'interruption préalable de fin d'opération et en validant à nouveau les microinterruptions de réception de ligne en mettant
en action le bit de masque de ligne dans le registre de masque.
Cette action a deux conséquences. Elle permet au matériel en file d'attente d'accepter un groupe de bits dans la partie en file d'attente et elle permet également au microprogramme de réception de ligne de transmettre cette information de la partie
en file d'attente à la mémoire.
Le système de matériel et de logiciel est constitué de tel-
le sorte qu'aucune information n'est perdue en cas de défaillan-
ce de l'alimentation électrique du système (telle qu'une patnne
totale de l'alimentation en courant alternatif à partir du ré-
seau) ou en cas d'effet transitoire sur une ligne qui provoque
une panne momentanée de l'alimentation d'une partie du système.
L'action combinée de ce système de matériel et de logiciel inclut un signal d'alarme d'alimentation, indiqué dans la ligne 337 de la figure 3 et fourni à la partie 65 en file d'attente
* représentée à la figure 2 de sorte que, au plus, un groupe sup-
plémentaire de bits d'information peut être introduit dans la
partie en file d'attente après réception du signal d'alarme d'a-
limentation.
L'action du logiciel, dans le cas présent, inclut une ins-
truction de SEIECTION qui force les parties en file d'attente à
être complètes. Le résultat net est d'assurer qu'aucune trans-
mission ne sera complétée après que le module 33 de processeur aura reçu son signal d'alarme d'alimentation, de telle sorte que
chaque transmission est connue lorsque l'alimentation de la lo-
gique est coupées
Les lignes 55 entre processeurs sont utilisées par le systè-
3o me d'exploitation pour assurer que les autres modules de prtces-
seurs du système sont en fonctionnement. Toutes les deux secon-
des N, chaque module 33 de processeur doit avoir reçu un tel
groupe de bits de chaque module 33 de processeur du système.
Un module de processeur qui ne répond pas est considéré comme _5 étant en panne0 Si un module de processeur ne reçoit pas son propre message, ce module 33 de processeur sait alors qu'il est en état de défaillance et il ne prendra pas la relève des organes
41 de commande d'entrées-sorties.
La figure 42 illustre schématiquement la manière dont un programme particulier d'application peut se dérouler de façon
59 2473197
continue, même si diverses parties du système de traitement par
multiprocesseurs peuvent devenir inopérantes.
Chacune des vues séparées représentées à la figure 42 il-
lustre une composition d'un système de traitement par multipro-
cesseurs qui se compose de deux modules 33 de processeurs con-
nectés par une double ligne 35 entre processeurs (une ligne re-
pérée x et une ligne repérée Y), d'un organe 41 de commande qui commande plusieurs terminaux à clavier, et d'un autre organe 41
de commande qui commande un disque.
Les vues individuelles de la figure 42 indiquent les diver-
ses parties du système de traitement par multiprocesseurs ren-
dues inutilisables et réintroduites ensuite dans un état utilisa-
ble dans le système de traitement par multiprocesseurs.
La séquence débute par la vue de gauche supérieure et elle
se poursuit dans l'ordre indiqué par les flèches en traits lar-
ges disposées entre les vues. La séquence passe ainsi de l'état
1 indiqué comme étant l'Etat Initial, à l'état 2: Unité Centra-
le 0 Coupée, puis à l'état 3: Unité Centrale 0 Remise en état,
à l'état 4: Unité Centrale 1 Coupée et à l'état 5: Unité Cen-
trale 1 Remise en état, comme l'indiquent les légendes au-dessus
de chaque vue séparée.
Dans l'état initial du système de traitement par multi-
processeurs, représenté par la vue intitulée "Etat Initial" et
placée en haut à gauche de la figure 42, une copie PA du pro-
gramme d'application est en cours d'exécution. Cette copie lance
un appel de système pour créer la copie PB sous forme d'un dou-
ble auquel le programme d'application PA passe ensuite l'infor-
mation. L'ensemble des entrées et sorties se fait par le modu-
le O de processeur. Dans cet état initial, la ligne 35 entre pro-
cesseurs peut tomber en panne ou être coupée, comme l'indiquent
les barres tracées sur la ligne X, et elle peut être réintrodui-
te ensuite dans le système de traitement par multiprocesseurs
sans produire aucun effet sur le programme d'application PA.
Dans la vue suivante, intitulée 'Unité Centrale 0 Coupée', le module 0 de processeur est rendu inutilisable. Le système
de traitement par multiprocesseurs informe le programme d'appli-
cation PA de ce qui s'est passé et le programme d'application
FA n'essaie plus de communiquer avec le programme PB. L'ensem-
ble des entrées-sorties est commuté par le système de traitement par multiprocesseurs de telle sorte qu'elles s'effectuent par le système de traitement par multiprocesseurs de telle sorte
qu'elles s'effectuent par l'intermédiaire du module 1 de proces-
seur, et le programme d'application continue à desservir les ter-
minaux sans interruption par la ligne 39 d'entrées-sorties con-
nectant le module 1 de processeur aux organes 41 de commande, comme l'indique la flèche en traits pleins à droite de la ligne
39 d' entrées-sorties.
Dans l'état suivant d'exploitation du système de traitement par multiprocesseurs, illustré par la vue du milieu en haut de la figure 42 et intitulée "Unité Centrale 0 Remise en état", le module 0 de processeur est remis en service par l'intermédiaire
d'une commande de console. Le module 0 de processeur est rechar-
gé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module 1 de processeur. Le programme d'application PA est informé que le module 0 de processeur est maintenant prêt à fonctionner et le programme d'application PA ordonne au système de traitement par multiprocesseurs de créer une autre copie du programme d'application dans le module 0 de
processeur. Cette autre copie est désignée par les initiales PC.
Les terminaux continuent à être desservis sans interruption.
Ensuite, le module I de processeur est rendu inopérant, comme le montre la vue intitulée "Unité Centrale 1 Coupée". Le
programme d'application PC est informé de ce fait par le systè--
me de traitement par multiprocesseurs et le programme d'appli-
cation PC prend la relève de l'application. lIe système de trai-
tement par multiprocesseurs effectue automatiquement toutes les
entrées-sorties par l'intermédiaire du module 0 de processeur.
Les terminaux continuent à être desservis sans interruption.
Enfin, comme le montre la vue placée en haut à droite de la
figure 42 et intitulée "Unité Centrale 1 Remise en état, le mo-
dule 1 de processeur est rendu utilisable au moyen d'une comman-
de de console et il est rechargé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module 0 de processeur. Le programme d'application PC est informé que'le module de processeur est maintenant disponible et il ordonne ai système de traitement par multiprocesseurs de créer une autre copie de lui-même (programme d'application PD) dans le module 1 de processeur. Tous les éléments du système de traitement par
multiprocesseurs sont maintenant exploitables.
Pendant tout ce temps, les deux lignes entre processeurs et les deux modules de processeurs ont été rendus inutilisables et ont été réintroduits dans le système sans que le programme
d'application et les terminaux aient subi d'interruption.
Une caractéristique importante du système de traitement par multiprocesseurs réside dans le fait que, non seulement le programme d'application peut se dérouler alors qu'il y a une défaillance, mais également que l'élément défaillant peut être réparé et/ou remplacé pendant que le programme d'application continue à se dérouler. Ceci est vrai non seulement pour les modules de processeurs et les lignes entre processeurs, mais également pour tous les éléments du système de traitement par multiprocesseurs tels que les alimentations électriques, les ventilateurs dans le châssis, etc. Le système 31 de traitement
par multiprocesseurs est ainsi un véritable système continu.
Le système 31 de traitement par multiprocesseurs, repré-
senté à la figure 1, comprend un système d'entrées-sorties et des organes 41 de commande à double entrée, comme on l'a noté
précédemment d'une manière générale.
Le système d'entrées-sorties a pour objet général de per-
mettre la transmission des données entre un module 33 de pro-
cesseur et des appareils périphériques.
La présente invention a pour caractéristique importante le fait que la transmission des données peut s'effectuer par des circuits redondants afin d'assurer des traitements en mode "dégradé", de telle sorte qu'une défaillance d'un module 33 de
processeur ou d'une partie d'un organe 41 de commande ne blo-
quera pas la transmission des données de et vers un appareil
périphérique particulier.
Chaque organe 41 de commande comporte deux entrées 43 et
une structure correspondante qui, en liaison avec les deux li-
gnes correspondantes 39 d'entrées-sorties, permet un accès re-
dondant à un appareil périphérique, comme on le décrira plus
en détail ci-dessous.
Le système d'entrées-sorties qui fait l'objet de la pré-
sente invention comporte également quelques caractéristiques particulièrement significatives en matière de performances, Par exemple, une des caractéristiques de performance du système d'entrées-sorties qui fait l'objet de la présente invention réside dans la vitesse (largeur de bande) à laquelle fonctionne la structure des lignes d'entrées-sorties. Les organes 41 de
commande collectent les données auprès des appareils périphéri-
ques qui transmettent les données à des débits relativement faibles et transmettent les données collectées aux modules de processeurs suivant un mode de multiplexage en tranches de temps à ou au voisinage de la vitesse de la mémoire des modules
33 de processeurs.
Comme le montre la figure 1, chaque module 33 de processeur est relié à et prend en charge plusieurs organes individuels 41 de commande. Ce fait permet de connecter chaque organe 41 de commande, par l'intermédiaire des doubles entrées 43, à plus d'un module 33 de processeur d'un système unique de traitement
par multiprocesseurs.
On se reportera maintenant à la figure 12 des dessins.
Chaque module 33 de processeur inclut, en plus de la commande 55 entre processeurs mentionnée ci-dessus, une unité centrale
, une mémoire 107 et un canal 109 d'entrées-sorties.
Comme le montrent la figure 12 et également la figure 1, chaque organe 41 de commande régit un ou plusieurs appareils par l'intermédiaire de lignes de connexions 111 branchées en
étoile, c'est-à-dire que chaque appareil est connecté de maniè-
re indépendante à l'organe de commande.
A la figure 12, un système 45 d'entraînement de disques est
connecté à un organe 41 de commande et un système 49 d'entraî-
nement de bande magnétique est connecté à-un autre organe de
commande.
En continuant à se reporter à la figure 12, on verra que chaque unité centrale 105 comprend un microprocesseur 1130 Un microprogramme 115 est associé à chaque microprocesseur 1135 Le microprocesseur 115 exécute une partie du microprogramme 115 en exécutant les instructions d'entréessorties pour le système
d'entrées-sorties. Les instructions d'entrées-sorties sont indi-
quées à la figure 12 par les sigles EIO (exécution des entrées-
sorties), IIO (interrogation des entrées-sorties) et HIIO (in-
terrogations hautement prioritaires des entrées-sorties). Ces
instructions sont illustrées et décrites plus en détail ci-des-
sous avec référence aux figures 15, 16 et 17.
Le microprocesseur 113 accède à la ligne 39 d'entrées-sor-
ties par l'intermédiaire du canal 109 d'entrées-sorties et par
un ensemble de circuits 117 représentés à la figure 12.
En continuant à se reporter à la figure 12, on verra que le canal 109 d'entrées-sorties comprend un microprocesseur 119
auquel est associé un microprogramme 121.
Le microprogramme 121 remplit une fonction unique dans le
système de traitement par multiprocesseurs, cette fonction con-
sistant à effectuer la séquence de reconnexion et de transmis- sion des données, illustrée à la figure 16 et décrite plus en
détail ci-dessous.
Le canal 109 d'entrées-sorties d'un module 33 de proces-
seur comprend également une logique 123des circuits de données,
comme le montre la figure 12.
Comme le montre le mieux la figure 13, la logique 123 des circuits de données comprend un registre 125 de données mises
en mémoire par le canal, un registre 127 de données d'entrées-
sorties, un registre 129 d'adresses mises en mémoire par le ca-
nal, un registre 131 de comptage des caractères, un registre -33 d'adresses des appareils actifs, un registre 135 séparateur de
priorités et une logique 137 de contrôle et de création de pta-
ritée
Le circuit 117 représenté à la figure 12 comprend deux li-
gnes repérées à la figure 13 sous l'appellation de ligne M et de ligne K.
La ligne M est une ligne de départ venant du micro-proces-
seur 113 et elle introduit les données dans le registre- 127
de données d'entrées-sorties.
La ligne K est une ligne d'arrivée qui transmet les données
de la logique 123 du circuit de données au microprocesseur 113.
Comme le montre la figure 12, un circuit 139 connecte la logique 123 du circuit de données et le sous-système 107 de la mémoire. Ce circuit 139, représenté à la figure 12, inclut à la fois un circuit de matériel 139A et deux circuits logiques 139B et
139C implantés dans le sous-système 107 de la mémoire d'un mo-
dule 33 de processeur0 Les circuits logiques 139B et 139C seront décrits plus en
détail ci-dessous, en rapport avec la description de la figure
16. Le circuit de matériel 139A comprend trois branchements
comme le montre la figure 13.
Un premier branchement 139-A 1 transmet les données de la
mémoire au registre 125 de données mises en mémoire par le canal.
64 2473197
Un deuxième branchement 139A-2 transmet à la mémoire les données venant du registre 129 d'adresses mises en mémoire par
le canal.
Et un troisième branchement 139A-3 transmet à la mémoire les données venant du registre 127 de données d'entrées-sorties. Comme le montre la figure 12, le canal d'entrées-sorties d'un module 33 de processeur comprend une partie logique 141
de commande.
Cette partie logique 141 de commande comprend à son tour une machine 143 dans la ligne T, représentée à la figure 13, et
des lignes de DEMADE DE RECONNEXION 145, DEMMADE D'INTERRUP-
TION FAIBLEMENT PRIORITAIRE 147, DEMANDE D'INTERRUPTION FORTE4
MENT PRIORITAIRE 149 et de DEMANDE DE RANGEMENT 151, comme le
montre la figure 14.
La ligne 39 d'entrées-sorties, représentée aux figures 12 et 14, comprend également un groupe de lignes de fonctions de canal 153, 157 et 159. Voir également à la figure 13o ILa ligne
de REFERENCE ou ligne T 155 se compose de quatre lignes qui ser-
vent de lignes de fonctions et il y a trois lignes d'UTILISATION EEN SORTIE 155, d'UTILISATION EN ENTRIE 157 et d'ARRET EN ENTIE
159 qui servent de lignes de liaison, comme l'indiquent les lé-
gendes de la figure 14.
Comme le montrent la figure 12 et la figure 14, la ligne 39 d'entréessorties comprend également un groupe de lignes 161, 163, 165, 167 et 169 pour l'acheminement des donnéeso La ligne 161 et la ligne de PARITE 163 pour l'acheminement des données sont bidirectionnelles et elles servent de lignes d'acheminement des données; comme le montre la figure 14, il y a dans ce groupe seize lignes,161 d'ACEMINEMIENT DES DONNEES et
une ligne 163 de PARITE.
Les lignes FIN DE TRANSMISSION 165, REMIPLISSAGE DE POSI-
TIONS INUTILISEES EN SORTIE 167 et REMPLISSAGE DE POSITIONS INU-
TILISEES EN ENTREE- 169 servent de lignes d'état des données et elles indiquent les états particuliers qui peuvent se produire de temps à autre dans les lignes 161 et 165 d'acheminement des données. Enfin la ligne 59 d'entrées-sorties comprend une ligne 171 de mise à zéro, comme le montrent également les figures 12 et 14. Chaque instruction dans la ligne T, illustrée à la figure 18, exige un format particulier dans la ligne 161 acheminant les
données pendant qu'une instruction dans la ligne T est valable.
Ce format particulier dans la ligne acheminant les données est illustré dans le cas des fonctions LAC (Adresse et instruction d'implantation) et RDST (Etat du dispositif de lecture) repré-
sentées à la figure 18, pour l'exemple préféré de réalisation.
Dans le cas de la fonction LAC (Adresse et instruction
d'implantation) dans la ligne T, les données ou la zone trans-
mises lar les lignes 0 à 5 de la ligne 161 acheminant les don-
nées précisent l'opération à exécuter; la zone transmise par les lignes 8 à 12 de la ligne acheminant les données indique l'organe 41 de commande (ou plus précisément l'entrée 43 de cet organe de commande qui est reliée à la ligne 161 acheminant les
données) auquel l'instruction est adressée; et la zone trans-
mise par les lignes 13 à 15 de la ligne acheminant les données indique quel appareil relié à l'organe de commande doit être
manoeuvré par l'organe de commande en réponse à cette instruc-
tion.
Dans le cas de la fonction RDST (Etat du dispositif de lec-
ture) dans la ligne T, les bits 0, 1, 2 et 3 dans la ligne ache-
minant les données indiquent respectivement uneerreur de proprié-
té, une interruption en cours, un appareil occupé et une erreur
de parité. Les bits 4 à 15 signalent l'état dépendant de l'appa-
reil.
Les fonctions dans la ligne T sont transmises en trois sé-
quences, représentées aux figures 15, 16 et 17 et décrites en
détail ci-dessous.
Chaque fonction dans la ligne T est validée par le canal et une séquence d'établissement de liaison est effectuée entre le canal 109 et l'organe 41 de commande au moyen des lignes de liaison 155, 157 et 159 afin d'accuser réception de la fonction dans la ligne T. La machine 143 dans la ligne T, représentée à la figure <13, a pour fonction de commander la ligne T et la liaison0 La figure 28 est un chronogramme montrant le fonctionnement
de la liaison entre le canal 109 d'entrées-sorties et les en-
trées 43.
Comme le montre la figure 28, la ligne 155 transmet le si-
gnal d'utilisation "en sortie" SVO et la ligne 157 transmet le signal d'utilisation "en entrée" SVIO
66 2473197
Le cycle d'horloge du canal est représenté orienté verti-
calement avec les signaux d'utilisation "en sortie" SVO et
d'utilisation "en entrée" SVI.
Comme le montre la figure 28, le signal d'utilisation "en entrée" SVI n'est pas synchronisé avec l'horloge du canal et il peut être validé à n'importe quel moment par l'organe de
commande en réponse à un signal d'utilisation "en sortie" ve-
nant du canal 109 d'entrées-sorties.
Avant de valider le signal d'utilisation "en sortie" SVO, le canal 109 valide la fonction dans la ligne T et, en cas de
nécessité, la ligne acheminant les données.
Le canal valide ensuite un signal d'utilisation "en sor-
tie", comme l'indique la montée verticale 279 à la figure 28.
Le signal d'utilisation "en sortie" demeure validé jusqu'à ce que l'organe de commande réponde par le signal d'utilisation
"en entrée" 281, accusant réception de l'instruction du canal.
Le signal d'utilisation "en entrée" reste validé jusqu'à ce que
le canal élimine le signal d'utilisation "en sortie".
Lorsque l'organe 41 de commande valide le signal d'utili-
sation "en entrée", le canal 109 élimine le signal d'utilisa-
tion "en sortie", comme le montre la descente verticale 283 à la figure 28, en un temps compris de manière caractéristique
entre un et deux cycles d'horloge; en réponse, l'organe de com-
mande élimine le signal d'utilisation "en entrée" comme le mon-
tre la descente verticale 285 à la figure 28.
Lorsque l'organe de commande élimine le signal d'utilisa-
tion "en entrée", le canal 109 est libre de revalider un si-
gnal d'utilisation "en sortie" pour la transmission suivante; cependant, le canal ne revalidera pas le signal d'utilisation "en sortie" aussi longtemps que le signal d'utilisation "en
entrée" n'a pas été éliminé.
Les flèches 2814, 283A et 285A à la figure 28 indiquent
respectivement les réponses aux actions 279, 281 et 283.
L'établissement de la liaison se termine à la fin de la
descente verticale 285, comme le montre la figure 28.
Lors d'une transmission "en sortie", le registre 213 de données à l'interface de l'organe de commande prend en charge les données au début du signal d'utilisation "en sortie",
c'est-à-dire à la montée verticale 279 et il transmet ces don-
nées à la partie de commande de l'organe 187 de commande à la fin du signal d'utilisation "en sortie", c'est-à-dire à la
descente verticale 283.
Lors d'une transmission "en entrée", le canal 109 prend en charge les données venant de l'organe de commande à la fin du signal d'utilisation "en sortie", c'est-à-dire à la descen-
te verticale 283.
Ainsi, une liaison à deux lignes est utilisée pour ver-
rouiller la transmission de l'information entre le canal 109 et son organe 41 de commande, puisqu'ils agissent de manière
asynchrone.
C'est la condition générale de liaison, indiquée par la
liaison 2L aux figures 15, 16 et 17.
En outre, deux considérations de liaison spéciale se po-
sent, le cas échéant.
Premièrement, les instructions dans le canal, utilisées pour sélectionner un organe de commande, ne sont pas liées par le signal d'utilisation "en entrée", car aucun organe de
commande n'est sélectionné pendant ce temps.
Ces instructions comprennent, comme le montre la figure 18, les fonctions suivantes: SEL: Sélection; LAC: Adresse et instruction d'implantation; HPOL: Balayage d'interruption fortement prioritaire; LPOL: Balayage d'interruption faiblement prioritaire, et RPOL: Balayage d'interruption de reconnexiono De même, les instructions utilisées pour mettre fin à une séquence ne sont pas liées par le signal d'utilisation
en entrée", car elles amènent un organe de commande sélection-
né à se désélectionner.
* 3o Ces instructions comprennent, comme le montre également la figure 18, les fonctions suivantes: DSEL: Désélection;
ABTI: Instruction de suspension d'exécution (Entrée-
Sortie); et
ABTD: Données de suspension d'exécution.
Pour toutes les instructions mentionnées ci-dessus et qui
ne sont pas liées, le canal valide le signal 155 d'utilisa-
tion "en sortie" SVO pendant un temps donné (par exemple,
deux cycles d'horloge) et, ensuite, le canal éliminera ce si-
gnal d'utilisation "en sortie" SV0o Ce type de liaison est
68 2 4 73 1 9 7
indiqué aux figures 15, 16 et 17 par la liaison 1I.
Deuxièmement, la transmission des données est normalement
liée sauf que, lorsqu'un organe de commande désire signaler qu'u-
ne plus longue utilisation n'est pas demandée, il renvoie un signal d'arrêt "en entrée" STI, au lieu d'un signal d'utilisa-
tion "en entrée" SVI. Lorsque le signal d'utilisation "en sor-
tie" SVO est ensuite éliminé par le canal, l'entrée se désélec-
te elle-même. Le signal d'arrêt "en entrée' STI établit d'autre part la liaison de la même manière que le signal d'utilisation
"en entrée "SVI.
Une condition supplémentaire valable pour toutes les liai-
sons réside dans le fait que, lorsque le canal se prépare à va-
lider le signal d'utilisation "en sortie" SV0, il déclenche un rythmeur qui fait partie de la machine 143 dans la ligne T de la figure 130 Ce rytbmeur dépasse le temps imparti et inscrit une erreur si le cycle suivant de liaison n'est pas déclenché et
terminé dans le temps réglé par le rytbmeur. Si le rythmeur dé-
passe le temps imparti, une erreur est enregistrée au point
approprié de la séquence et une instruction de suspension d'exé-
cution ABTI (séquence EIO Exécution des entrées-sorties, II0
Interrogations des entrées-sorties, et HIIO Interrogations hau-
tement prioritaires des entrées-sorties) ou des données de
suspension d'dxécution ABTD (séquence de reconnexion) sont en-
voyées à l'organe de commande 41. Voir la description concernant
les figures 15, 16 et 17,
La figure 29 représente la logique dans le cas de la liai-
son représentée à la figure 28. La logique représentée à la fi-
gure 29 fait partie de la machine 143 dans la ligne T représen-
tée à la figure 130 La logique représentée à la figure 29 est la logique qui est opérante dans le cas de la condition générale
de liaison mentionnée ci-dessus.
La logique représentée à la figure 29 inclut une bascule bistable 287 d'utilisation "en sortie" et une bascule bistable
289 de synchronisation d'utilisation "en entrée". Comme le mon-
turent les lignes de séparation et les légendes à la figure 29, les bascules bistables 287 et 289 sont physiquement disposées
dans le canal 109.
L'organe de commande 41 inclut une logique combinatoire 291 et un transmetteur 293 qui renvoie un signal d'utilisation
"en entrée" SVI à l'entrée D de la bascule bistable 289.
69 2473197
Le fonctionnement de la logique représentée à la figure 29 est le suivant: Le canal 109 valide le signal d'utilisation "en sortie" en mettant à 1 l'entrée J de la bascule bistable 287 et, lorsque le cycle suivant d'horloge débute, le signal d'utilisation "en
sortie" est transmis par un transmetteur 295 à l'organe de com-
mande. Lorsque la logique combinatoire 291 de l'organe de commande
est prête, elle permet au transmetteur 293 de renvoyer le si- gnal d'utilisation "en entrée" SVI à la bascule bistable 289.
Ceci termine la liaison.
On se reportera maintenant à l'organe de commande à double entrée illustré à la figure 19. Chacune des doubles entrées 43 de l'organe 41 de commande est reliée par une connexion physique 179 à la logique commune 181 d'interface, représentée plus en détail à la figure 21, et chacune des entrées 43 est également associée, par l'intermédiaire d'une connexion logique 183, à la logique commune 181 d'interface déterminée par une bascule de
possession 185.
Comme le montre à la figure 19 la ligne 180 de connexion la logique commune 181 d'interface est associée à la partie 187
de commande de l'organe 41 de commande. La partie 187 de comman-
de de l'organe de commande comprend une mémoire-tampon 189.
Les deux entrées 43 représentées sous la forme de schéma fonctionnel à la figure 19, et avec plus de détails à la figure 23, constituent des parties importantes du système de traitement par multiprocesseurs qui fait l'objet de la présente invention car ces deux entrées fournissent au système d'entrées-sorties
la possibilité de fonctionnement en mode "dégradé".
Les entrées 43 et les éléments connexes du système sont oonstitués de telle manière que les deux entrées 43 d'un-organe 41 de commande sont logiquement et physiquement indépendantes l'une de l'autre. En conséquence, aucun élément d'une entrée 43
ne constitue également un élément de l'autre entrée 43 d'un or-
gane particulier 41 de commande, et aucune défaillance d'un
élément individuel (par exemple la défaillance d'un circuit in-
tégré) d'une entrée ne peut affecter le fonctionnement de l'au-
tre entrée.
Chaque entrée 43 a pour fonction, comme l'indique la légende de la figure 19, de relier un module de processeur à un organe de commande et, en dernier lieu, à un appareil particulier par l'intermédiaire de l'organe 41 de commande. L'entrée 43 est l'entité qui communique avec le module de processeur et avec la
partie de commande de l'organe 187 de l'organe de commande (con-
ditionnelle dans l'état de la bascule de possession 185). Ce qui revient à dire que l'entrée établit elle-même la
connexion avec un module de processeur, en fonction des instruc-
tions reçues du canal 109 d'entrées-sorties comme on le décrira plus en détail ci-dessous, en mettant à 1 son bit de sélection
173.
Chacune des entrées individuelles 43 d'un organe 41 de commande peut être connectée de manière indépendante à un module 33 de processeur alors qu'en même temps l'autre entrée de cet
organe de commande est connectée à un module différent. Cepen-
dant, la bascule de possession 185 établit la connexion logique entre la partie de commande de l'organe de commande et l'une des deux entrées 43, de telle sorte que l'une seulement de ces
entrées régit l'organe de commande à un moment quelconque.
La logique de décodage détermine la fonction qui est trans-
mise par la ligne T 153 à n'importe quel moment particulier.
La logique de commande combine les fonctions transmises par la ligne T afin d'exécuter des fonctions particulières d'entrée telles que, par exemple, la mise à 1 du bit de sélection, la
remise à zéro du bit de sélection, la lecture de l'état d'inter-
ruption.
Le fonctionnement de la logique de commande est illustré
par les équations logiques mentionnées à la figure 27.
Lorsqu'une séquence de connexions, qui sera décrite ci-
après avec référence aux figures 15, 16 et 17, est transmise par la logique 39 d'entrées-sorties, l'une des entrées 43 (et seulement l'unique entrée 43 d'un organe 41 de commande connectée à cette ligne 39 d'entréessorties) est connectée au sens logique à la
ligne 39 par la mise à 1 de son bit de sélection 173.
Cette connexion logique est déterminée par une partie des
données transmises au cours de cette séquence de connexions.
Lorsqu'elle est connectée, cette entrée particulière 43 répond ensuite aux signaux de protocole en transmettant l'information entre le canal et la partie de commande de l'organe de commande0 Le comparateur 193 d'adresses de l'appareil est la partie de
l'entrée 43 qui détermine l'adresse unique de l'entrée.
Le comparateur 193 d'adresses de l'appareil détermine l'a-
dresse unique d'une entrée particulière 43 en comparant la zone
d'adresse de l'appareil dans la ligne 161 acheminant les don-
nées pendant une fonction TAC (Adresse et instruction d'implan-
tation) transmise par la ligne T, les branchements d'adresse de
l'appareil étant associés avec une entrée particulière 43. Lors-
que l'adresse transmise par le canal 109 correspond à l'adresse
déterminée par les branchements associés à une entrée particu-
lière 43, le terme COMPARAISON D'ADRESSES, voir figure 27, est créé et le bit de sélection 173 de cette entrée est mis à 1 (en supposant que les autres états énumérés à la figure 27 permettent la mise à I du bit de sélection). L'entrée 43 réagit ensuite à toutes les opérations transmises par la ligne T jusqu'à ce que
la séquence se termine par la remise à zéro du bit de sélection.
Les abréviations utilisées à la figure 27 comprennent les abréviations suivantes: Add Comp: Comparaison d'adresses (Adresse d'appareil); PAROKFI: Bascule bistable de parité correcte; SEL: Sélection; OWN: Possession; et SELBIT: Bit de sélection
le registre 177 de contrôle de parité est associé au généra-
teur de parité et à la logique 137 de contrôle de la figure 13 par le fait que, à la sortie, la logique 137 du générateur de parité crée la parité qui doit être contrôlée par le registre 177 de contrôle de parité de l'entrée 43, et cette parité doit correspondre sinon l'opération sera suspendue par le canal 109
d'entrées-sorties du module 33 de processeur. A l'entrée, la lo-
gique commune 181 d'interface crée la parité qui doit être con-
trôlée de la même manière par la logique 137 de contrôle de pa-
rité dans le canal.
Comme le montre la figure 24, le contrôle de parité commen-
ce avant que les données ne soient introduites dans le registre
et il se poursuit après que les données ont été entièrement in-
troduites dans le registre. Ce qui revient à dire que la parité
dans la ligne D est contrôlée par le registre de parité de l'en-
trée chaque fois que le canal valide l'UTILISATION EN SORTIE avec une fonction de sortie transmise par la ligne T, et la parité est contrôlée pendant la durée de l'UTILISATION EN SORTIE pour assurer que les données transmises par la ligne D sont stables
pendant la durée de l'UTILISATION EN SORTIE, tandis que l'en-
trée introduit les données dans le registre 213 de données.
Ce contrôle de parité est effectué à chaque opération
d'une séquence de ligne T et, si une erreur de parité se pro-
duit pendant une opération quelconque de la séquence, l'erreur
est renvoyée sous forme de bit d'état en réponse à une fonc-
tion transmise par la ligne T pendant une séquence. Par exem-
ple, dans une séquence d'EXECUTION DES ENTREES-SORTIES, représentée aux figures 15 et 18, le renvoi du bit P pour
l'ETAT DE L'APPAREIL DE LECTURE indique que l'entrée à déter-
miné une erreur de parité pendant la séquence d'EXECUTION DES
ENTPEES-SORTIES.
Comme le montre la figure 18, le bit d'erreur de parité est le bit n 3 dans la ligne D en réponse à une fonction d'ETAT DE L'APPAREIL DE LECTURE dans la ligne T0 Si une erreur de parité survient à un autre moment que pendant une séquence d'EXECUTION DES ENTREES-SORTIES, l'erreur de parité est rapportée pendant la fonction transmise par la
ligne T de 1'ETAT D'INTERRUPTION DE LECTURE d'une manière ana-
logue à celle qui a été décrite ci-dessus dans le cas de la fonction d'ETAT DE L'APPAREIL DE LECTURE transmise par la ligne T.
L'erreur de parité est remise à zéro au début d'une sé-
quence d'EXECUTION DES ENTRKES-SORTIES, d'INTERROGATION DES ENTREESSORTIES, d'INTERROGATION HAUTEMENT PRIORITAIRE DES
ENTREES-SORTIES ou de reconnexion comme le montre la figure 24.
Si une erreur de parité est détectée au cours de l'une quelconque des séquences, elle est enregistrée par le registre de contrôle de parité pour être renvoyée dans la ligne D en réponse à une fonction de l'ETAT DE L'APPAREIL DE LECTURE ou de l'ETAT D'INTERRUPTION DE LECTURE transmise par la ligne T. En continuant à se reporter à la figure 20, on verra que la fonction de la bascule 175 de validation dans l'entrée 43 doit permettre au système d'entrées-sorties de corriger une certaine classe d'erreurs qui, sinon, rendraient inopérantes
les deux lignes 39 d'entrées-sorties reliées à un organe par-
ticulier 41 de commande. La bascule 175 de validation accom-
plit cette fonction en ne permettant pas à l'entrée 43 de lan-
cer des signaux dans la ligne 39 d'entrées-sortieso La bascule 175 de validation est remise à zéro par une
instruction particulière d'invalidation. Il s'agit d'une fonc-
tion d'instruction et d'adresse d'implantation (LAC) dans la ligne T avec un code opération particulier transmis par la ligne
D 161.
Une fois mise à zéro, la bascule 175 de validation ne peut
être remise à 1 par le programme.
L'entrée 43 comprend un multiplexeur d'état 195e Ce dernier renvoie l'erreur de possession mentionnée ci-dessus si l'organe 41 de commande est logiquement connecté à l'autre entrée 43 de cet organe de commande, afin d'indiquer que l'organe de commande est utilisé par l'autre entrée et il ne sera pas tenu compte des
instructions envoyées à cette entrée.
L'entrée 43 inclut un émetteur-récepteur 197 d'interface pour chaque ligne d'entrées (c'est-à-dire pour l'UTILISATION EN ENTREE, l'ARRET EN ENTREE, la ligne acheminant les données, la parité, le REMPLISSAGE DE POSITION INUTILISEES EN ENTREE, la
RECONNEXION EN ENTREE, la DEMANDE D'INTERRUPTION FAIBLEMENT PRIO-
RITAIRE et la DEMANDE D'INTERRUPTION FORTEMENT PRIORITAIRE) de la ligne 39 d'entrées-sorties représentée à la figure 14. Les émetteurs-récepteurs 197 transmettent les données de l'entrée 43 au canal 109 d'entrées- sorties lorsque le bit 173 de sélection d'entrée est mis à/aeionction transmise par la ligne T 153
exige que l'organe 41 de commande renvoie l'information au canal.
Les émetteurs-récepteurs 197 transmettent continuellement à l'entrée 43 l'information venant de la ligne 161 acheminant les données. Une caractéristique de la présente invention réside dans le fait que le circuit 182 de mise sous tension associe son action
à celle des émetteurs-récepteurs 197 afin de régler le comporte-
ment de ces derniers lorsque l'organe 41 de commande est mis
sous tension ou hors tension, de manière à empêcher que des si-
gnaux erronés ne soient envoyés dans la ligne d'entrées-sorties
pendant la mise sous tension ou hors tension. Cette caractéristi-
que est particulièrement significative du point de vue de l'entre-
tien en direct.
Comme le montre la figure 20, chaque émetteur-récepteur 197 comprend un récepteur 198 et un émetteur 200O
L'émetteur est validé par une ligne 202 de validation.
Plusieurs mots sont présents dans la ligne de validation 202. Ils comprennent le bit de sélection 173, une fonction
74 2 4 2473197
d'entrée requise dans la ligne T et un signal venant du circuit
182 de mise sous tension.
Dans un exemple particulier de réalisation de la présente invention, le signal venant du circuit de mise sous tension est relié par un circuit OU à la sortie'de la porte qui groupe les
autres mots, de sorte que la sortie du circuit de mise sous ten-
sion a la priorité sur les autres mots en coupant l'alimentation de la ligne 202 de validation. Cette caractéristique assure un état de haute impédance à l'émetteur 200 (qui, dans un exemple
particulier de réalisation, est un émetteur 8T26A ou 7438) jus-
qu'à ce que le circuit de mise sous tension détecte que l'alimen-
tation est à un niveau suffisant pour que les circuits intégrés fonctionnent correctement. L'étage de sortie du circuit de mise
sous tension est conçu pour tirer parti d'une propriété du cir-
cuit intégré de l'émetteur particulier utilisé0 Dans ce type par-
ticulier de circuit intégré, si la ligne 202 de validation du système de commande est maintenue à moins de deux fois la chute de tension dans la diode au-dessus du potentiel-de la terre, les
transistors de sortie de l'émetteur sont amenés à l'état de blo-
cage, quel que soit le niveau de l'alimentation appliquée au cir-
cuit intégré. Ceci assure que le système de commande ne peut
commander la ligne.
Cette combinaison particulière des caractéristiques fournit un mode d'exploitation dans lequel la sortie du circuit intégré
est régulée lorsque la tension monte ou baisse,alors que norma-
lement la sortie d'un circuit intégré est non définie lorsque
l'alimentation tombe en dessous d'un certain niveau.
Ce même circuit est utilisé dans les lignes X et Y du sys-
tème de lignes entre processeurs afin de régler les émetteurs-
récepteurs et les signaux de commande créés par la commande 55 entre processeurs. Comme le montre la figure 30, chacue unité centrale 105 comprend un circuit 182 de mise sous tension qui est analogue au circuit 182 de mise sous tension de l'organe de commande. Les circuits de mise sous tension commandent donc les émetteurs pour tous les organes 41 de commande et toutes les
commandes 55 entre processeurs.
Le circuit de mise sous tension est représenté en détail à la figure 25 o le circuit est repéré d'une manière générale
par la référence 182.
L'objet du circuit de mise sous tension est de détecter deux
niveaux différents de tension de l'alimentation en cinq volts.
Si l'alimentation faiblit, le circuit détecte le moment auquel l'alimentation tombe en dessous d'un certain niveau qui place la logique de l'organe de commande ou de l'unité centrale dans un état ou condition indéterminé0 A ce moment, le circuit envoie des signaux pour protéger le système contre la logique
qui passe ensuite à un état non défini.
Le deuxième niveau de tension qui sera détecté par le cir-
cuit de mise sous tension est une valeur qui est perçue lors-
que la tension monte. Ce deuxième niveau auquel la tension est
détectée sera supérieur au premier niveau d'environ 100 milli-
volts, de manière à fournir une hystérésis au système afin d'é-
liminer tout état oscillatoire.
Le circuit de mise sous tension reste à l'état stable, après avoir détecté l'un des états de tension, jusqu'à ce qu'il
détecte l'autre état de tension; à ce moment-là, il change d'é-
tat0 L'état dans lequel se trouve le circuit de mise sous ten-
sion à un moment particulier détermine le niveau de tension au-
quel se produira le passage à l'autre état.
Le circuit 182 de mise sous tension présente ainsi un si-
gnal qui constitue une indication selon laquelle la tension d'alimentation se trouve bien dans les limites acceptables et pr édéterminées de fonctionnement de l'organe 41 de commande0 Si
la tension d'alimentation n'est pas dans ces limites accepta-
bles et prédéterminées de fonctionnement, le signal de sortie du
circuit 182 de mise sous tension est utilisé pour invalider di-
rectement les signaux appropriés de ligne de l'organe 41 de commande. Le signal de sortie du circuit 182 de mise sous tension est un signal de sortie binaire. Si la sortie est à l'état "un",
la tension d'alimentation se trouve dans des limites satisfai-
santes. Si la sortie du circuit de mise sous tension est à
l'état "zéro", c'est une indication d'une tension d'alimenta-
tion en dessous de la limite acceptable.
Le circuit 182 de mise sous tension représenté à la figure et décrit en détail ci-dessous, est utilisé avec l'organe 41 de commande; il comporte sept étages de commande de sortie qui sont utilisés pour l'application du circuit 182 de mise sous tension à l'organe 41 de commande. Cependant, le même circuit 182 de mise sous tension est également utilisé avec l'unité
76 2473197
centrale 105 et le contrôleur de lignes 37 mais, dans ces appli-
cations, le circuit de mise sous tension comportera un nombre
moindre d'étages de commande de sortie.
Comme le montre la figure 25, le circuit 182 de mise sous tension comprend une source de courant 184 et un amplificateur
différentiel 186.
L'amplificateur différentiel 186 comporte dans une ligne 188 une première entrée qui est une entrée de tension de référence à compensation thermique, et dans une ligne 190 une seconde entrée le qui est une indication de la tension qui doit être détectée par
le circuit de mise sous tension.
La tension de référence dans la ligne 188 est obtenue par
une diode Zener 192.
L'amplificateur différentiel 186 comprend deux transistors
correspondants 194 et 196.
La tension appliquée à la ligne 190 est déterminée par les résistances 198, 200 et 202. Ces dernières sont des résistances pelliculaires métalliques qui fournissent une grande stabilité thermique au circuit de mise sous tension,
Les signaux de sortie dans les lignes 204 et 206 de l'am-
plificateur différentiel 186 sont appliqués à un système de trois transistors 208, 210 et 212. Ce système de trois transistors commande à son tour le transistor 214 de commande de sortie principale. Le transistor 214 de commande de sortie principale réagit tous les étages de commande de sortie auxquels il est relié. Par exemple, dans l'application du circuit 182 de mise sous tension concernant l'organe 41 de commande, comme le montre la figure 25, le transistor 214 de sortie principale commande les étages de sortie 216 à 228. L'étage de sortie 216 est utilisé pour remettre la logique à "zéro"; les étages de sortie 218,. 220 et 222 sont
utilisés en association avec les appareils d'interface de la pre-
mière entrée 43 de l'organe 41 de commande, tandis que les éta-
ges de sortie 224, 226 et 228 sont utilisés en association avec l'appareil d'interface de l'autre entrée 43 de l'organe 41 de commande. Enfin, le circuit 182 de mise sous tension comprend une commande d'hystérésis 230. Cette dernière inclut des résistances
232 et 234 et un transistor 236.
En fonctionnement, et en supposant qu'on réalise le fonc-
tionnement en passant d'un état hors tension à un état sous ten-
sion, l'alimentation est appliquée par l'intermédiaire de la source de courant 182 à l'amplificateur opérationnel 186 et au transistor 214 de commande de sortie principale. A ce moment-là, la tension dans la ligne 190 est inférieure à la tension dans la
ligne 188, de sorte que l'amplificateur différentiel 186 main-
tient la sortie du transistor 214 de commande de sortie principa-
le à l'état hors tension. Ce dernier, à son tour, imposera l'état
sous tension aux étages de sortie 216 à 228.
Ceci place la sortie du circuit 182 de mise sous tension à l'état "zéro", état indiquant que la tension ne se trouve pas
dans des limites acceptables.
Lors de l'élévation de la tension, la tension d'entrée dans la ligne 190 augmente jusqu'à ce qu'elle soit égale à la
tension de référence dans la ligne 188. A ce moment-là, l'ampli-
ficateur opérationnel 186 commande le transistor 214 de commande de sortie principale, le mettant sous tension. Ce qui supprime
la commande de base des étages de sortie 216 à 228 et impose l'é-
tat hors tension à ces étages de sortie. La sortie du circuit 182 de mise sous tension est alors à l'état "un", état indiquant que
la tension se trouve dans des limites acceptables.
A ce moment-là, le circuit 230 de commande d'hystérésis entre en jeu. Pendant la mise sous tension, le transistor 236 du circuit 230 de commande d'hystérésis était sous tension. Lorsque le transistor 236 est sous tension, la résistance 202 présente
une valeur de résistance inférieure à la valeur de la même résis-
tance 202 lorsque le transistor 236 est hors tension.
Le point auquel le transistor 214 de commande de sortie principale est mis sous tension coïncide avec le point auquel le 3o transistor 236 de commande du circuit d'hystérésis est mis hors
tension. La mise hors tension de ce dernier transistor 236 pro-
voque dans la ligne 190 une légère et brusque variation de la tension qui verrouille ensuite l'amplificateur différentiel 186 dans un état tel que cet amplificateur différentiel 186 maintient
le transistor 214 de sortie principale dans l'état sous tension.
L'état du circuit de mise sous tension restera stable dans cet état, le transistor 214 de commande de sortie principale étant mis sous tension et les étages de commande de sortie 216 à 228 étant mis hors tension, jusqu'à ce que la tension de +5V chute en dessous d'un niveau de seuil inférieur déterminé par
78 2473197
* la tension appliquée à la ligne 190.
Lorsque la tension dans la ligne 190 tombe en dessous de
la tension de référence de la ligne 188, du fait que l'alimen-
tation en 5V accuse une défaillance, l'amplificateur différen-
tiel 16 met alors hors tension le transistor 214 de commande de sortie principale. Ce dernier, à son tour, met sous tension
les étages de commande de sortie 216 à 218.
Puisque le transistor 236 de commande du circuit d'hysté-
résis était mis hors tension lorsque l'alimentation a chuté, la
tension appliquée à l'entrée du circuit 182 de mise sous-ten-
sion doit chuter quelque peu en dessous du point pour lequel le circuit 182 de mise sous tension a détecté que la tension se trouvait dans des limites acceptables pendant la phase de mise
sous tension de l'opération.
Cette différentielle ou hystérésis est utilisée pour empê-
cher qu'un bruit quelconque dans l'alimentation de 5 V ne pro-
duise dans le circuit une oscillation qui indiquerait de maniè-
re erronée une panne de l'alimentation.
Le circuit 182 de mise sous tension représenté à la figure 25 fournit une détection très exacte des deux tensions utilisées par le circuit de mise sous tension afin de déterminer son état, que la sortie du circuit de mise sous tension soit à l'état
"un" ou à l'état "zéro".
Afin de détecter très exactement ces deux tensions, le cir-
cuit de mise sous tension doit pouvoir compenser les tolérances
initiales des différents éléments ainsi que les variations ther-
miques au cours du fonctionnement. Dans le circuit 182 de mise sous tension, la diode Zener 192 est la seule partie critique qui doive être compensée du fait de ses tolérances initiales, et
cette comepnsation est obtenue par la sélection de la résistan-
ce 198.
La compensation thermique est réalisée du fait que la diode
Zener 192 est une diode Zener active et non une diode Zener pas-
sive. La compensation thermique effective est également effec-
tuée parce que les deux transistors de l'amplificateur diffé-
rentiel 186 forment une paire correspondante de transistors et parce que les résistances 198, 200 et 202 sont des résistances
pelliculaires métalliques.
Chaque entrée 45 comprend plusieurs lignes qui sont repé-
rées d'une manière générale par la référence 179 aux figures 19
2 4 73 1 9 7
et 20. Ce groupe de lignes 179 comprend les lignesindividuel-
les 201 dont seize constituent la ligne d'entrée ou ligne I, les lignes d'adresse 203 des appareils, les lignes 205 de
sortie au nombre de seize, une ligne 207 de prise de posses-
sion et des lignes générales 209 qui transmettent des signaux
tels que la ligne de parité, la ligne 6 et d'autres lignes ana-
logues qui sont énécessaires du fait de la mise en oeuvre par-
ticulière du matériel.
Ces lignes particulières 201,. 203, 205, 207 et 209 cor-
respondent aux lignes qui portent les mêmes références à la fi-
gure 21 qui est le schéma de fonctionnement de la logique com-
mune d'interface. Cependant, il y a deux ensembles de chacune
de ces lignes à la figure 21 car la logique commune d'interfa-
ce 181 est associée à chacune des doubles entrées 43 d'un or-
gane 41 de commande.
Comme le montre la figure 21, la-logique commune d'inter-
face 181 inclut la bascule 185 de prise de possession, repré-
sentée également à la figure 19. Cette bascule de prise de pos-
session détermine-la connexion logique entre la logique commu-
ne d'interface 181 et une entrée 43 d'o a été reçu par la li-
gne 207 le signal de PRISE DE POSSESSION.
Comme on l'a mentionné ci-dessus, le signal de PRISE DE POSSESSION est extrait, par le matériel de l'entrée, d'une
instruction dans la ligne T, adresse et instruction d'implan-
tation LAC mentionnée à la figure 18, avec un code opération particulier de la zone d'instruction dans la ligne D. Lorsque
l'entrée reçoit la fonction d'adresse et d'instruction d'im-
plantation MAC dans la ligne T à partir du canal, la logique de l'entrée examine la zone d'instruction, c'est-à-dire les six bits de la partie supérieure, dans la ligne D. Ensuite, si la
zone d'instruction contient un code spécifiant une instruc-
tion de prise de possession, le matériel d'entrée produit un signal afin que la bascule de prise de possession connecte
l'entrée à la logique commune d'intereace et, de là, à la par-
tie de commande de l'organe de commande. Si la zone d'instruc-
tion indique une instruction de suppression, le matériel de
l'entrée produit un signal qui remet à zéro la bascule de va-
lidation de l'entrée. Cette opération n'a lieu que si la zone
d'adresse de l'appareil dans la ligne D correspond aux conne-
xions volantes d'adresse de l'appareil d'entrée et si aucune
2473197
erreur de parité n'est détectée pendant l'instruction. Ce qui
revient à dire qu'aucune instruction (y compris la prise de pos-
session, la suppression, etc.) n'est exécutée si une erreur de
parité est détectée dans l'adresse et instruction d'implanta-
tion LAC. En conséquence, le canal 109 d'entrées-sorties émettant
l'instruction de prise de possession régit l'organe 41 de com-
mande et l'autre entrée 43 est logiquement déconnectée. L'instruc-
tion de prise de possession peut également provoquer une remise
à zéro de-l'état interne de l'organe de commande.
L'état de la bascule 185 de prise de possession détermine l'entrée qui peut transmettre l'information par l'intermédiaire du multiplexeur 211. Une fois que la bascule 185 de prise de possession est placée dans un état donné, elle restera dans cet état jusqu'à ce qu'une instruction de prise de possession soit reçue par l'autre entrée. La validation de la ligne de remise à
zéro des entrées-sorties aura également pour conséquence d'at- tribuer la possession à l'autre entrée après que l'état interne
de l'organe de commande aura été remis à zéro.
Les signaux de commande sont choisis par l'état du regis-
tre 185 de prise de possession et à partir d'une entrée appro-
priée 43; ils sont transmis par le multiplexeur 211 à la par-
tie de commande 187 d'un organe de commande par un groupe de lignes de commande 215. Les données sont sélectionnées à partir d'une entrée appropriée 43 dans les lignes 205 et elles sont introduites dans le registre 213 de données et présentées à
l'organe de commande par une ligne de sortie 217 (ligne 0-).
Certaines parmi les lignes de commande 215, c'est-à-dire les lignes 215A, sont utilisées pour commander le multiplexeur 220 afin de sélectionner l'information transmise de l'organe de commande par les lignes 219 et qui doit être renvoyée par la ligne 201 d'entrées ou ligne I vers les entrées 43, comme
le montre la figure 20, et ensuite vers le canal 109 d'un mo-
dule 33 de processeur. Une ligne 221 renvoie l'adresse de l'ap-
pareil depuis l'entrée appropriée 43 à la ligne I 201 et, de là,
au canal 109 d'entrées-sorties.
La mémoire-tampon 189 contenant les données, représen-
tée à la figure 19, est illustrée plus en détail à la figure 22. Suivant la présente invention, de nombreux organes 41 de 24731c7 commande comprennent une mémoire-tampon comportant plusieurs mots, prévue pour recevoir l'information à un débit relativement
faible depuis un appareil périphérique et pour transmettre en-
suite cette information au module de processeur à ou au voisinage de la vitesse de la mémoire afin d'utiliser au maximum la lar-
geur de bande du canal.
Dans la conception même de la mémoire-tampon, il importe
que les organes 41 de commande puissent coopérer l'un avec l'au-
tre dans l'accession au canal 109 afin d'éviter des conditions
d'erreur. Pour que les organes 41 de commande coopèrent correc-
tement, les mémoires-tampons 189 comportant plusieurs mots sont
constituées suivant certaines règles.
Ces règles sont les suivantes:
Tout d'abord, lorsqu'un organe de commande fait -une deman-
de de reconnexion pour le canal 109, il doit rester une profon-
deur de mémoire-tampon suffisante pour que tous les organes 41 de commande hautement prioritaires et un organe 41 de commande faiblement prioritaire puissent être desservis et pour que le
temps d'attente de reconnexion de la demande de reconnexion puis-
se s'écouler sans vider la profondeur restante de la mémoire-
tampon. Ceci s'appelle la profondeur de seuil de la mémoire-
tampon, en abrégé T à la figure 23.
Ensuite, après que la mémoire-tampon a été desservie, elle doit attendre un temps suffisamment long pour permettre à tous
les organes 41 de commande faiblement prioritaires d'être desser-
vis, avant de faire une autre demande de reconnexion. Ceci s'ap-
pelle la profondeur d'attente. La profondeur de la mémoire dési-
gnée par la lettre D à la figure 23, est la somme de la profon-
deur d'attente et de la profondeur de seuil.
La profondeur d'attente et la profondeur de seuil sont fonc-
tion de plusieurs variables, à savoir le débit de l'appareil, le
débit du canal, la vitesse de la mémoire, le temps de reconne-
xion, le nombre d'organes de commande fortement prioritaires dans
la ligne d'entrées-sorties, le nombre d'organes de commande fai-
blement prioritaires dans la ligne d'entrées-sorties et la lon-
gueur maximale admissible de tranche.
Un organe de commande fortement prioritaire dans la ligne d'entréessorties est associé à un plus grand nombre d'organes
de commande faiblement prioritaires dans la même ligne d'entrées-
sorties qu'un autre organe de commande faiblement prioritaire dans la même ligne d'entrées-sorties;par conséquent, l'organe de commande fortement prioritaire exige une profondeur d'attente
plus grande que ne l'exige l'organe de commande faiblement prio-
ritaire. De même, un organe de commande faiblement prioritaire dans une ligne d'entrées-sorties exige une profondeur de seuil
plus grande que ne l'exige un organe de commande fortement prio-
ritaire. La mémoire-tampon 189 d'un organe de commande est cons-
tituée de manière à bénéficier du fait que, lxssque les exigences de profondeur d'attente augmentent, les exigences de profondeur de seuil diminuent et, lorsque les exigences de profondeur de
seuil augmentent, les exigences de profondeur d'attente diminuent.
On réalise ce fait en rendant variable la contrainte à laquelle est faite une demande de reconnexion, la mise à "un" effective dépendant des caractéristiques des organes de commande fortement et faiblement prioritaires dans une disposition particulière de
canal d'entrées-sorties0 La profondeur de la mémoire-tampon re-
présente donc le maximum de l'exigence de profondeur de seuil dans
le cas le plus défavorable ou le maximum de l'exigence de pro-
fondeur d'attente dans le cas le plus défavorable, plutôt que
la somme de la profondeur de seuil dans le cas le plus défavora-
ble et de la profondeur d'attente dans le cas le plus défavora-
ble. Ceci permet de réduire au minimum la profondeur de la mé-
moire-tampon et diminue le temps nécessaire au remplissage et
au vidage de la mémoire-tampon.
La figure 23 illustre graphiquement plusieurs de ces pa-
ramètres. A la figure 23, le temps a été porté en abscisse et
les mots de la mémoire-tampon en ordonnée dans le cas d'une opé-
ration de sortie.
Partant du point D situé à la partie supérieure gauche de la figure 23 (et en supposant que la mémoire-tampon est remplie
sur toute sa profondeur), les données sont transmises à un ap-
pareil à un débit indiqué par la droite de pente -RD et cette
transmission de données se poursuit sans qu'un signal de recon-
nexion soit produit jusqu'à ce que la profondeur de la mémoire-
tampon s'abaisse et atteigne la profondeur de seuil indiquée par l'intersection, au point 223, de la droite de pente -RD et de la
droite T de profondeur de seuil.
A ce point, la demande de reconnexion est adressée au canal 109 comme l'indique la légence portée sur l'axe horizontal à la
figure 23.
5 2<
La transmission des données se poursuit depuis la mémoire-
tampon au débit indiqué par la droite de pente -RD et la deman-
de est maintenue en attente par les organes 41 de commande for-
tement prioritaires, jusqu'au point 225; à ce point, la demande est acceptée par le canal 109 et le canal d'entrées-sorties
commence sa séquence de reconnexion pour cet organe de commande.
Au point 227, le premier mot contenant des données a été transmis par le canal 109 à la mémoire-tampon 189 de l'organe de
commande et le canal 109 transmet ensuite dans la mémoire-tam-
pon des mots contenant-des données, à un débit indiqué par la
droite de pente Rc.
En même temps, l'organe 41 de commande continue à trans-
mettre des mots contenant des données hors de la mémoire-tam-
pon et au débit -RD, de sorte que le débit total d'entrée dans la mémoiretampon 189 est indiqué par la droite de pente
Ra - RD, jusqu'à ce que la mémoire-tampon soit à nouveau rem-
plie au point 229. A ce point 229, la mémoire est complète et
l'organe de commande est déconnecté du canal 109 de transmis-
sion des données se poursuivant au débit indiqué par la droite
de pente -R0.
La notation tr à la figure 23 indique le temps nécessaire au balayage et à la sélection de cet organe de commande et à la transmission du premier mot. Ce point sera discuté à nouveau
ci-dessous en rapport avec la figure 16.
La lettre B à la figure 23 indique le temps de transmission d'une tranche. Ce temps est un paramètre dynamique. La longueur d'une tranche particulière dépend du débit de transmission de
l'appareil, du débit de transmission du canal, du nombre d'ap-
pareils et de transmissions en cours et du temps de reconnexion du canal0 Le temps maximal admissible pour la transmission d'une tranche est choisi de manière à réduire au minimum la profondeur requise de la mémoiretampon, tout en recevant des débits élevés de transmission d'appareil, ainsi que le nombre d'appareils qui peuvent transmettre en simultanéité0 La figure 22 est un schéma de fonctionnement d'un exemple particulier de réalisation d'une mémoire-tampon 189 constituée suivant la présente invention afin de satisfaire les exigences de profondeur d'attente et de profondeur de seuil illustrées à
la figure 23.
La mémoire-tampon 189 représentée à la figure 22 comprend w-r-.
247319?
un tampon d'entrée 231, une mémoire-tampon 233, un tampon de sortie 235, un indicateur d'entrée 237, un indicateur de sortie 239, un multiplexeur 241, une logique 243 de commande du tampon
décrite plus en détail à la figure 26, un multiplexeur 245 con-
necté à la logique 243 de commande du tampon et un compteur 247
de contraintes.
Gomme le montre également la figure 22, deux groupes de lignes d'entrée des données, les lignes 217 et 249, alimentent
le tampon d'entrée 231.
Un groupe de lignes d'entrée des données comprend seize
lignes 249 d'entrée des données dans l'appareil.
L'autre groupe de lignes d'entrée comprend seize lignes 217 constituant la connexion commune. de sortie (lignes constituant
la connexion 0).
L'un ou l'autre de ces deux groupes de signaux d'entrée est ensuite envoyé du tampon d'entrée 231 à la mémoire-tampon 233 par un groupe de lignes 251. Ces dernières sont au nombre de seize. Les données sont extraites de la mémoire-tampon 233 et elles sont introduites dans le tampon de sortie 235 par un groupe de
lignes 253. Ces dernières sont au nombre de seize.
Le tampon de sortie 235 retransmet les données à la logique commune d'interface 181, représentée aux figures 19 et 21, par un groupe de seize lignes 219 et aux appareils 45 et 47, tels que les appareils 49, 51 et 53 représentés à la figure 1, par un groupede seize lignes 255, comme l'indiquent les légendes de
la figure 22.
Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante 530 Lorsque les données sont transmises du tampon d'entrée 231 à la mémoire-tampon 233, l'indicateur d'entrée -237 est connecté à à la mémoire-tampon 233 par l'intermédiaire du multiplexeur 241
afin de déterminer l'emplacement dans lequel le mot est enre-
gistré. Lorsque les données sont transmises de la mémoire-tampon
233 au tampon de sortie 235, l'indicateur de sortie 239 est con-
necté à la mémoir e-tampon 233 par l'intermédiaire du multiple-
xeur 241 afin de déterminer l'emplacement à partir duquel le
mot est extrait.
L'objet de la logique 243 de commande de la mémoire-tampon, représentée aux figures 22 et 26, est de garder la trace de la
contrainte appliquée à la mémoire-tampon 189. A ce sujet, le de-
gré de remplissage ou de vidage de la mémoire-tampon, combiné au
sens de la transmission par rapport au module de processeur (en-
trée ou sortie) détermine le degré de contrainte. La contrainte augmente lorsque l'appareil accède à la mémoire-tampon et elle
diminue lorsque c'est le canal qui accède à la mémoire-tampon.
Dans l'exemple de réalisation représenté aux figures 22 et
26, le compteur de contrainte mesure l'accroissement de contrain-
te de 0 à 15 en entrée et la diminution de contrainte de 0 à 15 en sortie. Un autre exemple de réalisation (non représenté sur les dessins) ajouterait le sens de la transmission à la logique de commande de la mémoire-tampon, de telle sorte que deux autres lignées accéderaient aux indicateurs 237 et 239 et le compteur de contrainte mesurerait toujours un accroissement de contrainte,
Comme le montre encore la figure 22, une ligne 215 de de-
mande de canal, représentée également à la figure 21, et une li-
gne 257 de demande d'appareil, venant de la partie 187 de comman-
de de l'organe de commande, sont validées afin d'indiquer l'ac-
cès à la mémoire-tampon 189.
Le multiplexeur 245 sélectionne l'une de ces lignes comme demande d'augmentation du remplissage de la mémoire-tampon et il
sélectionne l'autre ligne comme demande de diminution du remplis-
sage de la mémoire-tampon, en se fondant sur le sens de la trans-
mission (entrée ou sortie) par rapport au module de processeur.
La ligne sélectionnée pour augmenter le remplissage de la mémoire-tampon est également utilisée pour charger les données depuis les lignes appropriées 249 ou 217 acheminant les données, représentées à la figure 22, dans le tampon d'entrée 231 par
l'intermédiaire de la ligne 259.
Le canal et l'appareil peuvent accéder en même temps à la
mémoire-tampon 189 et la logique 243 de commande de la mémoire-
tampon satisfait une demande à la fois. La logique 243 de com-
mande de la mémoire-tampon choisit l'une des lignes pour le ser-
vice et maintient l'autre ligne en différé jusqu'à ce que la lo-
gique 243 de commande de la mémoire-tampon ait satisfait la pre-
mière demande, ensuite elle satisfait l'autre demande.
La satisfaction d'une demande par la logique 243 de comman-
de de la mémoire-tampon se fait de la manière suivante: Tout d'abord, la logique de commande de la mémoire-tampon
détermine le sens de la transmission (entrée ou sortie) par rap-
port à la mémoire-tampon 23355 et elle valide la ligne 261, con-
nectée au multiplexeur 241, comme étant appropriée pour sélec-
tionner l'indicateur d'entrée 257 ou l'indicateur de sortie 259 par l'intermédiaire du multiplexeur 241. Ensuite, lors d'une demande de sortie, la logique 245 de commande de la mémoire-tampon valide la ligne 265 qui accomplit trois actions: A) Elle transmet le mot du tampon d'entrée 251 dans la mémoire-tampon 23355 à l'emplacement déterminé par l'indicateur
d'entrée 237 et par le multiplexeur 241.
B) Elle fait progresser le compteur de contrainte 247 C) La logique 245 de commande de la mémoire-tampon fait
progresser l'indicateur d'entrée 257.
Enfin, lors d'une transmission de sortie, la logique 243
de commande de la mémoire-tampon valide la ligne 265 qui effec-
tue les trois opérations suivantes:
A) La logique 245 de commande de la mémoire-tampon enre-
gistre dans le tampon de sortie 255 le mot extrait de la mémoi-
re-tampon 23355, tel qu'il est déterminé par l'indicateur de sor-
tie 259 et le multiplexeur 241.
B) La logique 245 de commande de la mémoire-tampon fait
régresser le compteur de contrainte 247.
C) La logique 243 de commande de la mémoire-tampon fait
* progresser l'indicateur de sortie 259.
Le compeeur de contrainte 247 détermine le moment o la mémoire-tampon 189 est pleine ou a atteint la profondeur de seuil, comme l'indiquent respectivement les lettres D et T portées sur
les lignes de sortie à la figure 22.
La sortie du compteur de contrainte est décodée et n'im-
porte laquelle des valeurs décodées peut être utilisée pour indiquer que la mémoire-tampon a atteint sa profondeur de seuil. Dans l'exemple préféré de réalisation, des connexions
volantes sont utilisées pour sélectionner l'une des seize va-
leurs possibles de contrainte et une demande de reconnexion
est adressée au canal 109 lorsque la contrainte dans la mémoi-
re-tampon 189 atteint cette valeur.
La partie 187 de commande de l'organe de commande utilise les trois signaux oui correspondent aux légendes de la figure 25, pour envoyer des demandes de reconnexion et des demandes de
87 2473197
déconnexion dans les lignes respectives 145 et 159, représentées
aux figures 12 et 14.
Le signal SPI d'ARRET EN ENTIEE transmis par la ligne 159
représentée aux figures 12 et 14, est en rapport avec la pro-
fondeur D de la mémoire-tampon, les états de remplissage ou de vide de la mémoire-tampon et le sens de transmission; le signal
ROI de RE0CONIXI0N EN ENTREE transmis par la ligne 145 repré-
sentée aux figures 12 et 14, est en rapport avec l'indications de profondeur de seuil T fournie par le compteur de contrainte 247 représenté à la figure 22. Ainsi le signal d'ARRET EN ENTGEE est validé lorsque la mémoire-tampon 189 atteint un état de contrainte minimale (rempli àa la sortie et vide à l'entrée). Le signal d'AREET EN ENTHEr indique au canal 109 que l'organe 41 de commande désire mettre fin à la transmission de tranches de données. Lorsque la mémoire-tampon dépasse son seuil, elle valide le signal RCI de REC0I3=I0N EN ENTRE transmis par la ligne 145
pour indiquer au canal 109 que la mémoire-tampon désire trans-
mettre une tranche de données.
La figure 26 représente en détail le multiplexeur 245, la logique 243 de commande de la mémoire-tampon et le compteur de contrainte 247 de la mémoire-tampon 189 représentée à la figure 22. A la figure 26, le multiplexeur 245 représenté comprend deux groupes de portes 245A et 245B, des bascules bistables de demande 267A et ê67B, une bascule bistable d'horloge 269, des bascules bistables de synchronisation des demandes 271A et 271B, une porte 273 de résolution de la priorité et des portes 275A et
275B d'exécution des demandes.
Le compteur de contrainte 247 comprend une partie 247A de compteur et une partie 247B de décodeur, comme l'indiquent les
légendes de la figure 26.
Comme le montre la figure 26, les deux groupes de portes 245A et 245B ont utilisé le signal de demande du canal, transmis par la ligne 215, et le signal de demande de l'appareil, transmis
par la ligne 257, ainsi que les signaux de lecture et d'enregis-
trement pour déterminer lequel du canal ou de l'appareil intro-
duit des données dans la mémoire-tampon 189 et lequel en extrait
des données.
Les bascules bistables de demande 267A et 267B stockent les demandes jusqu'à ce que la logique de commande ait satisfait la demandeo
La bascule bistable d'horloge 269 produit un signal d'hor-
loge en deux phases utilisé par les bascules bistables de syn-
chronisation des demandes 271 A et 271B et par les portes 275A et 275B d'exécution des demandes. Les bascules bistables de synchronisation des demandes 271A et 271B synchronisent la demande à la bascule bistable 269 de production d'un signal d'horloge et stabilisent la demande d'exécution. La porte 273 de résolution de la priorité choisit une des
demandes pour son exécution et maintient l'autre demande en dif-
féréo Les portes 275A et 275B d'exécution des demandes exécutent
les demandes en fonction de la demande synchronisée.
Chaque signal de sortie des lignes 263 et 265 accomplit
les fonctions décrites ci-dessus, à savoir: progression et ré-
gression du compteur de contrainte, mise à jour de la mémoire-
tampon ou du tampon de sortie, et mise à jour de l'indicateur
d'entrée ou de l'indicateur de sortie.
En outre, chaque signal remet à zéro la bascule bistable appropriée de demande, par l'intermédiaire des lignes 277A et
277B représentées à la figure 26.
Comme on l'a noté ci-dessus, les figures 15, 16 et 17 re-
présentent les trois séquences de fonctionnement du système d'en-
trées-sortieso Dans le fonctionnement du système d'entrées-sorties, la
transmission normale des données entre un module 33 de proces-
seur et un appareil particulier, tel qu'un disque 45, comprend une séquence d'EXECUTION DES ENTREES-SORTIES pour déclencher la
transmission.
L'instruction d'IXOECUTION DES ENTREES-SORTIES sélectionne
l'organe particulier de commande et l'appareil et indique l'opé-
ration à effectuer.
L'organe 41 de commande déclenche les entrées-sorties
entre lui-même et l'appareil particulier.
L'organe 41 de commande est reconnecté périodiquement au
canal 109 et il transmet les données entre l'organe 41 de com-
mande et le canal 109. La reconnexion périodique peut être fai-
te dans le but de transmettre les données du canal à l'appa-
reil ou dans le but de transmettre les dbnnées de l'appareil
89 2473197
au canal.
Lorsque la transmission de données estterminée, l'organe 41
de commande interrompt l'unité centrale 105 qui répond en émet-
tant une séquence d'INTERROGATION DES ENTREES-SORTIES ou une séquence d' INTERROGATION RAUTEMiENT PRIORITAIPE DES ENTREES-
SORTIES.
La séquence d'INTERROGATION DES ENTREES-SORTIES détermine l'identité de l'appareil d'interruption et les conditions dans
lesquelles la transmission s'est terminée.
La séquence d' INTERROGATION HAUTEMENT PRIORITAIRE DES ENTREES-SORTIES est analogue à la séquence d'INTERROGATION DES ENTREES-SORTIES mais elle est émise en réponse à une interruption
hautement prioritaire des entrées-sorties.
L'instruction de l'unité centrale d'EXECUTION DES ENTREES-
SORTIES est définie par les changements d'état de la ligne T,
représentés à la figure 15.
Le premier état représenté à la figure 16, c'est-à-dire l'é-
tat situé à l'extrême gauche, est l'état mort ou état d'inacti-
vité NOP. Les autres états sont les mêmes que ceux qui sont énu-
mérés à la figure 18 par les mnémoniques correspondants, à sa-
voir: LAC (adresse et instruction d'implantations, LPRPI (para-
mètre d'implantation), RDST (état de l'appareil de lecture),
DSEL (désélection) et ABTI (instruction de suspension d'exécu-
tion). Comme pour les changements d'état représentés aux figures 6, 7 et 8, les flèches en traits pleins indiquent un changement d'état, tandis qu'une flèche en traits interrompus indique une condition qui doit être remplie avant qu'un changement d'état
puisse se produire.
L'instruction d'EXECUTION DES ENTREES-SORTIES et l'exécution de cette instruction, représentées à la figure 15, sont sous le contrôle direct du microprocesseur 115, représenté à la figure
12, de l'unité centrale 105.
Ce déclenchement par l'unité centrale est représenté à la figure 15 comme étant transmis par la ligne 117 à la machine créant les états; le signal de déclenchement n'est accepté que
lorsque la ligne T est à l'état d'inactivité.
Une fois que le signal de déclenchement par l'unité centrale est appliqué, la ligne T passe de l'état d'inactivité NOP (état
mort) à l'état d'adresse et instruction d'implantation LAC.
9o
Dans l'état ou fonction d'adresse et instruction d'implan-
tation LAC, un mot est extrait du haut de la pile du registre 112 de l'unité centrale 105, représentée à la figure 12, et il
est transmis dans la ligne D 161, représentée à la figure 14.
Comme on l'a décrit ci-dessus, ce mot est utilisé pour sé-
lectionner un organe 41 particulier de commande et un appareil pé--
riphérique particulier 45, 47, 49, 51 ou 53, représentés à la fi-
gure 1, et ce mot est également utilisé pour indiquer l'opéra-
tion à effectuer.
Dans le cycle suivant de la ligne T, cette dernière passe
à l' état LPRJY "PARA-EIRE D'IIiPILANTATION".
Dans 1 'lat de PARAJETRE D'IPLANTATIONIT, le mot juste en dessous du haut de la pile du registre de l'unité centrale 105, représentée à la figure 12, est introduit dans la ligne T 161, représentée à la figure 14, par le canal 109 d'entrées-sorties et il est transmis à l'organe 41 de commande sélectionné pendant
l'état précédent d'ADRESSE ET IISTRUCTIOIT D'IMPLANTATION.
A la fin du cycle d'établissement de liaison, comme le mon-
tre la flèche en traits interrompus à la figure 15, la ligne T passe à l'état RDST de l'appareil de lecture. Dans cet état, l'organe 41 de commande renvoie l'état de l'appareil (l'état d'un
appareil particulier sélectionné et comprenant le groupe de si-
gnaux décrivant l'état de cet appareil) depuis l'organe 41 de
commande et le place en haut de la pile du registre 112 de l'uni-
té centrale 105.
Dans l'état de PARAMIETRE D'IIPIANTATION et de l'APPAREIL DE LECTURE, plusieurs erreurs peuvent s'être produites. Parmi ces erreurs on peut citer une erreur de parité, un délai d'attente d'établissement d'une liaison et une indication d'erreur dans le 3 mot d'état. Si une erreur s'est produite, la machine 145 dans la ligne T, représentée à la figure 13, passe de l'état de
l'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXE-
CUTION.
L'état d'INSTRUCTIOiT DE SUSPENSIONT D'3XECUTION donne comme instruction à l'organe 41 de commande de ne pas tenir compte de 1 ' informmation d 'AjDRESSE ET d ' INSTRUCTIO-I D ' IIIPLANTATION et de PAPRJETRE D'IIPLNTATIOIN aui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à l'état d'INACTIVITE (état mort)o Si, après l'état de l'APPALEIL DE LECTURE, aucune erreur n'a été détectée comme le montrela flèche 114 en traits interrompus dans le branchement supérieur de la figure 15, la ligne T passe
à l'état de DESELECTION.
La ligne T se trouvant à l'état de DESELECTION, l'organe 41 de commande remet à zéro sa bascule 173 de sélection et répond à l'instruction qui lui a été envoyée (pendant l'état d'ADRESSE et D'INSTRUCTION D' IPIANTATION) et la ligne T revient à l'état
d' INACTIVITE (état mort).
Dans le fonctionnement du système d'entrées-sorties, plu-
sieurs signaux de demande d'appareil peuvent être produits de fagon asynchrone. Par exemple, un signal de reconnexion peut être créé après une séquence d'IECUTION DES ENTREES-SORTIES afin de demander que le canal transmette les données à l'organe de commande. Ou bien l'organe 41 de commande peut valider une
ligne de demande d'interruption à un certain nombre de condi-i-
tions différentes, par exemple pour signaler l'achèvement d'une séquence d'IECUTION DES ENTREES-SORTIES ou pour rendre compte
d'un état inhabituel dans un appareil périphérique.
Les lignes dedemande d'appareil sont communes à toutes les
entrées 43 de l'organe de commande connectées à une ligne par-
ticulière 39 d'entrées-sorties.
Le canal 109 répond aux demandes de reconnexion faites par la ligne 145 de RECONNEXION "EN ENTREE"I, représentée à la figure 14, et l'unité centrale 105 répond aux demandes faites
par la ligne 147 de DEMANDE D'INTERRUPTION FAIBIEITENT PRIORITAI-
RE, représentée également à la figure 14, avec une séquence d'INTERROGATION DES ENTREES-SORTIES, et à une demande faite par la ligne 149 de DEMANDE D'INTERROGATION FORTEMENT PRIORITAIRE avec une séquence d'INTERROGATION FORTEMENT PRIORITAIRE DES
ENTREES-SORTIES.
La première action entreprise par le canal 109 ou l'unité centrale 105 en réponse à un signal de demande d'appareil consiste à-déterminer l'identité de l'organe 41 de commande le plus fortement prioritaire validant une demande. Ce qui revient à dire qu'il peut y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canalsélectionnera un organe particulier de commande suivant un système de priorité prédéterminéo Dans un exemple particulier de réalisation de la présente invention, jusqu'à trente-deux organes 41 de commande peuvent
être connectés à un seul canal 109.
Ces trente-deux organes de commande sont montés en étoile
à l'aide de la ligne 161 acheminant des données de seize bits.
Une ligne supplémentaire 1>1 est utilisée pour diviser ces trente-deux organes de commande en deux groupes de seize orga- nes chacun. Un groupe de seize organes de commande reçoit une
priorité par rapport à l'autre groupe; une priorité est égale-
ment attribuée parmi les seize organes au sein de chaque grou-
pe. L'appareil qui répond au bit zéro Se la ligne D pendant une séquence de balayage, possède la priorité la plus haute parmi une rangée et l'appareil qui répond au bit 1> possède la
priorité la plus basse.
Tout d'abord, on peut noter que le balayage (que l'on
va décrire maintenant) implique les descriptions des états re-
présentés aux figures 16 et 17 jusqu'à et y compris l'établis-
sement de la liaison qui a lieu pendant l'état de SELECTION à
chaque figure.
On continuera à se reporter d'une manière générale aux figures 16 et 17. Le canal 109 met la ligne de la rangée à zéro et présente ensuite la fonction REPOL (balayage de reconnexion) de la ligne T, comme le montre la figure 16, s'il s'agit d'une
-réponse à une demande de reconnexion, tandis que l'unité cen-
trale 105 présente une fonction IPOL (balayage faiblement prio-
ritaire) de la figure 6, représentée à la figure 17, si l'unité
centrale répond avec une séquence d'IMEERROGATION DES ENTREES-
SORTIES, ou une fonction BPOL (balayage hautement prioritaire) de la ligne T si l'unité centrale répond avec une séquence d'INTERROGATION RAUTEMNT PRIORITAIRE. Il s'agit là du seul point important de différence entre les représentations de la 3o figure 16 (réponse du canal) et de la figure 17(réponse de
l'unité centrale) en ce qui concerne le balayage.
Concernant particulièrement la figure 16 et la réponse du canal 109 à la validation de la ligne 145 de RECONNMUION EN ENTREE (ROI) représentée à la figure 14, tous les appareils ayant une demande de reconnexion en cours qui répondraient dans la rangée zéro, font une réponse de bit un dans la ligne Do Ce qui revient à dire que tous ces appareils valident une liaison de la ligne D 161 correspondant à leur priorité au
sein de la rangée.
Le canal 109 introduit la réponse de la ligne D dans le
93 2473197
registre 135 de séparation des priorités représenté à la figure
13. la sortie de ce registre 135 de séparation des priorités sé-
lectionne l'organe de commande qui a la plus haute priorité,
conformément au système de priorité décrit ci-dessus, et il vali-
de le bit approprié de retour dans la ligne D 161, si un bit est
validé dans la rangée zéro par les organes de commande connectés.
Si un ou plusieurs appareils valident une réponse au regis-
tre de séparation des priorités dans la rangée zéro, la sortie du registre de séparation des priorités est présentée à tous les organes de commande connectés, en même temps que la fonction de SELECTION dans la liigne T, et l'organe de commande dont la priorité dans la rangée zéro correspond à la sortie du registre de séparation des priorités, met son bit 173 de sélection à "un", représenté à la figure 19; ensuite, cette entrée répondra
aux états suivants de la séquence. C'est ce mode de fonctionne-
ment que représente la flèche en traits pleins allant de l'état indiqué RPOL (Balayage de reconnexion) avec une rangée égale à
zéro, à l'état indiqué SEL (Sélection).
Si le registre 135 de séparation des priorités détermine qu'aucun appareil n'a répondu lorsque la ligne de la rangée
était égale à zéro, le canal 109 met alors la ligne de la ran-
gée à un et envoie de nouveau l'instruction RPOL (Balayage de
reconnexion) dans la ligne T.Ensuite, si le registre de sépa-
ration des priorités détermine qu'une réponse a été faite dans la rangée 1, le canal valide la fonction de sélection dans la
ligne T comme auparavant.
Cependant, si le registre 135 de séparation des priorités détermine qu'aucune réponse n'a été faite dans la rangée 1, le canal revient à l'état d'inactivité indiqué par l'état NOP à la
figure 16.
Ce dernier évènement est un exemple d'incident qui pour-
rait se produire à une entrée 43 et qui aurait pour conséquence de faire accéder le système 31 à cet organe particulier 41 de
commande par l'intermédiaire de l'autre entrée 43.
Comme on l'a noté ci-dessus, l'action du registre 135 de
séparation des priorités, en réponse à une séquence IIO (Inter-
rogation des entrées-sorties) ou HIIO (Interrogation hautement
prioritaire des entrées-sorties) déclenchée par l'unité centra-
le 105, est la même que la réponse du registre 135 de séparation des priorités à une séquence de reconnexion déclenchée par le
canal en réponse à une demande de reconnexion "en entrée" envo-
yée dans la ligne 145 depuis un organe 41 de commande.
On continuera à se reporter à la figure 16. LIa séquence
de reconnexion commence par la séquence de balayage décrite ci-
dessus et dont le but est de reconnecter l'organe 41 de comman-
de de la plus haute priorité faisant une demande.
Le stade suivant de la séquence de reconnexion consiste à déterminer le nombre réel d'organes de commande contenu dans le comparateur 193 d'adresses de l'appareil. Comme on l'a noté ci-dessus, le comparateur 193 d'adresses de l'appareil comprend des connexions volantes afin de déterminer un numéro dorgane de commande effectif. Ces connexions volantes sont les mêmes que celles qui sont utilisées pour une fonction MAC (adresse et
Instruction d'implantation) dans la ligne T au cours d'une sé-
quence d'EXECUTION DES ENTREES-SORTIES afin de déterminer une
entrée particulière. Dans la séquence de reconnexion, l'adres-
se déterminée par ces connexions volantes est renvoyée au canal d'entréessorties par l'intermédiaire de la ligne D pendant l'état RAC (adresse et instruction de lecture) dans la ligne T,
de manière à accéder à une table définissant la zone de mémoiie-
tampon pour cet appareil.
Il faut également déterminer le sens de la transmission
(transmission d'entrée ou de sortie vers le module de proces-
seur). Pour effectuer cette détermination du sens de la trans-
mission requise et de l'adresse de l'appareil, le canal valide
la fonction RAC (adresse et instruction de lecture) dans la li-
gne T et l'organe 41 de commande renvoie l'adresse de l'organe
de commande et le sens de la transmission.
Le canal utilise l'adresse de l'appareil renvoyée par l'or-
gane 41 de commande pour accéder à un élément 142 de deux mots
de la table 140 de commande des entrées-sorties IOC, représen-
tée à la figure 12, qui définit une zone de mémoire-tampon 138 dans la mémoire 107 pour cet organe particulier de commande -et
cet appareil.
Le format d'un élément 142 de deux mots est représenté à grande échelle à la figure 12 afin de montrer les détails des
zones des deux mots.
Il existe un élément 142 de deux mots dans la table 140
de commande des entrées-sorties IOC pour chacun des huit appa-
reils possibles de chacun des trente-deux organes 41 de com-
mande possibles connectés à une ligne 39 d'entréeswsorties asso-
ciée à un module particulier 33 de processeur, et chaque module
33 de processeur possède sa propre table de commande des entrées-
sorties 100.
Chaque élément de deux mots décrit l'emplacement de la mé- moire-tampon dans la mémoire centrale et la longueur restant à
transmettre à n'importe quel moment particulier pour une trans-
mission particulière de données à un appareil particulier. Ainsi, comme l'indiquent les légendes de la figure 12, le mot supérieur indique l'adresse de transmission vers laquelle ou à partir de laquelle la transmission se fera par tranche et le mot inférieur indique le compte de multiplets spécifiant la longueur restante
de la zone de mémoire-tampon et l'état de la transmission.
Les zones qui représentent l'état de la transmission com-
prennent un bit P de protection et une zone d'erreur du canal CH ERR. La zone d'erreur du canal comprend trois bits qui peuvent être mis à "un" pour indiquer l'une quelconque de sept erreurs numérotées. L'adresse de la transmission et le compte des multiplets
sont mis à jour dans la table 140 de commande des entrées-sor-
ties 100, à la fin de chaque séquence (tranche de temps)-de re-
c nnexion et de transmission des données. L'adresse de la trans-
mission est comptée et le compte des multiplets est décompté à la fin de chaque tranche de temps. Le montant est le reflet du nombre de multiplets transmis au cours de la tranche de tempso
Le deuxième mot contient également a) une zone dans laquel-
le peut être enregistrée pour une analyse ultérieure toute er-
reur rencontrée au cours d'une tranche de temps de reconnexion et de transmission des données et b) un bit de protection afin d'indiquer que la zone de mémoire-tampon dans la mémoire 107
peut être extraite de la mémoire mais non pas y être introduite.
Le bit de protection sert à progéger la mémoire 107 du pro-
cesseur contre une défaillance de l'organe 41 de commande.
C'est-à-dire que, lorsque l'organe 41 de commande à renvoyé le
sens de la transmission au canal 109 pendant une fonction d'a-
dresse et d'instruction de lecture RAC dans la ligne T, une dé-
faillance de l'organe 41 de commande pourrait amener ce dernier à indiquer de manière erronée une transmission ën entrée". Le
canal passerait alors à l'état d'ENTREE et transmettrait les don-
nées de l'organe de commande à la mémoire, provoquant ainsi la
perte de ces données dans la mémoire-tampon 138. Le bit de pro-
tection permet au programme d'indiquer que le canal ne peut pas introduire de données dans cette zone de la mémoire-tampon, ce
qui revient à dire que l'appareil ne peut qu'indiquer une trans-
mission "en sortie". L'adresse de la transmission précise le circuit logique
139 B, représenté à la figure 12.
Le canal introduit l'adresse de la transmission dans le re-
gistre 129 d'adresses de la mémoire du canal, représenté à la
1o figure 13, et il envoie le compte de multiplets dans le regis-
tre 131 de comptage des caractères représenté à la figure 13.
Suivant le sens de la transmission (que le canal a extrait
de l'appareil pendant l'état d'adresse et d'instruction de lec-
ture SAC représenté à la figure 16), le canal place la ligne T 1.5 dans l'état d'ENTREE ou dans l'état de SORTIE et il transmet les données entre l'organe 41 de commande et la mémoire 107, utilisant le registre 129 d'adresses de la mémoire du canal pour préciser le circuitlogique 1390, comme le montre la figure
12. Le registre 129 d'adresses de la mémoire du canal et le re-
* gistre 131 de comptage des caractères sont mis à jour avec cha-
que mot transmis pendant la tranche de temps de manière à re-
fléter la nouvelle adresse dans la mémoire-tampon et le nombre
de caractères restant encore à transmettre. A la fin d'une tran-
che de temps, les contenus du registre 129 d'adresses de la mé-
moire du canal et du registre 131 de comptage des caractères
sont introduits dans la table 140 de commande des entrées-sor-
ties IOC1 En fonctionnement, pour chaque mot introduit à partir de l'appareil lors d'une transmission "en entrée", le canal 109 3o accepte le mot par l'intermédiaire du mécanisme d'établissement
de liaison décrit ci-dessus, il introduit ce mot dans le regis-
tre 127 de données d'entrées-sorties, représenté à la figure 13, et il transmet ensuite ce mot dans la zone de mémoire-tampon de la mémoire définie par le circuit logique 1390 représenté à la
figure 12.
Lors d'une transmission "en sortie",, le canal 109 extrait un mot de la zone de mémoire-tampon par le circuit logique 1390 et il transmet ce mot au registre 125 de données de la mémoire du canal. Le canal introduit ensuite le mot dans le registre 127 de données d'entrées-sorties, représenté à la figure 13, et il établit une liaison avecl'organe de commande qui accepte le
mot dans son registre 215 de données d'interface.
la vitesse élevée du canal d'entrées-sorties est obtenue par une liaison avec la zone o le mot dans le registre 127 de données d'entrées-sorties est relié à l'appareiltandis que le canal demande et accepte en simultanéité le mot suivant de la
transmission depuis la mémoire 107 et l'introduit dans le re-
gistre 125 de données de la mémoire du canal. Comme le temps d'extraction d'un mot hors de l'appareil est juste aussi long que le temps d'acceptation par l'appareil d'un mot extrait de
la mémoire, les deux opérations peuvent être exécutées en simul-
tanéité. Pendant la tranche de temps, le canal a fait régresser le registre de comptage des caractères de deux unités par mot t
transmis, car il y a deux multiplets dans chaque mot.
I& transmission de la tranche de temps peut se terminer de deux façons: elle peut se terminer normalement ou se terminer
avec une condition d'erreur.
Dans le cas normal, il y a deux possibilités.
Dans un premier état de fonctionnement, le registre 131 de comptage des caractères peut atteindre un compte d'un ou de deux multiplets restant à transférer. Danx cet état, le canal valide le signal BOT dans la ligne 165 représentée à la figure 14, signifiant que la fin de la transmission est atteinte. Si le compte atteint un, le canal valide les signaux EOT, et PAD OUT (REMPLISSAGE DE POSITIONS INUTILISEES EN SORTIE) dans la ligne 167 de la figure 14, signifiant la fin de la transmission avec un multiplet impair. Si le compte de caractères atteint deux, le canal valide le signal EOT, mais le signal PAD OUT (REMPLISSAGE DE POSITION INUTILTSS EN SORTIE) dans la ligne
167 de la figure 14 n'est pas nécessaire puisque les deux multi-
plets dans la ligne sont valides.
Dans l'un ou l'autre cas, l'organe 41 de commande répond en
validant le signal d'ARRET EN ENTREE (STI) dans la ligne 159 re-
présentée à la figure 14 et l'organe 41 de commande valide éga-
lement le signal de REMPLISSAGE DE POSITIONS INUTILISEES EN ENTREE (PADI) dans la ligne 169 représentée à la figure 14, si le canal a validé le signal de POSITIONS INUTILISEES EN SORTIE (PADO)o Dans le premier cas de fin normale de transmission, le canal
109 met fin à la transmission dans son ensemble, et non pas uni-
quement à la tranche de temps.
L'autre fin normale de transmission a lieu lorsque l'orga-
ne 41 de commande met fin à la tranche de temps en validant le signal d'ARRET EN ENTREE (STI) en réponse au signal d'UTILISA-
TION EN SORTIE (SVO) du canal. Ceci signifie que la mémoire-
tampon 189, représentée à la figure 19, a atteint un état de
contrainte minimale comme l'indique le point 229 à la figure 23.
Le signal d'ARRET EN ENTREE (STI) peut se produire lors
d'une transmission en sortie ou lors d'une transmission en en-
tréeo
Lors d'une transmission en entrée, si l'organe 41 de com-
mande désire mettre fin à la transmission ainsi qu'à la tranche de temps, il peut valider un signal d'ARRET EN ENTSEE (STI); et, pour signifier que le dernier mot se termine par un multiplet
impair, l'organe 41 de commande peut également valider un si-
gal de REMPLISSAGE DE POSITIONS INUTILISEES EN ENTREE (PADI).
Comme le montre la figure 16, lorsque la transmission se termine par un état sans erreur (signal STI ou EOT) lors d'une transmission en sortie ou d'une transmission en entrée, comme le montrent les mentions EN SORTIE (OUT) et EN ENTREE (IN) entourées d'un cercle à la figure 16, le canal 109 met à jour
la table de commande des entrées-sorties IOC, comme on l'a men-
tionné ci-dessus et il revient & l'état d'inactivité NOP) repré-
senté à la figure 16.
Comme on l'a noté ci-dessus, la transmission peut également
se terminer par un état d'erreur.
Pendant la tranche de temps, plusieurs erreurs peuvent se produire de la façon suivante: Premièrement, l'organe 41 de commande peut demander une transmission en entrée dans une mémoire-tampon dont le bit de
protection P est mis à "un" dans la table de commande des en-
trées-sorties IOC, comme on l'a mentionné ci-dessus.
Deuxièmement, l'organe 41 de commande peut ne pas renvoyer un signal de REMPLISSAGE DE POSITIONS INUTILIES EN ENTREE (PADI) en réponse à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN SORTIE (PADO) émanant du canal 1090
Troisièmement,le canal 109 peut détecter une erreur de pa-
rité dans la ligne D 161o
Quatrièmement, l'organe 41 de commande peut ne pas répon-
dre à un signal d'UTILISATION EN SORTIE (SVO) émanant du canal 109 dans le temps alloué comme on l'a mentionné ci-dessus dans
la description des établissements de liaisons.
Cinquièmement, la zone de la mémoire-tampon indiquée par les éléments de la table de commande des entrées-sorties 100
peut pénétrer dans une page dont le topogramme la marque absen-
te (voir la description du plan de relevé dans le système de
mémoire). Sixièmement, une erreur de parité peut être détectée dans l'accès au topogramme au moment de l'accès à la mémoire pendant
la séquence de reconnexion en entrée et de transmission des don-
nées. Voir la description dans le système de mémoire concernant
le contrôle de l'erreur de paritéo
Septièmement, le système de mémoire peut détecter une er-
reur de parité incorrigible lorsque le canal 109 accède à la mé-
moire. Voir la description du système de mémoire pour ce contrô-
le d'erreur de parité.
Si l'un quelconque de ces états d'erreurs se produit, le
canal 109 passe à l'état de transmission des données de suspen-
sion d'exécution (ABTD) représenté à la figure 16. Cet état in-
forme l'organe 41 de commande qu'une erreur s'est produite et que la transmission des données doit être suspendue. Le canal 109
revient alors à l'état d'inactivité NOP comme le montre la fi-
gure 160 Lorsqu'une erreur de produit, le canal 109 met à jour les éléments de la table de commande des entrées-sorties IOC et il introduit un numéro d'erreur, indiquant l'tuedes sept erreurs mentionnées ci-dessus, dans la zone d'erreur du deuxième mot de l'élément de la table de commande des entré es-sorties IOC,
comme on l'a mentionné ci-dessus.
Ainsi, si une seule erreur se produit, le numéro de cette erreur est introduit dans la zone d'erreur de l'élément de la table de commande des entrées-sorties IOo
- S'il se produit plus d'une erreur, le canal 109 sélection-
ne l'erreur dont la réparation est la moins susceptible de se produire et il introduit le numéro de cette erreur dans la
zone d'erreur de l'élément de la table de commande des entrées-
sorties IOC.
Il y a un autre type d'erreur qui peut survenir l'organe 41 de commande peut essayer de se reconnecter au canal lorsque
2'4 2473107
le mot de comptage dans la table de commande des entrées-
sorties IOC est zéro. Dans ce cas, le canal ne permettra pas à l'organe de commande de se reconnecter et le canal passera
par une séquence teile qu'on L'a décrite ci-dessus avec réfé-
rence à la figure 16, mais lorsque le canal détermine que le mot de comptage dans la table de commande des entrées-sorties
IOC est zéro, le canal 109 passe directement à l'état de trans-
mission de données de suspension d'exécution ABTDo Ceci repré-
sente une importante caractéristique de la présente invention car elle empêche la mémoire du processeur d' être recouverte
par un appareil défaillant.
Si le compte est de zéro dans le comptage de multiplets du deuxième mot de l'élément 142 de la table de commande des
entrées-sorties IOC pour un appareil particulier et si l'or-
gane 41 de commande essaie de se reconnecter au canal 109, d ce dernier envoie des données de suspension d'exécution ABTD à l'organe 41 de commande, comme on l'a noté ci-dessus, et il laisse à zéro la zone d'erreur de canal de l'élément 142 de
deux mots.
- En réponse à la fonction de données d'interruption d'exé-
cution ABTD, dans la ligne T, l'organe 41 de commande adresse au canal 109 une demande d'interruption dans la ligne de DEMANDE D'INTERRUPTION FORTEMENT PRIORITAIRE HIRQ ou dans la ligne de DEMANDE D'INTERRUPTION FAIBIEMENT PRIORITAIRE LIRq,
c'est-à-dire les lignes 149 ou 147 représentées à la figure 14.
Les organes 41 de commande peuvent, à n'importe quel mo-
ment, demander une interruption dans ces deux lignes.
Une interruption indique d'une manière générale qu'une
transmission de données a été achevée ou terminée par des don-
nées de suspension d'exécution ABTD envoyée par le canal ou par un état d'erreur au sein de l'organe 41 de commande ou d'un appareil connecté, ou par le fait qu'un état spécial sbst
produit dans l'organe 41 de commande ou dans un appareil con-
necté. Lorsque par exemple, la tension est appliquée et que le circuit de mise sous tension indique que la tension est à un niveau acceptable, l'organe de commande interrompt le module de processeur pour indiquer que son état interne est mis à zsro parce que l'alimentation était coupée ou avait baissé et qu'elle a été remise à l'état initial par le circuit de mise
sous tension.
En réponse à une interruption, le programme en cours d'exé-
cution dans le module 33 de processeur envoie dans la ligne 39
d'entrées-sorties une instruction d'interrogation des entrées-
sorties 110 ou une instruction d'interrogation hautement prio-
ritaire des entrées-sorties HII0. L'instruction d'interrogation des entrées-sorties 110 est envoyée en réponse à une interruption faiblement prioritaire des entrées-sorties, c'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ,
représentée à la figure 14.
L'instruction d'interrogation hautement prioritaire des entrées-sorties HII0 est envoyée en réponse à une interruption hautement prioritaire des entrées-sorties, c'est-à-dire une
instruction demandée dans une ligne 149 de demande d'interrup-
tion hautement prioritaire HIRQ, représentée à la figure 14.
le microprocesseur 113, représenté à la figure 12, exécute
les instructions d'exécution des entrées-sorties E10, d'inter-
rogation des entrées-sorties 110 ou d'interrogation hautement prioritaire des entrées-sorties HII0 en commandant la logique
141 de commande du canal et la logique 123 du circuit de don-
nées0 La séquence d'exécution de ces instructions est illustrée à la figure 17; et, comme on l'a noté ci-dessus, la séquence
commence par une séquence de balayage.
L'instruction d'interrogation des entrées-sorties HO inter-
roge une séquence à l'aide du balayage d'interruption faible-
ment prioritaire ZPOL de la fonction dans la ligne T, tandis que l'instruction d'interrogation hautement prioritaire des
entrées-sorties HII0 interroge une séquence à l'aide du balaya-
ge d'interruption hautement prioritaire EPOL de la fonction dans la ligne T. La séquence de balayage qui est également décrite ci-dessus se termine par la sélection de l'organe approprié 41 de commande à l'aide de la fonction de sélection SEL dans la ligne T, comme
le montre la figure 17.
L'organe approprié 41 de commande sélectionné est l'organe de commande qui est le plus fortement prioritaire et qui fait
une demande d'interruption.
La séquence continue par une fonction RIO dans la ligne T provoquant l'interruption de lecture, comme le montre la figure
102 2473197
17. L'organe 41 de commande répond en renvoyant l'état dépen-
dant de l'appareil dans la ligne D 161, comme le montre la fi-
gure 14.
Le microprocesseur 113, représenté à la figure 12, extrait l'état de la ligne D 161 et il place cet état en haut de la
pile 112 du registre représenté à la figure 12.
La séquence continue ensuite par une fonction de l'état d'interruption de lecture RIST dans la ligne T comme le montre la figure 17. L'organe 41 de commande répond à cette fonction de l'état d'interruption de lecture RIST dans la ligne T en renvoyant dans la ligne D le numéro de l'organe de commande,
le numéro de l'appareil et quatre bits d'états spécialisés.
De la zone d'état des quatre bits, deux des bits indiquent respectivement les données de suspension d'exécution ABTD et l'erreur de parité, cetteerreur de parité ayant pu se produire pendant une séquence de reconnexion et de transmission des données. Le microprocesseur 113 reproduit le contenu de la ligne D, c'est-à-dire le numéro de l'organe de commande, le numéro de l'appareil et l'état d'interruption, et il place ce contenu en
haut de la pile 112 du registre.
Si aucune erreur ne s'est produite au cours de la séquence, cette dernière se poursuit alors par l'état de désélection DSEL qui désélecte l'organe 41 de commande; ensuite, la séquence passe à l'état d'inactivité NOP comme l'indique la ligne en
haut de la figure 17.
Si une erreur s'est produite (et il peut s'agir d'une erreur de parité détectée par le canal ou un dépassement du temps imparti à l'établissement d'une liaison), le canal passe de l'état d'interruption de lecture RIST à l'état d'instruction
du suspension d'exécution ABTI, comme le montre la figure 17.
Cette action désélecte l'organe 41 de commande et le canal re-
vient ensuite à l'état d'inactivité NOP, comme l'indique la
ligne en bas de la figure 17.
Comme on l'a noté ci-dessus, une opération d'entrées-sor-
ties entre un module de processeur et un appareil d'entrées-
sorties se compose d'une manière caractéristique d'un groupe de
séquences, par exemple une séquence d'exécution des entrées-
sorties EIO suivie d'un certain nombre de séquences de recon-
nexion et de transmission des données, en terminant par une sé-
quence d'interrogation des entrées-sorties 110. Des séquences de pousieurs opérations différentes d'entrées-sorties peuvent
être imbriquées, ce qui a pour résultat une opération d'entrées-
sorties apparemment simultanée effectuée par plusieurs appareils.
Ainsi, l'accès à un grand nombre d'appareils peut se faire si-
multanément; le nombre exact de ces appareils dépend de la lar-
geur de bande du canal et de la largeur de bande effective uti-
lisée par chaque appareil.
Le système d'entrées-sorties et l'architecture et le fonc-
tionemment de l'organe de commande à double entrée décrits ci- dessus fournissent plusieurs avantages importants.
Ces avantages sont les suivants: a) souplesse de conne-
xion d'une grande variété d'appareils; b) utilisation maximale des ressources; c) cadre d'utilisation en mode "dégradé" dans lequel l'accès se fait à des appareils périphériques dans un système de traitement par multiprocesseurs; d) entretien en direct et possibilité d'extension de la capacité du système de
traitement par multiprocesseurs; et e) débit maximum de traite-
ment du système (par opposition au débit du processeur ou au
débit d'entrées-sorties exclusivement) dans un système de don-
nées de mouvements en liaison directe avec l'ordinateur et dans
lequel un grand nombre de données de mouvement simultanés doi-
vent être traités par le système d'entrées-sorties et par l'u-
nité centrale.
La souplesse de connexion d'une grande variété d'appareils
est réalisée du fait que le système qui fait l'objet de la pré-
sente invention ne présuppose aucune caractéristique inhérente
d'un type d'appareil. Par contre, la présente invention four-
nit une structure et une exploitation qui peuvent s'adapter à
une grande variété de fonctionnement des appareils.
la présente invention prévoit une utilisation maximale des ressources, tout d'abord en utilisant au maximum la largeur de bande de la mémoire. Chaque appareil utilise un minimum de la largeur de bande de la mémoire. Cette caractéristique permet d'associer un nombre relativement élevé d'appareils avec la ligne particulière d'entrées-sorties.Du fait de la vitesse inhérente de la ligne d'entrées-sorties et de la technique de mise en mémoire-tampon propre à la présente invention, chaque transmission particulière s'effectue à une vitesse relativement
élevée qui n'est limitée que par la vitesse de la mémoire.
Ad o
Parce que les transmissions se font en mode continu, la servi-
tude associée avec chaque transmission est réduite au minimum.
Cette caractéristique permet d'utiliser au maximum la largeur
de bande du canal et elle permet également l'utilisation d'ap-
pareils à vitesses élevées. La présente invention prévoit un accès en mode "1dégrad.é"t aux appareils. Il existe des circuits redondants vers chaque
appareil périphérique et une limitation des défaillances à cha-
que circuit particulier. Une défaillance d'un module particulier dans un circuit n'affecte pas le fonctionnement d'un module dans
un autre circuit en liaison avec cet appareil.
Il y a des contrôles approfondis d'erreurs afin de contrô-
ler l'intégrité des données dans'un circuit, les incidents de
séquence et les circuits de synchronisation.
Les caractéristiques de protection empêchent un appareil périphérique d'affecter sa propre mémoire-tampon ou la mémoire du système0 Ces caractéristiques de protection comprennent un
mot séparé de comptage dans chaque table de commande des entrées-
sorties IOC et un bit de protection dans la table de commande des entréessorties IOC Cette dernière table IOC est accessible par le canal mais non par l'appareil. Il s'agit là d'un deuxième
niveau de protection qui empêche l'appareil d'accéder à une mé-
moire qui n'est pas affectée à cet appareil0
lia présente invention ne requiert qu'un petit nombre de li-
gnes dans la ligne d'entrées-sorties pour fournir un système
souple et puissant d'entrées-sorties.
Le fonctionnement de l'organe de commande est bien défini lors de la mise sous tension ou-hors tension afin de protéger la ligne d'entrées-sorties contre des signaux erronés pendant ce temps et également pour permettre un entretien direct et une
extension directe du système.
lia présente invention utilise la contrainte pour permettre aux mémoirestampoqrs de coopérer sans comMuniquer l'une avec l'autre. Un système de données de mouvements en liaison directe avec l'ordinateur est obtenu par l'intermédiaire de transmissions et
de traitement exécuté en simultanéité.
L'accès multicanal direct à la mémoire fournit des tranches de temps imbriquées afin de donner des transmissions effectuées en simultanéité et des attentes minimales avant d'accéder à un 1 05 appareil. Chaque tranche de temps exige un minimum de servitude de la mémoire et permet au processeur d'utiliser la mémoire au maximum. Cette combinaison permet une utilisation maximale de la
largeur de bande des entrées-sorties et une immobilisation mini-
male des ressources du processeur.
Le système de traitement par multiprocesseurs qui fait l'ob-
jet de la présente invention comprend un réseau de distribution électrique qui permet de résoudre plusieurs problèmes rencontrés dans les réseaux suivant l'art antérieuro Dans de nombreux réseaux suivant l'art antérieur, il fallait
arrêter le système de traitement par multiprocesseurs pour ef-
fectuer l'entretien nécessaire d'un élément du système. De même,
dans de nombreux réseaux suivant l'art antérieur, une défail-
lance de l'alimentation électrique pouvait paralyser l'ensemble
du seème de traitement par multiprocesseurs.
Le réseau de distribution électrique suivant la présente
invention comprend plusieurs alimentations séparées et indépen-
dantes; il distribue l'énergie électrique venant des sources
d'alimentation aux modules de processeurs et aux organes de com-
mande de manière à permettre l'entretien en direct, et il four-
nit une redondance d'énergie électrique à chaque organe de com-
mandeo A ce sujet, le terme "en direct" est utilisé dans un sens
tel que lorsqu'une partie du réseau est "en direct", cette par-
tie du réseau non seulement est alimentée mais également fonc-
tionne avec le système afin d'accomplir un travail utile.
Le terme "entretien en direct" signifie dont l'entretien
d'une partie du réseau (y compris l'entretien périodique préven-
tif ou les travaux de réparation) tandis que le reste du réseau
reste "en direct" comme on l'a défini ci-dessus.
Dans la présente invention, l'alimentation de tout module de processeur ou de tout organe de commande peut être coupée de telle sorte que l'entretien en direct peut s'effectuer à
l'état hors tension de ce module de processeur ou organe de com-
mande, tandis que le reste du système de traitement par multi-
processeurs reste en direct et opérationnel. On peut effectuer l'entretien "en direct" tout en respectant pleinement les règles
de sécurité imposées par le laboratoire des Assureurs.
De même, dans le réseau de distribution électrique qui fait partie de la présente invention, chaque organe de commande est connecté afin d'être alimenté par deux sources séparées d'énergie et par un montage de commutation à diodes qui permet d'alimenter l'organe de commande à partir des deux sources
d'alimentation, lorsque ces deux dernières sont en fonctionne-
ment, et d'alimenter cet organe de commande à partir de l'une de ces sources d'alimentation, lorsque l'autre est en panne; en
cas de panne de l'une des sources d'alimentation, la commuta-
tion s'effectue régulièrement et sans interruption ni pulsation de l'alimentation, de telle sorte qu'un arrêt de l'organe de oommande n'est jamais nécessaire en cas de défaillance de l'une de ses alimentations associées
La figure 30 représente un réseau de distribution électri-
que assurant à la fois une source principale d'alimentation et une source d'alimentation de remplacement pour chaque organe
individuel 41 de commande à double entrée. Le réseau de distri-
bution électrique est repéré par la référence générale 301 à la
figure 30.
Le réseuu 301 de distribution électrique assure à chaque
organe 41 de commande à double entrée une source d'alimenta-
tion principale et une source d'alimentation de remplacement.
Du fait que chaque organe de commande dispose de deux sources séparées et indépendantes d'alimentation électrique, une panne de la source d'alimentation principale d'un organe particulier de commande n'affecte pas le fonctionnement de cet organe de commande (ni d'aucun des appareils qui lui sont associés). Bien au contraire, suivant la présente invention, un montage de commutation fournit un branchement automatique sur la source
* d'alimentation de remplacement, de sorte que l'organe de com-
mande peut continuer à fonctionner. Le réseau de distribution
électrique agit ainsi en liaison avec le système à double en-
trée de l'orifice de commande, afin de fournir un fonctionne-
ment et un accès ininterrompus aux appareils en cas de défail-
lance d'une entrée individuelle ou d'une source d'alimentation individuelle. Le réseau 301 de distribution électrique, représenté à la figure 30, fournit un avantage supplémentaire qui réside dans
dans le fait que chaque module 33 de processeur, ainsi que l'u-
nité centrale 105 et la mémoire 107 qui lui sont associés possède une source d'alimentation séparée et indépendante qui
est affectée à ce module de processeur. Grâce à cette disposi-
tion, une panne ou une déconnexion manuelle de l'une quelconque
des sources d'alimentation en vue de la réparation ou de l'en-
tretien et du dépannage de cette source d'alimentation ou du module de processeur associé, se limitera donc en fait à un seul module particulier de processeur et ne pourra affecter le fonctionnement d'aucun autre module de processeur du système de
traitement par multiprocesseurs.
Le réseau 301 de distribution électrique, représenté à la
figure 30, fonctionne ainsi en association avec les modules in-
dividuels de processeurs et les organes de commande à double entrée, afin d'assurer qu'une défaillance ou une déconnexion de l'une quelconque des sources d'alimentation n'immobilisera pas l'ensemble du système et ne rendra inopérant aucun des appareils. Le réseau 301 de distribution électrique comprend plusieurs sources d'alimentation séparées et indépendantes 303 et chacune de ces sources d'alimentation 303 comporte une ligne 305, en fait une ligne 305 à multiconducteurs représentés à la figure 33, qui est affectée à l'alimentation électrique de l'unité centrale et de la mémoire d'un module particulier de processeur connecté. Chaque organe 41 de commande est associé avec deux des
sources 303 d'alimentation par l'intermédiaire d'une ligne prin-
cipale 307, d'une ligne de remplacement 309 et d'un commuta-
teur automatique 311.
Un commutateur 313 à manoeuvre manuelle est également as-
socié avec chaque organe 41 de commande entre ce dernier, la
ligne principale 307 et la ligne de remplacement 309.
Les commutateurs 311 et 313 sont représentés plus en dé-
tail à la figure 31.
La figure 32 représente des détails de construction d'é-
léments d'une source d'alimentation 303.
Comme le montre la figure 32, chaque source 303 d'alimen-
tation comporte un conneceeur 315 d'entrée pour le branchement sur le secteur. Le connecteur d'entrée 315 est connecté à un redresseur 317 de courant alternatif en courant continu dont
la sortie fournit, dans une ligne 319, une source d'alimenta-
tion interruptible IPS de cinq-mlts. Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la
mémoire 107 et l'organe 41 de commande. On se reportera égale-
os
ment à la figure 33.
Le redresseur 317 de courant alternatif en courant conti-
nu fournit également, dans une deuxième ligne de sortie 321, une sortie en courant continu de soixante volts qui est fournie à un convertisseur continu-continu 32, représenté à la figure 32. Le convertisseur continucontinu fournit à son tour une tension de sortie de cinq volts dans une ligne 325 et une
tension de sortie de douze volts dans une ligne 327.
Les sorties des lignes 325 et 327 sont, dans le réseau
qui fait partie de la présente invention, des sorties d'alimen-
tation électrique non interruptible-lPS, du fait que ces sor-
ties d'alimentation électrique sont connectées à l'unité cen-
trale et à la mémoire quand la mémoire à semiconducteurs est
utilisée. L'alimentation électrique d'une mémoire à semicon-
ducteurs ne doit pas être interrompue car une interruption d'a-
limentation d'une mémoire à semiconducteurs provoquera la perte
de toutes les données stockées dans la mémoire.
La source d'alimentation électrique interruptible de cinq volts dans la ligne 319 est considérée comme étant une source d'alimentation interruptible car cette alimentation est fournie aux parties du système de traitement par multiprocesseurs dans
lesquelles une interruption d'alimentation peut être acceptée.
Ainsi, l'alimentation interruptible en cinq volts est fournie-
aux parties de l'unité centrale autres que la mémoire à semi-
conducteurs et aux seules parties de la mémoire qui sont à tores (et pour lesquelles une interruption d'alimentation ne provoque pas de perte de données stockées dans la mémoire), et
à l'organe de commande qui, ainsi qu'on le décrira plus en dé-
tail ci-dessous, est alimenté par une source d'&imentation de remplacement en cas de défaillance de la source d'alimentation principale. Puisque l'alimentation électrique des lignes 325 et 327 doit être une alimentation non interruptible, la présente invention fournit une batterie de secours pour l'entrée du convertisseur continu-continu 323. Cette batterie de secours se compose d'un module 329 de batterie et chargeur, Le module 329 est connecté au convertisseur continu-continu 323 par une
ligne 331 et une diode 333.
Dans un exemple particulier de réalisation de la présente
invention, la batterie 323 fournit au convertisseur 323 une ten-
sion de 48 V qui est à l'intérieur de la gamme des tensions d'en-
trée du convertisseur 323.
La diode 333 assure l'alimentation du convertisseur 323 par la batterie si la tension dans la ligne 321 chute en dessous de 48 V0 La diode 333 arrête également le courant venant de la batterie et de la ligne 333 lorsque la sortie du redresseur de co courant alternatif en courant continu dans la ligne 321 dépasse 48 V.
Chaque source d'alimentation 303 comprend également un cir-
cuit d'alarme 335 prévu pour détecter un état de l'entrée d'ali-
mentation en cou rant alternatif dans la ligne 315 qui aurait eu pour résultat une tension insuffisante dans les lignes de
sortie 319, 325 et 327. Le circuit d'alarme 335 transmet à l'u-
nité centrale 105, par uneligne 337, un signal d'alarme de pan-
ne d'alimentation.
Du fait de la capacité accumulée dans la source d'alimen-
tation 303, il y a suffisamment de temps entre le signal d'alar-
me de tension et la perte de tension interruptible de 5 Vdans la ligne 319 pour que l'unité centrale conserve son état avant
la perte de tension.
Cependant, l'alimentation non interruptible dans les lignes
325 et 327 ne doit pas être interrompue, même pendant un ins-
tant, et la batterie de secours prévue par le montage représenté
à la figure 32 assure qu'il n'y aura pas d'interruption de l'a-
limentation dans les lignes 325 et 327 en cas de panne d'alimen-
tation dans la ligne d'entrée 315.
Une source particulière 303 d'alimentation peut elle-même être en panne pour une raison quelconque, les autres sources 303 d'alimentation continuant à fonctionner. Dans ce cas-là, le réseau 301 de distribution électrique qui fait partie de la
présente invention limite l'effet de la panne de la source d'a-
limentation 303 à la perte d'une unité centrale particulière
associée et d'une mémoire. Le commutateur automatique 311 pré-
voit une commutation automatique de la source d'alimentation
défaillante à la source d'alimentation de remplacement de ma-
nière à maintenir en fonctionnement l'organe 41 de commande
associé. Ce dernier qui a été connecté à la source d'alimenta-
tion défaillante continue donc à fonctionner en liaison opéra-
tionnelle avec les autres modules de processeurs et éléments du
2 4 73 1 9 7
système de traitement par multiprocesseurs, car la tension re-
quise est automatiquement commutée depuis la source d'alimenta-
tion de remplacement.
Comme le montre le mieux la figure 31, chaque commutateur automatique 311 comprend deux diodes, c'est-à-dire une diode 341 associée avec la ligne 307 d'alimentation principale et une diode
343 associée avec la ligne 309 d'alimentation de remplacement.
Les diodes 341 et 343 ont pour fonction de permettre l'alimen-
tation d'un organe 41 de commande à partir soit de la ligne 307
d'alimentation principale et d'une source d'alimentation 303 cor-
respondante, soit de la ligne d'alimentation de remplacement et
de sa source d'alimentation correspondante 303, tout en mainte-
nant les alimentations isolées. Cette disposition empêche qu'une source d'alimentation défaillante ne provoque une panne dans la
ligne d'alimentation de remplacement ou dans la ligne d'alimenta-
tion principale qui lui sont associées.
En fonctionnement normal, chaque diode laisse passer une cer-
taine quantité de courant, de sorte que chaque organe 41 de com-
mande est en fait alimenté à la fois par l'alimentation principa-
le et par l'alimentation de remplacement.
Au cas o l'une de ces alimentations subit une défaillance, le courant total est fourni par l'autre source d'alimentation et
ce transfert s'opère sans aucune perte de courant.
Du fait qu'il se produit une faible chute de tension dans les diodes 341 et 343, la tension dans les lignes 307 et 309 doit être supérieure à cinq volts suffisamment pour que, après
la chute de tension dans les diodes 341 et 343, la tension d'ali-
mentation de l'organe 41 de commande soit exactement de cinq volts. Les lignes 305 sont en parallèle avec les lignes 307 et 309 et la tension effectivement reçue par l'unité centrale de la mémoire doit être également de cinq volts; c'est pourquoi des diodes 339 d'équilibrage sont montées dans les lignes 305, afin d'assurer que la tension appliquée à chaque unité centrale, en
aval des diodes, est exactement de cinq volts.
Le commutateur manuel 331 pesemet de déconnecter un organe
41 de commande aussi bien de la source d'alimentation principa-
le que de la source d'alimentation de remplacement lorsque cet organe de commande doit être déconnecté pour être retiré afin
d'être entretenu et dépanné.
Les détails de fabrication du commutateur 313 sont repré-
sentés à la figure 31. Comme le montre cette figure, le commu-
tateur 313 comprend un interrupteur manuel 345, un transistor
347, une capacité 348, une résistance 350 et une résistance 352.
L'interrupteur manuel 345 est fermé pour mettre en circuit le transistor 347 qui alimente ensuite l'organe 41 de commande. Il est important que, aussi-bien la mise sous tension que
la mise hors tension de l'organe 41 de commande s'opèrent de ma-
nière régulière et sans fluctuations qui pourraient déclencher plus d'une fois le circuit 182 de mise sous tension. LIa capacité à réaction 348 agit en liaison avec la résistance 352 pour
provoquer la montée en tension régulière requise lorsque l'inter-
rupteur 345 est fermé pour mettre en circuit le transistor 347.
Lorsque le transistor 347 est mis hors circuit par l'ouver-
ture de l'interrupteur 345, la capacité à réaction 348 agit en
liaison avec la résistance 350 pour provoquer une chute régu-
lière de tension.
Dans un exemple préféré de réalisation de la présente inven-
tion, toutes les diodes 341, 343 et 339 sont des diodes Schottky qui produisent une chute de tension directe très faible et ceci
réduit la puissance dissipée.
Comme oull'a noté ci-dessus, dans la description du système
d'entrées-sortiesnet de l'organe 41 de commande à double entrée, chaque organe 41 de commande comporte un circuit 182 de mise sous tension PON, afin de détecter le moment o la tension de cinq volts se trouve inférieure aux spécifications. Le circuit 182 de mise sous tension PON est représenté plus en détail
à la figure 25; il remet à zéro l'organe 41 de commande de ma-
nière à l'isoler de tout le reste et il maintient l'organe de
commande lui-même dans un état qui est connu lorsque la ten-
sion est coupée par le commutateur 313. Le circuit 182 de mise sous tension PON débloque également l'organe de commande et le remet en fonctionnement après que la tension a été rétablie par
le commutateur 313 et que la tension de cinq volts de caractéris-
tique correcte a été appliquée à l'organe 41 de commande.
D'autres détails du circuit 182 de mise sous tension re-
présenté à la figure 25 spnt décrits ci-dessus en rapport avec le système d'entrées-sorties et d'organe de commande à double entrée.
On se reportera maintenant à la figure 33. La tension four-
nie par chaque source d'alimentation 303 est transmise à une
unité centrale associée, par la ligne verticale 305; chaque li-
gne verticale 305 est une barre omnibus laminée qui comporte
cinq couches de conducteurs électriques.
Comme l'indiquent les légendes de la figure 33, chaque barre omnibus verticale 305 comporte deux conducteurs diffé-
rents mis à la terre-.
Un conducteur fournit la mise à la terre à la fois à l'a-
limentation interruptilbl en cinq volts IPS et à l'alimentation
non interruptible en cinq volts UPS.
Un conducteur séparé fournit une mise à la terre pour la tension de la mémoire. Cette mise à la terre séparée pour la
tension de la mémoire assure que les fluctuations relative-
ment importantes de courant vers la mémoire n'auront aucun effet sur l'alimentation interruptible en cinq volts IPS ni sur l'alimentation non interruptible en cinq volts UPS fournies
à l'unité centrale.
lia barre omnibus horizontale 305, 307 comprend les li-
gnes d'alimentation principale et d'alimentation de remplace-
ment 307 et 309, comme l'indiquent les références de la figu-
re 30. Dans un exemple particulier de réalisation de la pré-
sente invention, la barre omnibus 305, 307 est en fait une barre laminée comportant neuf couches qui se composent d'une seule mise à la terre et de huit couches de tension, indiquées
par les légendes et notations Vl à V8 à la figure 33.
Chaque couche de tension est connectée à la sortie in-
terruptible en cinq volts d'une source différente de tension
303. Ainsi, la couche Vl est connectée en 351 à l'alimenta-
tion interruptible en cinq volts IPS dans le cas de la source
d'alimentation 303 et du module de processeur située à l'ex-
trême gauche de la figure 33, et la couche V2 est connectée en 353 à la source de tension 303 interruptible en cinq volts IPS dans le cas du module de processeur situé au centre de la figure 33, etc. Puisqu'il y a huit couches, Vl à V8, et une terre commune
disponibles pour chaque organe de commande dans la barre omni-
bus horizontale, des prises verticales 355 connectées à ces
huit couches à intervalles réguliers le long de la barre omni-
bus horizontale, permettent d'associer chaque organe 41 de commande à deux quelconques des sources-d'alimentation 303 en connectant simplement la ligne principale 307 et la ligne de remplacement 309 à un groupe particulier de prises. A titre d'exemple, l'organe 41 de commande situé du côté gauche de la figure 33 est représenté comme étant connecté aux prises Vl et V2 et l'organe 41 de commande de côté droit de la figure 33 est représenté comme étant connecté aux prises V2 et V3.
Ainsi, n'importe quel organe 41 de commande peut être connec-
té à deux quelconques des sources 303 d'alimentation, l'une quel-
conque servant de source d'alimentation principale et l'autre
servant de source d'alimentation de remplacement.
Le réseau de distribution électrique de la présente inven-
tion fournit ainsi plusieurs avantages importants.
Ce réseau de distribution électrique permet d'effectuer l'entretien en direct car un module de processeur ou un organe de commande peuvent être mis hors circuit tandis que le reste du système de traitement par multiprocesseurs reste en ligne et
en fonctionnement.
Le réseau de distribution électrique satisfait pleinement
les exigences de sécurité imposées par le laboratoire des Assu-
reurs pour l'entretien en direct d'un élément mis hors circuit, tandis que le reste du système de traitement par multiprocesseurs
reste en ligne et en fonctionnement.
Chaque organe de commande est associé à deux alimentations
séparées, de sorte qu'une défaillance de l'une de ces alimenta-
tions ne provoque pas l'arrêt de fonctionnement de l'organe de commande. âu contraire, le montage de commutation électronique
propre à la présente invention fournit un passage tellement ré-
gulier de l'alimentation à partir des deux sources d'alimenta-
tion à l'alimentation à partir de l'une seulement des sources
d'alimentation que l'organe de commande est maintenu en fonction-
nement continu sans interruption.
Chaque module 33 de processeur, représenté à la figure 1, du système 31 de traitement par multiprocesseurs comprend une mémoire. Cette mémoire est repérée par la référence générale 107 à
la figure et elle est représentée plus en détail à la figure 34.
La mémoire 107 de chaque module 33 de processeur est asso-
ciée à la fois à l'unité centrale 105 et au canal 109 d'entrées-
sorties de ce module. Il existe un accès à double entrée dans
la mémoire, par l'unité centrale et par le canal. Ce qui re-
vient à dire que l'unité centrale 105, représentée aux figures 1
et 34, peut accéder à la mémoire pour des références de program-
me ou de données, tandis que le canal 109 d'entrées-sorties peut
également accéder directement à la mémoire (sans devoir traver-
ser l'unité centrale) pour des transmissions de données vers et
5. à partir d'un organe 41 de commande.Ce double accès à la mé-
moire est illustré à la figure 34 et il sera décrit plus en dé-
tail ci-dessous dans la description de la structure et du fonc-
tionnement de la mémoire de la figure 34.
Un avantage de ce double accès à la mémoire réside dans
le fait que les accès de l'unité centrale et du canal à la mé-
moire peuvent être imbriqués dans le temps. Il n'est nullement
nécessaire que l'unité centrale ou le canal attendent pour accé-
der à la mémoire, excepté dans le cas o à la fois l'unité cen-
trale et le canal essaient d'accéder à la mémoire exactement au même moment. En conséquence, aussi bien l'unité centrale que le canal peuvent remplir leurs fonctions séparées en simultanéité, sous réserve d'une attente occasionnelle de la part de l'unité centrale ou du canal si l'une de ces unités accède à la mémoire au moment exact o l'autre unité a besoin d'accéder à la mémoi-
re.
L'accès à double entrée permet également une exploitation prioritaire des entrées-sorties. L'unité centrale 105 a besoin d'être impliquée avec le canal 109 uniquement au déclenchement
et à la fin des transmissions de données d'entrées-sorties.
L'unité centrale peut exécuter d'autres fonctions pendant la
transmission effective elle-même des données d'entrées-sorties.
La mémoire 107 représentée à la figure 34 comprend une mémoire physique qui se compose de 262 144 mots de seize bits
d'information chacun.
Outre les seize bits d'information, chaque mot de la mé-
moire comporte un bit supplémentaire de parité si la mémoire
est une mémoire à tores, ou six bits supplémentaires de correc-
tion d'erreur si la mémoire est une mémoire à semiconducteurs.
Le bit de parité permet de détecter les erreurs simples
de bits uniques.
Les six bits de correction d'erreur permettent de détec-
ter dt de corriger les erreurs de bits uniques et ils permet-
tent également de détecter toutes les erreurs de bits doubles.
La mémoire physique est conçue comme étant subdivisée en
blocs contigus de 1 024 mots chacun (qui sont appelés des pa-
ges). les pages de la mémoire physique sont numérotées consé-
cutivement depuis la page zéro, en partant de l'emplacement physique zéro. Dans un exemple particulier de réalisation de
la présente invention, la gamme d'adresses de la mémoire phy-
sique qui s'étend de zéro à 262 143, exige dix-huit bits d'in- formation d'adresses physiques. qui L'architecture de base du système de mémoire/fait l'objet de la présente invention est cependant constituée pour recevoir
et utiliser vingt bits d'information d'adresses physiques, com-
me le fera mieux apparaître la description suivante.
Dans un exemple particulier de réalisation de la présente
invention, la mémoire physique est physiquement divisée en mo-
dules physiques de 32 768 mots. Ainsi, huit de ces modules four-
nissentles 262 143 mots mentionnés ci-dessus.
Teous les accès à la mémoire se font à l'une des quatre zones d'adresses logiques, c'est-à-dire les zones de données
de l'utilisateur de données du système, de code de l'utilisa-
teur et de code du système. Toutes les instructions de l'unité
centrale traitent exclusivement ces adresses logiques, distinc-
tes des adresses physiques. Ainsi, un programmeur n'a pas be-
soin de s'occuper d'une adresse physique réelle mais, par con-
tre, il peut rédiger un programme basé entièrement sur des adresses logiques qui sont traduites en adresses physiques par
la partie topograime du système de mémoire.
Ia gamme d'adressage dans une zone donnée d'adresses lo-
* giques est celle d'une adresse logique de seize bits, c'est-à-
dire de zéro à 65 535. Ainsi, chaque zone d'adresses logiques
comprend soixante-quatre pages logiques de 1 -024 mots chacune.
Dans le système de mémoire qui fait l'objet de la présen-
te invention, aucune correspondance n'est requise entre une page logique et une page physique. Par contre, les diverses
pages logiques composant un programme de système en fonction-
nement ou un programme d'utilisateur n'ont pas besoin de se trouver dans des pages physiques contiguës. En outre, alors
qu'il est nécessaire que les pages logiques soient dans la mé-
moire physique centrale, elles peuvent être dans la mémoire auxiliaire. Ceci permet de mettre en application une disposition de
mémoire virtuelle.
Une mémoire virtuelle offre deux avantages.
Tout d'abord, une mémoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est intérieur à celui qu'exigeraient; J.e&; nes d'cares-)ogique,3, cal la mémioire
physique peut être complétée par une mémoire physique auxi-
liaire.
Ensuite, une mémoire virtuelle permet à des espaces d'a-
dresses de plusieurs utilisateurs (multiprogrammation) d'utili-
ser en commun la mémoire physique et chaque utilisateur n'a pas à s'occuper de l'affectation de la mémoire physique entre
le système d'exploitation, lui-même ou d'autres utilisateurs.
le système de mémoire qui fait partie de la présente in-
vention fournit une protection entre les usagers dans le cadre d'une exploitation en multiprogrammation en garantissant qu'un programme d'utilisateur ne peut extraire des données de ni introduire des données dans l'espace en mémoire du programme
d'un autre utilisateur. Ceci est effectué par le systime d'or-
ganisatione. pages et de relevé. lorsqu'un programme d'utilisa-
teur est en cours d'exécution, le relevé pour ce programme d'u-
tilisateur ne signale que les pages de la mémoire (soixante-
quatre pages de code et soixante-quatre pages de données) pour
ce programme particulier d'utilisateur. Ce programme particu-
lier d'utilisateur ne peut adresser en dehors de son propre
espace d'adresse logique et, par conséquent, il ne peut intro-
duire des données dans ni extraire des données de l'espace en
mémoire du programme d'un autre utilisateur.
le fait que les pages de code ne soient pas modifiables
empêche également l'autodestruction dl un programme d'utilisa-
teur.
Ainsi, il existe deux niveaux de protection des program-
mes d'utilisateurs fonctionnant dans le cadre d'une exploita-
tion en multiprogrammation, à savoir le fait que chaque relevé d'utilisateur ne signale que ses propres pages en mémoire et le fait que les pages de code ne sont pas modifiables. En outre, dans la présente invention, cette protection est réalisée sans registres à limites de protection ou par des clés de garde
souvent utilisées dans l'art antérieur.
la traduction requise d'ume adresse logique de seize bits en une adresse physique de dix-huit bits est effectuée par un plan de relevé. Formant une partie de ce plan de relevé, un
nombre de pages physiques est obtenu par une opération de con-
sultation à l'intérieur d'un relevé. Ce nombre de pages physi-
ques est ensuite combiné à l'adresse à l'intérieur d'une page
afin de former l'adresse complète de la mémoire physique.
Seul le numéro de la page est traduit. Le décalage ou adresse dans une page n'est jamais modifié dans le relevé.
Dans la présente invention, il y a quatre zones de relevé.
Chaque zone de relevé correspond à l'une des quatre zones
d'adressage logique (données de l'utilisateur, données du sys-
tème, code de l'utilisateur et code du système).
La division de l'adresse logique en ces quatre zones sépa-
rées et distinctes présente des avantages significatifs.
La division permet d'isoler les programmes des données,
de sorte que les programmes ne sont jamais modifiés. Cette di-
vision permet d'isoler également les programmes et les données du système des programmes et des données de l'utilisateur, ce qui assure la protection du système d'exploitation contre les
erreurs de l'utilisateur.
Les quatre zones de relevé sont désignées comme suit: Relevé 0 - relevé des données de l'utilisateur. Toutes les
adresses transmises aux zones des données variables de l'utili-
sateur sont traduites par l'intermédiaire de ce relevé des don-
nées de l'utilisateur.
Relevé 1 - relevé des données du système. Le relevé des
données du système est analogue au relevé des données de l'uti-
lisateur et, en ouure, toutes les références à la mémoire faites par le canal d'entrées-sorties, le microprogramme de gestion de
la ligne entre processeurs ou le microprogramme de gestion d'in-
terruption signalent ce relevé. Ce relevé des données du système fournit un accès du canal à l'ensemble de la mémoire physique
par l'intermédiaire d'un seul mot d'adresse de seize bits.
Relevé 2 - relevé du code de l'utilisateur. Ce relevé défi-
nit le programme de l'utilisateur en cours d'exécution. Toutes les instructions de l'utilisateur et les données constantes sont
obtenues par l'intermédiaire de ce relevé du code de l'utilisa-
teur.
Relevé 3 - relevé du code du système. Ce relevé définit le programme du système d'exploitation. Toutes les instructions du système d'exploitation et des données constantes sont obtenues
par l'intermédiaire de ce relevé'du code du système.
Chaque zone de relevé comporte soixante-quatre entrées correspondant aux soixante-quatre pages possibles de chaque zone
d'adresse logique. Chaque entrée contient l'information suivan-
te. 1) La zone du numéro de la page physique (qui peut avoir une valeur de zéro à 255). 2) Un bit d'imparité,pour l'entrée de la mémoire. Le bit de parité est créé par la logique du relevé chaque fois qu'une
entrée de relevé est enregistrée.
3) Une zone historique de référence. La zone historique de référence comprend des bits de référence, et le bit de poids fort des bits de référence est mis à "un" par toute utilisation
de la page correspondant à l'entrée du relevé.
4) Un bit-clé. Le bit-clé est mis à "un lorsqu'un accès d'enregistrement à la page correspondante de la mémoire est
réalisé.
Les bits de référence et le bit-clé sont utilisés par la fonction de gestion de la mémoire du système d'exploitation
afin de faciliter la sélection d'une page pour le recouvrement.
Le bit-clé fournit également un moyen d'éviter d'inutiles intro-
ductions de pages de données dans la mémoire auxiliaire.
) Un bit d'absence. Le bit d'absence est mis initialement à "un" par le système d'exploitation pour signaler l'absence
d'une page de la mémoire centrale:. Un accès à une page compor-
tant ce bit mis à 'un provoque une interruption du programme de
gestion d'interruption pour faute de page du système d'exploi-
tation, afin de déclencher la fonction de gestion de la mémoire
virtuelle du système d'exploitation. Le bit d'absence sert éga-
lement de mécanisme de protection pour empêcher l'accès erroné par un programme en dehors de sa zone d'adresse logique prévue
dans le cas soit du code soit des données.
Trois instructions sont utilisées par le système d'exploi-
tation en liaison avec le relevé. Ces trois instructions sont
l'instruction d'insertion dans une entrée de relevé SXAP, l'ins-
truction delecture d'une entrée de relevé R MAP et l'instruction
de décalage d'une entrée de relevé AMAP.
L'instruction d'insertion dans une entrée de relevé SMAP
est utilisée par la fonction de gestion de la mémoire du systè-
me d'exploitation pour insérer les données dans une entrée du relevé. Cette instruction requiert deux paramètres, à savoir
l'adresse d'entrée du relevé et les données à insérer.
liq
29247319?
L'instruction de lecture d'une entrée de relevé RBIAP uti-
lisée par la fonction de gestion de la mémoire du système d'ex-
ploitation pour lire une entrée de relevé. Cette instruction
requiert un paramètre, l'adresse d'entrée de relevé, et le ré-
sultat renvoyé par l'instruction est le contenu de l'entrée du relevé.
L'instruction de décalage d'une entrée de relevé AWAP pro-
duit le décalage de la zone historique de référence d'une entrée de relevé, d'une position vers la droite. Cette instruction est utilisée par la fonction de gestion de la mémoire du système
d'exploitation pour maintenir l'information historique de réfé-
rence afin de faciliter la sélection d'une page pour le recou-
vrement. Une interruption pour faute de page fournie par le bit d'absence a lieu lorsqu'une référence est faite à une page qui ne figure pas généralement dans la mémoire centrale ou qui ne fait pas partie de la zone d'adresse logique de programme ou de
ses données. Lorsqu'une faute de page est détectée, il se pro-
duit une interruption par l'intermédiaire du programme de ges-
tion d'interruption pour faute de page du système d'exploita-
tion. La séquence d'interruption pour faute de page comprend les évènements suivants: 1. Une référence d'adresse est faite à une page qui est
absente de la mémoire physique (le bit d'absence est mis à "un").
2. L'interruption pour faute de page a lieu. Le microcode du programme de gestion d'interruption introduit un paramètre d'interruption indiquant le numéro de relevé et le numéro de page logique dans une adresse de mémoire connue du système d'exploitation. Le cadre d'exploitation en cours est conservé
dans une marque de pile d'interruption dans la mémoire.
3. Le programme de gestion d'interruption pour faute de page se déroule. Si la faute de page s'est produite du fait
d'une référence en dehors de la zone d'adresse logique du pro-
gramme, ce dernier se termine alors avec un état d'erreur.
D'autre part, si une faute de page s'est produite du fait que la page logique était absente de la mémoire physique centrale (mais présente dans la mémoire auxiliaire), le processus du système d'exploitation se déroule de manière à extraire la page absente de la mémoire auxiliaire (habituellement à disques)
- 2473197
pour l'introduire dans une page disponible de la mémoire centra-
le. Cette information de page physique et un bit d'absence à zéro sont insérés dans l'entrée du relevé. Lorsque cette fonction de gestion de la mémoire est complète, le cadre d'exploitation qui a provoque la faute de page est remis dans l'état initial.
4. L'instruction ayant provoqué précédemment la faute de pa-
ge est exécutée de nouveau. Puisque le bit d'absence dans l'en-
trée du relevé de la page logique a été mis maintenant ài "zéro",
une faute de page ne se produira pas, l'adresse de page est tra-
duite en page physique juste introduite depuis la mémoire auxi-
liaire, et l'instruction prend fin.
Comme on l'a noté ci-dessus, le canal d'entrées-sorties
accède à la mémoire par l'intermédiaire de sa propre entrée.
Les transmissions de données vers et depuis la mémoire par le canal d'entrées-sorties se font par l'intermédiaire du relevé des données du système. Ce qui revient à dire que les adresses logiques de seize bits fournies par le canal d'entrées-sorties sont traduites en une adresse physique de dix-huit bits au moyen
du relevé des données du système.
Ainsi, là disposition du rel;evé permet l'accès des entrées-
sorties à un plus grand nombre de mots de la mémoire physique
que son compteur d'adresse ne le permettrait normalement.
Dans un exemple particulier de réalisation de la présente invention, on peut accéder à 262 144 mots de la mémoire physique (pour une adresse de dix-huit bits) avec seulement une adresse logique de seize bits, en parcourant le relevé. L'information d'adresse supplémentaire (l'information de la page physique) est
oontenue dans le relevé et elle est fournie par le système d'ex-
ploitation avant que chaque transmission d'entrées-sorties ne
soit déclenchée.
Comme le montrera mieux la description détaillée qui suit,
la présente invention peut également s'appliquer facilement à une
adresse physique de vingt bits.
La figure 34 est un schéma de fonctionnement montrant les
détails de la mémoire 107 d'un module 33 de processeur et repré-
sentant également les connexions de la mémoire 107 à l'unité centrale 105 et au canal 109 d'entrées-sorties de ce module de processeur. Comme le montre la figure 34, le système de mémoire 107
fournit à la fois à l'unité centrale 105 et au canal 109 d'en-
trées-sorties des entrées d'accès à la mémoire 107, et le ca-
nal 109 d'entrées-sorties n'est donc pas nécessaire pour accéder
à la mémoire par l'intermédiaire de l'unité centrale 105.
La mémoire 107 comprend une logique 401 de commande de mé-
moire du relevé qui commande le début et la fin de l'accès aux
modules 403 de la mémoire physique.
LIa mémoire 107 comprend également une partie 405 de circu-
lation des données contenant des registres (comme l'indiquent
les légendes de la figure 34 et dont unedescription détaillée
est donnée ci-dessous) qui fournissent à la mémoire les données à enregistrer et qui contiennent les données extraites de la mémoire.
La mémoire 107 comprend également une partie 407 de relevé.
Cette dernière partie inclut les registres d'adresses logiques
venant de l'unité centrale et du canal, et une mémoire 409 à re-
levé à partir de laquelle sont obtenus les numéros des pages phy-
siques. La partie 407 de relevé contient ainsi un registre 411 d'adresse de la mémoire du processeur PM& et un registre 129
d'adresse de la mémoire du canal CMA.
Ces deux registres sont connectés à un sélecteur d'adresse 415. Le sélecteur d'adresse 415 est connecté au relevé 409 par
une ligne 417 d'adresse de page logique et le sélecteur d'adres-
se 415 est également connecté directement aux modules de la mé-
moire par une ligne 419 de décalage de page.
Comme l'indiquent les chiffres 8 et 10 contigus aux lignes 417 et 419, la ligne 417 d'adresse de page logique transmet les huit bits de poids fort au relevé4O9 en vue de leur traduction
en un numéro de page physique, tandis que la ligne 419 de déca-
lage de page transmet les dix bits de poids faible (d'une adres-
se de dix-huit pages venant du sélecteur d'adresse 415) aux mo-
dules 403 de la mémoire.
Une ligne 8421 de sortie fournit aux modules 403 l'adresse des pages physiques. Cette ligne de sortie 421 contient les huit
bits de poids fort traduits pour l'adresse de la page physique.
La partie 405 de circulation des données contient les re-
gistres suivants: un registre 423 des données de la mémoire du processeur PMD, un registre 425 des données de la mémoire du canal CMD, un registre 431 d'instruction suivante NI, un registre
122 473197
433 des données de la mémoire ND et un registre 125 des données
du canal CD.
Les sorties des registres PMD et CND sont envoyées à un sé-
lecteur 427 de données. Ce sélecteur 427 de données comporte une ligne de sortie 429 qui fournit les données à introduire en mé-
moire dans les modules 403.
Les données extraites de l'un des modules 403 de la mémoire sont introduites par une ligne 437 dans l'un des trois registres
de données NI, MD et CD.
Comme le montre la figure 34, la logique 401 de commande
de la mémoire à relevé est également connectée à chacun des mo-
dules 403 de la mémoire par une ligne 439. Cette ligne 439 com-
prend des lignes d'instructions qui déclenchent les opérations
d'extraction ou d'enregistrement, des signaux de fin d'opéra-
tion venant des modules de la mémoire, et des indicateurs ou
drapeaux d'erreurs.
On se reportera maintenant à la figure 35. La partie 407 de relevé comprend, outre le relevé 409, un registre 441 de mémoire à relevé, une bascule 443 de sortie du relevé, un registre 445
de données de la mémoire à relevé MMD, un sélecteur 447 de don-
nées de relevé, un générateur 449 de parité de relevé, un con-
trôleur 451 de parité de relevé, une logique 453cb bit de réfé-
rence et une logique 455 de bit-clé.
La logique 401 de commande de la mémoire à relevé est repré-
sentée à la figure 35 comme étant associée avec la partie 407 de relevé par l'intermédiaire des lignes 457 d'acheminement des
signaux de commande.
La logique 401 de commande de la mémoire à relevé commande le chargement des registres et la sélection des registres par les sélecteurs, commande le déclenchement des opérations des
modules 403 de la mémoire (en liaison avec les sorties d'absen-
ce de relevé et d'erreur de parité), et fournit les interruptions à l'unité centrale 105 (comme l'indiquent les signaux de faute
de page et d'interruption pour erreur de parité du relevé re-
présenté par les légendes à la figure 35). Toutes ces opérations
seront décrites plus en détail ci-dessous.
Dans un exemple particulier de réalisation de la présente invention, le système de mémoire représenté aux figures 34 et 35 utilise une zone d'adresse de page physique de huit bits et un décalage de page de dix bits qui se combinent pour donner un
123 2473197
total de dix-huit bits. Comme on l'a noté ci-dessus, les nombres 8, 10, 12, 13, 14 et 18 qui ne figurent pas entre parenthèses sur
certaines lignes des figures 34 et 35, se rapportent à cet exem-
ple particulier de réalisation-à dix-huit bits de la présente invention. Cependant, le système de mémoire peut être facilement
étendu à un exemple de réalisation à vingt bits (avec une adres-
se de page physique de dix bits) et ceci est indiqué par les nom-
bres 10, 12, 14, 15, 16 et 20 qui figurent entre parenthèses
sur les mêmes lignes de la figure 35.
La figure 36 illustre la structure de la mémoire logique en quatre zones d'adresse logique séparées et distinctes 459, 461, 463 et 465. Ces quatre zones d'adresse logique sont: la zone 459 des données de l'utilisateur, la zone 461 des données du système, la zone 463 du code de l'utilisateur et la zone 465 du
code du système.
La figure 36 illustre également les quatre parties du rele-
vé correspondant aux zones d'adresse logique.
Ainsi, la partie 467 du relevé des données de l'utilisateur
correspond à la zone 459 d'adresse logique des données de l'uti-
lisateur, la partie 469 du relevé des données du système corres-
pond à la zone 461 d'adresse logique des données du système, la partie 471 du relevé du code de l'utilisateur correspond à la zone 463 d'adresse logique du code de l'utilisateur et la partie
473 du relevé du code du système correspond à la zone 465 d'a-
dresse logique du code du système.
Comme le montre également la figure 36, chaque partie du relevé comporte soixante-quatre entrées de pages logiques (page zéro àlage soixante-trois) , et chaque entrée du relevé comprend seize bits, comme le montre la seule entrée de relevé à grande
échelle représentée à la figure 36.
Comme l'indiquent les légendes associées à l'entrée de rele-
vé à grande échelle représentée à la figure 36, chaque entrée de relevé comprend une zone de numéro de page physique de dix bits,
un seul bit de parité P, une zone historique de référence compre-
nant trois bits de référence R, S et T, un seul bit-clé D et un.
seul bit d'absence.
La zone de numéro de la page physique fournie par les dix
bits de poids fort, donne le numéro de la page physique corres-
pondant à la page logique imposée par le programme.
le bit de parité P est toujours créé sous forme d'imparité pour fournir un contrôle d'intégrité de données sur les contenus
à l'entrée du relevé.
Les bits de la zone historique de référence R. S et T sont utilisés par la fonction de gestion de la mémoire du système d'exploitation afin de conserver l'information historique de réfé- rence pour sélectionner la page la moins récemment utilisée pour
le recouvrement.
Le bit R est mis à "un" par n'importe quelle opération d'ex-
traction ou d'enregistrement effeectuée sur cette page logique.
Les bits S et T sont des bits d'enregistrement qui sont ma-
nipulés par l'instruction de décalage d'une entrée de relevé AP. Le bitclé D est mis à 1"un" par un accès d'enregistrement à cette page logique. le système d'exploitation utilise le bit-clé pour déterminer si une page de données a été modifiée depuis
qu'elle a été extraite en dernier lieu de la mémoire auxiliaire.
Le bit d'absence A est mis à 'un. par le système d'exploi-
tation pour signaler-une page logique qui est absente de la mé-
* moire centrale mais qui est présente dans la mémoire auxiliaire,
ou pour signaler une page qui est en dehors de la zone d'adres-
se logique de cet utilisateur.
Les deux bits de poids fort, dans le cas de l'entrée de re-
levé représentée à la figure 36, ne sont pas utilisés dans l'exem-
ple particulier de réalisation de la présente invention illustré
par les dessins, mais ces deux bits sont utilisés lorsque l'a-
dresse physique complète de vingt bits est utilisée.
Comme on l'a noté ci-dessus, ces instructions sont utilisées par le système d'exploitation en liaison avec le relevé. Ces trois instructions sont l'instruction d'insertion des données dans une entrée de relevé SNAY, l'instruction de lecture d'une entrée
de relevé EMAP et l'instruction de décalage d'une entrée de rele-
vé AHAP.
L'instruction SMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour insérer des données dans une entrée de relevé telle que celle qui est illustrée à la
figure 36.
L'instruction SMAP est mise en oeuvre par le microprogramme
, représenté à la figure 12, de l'unité centrale 105. Le mi-
croprogramme agit en liaison avec la logique 401 de commande de la mémoire à relevé, représentée à la figure 34, tout d'abord pour sélectionner un emplacement dans le relevé 409 (à l'aide du premier paramètre de l'insertion) et ensuite pour insérer dans cet emplacement le deuxième paramètre de l'instruction,
c'est-à-dire les nouvelles données d'entrée du relevé.
En fonctionnement, comme le montre la figure 35, dans le premier stade de la séquence, le microprogramme 115 charge les nouvelles données d'entrée du relevé dans le registre 423 des
données de la mémoire du processeur PID.
Dans le stade suivant de la séquence, l'adresse du relevé y compris les deux bits de poids fort destinés à la sélection du relevé, est chargée dans le registre 411 d'adresse de la
mémoire du processeur PMA.
A ce moment-là, les deux paramètres d'instruction, conte-
nant l'adresse d'entrée du relevé et les données à insérer, ont
été chargés dans leurs registres respectifs 411 et 423.
Ensuite, le microprogramme 15 de l'unité centrale 105-dé-
clenche une séquence d'opérations d'enregistrement de relevé de
la logique 401 de commande de la mémoire à relevé, Cette séquen-
ce d'opérations d'enregistrement de relevé est déclenchée après
que les opérations précédentes de la mémoire ont été terminées.
Les stades de la séquence d'opérations notés ci-dessus
ont été tous accomplis par le microprogramme (microinstructions).
Les autres actions de l'instruction d'insertion des données dans une entrée de relevé SMAP sont accomplies par la logique de commande de la mémoire à relevé. Ainsi, les autres actions
sont toutes accomplies automatiquement par le matériel.
Dans la séquence d'opération d'enregistrement de relevé, l'adresse du relevé est transmise du registre d'adresse de la mémoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse et de laligne 417. Seuls les huit
bits de poids fort (la sélection du relevé et l'adresse du re-
levé) sont utilisés dans cette opération.
lies deux bits de poids fort indiquent la sélection du re-
levé, que ce soit les données de l'utilisateur, les données du
système, le code de l'utilisateur ou le code du système.
Les dix bits de poids faible de la ligne d'adresse logi-
que venant du sélecteur 415. d'adresse ASEL (bits qui constituent
le décalage dans une page pour un accès d'extraction de la mé-
moire ou d'enregistrement en mémoire) ne sont pas utilisés dans
cette opération.
Pendant que le relevé est adressé comme on l'a décrit ci-
dessus, les nouvelles données du relevé sont transmises du re-
gistre 423 des données de la mémoire du processeur PND au géné-
rateur 449 de parité de relevé et au relevé 409, par l'intermé-
diaire du sélecteur 447 de données du relevé. Le générateur de
parité de relevé calcule l'imparité à partir des nouvelles don-
nées du relevé et fournit ce bit de parité au relevé.
A ce moment-là, la logique 401 de commande de la mémoire à relevé envoie au relevé 409 un signal d'échantillonnage d'enregistrement dans le relevé, par l'une des lignes repérées
par la référence 457 à la figure 35, ce qui produit l'enregis-
trement des nouvelles données et de la nouvelle parité dans la
partie sélectionnée du relevé, à l'entrée particulière du rele-
vé sélectionnée par l'adresse de la page logique dans la ligne
417.
Cette opération termine la séquence d'instruction d'inser-
tion de données dans une entrée du relevé SNAP.
A la fin de cette instruction d'insertion de données dans une entrée du relevé SMAP, la partie appropriée du relevé a été sélectionnée, l'entrée particulièrede la page logique dans cette partie du relevé a été sélectionnée, les données et l'impaiité
calculée ont été fournies au relevé, et le signal d'échantillon-
nage d'enregistrement dans le relevé a produit l'enregistrement
des données à l'entrée souhaitée du relevé.
L'instruction d'insertion des données dans une entrée du relevé SMAP est utilisée par le système d'exploitation pour
initialiser chaque entrée de page logique dans chacune des qua-
tre parties du relevé, suivant les exigences.
Une utilisation de l'instruction d'insertion de données
dans le relevé consiste donc à insérer une adresse de page phy-
sique afin qu'une page logique fournisse la traduction des numé-
ros de pages logiques en numéros de pages physiques après
<.'une page a été transférée à partir de la mémoire auxiliaire.
Une autre utilisation de l'instruction d'insertion de don-
nées dans le relevé consiste à mettre à "un" un bit d'absence
pour une page logique transférée dans la mémoire auxiliaire.
L'instruction de lecture d'une entrée du relevé RMAP est utilisée par la fonction de gestion de la mémoire du système
d'exploitation pour interroger le contenu d'une entrée de relevé.
Dans cette instruction de lecture d'une entrée du relevé RMAP, le microprogramme 115 de l'unité centrale 105 agit en liaison avec la logique 401 de commande de la mémoire à relevé pour sélectionner, à l'aide du paramètre de l'instruction, un emplacement dans le relevé 409 et pour le renvoyer à la pile 112 du registre, à la figure 12, sous'la forme d'un résultat du
contenu de cette entrée de relevé.
Dans l'exécution de l'instruction de lecture d'une entrée du relevé RMAP, comme le montre la figure 35, le microprogramme charge l'adresse du relevé, y compris les deux bits de poids
fort pour la sélection du relevé, dans le registre 411 d'adres-
se de la mémoire du processeur PRU. Le microprogramme 115 dé-
clenche ensuite une séquence d'opérations de lecture de relevé
de la logique 401 de commande de la mémoire à relevé.
Cette séquence est accomplie ensuite par le matériel et,
dans cette séquence, l'adresse du relevé est transmise du regis-
tre 411 d'adresse de la mémoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse. De nouveau, seuls les bits de sélection de relevé et d'adresse de page sont
utilisés dans cette séquence.
lie contenu de l'entrée du relevé sélectionnée est transmis du relevé 409 au contrôleur 451 de parité de relevé, comme le
montre la figure 35, et à la bascule 443 de sortie du relevé.
Le contrôleur 451 de parité de relevé compare le bit de parité venu de l'entrée du relevé avec l'imparité calculée à partir des
données.
Si la parité n'est pas correcte, l'adresse du relevé est chargée dans le registre 441 de pages de relevé et le signal d'erreur de parité du relevé détermine une indication d'erreur qui produit à l'unité centrale 105 une interruption pour erreur
de parité du relevé.
D'autre part, si la parité est correcte, les données d'en-
trée du relevé sont chargées de la bascule 443 de sortie du re-
levé dans le registre 445 de données de la mémoire à relevé MMD.
Enfin, le résultat de l'instruction est que le micropro-
gramme de l'instruction de lecture d'entrée de relevé RMAP ren-
voie à la pile de registre 112, représentée à la figure 12, les données qui sont dans le registre 445 de données de la mémoire
à relevé MMD.
A la fin de l'instruction de lecture d'entrée de relevé
RMAP, la partie appropriée du relevé a été sélectionnée, l'en-
trée de la page logique particulière dans cette partie du rele-
vé a été sélectionnée et le contenu de cette entrée de relevé a été extrait du relevé et renvoyé, à la suite de l'instruction,
à la pile du registre de l'unité centrale.
Les utilisations de l'instruction de lecture d'entrée de relevé RMAP sont les suivantes: La fonction principale-de cette instruction de lecture
d'entrée de relevé RMAP est de permettre au système d'exploi-
tation d'interroger la zone historique de référence et le bit-
clé d'une entrée de relevé (voir le format de l'entrée de rele-
vé représenté à la figure 36) afin de déterminer une page en vue
du recouvrement (comme le montrera mieux la description de l'o-
pération suivante).
L'instruction de lecture d'entrée de relevé RMIAP est éga-
lement utilisée dans des diagnostics afin de déterminer si la
mémoire à relevé fonctionne correctement.
L'instruction de décalage d'une entrée de relevé AMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour maintenir l'information historique utile
de référence dans le relevé. Cette information historique de ré-
férence est maintenue dans le relevé par les entrées du relevé (les bits R, S et T du format d'entrée du relevé représenté à la figure 36), dans une partie du relevé qui sont 'décalées" d'une manière caractéristique après chaque interruption pour
faute de page dans cette partie du relevé.
Cette instruction de décalage d'une entrée de relevé AN"
comporte un seul paramètre qui est l'adresse de relevé indi-
quant l'emplacement de relevé à décaler.
Dans l'exécution de l'instruction de décalage d'une entrée de relevé AMAP, le microprogramme 115 de l'unité centrale 105 sélectionne un emplacement de relevé au moyen du paramètre d'adresse du relevé de l'instruction. Le microprogramme 115
charge le paramètre d'adresse du relevé dans le registre d'a-
dresse de la mémoire du processeur PR& exactement comme dans
l'instruction de lecture d'une entrée de relevé RMAP.
A ce stade, une séquence d'opérations de lecture de relevé
de la logique 401 de commande de la mémoire à relevé est déclen-
-chée et cette séquence se poursuit exactement comme dans l'ins-
truction de lecture d'une entrée de relevé RMAP décrite ci-
dessus.
129 2473197
Le microprogramme 115, représenté à la figure 12, lit le contenu de l'entrée du relevé venant du registre 445 de données de la mémoire à relevé IMD, représenté à la figure 35, extrait
la zone historique de référence (les bits R, S et T de référen-
ce 10, Il et 12 représentés à la figure 36), décalela zone vers la droite d'une position et réinsère la zone pour former les
nouvelles données d'entrée du relevé. Ainsi, un zéro a été in-
troduit dans le bit R, le bit R a été introduit par décalage dans le bit Se le bit S a été introduit par décalage dans le
bit T, et l'ancien bit T est perdu.
Le microprogramme 115 prend alors l'entrée modifiée du relevé, charge ces nouvelles données dans le registre 423 de données de la mémoire du processeur PMD, représenté à la figure 34, et réintroduit les nouvelles données d'entrée du relevé dans l'entrée du relevé sélectionnée, comme dans la séquence
d'insertion des données dans une entrée du relevé SMAP.
Ces opérations terminent l'instruction de décalage d'une
entrée de relevé ANAP.
Le résultat de l'instruction de décalage d'une entrée de
relevé ANÀP est le suivant: une entrée de relevé a été extrai-
te du relevé, sa zone historique de référence a été décalée et
cette entrée modifiée a été réinsérée dans l'emplacement sélec-
tionné du relevé.
Comme on l'a noté précédemment, le bit R est mis à "un" par n'importe quelle référence de la mémoire à la page logique correspondante, de sorte que lorsque ce bit est à l'état "un", c'est une indication que cette page a été utilisée depuis la dernière instruction d'insertion de données dans une entrée de
relevé SMAP ou de décalage d'une entrée de relevé AMAP.
Cette mise à "un" du bit R en liaison avec l'instruction de décalage d'une entrée de relevé AMAP fournit un moyen de maintenir l'information concernant la fréquence d'utilisation
dans la zone historique de référence du relevé.
La zone historique de référence de toutes les entrées de
relevé dans un relevé donné est décalée de manière caractéris-
tique après une interruption pour faute de page. Ainsi, la va-
leur de la zone de référence de trois bits dans une entrée de relevé est une indication de la fréquence d'accès depuis les
trois interruptions précédentes pour faute de page.
Par exemple, une valeur binaire de sept (les trois bits de
I 2473197
référence étant tous mis à "un") indique des accès dans chacun des intervalles entre les interruptions précédentes pour faute
de page.
Une valeur binaire de quatre dans la zone historique de référence (le bit R étant à l'état "un" et les bits S et T à l'état "zéro") indique un accès dans l'intervalle depuis la dernière interruption pour faute de page et elle indique qu'il n'y a pas eu d'accès dans les intervalles qui précèdent la plus
récente interruption pour faute de page.
Citons un dernier exemple. Une valeur binaire de zéro pour la zone de référence de trois bits indique qu'il n'y a pas eu d'accès à cette page logique dans aucun des trois intervalles
depuis les trois dernières interruptions pour faute de page.
Ainsi, plus le nombre binaire représenté par la zone histo-
rique de référence de trois bits est élevé, plus la fréquence
d'accès récents à cette page logique est élevée.
Cette information historique de référence est maintenue de
sorte que, lorsqu'il faut sélectionner une page pour le recou-
vrement, une page qui n'a pas été utilisée fréquemment dans le récent passé peut être identifiée. Une page qui n'a pas livré
d'accès fréquents dans le récent passé est susceptible de con-
tinuer ce comportement et cette page ne devra donc probablement
pas être réintroduite en mémoire après avoir été recouverte.
Cette information historique concernant la fréquence d'u-
tilisation est utilisée par la fonction de gestion de la mémoi-
re du système d'exploitation afin de sélectionner les pages non fréquemment utilisées pour le recouvrement, de manière à
réduire au minimum les transferts à partir de la mémoire auxi-
liaire et mettre en oeuvre un système efficace de mémoire vir-
tuelle.
Comme on l'a noté ci-dessus, l'accès à la mémoire peut
se faire par l'unité centrale ou par le système d'entrées-
sorties. On décrira maintenant l'action du système de mémoire et du relevé pendant une séquence d'accès à la mémoire par l'unité centrale. La séquence d'accès est similaire pour les divers
accès à la mémoire par l'unité centrale, tels que l'enregistre-
nent desdonnées, l'extraction des données ou l'extraction des
instructions depuis la mémoire.
La séquence d'accès à la mémoire par l'unité centrale
131 2 473197
est déclenchée par le microprogramme 115 de l'unité centrale ou par j.'a logique de prise en charge des instructions de l'unité centrale. Dans un cas ou dans l'autre, l'unité centrale 105 charge une adresse logique de dix-huit bits dans le registre 411 d'adresses de la mémoire du processeur PMA et elle déclenche
une séquence d'opérations d'extraction de données, d'enregistre-
mentde données ou d'extraction d'instructions de la logique 401
de commande de la mémoire à relevé.
L'adresse logique de-dix-huit bits se compose de deux bits de poids fort de sélection d'espace d'adresse logique et de seize bits de poids faible définissant un emplacement dans cet espace d'adresse logique. Les deux bits de sélection peuvent être déterminés par le microprogramme 115 de l'unité centrale ou ils peuvent être créés automatiquement dans l'unité centrale, sur la base des contenus des registres d'instruction I et de conditions d'exploitation E. L'adresse logique de dix-huit bits comprend également, en plus des deux bits de poids fort de sélection d'adresse logique,
six bits qui déterminent la page logique dans le relevé sélec-
tionné et dix bits de poids faible qui déterminent le décalage
au sein de la page dans le relevé sélectionné.
Dans la séquence d'opérations d'extraction de données, d'enregistrement de données ou d'extraction d'instructions de la logique 401 de commande de la mémoire à relevé, après que toute opération précédente du relevé ou de la mémoire a été terminée,
l'adresse de dix-huit bits contenue dans le registre 411 d'a-
dresses de la mémoire du processeur PM&, représenté à la figure
j5, est transmise aux lignes 417 et 419, représentées aux figu-
res 34 et 35,par l'intermédiaire du sélecteur 415 d'adresse.
La ligne 419 transmet la partie de décalage de page de l'adresse. Cette partie de décalage de page de l'adresse est transmise directement aux modules 403 de la mémoire physique,
représentés à la figure 34, par la ligne 419.
La ligne 417 transmet la partie d'adresse de page logique (qui doit être traduite en une adresse de page physique) au
relevé 409.
L'entrée du relevé sélectionnée par l'adresse de page logique est extraite du relevé 409 et transmise à la logique 401 de commande de la mémoire à relevé de la figure 34, au contrôleur 451 de parité de relevé de la figure 35 et à la
2473 197
bascule445 de sortie du relevé.
Si le bit d'absence est à l'état "un", l'adresse de la page logiqueest chargée dans le registre 441 des pages du relevé, un signal d'interruption pour faute de page est transmis à l'unité centrale 105 et la logique 401 de commande de la mémoire à
relevé met fin à la séquence d'accès à la mémoire.
De même, si le contrôleur 451 de parité détecte une parité incorrecte dans l'entrée du relevé, l'adresse de la page logique est chargée dans le registre 441 de pages de relevés, un signal d'erreur de parité de relevé est transmis à l'unité centrale et
la séquence d'accès à la mémoire est terminée.
D'autre part, s'il n'y a pas d'erreur, l'adresse de la page physique est transmise de la bascule 443 de sortie du relevé aux modules 403 de la mémoire physique par l'intermédiaire de
la ligne 421; et la logique 401 de commande de la mémoire à re-
levé émet une instruction dans la ligne 439 pour amener le mo-
dule 403 de mémoire sélectionné à exécuter une opération d'ex-
traction ac d'enregistrement.
Dans une opération d'enregistrement dans l'unité centrale, les données à enregistrer sont transmises du registre 423 de données de la mémoire du processeur PKD, par l'intermédiaire du
sélecteur 427 de données, au module de mémoire dans la ligne 429.
Pendant que le module de mémoire effectue une opération d'extraction ou d'enregistrement, la logique 401 de commande de
la mémoire à relevé provoque la modification et le réenregistre-
ment des données d'entrée du relevé.
Les données d'entrée du relevé, sans le bit de parité P ou le bit de référence R, sont transmises de la bascule 443 de sortie du relevé à la logique 455 du bit-clé représenté à la
figure 35, et au sélecteur 447 de données du relevé.
Dans cette opération, la zone de la page physique d'une en-
trée de relevé, représentée en détail à grande échelle dans la partie inférieure droite de la figure 36, et les bits S et T de la zone de référence ainsi que le bit d'absence sont toujours
réenregistrés sans modification.
Si une opération d'enregistrement de données dans l'unité
centrale est en cours d'exécution, le bit-clé D fourni au sélec-
teur de données du relevé est mis à "un" par la logique 455 du
bit-clé. Sinon, le bit-clé n'est pas modifié.
Le bit R de référence fourni au sélecteur de données du re-
levé par la logique 453 du bit de référence est mis à "un", soit
dans une opération d'extraction, soit dans une opération d'enre-
gistrement.! La zone de la page physique et les bits S, T et A ne sont pas modifiés, comme on l'a noté ci-dessus. Le sélecteur 447 de données du relevé fournit ces nouvelles
données du relevé au générateur 449 de parité et au relevé 409.
Un bit d'imparité est créé à partir des nouvelles données
par le générateur 449 de parité, comme le montre la figure 35.
Un signal d'échantillonnage d'enregistrement de relevé ve-
nant de la logique 401 de commande de la mémoire à relevé provo-
que ensuite l'enregistrement des nouvelles données et de la nou-
velle parité dans l'entrée du relevé sélectionnée par la ligne
417 d'adresse de la page logique.
Ainsi, la page logique a été traduite par l'intermédiaire de l'entrée du relevé, et cette dernière a été réenregistrée
avec des bits de parité, de référence et de clé mis à jour.
Lorsque le module 403 de la mémoire physique termine son opération d'extraction ou d'enregistrement, il envoie, par la
ligne 439, un signal de fin d'opération à la logique 401 de com-
* mande de la mémoire à relevé. Voir figure 34.
Dans une opération d'extraction, le module 403 de la mémoire
dirige les données de la mémoire vers la ligne 437, comme le mon-
tre la figure 34.
Dans une séquence d'opérations d'extraction de données, les
données sont chargées dans le registre 433 de données de la mé-
moire MD, représenté à la figure 34, pour être utilisées par
l'unité centrale 205.
Dans une séquence d'opérations d'extraction d'instructions, les données sont chargées dans le registre 431 d'instruction suivante NI pour une exécution ultérieure par l'unité centrale 105. Les accès à la mémoire de l'unité centrale pour l'extraction
de données, l'enregistrement de données et l'extraction d'instruc-
tions sont ainsi complétés comme on l'a décrit ci-dessus.
Un accès au canal d'entrées-sorties pour l'extraction ou l'introduction de données en mémoire se fait de manière analogue à un accès à la mémoire de l'unité centrale, comme on l'a décrit
ci-dessus, avec cependant les exceptions suivantes.
Le registre 129 d'adresses de la mémoire du canal CMA repré-
sen-té à la figure 34, est utilisé pour fournir l'adresse logique
et ce registre indique toujours le relevé 469 des données du sys-
tème. Voir figure 35.
Le registre 425 de données de la mémoire du canal CMD repré-
senté à la figure 34, est utilisé pour fournir les données à la
mémoire dans une opération d'enregistrement.
Le registre 125 de données du canal CD, représenté à la fi-
gure 34, est utilisé pour recevoir les données venant de la mé-
moire dans une opération d'extraction.
Dans le cas d'un accès à la mémoire du canal 109 d'entrées-
sorties, cet accès est toujours un accès d'extraction de données ou d'introduction de données en mémoire, et il n'y a aucun accès
d'extraction d'instructions comme dans le cas d'un accès à l'uni-
té centrale.
En outre, la parité du relevé et les conditions d'absence
sont transmises au canal 109 d'entrées-sorties, si elles se pro-
duisent dans le cas d'un accès à la mémoire du canal d'entrées-
sorties. Comme on l'a noté en plusieurs points ci-dessus, les modules 403 de mémoire sont constitués d'une mémoire à semiconducteurs
ou d'une mémoire à tores.
Lorsque la mémoire est une mémoire à tores, les erreurs sont détectées par un système de détection d'erreurs de parité. Le
système de détection d'erreurs de parité pour des modules de mé-
moire à tores détecte efficacement toutes les erreurs de bit uni-
que. Les techniques classiques de création et de contrôle d'er-
reurs de parité sont utilisées et les détails de la mémoire à to-
res ne seront donc pas décrits.
La probabilité de défaillance d'une mémoire à semi-conduc-
teurs est suffisamment élevée pour justifier un système de dé-
tection et de correction d'erreurs; la présente invention four-
nit un système de détection et de correction qui incorpore une zone de contrôle de six bits pour chaque mot de seize bits. Les
figures 37 à 41 et la table 1 qui s'y rapporte, présentée ci-
après, illustrent en détail le système de détection et de correc-
tion utilisé lorsque les modules 403 de la mémoire sont consti-
tués d'une mémoire à semiconducteurs.
Le système de détection et de correction d'erreurs compre-
nant une zone de contrôle de six bits qui fait partie de la pré-
sente invention peut, comme on le décrira en détail ci-après, dé-
tecter et corriger toutes les erreurs de bit unique et ce système
est également capable de détecter toutes les erreurs de bit dou-
ble. En outre, la plupart des erreurs de trois ou plusieurs bits
sont détectées.
Bien que le système de détection et de correction d'erreurs soit décrit en relation avec une mémoire à semiconducteurs, on doit noter que le système ne se limite pas et ne se réduit pas aux mémoires à semiconducteurs. Il est au contraire utile pour n'importe quelle application de stockage ou de transmission de donnéese
Un avantage important du système de détection et de correc-
tion d'erreurs qui fait partie de la présente invention résulte
du fait que, non seulement les erreurs de bit unique sont corri-
gées, mais aussi que toute erreur suivante de bit double est dé-
tectée de manière sure après la défaillance d'un bit unique.
Le système de traitement par multiprocesseurs comprenant
le système de détection et de correction d'erreurs de la présen-
te invention tolère donc des défaillances d'un composant unique et il peut être exploité avec des défaillances de bit unique
dans la mémoire à semiconducteurs, jusqu'au moment o il est com-
mode de réparer la mémoire.
Le système de détection et de correction d'erreurs utilise un code binaire linéaire systématique, de distance de Hamming égale à quatre. Dans ce code, chaque bit de contrôle est une combinaison linéaire de huit bits d'information, comme le montre
la figure 38. De même, chaque bit d'information se compose d'exac-
tement trois bits de contrôle, comme le montre également la fi-
gure 38. Un avantage de ce code est qu'il permet d'obtenir une
couverture uniforme des bits d'information par les bits de con-
trôle.
Le système de détection et de correction d'erreurs consti-
tue un exemple de réalisation d'un décodeur de syndrome qui fournit une combinaison de vitesse logique élevée et de compte
de pièces peu élevé.
En résumé, le système de détection et de correction d'er-
reurs de la présente invention fonctionne de manière à ajouter six bits de contrôle à chaque mot d'information introduit en mémoire. Lorsqu'un mot d'information est ensuite extrait de la mémoire, la partie de la zone de contrôle du mot en mémoire est utilisée pour identifier ou détecter la perte d'information dans
52 2473197
ce mot depuis le moment o il a été stocké en mémoire.
Dans une mémoire à semiconducteurs, deux mécanismes de per-
te d'information (erreur) sont possibles. L'un est une panne
grave d'un dispositif de la mémoire qui rend ce dispositif in-
capable en permanence de conserver l'information, et l'autre est une panne légère dans laquelle le bruit électrique peut
provoquer une perte passagère d'information.
La détection des erreurs est faite par un comparateur de
bits de contrôle qui produit un syndrome de six bits. Le syndro-
me est la différence entre la zone de contrôle tirée du mot stocké et la zone de contrôle qui correspondrait normalement à
la zone d'information tirée du mot stocké.
Le syndrome est ensuite analysé (décodé) afin de détermi-
ner si une erreur s'est produite et, si c'est le cas, de déter-
miner le type de correction qui est nécessaire.
Dans le cas d'erreurs de bit unique d'information, la sor-
tie du décodeur de syndrome amène un complémentateur de bits
d'information à inverser le bit qui était erroné, cette infor-
mation corrigée est fournie sous forme de sortie de ce module
de mémoire.
Si le décodeur de syndrome indique une erreur multiple, le fait de l'erreur multiple est alors communiqué à la partie de commande de la mémoire à relevé, par l'intermédiaire de l'une des lignes d'erreur et de commande, afin d'interrompre l'unité
centrale.
On se reportera maintenant à la figure 37. Le module 403 de mémoire inclut une partie 475 de logique de commande et de
synchronisation et un ensemble 477 de mémoire à semi-conducteurs.
L'ensemble 477 de mémoire permet de stocker 32 768 mots de vingt-
deux bits chacun. Comme le montre la figure 37, chaque mot com-
porte une zone d'information de seize bits et une zone de con-
trôle de six bits.
Chaque module 403 de mémoire à semiconducteurs comporte éga-
lement, comme le montre la figure 37, une bascule 479 de sortie, un générateur 481 de bits de contrôle, un comparateur 483 de bits de contrôle, un décodeur 485 de syndrome et un complémentateur487 de bits d'information.
Le module 403 de mémoire est connecté au reste du système
par l'intermédiaire des lignes de signaux et de données repré-
sentées à la figure 370 Ces lignes comprennent: la ligne 429 d'acheminement des données vers la mémoire, les lignes 439 de
commande et d'erreur vers la partie 401 de commande de la mé-
moie à relevé, les lignes 419 et 421 d'adresse physique et la ligne 437 d'extraction des données de la mémoire. Ces lignes de signaux et de données sont également représentées à la fi-
gure 34.
On continuera à se reporter à la figure 37. Le contenu de la bascule 479 de sortie est transmis, par une ligne 489, au comparateur 483 de bits de contrôle et au comparateur 487 de
bits d'information.
La sortie du comparateur 483 de bits de contrôle est transmise, par une ligne 491 de syndrome, au décodeur 485 de
syndrome et à la partie logique 475 de commande et de synchro-
nisation. La sortie du décodeur 485 de syndrome est transmise, par
une ligne 493, au complémentateur 487 de bits d'information.
D'autres sorties du décodeur 485 de syndrome sont trans-
mises, par les lignes.,495 et 497, à la partie logique 475 de commande et de synchronisation. La ligne 495 transmet un signal d'ERREUR UNIQUE (erreur corrigible) et la ligne 497 transmet
un signal d'ERHEUR NUITIPIE (erreur incorrigible).
La logique 475 de commande et de synchronisation fournit
des signaux de commande, par une ligne de commande 499, à l'en-
semble 477 de mémoires à semiconducteurs et également à la bas-
cule 479 de sortie.
La sortie du générateur 481 de bits de contrôle est trans-
mise à l'ensemble 477 de mémoire par une ligne 501.
Comme le montre la figure 38, le générateur 481 de bits de contrôle comprend six arbres séparés 503 de parité de huit
bits.
Comme le montre la figure 39, le comparateur 483 de bits de contrôle comprend six arbres séparés 505 de parité de neuf bits. Comme le montre la figure 40, le décodeur de syndrome 485 comprend une partie 507 de décodeur et un arbre 509 de parité
de six bits.
En se reportant toujours à la figure 40, on verra que les
sorties de la partie 507 de décodeur et de l'arbre 509 de pa-
rité de six bits sont combinées dans la logique d'identifica-
tion d'erreur repérée d'une manière générale par la référence 511. Comme le montre la figure 41, le complémentateur 437 de
bits comprend seize portes OU exclusif 513.
En fonctionnement, le mot contenant des donéées de seize bits est fourni par la ligne 428 à l'ensemble 477 de mémoire et
également au générateur 481 de bits de contrôle. Voir figure 37.
Le générateur 481 de bits de contrôle, comme le montre le
mieux la figure 38, crée six bits de contrôle CO à C5, à l'ai-
de de six arbres 503 de parité de huit bits.
Comme le montre également la figure 38, l'arbre 503 de pa-
rité de huit bits situé à l'extrême gauche crée le bit de con-
trôle CO, comme l'indique l'équation logique de CO développée
au bas de la figure 38. Le bit de contrôle CO est donc le com-
plément de la somme modulo deux des bits d'information 8 à 15.
Pour donner un autre exemple, le bit de contrôle C3 est créé par un arbre 503 de parité de huit bits, comme l'indique l'équation logique de C5 développée au bas de la figure 58. Le
bit de contrôle C3 est la somme modulo deux des bits d'informa-
tion 0, 1, 2, 4, 7, 9, 10 et 12, représentée par l'équation lo-
gique.et illustrée également par les connexions entre l'arbre de
parité de huit bits et les lignes de bits d'information corres-
pondantes dans le schéma logique en haut de la figure 38.
De même, chacun des autres bits de contrôle est créé par une addition modulo deux de huit bits d'information, comme le
montre le schéma logique en haut de la figure 38.
Pour effectuer une opération d'enregistrement en mémoire, ces bix bits de contrôle créés ainsi par le générateur 481 de bits de contrôle, et les seize bits d'information transmis par la ligne 429 acheminant les données, sont introduits dans un emplacement particulier de l'ensemble 477 de mémoire. Comme le montre la figure 37, les six bits de contrôle et les seize bits d'information sont introduits dans l'ensemble 477 de mémoire par
la logique 475 de commande et de synchronisation et l'informa-
tion d'adresse physique transmise par la ligne d'adresse physi-
que 419 et 421.
Chaque mot enregistré dans l'ensemble 477 de mémoire com-
porte une zone de contrôle de six bits créée de la même manière pour chaque mot. Cette zone de contrôle est retenue avec le mot enregistré dans l'ensemble 477 de mémoire jusqu'au moment o
cet emplacement dans l'ensemble de mémoire est ensuite accessi-
ble pour une opération d'extraction.
Lorsqu'un mot particulier doit être extrait de l'ensemble 477 de mémoire,] a logique 475/commande et de synchroMnisation et l'adresse transmise par la ligne d'adresse physique 419 et 421 provoquent un chargement du contenu de l'emplacement sélec-
tionné de la mémoire dans la bascule 479 de sortie. Cette der-
nière a une largeur de vingt-deux bits afin de recevoir les
seize bits d'information et la zone de contrôle de six bits.
De la bascule 479 de sortie, les seize bits d'information dt la zone de contrôle de six bits sont transmis au comparateur
483 de bits de contrôle, par une ligne 489.
Comme le montre la figure 39, le comparateur 483 de bits
de contrôle forme six bits de syndrome S0 à S5.
Chaque bit de syndrome est la sortie d'un arbre 505 de pa-
rité de neuf bits dont les entrées sont composées de huit bits d'information et d'un de contrôle. Chaque bit de syndrome est relié à un bit de contrôle numéroté de même. Ainsi, le bit de contrôle "zéro" est utilisé uniquement pour calculer le bit de syndrome "zéro", le bit de contrôle "un" est utilisé uniquement pour calculer le bit de syndrome "un", etc.
Par exemple, le bit de syndrome "zéro" S0 est le complé-
ment de la somme modulo deux du bit de contrôle "zéro" et des bits d'information 8 à 15, comme le-montre l'équation logique
au bas de la figure 39.
De même, chacun des bits de syndrome S1 à S5 est créé à
partir de la somme modulo deux d'un bit de contrôle correspon-
dant et de huit des bits d'information, comme le montrent les connexions aux lignes particulières de bits d'information pour chaque bit de syndrome dans la partie de schéma logique de la
figure 39.
La présence ou l'absence d'erreurs et les types d'erreurs, la cas échéant, sont indentifiés par la traduction de la valeur
des six bits de syndrome dans la ligne 491.
La table i énumère les soixante-quatre valeurs possibles du code de syndrome de six bits et elle donne la traduction
de chaque valeur possible.
TABLE I
CODE DE SYNDROME
S0 SI S2 S3 S4 S5
O O 0
0o0 0 0 1 0 1 1 0 1 0 1 1 0 i 1
1 0 0
O O 0 1 o o o
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
ERREUR
(aucune erreur) C5 C4 (Double) C5 (Double) (Double) Do C2 (Double) (Double) (Multiple) (Double) D1 D2 (Double) Cl (Double) (Double) D3 (Double) S0 SI S2 s
1 0 0
0 1 o o o o I 0
1 O. 1
o o o o o o o o o o o
33 S4 S5 RREUR
o o o 0 O 0 1 (Double) 0 1 0 (Double)
0 I I D8
1 O O (Double)
1 0 1 D9
1 1 0 D10
1 1 1 (Double) O O 0 (Double)
O 0 1 D11
0 1 0 (Multiple -
tous les bits sont à 0 0 1 1 (Double)
1 0 0 D12
1 0 I (Double) 1 1 0 (Double) 1 1 1 (Multiple) O 0 O (Double)
O 0 1
0 1 0
0 1 1
1 0 0
Dl 5 D14 (Double) (Multiple) 0 0 0 0 o o o o o 0 0 0 0 o o o o o o o o o o
0 '1
o -'J us a -A
CODE DE SYNDROME
S2 S3 84 S5 ERREUR
I O I (Multiple - Tous les bits sont à 1)
1 1 O D4
1 1 1 (Double) 1 O O O (Double)
O O I D5
O I O D6
O I 1 (Double)
I O 0 D7
I O I (Double) I 1 O (Double) 1 1 I (Multiple) AINSI, (Nombre de bits à I dans le syndrome)
O BIT - PAS D'ERREUR
I BIT - ERREUR DU BIT DE
CONTROLE
2 BITS - ERREUR DOUBLE
S- S1 S2 S3 S4 S5 ERREUR
1 1 O O
3 BITS -
4 BITS -
BITS -
6 BITS -
ERREUR
ERREUR
ERREUR
*ERREUR
1 O I (Double) I I O (Double) I 1 1 (Multiple)
1 O O O D15
O O 1 (Double) O 1 O (Double) O 1 1 (Multiple) O O (Double) I O 1 (Multiple) 1 1 O (Multiple) I I I (Double)
DU BIT D' INFORMATION
DOUBLE
MULTIPLE
DOUBLE
os s
0 1
o -s 1- o Par exemple, si tous les bits de syndrome SQ à S5 sont à zéro, il n'y a pas d'erreur dans la zone d'information ni dans la zone de contrôle. C'est l'état représenté à gauche en haut de la
table 1.
La présence ou l'absence d'erreurs et le type d'erreur sont
résumés au bas de la table 1.
Dans ce résumé, lorsque tous les six bits de syndrome sont
à l'état zéro", il n'y a pas d'erreur comme on l'a noté ci-des-
sus. Si un seulement des six bits de syndrome est à "un" ceci indique une erreur dans le bit de contrôle correspondant. On doit bien noter qu'à ce stade les erreurs de bits de contrôle sont des erreurs de bits uniques qui ne nécedsitent pas de correction du
mot contenant les données.
Comme l'indique également le résumé au bas de la table 1, lorsque deux bits sont à "un", il y a une double erreur de bit et
ces deux erreurs pourraient être a) une erreur dans un bit d'in-
formation et une erreur dans un bit de contrôle ou b) deux er-
reurs dans les bits d'information ou c) deux erreurs dans les bits
de contrôle.
Lorsque trois bits sont à "un" dans le code de syndrome de six bits, cet état peut correspondre soit à une erreur de bit
d'information unique, soit à une erreur multiple.
Un exemple d'erreur de bit unique dans un bit d'information est donné par le code de syndrome 1 1 1 0 0 0 qui indique une erreur de bit unique dans le bit d'information D15 en bas et à
droite de la table 1.Comme on le décrira plus en détail ci-des-
sous, le décodeur de syndrome 485, représenté aux figures 37 et , produira l'inversion (correction) de la valeur incorrecte du
bit 15 d'information.
Le décodeur de syndrome 485 fournit deux fonctions.
Tout d'abord, il fournit une entrée au complémentateur 487
de bits d'information, représenté à la figure 37, par l'inter-
médiaire de la ligne 493 dans le cas d'erreurs de bits d'infor-
mation uniques; cette entrée produit l'inversion du bit erroné à
l'intérieur du complémentateur 487 de bits d'information.
Ensuite, le décodeur de syndrome 485 fournit l'un des deux
signaux d'erreur dans le cas d'erreur.
Une erreur de bit de contrôle ou de bit d'information uni-
que est transmise par la ligne 495 d'ERREUR UNIQUE à la logique
475 de commande et de synchronisation.
Une indication d'erreur multiple est transmise par la li-
gne 497 d'ERREUR MULTIPLE à la logique 475 de commande et de synchronisation. Un signal d'ERREUR MULTIPIE est créé dans tous les cas d'erreurs de bits doubles et dans la plupart des cas d'erreurs
de bits triples ou davantage. Ce signal d'ERREUR MULTIPIE, com-
me on l'a noté ci-dessus, produit une interruption de l'unité
centrale 105. Voir figure 34.
L'architecture du décodeur de syndrome 485 est représentée en détail à la figure 40. Le décodeur de syndrome 485 comprend
un décodeur 507, un arbre 509 de parité de six bits et une lo-
gique 511 d'identification d'erreur.
le décodeur 507 décode cinq des six bits de syndrome, les
bits SI à S5, afin de fournir l'information suffisante (trente-
deux sorties) pour créer à la fois les types d'erreurs (qu'il s'agisse d'erreurs uniques ou d'erreurs doubles ou multiples) et les seize lignes de sortie nécessaires à l'inversion des
erreurs de bits d'information dans les seize bits d'informa-
tion. Ces seize lignes de sortie nécessaires à l'inversion des
erreurs de bits d'information sont indiquées d'une manière géné-
rale par la ligne 493 et elles sont identifiées individuelle-
ment par les références TO à T15 à la figure 40.
Les sorties du décodeur 507 qui ne sont pas connectées à la porte OU 512, correspondent aux erreurs dans les six bits de contrôle. Les erreurs dans les six bits de contrôle n'ont pas besoin d'être corrigées (puisque ces erreurs ne sont pas des erreurs de bits d'information) et ces sorties du décodeur
ne sont donc pas utilisées.
Les autres sorties, c'est-à-dire celles qui sont connectées
à la porte OU 512, représentent des erreurs doubles ou multi-
ples et elles sont indiquées de cette façon par les légendes à la figure 40. Tous ces cas sont recueillis par la porte OU 512 et ils constituent un élément du signal d'erreurs multiples
transmis dans la ligne 407 à la sortie de la logique 511 d'i-
dentification d'erreurs.
Comme le montre également la figure 40, le décodeur de syndrome 45 comprend un arbre de parité 509 qui forme la somme
modulo deux des bits de syndrome S0 à S5.
La sortie paire ou impaire résultante de l'arbre de parité 14-4 509 correspond aux classes d'erreurs mentionnées au bas de la
table 1.
Ainsi, la sortie PAIRE 514 correspond à des syndromes contenant zéro bit à "un", deux bits à "uni, quatre bits à "un" ou six bits à "un.". Le syndrome PAIR correspondant à zéro bit à "un" (aucune erreur) est exclu du signal 497 de sortie d'ERREUR MULTIPLE
par une porte ET 515 qui exclut le cas de syndrome zéro (l'au-
tre signal d'entrée qui va du décodeur 507 à la porte 515).
Les syndromes contenant deux bits à "un", quatre bits à iun" ou six bits à "un" sont ainsi les seuls autres syndromes PAIRS qui se combinent au signal MUJLTIPILE pour constituer les erreurs multiples transmises par la ligne de sortie 497
d'ERREUR MULTIPLE.
Une sortie n'est souhaitée dans la ligne 495 indicatrice d'ERREUR UNIQUE que pour les erreurs de bits uniques. Comme la sortie impaire de l'arbre de parité 509, par la ligne 510, correspond à un bit à "un" (erreur de bit de contrôle), à trois bits à "un" (erreur de bit d'information ou erreurs de
bits multiples) ou à cinq bits à "un" (erreurs de bits mui- L-
ples) dans le syndrome de six bits, comme l'indique le résumé au bas de la table 1, la sortie impaire par la ligne 510 doit être validée de manière à ne transmettre que des erreurs de bits uniques à la ligne 495 par l'intermédiaire de la logique
511. Les codes de syndrome de trois bits correspondant aux er-
reurs de bits multiples et tous les codes de syndrome de cinq
bits doivent donc être exclus, de sorte que seules les er-
reurs de bits uniques sont transmises par la ligne 495. Cette opération est effectuée par un inverseur 517 et une porte ET
519.
Une sortie d'ERREUR UNIQUE est créée dans la ligne 495 pour les codes de syndrome qui contiennent un seul bit à "un"
(erreur de bits de contrôle) et aussi pour les codes de syn-
drome qui contiennent trois bits à "un" correspondant à des erreurs de bits d'information. Comme on l'a noté ci-dessus, la sortie impaire de l'arbre 509 de parité indique des syndromes con contenant un, trois ou cinq bits à "un". L'inverseur 517 et la porte ET 519 excluent les syndromes de trois bits d'erreurs multiples et tous les syndromes de cinq bits. Ainsi, la sortie 495 d'ERREUR UNIQUE ne comprend que des erreurs de bits de 14-5
2473197
contrôle unique et des erreurs de bits d'information uniques.
Les erreurs de bits de contrôle uniques n'ont pas besoin d'être
corrigées et les erreurs de bits d'information uniques sont cor-
rigées par le complémentateur 487 de bits.
Les équations logiques pour l'ERREUR MULTIPIE et l'ERREUR
UNIQUE, mentionnées au bas de la figure 40, représentent l'opé-
ration décrite ci-dessus.
Il y a des erreurs de trois bits ou davantage qui ne sont pas identifiées comme des erreurs multiples et qui, en fait, peuvent être identifiées incorrectement comme n'étant pas des
erreurs ou comme étant des erreurs de bits uniques (erreurs cor-
rigibles). Cependant, le modèle normal de génération d'erreurs
est tel que la détérioration du stockage en mémoire est norma-
lement détectée avant que des erreurs de bits triples ne se produisent. Par exemple, le modèle normal de détérioration du
stockage en mémoire impliquerait d'abord une erreur de bit uni-
que provenant d'un bruit ou de la défaillance d'un composant, elle impliquerait ensuite une Erreur de bit double provenant d'une autre défaillance, etc. et les erreurs de bits doubles seraient détectées avant que puissent se développer les erreurs de bits
triples ou davantage.
Le complémentateur 48', de bits d'information,représenté à la figure 37, a pour fonction d'inverser des erreurs de bits
d'information détectées par le décodeur 485 de syndrome.
La figure 41 représente des détails d'architecture du com-
plémentateur 487 de bits. Comme le montre la figure 41, le com-
plémentateur 487 de bits est réalisé par des portes 513 OU ex-
clusif. Chacune de ces portes 513 inverse un bit d'information donné dans une ligne 489, lorsqu'une sortie correspondante du
décodeur est validée dans une ligne 493.
La sortie corrigée est transmise ensuite dans une ligne de
sortie 437 du complémentateur 487 de bits, constituant la sor-
tie de ce module de mémoire physique.
Ceci complète la description du système de détection et
de correction d'erreurs.
le système de mémoire qui fait partie de la présente in-
vention offre plusieurs caractéristiques significatives.
Tout d'abord, le relevé de la mémoire fournit quatre em-
placements séparés et distincts d'adresses logiques: le code du système, les données du système, le code de l'utilisateur et les données de l'utilisateur, et il fournit une traduction des adresses logiques en adresses physiques, dans ces emplacements d'adresse. La division de la mémoire logique en quatre emplacements d'adresses isole les programmes du système des interventions des programmes de l'utilisateur et elle protège les programmes du système contre toute erreur-de l'utilisateur. La division en quatre emplacements d'adresses logiques fournit également une séparation du code et des données, aussi bien pour le code et les données de l'utilisateur que pour le code et les données
du système. Ces caractéristiques fournissent l'avantage de pro-
grammes non modifiables.
Il existe des zones particulières dans chaque entrée de
relevé pour cette traduction d'adresses de pages et pour d'au-
tres états particuliers.
Une zone permet de traduire les adresses de pages logiques
en adresses de pages physiques.
Une autre zone fournit une indication d'absence. Cette zo-
ne est un bit d'absence qui permet la réalisation d'un plan de
mémoire virtuelle dans lequel les pages logiques peuvent rési-
der dans une mémoire auxiliaire.
Une autre zone est une zone historique de référence. Cette dernière zone permet de maintenir l'information concernant la
fréquence d'utilisation à la-disposition de la fonction de ges-
tion de la mémoire du système d'exploitation, afin de rendre per-
formant le plan de la mémoire virtuelle. Les pages d'accès fré-
quent sont retenues dans la mémoire centrale et les pages d'uti-
lisation peu fréquente sont sélectionnées pour le recouvrement nécessaire. Une zone de bit-clé est maintenue dans chaque entrée du
relevé des données du système et du relevé des données de l'uti-
lisateur, de sorte que les pages de données non modifiées peuvent être identifiées. Ces pages étant ainsi identifiées ne sont pas transférées dans la mémoire auxiliaire car une copie valide de cette page de données se trouve déjà présente dans la mémoire auxiliaire. Le système de mémoire inclut une logique de commande de la mémoire à relevé qui maintient automatiquement l'information des bits-clés et des bits de référence lorsque l'unité centrale et
le canal d'entrées-sorties accèdent à la mémoire.
Le système de mémoire de la présente invention fournit trois instructions de l'unité centrale, c'est-à-dire l'instruction
d'insertion des données dans une entrée de relevé SHAP, l'ins-
truction de lecture d'une entrée de relevé PLMAP et l'instruction de décalage d'une entrée de relevé AMAP, qui sont utilisées par la fonction de gestion de la mémoire du système d'exploitation
pour maintenir et utiliser l'information dans le relevé.
Le système de mémoire de la présente invention comprend un accès à la mémoire à double entrée. La mémoire est accessible séparément par l'unité centrale et par le canal d'entrées-sorties0 Les accès à la mémoire par le canal d'entrées-sorties n'ont pas
besoin d'impliquer l'unité centrale et cette dernière peut rem-
plir d'autres fonctions pendant qu'une transmission de données
en entrées-sorties est effectuée dans ou hors de la mémoire.
L'opération d'accès à la mémoire à double entrée comprend également un arbitrage effectué par la logique de commande de la
mémoire à relevé, au cas o l'unité centrale et le canal d'en-
trées-sorties tenteraient un accès simultané à la mémoire. En cas d'accès simultané, le canal d'entrées-sorties est prioritaire et l'unité centrale attend jusqu'à ce que l'accès particulier du
canal d'entrées-sorties soit terminé.
La mémoire physique peut être étendue par l'adjonction de
modules de mémoire physique.
Les modules de mémoire physique comprennent, dans le cas de la mémoire à semiconducteurs, une détection et une correction
d'erreurs à certaines conditions. Les erreurs uniques sont dé-
tectées et corrigées de sorte que l'unité centrale et le canal
d'entrées-sorties peuvent continuer à fonctionner, même lors-
qu'une défaillance passagère ou permanente se produit dans le
module de mémoire physique. Le système de détection et de correc-
tion d'erreurs comprend un mot de vingt-deux bits dans le moynn de stockage. Seize bits représentent les données et six bits fournissent une zone de contrôle de détection et de correction d'erreurs. La zone de contrôle de six bits permet la détection et la correction de toutes les erreurs uniques et la détection
de toutes les erreurs doubles.
La mémoire à tores inclut la parité pour la détection d'er-
reurs uniques.
Dans l'ensemble du système de traitement par multiproces-
seurs qui fait l'objet de la présente invention, chaque module
de processeur comprend son propre système de mémoire centrale.
Puisque chaque module de processeur possède son propre-
système de mémoire, on évite les problèmes de partage de me-
moire dans un système de multitraitement.
Les problèmes de partage de mémoire dans un système de multitraitement comprennent la réduction de la largeur de bande de mémoire disponible pour un processeur particulier, du fait de l'encombrement, et cette réduction de la largeur de bande de mémoire disponible devient plus importante lorsque des unités centrales supplémentaires sont combinées avec une mémoire commune unique. Les problèmes de blocage concernant les communications entre les unités centrales, à l'aide de zones prévues dans une mémoire commune, sont évités par la présente invention qui ne comprend pas de mémoire commune mais qui, au contraire, fournit
des communications entre les modules de processeur par un sys-
tume de communication par lignes entre les processeurs.
Une difficulté supplémentaire d'une mémoire commune réside dans le fait qu'une défaillance de la mémoire commune peut avoir comme résultat une défaillance simultanée de plusieurs ou de toutes les unités centrales du système. Ce qui revient à dire que, dans un système à mémoire commune, une défaillance unique
de la mémoire peut immobiliser le système en totalité ou en par-
tie, alors que la défaillance d'une mémoire ne paralysera pas le système de traitement par multiprocesseurs qui fait l'objet
de la présente invention.
L'accès à la mémoire à double entrée par l'unité centrale
et par le canal d'entrées-sorties est possible grâce à l'utili-
sation de registres d'adresses séparés et de registres de don-
nées séparés vers et venant de la mémoire.
L'unité centrale possède un registre particulier, le re-
gistre d'instruction suivante NI, en particulier pour recevoir
des instructions de la 4émoire. Ce registre séparé et particu-
lier permet une prise en charge simultanée de l'instruction sui-
-35 vante pendant l'exécution de l'instruction en cours, qui peut impliquer l'extraction de données de la mémoire. En conséquence, à la fin d'une instruction en cours, l'instruction suivante peut être déclenchée immédiatement sans qu'il faille attendre
une prise en charge de l'instruction.
Le relevé est constitué pour fournir un accès significa-
tivement plus rapide que l'accès à la mémoire physique centrale.
Cette caractéristique présente plusieurs avantages dans la
traduction des adresses par l'intermédiaire du relevé.
Il en résulte que, dans le système de mémoire qui fait partie de la présente invention, le relevé peut être récrit pen-
dant que l'accès à la mémoire physique est en cours.
Du fait que la réécriture est tellement rapide, la réécri-
ture du relevé n'augmente pas la durée du cycle de base de la mémoire.
De même, la vitesse élevée à laquelle le relevé est acces-
sible, réduit la durée totale y compris la traduction des pages
nécessaires à un accès à la mémoire.
La parité est maintenue et contrôlée dans la mémoire à re-
levé effective elle-même. Ceci fournit une indication immédiate de toute défaillance qui pourrait survenir dans la mémoire à relevé, avant qu'un fonctionnement incorrect résultant ne puisse
survenir dans le module de processeur.
La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de variantes et de modifications qui apparaîtront à
l'homme de l'art.
Ecuille rectifiée R E V E Nl D I C A T I O N S
1.- Système de traitement par multiprocesseurs du genrecomportantds pro-
cesseurs, un système d'entrées-soities, un système d'alimentation électrique et un système de mémoire, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend
plusieurs modules de processeurs séparés; et un moyen de ligne entre proces-
seurs pour une transmission directe entre les modules de processeurs, séparée
et distincte d'un système d'entrées-sorties et d'un système de mémoire.
2.- Système de traitement par multiprocesseurs suivant la revendication 1, caractérisé en ce que le moyen de ligne entre processeurs comprend uneligne entre processeurs; un moyen de commande entre chaque module de processeur pour connecter le module de processeur à la ligne entre processeurs en vue d'une
transmission avec un autre module de processeur; et un moyen.
de contrôleur de ligne opérationnellement associé avec la ligne
entre processeurs et avec chaque moyen de commande entre proces-
seurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs par la ligne entre processeurs et pour régler les transmissions dans la ligne entre
processeurs.
3.- Système de traitement par multiprocesseurs suivant la
revendication 2, caractérisé en ce que chaque module de proces-
seur comprend sa propre mémoire, de sorte qu'une défaillance d'u-
ne seule mémoire ne peut provoquer la défaillance de tout le
système.
4.- Système de traitement par multiprocesseurs suivant la revendication 2 ou 3, caractérisé en ce que le moyen de contrôleur de ligne comprend un moyen logique de sélection de processeur et de lignes individuelles de sélection, chacune d'elles allant
du moyen logique de sélection de processeur à un module de pro-
cesseur pour garantir qu'un module de processeur, et un seul à
la fois, peut envoyer des données dans la ligne entre proces-
seurs. 5.- Système de traitement par multiprocesseurs suivant la
revendication 4l-, caractérisé en ce que le moyen logique de sé-
lection de processeur envoie des signaux de sélection dans les
lignes individuelles de sélection pour établir des transmis-
sions de données dans la ligne entre processeurs, de telle sorte que la défaillance d'un module de processeur ne rende pas 2473 f 97 - 151
inutilisable la ligne entre processeurs et n'empêche pas les au-
tres modules de processeurs de communiquer par la ligne.
6.- Système de traitement par multiprocesseurs suivant la revendication 4, caractérisé en ce que le moyen de contrôleur de ligne comprend également un moyen logique d'état de commande de
ligne afin de constituer une paire émettrice-réceptrice de modu-
les de processeurs et une base de temps pour une transmission
d'information dans la ligne entre la paire émettrice-réceptrice.
7.- Système de traitement par multiprocesseurs suivant la revendication 4 ou 6, caractérisé en ce que les lignes de sélection sont utilisées des trois manières suivantes dans le protocole d'établissement de la paire émettrice-réceptrice et de la base de
temps a) en balayage afin de déterminer si le module de proces-
seur sélectionné est prêt à émettre et afin de lui permettre de
transmettre par la ligne le numéro du récepteur prévu; b) en com-
binaison avec une instruction de réception afin de demander au module de processeur récepteur sélectionné s'il peut recevoir;
et c) en combinaison avec une instruction d'émission afin de dé-
finir pour le module de processeur émetteur sélectionné la base de temps d'émission at afin de lui permettre de transmettre les
données à la ligne.
8.- Système de traitement par multiprocesseurs suivant la revendication 6, caractérisé en ce qu'il comprend un moyen de qualification pour permettre au module de processeur récepteur
de recevoir des données "en entrée" d'un autre module de proces-
seur non sollicité par le module de processeur récepteur et sans instruction du logiciel prévu pour recevoir des données "en entrée". 9.Système de traitement par multiprocesseurs suivant la
revendication 8, caractérisé en ce que le moyen de qualifica-
tion comprend la combinaison d'un signal de sélection dans la
ligne de sélection allant du moyen logique de sélection de pro-
cesseur au module de processeur récepteur, et d'un signal d'ins-
truction de réception allant du moyen logique d'état de comman-
* de de ligne au processeur récepteur.
- Système de traitement par multiprocesseurs suivant l'une revendicationg2 à 9, caractérisé en ce que les moyens contrôleurs de ligne empêchent les autres modules de processeurs d'essayer de transmettre par la ligne en simultanéité avec le module de
processeur établi.
152 Feu lue rectifiée 11.- Système de traitement par multiprocesseurs suivant l'une des
revendications 2 à 4, caractérisé en ce que chaque connexion de la
ligie entre processeurs à un module de processeur comprend plu-
sieurs lignes communes de' circulation de données qui sont parta-
gées par tous les modules du système de traitement par multipro- cesseurs, plusieurs lignes de protocole de ligne communes, une horloge de ligne distribuée par des lignes individuelles, et plusieurs lignes de sélection logiquement distinctes, à raison
d'une par module de processeur.
12. - Système de traitement par multiprocesseurs suivant l'une des re-
vendications 2 à 4 ou 11, caractérisé en ce que le moyen de contrôleur de ligne et le moyen de commande entre processeurs envoient les signaux suivants dans la ligne entre processeurs en association fonctionnelle et dans l'ordre suivant: un signal de demande d'émission venant de. tout module de processeur qui est prêt à émettre, afin d'amener le contrôleur de ligne à quitter un état d'inactivité et à commencer une opération de balayage; un signal
de sélection venant du contrôleur de ligne afin de balayer sé-
quentiellement chaque module de p.. cesseur jusqu'à ce qu'un mo-
dule de processeur qui est prêt à émettre soit identifié; un si-
gnal d'acceptation d'émission, accompagnant le numéro de module de processeur récepteur dans les lignes acheminant les données, à partir d'un module de processeur qui est prêt à émettre et en réponse au signal de sélection venant du contrôleur de lignes; un signal de sélection accompagnant dans les lignes acheminant les données le signal d'instruction de réception, ainsi que le
numéro du module de processeur émetteur identifié venant du con-
trôleur de ligne pour interroger l'état "prêt à recevoir" du mo-
dule de processeur récepteur identifié; un signal d'acceptation de réception venant du module de processeur récepteur, pour
indiquer l'état "prêt à recevoir" en réponse au signal de sélec-
tion et au signal d'instruction de réception venant du-contrôleur
de ligne; u-n-signal de sélection accompagnant le signal d'instruc-
tion d'émission et venant du contrôleur de ligne en réponse à
une indication positive d'acceptation de réception, afin de per-
mettre au module de processeur émetteur de transmettre séquen-
tiellement plusieurs mots contenant des données dans les lignes de données conduisant au module de processeur récepteur, après quoi le contrôleur de ligne revient à l'état d'inactivité0 13.- Système de traitement par multiprocesseurs suivant la 2-4 73 e9s
revendication 2 ou 3, caractérisé en ce que le moyen de commande en-
tre processeirs comprend un moyen en file d'attente pour rece-
voir les données venant de la ligne entre processeurs afin de les transmettre au module de processeur; et un moyen hors de la file d'attente pour transmettre les données venant du module de processeur à un autre module de processeur par la ligne entre processeurs. 14.- Système de traitement par multiprocesseurs suivant la
revendication 13, caractérisé en ce que chaque module de proces-
seur comprend une unité centrale, les moyens de contrôleur de ligne comprenant une horloge de ligne et chaque unité centrale comprenant sa propre horloge séparée et comprenant un moyen de
verrouillage associé opérationnellement au moyen en file d'at-
tente et au moyen hors de la file d'attente pour exploiter une partie du moyen en file d'attente et une partie du moyen hors
de la file d'attente en synchronisme avec la ligne entre proces -
seurs et à la fréquence de l'horloge, et pour exploiter une au-
tre partie du moyen en file d'attente d une partie du moyen hors de la file d'attente en synchronisme avec l'unité centrale de chaque module de processeur à son rythme propre séparé d'horloge sans perte de données, de manière à éliminer la nécessité d'un
système d'horloge mère susceptible de subir une défaillance in-
dividuelle qui pourrait immobiliser l'ensemble du système de
traitement par multiprocesseurs.
15.- Système de traitement par multiprocesseurs suivant la
revendication 14, caractérisé en ce que la vitesse de transmis-
sion de l'information dans la ligne entre processeurs est sensi-
blement plus élevée que ne le permettraient des accès directs d'entrée et de sortie des parties des mémoires des modules de
processeurs, afin d'assurer de ce fait une disponibilité appro-
priée de la ligne entre processeurs, même lorsqu'un grand nombre
de modules de processeurs sont connectés dans le système de trai-
tement par multiprocesseurs.
16.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 14, caractérisé en ce que le moyen en file d'attent comprend une logique d'état de remplissage des lignes et le moyen hors de la file d'attente une logique d'état de vidage des lignes, ces logiques fonctionnant en synchronisme avec l'horloge de ligne; et en ce quele moyen en file d'attente
comprend une logique d'état de vidage des processeurs et le mo-
Feu^^^
yen hors de la file d'attenGe une logique d'état de remplissa-
ge des processeurs, ces logiques fonctionnant en synchronisme
avec l'horloge de l'unité centrale.
17.- Système de traitement par multiprocesseurs suivant la revendication 14 ou 16,caractérisé en ce que le moyen de verrouilla- ge comprend un verrouillage logique entre la logique d'état de remplissage des processeurs et la logique d'état de vidage de la ligne du moyen hors de la file d'attente d entre la logique
d'atat de vidage des processeurs et la logique d'état de remplis-
sage de la ligne du moyen en file d'attente et en ce que ces verrouillages logiques autorisent certains passages de la logique d'un état à un autre état et rendent le fonctionnement correct
indépendant des rythmes relatifs de l'horloge.
- Système de traitement par multiprocesseurs suivant la revendication 2, 3oul3,caractérisé en ce que le moyen de contrôleur de ligne comprend une logique de sélection des processeurs, une logique d'état de commande des lignes, un générateur d'impulsions d'horloge de ligne, un compteur de groupes de bits, un registre
émetteur et un registre récepteur.
19.- Système de traitemenff< ar multiprocesseurs suivant la
revendication 13, caractérisé en ce que chaque moyen en file d'at-
tente comprend une logique d'état de remplissage des lignes, une logique d'état de vidage des processeurs, un compteur en file d'attente, une mémoire-tampon en file d'attente et un registre
émetteur.
20.- Système de traitement pai multiprocesseurs suivant la revendication 13 ou 14,caractérisé en ce qu'il comprend une deuxième ligne entre processeurs et un deuxième moyen de contrôleur de
ligne; en ce que le moyen de commande entre processeurs de cha-
que module de processeur comprend une mémoire-tampon en file
d'attente pour chaque ligne entre processeurs et une mémoire-
tampon commune hors de la file d'attente qui est partagée par
les deux lignes entre processeurs; et en ce que le moyen de com-
mande entre processeurs-remplit la mémoire-tampon hors de la fi-
le d'attente et vide les mémoires-tampons en file d'attente à la
vitesse de la mémoire de l'unité centrale, et vide la mémoire-
tampon hors de la file d'attente et remplit les mémoires-tampons
en file d'attente au rythme d'horloge des lignes entre proces-
seurs O 21.- Système de traitement par multiprocesseurs suivant la y'-'lt revendication 13,14 ou20, caractérisé en ce que chaque moyen hors de la file d'attente comprend une logique d'état de vidage des lignes, une logique d'état de remplissage des processeurs, un compteur hors de la file d'attente, une mémoire-tampon hors de la file d'attente, un registre récepteur et un indicateur hors de la file d'attente pour connecter la mémoire-tampon hors de
la file d'attente à l'une des deux lignes entre processeurs.
22.- Système de traitement par multiprocesseurs suivant la revendication 2 ou 3, caractérisé en ce qu'il comprend plusieurs lignes entre processeurs opérationnellement associées à chaque module de processeur et un moyen séparé de contrôleur de ligne opérationnellement associé à chaque ligne entre processeurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs dans chaque ligne entre
processeurs.
23.- Système de traitement par multiprocesseurs suivant la
revendication 2, 3 ou 22, caractérisé en ce que chaque module de pro-
cesseur peut utiliser l'une quelconque des lignes entre proces-
seurs sur une base multiplex de temps.
24.- Système de traitement par multiprocesseurs suivant la revendication22 ou 23, caractérisé en ce qu'il comprend un moyen
d'exploiter en simultanéité et indépendamment l'une de l'au-
tre toutes les lignes entre processeurs et tous les moyens
de contrôleurs de lignes afin de fournir des circuits multi-
ples d'interconnexion entre les modules séparés de processeurs.
25.Système de traitement par multiprocesseurs suivant la re-
vendication 3,22, 23 ou 24,-caractéisé en ce que les moyens de contrô-
leurs de lignes et les moyens de commande entre processeurs
pour chaque module de processeur sont opérationnellement asso-
ciés de telle sorte que chaque module de processeur peut envo-
yer des données à n'importe quel module de processeur, y com-
pris lui-même, par n'importe quelle ligne entre processeurs,
aux fins de diagnostic.
26.- Système de traitement par multiprocesseurs suivant
la revendication 13 ou 14,caractérisé en ce que les moyens de contrô-
leurs de lignes effectuent toute la gestion des lignes entre
processeurs, en parallèle avec le calcul effectué par le mo-
dule de processeur récepteur, de sorte qu'aucune puissance de traitement n'est gaspillée lors du protocole d'autorisation
d'utilisation de la ligne ou lors de la transmission de don-
2 473 1 9 7
156 Feuille rectifiée
nées dans la ligne entre processeurs.
27.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 14, caractérisé en ce que chaque unité centrale comprend un microprocesseur et un microprogramme; en ce que le microprocesseur de l'unité centrale est commandé par le micro- programme de l'unité centrale et n'agit en liaison avec le moyen
de commande entre processeurs que pendant le vidage en file d'at-
tente et le remplissage hors de la file d'attente; et en ce que la transmission effective du groupe de bits s'effectue sous le
contrôle du moyen de contrôleur de ligne.
28.- Système de traitement par multiprocesseurs suivant la revendication 13, caractérisé en ce que les moyens de commande entre processeurs dans les modules de processeurs transmettent et reçoivent les données par la ligne entre processeurs par blocs
multiplex de groupes de bits, -composés de groupes de bits indi-
viduels d'un nombre prédéterminé de mots.
29.- Système de traitement par multiprocesseurs suivant la
revendication 13 ou28, caractérisé en ce qu'il comprend plusieurs li-
gnes entre processeurs opérationnellement associées à chaque module de processeur, et un moyen séparé de contrôleur de ligne opérationnellement associé avec chaque ligne entre processeurs pour déterminer la priorité de transmission des données entre deux modules que]conques de processeurs par chaque ligne entre
processeurs; et en ce que les moyens en file d'attente dans cha-
que module de processeur comprennent un moyen en file d'attente
opérationnellement associé avec chaque ligne entre processeurs.
30.- Système de traitement par multiprocesseurs suivant la revendicatkn 13, 28au29, caractérisé en ce qu'il comprend un moyen de
microinstructh as dans le module de processeur émetteur, capa-
ble d'opérer la transmission du bloc entier avec une seule ins-
truction d'émission pour déclencher la transmission.
31. - Système de traitement par multiprocesseurs suivant l'une des reven-
dications 13 ou 28à30,caractérisé en ce qu'il comprend un moyen de logique d'état de commande de ligne dans le moyen de contrôleur
de ligne, afin d'établir une paire émettrice-réceptrice de modu-
les de processeurs et une base de temps pour une transmission
de groupes de bits dans la ligne entre processeurs entre la pai-
re émettrice-réceptrice.
32.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 28 à3l,caractérisé en ce qu'il comprend un moyen de
microinterruption pour fournir une microinterruption au micro-
processeur dans le module de processeur récepteur, à l'achèvement de cahaque remplissage d'un moyen en file d'attente; et en ce
qu'une interruption de programme n'est fournie à l'unité central.
du module de processeur récepteur qu'après que tout le bloc de
données a été reçu dans le module de processeur récepteur.
33.- Système de traitement par multiprocesseurs suivant l'une des
revendications 28à31, caractérisé en ce que les moyens de commande
entre processeurs d'un module de processeur récepteur sont logi-
quement déconnectés de la ligne entre processeurs à la fin de chaque transmission de groupes de bits d'information afin de permettre au moyen de logique d'état de commande de la ligne d'établir une autre séquence d'une paire émettrice-réceptrice différente de modules de processeurs et une base de temps pour
effectuer une transmission de groupes de bits entre l'autre pai-
re émettrice-réceptrice de modules de processeurs, de sorte que plusieurs transmissions de groupes de bits d'information entre
différentes paires émettrices-réceptrices de modules de proces-
seurs peuvent être imbriquées dans la ligne entre processeurs
sur une base de simultanéité apparente.
34.- Système de traitement par multiprocesseurssuivantl'unedes
revendications 2 à 33,caractérisé en ce qu'il comprend un moyen de
balayage dans le moyen de contrôleur de ligne pour balayer cha-
que module de processeur suivant une séquence circulaire, afin de déterminer les modules de processeurs-qui désirent émettre
des données dans la ligne entre processeurs et, de ce fait, assu-
rer à tous les modules de processeurs des possibilités égales d'émission de données dans la ligne entre processeurs, 35.- Système de traitement par multiprocesseurs suivant la
3o revendication 29, caractérisé en ce que chaque mémoire de modu-
le de processeur comprend un moyen de mémoire-tampon réceptrice pour des transmissions à partir de chaque module de processeur
et une combinaison de lignes entre processeurs, et comprend éga-
lement un moyen de table de réception dans les lignes pour diri-
ger les données "en entrée" allant d'une ligne entre processeurs
à un emplacement particulier dans le tampon connexe de la mé-
moire du module de processeur récepteur.
36.- Système de traitement par multiprocesseurs suivant la revendication 35, caractérisé en ce que le moyen de table de réception dans le module de processeur récepteur fournit une 158 FeuiUle rectifiée
entrée de table de réception dans les lignes qui contient l'a-
dresse en cours à l'emplacement o les données "en entrée" doi-
vent être stockées, ainsi que le nombre restant de mots attendus
du module de processeur émetteur.
37.- Système de traitement par multiprocesseurs suivant la revendication 35, caractérisé en ce qu'il comprend un moyen de microprogramme de réception dans les lignes dans le module de processeur récepteur, opérationnellement associé avec le moyen en file d'attente et le moyen de table de réception dans les lignes pour stocker les données reçues dans la mémoire du module de processeur récepteur et pour mettre à jour le compte et les mots-adresses dans l'élément de la table de réception dans les lignes, sans interruption visible du programme du logiciel en cours d'exécution dans le module de processeur récepteur, de sorte que la réception des données par le module de processeur
se produit de manière à être transparente au programme du logi-
ciel en cours, exécuté indépendamment dans l'unité centrale de
ce module de processeur récepteur.
38.- Système de traitement par multiprocesseurs suivant la
revendication 37, caractérisé en ce que l'élément du moyen de ta-
ble de réception dans les lignes est mis à jour par le moyen de microinstructions après la réception de chaque groupe de bits par le module de processeur récepteur, et opère avec le moyen de microinstructions pour fournir une interruption de programme
lorsque la totalité du bloc de données a été reçue comme l'indi-
que l'épuisement du compte de mots dans l'élément du moyen de
table de réception dans les lignes.
39.- Système de traitement par multiprocesseurs suivant la revendication 37, caractérisé en ce que le microprogramme de
réception dans les lignes fournit une interruption pour achève-
ment de la réception dans les lignes, au programme du logiciel en cours d'exécution dans le module de processeur récepteur, uniquement en réponse à l'achèvement complet d'une transmission
de données en blocs au module de processeur récepteur ou en ré-
ponse à la détection d'une erreur par le moyen de microprogramme
de réception dans les lignes.
40.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de
commande du récepteur de chaque module de processeur afin de com-
mander la capacité de ce récepteur à recevoir des groupes de bits
dans chaque ligne entre processeurs.
41.- Système de traitement par multiprocesseurs suivant la revendication 40, caractérisé en ce qu'il comprend une table de réception dans les lignes dans chaque module de processeur pour diriger les données "en entrée" vers un emplacement indi-
qué dans la mémoire; et en ce que le moyen de commande du ré-
cepteur comprend un moyen de registre de masquage pour fournir
un verrouillage empêchant la réception de données supplémentai-
res dans une ligne entre processeurs jusqu'à ce que certaines opérations critiques, telles qu'une mise à jour du logiciel de
la table de réception dans les lignes, soient achevées.
42.- Système de traitement par multiprocesseurs suivant la revendication 41, caractérisé en ce que le moyen de commande
du récepteur comprend un indicateur d'interruption pour achève-
ment de la transmission, positionné par un microprogramme de
réception dans les lignes, situé dans le module de processeur.
43.- Système de traitement par multiprocesseurs suivant la revendication 41ou42, caractérisé en ce que le moyen de commande du récepteur comprend un registre de masquage d'interruption dans
chaque unité centrale, correspondant à chaque ligne entre pro-
cesseurs et comportant un masque qui permet des microinterrup-
tions dans cette ligne lorsque le bit de masquage est à "un".
44.- Système de traitement par multiprocesseurs suivant la
revendication 29, caractérisé en ce que chaque module de proces-
seur comprend un moyen de microprogramme d'émission et un mi-
croprocesseur dans l'unité centrale, qui agissent en liaison avec le moyen hors de la file d'attente du moyen de commande
entre processeurs pour extraire un bloc de données de la mémoi-
re, décomposer ce bloc dé données en groupes de bits, calculer et joindre un total de contrôle des groupes de bits aux mots contenant des données dans chaque groupe de bits, et transmettre le bloc de données, à raison d'un groupe de bits à la fois, au
module de processeur récepteur par la ligne entre processeurs.
45.- Système de traitement par multiprocesseurs suivant la revendication 44, caractérisé en ce qu'il comprend un moyen de microprogramme de réception dans les lignes dans le module de
processeur récepteur, afin d'extraire un groupe de bits d'infor-
mation reçu d'un moyen en file d'attente, stocker les données dans une mémoire-tampon et vérifier si le total de contrôle des
groupes de bits est correct.
Iil4 of 7 46.- Système de traitement par multiprocesseurs suivant la revendication 45, caractérisé en ce qu'il comprend un moyen de table de réception dans les lignes dans le module de processeur
récepteur, associé opérationnellement avec le moyen de micro-
programme de réception dans les lignes afin de réassembler les
groupes de bits en blocs.
47.- Système de traitement par multiprocesseurs suivant la -
revendication 46, caractérisé en ce que le moyen de table de ré-
ception dans les lignes et le moyen de microprogramme de récep-
tion dans les lignes permettent un assemblage imbriqué de blocs
de groupes de bits à partir de plusieurs modules de processeurs-
émetteurs, permettent un assemblage imbriqué de blocs à partir
de groupes de bits et permettent d'effectuer un contrôle d'er-
reur d'une manière transparente au logiciel en cours d'exécution
dans le module de processeur récepteur.
48.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de contrôle d'erreur afin d'assurer une émission et une réception
correcte des données dans chaque ligne entre processeurs.
49.- Système de traitement par multiprocesseurs suivant la revendication 48, caractérisé en ce que le moyen de contrôle d'erreur comprend l'addition d'un mot de contrôle contenant un total de contrôle des mots contenant des données et constituant le dernier mot de chaque groupe de bits afin de vérifier si la
transmission des groupes de bits est correcte.
50.- Système de traitement par multiprocesseurs suivant la revendication 49, caractérisé en ce qu'il comprend un moyen de microprogramme de module de processeur émetteur pour créer le total de contrôle; et un moyen de microprogramme de module de
processeur récepteur pour comparer le total de contrôle et véri-
fier l'intégrité de la transmission.
51.- Système de traitement par multiprocesseurs suivantl'une des
revendications 48 à 50, caractérisé en ce que le moyen de contrôle
d'erreur comprend un contrôle supplémentaire de.la totalité du
message afin d'assurer qu'aucun groupe de bits.n'a été perdu.
52.- Système de traitement par multiprocesseurs suivant la
revendication 29, caractérisé en ce qu'un bloc de données envo-
yées par une ligne entre processeurs en un ou plusieurs groupes
de bits est toujours précédé d'un groupe de bits d'identifica-
tion et est toujours suivi d'un groupe de bits de fin de bloc.
4 7 31?
! *it"-Et 53.- Système de traitement par multiprocesseurs suivant la
revendication 52, caractérisé en ce que le îroupe de bits d'i- dentification identifie le message et indique le nombre de don-
nées qui seront reçues dans le message.
54.- Système de traitement par multiprocesseurs suivant la revendication 53, caractérisé en ce que le moyen de groupe de bits de fin de blocs indique qu'il se produit une erreur pendan la transmission des données et fournit également un moyen de re connaître que les données ont été transmises en trop petit ou
en trop grand nombre.
55.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de signal d'alarme de panne d'alimentation opérationnellement associé au moyen en file d'attente de sorte qu'un autre groupe de bits d'information, tout au plus, peut être chargé dans le
moyen en file d'attente après la réception dtun signal d'alar-
me de panne d'alimentation.
56.- Système de traitement par multiprocesseurs suivant l'une
desrevendications 3 à 55, caractérisé en ce que chaque module de proces-
seur comprend une logique disposée de telle sorte qu'il n'y a aucun effet transitoire dans une ligne entre processeurs, du
fait d'une perte d'alimentation de la logique du module de pro-
* cesseur pendant une coupure de l'alimentation du module de pro-
cesseur;de ce fait, l'alimentation de chaque module de proces-
seur peut être coupée pour permettre un entretien en direct et on peut ajouter des modules supplémentaires de processeurs au
système de traitement par multiprocesseurs sans devoir immobi-
liser ce dernier système.
57.- Système de traitement par multiprocesseurs suivant l'une des revendicatbns 3 à 56, caractérisé en ce que la mémoire de chaque
module de processeur comprend un tampon séparé pour chaque mo-
dule de processeur et comprend également un moyen de table de réception de ligne pour diriger les données "en entrée" d'une
ligne entre processeurs à un emplacement déterminé dans un tam-
pon connexe de la mémoire du module de processeur récepteur.
58.- Système de traitement par multiprocesseurs suivant la
revendication 57, caractérisé en ce que le moyen de table de ré-
ception dans les lignes contient une entrée séparée correspon-
dantPà chaque module de processeur, et indique à la fois l'adreE
se du tampon dans lequel doivent être stockées les données ve-
162 Feuille rectifiée nant d'un module particulier de processeur, ainsi que le nombre
prévu de mots contenant des données.
59.- Système de traitement par multiprocesseurs suivant l'une
desrevendications3à58,caractérisé en ce que chaque module de proces-
seur comprend un moyen de canal d'entrées-sorties pour connecter
le module de processeur à un organe de commande.
60.-Système de traitement par multiprocesseurs suivant l'une desrevendicaticns 3 à 59, caractérisé en ce qu'il comprend plusieurs
appareils périphériques, plusieurs organes de commande pour com-
mander la transmission des données entre les modules de proces-
seurs et les appareils périphériques, plusieurs entrées dans chaque organe de commande, et plusieurs lignes d'entrées-sorties
connectant chaque organe de commande de manière à le rendre ac-
cessible à plusieurs modules de processeurs différents.
61.- Système de traitement par multiprocesseurs suivant l'une
des revendications 3 à 60, caractérisé en ce qu'il comprend une deuxième
ligne entre processeurs pour fournir, en combinaison avec les
différentes lignes d'entrées-sorties, des circuits séparés mul-
tiples connectant chaque organe de commande à chaque module de processeur, de sorte qu'en cas de défaillance d'un circuit, n'importe quel module de processeur peut encore communiquer avec
n'importe quel organe de commande par un autre circuit.
62.- Système de traitement par multiprocesseurs suivant la revendication 60 ou 61, caractérisé en ce qu'il comprend un moyen de logique commune d'interface opérationnellement associé avec chaque organe de commande pour assurer qu'une seule entrée àî
la fois de l'organe de commande est logiquement connectée à l'or-
gane de commande.
63.- Système de traitement par multiprocesseur suivant l'une
des revendications6Oà62,caracte6-isé en ce qu'il comprend un moyen de
mémoire-tampon sensible aux contraintes, pour permettre la trans-
mission des domnnées par chaque ligne d'entrées-sorties entre une entrée et un moyen de canal d'entrées-sorties dans une série de
tranches de temps.
64.- SysLème de traibement par multiprocesseurs suivant la revendication 63, caractérisé en ce qu'il comprend un moyen de
connexions volantes pour faire varier la contrainte sous laquel-
le une demande de reconnexion de la mémoire-tampon est faite au
moyen du canal d'entrées-sorties.
65.- Système de traitement par multiprocesseurs suivant l'une des
revendications 60 à 64, caractérisé en ce qu'il comprend un moyen de
table de commande des entrées-sorties qui comporte une entrée
pour chaque appareil connecté au moyen de canal d'entrées-sor-
ties et dans lequel chaque entrée contient une adresse de tampon en mémoire et un mot de compte pour le nombre de multiplets à
transmettre dans un sous-programme d'entrées-sorties.
66.- Système de traitement par multiprocesseurs suivant la revendication 65, caractérisé en ce que les entrées de la table de commande des entréessorties sont situées dans la mémoire centrale pour protéger cette mémoire contre une défaillance d'un organe de commande ou d'une ligne d'entréessorties0 67.- Système de traitement par multiprocesseurs suivant la
revendication 65 ou 66, caractérisé en ce qu'il comprend une autre- co-
pie de la table de commande des entrées-sorties localisée dans chaque module de processeur qui est opérationnellement associé avec le même organe de commande, de sorte que la défaillance d'un module de processeur ne provoque pas la perte de l'organe
de commande pour le système.
68.- Système de traitement par multiprocesseurs suivant l'une des
revendications 603 67, caractérisé en ce que le moyen de commande
entre processeurs et l'unité centrale fonctionnent en synchronis-
me avec différentes horloges et le moyen de canal d'entrées-
sorties fonctionne à la vitesse de la mémoire qui est également différente de la vitesse d'horloge du module de processeur; et
en ce que les organes de commande fonctionnent à leurs fréquen-
ces d'horloges locales de façon asynchrone avec n'importe quelle autre partie du système, synchronisant chaque transmission de
mot avec le module de processeur à l'aide d'une liaison verrouil-
lée dans la ligne d'entrées-sorties.
690- Système de traitement par multiprocesseurs suivant l'une des
revendications 3à59,caractérisé en ce qu'il comprend plusieurs appa-
reils périphériques; plusieurs organes de commande pour comman-
der la transmission des données entre les modules de processeurs et les appareils périphériques; plusieurs entrées dans chaque organe de commande; plusieurs lignes associées d'entrées-sorties connectant chaque organe de commande pour les rendre accessibles à différents modules de processeurs; plusieurs sources séparées d'alimentation opérationnellement associées avec chaque organe de commande pour alimenter chacun de ces derniers; et un moyen de connexion pour alimenter un organe de commande à partir des
_164 2 4 73 19 7
-164 Feujle recufije sources d'alimentation associées restantes, en cas de panne ou de coupure d'une autre source d'alimentation de ce dispositif de
commande, de sorte que la source d'alimentation opérationnelle-
ment associée avec un module de processeur peut être coupée pro-
gressiveient afin de permettre un entretien en direct de ce modu- le de processeur mis hors tension, tandis que le reste du système de traitement par multiprocesseurs reste en liaison directe et
en fonctionnement.
70.- Système de traitement par multiprocesseurs suivant la revendication 69, caractérisé en ce que le moyen de connexion
comprend un moyen de commutation à diodes pour fournir l'alimen-
tation logique à partir des sources d'alimentation associées
lorsque ces dernières sont opérantes, pour fournir l'alimenta-
tion logique à partir des autres sources d'alimentation en cas de panne ou de coupure d'une source d'alimentation, et pour fournir une commutation, en cas de panne ou de coupure, qui soit régulière et sans interruption ni pulsations de l'alimentation
logique fournie.
71.- Système de traitement par multiprocesseurs suivant la revendication 69ou70, caractérisé en ce qu'il comprend un moyen de circuit de mise sous tension dans chaque module de processeur et chaque organe de commande afin de détecter les moments o l'alimentation logique du module de processeur ou de l'organe de
commande est inférieure aux spécifications requises pour un fonc-
tionnement logique correct, et afin de remettre à zéro le module
de processeur ou l'organe de commande pour empêcher toute acti-
vité à ses interfaces et pour le maintenir dans un état qui est commandé lorsque son alimentation logique est affectée par une perte en ligne, une coupure, une panne d'alimentation ou une
panne de distribution.
72.- Système de traitement par multiprocesseurs suivant la revendication 71, caractérisé en ce que le moyen de circuit de mise sous tension libère également le module de processeur ou l'organe de commande et le remet en fonctionnement après que l'alimentation est rétablie et que l'alimentation logique lui
est fournie suivant la spécification correcte.
73e- Système de traitement par multiprocesseurs suivant la revendication 71ou72, caractérisé en ce qu'il comprend des moyens émetteurs-récepteurs dans les modules de processeurs et dans les organes de commande qui agissent en liaison avec le moyen de
?47319-?9
circuit de mise sous tension pour commander la sortie des
moyens émetteurs-récepteurs aux interfaces des modules de pro-
cesseurs et d'organes de commande lors d'une montée en tension ou d'une baisse de l'alimentation, plutôt que de laisser la sortie du moyen émetteur-récepteur non définie lorsque la tension tombe
en dessous du niveau requis pour un fonctionnement correct.
74.- Système de traitement par multiprocesseurs suivant la reven-
dication 71, 72 ou 73, caractérisé en ce qu'il comprend une ligne de validation connectée aux émetteurs-récepteurs aux interfaces des organes de commande; et en ce que le circuit de mise sous tension agit en
liaison avec la ligne de validation pour maintenir les émetteurs-
récepteurs à l'état hors circuit jusqu'à ce que la tension ait atteint
le niveau auquel l'état hors circuit sera maintenu par un fonctionne-
ment correct des éléments logiques de l'organe de commande.
75.- Système de traitement par multiprocesseurs suivant l'une des
revendications 3 à 74, caractérisé en ce que l'espace d'adresse de mémoire
de chaque processeur est divisé en quatre zones séparées d'adresses logiques comprenant une zone de données de l'utilisateur,une zonededbnnéesdusystèmeune zone de code de l'utilisateur et une zone de code du système pour séparer le code des données, de sorte que le code peut être rendu non modifiable,
et également pour séparer les programmes et les données du système dtex-
ploitation des programmes et des données de l'utilisateur, de telle sorte que les programmes de l'utilisateur ne peuvent pas détruire le système d'exploitation. 76.- Système d'entrées-sorties pour un système de traitement par multiprocesseurs du genre comportant des processeurs, unsystème
d'entrées-sorties, un système d'alimentation électrique et un -
système de mémoire, et dans lequel les processeurs sont interconnectés
pour assurer un traitement en simultanéité, ce système d'entrées-
sorties étant caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés, chaque processeur comprenant une unité centrale et une mémoire; certains au moins des modules de processeurs ayant un canal d'entrées-sorties; un organe de commande au moins pour commander la transmission
des données entre un module de processeur et un appareil péri-
phérique; plusieurs entrées dans chaque organe de commande et plusieurs lignes d'entrées-sorties pour connecter chaque organe de commande afin qu'il soit accessible aux différents
modules de processeurs; et un moyen de logique commune d'in-
terface pour assurer qu'une seule entrée à la fois connecte 166 Eeuille fectil16
opérationnellement l'ogane de commande au système de traite-
ment par multibprocesseurs.
77.- Système d'entrées-sorties suivant la revendication 76, caractérisé en ce que les entrées de chaque organe de commande et des composants connexes du système sont constituées de telle sor- te que les entrées d'un organe de commande sont logiquement et physiquement indépendantes l'une de l'autre; et en ce qu'aucune partie de composant d'une entrée n'est également un composant de l'autre entrée d'un organe particulier de commande, de sorte
qu'aucune défaillance de composant unique en un endroit quel-
conque de l'organe de commande ne peut affecter simultanément
le fonctionnement de plus d'une entrée.
78.- Système d'entrées-sorties suivant la revendication 77,
caractérisé en ce qu'il comprend un moyen de détection des dé-
faillances qui inclut une ligne interconnectant les modules de processeurs afin de détecter qu'une entrée particulière ne
connecte plus opérationnellement l'organe de commande au systè-
me de traitement par multiprocesseurs.
79 - Système d'entrées-sorties suivant la revendication 78.
caractérisé en ce qu'il comprend un moyen logique de transmis-
sion d'un signal de prise de possession à une-autre entrée éven-
tuelle pour que celle-ci connecte opérationnellement l'organe de commande au système de traitement par multiprocesseurs, en
réponse à la détection d'une défaillance de l'entrée particu-
lière.
80.- Système d'entrées-sorties suivant l'une des revendications76 à 79,
caractérisé en ce qu'il comprend une partie de commande dans
chaque organe de commande; en ce que chacune des entrées indi-
viduelles d'un organe particulier de commande est physiquement et indépendamment connectée à un module de processeur, en même
temps qu'une autre entrée de cet organe de commande est physi-
quement connectée à un module différent de processeur; et en ce qu'il comprend un moyen de bascule d'acquisition pour établir une connexion logique entre la partie de commande de l'organe de commande et l'une des entrées, de sorte qu'une seule entrée commande l'organe de commande à n'importe quel moment et, de ce fait, unle défaillance d'une entrée de la ligne d'entrées sorties ou du canal d'entrées-sorties ou du module de processeur
ne peut jamais affecter l'autre entrée.
81o- Systeme d'entrées-sorties suivant l'une des revendicationm 76 à 8A, 167 24Zt2al caractérisé en ce que chaque organe de commande comprend une par tie d'interface etune partie de commande; en ce que la partie d'interface comprend les entrées multiples, le moyen de logique commune d'interface et le moyen de bascule de prise de possession; et en ce que la partie de commande comprend la partie de commande
de la logique de l'organe et une mémoire-tampon.
82.- Système d'entrées-sorties suivant l'une des revendications 76 à 81,
caractérisé en ce qu'il comprend une bascule de validation dans chaque entrée afin d'empêcher dynamiquement une entrée d'envoyer des signaux dans sa ligne respective d'entrées-sorties en réponse
à une défaillance dans une partie quelconque de l'organe de com-
mande.
83.- Système d'entrées-sorties suivant l'une des revendications 76 à 82,
caractérisé en ce qu'il com prend un moyen de création et de con-
trôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement pendant que les
données sont acceptées4dans le registre.
84.- Système d'entrées-sarties suivant l'une des revendications 76 à 83,
caractérisé en ce qu'il comprend, dans chaque organe de commande,
un moyen de mémoire-tampon sensible aux contraintes.
85.- Système d'entrées-sorties suivant l'une des revendications 76 à 84,
caractérisé en ce qu'il comprend un moyen à profondeur d'attente permettant d'attendre un certain temps après chaque déconnexion du canal d'entrées-sorties avant de faire la demande suivante de reconnexion; de ce fait, les appareils faiblement prioritaires
peuvent accéder au canal d'entrées-sorties de sorte que ces appa-
reils ne sont pas surchargés.
86.- Système d'entrées-sorties suivant la revendication 85,
caractérisé en ce que la mémoire-tampon comprend un moyen à pro-
fondeur de seuil permettant à l'organe de commande d'attendre un certain temps après avoii fait une demande de reconnexion avant que l'organe de commande ne soit surchargé, afin de permettre aux
appareils hautement prioritaires d'accéder au canal d'entrées-
sorties. 87.- Système d'entrées-sorties suivant la revendication 86,
2473 1 97
168 Feuille rectifiée
caractérisé en ce qu'il comprend un moyen de variation des con-
traintes capables de modifierla profondeur d'attente à laquelle l'organe de commande adresse une demande de reconnexion au moyen
de canal d'entrées-sorties.
88.- Système d'entrées-sorties suivantlarevendication 86'ou87, caractérisé en ce que la profondeur de la mémoire-tampon est la
somme de la profondeur de seuil et de la profondeur d'attente.
89.- Système d'entrées-sorties aevant l'une desrevendicatioes -76 à 83,
caractérisé en ce qu'il comprend un moyen de priorité pour sélec-
tionner, conformément à un plan de priorité, prédéterminé, un organe de commande particulier à partir de plusieurs signaux de demande d'appareil qui peuvent se produire de façon asynchrone,
ce moyen de priorité comprenant une connexion de balayage en étoi-
le entre le moyen de canal d'entrées-sorties et les organes de commande utilisant une ligne de données multibinaires; un moyen
de lignes de rangement qui divise les organes de commande en plu-
sieurs groupes auxquels est affectée une priorité relative entre
eux, une priorité étant également affectée aux organes de comman-
de au sein de chaque groupe, un registre séparateur de priorité pour déterminer l'organe de commande qui a la priorité la plus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commande
le plus hautement prioritaire qui fait une demande de reconnexion.
90.- Système d'entrées-sorties suivant l'une des revendications 76 à 89,
caractérisé en ce qu'il comprend une table de commande des entrées-
sorties dans la mémoire de chaque module de processeur et en ce
qu'il contient une entrée qui définit une zone tampon dans la mé-
moire et une longlueur restante de comptage de multiplets à trans-
mettre pour chaque appareil périphérique connecté au moyen de ca-
nal d'entréees-sorties de ce module de-processeur-
91.- Système d'entrées-sorties suivant la revendication 90, caractérisé en ce que le moyen de canal d'entrées-sorties, en
réponse à une demande de reconnexion faite par un organe de com-
mande lorsque le mot de comptage dans la table de commande des
entrées-sorties est'à "zéro", passe directement à l'état de sus-
pension d'exécution du programme afin d'empêcher un recouvrement
de la mémoire par un appareil défaillant.
92,- Système d'entrées-sorties suivant la revendication 90 ou 91, caractérisé en ce qu'il comprend, dans chaque entrée, une zone -d'erreur comportant plusieurs bits qui peuvent être mis à "un"
2,473 1 9
pour indiquer l'une quelconque de nombreuses erreurs dénombrées,
et en ce que le moyen de canal d'entrées-sorties passe directe-
ment à l'état de suspension d'exécution du programme en cas
d' erreur quelconque.
93.- Système d'entrées-sorties sivant la revendication 90 ou 91, caractérisé en ce qu'il comprend, dans chaque entrée, une zone qui peut être mise à "un" pour indiquer que la zone-tampon dans la mémoire peut être extraite de la mémoire mais non introduite
en mémoire, de manière à protéger la mémoire contre une défail-
lance de l'organe de commande.
94.- Système d'entrées-sorties suivant l'une des revendications 76 à 93,
caractérisé en ce qu'il comprend un moyen de protection qui empê-
che un appareil périphérique d'affecter sa propre zone tampon dans le module de processeuro 95.- Système d'entrées-sorties suivant la revendication 94, caractérisé en ce que le moyen de protection comprend un bit de protection qui permet uniquement une opération d'extraction
de la mémoire du module de processeur et qui empêche une opéra-
tion d'introduction dans la mémoire du module de processeur.
96.- Système d'entrées-sorties suivant la revendication 78, caractérisé en ce que chaque module de processeur comporte, dans
sa mémoire, son propre moyen de table de commande d'entrées-sor-
ties pour tous les appareils qui lui sont connectés, de sorte qu'une défaillance unique dans un organe de commande quelconque ne peut détériorer la mémoire d'un module de processeur connecté
à cet organe de commande particulier.
97 - Système d'entrées-sorties suivant l'une des revendications 76 à 96,
caractérisé en ce qu'l comprend plusieurs moyens séparés d'ali-
mntation électrique répartis et opérationnellement associés avec les modules de processeurs et les organes de commande, de sorte qu'aucune panne individuelle de moyen d'alimentation électrique
ne peut immobiliser le système de traitement par multiproces-
seurs. 98.- Système d'entrées-sorties suivant la revendication 97, caractérisé en ce que les alimentations électriques séparées sont réparties et opérationnellement associées aux modules de processeurs et aux organes de commande à plusieurs entrées, de
sorte que n'importe quel module de processeur ou organe de com-
mande individuel peut être mis hors circuit sans que le fonction-
nement continu du reste du système de traitement par multiproces-
I70 teulle rectitiée
seurs An soit affectA et l'entretien en direct peut être effec-
tué sur n'importe quel module de processeur ou organe de comman-
de individuel grâce à une coupure progressive de l'alimentation
électrique de ce module de processeur ou de cet organe de.comman-
de, tandis que le reste du système de traitement par multiproces-
seurs continue à fonctionner en liaison directe avec l'ordina-
teur. 99.- Système d'entrées-sorties suivant la revendication 97,
caractérisé en ce que plusieurs alimentatiors électriques sépa-
rées sont opérati.onnellement associées avec chaque organe de commande de sorte lue, si une alimentation électrique associée à un organe de commande vient à baisser, une autre alimentation électrique prend la relève pour empêcher la perte de cet organe
de commande.
100.- Système d'entrées-sorties suivant la revendication 99,
caractérisé en ce qu'il comprend un moyen de commutation à dio-
des pour connecter les deux alimentations électriques à chaque organe de commande, de sorte que chaque alimentation électrique alimente l'organe de commande à tous moments; et en ce que, si
une alimentation électrique vient à défaillir, l'autre alimenta-
tion électrique fournit toute la puissance à l'organe de comman-
de, aucune discontinuité n'apparaissant jamais dans la puissance
fournie à l'organe de commande.
101.- Système d'Entrée-sorties suivant l'une des revendications 76 à 98,
caractérisé en ce qu'il comprend un moyen de circuit de mise sous tension pour déterminer le fonctionnement de l'organe de commande lors de la mise sous tension ou hors tension, afin de protéger la ligne d'entrées-sorties contre les signaux erronés
et permettre un entretien en direct et une extension du système.
102.- Système d'entrées-sorties suivant la revendication 101, caractérisé en ce qu'il comprend, dans chaque entrée, des
appareils d'interface qui commandent les lignes d'entrées-sor-
ties, et en ce que le moyen de circuit de mise sous tension agit en liaison avec les appareils d'interface pendant la défaillance
ou la coupure d'une alimentation électrique associée, afin d'em-
pêcher électriquement les appareils d'interface de commander la ligne d'entrées-sorties et, de ce fait, empêcher qu'un organe
de commande n'affecte la ligne d'entrées-sorties pendant la dé-
faillance ou la coupure d'une alimentation électrique.
103.- Système d'alimentation électrique répartie conçu pour
171 2473199
un système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoire, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés; plusieurs organes de commande pour commander la transmission de données entre plusieurs modules de processeurs et plusieurs appareils périphériques, plusieurs entrées dans chaque organe de commande et plusieurs lignes d'entrées-sorties pour connecter chaque organe de commande de manière telle qu'il soit accessible aux différents modules de processeurs; et un moyen d'alimentation électrique répartie pour assurer le fonctionnement ininterrompu du reste du système de traitement par multiprocesseurs en cas de défaillance d'une seule alimentation électrique d'une partie du système de traitement par multiprocesseurs, ce moyen d'alimentation électrique répartie comprenant une alimentation électrique séparée pour chaque module de processeur et un moyen de connecter plusieurs des alimentations électriques séparées à chaque organe de commande et capable d'alimenter chaque organe de commande à partir des autres alimentations électriques séparées, en cas de défaillance de l'une des alimentations électriques connectées à un
*quelconque organe de commande.
104.- Système d'alimentation électrique répartie suivant la revendication 103, caractérisé en ce qu'il comprend au moins un moyen
de circuit de mise sous tension afin d'établir des niveaux d'alimenta-
tion qui soient dans certaines limites prédéterminées, et capable de fonctionner suivant quatre états, c'est-à-dire hors de tension, passage de l'état hors tension à l'état sous tension, sous tension et passage
de l'état sous tension à l'état hors tension. 105.- Système d'alimentation électrique répartie suivant la revendication
104, caractérisé en ce qu'il comprend une ligne entre processeurs interconnectant tous les modules de processeurs; et en ce qu'un moyen de circuit de mise sous tension est placé dans chaque
unité centrale et dans chaque organe de commande.
106.- Système d'alimentation électrique répartie suivant la revendication 104 ou 105, caractérisé en ce que le moyen de circuit de mise sous tension fournit, en cas de variation de l'alimentation logique, un signal qui établit le niveau d'alimentation appliqué au module du processeur ou à l'organe de commande connecté; et en ce que la sortie de ce signal est utilisée pour invalider directement les signaux d'interface appropriés du module de processeur ou de
172 2473197
l'organe de commande dans lequel est placé le circuit de mise sous tension,
lorsque la mise sous tension ne se fait pas dans certaines limites pré-
déterminées qui assureront un fonctionnement logique correct.
107.- Système d'alimentation électrique répartie suivant l'une des
revendications 104 à 106, caractérisé en 'ce que le moyen de circuit de
mise sous tension commande les circuits d'interface de commande qui régissent toutes les lignes de transmission dans le système de traitement
par multiprocesseurs.
108.- Système d'alimentation électrique répartie suivant l'une des
revendications 105 à 107, caractérisé en ce qu'il comprend une deuxième
ligne entre processeurs interconnectant tous les modules de processeurs; et en ce que le moyen de circuit de mise sous tension agit en liaison avec le système à circuits multiples fourni par les lignes entre processeurs, les organes de commande à entrées multiples et les lignes associées d'entrées-sorties pour donner un mode de fonctionnement dans lequel la défaillance de l'alimentation électrique d'un processeur ou d'un organe de commande à entrées multiples-n'affecte pas un autre module de processeur ou un autre organe de commande à-double entrée
placé dans un quelconque de ces circuits.
109.- Système d'alimentation électrique répartie suivant l'une
des revendications 103 à 108, caractérisé en ce que le moyen de
connexion comprend un montage de commutation à diodes qui alimente l'organe de commande à partir de plusieurs alimentations électriques lorsque ces alimentations électriques associées sont en fonctionnement, et qui alimente l'organe de commande à partir des alimentations électriques restantes en cas de panne de l'une des alimentations électriques associées, la commutation se faisant sans interruption ni pulsations de sorte que le fonctionnement de l'organe de comnm nde
n'est jamais interrompu.
110.- Système d'alimentation électrique répartie suivant l'une
des revendications 103 à 109, caractérisé en ce que les alimentations
- électriques séparées sont interconnectées par une ligne d'alimentation comportant plusieurs conducteurs dont certains sélectionnés sont connectés à certaines alimentations électriques sélectionnées et qui comprennent des prises sur la ligne d'alimentation au voisinage de chaque organe de commande, pour permettre de connecter l'organe de commande à plusieurs alimentations électriques sélectionnées à l'aide d'une connexion facile aux prises concernées sur la ligne d'alimentation. 111.- Système à mémoire conçu pour un module de processeur d'un
173 24 73 197
système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel ledit module de processeur comprend une unité centrale et le système à mémoire, cesystème à mémoire étant caractérisé en ce qu'il comprend une mémoire centrale physique placée dans le module de processeur et un moyen de relevé pour traduire toutes les adresses logiques en adresses physiques, de sorte que toutes les instructions de l'unité centrale peuvent couvrir quatre zones d'adresses logiques, c'est-à-dire les données de l'utilisateur, les données du système, le code de l'utilisateur et le code du système, et de sorte qu'un programmeur n'a pas besoin de se soucier d'une adresse physique réelle ni de la quantité de mémoire physique connectée mais, au contraire, il peut écrire dans les quatre zones d'adresses logiques un programme basé entièrement
sur des adresses logiques.
112.- Système à mémoire suivant la revendication 111, caracté-
risé en ce que la mémoire physique est divisée en pages numérotées, le moyen de relevé comprenant quatre relevés qui sont un relevé de données du système, un relevé du code du système, un relevé des données de l'utilisateur et un relevé du code de l'utilisateur, correspondant aux quatre zones d'adresses logiques, et chaque entrée de relevé établissant une correspondance entre une page logique et
une page physique.
113.- Système à mémoire suivant la revendication 112, caracté-
risé en ce que le moyen de relevé prévu pour fournir une mémoire à relevé, assure également la protection des utilisateurs dans le cadre d'une exploitation en multiprogrammation car le relevé, qui est en fait prévu pour un utilisateur particulier, ne permet l'accès qu'aux pages de la mémoire physique du programme et des données de cet utilisateur afin d'empêcher un utilisateur d'écrire dans une page du programme ou des données d'un autre utilisateur et, de ce fait, empêcher un utilisateur de détruire le programme d'un autre utilisateur,
sans qu'il soit nécessaire de prévoir des registres de protection.
114.- Système à mémoire suivant la revendication 112 ou 113, caractérisé en ce que le moyen de relevé comprend un moyen de bit de référence pour donner un histogramme d'utilisation d'une page logique donnée pendant une période de temps, afin de montrer si cette page logique a été utilisée pendant une période récente de temps, et, de ce fait, indiquer si cette page logique donnée est ou non d'utilisation
courante.
174 2473197
Feuille rectifiée
115.- Système à mémoire suivant la revendication 114, caracté-
risé en ce que la référence de l'historique d'utilisation est maintenue dans les bits de matériel dans l'entrée du relevé et en ce que le moyen de bits de référence est constitué pour être périodiquement mis à jour par une instruction du logiciel qui décale l'entrée du relevé. 116.- Système à mémoire suivant la revendication 115, caractérisé en ce que le moyen de bits de référence comprend plusieurs bits de référence dans l'entrée du relevé pour une page donnée et comprend également un moyen de microinstructions pour décaler le contenu des bits, afin de donner un historique de référence de l'entrée du
relevé en réponse à une instruction de décalage du relevé.
117.- Système à mémoire suivant l'une des revendications 114
à 116, caractérisé en ce qu'il comprend une logique de commande de la mémoire à relevé agissant en liaison avec le système d'exploitation pour maintenir automatiquement l'information dans les bits de référence lorsque les accès de l'unité centrale et du moyen de
canal d'entrées-sorties sont effectués en mémoire.
118.- Système à mémoire suivant l'une des revendications 114 à
117, caractérisé en ce qu'il comprend les instructions suivantes uti-
lisées par le système d'exploitation en liaison avec le relevé, c'est-àdire l'instruction d'insertion dans une entrée de relevé dont le but est d'insérer les données dans une entrée de relevé et qui exige que l'adresse de l'entrée du relevé et les données soient insérées sous la forme de paramètres; l'instruction de lecture d'une entrée de relevé, dont le but est de lire une entrée de relevé et qui exige que l'adresse de l'entrée du relevé soit insérée sous la forme d'un paramètre; et l'instruction à décalage d'une entrée de relevé, dont le but est de décaler d'une position vers la droite
la zone historique de référence d'une entrée de relevé.
119.- Système à mémoire suivant l'une des revendications 112 à
118, caractérisé en ce que les transmissions de données vers et de la mémoire par le canal d'entrées-sorties se font au moyen du relevé
des données du système.
120.- Système à mémoire suivant l'une des revendications 111 à
119, caractérisé en ce que la zone du relevé comprend un relevé des données de l'utilisateur, un relevé des données du système, un relevé du code de l'utilisateur et un relevé du code du système,
un sélecteur d'adresse et une bascule de sortie du relevé.
121.- Système à mémoire suivant l'une des revendications 111 à
2 473197
, caractérisé en ce que la mémoire physique est divisée en pages numérotées; en ce que chaque relevé comprend une entrée de relevé séparée pour chaque page logique mentionnée dans le relevé; et en ce que chaque entrée de relevé contient une zone de numéro de page physique, une zone de bit de parité, une zone d'historique de référence, une zone de bit historique de référence, une zone de
bit-clé et une zone de bit d'absence.
122.- Module de processeur conçu pour un système de traitement par multiprocesseurs, du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend une unité centrale comportant une horloge de processeur; une mémoire et un moyen de commande entre processeurs pour connecter le module de processeur à n'importe quel autre module du système de traitement par multiprocesseurs par une ligne entre processeurs fonctionnant à un rythme d'horloge de ligne qui n'est synchronisé avec aucun des rythmes d'horloges de processeurs, ce moyen de commande entre processeurs
comprenant un moyen en file d'attente pour mettre des données en mémoire-
tampon entre la ligne entre processeurs et la mémoire des processeurs, ce moyen en file d'attente comportant une première machine logique exploitée en synchronisation avec l'horloge de la ligne et une deuxième machine logique exploitée en synchronisation avec l'horloge du processeur et un moyen de verrouillage opérationnellement associé avec une première et une deuxième machines logiques pour autoriser certains passages de l'une des machines logiques en fonction de l'état de l'autre machine, de telle sorte que la ligne entre processeurs peut être exploitée au rythme de l'horloge de la ligne et que l'unité centrale et la mémoire du module de processeur peuvent être exploitées au rythme de l'horloge du processeur, sans perte de données transmises
ni perte d'information concernant l'état de la séquence de transmission.
123.- Procédé de création d'un verrouillage complet dans les limites de synchronisation d'une logique du genre utilisé dans un système de traitement par processeurs et comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel une première machine logique fonctionne en synchronisation avec une première horloge et dans lequel une deuxième machine logique fonctionne en synchronisation avec une deuxième horloge afin de garantir une séquence fixe d'apparitions d'états des machines logiques, indépendamment de la synchronisation
176 2473197
Jeufiie rectifiée relative des deux horloges, ce procédé étant caractérisé en ce qu'il comprend à la fois l'examen des événements et la création de signaux qui sont en synchronisation avec l'une ou l'autre des deux horloges, et la création de verrouillage entre les deux machines logiques en réponse à ces signaux pour donner l'indépendance de la synchronisation relative.
124.- Procédé d'interconnexion de plusieurs modules de pro-
cesseurs dans un système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel les processeurs sont interconnectés par un circuit de communication entre modules multiples afin d'assurer qu'un module de processeur peut établir un circuit émetteur-récepteur avec un autre module de processeur sur une base de temps synchronisée, sans devoir compter sur un accusé de réception entre la paire de modules de processeurs pour chaque mot contenant des données transmis, ce procédé étant caractérisé en ce qu'il comprend la connexion de tous les modules de processeurs avec un circuit de communication entre modules multiples; le contrôle du circuit de communication entre modules multiples par un controleur de ligne; l'exploitation de la ligne en tant que ligne asynchrone avec une partie de chaque module de processeur synchronisée avec une horloge de ligne fournie par le contrôleur de ligne; la transmission du message par groupes de bits comportant plusieurs mots; le balayage des modules de processeurs sur la base d'une demande afin de déterminer un module de processeur qui soit prêt à envoyer un message dans la ligne; la détermination de la priorité des modules de processeurs demandant une transmission par la ligne entre processeurs afin d'établir une paire émettrice-réceptrice; l'établissement d'un circuit émetteur-récepteur par un protocole qui établit la capacité du module de processeur récepteur à recevoir et qui affecte ensuite un temps de ligne pour l'émission d'un groupe de bits, temps qui correspond exactement à la longueur-du paquet lui-même; et ensuite la remise du contrôleur de ligne à son état
d'inactivité ou, si on le désire, à son état de balayage.
125.- Procédé suivant la revendication 124, caractérisé en ce qu'il comprend l'indication du module de processeur récepteur par le module de processeur émetteur et la détection de la préparation du module de processeur récepteur à recevoir, avant l'envoi du groupe
de bits.
126.- Procédé suivant la revendication 124 ou 125, caractérisé en ce que chaque module de processeur comporte une ligne de sélection
177 2473 197
individuelle reliant ce module de processeur au contrôleur de ligne et comprenant des signaux de sélection de répartition dans les lignes de sélection individuelles, afin de créer des transmissions de données dans la ligne, établir la paire émettrice-réceptrice de modules de processeurs et la base de temps pour la transmission de l'information par la ligne entre l'émetteur et le récepteur et empêcher les autres
modules de processeurs d'essayer de transmettre dans la ligne en.
simultanéité avec le module de processeur sélectionné.
127.- Procédé de connexion d'organes de commande avec un canal d'entréessorties d'un module de processeur suivant un plan de priorité prédéterminé dans un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel
plusieurs organes de commande sont connectés à un canal d'entrées-
sorties comportant une ligne acheminant des données de bits multiples, et peuvent valider chacun un signal de demande de reconnexion ou d'interruption envoyé dans le canal d'éntrées-sorties simultanément avec la validation de signaux de demande de reconnexion ou d'interruption venant d'autres organes de commande, ce procédé étant caractérisé en ce
qu'il comprend la connexion des organes de commande au canal d'entrées-
sorties dans une connexion de balayage en étoile, de sorte que chaque
organe de commande est connecté indépendamment au canal d'entrées-
sorties et de sorte qu'un nombre quelconque d'organes de commande peuvent être en panne ou mis hors circuit sans affecter le balayage des autres organes de commande; la détermination des organes de commande qui valident effectivement les demandes adressées au canal d'entrées-sorties; la détermination de l'identité de l'organe de commande le plus hautement prioritaire qui valide une demande; la
sélection d'un organe de commande particulier par le canal d'entrées-
sorties suivant le plan de priorité prédéterminé; l'exécution d'une transmission de données entre le canal d'entrées-sorties et l'organe de commande sélectionné; et la déconnexion de l'organe de commande
sélectionné à la fin de la transmission des données.
128.- Procédé suivant la revendication 127, caractérisé en ce que le canal d'entrées-sorties comprend un registre de séparation de priorité ayant un seul bit pour chaque organe de commande et opérationnellement associé avec la ligne acheminant les données afin de sélectionner un organe de commande particulier, et comprenant la validation d'un signal de validation d'un bit dans la ligne de données par chaque organe de commande ayant une demande en cours, et séparant
178 2- 4 7 3 1 9,
Feuilie rectifiée la priorité des bits, dans la ligne acheminant les données, par le registre
de séparation de priorité.
129.- Procédé suivant la revendication 128, caractérisé en ce que chaque organe de commande comporte une entrée et chaque entrée un bit de sélection qui, lorsqu'il est à "un", permet à cette entrée de répondre aux instructions que le canal d'entrées-sorties dirige vers cette entrée, ce procédé comprenant la validation dans la ligne de données, d'un bit de sortie du registre de séparation de priorité qui met à "un" le bit de sélection de l'entrée d'un organe de commande, et ce procédé comprenant également la mise à zéro de tous les bits de sélection des entrées des organes de commande qui ne sont pas sélectionnés. 130.- Procédé suivant la revendication 129, caractérisé en ce que chaque entrée comporte un bit de validation pour empêcher l'organe de commande de transmettre l'information par l'intermédiaire de cette entrée au canal d'entrées- sorties, et comprenant la mise à zéro du bit de validation d'une entrée lorsqu'un organe de commande accomplit une action qui pourrait affecter le fonctionnement d'autres organes de
commande connectés au même canal d'entrées-sorties.
131.- Procédé suivant la revendication 129 ou 130, caractérisé en ce qu'il comprend l'utilisation d'un moyen de ligne de rangement afin d'augmenter le nombre d'organes de commande possibles qui peuvent être prévus avec la ligne acheminant des données de bits multiples; et en ce que la priorité des organes de commande est déterminée à la
fois par le rang et par la priorité dans un rang.
132.- Procédé suivant l'une des revendications 127 à 131,
caractérisé en ce qu'il comprend l'implantation d'une mémoire-tampon comportant plusieurs mots et sensible aux contraintes dans chaque
organe de commande.
133.- Mémoire-tampon sensible aux contraintes et conque pour un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel le système d'entrées-sorties est un système d'entrées-sorties multiplexé par tranches du genre dans lequel des
tranches de données de longueur iariable sont transmises entre un canal d'en-
trées-sorties et un organe de commande et sont multiplexées en temps avec des tranches de données tenant d'autres organes de commande, cette mémoire-tampon sensible aux contraintes étant caractérisée en ce qu'elle comprend un moyen
de mémoire-tampon pour recevoir et stocker les données venant du canal d'en-
trées-sorties et des appareils périphériques connectés à cet organe de commaicd;
179 247319 7
un moyen de logique de commande de cette mémoire-tampon comprenant un moyen logique qui permet de garder une trace du degré de contrainte
appliqué à la mémoire-tampon et capable d'adresser au canal d'entrées-
sorties des demandes de reconnexion et des demandes de déconnexion lorsque la contrainte passe par certaines valeurs; et un moyen permettant de faire varier la valeur de la contrainte à laquelle l'organe de
commande adresse une demande de reconnexion au canal d'entrées-sorties.
134.- Mémoire-tampon suivant la revendication 133, caractérisée
en ce qu'elle comprend un moyen à profondeur d'attente permettant -
d'attendre que la contrainte appliquée à la mémoire-tampon ait atteint une certaine valeur après chaque déconnexion du canal d'entrées-sorties, avant de faire la demande suivante de reconnexion pour permettre, de ce fait, aux appareils faiblement prioritaires d'accéder au canal d'entréessorties de sorte que ces derniers appareils ne sont pas
surchargés.
135.- Mémoire-tampon suivant la revendication 134, caractérisée en ce qu'elle comprend un moyen à profondeur de seuil permettant à l'organe de commande d'attendre un certain temps après avoir fait une demande de reconnexion avant que l'organe de commande ne soit surchargé, afin de permettre aux appareils hautement prioritaires d'accéder au
canal d'entrées-sorties.
136.- Mémoire-tampon suivant la revendication 135, caractérisée en ce que sa profondeur est la somme de la profondeur de seuil et de
la profondeur d'attente.
137. Mémoire-tampon suivant la revendication 135 ou 136, caractérisée en ce que le moyen de faire varier les contraintes est capable de faire varier la profondeur d'attente à laquelle l'organe de-commande adresse une demande de reconnexion au moyen de canal d'entrées-sorties pour permettre aux organes de commande connectés à un canal d'entrées-sorties d'être rangés par ordre de priorité, de telle sorte que chaque appareil puisse accéder au canal d'entrées-sorties suffisamment fréquemment pour ne pas être surchargé, et de telle sorte qu'il ne provoque pas la surcharge des autres organes de commande connectés au même canal d'entrées-sorties. 138.- Système d'entrées-sorties pour un système de traitement pour processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties; caractérisé par le fait qu'il comporte un organe de commande pour commander la transmission des données entre le
247119-.
module de processeur et un appareil périphérique; une entrée dans l'organe
de commande; une ligne d'entrées-sorties connectant le canal d'entrées-
sorties du module de processeur à l'entrée de l'organe de commande-
et une bascule de validation dans l'entrée afin d'empocher dynamiquement cette entrée d'envoyer des signaux dans la ligne d'entrées-sorties en réponse à une défaillance dans une partie quelconque de l'organe de commande. 139.- Système d'entrées-sorties pour un système de traitement par processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties-; caractérisé par le fait qu'il comporte un organe de commande pour commander la transmission des données entre le module de processeur et un appareil périphérique; une entrée dans l'organe de commande; une ligne d'entrées-sorties connectant le canal d'entréessorties du module de processeur à l'entrée de l'organe de commande; et un moyen de création et de contrôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement
pendant que les données sont acceptées dans le registre.
140.- Système d'entrées-sorties pour un système de traitement par processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties; caractérisé par le fait qu'il comporte plusieurs organes de commande pour commander la transmission des données entre le module de processeur et les appareils périphériques; une entrée dans chaque organe de commande; une ligne d'entrées-sorties connectant le canal d'entrées-sorties du module de processeur à l'entrée de chaque organe de commande; et un moyen de priorité pour sélectionner conformément à un plan de priorité prédéterminé, un organe de commande
particulier à partir de plusieurs signaux de demande d'appareils qui.
peuvent se produire de façon asynchrone, ce moyen de priorité comprenant une connexion de balayage en étoile entre le moyen d'entrées-sorties et les organes de commande utilisant une ligne de données multibinaires un moyen de ligne de rangement qui divise les organes de commande en 181 1?4773 9 t plusieurs groupes auxquels est affectée une priorité relative entre eux, une priorité étant également affectée aux organes de commande au sein de chaque groupe; un registre séparateur de priorité pour déterminer l'organe de commande qui a la priorité la plus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commande le plus hautement prioritaire
qui fait une demande de reconnexion.
141.- Système de verrouillage d'alimentation électrique pour un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires, et dans lequel le système de verrouillage d'alimentation est conçu pour maintenir des modules logiques connectés à une ligne commune dans un état connu alors que les niveaux d'alimentation ne se trouvent pas dans les limites spécifiées, caractérisé en ce qu'il comprend plusieurs modules logiques; une ligne commune connectée à chacun des modules un moyen d'alimentation électrique pour alimenter les modules logiques un moyen de détecter le niveau d'alimentation dans chaque module afin
de détecter que l'alimentation fournie à ce module par le moyen d'ali-
mentation électrique n'est pas dans les limites spécifiées; chacun de ces modules logiques comprenant une logique à trois états, dont un état
est l'état zéro ou non actif et dont les autres états contiennent l'in-
formation; et en ce que le moyen de détecter les niveaux d'alimentation agit en liaison avec la logique à trois états, dans son état non actif, dans deux cas, c'est-à-dire pendant un passage des niveaux d'alimentation de valeurs comprises dans les limites spécifiées à des valeurs situées hors de ces limites spécifiées et à n'importe quel moment o les niveaux
d'alimentation sont en dehors des limites spécifiées.
142.- Système de verrouillage suivant la revendication 141, caractérisé en ce que la logique à trois états est connectée directement
à la ligne commune, de sorte que celle-ci reste active lorsque l'alimen-
tation d'un module logique quelconque est coupée.
143.- Système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel des modules de processeurs séparés sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend plusieurs modules deprocesseurs comprenant une ligne entre processeurs pour des transmissions directes entre les modules de processeurs, séparées et distinctes d'un système d'entrées-sorties et d'un système de mémoire; chaque module de processeur comportant une unité centrale et un moyen de commande entre
182 2473197
tt3uilit:wuufiS processeurs pour connecter le module de processeur à la ligne entre processeurs en vue d'une transmission avec un autre module de processeur un moyen de contrôleur de ligne opérationnellement associé avec la ligne entre processeurs et avec chaque moyen de commande entre processeurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs par la ligne entre processeurs et pour régler les transmissions dans la ligne entre processeurs; chaque module de processeur comprenant un moyen de canal d'entrées-sorties pour connecter le module de processeur à un ou plusieurs organes de commande; plusieurs appareils périphériques; plusieurs organes de commande pour commander la transmission des données entre le module de processeur et les appareils périphériques; plusieurs entrées dans chaque organe de commande; plusieurs lignes d'entrées- sorties connectant chaque organe de commande pour le rendre accessible à plusieurs modules différents de processeurs; et dans lequel chaque traitement en cours d'exécution
dans un module de processeur peut accéder à une ressource d'entrées-
sorties dans le système, que cette ressource d'entrées-sorties soit ou non commandée par ou connectée au module de processeur dans lequel le procédé est en cours d'exécution, le traitement adressant des demandes, par la ligne entre processeurs, au module de processeur qui commande
la ressource d'entrées-sorties.
144.- Système de traitement par multiprocesseurs suivant la revendication 143, caractérisé en ce qu'il comprend une deuxième ligne entre processeurs et en ce que tout traitement peut atteindre n'importe quelle autre ressource du système aussi longtemps que ce traitement comporte au moins un circuit vers cette ressource, quel que soit l'état
de ce circuit vu par un autre traitement.
145.- Système de traitement par multiprocesseurs suivant la revendication 143 ou 144, caractérisé en ce qu'il comprend un moyen d'alimentation électrique répartie pour assurer le fonctionnement ininterrompu du reste du système de traitement par multiprocesseurs en cas de défaillance d'une seule alimentation électrique d'une partie du système de traitement par multiprocesseurs, ce moyen d'alimentation électrique répartie comprenant une alimentation électrique séparée pour chaque module de processeur et un moyen de connecter plusieurs des alimentations électriques séparées à chaque organe de commande et capable d'alimenter chaque organe-de commande à partir des autres alimentations électriques séparées, en cas de défaillance de l'une des alimentations électriques connectées à un quelconque organe de commande, de ce fait l'alimentation électrique opérationnellement associée à un
183 2473197
module de processeur peut être coupée progressivement pour permettre un entretien en direct, à l'état hors tension, de ce module de processeur tandis que le reste du système de traitement par multiprocesseurs reste
sous tension et en fonctionnement.
i1
FR7727011A 1976-09-07 1977-09-06 Systeme de traitement par multiprocesseurs Expired FR2473197B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/721,043 US4228496A (en) 1976-09-07 1976-09-07 Multiprocessor system

Publications (2)

Publication Number Publication Date
FR2473197A1 true FR2473197A1 (fr) 1981-07-10
FR2473197B1 FR2473197B1 (fr) 1985-12-13

Family

ID=24896297

Family Applications (4)

Application Number Title Priority Date Filing Date
FR7727011A Expired FR2473197B1 (fr) 1976-09-07 1977-09-06 Systeme de traitement par multiprocesseurs
FR8116835A Expired FR2485228B1 (fr) 1976-09-07 1981-09-04 Systeme a memoire pour module de processeurs
FR8116834A Expired FR2485227B1 (fr) 1976-09-07 1981-09-04 Systeme d'entrees/sorties pour un systeme de traitement par multiprocesseurs
FR8404937A Pending FR2547082A1 (fr) 1976-09-07 1984-03-29 Systeme de traitement par multiprocesseurs

Family Applications After (3)

Application Number Title Priority Date Filing Date
FR8116835A Expired FR2485228B1 (fr) 1976-09-07 1981-09-04 Systeme a memoire pour module de processeurs
FR8116834A Expired FR2485227B1 (fr) 1976-09-07 1981-09-04 Systeme d'entrees/sorties pour un systeme de traitement par multiprocesseurs
FR8404937A Pending FR2547082A1 (fr) 1976-09-07 1984-03-29 Systeme de traitement par multiprocesseurs

Country Status (9)

Country Link
US (10) US4228496A (fr)
JP (10) JPS5925257B2 (fr)
BE (1) BE892627Q (fr)
CA (1) CA1121481A (fr)
DE (1) DE2740056A1 (fr)
FR (4) FR2473197B1 (fr)
GB (5) GB1588806A (fr)
HK (5) HK62481A (fr)
MY (5) MY8200206A (fr)

Families Citing this family (848)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52123137A (en) * 1976-04-09 1977-10-17 Hitachi Ltd Duplication memory control unit
JPS5619575A (en) * 1979-07-25 1981-02-24 Fujitsu Ltd Data processing system having hierarchy memory
WO1981001066A1 (fr) * 1979-10-11 1981-04-16 Nanodata Computer Corp Systeme de traitement de donnees
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
US4491916A (en) * 1979-11-05 1985-01-01 Litton Resources Systems, Inc. Large volume, high speed data processor
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant multiple computer system
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4383300A (en) * 1980-04-04 1983-05-10 The United States Of America As Represented By The Secretary Of The Navy Multiple scanivalve control device
US4527236A (en) * 1980-04-04 1985-07-02 Digital Equipment Corporation Communications device for data processing system
NL8002787A (nl) * 1980-05-14 1981-12-16 Philips Nv Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme.
US4376975A (en) * 1980-06-26 1983-03-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4374414A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4363096A (en) * 1980-06-26 1982-12-07 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4374413A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4468738A (en) * 1980-07-16 1984-08-28 Ford Aerospace & Communications Corporation Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
FR2490434B1 (fr) * 1980-09-12 1988-03-18 Quinquis Jean Paul Dispositif de resolution des conflits d'acces et d'allocation d'une liaison de type bus interconnectant un ensemble de processeurs non hierarchises
CH651950A5 (de) * 1980-10-20 1985-10-15 Inventio Ag Multiprozessoranordnung.
US4378594A (en) * 1980-10-24 1983-03-29 Ncr Corporation High speed to low speed data buffering means
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system
FR2497373B1 (fr) * 1980-12-30 1986-09-05 Bull Sa Systeme d'alimentation microprogrammable pour systeme de traitement de donnees comportant un panneau de service destine aux operations de maintenance et procedes d'exploitation de ce panneau de service
GB2214334B (en) * 1988-01-05 1992-05-06 Texas Instruments Ltd Integrated circuit
USRE37496E1 (en) * 1981-01-21 2002-01-01 Hitachi, Ltd Method of executing a job
JPS57121750A (en) * 1981-01-21 1982-07-29 Hitachi Ltd Work processing method of information processing system
US4435762A (en) 1981-03-06 1984-03-06 International Business Machines Corporation Buffered peripheral subsystems
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
AU551032B2 (en) * 1981-03-31 1986-04-17 British Telecommunications Public Limited Company Safety arrangement in computer control system
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US4493024A (en) * 1981-05-22 1985-01-08 Data General Corporation Digital data processing system
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
US4419728A (en) * 1981-06-22 1983-12-06 Bell Telephone Laboratories, Incorporated Channel interface circuit providing virtual channel number translation and direct memory access
US4453213A (en) * 1981-07-30 1984-06-05 Harris Corporation Error reporting scheme
US4590551A (en) * 1981-08-24 1986-05-20 Burroughs Corporation Memory control circuit for subsystem controller
US4438494A (en) 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
JPS5846428A (ja) * 1981-09-11 1983-03-17 Sharp Corp 文章編集装置の停電保護用処理方式
EP0088789B1 (fr) * 1981-09-18 1987-08-05 CHRISTIAN ROVSING A/S af 1984 Systeme d'ordinateur multiprocesseur
US4482950A (en) * 1981-09-24 1984-11-13 Dshkhunian Valery Single-chip microcomputer
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US4866604A (en) * 1981-10-01 1989-09-12 Stratus Computer, Inc. Digital data processing apparatus with pipelined memory cycles
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
ATE25779T1 (de) * 1981-10-01 1987-03-15 Stratus Computer Inc Digitale datenverarbeitungsanlage mit zuverlaessigkeits-bus-protokoll.
US4837675A (en) * 1981-10-05 1989-06-06 Digital Equipment Corporation Secondary storage facility empolying serial communications between drive and controller
AU560352B2 (en) * 1981-10-05 1987-04-02 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4811279A (en) * 1981-10-05 1989-03-07 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4811278A (en) * 1981-10-05 1989-03-07 Bean Robert G Secondary storage facility employing serial communications between drive and controller
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
JPS5868109A (ja) * 1981-10-17 1983-04-22 Toshiba Mach Co Ltd 機能拡張性を有するプログラマブルシ−ケンスコントロ−ラ
EP0176712B1 (fr) * 1981-10-22 1991-01-02 Nec Corporation Système de traitement de données comprenant un processeur principal et des modules commandés par données
US4482951A (en) * 1981-11-12 1984-11-13 Hughes Aircraft Company Direct memory access method for use with a multiplexed data bus
JPS5884308A (ja) * 1981-11-16 1983-05-20 Toshiba Mach Co Ltd プログラマブルシーケンスコントローラの制御装置
US4477871A (en) * 1981-11-23 1984-10-16 Motorola, Inc. Global operation coordination method and circuit
US4488256A (en) * 1981-11-23 1984-12-11 Motorola, Inc. Memory management unit having means for detecting and preventing mapping conflicts
US4473878A (en) * 1981-11-23 1984-09-25 Motorola, Inc. Memory management unit
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4608689A (en) * 1981-12-04 1986-08-26 Canon Kabushiki Kaisha Data processing and transfer apparatus
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
IL67664A (en) * 1982-01-19 1987-01-30 Tandem Computers Inc Computer memory system with data,address and operation error detection
US4672609A (en) * 1982-01-19 1987-06-09 Tandem Computers Incorporated Memory system with operation error detection
US4464658A (en) * 1982-03-05 1984-08-07 At&T Laboratories Multipoint data communication system with collision detection
US4472712A (en) * 1982-03-05 1984-09-18 At&T Bell Laboratories Multipoint data communication system with local arbitration
DE3215080A1 (de) * 1982-04-22 1983-10-27 Siemens AG, 1000 Berlin und 8000 München Anordnung zur kopplung von digitalen verarbeitungseinheiten
DE3215177A1 (de) * 1982-04-23 1983-10-27 Hartmann & Braun Ag, 6000 Frankfurt Ueberwachungssystem fuer eine oder mehrere, gleichartig aufgebaute prozessstationen
US4490785A (en) * 1982-05-07 1984-12-25 Digital Equipment Corporation Dual path bus structure for computer interconnection
JPS58221453A (ja) * 1982-06-17 1983-12-23 Toshiba Corp 多重系情報処理装置
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
WO1984000222A1 (fr) * 1982-06-30 1984-01-19 Elxsi Bus de canaux d'entree/sortie
US4564899A (en) * 1982-09-28 1986-01-14 Elxsi I/O Channel bus
US4484272A (en) * 1982-07-14 1984-11-20 Burroughs Corporation Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
FR2531550B1 (fr) * 1982-08-06 1987-09-25 Ozil Maurice Dispositif de couplage universel pour la mise en communication d'ensembles de traitement d'informations et d'au moins une unite peripherique
JPS5935209A (ja) * 1982-08-20 1984-02-25 Koyo Denshi Kogyo Kk シ−ケンスコントロ−ラ
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4484308A (en) * 1982-09-23 1984-11-20 Motorola, Inc. Serial data mode circuit for a memory
US4527157A (en) * 1982-09-30 1985-07-02 Gte Automatic Electric Inc. Single fault tolerant CCIS data link arrangement
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4502114A (en) * 1982-10-29 1985-02-26 Gte Automatic Electric Incorporated Circuit for reliable data transfer between two central processing units
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US4488228A (en) * 1982-12-03 1984-12-11 Motorola, Inc. Virtual memory data processor
US4493035A (en) * 1982-12-07 1985-01-08 Motorola, Inc. Data processor version validation
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
DE3276598D1 (en) * 1982-12-07 1987-07-23 Ibm Deutschland Fail-safe data processing equipment
DE3382152D1 (de) * 1982-12-09 1991-03-07 Sequoia Systems Inc Sicherstellungsspeichersystem.
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
JPS59133624A (ja) * 1983-01-20 1984-08-01 Sharp Corp インタ−フエイス方式
JPS59146345A (ja) * 1983-02-10 1984-08-22 Masahiro Sowa コントロ−ルフロ−並列計算機方式
US4703449A (en) * 1983-02-28 1987-10-27 Data Translation Inc. Interrupt driven multi-buffer DMA circuit for enabling continuous sequential data transfers
US4599689A (en) * 1983-02-28 1986-07-08 Data Translations, Inc. Continuous data transfer system
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4733366A (en) * 1983-05-16 1988-03-22 Data General Corporation Apparatus for providing an interrupt signal in response to a permanent or transient power failure
US4593350A (en) * 1983-05-25 1986-06-03 Rca Corporation Distributed processor with periodic data transfer from each memory to like addresses of all other memories
US5224124A (en) * 1983-06-16 1993-06-29 Hitachi, Ltd. Data transmission system
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US4549274A (en) * 1983-07-11 1985-10-22 Honeywell Inc. Distributed electric power demand control
US4591975A (en) * 1983-07-18 1986-05-27 Data General Corporation Data processing system having dual processors
US4868741A (en) * 1983-07-22 1989-09-19 Texas Instruments Incorporated Computer bus deadlock prevention
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
JPS6054052A (ja) * 1983-09-02 1985-03-28 Nec Corp 処理継続方式
US4493000A (en) * 1983-09-30 1985-01-08 Magnetic Peripherals Incorporated Power on/off protect circuit
US4649384A (en) * 1983-10-07 1987-03-10 Dialogic Systems Corp. Method and apparatus for fault tolerant serial communication of digital information
US4875154A (en) * 1983-10-13 1989-10-17 Mitchell Maurice E Microcomputer with disconnected, open, independent, bimemory architecture, allowing large interacting, interconnected multi-microcomputer parallel systems accomodating multiple levels of programmer defined heirarchy
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4639891A (en) * 1983-11-14 1987-01-27 Digital Equipment Corporation Signals path control circuitry for a data terminal
US4608688A (en) * 1983-12-27 1986-08-26 At&T Bell Laboratories Processing system tolerant of loss of access to secondary storage
US4881164A (en) * 1983-12-30 1989-11-14 International Business Machines Corporation Multi-microprocessor for controlling shared memory
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
GB2156554B (en) * 1984-03-10 1987-07-29 Rediffusion Simulation Ltd Processing system with shared data
US5581732A (en) * 1984-03-10 1996-12-03 Encore Computer, U.S., Inc. Multiprocessor system with reflective memory data transfer device
US5255369A (en) * 1984-03-10 1993-10-19 Encore Computer U.S., Inc. Multiprocessor system with reflective memory data transfer device
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4905145A (en) * 1984-05-17 1990-02-27 Texas Instruments Incorporated Multiprocessor
US4704599A (en) * 1984-06-20 1987-11-03 Kimmel Arthur T Auxiliary power connector and communication channel control circuit
DE3424587A1 (de) * 1984-07-04 1986-01-09 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zur steuerung der bidirektionalen datenuebertragung zwischen einer rechnereinheit und ueber ein-/ausgabeeinheiten angeschlossenen uebertragungsleitungen
US4669056A (en) * 1984-07-31 1987-05-26 International Business Machines Corporation Data processing system with a plurality of processors accessing a common bus to interleaved storage
US4688168A (en) * 1984-08-23 1987-08-18 Picker International Inc. High speed data transfer method and apparatus
JPS6194433A (ja) * 1984-10-15 1986-05-13 Mitsubishi Electric Corp シリアルバスの制御方式
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
US4697232A (en) * 1984-11-30 1987-09-29 Storage Technology Corporation I/O device reconnection in a multiple-CPU, dynamic path allocation environment
US4692894A (en) * 1984-12-18 1987-09-08 Advanced Micro Devices, Inc. Overflow/Underflow detection for elastic buffer
DE3508048A1 (de) * 1985-03-07 1986-09-11 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schnittstelleneinrichtung
US4967344A (en) * 1985-03-26 1990-10-30 Codex Corporation Interconnection network for multiple processors
US4752928A (en) * 1985-05-06 1988-06-21 Tektronix, Inc. Transaction analyzer
AU568977B2 (en) 1985-05-10 1988-01-14 Tandem Computers Inc. Dual processor error detection system
JPS623366A (ja) * 1985-06-28 1987-01-09 Toshiba Corp マルチプロセツサシステム
US5101478A (en) * 1985-06-28 1992-03-31 Wang Laboratories, Inc. I/O structure for information processing system
US5157595A (en) * 1985-07-19 1992-10-20 El Paso Technologies, Company Distributed logic control system and method
JPH0752876B2 (ja) * 1985-07-20 1995-06-05 ソニー株式会社 内部バス式デイジタル装置
JPH067380B2 (ja) * 1985-08-30 1994-01-26 株式会社日立製作所 マルチプロセッサシステム
US4787028A (en) * 1985-09-03 1988-11-22 Ncr Corporation Multicommunication protocol controller
US4700330A (en) * 1985-10-30 1987-10-13 Digital Equipment Corporation Memory for a digital data processing system including circuit for controlling refresh operations during power-up and power-down conditions
US4783732A (en) * 1985-12-12 1988-11-08 Itt Corporation Two-wire/three-port RAM for cellular array processor
US4736339A (en) * 1985-12-16 1988-04-05 Gte Communication Systems Corporation Circuit for simplex I/O terminal control by duplex processors
US4979108A (en) * 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
JPS62210436A (ja) * 1986-03-11 1987-09-16 Minolta Camera Co Ltd カメラのデ−タ伝送装置
US4746920A (en) * 1986-03-28 1988-05-24 Tandem Computers Incorporated Method and apparatus for clock management
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
GB2189168B (en) 1986-04-21 1989-11-29 Aligena Ag Composite membranes useful in the separation of low molecular weight organic compounds from aqueous solutions containing inorganic salts
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US4939507A (en) * 1986-04-28 1990-07-03 Xerox Corporation Virtual and emulated objects for use in the user interface of a display screen of a display processor
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US4860193A (en) * 1986-05-22 1989-08-22 International Business Machines Corporation System for efficiently transferring data between a high speed channel and a low speed I/O device
US5301322A (en) * 1986-05-23 1994-04-05 Hitachi, Ltd. System for converting job/process identifiers into processor/process identifiers in transferring data between processes in a multiprocessor system
US4835674A (en) * 1986-07-28 1989-05-30 Bull Hn Information Systems Inc. Computer network system for multiple processing elements
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US4791641A (en) * 1986-09-15 1988-12-13 Thinking Machines Corporation Parallel processor error checking
EP0260392A3 (fr) * 1986-09-19 1992-03-11 International Business Machines Corporation Dispositif de commande d'un interface entrée/sortie interconnectant un bus synchrone avec un bus asynchrone et méthodes d'exécution d'opérations sur les bus
GB2196762B (en) * 1986-10-27 1990-12-19 Burr Brown Ltd Interleaved access to global memory by high priority source
US4933836A (en) * 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4912461A (en) * 1986-11-05 1990-03-27 Cellular Control Systems Corporation Apparatus and network for transferring packets of electronic signals and associated method
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
JPH0440549Y2 (fr) * 1986-12-26 1992-09-22
JP2549642B2 (ja) * 1986-12-26 1996-10-30 株式会社東芝 画像処理装置
JP2530829B2 (ja) * 1987-01-16 1996-09-04 株式会社日立製作所 直接メモリアクセス制御装置とマルチマイクロコンピュ―タシステム内におけるデ―タ転送方法
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
US5241627A (en) * 1987-04-09 1993-08-31 Tandem Computers Incorporated Automatic processor module determination for multiprocessor systems for determining a value indicating the number of processors
US4855899A (en) * 1987-04-13 1989-08-08 Prime Computer, Inc. Multiple I/O bus virtual broadcast of programmed I/O instructions
US5276807A (en) * 1987-04-13 1994-01-04 Emulex Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US4920477A (en) * 1987-04-20 1990-04-24 Multiflow Computer, Inc. Virtual address table look aside buffer miss recovery method and apparatus
US5307506A (en) * 1987-04-20 1994-04-26 Digital Equipment Corporation High bandwidth multiple computer bus apparatus
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4805228A (en) * 1987-05-04 1989-02-14 The Johns Hopkins University Cellular logic processor
US5155857A (en) * 1987-05-29 1992-10-13 Hitachi, Ltd. Communication processing system in which communication by terminals is controlled according to a terminal management table
CA1296103C (fr) * 1987-06-02 1992-02-18 Theodore Jay Goodlander Systeme de stockage rapide de grande capacite a correction des erreurs insensible aux defaillances
AU605598B2 (en) * 1987-06-02 1991-01-17 Storage Computer Corporation Fault-tolerant, error-correcting storage system
US4942579A (en) * 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
US5201040A (en) * 1987-06-22 1993-04-06 Hitachi, Ltd. Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor
US5278840A (en) * 1987-07-01 1994-01-11 Digital Equipment Corporation Apparatus and method for data induced condition signalling
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
US5047923A (en) * 1987-08-21 1991-09-10 Siemens Aktiengesellschaft Modularly structured digital communication system for interconnecting terminal equipment and public networks
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US4999771A (en) * 1987-08-31 1991-03-12 Control Data Corporation Communications network
US4912680A (en) * 1987-09-03 1990-03-27 Minolta Camera Kabushiki Kaisha Image memory having plural input registers and output registers to provide random and serial accesses
US4916704A (en) * 1987-09-04 1990-04-10 Digital Equipment Corporation Interface of non-fault tolerant components to fault tolerant system
CA1320276C (fr) * 1987-09-04 1993-07-13 William F. Bruckert Processeur double a correction des erreurs d'entree-sortie
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
DE3854026D1 (de) * 1987-09-04 1995-07-27 Digital Equipment Corp Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung.
JPS6479841A (en) * 1987-09-22 1989-03-24 Aisin Seiki Abnormality monitoring device for microcomputer
CA1297593C (fr) * 1987-10-08 1992-03-17 Stephen C. Leuty Systeme et methode insensible aux defaillances pour transmettre et recevoir des messages dans un commutateur numerique
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
JP2587434B2 (ja) * 1987-11-13 1997-03-05 株式会社日立製作所 データの入出力処理方法
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
DE3854384T2 (de) * 1987-11-30 1996-03-28 Ibm Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
DE68925114T2 (de) * 1988-01-27 1996-06-20 Storage Technology Corp Frühstartmodus-verfahren und -vorrichtung
US5247692A (en) * 1988-02-08 1993-09-21 Nec Corporation Multiple file system having a plurality of file units holding the same files in which loss of data is prevented in a failure of a file unit
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5113508A (en) * 1988-03-08 1992-05-12 International Business Machines Corporation Data cache initialization
US4982325A (en) * 1988-03-18 1991-01-01 At&T Bell Laboratories Applications processor module for interfacing to a database system
JPH01256843A (ja) * 1988-03-25 1989-10-13 Ncr Corp リンク・コントロール・システム
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
JPH0769882B2 (ja) * 1988-05-11 1995-07-31 富士通株式会社 クロスコール機能を有する入出力制御システム及びそのシステムにおける動的構成変更方法
US5003464A (en) * 1988-05-23 1991-03-26 Bell Communications Research, Inc. Methods and apparatus for efficient resource allocation
US5179683A (en) * 1988-06-14 1993-01-12 Hitachi, Ltd. Retrieval apparatus including a plurality of retrieval units
US5287483A (en) * 1988-07-06 1994-02-15 Kabushiki Kaisha Toshiba Prefetched operand storing system for an information processor
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
JPH0237422A (ja) * 1988-07-28 1990-02-07 Oki Electric Ind Co Ltd 数値管理方式
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
EP0366583B1 (fr) * 1988-10-24 1995-08-30 International Business Machines Corporation Méthode pour échanger des données entre programmes dans un système de traitement des données
JPH0797328B2 (ja) * 1988-10-25 1995-10-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン フオールト・トレラント同期システム
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
JPH0833799B2 (ja) * 1988-10-31 1996-03-29 富士通株式会社 データ入出力制御方式
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers
JPH02130647A (ja) * 1988-11-11 1990-05-18 Toshiba Corp 索引木構造の更新方式
US5123047A (en) * 1988-12-09 1992-06-16 The Exchange System Limited Partnership Method of updating encryption device monitor code in a multichannel data encryption system
US4997288A (en) * 1988-12-09 1991-03-05 The Exchange System Limited Partnership Power supply arrangement for fault-tolerant operation in a microcomputer-based encryption system
US5128996A (en) * 1988-12-09 1992-07-07 The Exchange System Limited Partnership Multichannel data encryption device
US5249298A (en) * 1988-12-09 1993-09-28 Dallas Semiconductor Corporation Battery-initiated touch-sensitive power-up
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US4984240A (en) * 1988-12-22 1991-01-08 Codex Corporation Distributed switching architecture for communication module redundancy
US5097410A (en) * 1988-12-30 1992-03-17 International Business Machines Corporation Multimode data system for transferring control and data information in an i/o subsystem
GB2226666B (en) * 1988-12-30 1993-07-07 Intel Corp Request/response protocol
US5303351A (en) * 1988-12-30 1994-04-12 International Business Machines Corporation Error recovery in a multiple 170 channel computer system
EP0378398B1 (fr) * 1989-01-13 1996-07-24 International Business Machines Corporation Système de traitement de données avec moyens pour la détection de l'état du dispositif de traitement de données recevant des commandes
US5237676A (en) * 1989-01-13 1993-08-17 International Business Machines Corp. High speed data transfer system which adjusts data transfer speed in response to indicated transfer speed capability of connected device
DE69027788D1 (de) * 1989-01-17 1996-08-22 Landmark Graphics Corp Verfahren zur Übertragung von Daten zwischen gleichzeitig ablaufenden Rechnerprogrammen
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US5148433A (en) * 1989-03-13 1992-09-15 Square D Company Transfer network interface
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
US5276818A (en) * 1989-04-24 1994-01-04 Hitachi, Ltd. Bus system for information processing system and method of controlling the same
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
RU1777148C (ru) * 1989-05-30 1992-11-23 Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева Вычислительна система
US5353243A (en) * 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
US5146574A (en) * 1989-06-27 1992-09-08 Sf2 Corporation Method and circuit for programmable selecting a variable sequence of element using write-back
FR2649224B1 (fr) * 1989-06-30 1995-09-01 Nec Corp Systeme de traitement de l'information capable de prendre facilement en charge le traitement d'un processeur defaillant
US5036455A (en) * 1989-07-25 1991-07-30 Tandem Computers Incorporated Multiple power supply sensor for protecting shared processor buses
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5068851A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
US5048022A (en) * 1989-08-01 1991-09-10 Digital Equipment Corporation Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
EP0415545B1 (fr) * 1989-08-01 1996-06-19 Digital Equipment Corporation Procédé de traitement d'erreurs de logiciel
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
US5065312A (en) * 1989-08-01 1991-11-12 Digital Equipment Corporation Method of converting unique data to system data
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US5163138A (en) * 1989-08-01 1992-11-10 Digital Equipment Corporation Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US5159551A (en) * 1989-08-09 1992-10-27 Picker International, Inc. Prism architecture for ct scanner image reconstruction
US5133078A (en) * 1989-08-11 1992-07-21 International Business Machines Corporation Serial frame processing system in which validation and transfer of a frame's data from input buffer to output buffer proceed concurrently
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
US5204951A (en) * 1989-10-02 1993-04-20 International Business Machines Corporation Apparatus and method for improving the communication efficiency between a host processor and peripheral devices connected by an scsi bus
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
EP0450052A1 (fr) * 1989-10-17 1991-10-09 MITCHELL, Maurice E. Micro-ordinateur a architecture de bimemoire deconnectee, ouverte, independante
US5201055A (en) * 1989-11-03 1993-04-06 Compaq Computer Corporation Multiprocessing system includes interprocessor encoding and decoding logic used for communication between two cards through reduced addressing lines
EP0428771B1 (fr) * 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Dispositif de transfert bidirectionnel
US5278974A (en) * 1989-12-04 1994-01-11 Digital Equipment Corporation Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths
US5729708A (en) * 1989-12-04 1998-03-17 Canon Kabushiki Kaisha Portable data buffer apparatus with manually controlled reception/transmission
US5687396A (en) * 1989-12-04 1997-11-11 Canon Kabushiki Kaisha Data buffer apparatus with interrupted transmission/reception
KR940002905B1 (en) * 1989-12-15 1994-04-07 Ibm Apparatus for conditioning priority arbitration in buffered direct memory addressing
WO1991009366A1 (fr) * 1989-12-19 1991-06-27 E-Systems, Incorporated Procede et appareil de commande de la circulation entre des entites terminales reparties dans des reseaux informatiques
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
EP0683456B1 (fr) 1989-12-22 1998-07-22 Tandem Computers Incorporated Système de calculateur tolérant les fautes avec réintégration et arrêt d'ingence/reprise en ligne
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5239629A (en) * 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5123094A (en) * 1990-01-26 1992-06-16 Apple Computer, Inc. Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
JPH03235152A (ja) * 1990-02-13 1991-10-21 Fujitsu Ltd バス制御方式
KR950008837B1 (ko) * 1990-03-09 1995-08-08 후지쓰 가부시끼가이샤 멀티 프로세서 시스템용 제어시스템
JP3369580B2 (ja) * 1990-03-12 2003-01-20 ヒューレット・パッカード・カンパニー 直接メモリアクセスを行うためのインターフェース装置及び方法
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
DE69124285T2 (de) * 1990-05-18 1997-08-14 Fujitsu Ltd Datenverarbeitungssystem mit einem Eingangs-/Ausgangswegetrennmechanismus und Verfahren zur Steuerung des Datenverarbeitungssystems
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5261077A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Configurable data path arrangement for resolving data type incompatibility
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
GB9015363D0 (en) * 1990-07-12 1990-08-29 Marconi Gec Ltd Optical networks
US5341496A (en) * 1990-08-29 1994-08-23 The Foxboro Company Apparatus and method for interfacing host computer and computer nodes using redundant gateway data lists of accessible computer node data
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
US5475770A (en) * 1990-09-24 1995-12-12 Cgk Computer Gesellschaft Konstanz Mbh Parallel recognition of document images with a time-elapsed processing abortion to improve overall throughput
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5293377A (en) * 1990-10-05 1994-03-08 International Business Machines, Corporation Network control information without reserved bandwidth
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US6453406B1 (en) 1990-10-17 2002-09-17 Compaq Computer Corporation Multiprocessor system with fiber optic bus interconnect for interprocessor communications
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5182800A (en) * 1990-11-16 1993-01-26 International Business Machines Corporation Direct memory access controller with adaptive pipelining and bus control features
US5210829A (en) * 1990-12-12 1993-05-11 Digital Equipment Corporation Adjustable threshold for buffer management
DE69231452T2 (de) * 1991-01-25 2001-05-03 Hitachi Ltd Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
US5481707A (en) * 1991-05-19 1996-01-02 Unisys Corporation Dedicated processor for task I/O and memory management
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
DE69227956T2 (de) * 1991-07-18 1999-06-10 Tandem Computers Inc Multiprozessorsystem mit gespiegeltem Speicher
GB2258069B (en) * 1991-07-25 1995-03-29 Intel Corp High speed computer graphics bus
DE69227996T2 (de) * 1991-07-26 1999-08-26 Tandem Computers Inc Vorrichtung und verfahren zur vermittlung von datenblöcken
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5758052A (en) * 1991-10-02 1998-05-26 International Business Machines Corporation Network management method using redundant distributed control processors
WO1993007569A1 (fr) * 1991-10-04 1993-04-15 Wellfleet Communications, Inc. Procede et appareil pour bus de paquets concurrents
US5842029A (en) * 1991-10-17 1998-11-24 Intel Corporation Method and apparatus for powering down an integrated circuit transparently and its phase locked loop
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
US5935253A (en) * 1991-10-17 1999-08-10 Intel Corporation Method and apparatus for powering down an integrated circuit having a core that operates at a speed greater than the bus frequency
WO1993009494A1 (fr) * 1991-10-28 1993-05-13 Digital Equipment Corporation Traitement informatique insensible aux pannes utilisant un processeur virtuel fantome
EP0543512B1 (fr) * 1991-11-19 1999-10-06 International Business Machines Corporation Système à plusieurs processeur
US5708784A (en) * 1991-11-27 1998-01-13 Emc Corporation Dual bus computer architecture utilizing distributed arbitrators and method of using same
EP0544279B1 (fr) * 1991-11-27 1999-10-13 Canon Kabushiki Kaisha Appareil de reproduction
US5297287A (en) * 1992-03-02 1994-03-22 S-Mos Systems, Incorporated System and method for resetting a microprocessor system
GB2264794B (en) * 1992-03-06 1995-09-20 Intel Corp Method and apparatus for automatic power management in a high integration floppy disk controller
WO1993018456A1 (fr) * 1992-03-13 1993-09-16 Emc Corporation Partage d'une unite de controle multiple dans un systeme d'unites de stockage redondant
US5317751A (en) * 1992-03-18 1994-05-31 Aeg Westinghouse Transportation Systems, Inc. Method and apparatus for placing a trainline monitor system in a layup mode
US6794060B2 (en) 1992-03-27 2004-09-21 The Louis Berkman Company Corrosion-resistant coated metal and method for making the same
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
US5506964A (en) * 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5434870A (en) * 1992-04-17 1995-07-18 Unisys Corporation Apparatus and method for verifying the authenticity of a circuit board
US5493663A (en) * 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
US5325363A (en) * 1992-05-11 1994-06-28 Tandem Computers Incorporated Fault tolerant power supply for an array of storage devices
US6134655A (en) * 1992-05-13 2000-10-17 Comverge Technologies, Inc. Method and apparatus for initializing a microprocessor to insure fault-free operation
US6435737B1 (en) * 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
EP0582535A1 (fr) * 1992-07-07 1994-02-09 International Business Machines Corporation Système de communication et procédé utilisant des picoprocesseurs pour exécuter des fonctions complexes hors de la voie de communication de données principales
JP2952112B2 (ja) * 1992-07-15 1999-09-20 株式会社日立製作所 多線式フィールドバスシステム
US5471586A (en) * 1992-09-22 1995-11-28 Unisys Corporation Interface system having plurality of channels and associated independent controllers for transferring data between shared buffer and peripheral devices independently
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
EP0596144A1 (fr) * 1992-10-07 1994-05-11 International Business Machines Corporation Système de mémoire hiérarchique pour microcode et dispositif de correction d'erreurs dans le microcode
US6098113A (en) * 1992-10-22 2000-08-01 Ncr Corporation Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
US5473767A (en) * 1992-11-03 1995-12-05 Intel Corporation Method and apparatus for asynchronously stopping the clock in a processor
JPH0760395B2 (ja) * 1992-11-06 1995-06-28 日本電気株式会社 フォールトトレラントコンピュータシステム
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
US5689689A (en) * 1992-12-17 1997-11-18 Tandem Computers Incorporated Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5513354A (en) * 1992-12-18 1996-04-30 International Business Machines Corporation Fault tolerant load management system and method
EP0610950A3 (fr) * 1993-02-12 1998-04-22 Siemens Aktiengesellschaft Circuit de transmission de télécommunication
JPH06259343A (ja) * 1993-03-10 1994-09-16 Hitachi Ltd 多重バス制御方式及びそれを用いたシステム
US5491786A (en) * 1993-03-12 1996-02-13 International Business Machines Corporation Method and system for management of units within a data processing system
AU6408294A (en) * 1993-03-16 1994-10-11 Ht Research, Inc. A chassis for a multiple computer system
US5559980A (en) * 1993-03-18 1996-09-24 Lucent Technologies Inc. Method and apparatus for detecting references to deallocated memory in a dynamic memory allocation system
US5586332A (en) * 1993-03-24 1996-12-17 Intel Corporation Power management for low power processors through the use of auto clock-throttling
US5919266A (en) * 1993-04-02 1999-07-06 Centigram Communications Corporation Apparatus and method for fault tolerant operation of a multiprocessor data processing system
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
GB2277816B (en) * 1993-05-04 1997-09-03 Motorola Inc Data communication system
JP2750315B2 (ja) * 1993-05-14 1998-05-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 識別子の指定方法およびコンピュータ・システム
US5490279A (en) * 1993-05-21 1996-02-06 Intel Corporation Method and apparatus for operating a single CPU computer system as a multiprocessor system
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5446848A (en) * 1993-06-25 1995-08-29 Unisys Corp Entry level data processing system which is expandable by a factor of two to a partitionable upgraded system with low overhead
US5471625A (en) * 1993-09-27 1995-11-28 Motorola, Inc. Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
US5448723A (en) * 1993-10-15 1995-09-05 Tandem Computers Incorporated Method and apparatus for fault tolerant connection of a computing system to local area networks
JP3370155B2 (ja) * 1993-12-01 2003-01-27 富士通株式会社 データ処理システム
EP0731945B1 (fr) * 1993-12-01 2000-05-17 Marathon Technologies Corporation Traitement informatique resilient/insensible aux defaillances
JP3161189B2 (ja) 1993-12-03 2001-04-25 株式会社日立製作所 記憶システム
US5771397A (en) * 1993-12-09 1998-06-23 Quantum Corporation SCSI disk drive disconnection/reconnection timing method for reducing bus utilization
DE69522595T2 (de) * 1994-02-04 2002-07-11 Intel Corp Verfahren und Vorrichtung zur Stromverbrauchssteuerung in einem Rechnersystem
CA2142510A1 (fr) * 1994-02-24 1995-08-25 Robert W. Horst Systeme multiprocesseur massivement parallele comportant un reseau interprocesseur insensible aux defaillances
US5600576A (en) * 1994-03-11 1997-02-04 Northrop Grumman Corporation Time stress measurement device
CA2145363C (fr) * 1994-03-24 1999-07-13 Anthony Mark Jones Interface pour memoire vive
US5664089A (en) * 1994-04-26 1997-09-02 Unisys Corporation Multiple power domain power loss detection and interface disable
JP2679674B2 (ja) * 1994-05-02 1997-11-19 日本電気株式会社 半導体製造ライン制御装置
US5557738A (en) * 1994-05-09 1996-09-17 Apple Computer, Inc. Power system configuration and recovery from a power fault condition in a computer system having multiple power supplies
US5623596A (en) * 1994-05-09 1997-04-22 Apple Computer, Inc. Power fault protection in a computer system having multiple power supplies
DE69506404T2 (de) * 1994-06-10 1999-05-27 Texas Micro Inc Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5928368A (en) * 1994-06-23 1999-07-27 Tandem Computers Incorporated Method and apparatus for fault-tolerant multiprocessing system recovery from power failure or drop-outs
GB2291571A (en) * 1994-07-19 1996-01-24 Ibm Text to speech system; acoustic processor requests linguistic processor output
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US6131153A (en) * 1994-10-31 2000-10-10 Nkk Corporation Multiprocessor system having a plurality of gateway units and wherein each gateway unit controls memory access requests and interferences from one hierchical level to another
US5724554A (en) * 1994-11-30 1998-03-03 Intel Corporation Apparatus for dual serial and parallel port connections for computer peripherals using a single connector
US5740359A (en) * 1994-12-27 1998-04-14 Kabushiki Kaisha Toshiba Program execution system having a plurality of program versions
US5576945A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Transaction monitor process with pre-arranged modules for a multiprocessor system
US5978914A (en) * 1995-01-23 1999-11-02 Tandem Computers Incorporated Method and apparatus for preventing inadvertent changes to system-critical files in a computing system
CA2167633A1 (fr) * 1995-01-23 1996-07-24 Leonard R. Fishler Appareil et methode de modularisation efficaces pour systeme d'exploitation parallele insensible aux defaillances et a base de messages
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
CA2167634A1 (fr) * 1995-01-23 1996-07-24 Michael E. Fisher Methode et appareil pour conserver les connexions de reseau lors des changements de processus volontaires
CA2167632A1 (fr) 1995-01-23 1996-07-24 Leonard R. Fishler Appareil et methode efficaces de transfert de donnees et d'evenements entre processus, ainsi qu'entre processus et programmes pilotes, dans un systeme d'exploitation parallele insensible aux defaillances et a base de messages
CA2170468A1 (fr) * 1995-02-28 1996-08-29 Noriyuki Ando Systeme multi-processeur dote de registres de communication adressables virtuellement et methode de commande connexe
JPH08256155A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd ディジタル処理装置のポーリング方法及びその装置
US5864654A (en) * 1995-03-31 1999-01-26 Nec Electronics, Inc. Systems and methods for fault tolerant information processing
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
US5956160A (en) * 1995-04-25 1999-09-21 Ricoh Company, Ltd. Image forming system including a printer and scanner having separate housings
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US5734843A (en) * 1995-06-07 1998-03-31 Advanced Micro Devices Inc. Reverse data channel as a bandwidth modulator
US5687372A (en) * 1995-06-07 1997-11-11 Tandem Computers, Inc. Customer information control system and method in a loosely coupled parallel processing environment
US5630133A (en) * 1995-06-07 1997-05-13 Tandem Computers, Incorporated Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US5687308A (en) * 1995-06-07 1997-11-11 Tandem Computers Incorporated Method to improve tolerance of non-homogeneous power outages
US5826043A (en) * 1995-06-07 1998-10-20 Ast Research, Inc. Docking station with serially accessed memory that is powered by a portable computer for identifying the docking station
US5682507A (en) * 1995-06-07 1997-10-28 Tandem Computers, Incorporated Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US5790868A (en) * 1995-06-07 1998-08-04 Tandem Computers, Inc. Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US5673416A (en) * 1995-06-07 1997-09-30 Seiko Epson Corporation Memory request and control unit including a mechanism for issuing and removing requests for memory access
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5812861A (en) * 1995-06-22 1998-09-22 Intel Corporation Override signal for forcing a powerdown of a flash memory
US5740350A (en) * 1995-06-30 1998-04-14 Bull Hn Information Systems Inc. Reconfigurable computer system
US5752251A (en) * 1995-08-07 1998-05-12 Ncr Corporation Method and apparatus for recovering aborted file (or data) transmission
WO1997011426A1 (fr) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Systeme universel de gestion de la mise en memoire
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5941959A (en) 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
US5852719A (en) 1995-12-20 1998-12-22 Tandem Computers Incorporated System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data
US5954794A (en) 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5931903A (en) 1995-12-20 1999-08-03 Tandem Computers Incorporated Computer system data I/O by reference among multiple CPUS
US5790807A (en) 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
US6130878A (en) * 1995-12-27 2000-10-10 Compaq Computer Corporation Method and apparatus for rate-based scheduling using a relative error approach
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
US5834956A (en) 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5821784A (en) * 1995-12-29 1998-10-13 Intel Corporation Method and apparatus for generating 2/N mode bus clock signals
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
KR970072676A (ko) * 1996-04-19 1997-11-07 김광호 이중화모듈 절체장치
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
CN1573806B (zh) * 1996-06-28 2013-06-19 索尼株式会社 信息处理装置
US5845296A (en) * 1996-07-10 1998-12-01 Oracle Corporation Method and apparatus for implementing segmented arrays in a database
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US6038620A (en) * 1996-09-09 2000-03-14 International Business Machines Corporation Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
JP2830857B2 (ja) * 1996-09-09 1998-12-02 三菱電機株式会社 データストレージシステム及びデータストレージ管理方法
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US5805798A (en) * 1996-10-29 1998-09-08 Electronic Data Systems Corporation Fail-safe event driven transaction processing system and method
US6038621A (en) * 1996-11-04 2000-03-14 Hewlett-Packard Company Dynamic peripheral control of I/O buffers in peripherals with modular I/O
US5784394A (en) * 1996-11-15 1998-07-21 International Business Machines Corporation Method and system for implementing parity error recovery schemes in a data processing system
US5887160A (en) * 1996-12-10 1999-03-23 Fujitsu Limited Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor
US5860116A (en) * 1996-12-11 1999-01-12 Ncr Corporation Memory page location control for multiple memory-multiple processor system
US5778218A (en) * 1996-12-19 1998-07-07 Advanced Micro Devices, Inc. Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates
US6005920A (en) * 1997-01-03 1999-12-21 Ncr Corporation Call center with fault resilient server-switch link
US5884018A (en) * 1997-01-28 1999-03-16 Tandem Computers Incorporated Method and apparatus for distributed agreement on processor membership in a multi-processor system
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US5909553A (en) * 1997-02-19 1999-06-01 International Business Machines Corporation Systems and methods for controlling the transmission of relatively large data objects in a communications system
US5983259A (en) * 1997-02-19 1999-11-09 International Business Machines Corp. Systems and methods for transmitting and receiving data in connection with a communications stack in a communications system
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
US5920703A (en) * 1997-02-19 1999-07-06 International Business Machines Corp. Systems and methods for managing the processing of relatively large data objects in a communications stack
US6175894B1 (en) * 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
US6289447B1 (en) * 1997-03-24 2001-09-11 Intel Corporation Topology dependent compensation to improve performance of self-compensated components including processors based on physical relationship with other system components
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6094696A (en) * 1997-05-07 2000-07-25 Advanced Micro Devices, Inc. Virtual serial data transfer mechanism
US5916309A (en) * 1997-05-12 1999-06-29 Lexmark International Inc. System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message
US6046817A (en) * 1997-05-12 2000-04-04 Lexmark International, Inc. Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer
US6163853A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US5892928A (en) * 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
CA2313039C (fr) * 1997-08-18 2008-05-20 Tibco Software, Inc. Livraison et mise en attente certifiees de messages dans des communications a diffusion/abonnement multipoint
US7080385B1 (en) * 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
US6031624A (en) * 1997-09-08 2000-02-29 Lexmark International, Inc. Method and apparatus for adaptive data buffering in a parallelized printing system
US5968147A (en) * 1997-09-26 1999-10-19 Adaptec, Inc. Method and apparatus for improved peripheral bus utilization
US6092213A (en) * 1997-09-30 2000-07-18 Tandem Computers Incorporated Fault tolerant method of maintaining and distributing configuration information in a distributed processing system
US5974571A (en) * 1997-09-30 1999-10-26 Intel Corporation Method and apparatus for avoiding deadlock in the issuance of commands that are reordered and require data movement according to an original command order
US5974574A (en) * 1997-09-30 1999-10-26 Tandem Computers Incorporated Method of comparing replicated databases using checksum information
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6035420A (en) * 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
SE511114C2 (sv) * 1997-12-10 1999-08-09 Ericsson Telefon Ab L M Metod vid processor, samt processor anpassad att verka enligt metoden
US6219672B1 (en) * 1997-12-11 2001-04-17 Kabushiki Kaisha Toshiba Distributed shared memory system and method of controlling distributed shared memory
US6202119B1 (en) 1997-12-19 2001-03-13 Micron Technology, Inc. Method and system for processing pipelined memory commands
US6272573B1 (en) 1997-12-24 2001-08-07 International Business Machines Corporation Scalable modular data storage system
US6148352A (en) * 1997-12-24 2000-11-14 International Business Machines Corporation Scalable modular data storage system
JP3603577B2 (ja) * 1997-12-26 2004-12-22 富士ゼロックス株式会社 画像処理システム
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
DE19815263C2 (de) * 1998-04-04 2002-03-28 Astrium Gmbh Vorrichtung zur fehlertoleranten Ausführung von Programmen
US6216051B1 (en) 1998-05-04 2001-04-10 Nec Electronics, Inc. Manufacturing backup system
US6289467B1 (en) * 1998-05-08 2001-09-11 Sun Microsystems, Inc. Installation of processor and power supply modules in a multiprocessor system
US6167330A (en) * 1998-05-08 2000-12-26 The United States Of America As Represented By The Secretary Of The Air Force Dynamic power management of systems
US6178522B1 (en) 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
US6279058B1 (en) 1998-07-02 2001-08-21 Advanced Micro Devices, Inc. Master isochronous clock structure having a clock controller coupling to a CPU and two data buses
US6202164B1 (en) * 1998-07-02 2001-03-13 Advanced Micro Devices, Inc. Data rate synchronization by frame rate adjustment
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6145033A (en) * 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6175905B1 (en) 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6119207A (en) * 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
US6154845A (en) * 1998-09-11 2000-11-28 Intel Corporation Power failure safe computer architecture
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6356962B1 (en) * 1998-09-30 2002-03-12 Stmicroelectronics, Inc. Network device and method of controlling flow of data arranged in frames in a data-based network
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6304948B1 (en) * 1998-10-06 2001-10-16 Ricoh Corporation Method and apparatus for erasing data after expiration
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6449733B1 (en) 1998-12-07 2002-09-10 Compaq Computer Corporation On-line replacement of process pairs in a clustered processor architecture
US6389551B1 (en) 1998-12-17 2002-05-14 Steeleye Technology, Inc. Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
US6594735B1 (en) 1998-12-28 2003-07-15 Nortel Networks Limited High availability computing system
DE19910069A1 (de) * 1999-03-08 2000-11-23 Peter Renner Prozeßautomation
US6636977B1 (en) * 1999-03-10 2003-10-21 Shin Jiuh Corp. Control device for use in a power supplying apparatus including multiple processors adapted to perform separate functions associated with status monitoring and load balancing
US6671704B1 (en) * 1999-03-11 2003-12-30 Hewlett-Packard Development Company, L.P. Method and apparatus for handling failures of resource managers in a clustered environment
US6470342B1 (en) 1999-03-12 2002-10-22 Compaq Computer Corporation Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
US6295548B1 (en) 1999-03-12 2001-09-25 Compaq Computer Corporation Detection of an imported transaction for finding the global transaction identifier
US6496825B1 (en) 1999-03-12 2002-12-17 Compaq Computer Corporation Systems and methods for the detection of a loop-back of a transaction
US6411981B1 (en) 1999-03-12 2002-06-25 Compaq Computer Corporation Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6618820B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6718415B1 (en) 1999-05-14 2004-04-06 Acqis Technology, Inc. Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers
US6643777B1 (en) 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
US6169669B1 (en) * 1999-07-15 2001-01-02 Texas Instruments Incorporated Digital signal processor controlled uninterruptable power supply
AT407582B (de) * 1999-08-13 2001-04-25 Fts Computertechnik Gmbh Nachrichtenverteilereinheit mit integriertem guardian zur verhinderung von ''babbling idiot'' fehlern
US6408348B1 (en) 1999-08-20 2002-06-18 International Business Machines Corporation System, method, and program for managing I/O requests to a storage device
US6928073B2 (en) * 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
EP1912124B8 (fr) * 1999-10-14 2013-01-09 Bluearc UK Limited Appareil et système pour la mise en oeuvre de fonctions de service
GB9927372D0 (en) * 1999-11-20 2000-01-19 Ncr Int Inc Self-service terminal
US6564274B1 (en) * 1999-12-17 2003-05-13 Omnicluster Technologies, Inc. Modular architecture for small computer networks
US6862613B1 (en) * 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
JP4462697B2 (ja) 2000-01-31 2010-05-12 株式会社日立製作所 記憶制御装置
US6977926B1 (en) * 2000-03-31 2005-12-20 Alcatel Method and system for providing a feedback signal in a telecommunications network
US7085237B1 (en) 2000-03-31 2006-08-01 Alcatel Method and apparatus for routing alarms in a signaling server
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6865157B1 (en) * 2000-05-26 2005-03-08 Emc Corporation Fault tolerant shared system resource with communications passthrough providing high availability communications
US6525926B1 (en) * 2000-07-11 2003-02-25 Racklogic Technologies, Inc. Multinode high density computing apparatus
DE10036598A1 (de) * 2000-07-27 2002-02-14 Infineon Technologies Ag Anordnung zur Überwachung des ordnungsgemäßen Betriebes von die selben oder einander entsprechende Aktionen ausführenden Komponenten eines elektrischen Systems
US7016992B2 (en) * 2000-08-17 2006-03-21 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6904505B1 (en) 2000-10-12 2005-06-07 Emulex Design & Manufacturing Corporation Method for determining valid bytes for multiple-byte burst memories
US7657628B1 (en) * 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US8180870B1 (en) 2000-11-28 2012-05-15 Verizon Business Global Llc Programmable access device for a distributed network access system
US8185615B1 (en) 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface for a distributed network access system
US6785893B2 (en) * 2000-11-30 2004-08-31 Microsoft Corporation Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US20020178313A1 (en) * 2001-03-30 2002-11-28 Gary Scott Paul Using software interrupts to manage communication between data processors
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6971043B2 (en) * 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US7047522B1 (en) * 2001-04-30 2006-05-16 General Electric Capital Corporation Method and system for verifying a computer program
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
JP2003016400A (ja) * 2001-06-28 2003-01-17 Sankyo Seiki Mfg Co Ltd 停電検知装置、及びその停電検知装置を備えたカードリーダ
JP4382310B2 (ja) * 2001-08-17 2009-12-09 株式会社リコー 画像形成装置及びその制御方法
FR2828972A1 (fr) * 2001-08-21 2003-02-28 Koninkl Philips Electronics Nv Dispositif de traitement et d'acheminement de donnees
US6909659B2 (en) * 2001-08-30 2005-06-21 Micron Technology, Inc. Zero power chip standby mode
US6661410B2 (en) 2001-09-07 2003-12-09 Microsoft Corporation Capacitive sensing and data input device power management
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7325050B2 (en) * 2001-09-19 2008-01-29 Dell Products L.P. System and method for strategic power reduction in a computer system
US7287187B2 (en) * 2001-10-15 2007-10-23 Sun Microsystems, Inc. Method and apparatus for supplying redundant power
EP1450325A4 (fr) * 2001-11-01 2009-10-21 Visual Japan Kk Systeme et serveur pos, terminal de magasin, procede de gestion des ventes et support d'enregistrement
US7177267B2 (en) * 2001-11-09 2007-02-13 Adc Dsl Systems, Inc. Hardware monitoring and configuration management
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6879523B1 (en) * 2001-12-27 2005-04-12 Cypress Semiconductor Corporation Random access memory (RAM) method of operation and device for search engine systems
US6792516B2 (en) * 2001-12-28 2004-09-14 Intel Corporation Memory arbiter with intelligent page gathering logic
US7035984B2 (en) * 2001-12-31 2006-04-25 Intel Corporation Memory arbiter with grace and ceiling periods and intelligent page gathering logic
US6856045B1 (en) * 2002-01-29 2005-02-15 Hamilton Sundstrand Corporation Power distribution assembly with redundant architecture
US6703599B1 (en) * 2002-01-30 2004-03-09 Microsoft Corporation Proximity sensor with adaptive threshold
US20030212473A1 (en) * 2002-02-25 2003-11-13 General Electric Company Processing system for a power distribution system
US20040078652A1 (en) * 2002-03-08 2004-04-22 Tapper Gunnar D. Using process quads to enable continuous services in a cluster environment
US20030208750A1 (en) * 2002-03-29 2003-11-06 Tapper Gunnar D. Information exchange for process pair replacement in a cluster environment
US7136867B1 (en) 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
US7672945B1 (en) 2002-04-08 2010-03-02 Oracle International Corporation Mechanism for creating member private data in a global namespace
US8271530B2 (en) * 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
US7058639B1 (en) 2002-04-08 2006-06-06 Oracle International Corporation Use of dynamic multi-level hash table for managing hierarchically structured information
US7096213B2 (en) * 2002-04-08 2006-08-22 Oracle International Corporation Persistent key-value repository with a pluggable architecture to abstract physical storage
US7209492B2 (en) * 2002-04-15 2007-04-24 Alcatel DSO timing source transient compensation
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US20030212761A1 (en) * 2002-05-10 2003-11-13 Microsoft Corporation Process kernel
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US6954867B2 (en) 2002-07-26 2005-10-11 Microsoft Corporation Capacitive sensing employing a repeatable offset charge
US20040054938A1 (en) * 2002-09-17 2004-03-18 Belady Christian L. Controlling a computer system based on an environmental condition
US7313706B2 (en) * 2002-09-17 2007-12-25 Hewlett-Packard Development Company, L.P. System and method for managing power consumption for a plurality of processors based on a supply voltage to each processor, temperature, total power consumption and individual processor power consumption
US7280620B2 (en) * 2002-10-18 2007-10-09 Canon Kabushiki Kaisha Electronic device including image forming apparatus
DE10249592A1 (de) * 2002-10-24 2004-06-17 Abb Research Ltd. Datenverarbeitungsknoten für ein Leitsystem
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
JP3757204B2 (ja) * 2002-12-06 2006-03-22 ファナック株式会社 エラー検出/訂正方式及び該方式を用いた制御装置
US7206972B2 (en) * 2003-01-09 2007-04-17 Alcatel Path commissioning analysis and diagnostic tool
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7080188B2 (en) * 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
JP4242682B2 (ja) * 2003-03-26 2009-03-25 パナソニック株式会社 メモリデバイス
US6823347B2 (en) * 2003-04-23 2004-11-23 Oracle International Corporation Propagating commit times
US7210069B2 (en) * 2003-05-13 2007-04-24 Lucent Technologies Inc. Failure recovery in a multiprocessor configuration
US7134052B2 (en) 2003-05-15 2006-11-07 International Business Machines Corporation Autonomic recovery from hardware errors in an input/output fabric
US7240130B2 (en) * 2003-06-12 2007-07-03 Hewlett-Packard Development Company, L.P. Method of transmitting data through an 12C router
US7406641B2 (en) * 2003-06-30 2008-07-29 Intel Corporation Selective control of test-access ports in integrated circuits
US7530108B1 (en) 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US7287133B2 (en) * 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7631120B2 (en) * 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7239581B2 (en) * 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7730222B2 (en) * 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7209809B2 (en) * 2003-10-15 2007-04-24 The Boeing Company Method and apparatus for obtaining high integrity and availability in multi-channel systems
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
US20050125486A1 (en) * 2003-11-20 2005-06-09 Microsoft Corporation Decentralized operating system
EP1542181A1 (fr) * 2003-12-11 2005-06-15 Banksys S.A. Dispositif de traitement de données électronique
US8898339B2 (en) * 2003-12-12 2014-11-25 Napatech A/S Method of transferring data implying a network analyser card
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7304996B1 (en) 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US7822032B1 (en) * 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
US8086800B2 (en) * 2004-05-18 2011-12-27 Koninklijke Philips Electronics N.V. Integrated circuit and method for buffering to optimize burst length in networks on chips
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US7392426B2 (en) * 2004-06-15 2008-06-24 Honeywell International Inc. Redundant processing architecture for single fault tolerance
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7360111B2 (en) * 2004-06-29 2008-04-15 Microsoft Corporation Lossless recovery for computer systems with remotely dependent data recovery
US7472129B2 (en) * 2004-06-29 2008-12-30 Microsoft Corporation Lossless recovery for computer systems with map assisted state transfer
JP4490751B2 (ja) 2004-07-16 2010-06-30 セイレイ工業株式会社 アウトリガーの油圧シリンダ
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US8230252B2 (en) 2004-07-20 2012-07-24 Hewlett-Packard Development Company, L.P. Time of day response
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7467324B1 (en) 2004-09-30 2008-12-16 Ayaya Inc. Method and apparatus for continuing to provide processing on disk outages
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7337357B2 (en) * 2004-11-16 2008-02-26 International Business Machines Corporation Apparatus, system, and method for limiting failures in redundant signals
US7685400B2 (en) * 2004-12-15 2010-03-23 International Business Machines Corporation Storage of data blocks of logical volumes in a virtual disk storage subsystem
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
US20060156381A1 (en) 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US7334140B2 (en) * 2005-03-03 2008-02-19 International Business Machines Corporation Apparatus and method to selectively provide power to one or more components disposed in an information storage and retrieval system
US7885817B2 (en) * 2005-03-08 2011-02-08 Microsoft Corporation Easy generation and automatic training of spoken dialog systems using text-to-speech
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US7734471B2 (en) * 2005-03-08 2010-06-08 Microsoft Corporation Online learning for dialog systems
US8522253B1 (en) 2005-03-31 2013-08-27 Guillermo Rozas Hardware support for virtual machine and operating system context switching in translation lookaside buffers and virtually tagged caches
US7095217B1 (en) * 2005-03-31 2006-08-22 O2Micro International Limited Method circuitry and electronic device for controlling a variable output dc power source
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US20060227145A1 (en) * 2005-04-06 2006-10-12 Raymond Chow Graphics controller having a single display interface for two or more displays
US7797394B2 (en) * 2005-04-18 2010-09-14 Dell Products L.P. System and method for processing commands in a storage enclosure
US8001297B2 (en) * 2005-04-25 2011-08-16 Microsoft Corporation Dynamic adjusting send rate of buffered data
US7590819B2 (en) * 2005-05-09 2009-09-15 Lsi Logic Corporation Compact memory management unit
DE102005059593A1 (de) * 2005-05-25 2006-11-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung bei einem Speicher für ein Steuergerät
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
JP4732823B2 (ja) * 2005-07-26 2011-07-27 株式会社日立産機システム モジュール間通信装置
US20070027485A1 (en) * 2005-07-29 2007-02-01 Kallmyer Todd A Implantable medical device bus system and method
US7493516B2 (en) * 2005-08-29 2009-02-17 Searete Llc Hardware-error tolerant computing
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
US20070050605A1 (en) * 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US8209524B2 (en) 2005-08-29 2012-06-26 The Invention Science Fund I, Llc Cross-architecture optimization
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
US8402257B2 (en) 2005-08-29 2013-03-19 The Invention Science Fund I, PLLC Alteration of execution of a program in response to an execution-optimization information
US7779213B2 (en) * 2005-08-29 2010-08-17 The Invention Science Fund I, Inc Optimization of instruction group execution through hardware resource management policies
US7627739B2 (en) * 2005-08-29 2009-12-01 Searete, Llc Optimization of a hardware resource shared by a multiprocessor
US7877584B2 (en) * 2005-08-29 2011-01-25 The Invention Science Fund I, Llc Predictive processor resource management
US8516300B2 (en) * 2005-08-29 2013-08-20 The Invention Science Fund I, Llc Multi-votage synchronous systems
US7725693B2 (en) * 2005-08-29 2010-05-25 Searete, Llc Execution optimization using a processor resource management policy saved in an association with an instruction group
US7739524B2 (en) * 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US7774558B2 (en) * 2005-08-29 2010-08-10 The Invention Science Fund I, Inc Multiprocessor resource optimization
US8181004B2 (en) * 2005-08-29 2012-05-15 The Invention Science Fund I, Llc Selecting a resource management policy for a resource available to a processor
US7647487B2 (en) * 2005-08-29 2010-01-12 Searete, Llc Instruction-associated processor resource optimization
US7653834B2 (en) * 2005-08-29 2010-01-26 Searete, Llc Power sparing synchronous apparatus
US8423824B2 (en) 2005-08-29 2013-04-16 The Invention Science Fund I, Llc Power sparing synchronous apparatus
US7536583B2 (en) 2005-10-14 2009-05-19 Symantec Operating Corporation Technique for timeline compression in a data store
TWI297237B (en) * 2005-10-28 2008-05-21 Hon Hai Prec Ind Co Ltd Power switching circuit and power supply system using the same
US7428602B2 (en) * 2005-11-29 2008-09-23 International Business Machines Corporation Method for executing initialization code to configure connected devices and executing segments of configuration code from a failed segment
US7526674B2 (en) * 2005-12-22 2009-04-28 International Business Machines Corporation Methods and apparatuses for supplying power to processors in multiple processor systems
GB0601849D0 (en) * 2006-01-30 2006-03-08 Ttp Communications Ltd Method of maintaining software integrity
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US7480827B2 (en) 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
US7434096B2 (en) 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US8225320B2 (en) * 2006-08-31 2012-07-17 Advanced Simulation Technology, Inc. Processing data using continuous processing task and binary routine
US7464230B2 (en) * 2006-09-08 2008-12-09 Jiun-In Guo Memory controlling method
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US7990724B2 (en) 2006-12-19 2011-08-02 Juhasz Paul R Mobile motherboard
US7702933B2 (en) * 2007-01-30 2010-04-20 Inventec Corporation Multiprocessor power-on switch circuit
TW200847087A (en) * 2007-05-18 2008-12-01 Beyond Innovation Tech Co Ltd Method and system for protecting information between a master terminal and a slave terminal
US8313432B2 (en) * 2007-06-20 2012-11-20 Surgmatix, Inc. Surgical data monitoring and display system
US20090076628A1 (en) * 2007-09-18 2009-03-19 David Mark Smith Methods and apparatus to upgrade and provide control redundancy in process plants
US7773504B2 (en) * 2007-11-13 2010-08-10 Intel Corporation Bandwidth allocation for network packet traffic
US7917806B2 (en) * 2007-12-18 2011-03-29 International Business Machines Corporation System and method for indicating status of an on-chip power supply system
US8028195B2 (en) * 2007-12-18 2011-09-27 International Business Machines Corporation Structure for indicating status of an on-chip power supply system
US20090259786A1 (en) * 2008-04-10 2009-10-15 Chu-Ming Lin Data transfer system and method for host-slave interface with automatic status report
US8027168B2 (en) * 2008-08-13 2011-09-27 Delphi Technologies, Inc. Electrical center with vertical power bus bar
JP4892526B2 (ja) * 2008-08-26 2012-03-07 本田技研工業株式会社 タンデム式マスタシリンダ
US8139583B1 (en) 2008-09-30 2012-03-20 Extreme Networks, Inc. Command selection in a packet forwarding device
US8272028B2 (en) * 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies
US20100138618A1 (en) * 2008-12-03 2010-06-03 Vns Portfolio Llc Priority Encoders
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
JP5344936B2 (ja) * 2009-01-07 2013-11-20 株式会社日立製作所 制御装置
US9886319B2 (en) 2009-02-13 2018-02-06 Ab Initio Technology Llc Task managing application for performing tasks based on messages received from a data processing application initiated by the task managing application
WO2010113165A1 (fr) * 2009-04-01 2010-10-07 Kaminario Tehnologies Ltd. Système et procédé de construction d'unité de stockage tout en servant des opérations d'entrée/sortie
US9461930B2 (en) * 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9313034B2 (en) * 2009-09-02 2016-04-12 Zte Corporation Method and system for power-fail protection of communication equipment, and power controller
US20110179303A1 (en) * 2010-01-15 2011-07-21 Microsoft Corporation Persistent application activation and timer notifications
US20110296437A1 (en) * 2010-05-28 2011-12-01 Devendra Raut Method and apparatus for lockless communication between cores in a multi-core processor
KR101687213B1 (ko) 2010-06-15 2016-12-16 아브 이니티오 테크놀로지 엘엘시 동적으로 로딩하는 그래프 기반 계산
JP5559616B2 (ja) * 2010-06-17 2014-07-23 ラピスセミコンダクタ株式会社 半導体メモリ装置
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
CN103250131B (zh) 2010-09-17 2015-12-16 索夫特机械公司 包括用于早期远分支预测的影子缓存的单周期多分支预测
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
US8443230B1 (en) * 2010-12-15 2013-05-14 Xilinx, Inc. Methods and systems with transaction-level lockstep
TWI518504B (zh) 2011-03-25 2016-01-21 軟體機器公司 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
WO2012135050A2 (fr) 2011-03-25 2012-10-04 Soft Machines, Inc. Fragments de mémoire permettant de prendre en charge une exécution de blocs de codes en utilisant des cœurs virtuels instanciés par des moteurs partitionnables
CN103649931B (zh) 2011-05-20 2016-10-12 索夫特机械公司 用于支持由多个引擎执行指令序列的互连结构
TWI603198B (zh) 2011-05-20 2017-10-21 英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
US20120317356A1 (en) * 2011-06-09 2012-12-13 Advanced Micro Devices, Inc. Systems and methods for sharing memory between a plurality of processors
US8874994B2 (en) 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
WO2013077875A1 (fr) 2011-11-22 2013-05-30 Soft Machines, Inc. Dispositif d'optimisation accélérée de codes pour un microprocesseur à plusieurs moteurs
EP2783281B1 (fr) 2011-11-22 2020-05-13 Intel Corporation Dispositif d'optimisation accélérée de codes pour un microprocesseur
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9055069B2 (en) * 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
US8938551B2 (en) * 2012-04-10 2015-01-20 Intel Mobile Communications GmbH Data processing device
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
WO2014065880A1 (fr) * 2012-10-22 2014-05-01 Robert Beers Tables de protocoles de cohérence
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
JP6036578B2 (ja) * 2013-03-08 2016-11-30 株式会社デンソー データ処理装置
US9442559B2 (en) 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
WO2014150806A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé d'alimentation de structure de donnees de vues de registre au moyen d'instantanés de modèle de registre
WO2014150971A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé de diffusion de dépendances via une structure de données de vue de sources organisée par blocs
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
EP2972836B1 (fr) 2013-03-15 2022-11-09 Intel Corporation Procédé d'émulation d'une architecture de drapeau centralisée invitée au moyen d'une architecture de drapeau répartie native
WO2014150991A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé de mise en œuvre de structure de données de vue de registre à taille réduite dans un microprocesseur
US9594612B2 (en) * 2013-06-28 2017-03-14 Arista Networks, Inc. System and method of a hardware shadow for a network element
JP6236996B2 (ja) * 2013-08-28 2017-11-29 富士通株式会社 情報処理装置および情報処理装置の制御方法
FR3010540B1 (fr) 2013-09-10 2015-08-14 Schneider Electric Ind Sas Systeme d'automatisme comprenant plusieurs controleurs logiques programmables connectes sur un reseau de communication
CA3114544A1 (fr) 2013-12-05 2015-06-11 Ab Initio Technology Llc Gestion d'interfaces pour des graphes de flux de donnees composes de sous-graphes
US9459972B2 (en) 2014-06-20 2016-10-04 International Business Machines Corporation Alternative port error recovery with limited system impact
US10542125B2 (en) * 2014-09-03 2020-01-21 The Boeing Company Systems and methods for configuring a computing device to use a communication protocol
US9043638B1 (en) 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US9633155B1 (en) * 2015-11-10 2017-04-25 International Business Machines Corporation Circuit modification
WO2017112654A2 (fr) 2015-12-21 2017-06-29 Ab Initio Technology Llc Génération d'interface de sous-graphe
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US9984182B2 (en) * 2016-05-25 2018-05-29 Caterpillar Inc. Model generation system for a machine
US10008052B2 (en) * 2016-05-25 2018-06-26 Caterpillar Inc. Model generation and monitoring system for a machine
US9792975B1 (en) 2016-06-23 2017-10-17 Mediatek Inc. Dram and access and operating method thereof
FR3053564B1 (fr) * 2016-07-04 2018-07-27 Kerlink Dispositif de communication modulaire
FR3057086B1 (fr) 2016-10-04 2018-11-23 Stmicroelectronics (Rousset) Sas Procede de gestion d'une mise a jour d'au moins un microcode au sein d'une unite de traitement, par exemple un microcontroleur, et unite de traitement correspondante
US10528413B2 (en) 2017-04-03 2020-01-07 Intel Corporation Criticality-based error detection
US10020012B1 (en) 2017-10-31 2018-07-10 Seagate Technology Llc Data storage drive with low-latency ports coupling multiple servo control processors
JP6955163B2 (ja) * 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
KR102569417B1 (ko) 2018-11-12 2023-08-21 제이에프이 스틸 가부시키가이샤 고압 수소 용기
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
CN111274237A (zh) * 2020-01-20 2020-06-12 重庆亚德科技股份有限公司 医疗数据核对修正系统及方法
WO2021215399A1 (fr) 2020-04-20 2021-10-28 Jfeスチール株式会社 Récipient d'hydrogène haute pression
CN113722770B (zh) * 2021-08-18 2024-06-18 上海励驰半导体有限公司 基于分级的数据完整性的端到端的保护方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735365A (en) * 1970-09-25 1973-05-22 Hitachi Ltd Data exchange system
GB1481393A (en) * 1974-02-28 1977-07-27 Burroughs Corp Information processing systems

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3059221A (en) * 1956-12-03 1962-10-16 Rca Corp Information storage and transfer system
NL297037A (fr) * 1962-08-23
US3303474A (en) * 1963-01-17 1967-02-07 Rca Corp Duplexing system for controlling online and standby conditions of two computers
US3292156A (en) * 1963-05-28 1966-12-13 Bell Telephone Labor Inc Data signal storage circuit
US3400372A (en) * 1965-02-16 1968-09-03 Ibm Terminal for a multi-data processing system
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
DE1549397B2 (de) * 1967-06-16 1972-09-14 Chemische Werke Hüls AG, 4370 Mari Verfahren zur automatischen steuerung chemischer anlagen
US3555517A (en) * 1968-10-30 1971-01-12 Ibm Early error detection system for data processing machine
US3581286A (en) * 1969-01-13 1971-05-25 Ibm Module switching apparatus with status sensing and dynamic sharing of modules
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3623014A (en) * 1969-08-25 1971-11-23 Control Data Corp Computer communications system
US3577185A (en) * 1969-10-02 1971-05-04 Ibm On-line system for measuring the efficiency of replacement algorithms
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3810120A (en) * 1971-02-12 1974-05-07 Honeywell Inf Systems Automatic deactivation device
DE2108836A1 (de) * 1971-02-25 1972-09-07 Licentia Gmbh Anordnung für ein Doppelrechnersystem
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3749845A (en) * 1971-08-27 1973-07-31 Bell Telephone Labor Inc Digital data communication system
JPS5147298B2 (fr) * 1971-08-30 1976-12-14
US3749897A (en) * 1971-09-03 1973-07-31 Collins Radio Co System failure monitor title
GB1412246A (en) * 1971-09-29 1975-10-29 Kent Automation Systems Ltd Computer control arrangements
US3820079A (en) * 1971-11-01 1974-06-25 Hewlett Packard Co Bus oriented,modular,multiprocessing computer
JPS5147502B2 (fr) * 1971-12-29 1976-12-15
US3810114A (en) * 1971-12-29 1974-05-07 Tokyo Shibaura Electric Co Data processing system
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers
FR2176279A5 (fr) * 1972-03-17 1973-10-26 Materiel Telephonique
JPS553735B2 (fr) * 1972-03-29 1980-01-26
FR2182259A5 (fr) * 1972-04-24 1973-12-07 Cii
GB1434186A (en) * 1972-04-26 1976-05-05 Gen Electric Co Ltd Multiprocessor computer systems
US3787816A (en) * 1972-05-12 1974-01-22 Burroughs Corp Multiprocessing system having means for automatic resource management
JPS4965103U (fr) * 1972-09-20 1974-06-07
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
JPS566015B2 (fr) * 1972-12-12 1981-02-09
US3827030A (en) * 1973-01-29 1974-07-30 Gulf & Western Industries Programmable controller using a random access memory
JPS5633435B2 (fr) * 1973-02-21 1981-08-04
JPS49114845A (fr) * 1973-02-28 1974-11-01
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
JPS532296B2 (fr) * 1973-03-19 1978-01-26
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3859638A (en) * 1973-05-31 1975-01-07 Intersil Inc Non-volatile memory unit with automatic standby power supply
US3836891A (en) * 1973-07-05 1974-09-17 Bendix Corp Tape reader system with buffer memory
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US3921141A (en) * 1973-09-14 1975-11-18 Gte Automatic Electric Lab Inc Malfunction monitor control circuitry for central data processor of digital communication system
CA1026850A (fr) * 1973-09-24 1978-02-21 Smiths Industries Limited Double systeme de commande simultanee avec detecteur de panne
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3882460A (en) * 1973-11-02 1975-05-06 Burroughs Corp Serial transfer error detection logic
JPS5324261B2 (fr) * 1973-11-20 1978-07-19
FR2258112A5 (fr) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
GB1474385A (en) * 1973-12-14 1977-05-25 Int Computers Ltd Multiprocessor data processing systems
JPS5812608B2 (ja) * 1974-03-05 1983-03-09 日本電気株式会社 デンシケイサンキシステム
JPS50133738A (fr) * 1974-04-08 1975-10-23
JPS537332B2 (fr) * 1974-04-22 1978-03-16
US4040026A (en) * 1974-05-08 1977-08-02 Francois Gernelle Channel for exchanging information between a computer and rapid peripheral units
FR2273317B1 (fr) * 1974-05-28 1976-10-15 Philips Electrologica
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
GB1510464A (en) * 1974-06-24 1978-05-10 Shell Int Research N,n-disubstituted amino-acid derivatives and their use as herbicides
JPS5438844B2 (fr) * 1974-07-19 1979-11-24
US3908099A (en) * 1974-09-27 1975-09-23 Gte Automatic Electric Lab Inc Fault detection system for a telephone exchange
US4050096A (en) * 1974-10-30 1977-09-20 Motorola, Inc. Pulse expanding system for microprocessor systems with slow memory
US4004283A (en) * 1974-10-30 1977-01-18 Motorola, Inc. Multiple interrupt microprocessor system
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US3919533A (en) * 1974-11-08 1975-11-11 Westinghouse Electric Corp Electrical fault indicator
JPS564936B2 (fr) * 1974-12-02 1981-02-02
JPS5169308A (ja) * 1974-12-13 1976-06-15 Hitachi Ltd Booringuhoshiki
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4006466A (en) * 1975-03-26 1977-02-01 Honeywell Information Systems, Inc. Programmable interface apparatus and method
US3991407A (en) * 1975-04-09 1976-11-09 E. I. Du Pont De Nemours And Company Computer redundancy interface
NL165859C (nl) * 1975-04-25 1981-05-15 Philips Nv Station voor informatie-overdracht.
CH584488A5 (fr) * 1975-05-05 1977-01-31 Ibm
US4015243A (en) * 1975-06-02 1977-03-29 Kurpanek Horst G Multi-processing computer system
US4001790A (en) * 1975-06-30 1977-01-04 Honeywell Information Systems, Inc. Modularly addressable units coupled in a data processing system over a common bus
US3995258A (en) * 1975-06-30 1976-11-30 Honeywell Information Systems, Inc. Data processing system having a data integrity technique
US4034347A (en) * 1975-08-08 1977-07-05 Bell Telephone Laboratories, Incorporated Method and apparatus for controlling a multiprocessor system
US4020459A (en) * 1975-10-28 1977-04-26 Bell Telephone Laboratories, Incorporated Parity generation and bus matching arrangement for synchronized duplicated data processing units
US4034794A (en) * 1975-10-31 1977-07-12 Nalco Chemical Company Casting process with lignosulfonate-humate-graphite mold coatings
US4038644A (en) * 1975-11-19 1977-07-26 Ncr Corporation Destination selection apparatus for a bus oriented computer system
US4014005A (en) * 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
US4048672A (en) * 1976-01-05 1977-09-13 T-Bar Incorporated Switch matrix control and display
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4041472A (en) * 1976-04-29 1977-08-09 Ncr Corporation Data processing internal communications system having plural time-shared intercommunication buses and inter-bus communication means
US4051355A (en) * 1976-04-29 1977-09-27 Ncr Corporation Apparatus and method for increasing the efficiency of random access storage
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4059851A (en) * 1976-07-12 1977-11-22 Ncr Corporation Priority network for devices coupled by a common bus
US4089052A (en) * 1976-12-13 1978-05-09 Data General Corporation Data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735365A (en) * 1970-09-25 1973-05-22 Hitachi Ltd Data exchange system
GB1481393A (en) * 1974-02-28 1977-07-27 Burroughs Corp Information processing systems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EXBK/75 *
EXBK/76 *
EXRV76 *

Also Published As

Publication number Publication date
JPS60100257A (ja) 1985-06-04
JPS5925257B2 (ja) 1984-06-15
HK62681A (en) 1981-12-24
MY8200207A (en) 1982-12-31
GB1588803A (en) 1981-04-29
JPS6124740B2 (fr) 1986-06-12
US4672537A (en) 1987-06-09
GB1588805A (en) 1981-04-29
CA1121481A (fr) 1982-04-06
JPS60100256A (ja) 1985-06-04
JPS6120017B2 (fr) 1986-05-20
FR2485228B1 (fr) 1985-11-29
GB1588806A (en) 1981-04-29
FR2485227A1 (fr) 1981-12-24
US4817091A (en) 1989-03-28
JPS6122335B2 (fr) 1986-05-31
HK62381A (en) 1981-12-24
US4484275A (en) 1984-11-20
DE2740056C2 (fr) 1992-03-19
FR2485228A1 (fr) 1981-12-24
JPS6120016B2 (fr) 1986-05-20
JPS60100252A (ja) 1985-06-04
MY8200208A (en) 1982-12-31
HK62581A (en) 1981-12-24
FR2473197B1 (fr) 1985-12-13
JPS6218951B2 (fr) 1987-04-25
BE892627Q (fr) 1982-07-16
FR2485227B1 (fr) 1985-11-29
HK62281A (en) 1981-12-24
MY8200206A (en) 1982-12-31
US4228496A (en) 1980-10-14
JPS60100254A (ja) 1985-06-04
US4672535A (en) 1987-06-09
GB1588804A (en) 1981-04-29
JPS60100255A (ja) 1985-06-04
JPS6120018B2 (fr) 1986-05-20
JPS5333027A (en) 1978-03-28
HK62481A (en) 1981-12-17
US4639864A (en) 1987-01-27
US4356550A (en) 1982-10-26
MY8200209A (en) 1982-12-31
US4365295A (en) 1982-12-21
GB1588807A (en) 1981-04-29
JPS61286962A (ja) 1986-12-17
MY8200205A (en) 1982-12-31
JPS5850062A (ja) 1983-03-24
JPS6129028B2 (fr) 1986-07-03
US4378588A (en) 1983-03-29
JPS60100258A (ja) 1985-06-04
DE2740056A1 (de) 1978-03-16
US4807116A (en) 1989-02-21
FR2547082A1 (fr) 1984-12-07
JPS60100253A (ja) 1985-06-04
JPS6122336B2 (fr) 1986-05-31

Similar Documents

Publication Publication Date Title
FR2473197A1 (fr) Systeme de traitement par multiprocesseurs
Bouteiller et al. Redesigning the message logging model for high performance
US11442818B2 (en) Prioritized leadership for data replication groups
FR2480460A1 (fr) Dispositif pour transferer des informations entre des unites principales d&#39;un systeme de traitement de donnees et un sous-systeme central
EP0755010B1 (fr) Dispositif d&#39;interface entre un calculateur à architecture redondante et un moyen de communication
US20220376970A1 (en) Methods and systems for troubleshooting data center networks
CN108551765A (zh) 输入/输出隔离优化
EP0356460A1 (fr) Controleur d&#39;operations pour systeme de traitement a noeuds multiples insensible aux defaillances
EP0394114B1 (fr) Coupleur multifonctions entre une unité centrale d&#39;ordinateur et les différents organes périphériques de ce dernier
EP0077863B1 (fr) Dispositif de balayage de lignes de communications destiné à un contrôleur de communications
CN102402493A (zh) 用于共享数据总线的层级式缓冲器系统的系统和方法
US11620087B2 (en) Implicit leader election in a distributed storage network
CN114363154A (zh) 节点选举方法、装置、电子设备及存储介质
US20170371541A1 (en) Method and system for achieving consensus using alternate voting strategies (avs) with incomplete information
US7330885B2 (en) Method and apparatus for managing data time-outs
FR2484668A1 (fr) Procede et appareil pour transferer des donnees externes d&#39;entree et de sortie a un systeme microprocesseur
Thornburgh Fibre channel for mass storage
EP0547976B1 (fr) Dispositif universel de couplage comprenant un contrÔleur de transfert multiple de données entre une pluralité de mémoires et un bus d&#39;ordinateur
CN117311849A (zh) 一种基于云电脑可实现用户定制化的方法、系统及移动终端
Fleming Win at Video Poker: A Guide to Beating the Poker Machines
CA1137582A (fr) Systeme a multiprocesseur
Scoblete Victory at Video Poker
Washington et al. A survey of optical network survivability
JPH11203258A (ja) 端末機の自動間引き方式
Hwang Reliability modeling and analysis of a loosely-coupled distributed computing system (lcdcs)

Legal Events

Date Code Title Description
ST Notification of lapse