FR2485228A1 - Systeme a memoire pour module de processeurs - Google Patents

Systeme a memoire pour module de processeurs Download PDF

Info

Publication number
FR2485228A1
FR2485228A1 FR8116835A FR8116835A FR2485228A1 FR 2485228 A1 FR2485228 A1 FR 2485228A1 FR 8116835 A FR8116835 A FR 8116835A FR 8116835 A FR8116835 A FR 8116835A FR 2485228 A1 FR2485228 A1 FR 2485228A1
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
FR8116835A
Other languages
English (en)
Other versions
FR2485228B1 (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 FR2485228A1 publication Critical patent/FR2485228A1/fr
Application granted granted Critical
Publication of FR2485228B1 publication Critical patent/FR2485228B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

LA PRESENTE INVENTION SE RAPPORTE A UN SYSTEME A MEMOIRE POUR UN MODELE DE PROCESSEUR. CE SYSTEME COMPREND UNE MEMOIRE CENTRALE PHYSIQUE PLACEE DANS LE MODELE DE PROCESSEUR ET UN MOYEN DE RELEVE POUR TRADUIRE TOUTES LES ADRESSES LOGIQUES EN ADRESSES PHYSIQUES, DE SORTE QUE TOUTES LES INSTRUCTIONS DE L'UNITE CENTRALE PEUVENT COUVRIR QUATRE ZONES D'ADRESSES LOGIQUES, C'EST-A-DIRE LES DONNEES DE L'UTILISATEUR, LES DONNEES DU SYSTEME, LE CODE DE L'UTILISATEUR ET LE CODE DU SYSTEME, DE FACON QUE LE PROGRAMMEUR N'A PAS BESOIN DE SE SOUCIER D'UNE ADRESSE PHYSIQUE REELLE NI DE LA QUANTITE DE MEMOIRE PHYSIQUE CONNECTEE MAIS, AU CONTRAIRE, IL PEUT ECRIRE DANS LES QUATRE ZONES D'ADRESSES LOGIQUES UN PROGRAMME BASE ENTIEREMENT SUR DES ADRESSES LOGIQUES. LA PRESENTE INVENTION EST NOTAMMENT APPLICABLE A UN SYSTEME DE TRAITEMENT PAR MULTIPROCESSEURS.

Description

RÉPUBLIQUE FRAN AISE
INSTITUT NATIONAL
DE LA PROPRIETÉ INDUSTRIELLE
PARIS NI de publication: (A n'utiliser que pour les
commandes de reproduction).
2 485 228
A1
DEMANDE
DE BREVET D'INVENTION
No 81 16835
( Système à mémoire pour module de processeurs.
@ @@@l @ @
Classification internationale (Int Cl.). G 06 F 9/06, 9/46.
Date de dépôt........................ 4 septembre 1981.
Priorité revendiquée: EUA, 7 septembre 1976, n 721.043.
Date de la mise à la disposition du
public de la demande............ B.O.P.I. -" Listes " n 52 du 24-12-1981.
Déposant: Société dite: TANDEM COMPUTERS, INCORPORATED, résidant aux EUA.
(2) Invention de: Titulaire: Idem ( 8 Mandataire: Bureau D. A. Casalonga, office Josse et Petit,
8, av. Percier, 75008 Paris.
D Vente des fascicules à l'IMPRIMERIE NATIONALE, 27, rue de la Convention - 75732 PARIS CEDEX 15 3' demande divisionnaire bénéficiant de la date de dépôt du 6 septembre 1977 de la
demande de brevet initiale n 77 27011 (art. 14 de la loi du 2 janvier 1968 modifiée).
?
La présente invention se rapporte à un système de traite-
ment par multiprocesseurs dans lequel des modules de proces-
seurs interconnectés assurent unjmultitraitement (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 fichierb 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 cr6dits
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.
l'e 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-
ter l'exploitation du système. Le système doit fournir un cal-
cul qui tient oompte des erreurs. Dans le cas d'un calcul qui tient compte des erreurs, toutesiles 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 pn 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 co=une. 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 commupe 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 iii-
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-
- te-rmé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-
que s.
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. Les 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-
se. 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. À 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.
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 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ème.
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-sorties.
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 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-
nication 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 dé 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-
seurs. Chaque commande entre processeurs comprend également des
mémoires-tampons à accès rapide (mémoires-tàmpons 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 processeurs.
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
8 2485228
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 piocesseur 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 dé 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 sbnt 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 modulé du processeur émetteur la 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
-2485228
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-sor-;-es 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.
il - 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 tem4s 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'inpor-
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émoirestampons sont disposées dans les organes "5 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 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 produre 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émbire-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 so:ete 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 de donné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-adresselest 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. la défaillance d'une clé de table dans un module de pro-
cesseur n'affecte pas l'autre module de processeur car ce der-
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 Qommande 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
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émeo 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'dex-
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 topograimme 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. 1 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 topogranmme 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émoiïe 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 auxiliaires 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 topogramwe 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 à semiu 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 contrôle, 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 controle 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 sortie. L'entrée de chacun des bits de syndrome de sor-
tie comprend huit bits d'information et un bit de contrôle.
Le décodeur 4L 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 53 de processeurs 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 I 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
communes 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émoires 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;
2485228
- la figure 10 est un schéema 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 11 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 I; - 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-
gure1;
- 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 153
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 I;
- 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 schema de fonctionnement d'une entrée
43 représentée à la figure 19. Cettle figure 20 représente princi-
palement les circuits de données au sein d'une entrée 43 9 - 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émoirerampon 189 de données illustrée aux figures 22 et 19; 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 commanide 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 dcronogramme montrant le fonctionnement de la liaison à deux liEgnes entre le canal des entrées-sorties 109 et les entrées 35; - la figure 29 est un schema logique montrant la logique dans
le cas général de la liaison représentée à la figure 280 La logi-
que représentée à la figure 29 fait partie de la machine 143 de ligne T du canal 109 d'entrées-sorties représenté à la figure 13 - la figure 50 est un schéma de fonctionnement d'un système d'alimentation électrique. La figure 50 montre comment plusieurs
22 2485228
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 n 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 503 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 53, 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 56 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 deà 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érodes 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 37e La figure 40 donne également une liste d'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'Dun 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 53 de processeurs. Chaque module 33 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 processeurs0 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. j Lés 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 -
axxocié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 à Il 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.
2485228
Le système de traitement par multiprocesseurs inclut un système.01 de répartition de l'alimentauion 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 connecte à deux sources 303 d'alimentation
séparée par l'intermédiaire d'un commutateur automatique 311.
Si une source 305 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 à 1l 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 57.
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
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 teçision; 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.
Le système de mémoire comprend un topograemme 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 410 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.
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èmé 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 379 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-dessus9 il
faut noter les significations suivantes de la terminologie uti-
lisée dans la présente demande de brevet0
Le terne "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. lie 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-
liaire0 Le système d'exploitation gère égalementle système de messages, ce qui facilite la transmission des informations par la ligne entre processeurs, Ia disposition du système d'exploitation est compatible
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 liutilisateur peut faire une demande' (en utilisant le système de message) au procédé associé à cet organe de commande 41; ensuiteq 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éeso Lorsque la demande sera terminée, toutes les valeurs demandées seront renvoyées au traitement demandeuro Lorsqu'un message doit être envoyé entre des traitements dans deux modules différents 33 de processeurs, on utilise les
lignes 55 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 53 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 supplementaires 33 de processeurs ou d'organes supplé-
mentaires de commande 41 au système de traitement par multipro-
cesseurs.
En outre, le tfait que l'utilisateurs 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 é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 41.
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'intermé-
diaire de deux lignes 35 entre processeurs, une ligne X 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 33 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é-
moire-ta.mpon en file d'attente de la com-ande 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, rmê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 decomposant 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 inventions 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ôleo La logique de commande implantée dans le contrôleur 57
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
32 2485228
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 structu e 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 professeurs 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 75 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.
D'organe 67 en dehors de la file d'attente comprend égale-
ont 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 processeurso 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 compteu: é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 57.
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. Ia 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, SYNCHRiONIS TION, EMISSION
et XECUToE, comme l'illustrent les légendes.
Continuant la description de la notation de la figure 7,
on notera que les lignes en traits çleins terminées par des
flèches indiquent des passages de l'état actuel à l 'état suivant.
Les flèches en traits interrompus se tenninant aux flèches en
traits pleins indiquent les conditions qui doivent être satisfai-
tes pour 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 REMPLISSAGE sera reu-
placé par l'état COMPLET.
De même, on doit noter que l'état d'ENISSION 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éisque 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, BAIAYAGE, 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 astérisque placé sur uxeligne 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 traiis 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 95 de la logique comprend quatre états, à savoir: SYNCGIRONISATI01, ACCEPTATION, RECEPTION
et COMPLET.
Le schéma d'état de la partie log:.que 101 comprend quatre états, à savoir: MISE A ZER0O PRET, i.YTERRUPTION et VIDAC-Eo La 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 indiquef 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 pro&uisent les changements
d'état mentionnés aux figures 69 7 t1; 8.
La séquence représentée à la ffi,-ure 9 effectue la trans-
mission d'un groupe de bits, d'un molulè de processeur à un
autre module de processeur à la f:'Cquence d'horloge de la li-
gne (le module récepteur prévu étunt supposé prêt à recevoir
le groupe de bitE.
ILa figure 9, représente les s'.Iuences chronologiques d'une
transmission de groupe de bits ef.'ctuée avec succès, les re-
présentations des signaux individuals étant indiquées de haut en bas à la figure 9 et les péri(t'es de temps d'une horloge de ligne étant représentées chac:ie le de gauche à droite à la figure 9 dans l'ordre croissant X es tempso
La 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 tdmps à la ligne supérieure se 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'EMISSDNZ(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 meprésenté à la figure 9, c'est-à-dire le signal de SEIECTION, 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 d'EMISSION, comme le montre le troisième
état de la figure 7. Ce signal d'ACCEPTATION 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 533 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 jartie 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 50 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'ACCEPTATIOIT D'ENMISSION, il envoie également le numéro prévu de récepteur dans la ligne pour que le régulateur 57 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 SEIECTION est validée et que le signal de COMMANDE DE
RECEPTION n'est pas validé.
Pendant le temps que le signal de COMADME 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 recepteur sélectionné.
La ligne du signal suivant, c'est-à-dire la ligne d'ACCEP-
TATION DE RECEPTION à 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 Iigne du contrôleur 37 de ligne, par l'une des lignes 59 de protocoles afin d'indiquer que le mnodule récepteur sélectionné se trouve à l'&bat d'ACCEPTATION, 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'ACCEPTATION DE RECEPTION n'est pas validé par 3 le module récepteur, la SELECTIONI de l'émetteur, la O0MADE
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'ACCEPTATION DE RECEPTION est validé, la sé-
quence indiquée par la ligne de O0OANDE Dl'EMISSION se produira alors* Ia ligne de COMM0ADE D'EHISSION représente un signal qui esi é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-
cole. En combinaison avec un signal de SELECTION du module du processeur émetteur, le signal de COMMANDE 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-à-dire la ligne 16 de données, représente l'infonmation 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 COMMNDE DE RECEPTION.
Si le signal d'ACCEPTATION DE RECEPTION n'avait pas été
regu par le contrôleur de ligne, le signal de COMML1DE 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
bLstables 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 = I B = O. L'état COMPIET 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 EXECUTION. 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 VIDE 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 l'é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 REMPLISSAGE.
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 faits interrompus entrant dans le
scheéma de la figure 7, pour chaque mot à 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.
Lorsque le signal de mémorisation hors de la file d'attente
sera produit pour la seizième fois, un passage de l'état de REMH-
PLISSAGE à l'état COMPLETe illustré par une flèche en traits pleins à la figure 7, est permise L'état COMPLET de la logique de l'é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 COMPIET de la logique 73 et des-
cendant vers la logique 75 à la figure 7o
La logique 75 de l'état de remplissage du processeur res-
2485228
tera à l'état C0IiPLET jusqu'à ce que la logique 75 de l'état de
vide de la ligne ait atteint ensuite l'état EXECUTE.
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érencé 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 SYNCHRONISA-
TION soit permis, comme le montre la flèche en traits interrom-
pus venant de l'état C0JIPET de la logique 73 de l'état de rem-
plissage du processeur.
La 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 DEMIANDE
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 schema 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 COMM0NTE 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 SELECTION du module de processeur émetteur et valide également le signal de COOMMNDE D'EMISSION
envoyé au module de processeur émetteur.
Ce signal de SELECTION et ce signal de COiMANDE DE SEIEC-
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 SELECTION 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
41 2485228
zéro. A la seizième période d'horloge de la SEECOTION et de la COIIIANDE D'EMISSION, le passage de l'état d'EMISSION à l'état
XIECUTE est synchronisé comme le mbntre la flèche en traits in-
terrompus permettant ce passage. Iorsque la logique 75 de l'état de vide a atteint l'état EXECUTPE, un passage de la logique 73 de l'état de remplissage
du processeur, de l'état COIPIET à l'état d'ATTENTE, est syn-
chronisé, comme le montre la flèche en traits interrompus par-
tant de l'état "exécuté".
Ensuite,l 'état d'ATTElNE 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 25. de vide de la ligne ont été ramenées à zéroo
ILa 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 11e
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 c6té 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 4à 2 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
SYNCERONISATION, la variable d'état O doit être mise à 1.
L'équation logique pour l'entrée J de la variable d'état
O est représentée à la figure 11 et elle est repérée par la ré-
férence 13. Dans cette équation, le blocage (représenté par la flèche en traits interrompus venant de l'état "complet-" de la
logique 75 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 fD 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 SYNCERONISATION, comme
on l'a décrit en détail ci-dessus.
les figures 10 et Il 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 paf un module de processeur par l'intermié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 'EMISSION.
Dans l'instruction d'EMISSION, 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 bits, 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'EMISSION 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 logiciel. 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. Ia- 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 RECEPTION 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 donns 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 delré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
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 ei.tre 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'entree 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 MAQUE
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 LIG1NE) 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 MICROITERRUPTION 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écBption
d'un groupe de bits, la microinterruption et le traitement sui-
vent du groupe de bits dans la mémoire seront différés jusqu'à
ce que le bit de ?ASQUE soit amené par une instruction du lo- giciel. Les opérations du logiciel, pelles 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 95 de l'état de remplissage de ligne sera à l'état
COMPLET et donc dans l'incapacité de valid r le signal d'ACCFP-
TATION DE RECEPTI0ON en réponse au signal de SELECTION.
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). Iorsqu'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 RINT (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
en file d'attente reste à l'état CONPTET et aucun groupe supplé-
mentaire de bits ne sera reçu.
Le 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 5.é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-
io 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'BEIMISSION est une instruction qui exige
quatre mots paramètres dans la pile du registre de l'unité cen-
trale. Le 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 descnné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 dVEMISSION.
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 restants n'ont pas été transmis, l'instruction ayant pris fin à ce moment-là. Dans ce cas, les groupes de bits restants du
bloc ne sont pas transmis.
lia 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 dVEMISSION, 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.
La première action de la séquence d'instruction d'ENIS-
SION est d'envoyer un signal de RECEPTION EN MEMOIRE à 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 M 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 RECEPTION EN HEIOIEE 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écise 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éeso 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 COMPLET, 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
0 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 79 et le microprogramme met ensuite fin à l'instruction dIEMISSI0ON avec
l'indication du dépassement du temps imparti.
En fonctionnement normal, l'état CO0ILET de la logique 73 de l'6tat 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 SYNCHRONISATION 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 3? 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 SEIEC-
TION DE L'ENETTEUR, fait passer de l'état d'EMISSION à l'état
EXECUTE 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 EXIECUTE à la flèche marquant à la figure 7 le passage de l'état COMPLET afin de
passer à l'état d'ATTENTE.
Ensuite, l'état d'ATTENTE synchronise l'état EXECUTE afin i passer à l'état EN RESERVE comme le montre le schéma d'état
représenté à la figure 7.
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
-51 2485228
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.
Ainsi, au moyen d'une seule instruction de programme (l'instruction d'EMISSION), un bloc de données comptant 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 au programme
du logiciel).
Lorsque le module de processeur récepteur reçoit le nombre
52 '2485228
attendu de mots d'un 6netteur donné, le programme en cours de déroulement est i.terrompu et cette transmission particulière
par la ligne se termine.
Ia figure 5 représente le schema 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 Y. 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 à l'état PRET. L'état PRET synchronise l'état de SYNCHRONISATION 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 SEIECTION, représenté à 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 COMMANDDE E RECEPTION synchronise l'état d'ACCEPTATION de la logique 93 de l'état de
remplissage de ligne et le fait passer à l'état de RECEPTION.
A ce passage d'un état à l'autre, le numéro du module de processeur émetteur est chargé dans le registre de l'é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 à 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 MICROINTERRUITION, comme le montre la figure 8. L'état de MICROINTERRUPTION présente lm état COMPLET EN FILE D'ATTENTE à la logique d'interruption de l'unité centrale. Ce signal COIFPJLET EN FILE D'ATTENTE produit une microinterruption à la fin de
l'instruction suivante du program3e 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, rep:résenté à la
figure 5e à 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 VIDAGEo
Le signal de BLOCAGE sélectionne également la partie en fi-
d'attente X on la partie en file d'attente Y- à condition, tom 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éer
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'INTERRUPTION DE RECEPTION qui fait passer la logique 101 de l1'ét de vide du processeur de l'état de VIDAGE a l'état de MISE A ZERO, conmme le montre la figure 8. Dans ce cas, il n'y a pas d'autre action. La microinterruption prend fin et le traitement &e l'instruction du programme est reprise Si le comptage est positif, le microprogramme 115 extrait
des mots de la mémoire-tampon 97 en file d'attente pourc les lan-
cer dans la ligne K par l' intermédiaire du signal K EN FILE
d'ATTENTE, 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 à rmesure que chaque mot de données est extrait de la mémoiretanzon 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émoire.
Si le mot de comptage atteint zéro, aucun autre mot n'est 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 COIMPLET 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 DElANDE 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'INTERRUPTION 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'té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 95 de l'état de remplissage de la ligne et la fait pas-
ser de l'état COMPILET à l'é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 go.upes 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-
vent provenir d'un autre éImebteur.
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'interip-
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 O10 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 comptae ge a été amené à -256. En d'autres termes, le mot de comptage contiendra une valeur comprise entre -14 et zéroo
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éa
ception de ligne de produire un signal d 'INTERRUPTION DE RECEP-
TION, par l'intermédiaire d'une instruction de programme de DEIUADE D TINTERRUPTION 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é regu 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 tempE 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 moyen.de vérifier l'exactitude des données
reçues par le circuit de communication du système de multipro-
cesseurso 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 modile 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
bits de données est nécessaire car une ligne n'est jmiais 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 à Aecevoir 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 (et.de 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és0 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 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équendes. 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 panne
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 537 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 35 entre processeurs sont utilisées par le systè-
me d'exploitation pour assurer que les autres modules de ploces-
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 étant en panne. 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 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
I indiqué comme étant l'Etat Initial, à l'état 2: Unité Centra-
le 0 Coupée, puis à l'état 5: Unité Centrale 0 Remise en état,
à l'état 4 Unité Centrale I Coupée et à l'état 5: Unité Cen-
trale I Remise en état, conme 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 IlEtat 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 appe.l 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 55 entre pro-
cesseurs peut tomber en panne ou être coupée9 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
PA 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 1o 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 1 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. Le 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 au 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 exploitables0 Pendant tout ce tempe, 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'interruption0 Une caractéristique importanie 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épare 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 umité 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 113. Un microprogramme 115 est associé à chaque microprocesseur 113. Le microprocesseur 113 exécute une partie du microprogramme 115 en exécutant les instructions d'entréessorties pour le système
d'entrées-sorties0 Les instructions d'entrées-sorties sont indi-
quées à la figure 12 par les sigles EIO (exécution des entrées-
sorties), II0 (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 multiprdcesseurs, 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 35 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 15, la logique 125 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 151 de comptage des caractères, un registre '53 d'adresses des appareils actifs, un registre 135 séparateur de
priorités et une logique 157 de contrôle et de création de pa-
ritéo
Le circuit 117 représenté à la figure 12 comprend deux li-
gnes repérées à la figure:.15 sous l'appellation de ligne H 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 115.
Comme le montre la figure 12, un circuit 139 connecte la logique 125 du circuit de données et le sous-système 107 de la mémoire. Ce circuit 159, 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 processeur.
Les circuits logiques 139B et 139C seront décrits plus en
3" 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 I,transmet les données de la mémoire au registre 125 de données mises en mémoire par le canal Un deu-ièLme branchement 159A-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 i139A-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 15, et
des lignes de DEILDE DE RECONNEXION 145, DEAiNDE D'INTERRUP-
TION FAIBLEMENT PRIORITAIRE 147, DEIANDE D'INTERRUPTION FORTE-
MENT PRIORITAIRE 149 et de DEMANDE DE RANGEIENT 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 13. La ligne
de REFERENCE ou ligne T 153 se compose de quatre lignes qui ser-
vent de lignes de fonctions et il y a trois lignés d'UTILISATION EN SORTIE 155, d'UTILISATION EN ENTREE 157 et d'ARRET EN ENTRES
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'ACHEM1IEMENT DES DONMTEES et
une ligne 163 de PARITE.
Les lignes FIN DE TRANSMISSION 165, REHPLISSAGE DE POSI-
TIONS INUJTILISEES 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 163 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. l Chaque instruction dans la ligne T, illustrée à la figure 18, exige un format particulier dans la ligne 161 acheinirTat 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 O à 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-
20. ture) dans la ligne T, les bits 0, 1, 2 et 3 dans la ligne ache-
minant les données indiquent respectivement une erreur 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 cidessous 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 liaison. 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
Le cycle d'horloge du canal est représenté orienté verti-
calemrent avec les signaux d'utilisation "en sortie" SVO et
d'utilisation "en entrée" SVI.
Comme le montre la figure 28f, 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" SV0, le canal 109 valide la fonction dans la ligne a 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 281A, 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.
Iors 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-
40.nées à la partie de commande de l'organe 187 de commande à la
67 2485228
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 17o
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; IPOL: 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
355 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 2485228
indiqué aux figures 15, 16 et 17 par la liaison 1L.
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 pàs 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" SV0 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" SVO, il déclenche un rythmeur qui fait partie de la machine 145 dans la ligne T de la figure 13. Ce rythmeur 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 rythmeur. 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 EI0 Exécution des entrées-sorties, II0
Interrogations des entrées-sorties, et HII0 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 145 dans la ligne T représen-
tée à la figure 13 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- treht 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 2485228
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 dé la bascutle 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-
mande0e Lorsque la logique combinatoire 291 de l'organe de commande
est prête, elle permet au transmetteur 295 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 connexionlogique 183e à 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
2485228
de conmmande et, en dernier lieu, à un appareil particulier par l'intermédiaire de l'organe 41 de commande. -'-entrée 43 est l'entité qui communique avec le module de proiesseur et avee Ia
partie de commande de l'organe 187 de l'organe de emmnanU < -
ditionnelle dans l'état de la bascule de possession..B). - Ce qui revient à dire que l'entrée établit elli-meme Xa
connexion avec un module de processeur, en fonction ies $nst=-
tions regues du canal 109 d'entrées-sorties crme onle on r3 plus en détail ci-dessous, en mettant à I son bit de sJlet5a
173.
Chacune des entrées individuelles 45 d'lun 4oe -d 1 e commande peut être connectée de manière indépenidante un Mnomle 33 de processeur alors qu'en même temps l'autr-e ent ies te
organe de commande est connectée à un module diTent$.en-
dant, la bascule de possession 185 établit la e nnn g4igne entre la partie de commande de l'organe de commande et 1 ln des deux entrées 43, de telle sorte que l'une;sleant e ces
entrées régit l'organe de commande à un moment mque:onque.
La logique de décodage détermine la fúnmttn gni est trans-
mise par la ligne T 153 à n'importe quel mommet rtliculier..
La logique de commande combine les fon=inm dtmi mi.as par la ligne T afin d'exécuter des fonctions parl3i:Ees 'd,tara e telles que, par exemple, la mise à 1 du bit Ese za.ezic:Sa
remise à zéro du bit de sélection, la lectur" -e UI ta.d'inlmr-
ruption - -
Le fonctionnement de la logique de commane est 32mh stz
par les équations logiques mentionnées à la figure 27.
Lorsqu'une séquence de connexions, qui sea- & ariT i-
après avec référence aux figures 15, 16 et r:?, ?et t:rxmsmise par 3o la logique 39 d'entrées-sorties, l'une des entrées e43 {Bt sem2-ement l'unique entrée 43 d'un organe 41 de commande -omni'te.a cette ligne 39 d'entrées-sorties) est connectée au sens zE-i tàe a la
ligne 39 par la mise à 1 de son bit de sélection 153.
Cette connexion logique est déterminée par une ra tie es
données transmises au cours de cette séquenc- de dermexin.ns-
Lorsqu'elle est connectée, cette entrée parti-ul'Tre -43 répond ensuite aux signaux de protocole en transmettant l'information
entre le canal et la partie de commande de l'organe de commande.
Le comparateur 193 i'adresses de l'appareil est la partie de
l'entrée 43 qui détermine l'adresse unique de l'entrée.
71 2485228
Le comparateur 193 d'adresses de l'appareil détermine l'a-
dresse unique d'une entrée particulière 45 en comparant la zone
d'adresse de l'appareil dans la ligne 161 acheminant les don-
nées pendant une fonction LAC (Adbesse 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 45. 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 COIIIPARAISON D'ADRESSES, voir figure 27, est créé et le bit de sélection 175 de cette entrée est mis à I (en supposant que les autres états énumérés à la figure 27 permetten 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); PAROKFF: Bascule bistable de parité correcte; SEL: Sélection; 0N: 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 157 de contrôle de la figure 13 par le fait que, à la sortie, la logique 157 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 45, et cette parité doit correspondre sinon l'opération sera suspendue par le canal 109
d'entrées-sorties du module 3355 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 avé une fonction de sortie transmise par la ligne T, et la parité est contrôlée pendant la durée de l'UTILISATION EI SORTIE pour assurer que les données transmises par la ligne D sont stables
pendant la durée de l'UTILISATION EN SORTIE, tqndis que l'en-
trée introduit les données dans le registre 215 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
ENTREES-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 T. 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 l'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 s6- -
quence d'EXECUTION DES ENTRRES-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 1'ETAT D' ITERRUPTION 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 59 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 45 de lan-
cer des signaux dans la ligne 39 d'entrées-sorties.
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.
Uïie fois mise à zéro, la bascule 175 de validation ne peut
être remise à I par le programme.
L'entrée 43 comprend un multiplexeur d'état 195. 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.
Leentrée 45 inclut un émetteur-récepteur 197 d'interface pour chaque ligne d'entrées (c'est-à-dire pour l'UTILISATION ENT ENTREE, l'ARRET EN ENTREE, la ligne acheminant les données, la parité, le RE1MPLISSAGE DE POSITION INUTILISEES EN ENTREE, la
RECONNTEXION EN.ENTREE, la DEIMANDE D'INTERRUPTION FAIBLEMFNT PRIO-
RITAIRE et la DEMANDE D'INTERRUPTION FORTEENT PRIORITAIRE) de la ligne 59 d'entrées-sorties représentée à la figure 14. Les émetteurs-recepteurs 197 transmettent les donnees de l'entrée 43 au canal 109 d'entrées- sorties lorsque le bit 173 de sélection d'entrée est mis à/laeionction 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èriment 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écepte:r 198 et un émetteur 2000
L'émetteur est ralidé par une ligne 202 de validation.
Plusieurs mots sont présents dans la ligne de validation 202. Ils comprennejt; le bit de sélection 173, une fonction 7/3 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 cilouit 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é. 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
2485228
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 deqsous 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é. 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'é-
tat. 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 py édéterminées de fonctionnement de l'organe 41 de commande. 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é
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 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 t concernant l'organe 41 de commande, comme le montre la figure 25, le transistor 214 de sortie principale commande les étages de 3o 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 45 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-
7?6
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 àa 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 188e A ce moment-là, l'amplis 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 acceptableso 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 250 de commande d'hystérésis était sous tension. Lorsque le transistor 256 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 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 circ.it de mise sous tension restera stable dans cet état, le transiàtor 214 de commande de sortie principale étant mis sous tension et les étages de commande de sortie 216 à 228 étant mis ho-S tension, jusqu'à.ce que la tension de +5V chute en dessous d'in niveau de seuil inférieur déterminé par
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éfaillande, 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 43 comprend plusieurs lignes qui sont repé-
rées d'une manière générale par la référence 179 aux figures 19
et 20. Ce groupe de lignes 179 comprend les lignesindi-v;iduel-
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-
ure 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 45 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-
- 25 - 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 LAC 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'interface 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 7?9 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 IOC. En conséquence, le canal 109 d'entrées-sorties émettant
l'instruction de prise de possession régit l'organe 41 de com-
manlde 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 revue 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 215o 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 45, 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 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 25e Ensuite, après que la mémoir.e-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 reconnexiono Ceci s'ap-
pelle la profondeur d'att3nte0 La profondeur de la mémoire dési-
gnée par la lettre D à la figure 25, 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
82 2485228
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 conlmande 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-
ritaireo La mémoire-tampon 189 d'un organe de commande est cons-
tituée de manière à bénéficier du fait que, lossque 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-sorties. ILa 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 25, le temps a été porté en abscisse et
les mots de la mémoire-tampon en ordonnée dans le cas d'une ope-
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 225, 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 253.
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êmo 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 -RD7 de sorte que le débit total d'entrée dans la mémoiretampon 189 est indiqué par la droite de pente
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 -RC.
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.
* 25 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 canal. 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é.
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 un -tampon d'entrée 231, une mé.nmoire-tampon 233, un tampon de sortie 235, lm indicateur d'entrée 237, un indicateur de sortie 239, un multiplexeur 241, une logique 243 de commande du tampon
décr.ite plus en détail à la figure 26, un multiplexeur 245 conn-
necté à la logique 243 de commande du tampon et un compteur 247
de contraintes.
Comme 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 cozmmine 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 251 à la mémoire-tampon 235 par un groupe de lignes 251. Ces dernières sont au-nombre de seize.o Les données sont extraites de la mémoire-tampon 233 et elles sont introduites dans le tampon de sortie 255 par un groupe de
lignes 255. 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 55 représentés à la figure 1, par un groupede seize lignes 255, comme l'indiquent les légendes de
ba figure 22.
Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante: 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 dbnné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,
2485228
représentée aux figures 22 et 26, est de garder la trace de la
contrainte appliquée à la mémoire-tampon 189o A ce sujet, le de-
gré de remplissage ou de vidage de la mémoire-tampon, combiné au
sens de la transmission par rappori au module de processeur (en-
trée oui 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 lignes accéderaient aux indicateurs 237 et 259 et le compteur de contrainte mesurerait toujours un accroissement de contraintee
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-
ces à 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 245 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 I'
dételrnine le sens de la transmission (entrée ou sortie) par rap-
port à la mémoire-tampon 253 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 237 ou l'indicateur de sortie 239 par l'intermédiaire du multiplexeur 241. Ensuite, lors d'une demande de sortie, la logique 243 de commande de la mémoire-tampon valide la ligne 263 qui accomplit trois actions: A) Elle transmet le mot du tampon d'entrée 231 dans la mémoire-tampon 233 à 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 243 de commande de la mémoire-tampon fait
progresser l'indicateur d'entrée 237.
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 243 de commande de la mémoire-tampon enre-
gistre dans le tampon de sortie 235 le mot extrait de la mémoi-
re-tampon 233, tel qu'il est déterminé par l'indicateur de sor-
tie 239 et le multiplexeur 241.
B) La logique 243 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 239.
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
]es 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 qui correspondent aux légendes de la figure 23, pour envoyer des demandes de reconnexion et des demandes de déconnexion dans les lignes respectives 145 et 159, représentées
aux figures 12 et 14.
Le signal STI d'ARRET EN ENTREE transmis par la ligne 159
représentée aux figures 12 et 14, pst 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 RECOiEXION 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 ENTREE est validé lorsque la mémoire-tampon 189 atteint un état de contrainte minimale (rempli àa la sortie et vide à l'entrée)o Le signal d'ARRET EN ENTREE 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 REC0NNEXION EN ENTREE 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 267B, 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 2Z45B 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 $7 denande O
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é. 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 265 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'lECUTION DES ENTREES-SORTIES pour déclencher la
transmission.
L'instruction d'EXCUTION DES ENTREES-SORTTES sélectionne
l'organe particulier de commande et l'appareil et indique l'opé-
ration à effectuer.
L'organe 4-1 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. ILa 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 données de l'appareil
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' INTEPRROGATION tES ENTREES-SORTIES ou une séquen'e d'INTERROGATION HAUTEMENT PRIORITAIRE DES ENTICES-
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 HAUTEIENT PRIORITAIRE DES ENTREES-SORTIES est analogue à la séquence d'IITERROGATION 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-
e SORTIES est définie par les changements d'état de la ligne T,
représentés à la figure 15.
De 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'implantation., LPP.I (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.
0 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 113, représenté à la figure
12, de l'unité centrale 105.
Ce déclenchement par l'unité centrale est-représenté à la figure 15 comme étaht 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.
L9
Dans l'état ou fonction d'adresse et instruction d'implan-
tation LAC, lu 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 IPIRi "PAR AIETRE D'IIlPLANlTrA'iI0N".
Dans l'dat de PARAYlETJRE D'IBLMTUATIOlN, 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 4.1 de commande sélectionné pendant
1 'état précédent d'ADRESSE ET INSTRUCTION D'!IPIANTPATION.
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 dé 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 PARIETRE D'IIPLANTATION et de l'APPAREIL DE IECTURE, 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 o mot d'état. Si une erreur s'est produite, la machine 143 dans la ligne T, représentée à la figure 13, passe de l'état de
1 'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXE-
CUTION.
L'état d'INSTRUCTION DE SUSPENSION D'EXECUTION donne comme instruction à l'organe 41 de commande de ne pas tenir compte de l'informmation d'ADRESSE ET d'INSTRUCTION D'IIPLANTATION et de PARA4ETRE D'IIIPLANTATION qui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à
l'état d' IACTIVITE (état mort).
Si, après l'état de l'APPAREIL DE LECTURE, aucune erreur n'a 9o 1
91/ 2485228
été détectée comme le mointrela flèche 114 en traits interroepus dans le branchement supérieur de la figure 15, la ligne T passe
à l'état de DESELECTION.
La ligne T se trouva-nt à l'état de DESEILECTION, 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'IMLAANTATION) 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 façon asynchrone. Par exemple, un signal de reconnexion peut être créé après une séquence d'EXECUTION 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 condic-
tions différentes, par exemple pour signaler l'achèvement d'ulne séquence d'EXECUTION DES ENTREES-SORTTES ou pour rendre compte d'lun état inhabituel dans un appareil périphériqueo Les lignes dedemande d'appareil sont communes à toutes les
entrées 45 de l'organe de commande connectées à une ligne par-
ticulière 39 d'entrées-sorties.
Le canal 109 répond alux demandes de reconnexion faites par la ligne 145 de RECOR EXIOU "EN ENTREE", représentée à la figure 14, et l'unitécentrale 105 répond aux demandes faites
par la ligne 147 de DEI:MDE D'INTERRUbTION FAIBLEItENT PRIORITAI-
RE, représentée également à la figure 14, avec une séquence d'INT'ERROGATION DES ENTREES-SORTIES, et à une demande faite par la ligne 149 de DEIMANDE D'I2TERROGATION FORTEIfENT PRIORITAIRE avec une séquence d'IT'ERROGATION FORTEIEI'NT 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 z41 de commande le plus fortement prioritaire validant une demande. Ce qui revient à dire qu'il peuit y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canal sélectionera un organe particulier de commande suivant
un système de pNiorité prédéterminé.
Dans un exemple particulier de réalisation de la présente invention, jusqu'"à trente-deux organes 41 de commande peuvent
dtre 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éses de seize bits.
Une ligne supplémentaire 1>1 est itilisé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 fe 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. lie canal 109 met la ligne de la rangée à zéro et présente ensuite la fonction RPOL (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 LPOL (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'INEERROGATION DES ENTREES-
SORTIES, ou une fonction EPOL (balayage hautement prioritaire) de la ligne T si l'unité centrale répond avec une séquence d'INTERROGATION HAUTEMENT PRIORITAIRE. Il s'agit là du seul point important de différence entre les représentations de la 0 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 RECONNEXION 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 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és,
conformaé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 ligne 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:à "lun, représenté à la figure 19; ensuite, cette entrée répondra
aux états suivants de la séquenceo 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éle égale à
zéro, à 1' é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 IIO0 (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
248522S
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 là la figure 16. La 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 LAC (adresse et
instruction d'implantation) dans la ligne T au cours d'une sé-
quence &'FXOCUTION DES ENT1 S-SORTIES afin de déterminer une
entrée particulière. Dans la séquence de reconnexion, 1'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 RAO (adresse et instruction de lecture) dans la ligne Tl
de manière à accéder à une table définissant la zone de mémoize-
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)0 Pour effectuer cette détermination du sens de la trams-
-25 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 IC0 pour chacun des huit appa-
reils possibles de chacun dès trente-deux organes 41 de oom-
andae possibles connectés à une ligne 39 d'ent;récssorties asso-
ciée à un module paribiculier 53 de processeur, et chaque module
33 de processeur possède. sa proprq table de commande des entrées-
sorties 100IC.
Chaque élément de deux mots décrit l'emplacement de la m6- 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 transmission0
Les zones qui représentent l'état de la transmission com-
prennent un bit P de protection et une zone d'erreur du canal CEH 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 IOC, à 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 temps.
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ée de l'organe dé commande & la mémoire, pbvoôqUant trnai la * I
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 de peut qu'indiquer une trans-
mission en sortie 1 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
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 RAC représenté à la figure 16), le canal place la ligne T dans l'état dIENTPRgE 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 IO.
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 139G 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 213 de données d'interface.
ILa vitesse élevée du canal d'rntré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'appareilstandis 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 canual. Comme le temps d'extbraction 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.
La transmission de la tranche de temps peut se terminer de deux façons: elle peut se terminer normalement ou se termine
*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 EOT dans la ligne 165 représentée à la figure 14, signifian. que la fin de la transmission est atteinte. Si le compte atteint un, le canal valide les signaux EOT, et PAD OUT (IEMPLISSAGE DE POSITIONS INUlTILISEES 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 PRD OIJUT (REIMPLISSAGE DE POSITION INUTILISEES 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 REMIPLISSAGE 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).
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 tranbhe de temps en validant le signal d'AJRET EN ERNTREE (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ée.
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 ENTREE (STI); et, pour signifier que le dernier mot se termine par un multiplet
impair, l'organe 41 de commande peut également valider un si-
gnal 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 I(,, comme on l'a mentionné ci-dessus.
Deuxièmeme:-;, l'organe 41 de commande peut ne pas renvoyer un signal de REJPLISSAGE DE POSITIONS INUITILISEES EN ENTREE (PADI) en réponze à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN 0ORTIE (PADO) émanant du canal 109o
Troisièmei >nt,le canal 109 peut détecter une erreur de pa-
rité dans la l _ne D 161.
Quatrièmeran$, 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 zémoire-tamnipon indiquée par les élémQnts de la table de commande des entrées-sorties IOC
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éeso Voir la description dans le système de mémoire concernant
le contrôle de l'erreur de parité.
Septièmement, le éystème de mémoire peut détecter une er-
reur de parité incorrigible lorsque le canal 109 accède à la mS-
moire. Voir la description du système de mémoire pour ce contrô-
le d'erreur de paritéS 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 160 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 16.
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'unedes 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 IOC0
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
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 mune séquence telle qu'on l'a!décrite ci-dessus avec réf6-
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 ABTD. Ceci repré-
sente unlme 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 FAIBLEMENT PRIORITAIRE DIRQ,
-25 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 sèst
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 à zéro parce que l'alimentation était coupée ou avait baissé et qu'elle a été rem-se à l'état initial par le circuit de mise
sous tension.
En réponse a une interruption, le programme en cours d'ex6-
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 o 'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ,
:eprésentée à la figure 14.
L'instruction d'interrogation hautement prioritaire des entrées-sorties HIIO0 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 '140 Le microprocesseur 115, 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 HIIO en commandant la logique
141 de commande du canal et la logique 123 du circuit de don-
nées. 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
oommence par une séquence de balayage.
2-5 - L'instruction d'interrogation des entrées-sorties HO0 inter-
roge une séquence à l'aide du balayage d'interruption faible-
ment prioritaire LPOL de la fonction dans la ligne T, tandis que l'instruction d'interrogation hautement prioritaire des
entrées-sorties IIO0 interroge une séquence à l'aide du balaya-
ge d'interruption hautement prioritaire 2POL 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 fJ'onction de sélection SEL dans la ligne T, comme
le montre la fi[gare 17.
L'organe aproprié 41 de commanide sélectionné est l'organe de commande qui ast le plus fortement prioritaire et qui fait
une demande d'interruption.
La séquence continue par une fonction RIC dans la ligne T provoquant l'in; erruption de lecture, comme le montre la figure
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 AB3TD 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 B, 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é NO0P comme l'indique la ligne en
haut de la figura 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 sa-
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 ef ectué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-
tionenment 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 n6mbre relativement élevé d'appareils avec la ligne particulière d'entréessortiesoDu 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.
/p
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 'dégradé" 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ème. Ces caractéristiques de protection comprennent un
mot séparé de comptage dans chaque table de commande des entrées-
sorties 100 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 appareil.
La 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.
La présente invention utilise la contrainte pour permettre aux mémoirestampons de coopérer sans coimuniquer 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 c'accéder à un 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érieur.
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 sysè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 direct9 et il four-
nit une redondance d'énergie électrique à chaque organe de com-
mande. A ce sujet, le terme "en direct" est utilisé dans un sens
tel que lorsqu'une partie du réseau est 'en directes 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 tell e 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 Assureurs0 De même, dans le réseau de distribution électrique qui fait partie de la présente invention, chaque organe de commande 10.5 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
Ia 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 70)1 de distribution électrique, représenté à la figure 30, fu rnit un avantage supplémentaire qui réside dans
dans le fait qu( chaque module 33 de processeur, ainsi que l'u-
nité centrale 1C5 et la mémoire 107 qui lui sont associés possède une soure' d'alimentation séparée et indépendante qui
est affectée à ce module de processeur. Grâce à cette disposi-
tion, une panne ou ume 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]imitera 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 50, 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 à mnulticonducteurs représentés à la figure 53, 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 509 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 507 et la ligne de remplacement 509o
Les commutateurs 5311 et 515 sont représentés plus en dsé-
tail à la figure 51.
Ia figure 52 représente des détails de construction d'é-
léments d'une source d'alimentation 503o
Comme le montre la figure 52, chaque source 505 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 517 de courant alternatif en courant continu dont
la sortie fournit, dans une ligne 519, une source d'alimenta-
tion interruptible IPS de cinq-oltso Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la
mémoire 107 et l'organe 41 de commandes On se reportera égale-
ment à la figure 33.
Le redresseur 317 de courant alternatif en courant conti-
nu fournit également, dans une deuxième ligne de sortie 521, une sortie en courant continu de isoixante volts qui est fournie à un convertisseur continu-continu 32, représenté à la figure 52. 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 525 et 327 sont, dans le réseau
qui fait partie de la présente invention, des sorties d'alimen-
tation électrique non interruptible UPS, 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'alimentation 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 525. Cette batterie de secours se compose d'un module 329 de batterie et chargeur. Le module 529 est connecté au convertisseur continu-continu 523 par une
ligne 331 et une diode 55333.
Dans un exemple particulier de réalisation de la présente
invention, la batterie 323 fournit au convertisseur 525 une ten-
sion de 48 V qui est à l'intérieur de la gamme des -tensions d'en-
trée du convertisseur 525.
La diode 353 assure l'alimentation du convertisseur 325 par la batterie si la tension dans la ligne 521 chute en dessous de 48 V. lia diode 555 arrête également le courant venant de la batterie et de la ligne 335 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ésvu pour détecter un état de l'entrée d'ali-
mentation en co rant alternatif dans la ligne 315 qui aurait eu pour résultat une tension insuffisante dans les lignes de
sortie 319, 525 et 327 le circuit d'alarme 335 transmet à l'u-
nit6 centrale 105, par uneligne 33557, 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 505 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 501 de distribution électrique qui fait partie de la
présente invention limaite l'effet de la painne 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 511 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-
tiotnelle avec les autres modules de processeurs et élénments du 1-10
système de traitem0ent 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 51, chaque commutateur automatique 5311 comprend deux diodes, c'est-à-dire une diode 5341 associée avec la ligne 307 d'alimentation principale et une diode
545 associée avec la ligne 509 d'alimentation de remplacement.
Les diodes 541 et 54-3 ont pour fonction de permettre l'alimen-
tation d'un organe 41 de commande à partir soit de la ligne 507
d'alimentation principale et d'une source d'alimentation 505 cor-
respondante, soit de la ligne d'alimentation de remplacement et
de sa source d'alimentation correspondante 503, 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 5435, la tension dans les lignes 307 et 509 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 505 sont en parallèle avec les lignes 507 et 530 309 et la tension effectivement reçue par l'unité Qentrale de la mémoire doit être également de cinq volts; c'est pourquoi des diodes 33559 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 551 permet 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é, 1
Les &étaila de fabrication du commutateur 513 sont rpe6-
sentés à la figure 31. Comme le montre cette figure, le commu-
tateur 513 comprend un interrupteur manuel 345, un transistor
347, une capacité 548, une résistance 550 et une résistance 552.
L'interrupteur manuel 345 est!fermé pour mettre en circuit le transistor 547 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. La capacité à réaction 548 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 547 est mis hors circuit par l'ouver-
ture de l'interrupteur 545, la capacité à réaction 348 agit en
liaison avec la résistance 550 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 541, 545 et 33559 sont des diodes Schott1y qui produisent une chute de tension directe très faible et ceci
réduit la puissance dissipée.
Comme onll'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 3153 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 513 et que la tension de cinq volts de caractéris.
tique correcte a été appliquée à l'organe 41 de commandes
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 533 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 505 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 505 comporte deux conducteurs diffé-
rents mis à la terre.
Un conducteur fournit la mise à la terre à la fois à l'a-
limentation interruptib 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.
La 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 VI à 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 V1 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, V1 à 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 507 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 VI et V2 et l'organe 41 de commande de cSté droit de la figure 35 est représenté comme étant connecté aux prises V2 et V3e
Ainsi, n'importe quel organe 41 de commande peut être connec-
té à deux quelconques des sources 303 d'alimentation, l'fune 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.e Ce réseau de distribution électrique permet d'effectuler !'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 issus 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 commandie. Au 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 53 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ésentSe plus en détail à la figure 34.
La mémoire 10' de chaque module 33 de processeur est asso-
ciée à la fois à 1'unité centrale 105 et au canal 109 d'entrées-
sorties de ce mod2.e. Il existe un accès à double entrée dans
la mémoires par linmité centrale et par le canal. Ce qui re-
vient à dire que l' -mité 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, taudis que le canal 109 d'entrées-sorties peut
également accéder directement à la mémoire (sans devoir traver-
ser l'unité certrale) 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 tn 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 m6-
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émeoire physique qui se compose de 262 144 mots de seize bits
d'information chacun.
Outre les seize bits d'inf'ormation, 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 I 024 mots chacun (qui sont appelés des pa-
ges). lDes 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 52 768 mots. Ainsi, huit de ces modules four-
nissent les 262 143 mots mentionnés ci-dessuso Tous 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 lUunité
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 topogramme 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 555 Ainsi, chaque zone d'adresses logiques
comprend soixante-quatre pages logiques de I 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 auxiliaireo Ceci permet de mettre en application une disposition de
mémoire virtuelle.
Une mémoire virtuelle offre deux avantageso Tout d'abord, une m-dnoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est inférieur à celui qu'exigeraienlt les ones d'adre;;e;o logiques, cawu la mmoire
physique peut être complétée par ne mémoire physique auxi-
liaire.
Ensuite, une mémoire virtuelle permet & des espaces d'a-
dresses de plusieurs utilisateurs (multiprogremination) 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 système 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 d' un programme d'utilisa-
teur.
Ainsi, il existe deux niveaux de protection des program-
mes d'utilisateurs fonctionnent 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'une adresse logique de seize bits en une adresse physique de dix-huit bits est effectuée par un plan de relevé. Pornant une partie de ce plan de relevé, un
nombre de pages physiques est obtenu par une opération de co-
sultation à l'intériecur 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'utilisateurq données du sys-
tème, code de l'utilisateur et code du système).
)10 La division de l'adresse logique en ces quatre zones sépa-
rées et distinctes présente des avantages significatifso La division permet d'isoler les programmes des données9
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é O - 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, toultes les références à la mémoire faîtes 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 4'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-
teuro 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 correspondnt 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 p4ge 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 à "uni par toute utilisation
de la page correspondant à l'entrée du relevé.
4) Un bit-clé. Le bit-clé est mis a "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 à iunml" 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é SNAP, l'ins-
truction de lecture d'une entrée de relevé RMAP et l'instruction
de décalage d'une entrée de relevé AMIP.
L'instruction d'insertion dans une entrée de relevé SMNP
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.
L'instruction de lecture d'une entrée de relevé BiAP 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é AMNP 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 O10 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: 1o Une référence d'adresse est faite à une page qui est absente de la mémoire physique (le bit d'absence est mis à "tunl") 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émoireo 35. 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 do manière à extraire la page absente de la mémoire auxiliaire (habituellement & disqLes]
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é pr6bcé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 à "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.
Lies 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, la 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 54 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 à lunité centrale 105 et au canal '109 d'en-
1;rées-sorties des entrées d'accès à la lmémoire 107, et le c-u-
nal 109 d'entrées-sorties n'est donc pas nécessaire pour acce'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é-
nmoire du relevé qui commande le début et la fin de l'accès aux
modules 405 de la mémoire physique.
La 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 une description 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éS 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 PMA et un registre 129 d'adresse de la mémoire du canal CMAo 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é409 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 405 de la mémoire.
Une ligne,421 de sortie fournit aux modules 405 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 451 d'instruction suivante NI, un registre J533 des données de la mémoi. re flD et un registre 125 des données
du canal CD.
Les sorties des registres PMD iet CMD 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 md-
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é IIND, 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 453 i 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 total de dix-huit bits. Comme on l'a noté ci-dessus, les nc:l'brI's 8, 10, 12, 13, 14 et 18 qui ne figurent pas entre parenthèses sur
certaines lignes des figures 34 et f5, se rapportent à cet exem-
ple particulier de réalisation à dik-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, 465 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 56 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
475 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 à age 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 56.
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 feournir 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 recouvr-ement.
Le bit R est mis à "un" par n'importe quelle opération d'ex-
traction ou d'enregistrement effcectuée sur cette page logique.
Les bits S et 'l' sont des bits d'enregistrement qui sont ina-
nipulés par l'instruction de décalage d'une entrée de relevé AMAP. Le bitclé D est mis à "un" par un accès d'enregistrement à cette page logique. TJe 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 m6-
moire centrale nais 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 56, 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é SMAP, l'instruction de lecture d'une entrée
de relevé RM-AP 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 lalogique 401 de commande de la mémoire à relevé, représentée à Ia figtUe 54, tout d'abô& pour sé]ectionner un emplace-ent dans le relevé i109 (à l'aide du premier paramètre de l'insertion) et ensuite po-ur insérer dans cet emplacement le deuxième paramètre de l'instruction,
c'est-à-dire les nouvelles donnéed d'entrée du relevé.
Et fonctionnement, come le montre la figure 35, dans le premier stade de la séquence, le microprogranme 115 charge les nouvelles données d'entrée du relevé dans le registre 423 des
données de la mémoire du processeur PMD.
Dans le stade suivant de la séquence, l'adresse du relevé O10 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 423o
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é SLP 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 rémoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse et de la ligne 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.
Les 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é comine 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 PMD au géné-
rateur 449 de parité de relevé et'au relevé 409, par l'intermé-
daire 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é SE?.
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èreda 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é SIAP 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
qi '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 PMA. 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é 4095 par l'intermédiaire du sélecteur 415 d'adresseo De nouveau, seuls les bits de sélection de relevé et d'adresse de page sont
uti.lisés dans cette séquence.
Le contenu de l'entrée du relevé sélectionnée est trahsmis 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é0 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é NMD.
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
a relevé MMD.
A la fin de l'instruction de leqture d'entrée de relevé
RMAP, la partie appropriée du relevé a été sélectionnée, l'en-
1 28
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é RMLiP 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 56) 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é RiAP 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é ANAP
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 PMA 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 4u1 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.
Le microprogrPILne 115, représenté à la figiure 12, lit le contenu de l'entrée du relevé venant du registre 445 de données de la mémoire à relevé ?ND, 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ée Ainsi, un zéro a été in-
troduit dans le bit R, le bit R a été introduit par décalage dans le bit S, le bit S a été introduit par décalage dans le
bit T, et l'ancien bit T est perdu.
Le microprogrammne 115 prend alors l'entrée modifiée du relevé, charge ces nouvelles données dans le registre 425 de données de la mémoire du processeur PMD, représenté à la figure 534, 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 mune entrée du relevé SMAPo Ces opérations terminent l'instruction de décalage d'une
entrée de relevé AI2AP.
De résultat de l'instruction de décalage d'une entrée de
relevé AMÀAP 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é SNAP ou de décalage d'une entrée de relevé JAMAP.
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 his.torique de référence du relevéS.
La zone h.storique de référence de toutes les entrées de
relevé dans un:elevé 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..ndication de la fréquence d'accès depuis les
trois interrupv:t.ons précédentes pour faute de page.
Par exemp:, une valeur binaire de sept (les trois bits de référence étnt tlous mis à "un"') indique des accés dans chacun des interva]lles entre les interruptions précédentes pour faute
de paSe.
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 é evé, 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-
mnt 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 est déclenchée par le microprogramme 115 de l'unité centsale ou par la 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 O10 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 Ai, représenté à la figure
p5, 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 405 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 55 et à la
bascule4'43 de sortie du relevé.
Si le bit d'absence est à l'état "un", l'adresse de la page logique est 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 405 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 405 de mémoire sélectionné à exécuter une opération d'ex-
tractionau 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 PMD, 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é, sanus le bit de parité P ou le bit de référence R, sont transmises de la bascule 453 de sortie du relevé à la logique 455 du bit-clé représenté à la
figure 55, 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",.oit
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 I49 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 pari-té 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 405 de la mémoire physique termine son opération d'extraction ou d'enregistrement, il envoie, par la
ligne 459, 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,9 les
données sont chargées dans le registre 433 de données de la mé-
moire MD, représenté à la figure 54, 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 lMI 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 COiA repré-
-2485228
scnté à la figure 34, est utilisé pour fournir l'adresse logique
et ce registre indique.touours 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 cbnstitués d'une mémoire à semiconducteurs
ou d'une mémoice à 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écritso
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 I 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 bitsqui fait partie de la pré-
sente invention peut, coirme on le décrira en détail ci-après, dé-
tecter et corriger toutes les erreurs de bit unique et ce sy'st 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ées.
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
ce Rot depuis le moment o il a été stocké en m6moire.
Dans une néemoi:re à semiconducteurs, deux mécanismes de per-
te d'information (erreur) sont possibles. L'un est une panne
grave d'un dispositif de la mémoime 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 inclutune 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 405 de mémoire à semiconducteurs comporte éga-
lement, comme le montre la figure 57, 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émentateur
487 de bits d'information.
Le module 405 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 37,. Ces lignes comprennent: la ligne 429 I 7 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 m6é-
moire à relevé, les lignes 419 et 421 d'adresse physique et la ligne 457 d'extraction des donnéds 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'ERREUR IULTIPILE (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 danss 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 505 de pa-
rité de huit bits situé à l'extrême gauche crée le bit de con-
trôle 00, comme l'indique l'équation logique de CO développée
au bas de la figure 58 Le bit de contrôle CO est donc le com-
plérient de la somme modulo deux des bits d'information 8 à 15.
Pour donner un autre exemple, le bit de contrôle O3 est créé par un arbre 505 de parité de huit bits, comme l'indique l'équation logique de C3 développée au bas de la figure 58. Le
bit de contrôle C0 est la somme modulo deux des bits d'informa-
tion O, 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 58.
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 58.
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 57, 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-
1,9
ble pour une opération d'extraction.
Lorsqu'un mot particulier Toit être extrait de l'ensemble 477 de mémoire, Ja logique 475/commande et de synchronisation et l'adresse transmise par la lighe 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 489o Comme le montre la figure 39, le comparateur 483 de bits de contrôle forme six bits de syndrome SO à S5o
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ôler 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" SO 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 59.
I La présence ou l'absence d'erreurs et les types dVerreurs, e 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 syndrbme de six bits et elle donne la traduction
de chaque valeur possible.
TABLE 1
CODE DE SYNDROME
S0 SI S2 S3 S4 S5
O O O 0 O O
0 0 0 0 0 1
O 0 1 0
0O O 0 0
O O O I
0 1 0 1
O 1 1 0
0 0 0 1 1 1
0 0 1 0 0 0
O 0 0 1
O 0 1 0
O 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1.1 '1
0 1 0 0 0 0
O O 0 1
O 0 1 0
O 0 1 1
0 I 0 0
ERREUR
(aucune erreur) C5 C4 (Double) C3 (Double) (Double) DO C2 (Double) (Double) (Iultiple) (Double) D1 D2 (Double) C1 (Double) (Double) D3 (Double)
S SI1 S2
1 0 0
e 0 1.0.1 1 0
I O O
* O
O O O
1 0O
1* O O O O O O o o I O O
S3 S4 S5
O O O
0 0 0
O 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 I 0
1 1 1
0 0 0
0 I 0
0 1 I
1 0 0
1 0 1
1 1 0
1 1 1
O O O
0 0 0
O 0 1
0.1 0
IO O
0 1 I
1 0 0
E=RUR a0 (Double) (Double) D8 (Double) D9. DIO (Double) (Double) Dll
(Multiple -.-
tous les bits sont à O (Double) D12 (Double) (Double) (Multiple) (Double) D13 D14 (Double) (Multiple) O co oo rO0 Co
CODE DE SYNDROME
S2 S3 S4 S5 ERREUR
1 0 1 (Miultiple - Tous les bits sont à 1)
1 1 0
D4 I 1 1 (Double) O O O (Double)
O O 1 D5
O 1 O D6
0 1 1 (Double) 1 O 1 (Double) 1 1 O (Double) 1 1 1 (Multiple)
S0 S1 S2 S3 S4 S5 ERREUR
1 1 O O I O O O O O 1 O 1 (Double) 1 1 O (Double) 1 1 1 (Multiple)
1 O O O D15
O O I (Double) 0 1i 0 (Double) 0 1 1 (Multiple) 0 O O (Double) 1 0 1 (IIultiple) 1 I 0 (multiple)
i i 1 (Double).
AINSI, (Nombre de bits à 1 dans le syndrome)
0 BIT - PAS D'ERREUR
1 BIT - ERREUR DU BIT DE
CONTROIE
2 BITS - ERREUR DOUBLE
3 BITS -
4 BITS -
BITS -
6 BITS -
ERREUR DU BIT
ERREUR DOUBLE
ERREUR MULT IPI
ERREUR DOUBLE
D' INFORLA.T iON s0. Si 0 1 N -' -'i r'> co - Par e:xemple, si tous les bits de syndrome SO à 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ésvmé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-
Ssue Si un seulement des six bits de syndrome est à "un" ceci inalique 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 I 1 I 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 57 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énmentateur 487
de bits d'information, représenté à la figure 57, par l'inter-
médiaire de la ligne 495 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 4'75 de comnmande et de synchronisationo
Une indication d'eITeur multiple est transmise par la li-
gne 497 d'ERREUR ?[LTIPLE à la logique 475 de commande et de synchronisation. Un signal d'ERREUR MULTIPLE est créé dans tous les cas d'erreurs de bits doubles et dans la plupar t des cas d'erreurs
de bits triples ou davantage. Ce signal d'ERREUR IULTIPLE, 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 Sl à S55-, 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-
tions 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 il T15 à la figure 40.
Les sorties du décodeur 507 qui ne sont pas connectées à la porte OU 512, corresponc,:nt aux erreurs dans les six bits de contrôle. Les erreurs da:s 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'inforr.tion) et ces sorties du décodeur
ne sont donc pas utilisées.
Les autres sorties, c'Eet-à-dire celles qui sont connectées
à la porte OU 512, représentEnt des erreurs doubles ou multi-
ples et elles sont indiquées 5e cette façon par les légendes à la figure 40. Tous ces cas E:at recueillis par la porte OU 512 et ils constituent un élémert du signal d'erreurs multiples
transmis dans la ligne 407 la sortie de la logique 511 d'i-
dentification d'erreurs.
Comme le montre égalematt la figure 40, le décodeur de syndrome 45 comprend un arb de parité 509 qui forme la somme
modulo deux des bits de syn..ome SO à S5.
La sortie paire ou imr.?re résultante de l'arbre de parité 509:ov";'sond., x c.lases d'erreurs mentiornees au bas de]a
table 1.
Ainsi, la sortie PAIRE 514 correspond à des syndromes contenant zéro bit à "un", deux bits à "un", quatre bits à "un" ou six bits à "um". 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 à "un" ou six bits à "un" sont ainsi les seuls autres syndromes PAIRS qui se combinent au signal MULTIPLE 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 ULIQUE 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 muli-
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 UblIQUE 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 co.
contenant 'm, trois ou cinq bits à "un". L'inverseur 517 et la porte ET '19 excluent les syndromes de trois bits d'erreurs i miultiples,:t tous les syndromes de cinq bits. Ainsi, la sortie 495 d'ERPIRR UNIQUE ne comprend que des erreurs de bits de
248S228
contrôle unique et des erreurs de bits d'information uni.-Jes.
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 I'ERREUR MULTIPLE et l'ERREUR
UNIQUE, mentionnées au bas de la figure 40, représentent l'opé-
ration décrite ci-dessus.
Il ya 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 <'5 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 oereur 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'informationrepré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 dbnnées du système, le code de l'utilisateur et -1'.' les données de l'utilisateur, et il fournit une traduction des adresses logiques en adresses physiqules, 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.
i 4'7
248S228
Le système de mémoire de la présente inventiorn fournit '-nis instructions de l'unité centrale, c'est-à-dire l'ins-'ruction
d'insertion des données dans une entrée de relevé SMAP, l'ins-
truction de lecture d'une entrée de relevé RBIAP et l'instruction de décalage d'une entrée de relevé -ML:', 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-sorties 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éessorties est effectuée dans ou hors de la mémoireo 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'ccè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 stockageo 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èr': de traitement par multiproces-
seurs qui fait l'objet de la îrésente invention, chaque module
de processeur co::pend son propre système de Inrmoire celitrale.
Puisque chaque module de processeur possède son propre
système de mémoire, on évite les problèmes de partage de mé-
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. ILes 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 iémoire. Ce registre séparé et particu-
lier permet une prise en charge simultanée de l'instruction sui-
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
unme prise en charge de l'instruction.
Le relevé est constitué pour fournir un accès significa-
4:1-9
tivement plus rapide que l'accès a la re( moire physique cerÄC.'a1e.
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. 1. Système à mémoire conçu po r un module de processeur d'un systinme 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ème1à mémoire, ce systè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.
2. - Système à mémoire suivant la revendication 1, 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.
3. Système à mémoire suivant la-revendication 2, 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 cefait, 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.
4 - Système à mémoire suivant la revendication 2 ou 3, 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.
151 2485228
5.- Système à mémoire suivant la revendication 4, 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é. E- Système à mémoire suivant la revendication -S 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é.
- 7 Système à mémoire suivant l'une des revendications 4 à 6,
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.
S. - Système à mémoire suivant l'une des revendications 4 à 7
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é.
9 - Système à mémoire suivant l'une des revendications 2 a 8
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.
lo, Système à mémoire suivant l'une des revendications, là 9,
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é.
11.- Système à mémoire suivant l'une des revendications 1 à 10,
152 2485228
-caractérisé un ce qu(e]la mrmoire physique e;t divi séc en pages numIrnoté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 uie 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.
12. - 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 variable 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 venant 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 organedecommadi; 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.
13. - Mémoire-tampon suivant la revendication 1Z,, 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ées-sorties de sorte que ces derniers appareils ne sont pas surchargés. 14. Mémoiretampon suivant la revendication 13, 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.
153 2485228
- Mémoire-tampon.suivant la revendication -.14, caractérisée en te que sa profondeur est 'la somme de la profondeur de seuil et de
la profondeur d'attente.
16. Mémoire-tampon suivant la revendication 14 ou 15, 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.
FR8116835A 1976-09-07 1981-09-04 Systeme a memoire pour module de processeurs Expired FR2485228B1 (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
FR2485228A1 true FR2485228A1 (fr) 1981-12-24
FR2485228B1 FR2485228B1 (fr) 1985-11-29

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 Before (1)

Application Number Title Priority Date Filing Date
FR7727011A Expired FR2473197B1 (fr) 1976-09-07 1977-09-06 Systeme de traitement par multiprocesseurs

Family Applications After (2)

Application Number Title Priority Date Filing Date
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) GB1588805A (fr)
HK (5) HK62381A (fr)
MY (5) MY8200206A (fr)

Families Citing this family (856)

* 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
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
WO1981001066A1 (fr) * 1979-10-11 1981-04-16 Nanodata Computer Corp Systeme de traitement de donnees
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
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
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant 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
US4430702A (en) 1980-05-12 1984-02-07 Control Data Corporation Network access device
NL8002787A (nl) * 1980-05-14 1981-12-16 Philips Nv Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme.
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
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
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
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
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
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
ZA821999B (en) * 1981-03-31 1983-05-25 British Telecomm Computor or processor control systems
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
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
US4424565A (en) 1981-06-22 1984-01-03 Bell Telephone Laboratories, Incorporated Channel interface circuit with high speed data message header field translation and direct memory access
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
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US4866604A (en) * 1981-10-01 1989-09-12 Stratus Computer, Inc. Digital data processing apparatus with pipelined memory cycles
ATE25779T1 (de) * 1981-10-01 1987-03-15 Stratus Computer Inc Digitale datenverarbeitungsanlage mit zuverlaessigkeits-bus-protokoll.
US4811278A (en) * 1981-10-05 1989-03-07 Bean Robert G Secondary storage facility employing serial communications between drive and controller
US4837675A (en) * 1981-10-05 1989-06-06 Digital Equipment Corporation Secondary storage facility empolying 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
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
WO1983001321A1 (fr) * 1981-10-05 1983-04-14 Digital Equipment Corp Unite de stockage secondaire utilisant des communications serielles entre une unite a disque et un controleur
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 機能拡張性を有するプログラマブルシ−ケンスコントロ−ラ
DE3275139D1 (en) * 1981-10-22 1987-02-19 Nec Corp Data processing machine suitable for high-speed processing
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
US4672609A (en) * 1982-01-19 1987-06-09 Tandem Computers Incorporated Memory system with operation error detection
IL67664A (en) * 1982-01-19 1987-01-30 Tandem Computers Inc Computer memory system with data,address and 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 多重系情報処理装置
EP0112912A4 (fr) * 1982-06-30 1987-04-28 Elxsi Bus de canaux d'entree/sortie.
US4564899A (en) * 1982-09-28 1986-01-14 Elxsi I/O Channel bus
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
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
CA1210157A (fr) * 1982-12-09 1986-08-19 Jack J. Stiffler Systeme de sauvegarde a memoire
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
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
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.
US5581732A (en) * 1984-03-10 1996-12-03 Encore Computer, U.S., Inc. Multiprocessor system with reflective memory data transfer device
GB2156554B (en) * 1984-03-10 1987-07-29 Rediffusion Simulation Ltd Processing system with shared data
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
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
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
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
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
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
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
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
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
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
EP0306244B1 (fr) * 1987-09-04 1995-06-21 Digital Equipment Corporation Système de calculateur à tolérance de fautes et à localisation de fautes
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
CA1320276C (fr) * 1987-09-04 1993-07-13 William F. Bruckert Processeur double a correction des erreurs d'entree-sortie
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
EP0323013B1 (fr) * 1987-11-30 1995-08-30 International Business Machines Corporation Procédé pour actionner un système à multiprocesseur employant une mémoire virtuelle commune
JP2807010B2 (ja) * 1988-01-27 1998-09-30 ストレイジ テクノロジー コーポレイション ホストコンピュータとテープ駆動部間の相互接続用のテープ駆動制御ユニットおよびその操作方法
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
DE68924040T2 (de) * 1988-10-24 1996-04-18 Ibm Verfahren zum Austauschen von Daten zwischen Programmen in einem Datenverarbeitungssystem.
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 索引木構造の更新方式
US5249298A (en) * 1988-12-09 1993-09-28 Dallas Semiconductor Corporation Battery-initiated touch-sensitive power-up
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
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
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4984240A (en) * 1988-12-22 1991-01-08 Codex Corporation Distributed switching architecture for communication module redundancy
GB2226666B (en) * 1988-12-30 1993-07-07 Intel Corp Request/response protocol
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
US5303351A (en) * 1988-12-30 1994-04-12 International Business Machines Corporation Error recovery in a multiple 170 channel computer system
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
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
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
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
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
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
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
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
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
US5202980A (en) * 1989-06-30 1993-04-13 Nec Corporation Information processing system capable of readily taking over processing of a faulty processor
US5036455A (en) * 1989-07-25 1991-07-30 Tandem Computers Incorporated Multiple power supply sensor for protecting shared processor buses
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
US5048022A (en) * 1989-08-01 1991-09-10 Digital Equipment Corporation Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
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
EP0415545B1 (fr) * 1989-08-01 1996-06-19 Digital Equipment Corporation Procédé de traitement d'erreurs de logiciel
US5065312A (en) * 1989-08-01 1991-11-12 Digital Equipment Corporation Method of converting unique data to system data
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
US5068851A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
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
AU6642290A (en) * 1989-10-17 1991-05-31 Maurice E. Mitchell A microcomputer with disconnected, open, independent, bimemory architecture
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
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
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
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
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
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
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
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
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 후지쓰 가부시끼가이샤 멀티 프로세서 시스템용 제어시스템
DE69132300T2 (de) * 1990-03-12 2000-11-30 Hewlett-Packard Co., Palo Alto Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen
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
EP0457308B1 (fr) * 1990-05-18 1997-01-22 Fujitsu Limited Système de traitement de données ayant un mécanisme de sectionnement de voie d'entrée/de sortie et procédé de commande de système de traitement de données
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
CA2059143C (fr) * 1991-01-25 2000-05-16 Takeshi Miyao Unite de traitement pour ordinateur et ordinateur comportant cette unite
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., Cupertino, Calif. Multiprozessorsystem mit gespiegeltem Speicher
GB2258069B (en) * 1991-07-25 1995-03-29 Intel Corp High speed computer graphics bus
WO1993003439A1 (fr) * 1991-07-26 1993-02-18 Tandem Computers Incorporated Appareil et procede de commutation de blocs de donnees
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
DE69233194T2 (de) * 1991-10-04 2004-06-09 Bay Networks, Inc., Bedford Verfahren und vorrichtung für simultane paketbus.
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
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
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
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
DE69230126T2 (de) * 1991-11-27 2000-04-06 Canon K.K. Wiedergabegerät
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
US5835740A (en) * 1992-06-30 1998-11-10 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
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
JPH0760395B2 (ja) * 1992-11-06 1995-06-28 日本電気株式会社 フォールトトレラントコンピュータシステム
US5675579A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Method for verifying responses to messages using a barrier message
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
CN1092538A (zh) * 1993-03-16 1994-09-21 Ht研究公司 一种用于多计算机系统的机壳
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 富士通株式会社 データ処理システム
EP0986008B1 (fr) * 1993-12-01 2008-04-16 Marathon Technologies Corporation Système d'ordinateur comprenant des contrôleurs et des éléments de calcul
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
SG48805A1 (en) * 1994-02-04 1998-05-18 Intel Corp Method and apparatus for control of power consumption in a computer system
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 日本電気株式会社 半導体製造ライン制御装置
US5623596A (en) * 1994-05-09 1997-04-22 Apple Computer, Inc. Power fault protection in a computer system having multiple power supplies
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
DE69506404T2 (de) * 1994-06-10 1999-05-27 Texas Micro Inc., Houston, Tex. 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
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
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
US5576945A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Transaction monitor process with pre-arranged modules for a multiprocessor system
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
EP0730237A1 (fr) * 1995-02-28 1996-09-04 Nec Corporation Système à multiprocesseur avec des régistres de communication adressables virtuellement et méthode de commande
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
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
US5687308A (en) * 1995-06-07 1997-11-11 Tandem Computers Incorporated Method to improve tolerance of non-homogeneous power outages
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
US5734843A (en) * 1995-06-07 1998-03-31 Advanced Micro Devices Inc. Reverse data channel as a bandwidth modulator
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
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
US5687372A (en) * 1995-06-07 1997-11-11 Tandem Computers, Inc. Customer information control system and method in a loosely coupled parallel processing environment
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
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
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
JP3628777B2 (ja) 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing 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
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
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
US5790807A (en) 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
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
US5931903A (en) 1995-12-20 1999-08-03 Tandem Computers Incorporated Computer system data I/O by reference among multiple CPUS
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
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
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode 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
US5991518A (en) * 1997-01-28 1999-11-23 Tandem Computers Incorporated Method and apparatus for split-brain avoidance 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
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
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
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
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
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
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
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
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
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
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
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
US6266721B1 (en) * 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6272648B1 (en) 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
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
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
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
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
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
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
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
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
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
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System 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
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
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
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
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
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
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
US7080385B1 (en) 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
JP3860966B2 (ja) * 1997-08-18 2006-12-20 ティブコ ソフトウエア,インコーポレイテッド マルチポイントパブリッシュ/サブスクライブ通信における証明付メッセージの配送およびキュー操作
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
US5974574A (en) * 1997-09-30 1999-10-26 Tandem Computers Incorporated Method of comparing replicated databases using checksum information
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
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
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
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for 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
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
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
US6148352A (en) * 1997-12-24 2000-11-14 International Business Machines Corporation Scalable modular data storage system
US6272573B1 (en) 1997-12-24 2001-08-07 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
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
US6289467B1 (en) * 1998-05-08 2001-09-11 Sun Microsystems, Inc. Installation of processor and power supply modules in a multiprocessor system
US6178522B1 (en) 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
US6202164B1 (en) * 1998-07-02 2001-03-13 Advanced Micro Devices, Inc. Data rate synchronization by frame rate adjustment
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
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
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
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
US6304948B1 (en) * 1998-10-06 2001-10-16 Ricoh Corporation Method and apparatus for erasing data after expiration
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
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
US6643777B1 (en) 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
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
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
ATE390788T1 (de) * 1999-10-14 2008-04-15 Bluearc Uk Ltd Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
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 株式会社日立製作所 記憶制御装置
US7085237B1 (en) 2000-03-31 2006-08-01 Alcatel Method and apparatus for routing alarms in a signaling server
US6977926B1 (en) * 2000-03-31 2005-12-20 Alcatel Method and system for providing a feedback signal in a telecommunications network
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
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
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
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
US8185615B1 (en) 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface 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
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
US20050038705A1 (en) * 2001-11-01 2005-02-17 Tokuhiro Yamada Pos system, pos server, shop terminal, sales managing method, and recording medium
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
US6879523B1 (en) * 2001-12-27 2005-04-12 Cypress Semiconductor Corporation Random access memory (RAM) method of operation and device for search engine systems
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
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
US8271530B2 (en) * 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
US7672945B1 (en) 2002-04-08 2010-03-02 Oracle International Corporation Mechanism for creating member private data in a global namespace
US7136867B1 (en) 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
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
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
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
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
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
US7080188B2 (en) * 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for 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
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
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
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
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
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
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
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
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7730222B2 (en) * 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7209809B2 (en) * 2003-10-15 2007-04-24 The Boeing Company Method and apparatus for obtaining high integrity and availability in multi-channel systems
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
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
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
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
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
WO2005111823A1 (fr) * 2004-05-18 2005-11-24 Koninklijke Philips Electronics N.V. Circuit integre et procede de mise en memoire tampon optimisant la longueur de rafale dans des reseaux sur puces
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
US7360111B2 (en) * 2004-06-29 2008-04-15 Microsoft Corporation Lossless recovery for computer systems with remotely dependent data recovery
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
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 セイレイ工業株式会社 アウトリガーの油圧シリンダ
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
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
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
US7734471B2 (en) * 2005-03-08 2010-06-08 Microsoft Corporation Online learning for dialog systems
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US7095217B1 (en) * 2005-03-31 2006-08-22 O2Micro International Limited Method circuitry and electronic device for controlling a variable output dc power source
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
US20060227145A1 (en) * 2005-04-06 2006-10-12 Raymond Chow Graphics controller having a single display interface for two or more displays
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
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
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
US8516300B2 (en) * 2005-08-29 2013-08-20 The Invention Science Fund I, Llc Multi-votage synchronous systems
US7779213B2 (en) * 2005-08-29 2010-08-17 The Invention Science Fund I, Inc Optimization of instruction group execution through hardware resource management policies
US20070050605A1 (en) * 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US7653834B2 (en) * 2005-08-29 2010-01-26 Searete, Llc Power sparing synchronous apparatus
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
US7647487B2 (en) * 2005-08-29 2010-01-12 Searete, Llc Instruction-associated processor resource optimization
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
US7493516B2 (en) * 2005-08-29 2009-02-17 Searete Llc Hardware-error tolerant computing
US8423824B2 (en) 2005-08-29 2013-04-16 The Invention Science Fund I, Llc Power sparing synchronous apparatus
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
US7627739B2 (en) * 2005-08-29 2009-12-01 Searete, Llc Optimization of a hardware resource shared by a multiprocessor
US8209524B2 (en) 2005-08-29 2012-06-26 The Invention Science Fund I, Llc Cross-architecture optimization
US7739524B2 (en) * 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US7877584B2 (en) * 2005-08-29 2011-01-25 The Invention Science Fund I, Llc Predictive processor resource management
US20070050606A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Runtime-based optimization profile
US7774558B2 (en) 2005-08-29 2010-08-10 The Invention Science Fund I, Inc Multiprocessor resource optimization
CN101313279A (zh) 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
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
US8327115B2 (en) 2006-04-12 2012-12-04 Soft Machines, Inc. Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode
US7480827B2 (en) 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7434096B2 (en) 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. 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
WO2008061154A2 (fr) 2006-11-14 2008-05-22 Soft Machines, Inc. Appareil et procédé de traitement de formats d'instructions complexes dans une architecture multifil supportant divers modes de commutation de contexte et schémas de virtualisation
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 株式会社日立製作所 制御装置
KR20150038758A (ko) 2009-02-13 2015-04-08 아브 이니티오 테크놀로지 엘엘시 태스크 실행 관리
US20120233397A1 (en) * 2009-04-01 2012-09-13 Kaminario Technologies Ltd. System and method for storage unit building while catering to i/o operations
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
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
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
CN103562866B (zh) 2011-03-25 2018-03-30 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
WO2012135031A2 (fr) 2011-03-25 2012-10-04 Soft Machines, Inc. Exécution de blocs de code de séquences d'instruction par l'utilisation de coeurs virtuels instanciés par des machines partitionnables
KR101966712B1 (ko) 2011-03-25 2019-04-09 인텔 코포레이션 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2710481B1 (fr) 2011-05-20 2021-02-17 Intel Corporation Attribution décentralisée de ressources et structures d'interconnexion pour la prise en charge de l'exécution de séquences d'instructions par une pluralité de moteurs
WO2012162189A1 (fr) 2011-05-20 2012-11-29 Soft Machines, Inc. Structure d'interconnexion pour la prise en charge de l'exécution de séquences d'instructions par une pluralité de moteurs
US20120317356A1 (en) * 2011-06-09 2012-12-13 Advanced Micro Devices, Inc. Systems and methods for sharing memory between a plurality of processors
US9311969B2 (en) 2011-07-22 2016-04-12 Sandisk Technologies Inc. Systems and methods of storing data
IN2014CN03678A (fr) 2011-11-22 2015-09-25 Soft Machines Inc
WO2013077876A1 (fr) 2011-11-22 2013-05-30 Soft Machines, Inc. 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
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
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
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
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
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
JP6139689B2 (ja) 2012-10-22 2017-05-31 インテル・コーポレーション 装置
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph 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
WO2014151018A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé pour exécuter des instructions multi-fils groupées en blocs
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
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
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
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source 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
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
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
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
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
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
CA3114544C (fr) 2013-12-05 2025-09-02 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
US10008052B2 (en) * 2016-05-25 2018-06-26 Caterpillar Inc. Model generation and monitoring system for a machine
US9984182B2 (en) * 2016-05-25 2018-05-29 Caterpillar Inc. Model generation 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 富士通株式会社 情報処理装置、情報処理方法及びプログラム
JP6968286B2 (ja) 2018-11-12 2021-11-17 Jfeスチール株式会社 高圧水素容器
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
WO2021087417A1 (fr) * 2019-11-01 2021-05-06 Google Llc Gestion d'alerte
US12322477B1 (en) * 2019-12-04 2025-06-03 John Hayward Methods of efficiently transforming and comparing recombinable DNA information
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 上海励驰半导体有限公司 基于分级的数据完整性的端到端的保护方法及系统
US20250375618A1 (en) * 2023-01-18 2025-12-11 Bardy Technologies, Inc. Relay-based de-energizable defibrillation assembly
US12576281B2 (en) * 2023-01-18 2026-03-17 Bardy Technologies, Inc. Defibrillator designed for high-reliability operation
US12487961B2 (en) 2023-04-12 2025-12-02 Hamilton Sundstrand Corporation Scalable and modular bus controller including page memory PLD architecture
US12487894B2 (en) 2023-12-29 2025-12-02 Chicago Mercantile Exchange Inc. Fault tolerant architecture
US12417155B2 (en) 2023-12-29 2025-09-16 Chicago Mercantile Exchange Inc. Failure recovery in a fault tolerant architecture

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USB452138I5 (fr) * 1973-03-19 1976-03-23

Family Cites Families (89)

* 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
JPS513463B1 (fr) * 1970-09-25 1976-02-03
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
US3810114A (en) * 1971-12-29 1974-05-07 Tokyo Shibaura Electric Co Data processing system
JPS5147502B2 (fr) * 1971-12-29 1976-12-15
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
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
GB1481393A (en) * 1974-02-28 1977-07-27 Burroughs Corp Information 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
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
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
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USB452138I5 (fr) * 1973-03-19 1976-03-23

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
EXBK/67 *
EXBK/71 *
EXBK/73 *
EXBK/75 *

Also Published As

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

Similar Documents

Publication Publication Date Title
FR2485228A1 (fr) Systeme a memoire pour module de processeurs
Goralski SONET/SDH
Birrell et al. Implementing remote procedure calls
FR2480460A1 (fr) Dispositif pour transferer des informations entre des unites principales d&#39;un systeme de traitement de donnees et un sous-systeme central
CN102197389A (zh) 分布式数据系统中的配置管理
US11620087B2 (en) Implicit leader election in a distributed storage network
US20220201341A1 (en) Method, apparatus and device for game live-streaming
CN107894929A (zh) 对重启的应用的处理进行重放
US20080250421A1 (en) Data Processing System And Method
CN108647256A (zh) 文件同步方法、装置、计算机装置及存储介质
Galleni et al. Consensus and membership in synchronous and asynchronous distributed systems
US11559747B1 (en) Service for securely playing video games with publicized players
Baum On optimal game tree propagation for imperfect players
Ramesh Programming with shared actions: A methodology for developing distributed programs
BE1003773A7 (fr) Un appareil de traitement insensible aux defaillances.
Werner ATM concepts for satellite personal communication networks
Scoblete Victory at Video Poker
Shasha Rational Gambling
Hooper et al. Front Page Sports Football PRO'95: The Official Playbook
Balay et al. Modeling of SONET links for per-session study of an ATM multiplexer
Shankar Modular design principles for protocols with an application to the transport layer
Foudriat et al. RAIN (redundant array of inexpensive networks): Expanding existing networks to support multitraffic performance
CN117427329A (zh) 游戏数据处理方法及装置、存储介质和电子设备
Washington et al. A survey of optical network survivability
Bhargava et al. Performance comparison of error control schemes in high-speed computer communication networks

Legal Events

Date Code Title Description
ST Notification of lapse