[go: up one dir, main page]

FR2536884A1 - Reseau de transfert de donnees entre plusieurs processeurs et une memoire - Google Patents

Reseau de transfert de donnees entre plusieurs processeurs et une memoire Download PDF

Info

Publication number
FR2536884A1
FR2536884A1 FR8319147A FR8319147A FR2536884A1 FR 2536884 A1 FR2536884 A1 FR 2536884A1 FR 8319147 A FR8319147 A FR 8319147A FR 8319147 A FR8319147 A FR 8319147A FR 2536884 A1 FR2536884 A1 FR 2536884A1
Authority
FR
France
Prior art keywords
memory
data
transfer
words
processors
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
FR8319147A
Other languages
English (en)
Other versions
FR2536884B1 (fr
Inventor
Timothy Joseph Forquer
Hungwen Li
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.)
RCA Corp
Original Assignee
RCA Corp
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 RCA Corp filed Critical RCA Corp
Publication of FR2536884A1 publication Critical patent/FR2536884A1/fr
Application granted granted Critical
Publication of FR2536884B1 publication Critical patent/FR2536884B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

UN RESEAU 40 APPARTENANT A UN SYSTEME DE TRANSFERT DE DONNEES EST DESTINE A TRANSFERER DES MOTS DE DONNEE DANS L'UN OU L'AUTRE SENS ENTRE UNE MEMOIRE PRINCIPALE 38 ET CHACUN OU L'UN QUELCONQUE DE N 4 PROCESSEURS 10, 12, 14, 16. LE RESEAU COMPORTE N REGISTRES 1, 2, 3, 4 AYANT CHACUN UNE CAPACITE DE N MOTS, OU D'UN MULTIPLE CHOISI DE N MOTS. CHAQUE REGISTRE EST COUPLE A SON PROCESSEUR RESPECTIF AFIN DE TRANSMETTRE EN SERIE ENTRE EUX DES MOTS DE DONNEE AVEC UNE VITESSE DONNEE ET EST COUPLE A LA MEMOIRE AFIN DE TRANSMETTRE ENTRE EUX N MOTS (OU UN MULTIPLE DE N) EN PARALLELE ET EN SUCCESSION A UNE VITESSE X, QUI EST CHOISIE DE FACON A PERMETTRE LE TRANSFERT EN SERIE ININTERROMPU A LA VITESSE X ENTRE L'UN QUELCONQUE DES TAMPONS ET SON PROCESSEUR RESPECTIF.

Description

La présente invention concerne les systèmes de trans-
mission de données mettant en jeu plusieurs processeurs et une
mémoire accessible en commun et, en particulier, de semblables sys-
tèmes dans lesquels une communication simultanée est voulue entre au moins deux des processeurs et la mémoire. De nombreux systèmes de transmission de données impliquent à l'heure actuelle l'utilisation de plus d'un processeur de données avec une mémoire commune Alors qu'il serait souhaitable de permettre l'accès simultané à la mémoire de deux processeurs ou plus,-un tel accès simultané n'est pas possible, à moins que la mémoire n'ait de multiples points d'accès Dans le cas d'une mémoire possédant un unique point d'accès, les processeurs qui demandent l'accès à la mémoire en même temps sont dits en conflit, Ainsi, les processeurs doivent attendre leur tour pour accéder à la mémoire via son point d'accès unique Si un processeur antérieurement pris en charge doit transférer, dans un sens ou dans l'autre, une importante quantité de données, l'attente imposée au processeur
suivant sera exagérément longue.
L'invention vise à permettre un accès sans conflit,
à tout moment, de chaque processeur à la mémoire.
Selon les enseignements de la technique antérieure, un premier pas dans la direction d'un système sans conflit (décrit en détail ci-après) a été fourni par un système comportant (a) plusieurs bus de données contenus à l'intérieur d'un réseau de transfert de données; (b) un même nombre de processeurs, couplés chacun à un bus de données respectif; *et (c) plusieurs mémoires, pouvant chacune être connectées, par des commutations appropriées,
à tous les bus de données Dans ce système selon la technique anté-
rieure, chaque processeur est typiquement connecté pendant un intervalle de temps donné à une des mémoires Pendant cet intervalle, les autre processeurs ne peuvent avoir accès à cette mémoire De plus, lorsque le nombre des processeurs, des mémoires et des bus de données augmente lenombre et le coût des unités de commutation se trouvant à l'intérieur du réseau augmentent en conséquence Le but visé, qui est de permettre un accès sans conflit à la mémoire, n'est donc pas encore satisfait par un système tel que ci-dessus mentionné.
2 2536884
Un autre pas vers un système sans conflit utilise un agencement de mémorisation partagé au niveau du bit Dans un semblable agencement de mémorisation, il y a autant de mémoires qu'il existe de bits dans un mot Ainsi, dans un système utilisant des mots de 32 bits, il existe 32 mémoires qui sont chacune couplées à tous les processeurs Un semblable système demande un bus de commande distinct pour assurer le transfert des signaux d'adresse
de commande entre les divers processeurs et les diverses mémoires.
Tandis que le système à mémoire partagée au niveau du bit est moins complexe que le système de la technique antérieure précédemment décrit, ce dernier système est le moins satisfaisant des deux en ce sens qu'il ne peut être connecté qu'un seul processeur à la fois
à la mémoire.
L'invention est mise en oeuvre dans un système per-
mettant de transférer en même temps des mots de donnée entre une mémoire d'emmagasinage de données et des processeurs de données en nombre N via un réseau de transfert, le système comportant également
un moyen de commande de transfert.
Selon l'invention, le moyen de commande de transfert comporte N tampons; chaque tampon est couplé entre l Vun respectif
des processeurs et la mémoire afin d'assurer l'emmagasinage tempo-
raire d'un nombre M de mots, M étant proportionnel à N; chaque
tampon répond à des signaux venant du moyen de commande (a) en trans-
férant en série les mots temporairement emmagasinés entre lui-même et l'un respectif des processeurs à un taux de transfert X, et
(b) en transférant en parallèle M des mots en même temps entre lui-
même-et la mémoire, le transfert effectué entre les N tampons et la mémoire se produisant en succession avec un taux qui autorise le transfert des mots entre chaque tampon et son processeur à se
poursuivre sans interruption.
La description suivante, conçue à titre d'illustration
de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur lesdessins annexés, parmi lesquels: la figure 1 est un système de multiprocesseurs à mémoire multiple présenté sous forme de schéma de principe, selon la technique antérieure;
3 2536884
la figure 2 est un système de multiprocesseurs à mémoire multiple présenté sous forme de schéma de principe, selon l'invention; la figure 2 ' représente un diagramme temporel destiné à faciliter la compréhension de la figure 2; la figure 3 est une partie du système de la figure 2 montrant, d'une manière plus détaillée que la figure 2, le contenu de mémoire d'une mémoire de processeur donnée à titre d'exemple et d'une mémoire globale donnée à titre d'exemple; et la figure 3 ' est un tableau destiné à faciliter la
compréhension des opérations de transfert de données de la figure 3.
On se rapporte d'abord au système de la technique antérieure présenté sur la figure 1 Ce système utilise par exemple quatre processeurs 10, 12, 14 et 16, quatre mémoires à 32 bits 20, 22, 24 et 26, et un réseau 28 de transfert de données Le réseau 28 de transfert de données comprend quatre ensembles de bus 11, 13, 15 et 17 connectés chacun respectivement à un processeur associé 10,
12, 14 et 16 Chaque ensemble de bus est connecté, de manière com-
mutable, à chaque mémoire Les commutateurs sont représentés sché-
matiquement par des cercles vides tels que 30, et il existe seize commutateurs tels que le commutateur 30 sur la figure 1 Pour un système, choisi à titre d'exemple, utilisant 32 bits par mot de donnée, chaque ensemble de bus comprend en réalité 32 fils et le commutateur 30, de m 8 me que les autres commutateurs analogues, sont en réalité des commutateurs à une position et 32 p 8 les Les-moyens de commande de commutation ne sont pas représentés, mais ils sont
des dispositifs classiques, placés sous commande des divers proces-
seurs Lés petits traits obliques associés à des nomres qui sont tracés en divers points de la figure 1 et de la figure 2 à décrire ci-après indiquent le nombre de fils de signal représenté par chaque ligne coupée par le petit trait oblique Sur la figure 13 les divers traits obliques représentent tous 32 fils de donnée Les fils de terre, les
fils de commande, etc viennent en supplément des 32 fils.
En fonctionnement, chaque processeur est couplé à une mémoire de son choix par le positionnement de commutateurs appropriés du réseau 28 de transfert de données Le-transfert s'effectue dans l'un ou l'autre sens entre un processeur et une mémoire à laquelle
il est connecté par des commutateurs tels que le commutateur 30.
Le transfert est parallèle pour les bits et en série pour les mots Ainsi, un premier mot de 32 bits est transféré d'une mémoire à un processeur, ou inversement, suivi par un deuxième mot de 32 bits, etc Aussi longtemps que deux processeurs ne veulent pas communiquer
avec la même mémoire en même temps, chaque processeur peut fonction-
ner à sa vitesse maximale Lorsque deux processeurs veulent commu-
niquer avec la même mémoire, un processeur doit attendre que le transfert de données entre la mémoire voulue et l'autre processeur soit terminé Dans le cas d'importants blocs de données, l'attente
peut se prolonger et être, dans certains cas, exagérément longue.
Le système de la figure 2, selon le mode de réalisation préféré de l'invention, n'est pas totalement exempt de conflit, mais il implique sensiblement moins de conflits que le circuit de la figure 1, comme cela sera décrit ci-après Sur la figure 2, quatre processeurs 10, 12, 14 et 16, identiques à ceux de la figure 1 de la technique antérieure, sont couplés à des mémo ires globales 38-1, 38-2, 38-32 (trois mémoires seulement ont été représentées) via un réseau 40 de transfert de données placé à l Viatérieur d'un bloc 41
en trait interrompu Comme pour la figure 1, le nombre des proces-
seurs ( 4), le nombre des bits par mot ( 32) le nombre des mémoires ( 1) subdivisées en 32 mémoires destinées à un seul bit de plusieurs motsb etc n'est donné qu'à titre d'exemple, En particulier, un système à huit processeurs serait plus représentatif de systèmes réels, mais
le nombre de quatre processeurs est choisi pour illustrer les prin-
cipes de l'invention Chaque processeur tel que le processeur 10 peut comprendre un microprocesseur normal tel que celui proposé par Fairchild sous la référence " 1750 ", par Digital Equipment Corp. sous la référence "PDP-11/23 " ou par Motorola sous la référence " 68000 " Selon le cas, l'un ou plusieurs des processeurs peuvent être des dispositifs d'emploi spéciaux qui utilisent des données venant de la mémoire globale et ou bien, produisent des données
destinées à la mémoire globale.
A titre d'exemples, chaque processeur utilise des mots -
à 32 bits; ainsi, chaque mot comprend 32-bits Comme indiqué sur la figure 2, chaque processeur comprend également une mémoire qui
2536884
emmagasine typiquement environ 64 000 ( 64 K) mots de 32 bits, mais qui pourrait en emmagasiner moins ou beaucoup plus La mémoire globale 38 comprend 32 mémoires d'état solide pour un bit par mot multiple, telles que proposées par la société Intel Chaque partie de la mémoire globale 38, par exemple les mémoires 38-1, 38-2, etc, emmagasine seulement un bit de chacun des mots multiples Dans un système à 32 bits, il-faut 32 de ces mémoires et chacune peut, à titre d'exemple, emmagasiner un bit de chacun d'au moins N x 64 K
mots, o N est égal au nombre de processeurs La donnée est trans-
férée à la-mémoire 38 et en sens inverse, sur des bus de données,
tels que 42-1, 42-2, 42-32, -tandis que les instructions -
(lecture-écriture) et l'information concernant les adresse vont à la mémoire 38 via le bus 44 et des bus dérivés tels que 44-1,
44-2, 44-32.
Le réseau 40 de transfert de données comporte un registre de donnée,ou tampon de donnée, à N bits qui est associé à chaque bit de chaque processeur, o N est typiquement égal au
nombre de processeurs du système ou bien à un multiple de ce nombre.
Ainsi, la mémoire du processeur 10, également appelé processeur 1, est connectée à 32 registres dé 4 bits, trois d'entre eux, le
registre 1-1, le registre 1-2 et le registre 1-32 étant illustrés.
Le bus de données de chaque partie de mémoire globale est connecté à quatre registres de donnée Par exemple, la partie de mémoire globale 38-2 est connectée via le bus de données 42-2 au registre 1-2, au registre 2-2, au registre 3-2 et au registre 4-2 On notera que chaque registre est identifié sous la forme registre X-Y, o X est le numéro du processeur auquel le registre est connecté, et Y est le numéro de la position de bit de la partie de mémoire globale à laquelle le registre est connecté Par exemple, le registre 3-2 est connecté au processeur 3, également appelé processeur 14, et à la partie de mémoire globale 38-2 Les registres sont disposés de façon qu'un transfert de données en série pour les bits se produise entre chaque registre et son processeur associé et qu'un transfert en parallèle pour les bits se produise entre le registre
et la mémoire globale.
Puisque chacun des bus de données 42-X (X 1, 2, 3 ou 4) est connecté à plusieurs registres, chaque registre comporte
6 2536884
un moyen à porte représenté sous forme d'une boite horizontale allongée, telle que 45, qui est connectée a son bus de données Le but du moyen à porte est de permettre un transfert de données entre la mémoire et les registres associés avec un seul processeur à la fois, comme cela sera décrit plus complètement di-après.
Le réseau 40 de transfert de données comporte égale-
ment quatre registres d'adresse 46- 11 46-2, 46-3 et 46-4, à rai-
son d'un registre d'adresse pour chaque processeur Ainsi, le registre d'adresse 46-1 est associé au processeur 1, le registre d'adresse 46-2 au processeur 2, etc Chaque registre d'adresse contient typiquement 30 bits d'information d'adresse de mémoire et de commande Le bus 48 d'adresse et d'instruction connecte entre eux tous les processeurs 10, 12, 14 et 16 et tous les registres d'adresse 46-1 à 46-4 Chaque registre d'adresse comporte un moyen
à porte représenté sous forme d'une botte horizontale allongée ana-
logue à celles incluses dans les registres de donnée et servant au même but Via le bus 48, les processeurs 10, 12, 14 et 16 émettent
à leur tour, à destination du registre d'adresse associé, l'informa-
tion concernant les adresses de début et de fin de la mémoire 38 pour la donnée à transférer entre le processeur et la mémoire 38, ainsi que le sens du transfert, à savoir vers la mémoire 38 ou vers
un processeur.
Chaque registre d'adresse est couplé aux registres de donnée associés au processeur qu'il dessert, Ainsi, le registre d'adresse 46-1 est couplé aux registres de donnée 1-1, 1-2, 1-32
associés au processeur 1 Les autres registre d'adresse sont identi-
quement couplés à leurs registres associés, mais on ne les a pas repré-
sentés pour simplifier le dessin Le but visé par la connexion registre d'adresse-registre de donnée est de commander le sens de transfert d'une donnée pour les registres de donnée, à savoir vers le processeur ou en sens inverse Chaque registre d'adresse comporte un compteur, ou une structure équivalente, permettant d'incrémenter les adresses de mémorisation emmagasinées dans le registre à chaque fois qu'il est fait accès à celui-ci, comme cela est décrit ci-dessous, jusqu'à ce
que soit atteinte l'adresse de fin qu'il contient.
i Un moyen de commande 50 est couplé à chacun des processeurs 10 à 16, à la mémoire 38, aux registres d'adresse 46-1 à 46-4 et aux registres 1-1, 1-2, 4-32 de la figure 2 afin de
leur fournir des instructions et une information de synchronisation.
Les connexions entre le moyen 50 et les autres éléments ne sont pas représentées sur la figure 2, bns un but de simplification des dessins Entre autrps choses, le moyen 50 produit des signaux permettant de commander la durée et le rythme suivant lesquels les
divers registres sont validés pour la réception ou l'émission de -
données -
Comme cela est illustré sur le diagramme temporel de la figure 2 ', les registres sont validés en série, c'est-à-dire d'abord le groupe des registre 1, à savoir les registres 1-1 à 1-32 et le registre d'adresse 461, puis le groupe des registres 2, à savoir les registres 2-1 à 2-32 et le registre d'adresse 46-2, etc Un rythme, ou taux, typique (c'est-à-dire liinverse de l'intervalle d'une tranche temporelle à une autre) est 10 M Hz Pendant la tranche temporelle durant laquelle un ensemble particulier de registres de donnée est validé, le registre d'adresse associé estvalidé pour l'acceptation de nouvelles instructions, slil en existe, provenant de son processeur associé ou pour adresser la mémoire -sur une adresse-déterminée par le positionnement du compteur contenu dans le registre d'adresse dans le but de provoquer une écriture ou une lecture à l'emplacement adressé, Enfin, au cours de chaque tranche temporelle, chaque registre (pour lequel un-transfert de données est voulu pour un processeur associé) est validé pour le transfert d'un
bit de donnée entre lui-même et son'processeur associé.
On comprendra mieux le fonctionnement du système de la figure 2 en se reportant également à la figure 3, qui est une
combinaison entre un schéma matériel et un diagramme quasi temporel.
Avant de discuter en détail le fonctionnement de la figure 2, on va exposer une théorie du fonctionnement du système Pour chacun des différents processeurs 1, 2, 3 et 4 (ou 10, 12, 14 et 16), le but
du système est de permettre une utilisation apparemment exclusive-
de la mémoire globale 38 du système en ce qui concerne le transfert
d'une donnée du processeur à la mémoire ou de la mémoire au processeur.
8 2536884
En ce qui concerne son fonctionnement pratique, le
système demande le transfert d'importants blocs de données Il en-
est ainsi en raison du temps qu'il faut à un processeur pour trans-
férer à son registre d'adresse associé 46 les adresses de début et de finde la donnée voulue à transférer et du sens du transfert Dès que les opérations de-servitude ont été assumées, si l'on suppose *en outre que tous les processeurs demandent accès simultanément, à
savoir le pire des cas, le transfert de données réel commence.
On va supposer, dans la discussion suivante, que le *transfert se fait de la mémoire globale 38 aux divers processeurs 1
à 4, mais il faut comprendre que le transfert de donnér peut égale-
ment s'effectuer des processeurs à la mémoire globale, ou qu' il s'agit d'une combinaison entre ces processus, à savoir un transfert de la mémoire-globale vers-certains processeurs et un transfert
d'autres processeurs vers la mémoire globale.
Au cours d'une première tranche de temps, sous la commande de synchronisation du moyen de commande 50, un bloc de quatre mots est transféré en parallèle, depuis une adresse de la mémoire globale 38 qui est déterminée par une adresse emmagasinée dans le compteur d'adresse 1 (à savoir le registre d'adresse 46-1), au registre de donnée 1 (à savoir le registre 1-1, le registre 1-2, ou le registre-1-32), et le compteur du registre d'adresse 1 est incrémenté à l'adresse d'un bloc suivant dequatre mots Le nombre de mots transféré en parallèle est équivalent au nombre de processeurs du système, ou O à un multiple de ce dernier Si la
mémoire globale est en mesure de fonctionner au même taux de trans-
fert de données, à savoir un taux X, que les processeurs, un nombre -
de mots qui est égal au nombre de processeurs est transféré en
parallèle Si la mémoire globale-fonctionneàd un taux égal au taux -
des processeurs divisé par Y, alors un nombre-de mots égal à Y fois le nombre des processeurs est transféré en parallèle -On supposera ci-après que le taux de transfert de données de la mémoire globale 38 et le taux de transfert de données des processeurs sont tous deux
égaux au taux X Par exemple, le taux X peut être égal à 1 M Hz.
Pendant une deuxième tranche de temps, un deuxième groupe de quatre mots destinés au processeur 2,est transféré, depuis la mémoire globale 38, en un emplacement adressé par le registre
d'adresse 2, au registre de donxée 2 ( 2-1 > 2-2 ou 2-32), Pen-
dant cette tranche de temps, le premier mot du registre 1 est trans-
féré à la mémoire du processeur-i.
Pendant une troisième tranche de temps, la donnée est transférée, depuis la mémoire globale 38, en un emplacement adressé par le registre d'adresse 3 au registre de donnée 3 (à savoir 3-1, 3-2, ou 3-32) Pendant cette tranche de temps, le deuxième des quatres mots du registre de donnée 1 est transféré à la mémoire du processeur 1, et le premier des quatre mots du registre
2 est transféré à la mémoire du processeur 2.
Pendant une quatrième tranche de temps, un bloc de quatre mots est transféré, depuis la mémoire globale 38, en un emplacement adressé par le registre d'adresse 4, au registre de données 4 (à savoir 4-1, 4-2, ou 432), le troisième des quatre mots du registre 1 est transféré à la mémoire du processeur 1, le deuxième des quatre mots du registre 2 est transféré à la mémoire du processeur 2, et le premier des quatre mots du registre 3 est
transféré à ta mémoire du processeur 3.
Pendant une cinquième tranche de temps, un deuxième groupe de quatre mots de la mémoire globale 38 est transféré au
registre 1, tandis que le quatrième mot'du registre 1 venant du pre-
mier groupeci quatre mots qui y a été transféré est transféré à la mémoire du processeur 1 Le transfert-d'un mot de chacun des autres registres à la mémoire de son processeur associé se produit pendant la cinquième tranche de temps Une action identique S celle ci dessus décrite se produit pendant les tranches de -temps suivantes jusqu'à ce que les nécessités de transfert de données des divers
processeurs aient été satisfaites.
Le point important à comprendre est que, dès qu'un transfert de données commence, chaque processeur reçoit la donnée aussi rapidement que son circuit le permet Chaque processeur semble donc recueillir toute l'attention de la mémoire globale et, par conséquent, tous les processeurs sont desservis en même temps, même si la mémoire globale 38 peut lire ou écrire dans une seule adresse (contenant quatre mots) au cours d'une tranche de temps unique. -0 lo 2536884
On passe maintenant à une description détaillée du
fonctionnement en relation avec la figure 3, qui représente schéma-
tiquement, à une échelle agrandie et détaillée par rapport à -la figure 2, la mémoire globale 1, en fait la mémoire globale 38-1, à savoir celle contenant la donnée correspondant au bit 1 (parmi-32). Les 31 autres mémoires globales sont identiques Dans les quatre zones 60, 62, 64 et 66 de la mémoire, qui emmagasinent chacune de nombreux mots, se trouvent respectivement la donnée a qui est demandée par le processeur 1, la donnée P qui-est demandée par le processeur 2, la donnée y qui est demandée par le processeur 3, et la donnée 6 qui est demandée par le processeur 4 On comprendra que deux processeurs ou plus peuvent-vouloir des données provenant des mêmes emplacements de la mémoire Ainsi, par exemple, les zones de mémoire 60 et 62 peuvent être identiques ou bien, au moins, se chevaucher La mémoire globale 1 est couplée en parallèle à chacun des registres de donnée XI o le chiffre 1 correspond à la mémoire globale 1 et o la valeur X correspond au processeur 1, 2, 3 ou 4 particulier auquel le registre de
donnée est connecté.
Les moyens de commutation sélective se trouvant dans
chacun des registres ne sont pas illustrés, non plus que l'intercon-
nexion entre le moyen de commande 50 (figure 2) et la donnée enre-
gistrée et que l'interconnexion entre les registres d'adresse (figure 2)
et-les systèmes de données, mais ces éléments sont de structure clas-
sique et autorisent un transfert de données entre la mémoire globale 38
et les seuls registres associés à un processeur à la fois.
La mémoire globale est disposée de façon qu'un groupe de quatre mots successifs soit fonctionnellement transféré ensemble d'une seule pièce Sur la figure 3, la mémoire l Oa du processeur 1 est représentée de manière agrandie et détaillée par rapport à la , figure 2 Les mémoires des autres processeurs sont identiques à la mémoire du processeur 1 Chaque mémoire de processeur comprend des emplacements d'emmagasinnage pour mots de 32 bits qui sont désignés par A, B, C,, I, Bien que ceci ne soit pas illustré, le bit 2 de la mémoire l Oa est connecté de façon à recevoir une donnée de la part du registre 1-2, le bit 3-est connecté de façon à recevoir
une donnée du registre 1-3, etc -
: il 2536884 * Le tableau de la figure 3 ' représente, dans sa partie gauche, les mots qui sont transférés de la mémoire '38 aux registres du réseau 40 et représente, dans sa partie droite, 'les mots qui sont transférés des registres du réseau 40 aux processeurs respectifs au cours des tranches de temps successives Ainsi,-dans la tranche de temps n 1, la'mémoire globale 38 est adressée par le registre d'adresse 1 (figure 2) de-façon A transférer des mots a, soit 1, 2,
3 et 4,'depuis la zone 60 de la mémoire globale et de zones équi-
valentes des 31 autres mémoires globales (non représentées), dans le registre 1-1 et les 31 autres registres l-X-(non représentés) Le passage sélectif des données dans les registres appropriés et
l'adressage de la mémoire globale par le registre d'adresse s'effec-
tuent sous commande de signaux de synchronisation venant du moyen de commande 50 (figure 2) Pendant les tranches de temps suivantes à savoir n 2, n 3, n 4, etc, les mots suivants sont déplacés de la manière illustrée sur le tableau de la figure 3 ' o La figure 3 montre la situation existant à la fin de la tranehe de temps n 6, qui est indiquée par une flèche 70 sur le tableau de la figure 3 ' Ainsi, les mots P, soit 5, 6, 7 et 8, ont été transférés au registre 2-1, le mot a, soit 5, a été transféré du registre 1-1 à la mémoire 10 a,
emplacement E, le mot À, soit 4, a été transféré du-registre 2-1 -
à la mémoire 12 a du processeur 2, emplacement D De plus; bien que ceci ne soit pas représenté, le mot y soit 3, a été transféré du registre 3-1 à la mémoire du processeur 3, et le mot S, soit 2, a
-été transféré du registre 4-1 à la mémoire du processeur 4.
On notera que, dès que des mots ont été-retirés d'em-
placements de la mémoire globale, ces emplacements sont-représentés sous forme de blncs sur la figure 3 En réalité, la mémoire contient
encore,la donnée, même après qu'elle a été lue et envoyée au proces-
seur. Comme décrit dans-l'exposé général précédant cette
description détaillée du fonctionnement, une fois que tous les
registres ont été remplis, chaque mémoire d'un processeur reçoit
la donnée aussi vite que son circuit le permet et semble donc bénéfi-
cier de l'attention non dispersée de-la mémoire globale 38.
Au contraire du fonctionnement ci-dessus décrit relatif aux transferts de la mémoire globale aux processeurs, dans les transferts des processeurs à la mémoire globale, la donnée est transférée depuis un processeur (par exemple le processeur 1) à ses registres associés (par exemple le registre 1 X) à raison d'un mot par tranche de temps, jusqu'à ce que les registres soient-pleins (par exemple quatre mots) Ensuite, les registres se vident en parallèle dans quatre emplacements-de la mémoire globale qui sont déterminés par les signaux d'adressage venant du registre d'adresse
approprié (par exemple le registre duadresse 1), après quoi le pro-
cessus se répète.
Il faut comprendre que toutes les valeurs données pour le nombre de bits par mot, le nombre de processeurs, le fait que tous les processeurs veulent être desservis en même temps, le fait que tous les processeurs veulent lire des données dans; la mémoire au lieu d'écrire des données dans la mémoire, et le fait que les vitesses des mémoires des processeurs et-la vitesse de la mémoire globale sont les-mêmes ne constituent qu'un exemple Ainsi, le nombre de bits par mot peut être supérieur ou inférieur à 32; le nombre de processeurs peut être supérieur ou inférieur à 4, le nombre 8
étant un nombre typique; les données peuvent être transférée concur-
remment entre-la mémoire globale et un nombre de processeurs inférieur au nombre total de ceux-ci; le transfert de données à la mémoire
globale peut être le fait de certains processeurs, de-tous les proces-
seurs ou d'aucun d'eux, tandis que tous les processeurs, certains d'entre eux ou aucun d'eux, reçoivent des données-de la mémoire globale; et lamémoire globale peut fonctionner à une vitesse plus
petite que celles des mémoires des processeurs (Elle pourrait fonc-
tionner à une vitesse plus élevée, mais ceci ne donnerait pas un système convenablement adapté) A titre d'exemple,-si le processeur fonctionne à un; taux de transfert de données de 1 M Hz *et que la mémoire globale fonctionne à un taux de 0,5 M Hz, alors chaque registre 1-1, 1-2,
2-2, 2-2, 4-32 contiendra huit mots et huit mots seront simul-
tanément transférés en même temps entre la mémoire globale et chaque registre Dans un tel cas, la mémoire globale posséderait un tampon de huit mots (non représentés) afin de recevoir les données en parallèle au taux de transfert de 0,5 M Hz et de transférer les données aux registres appropriés en parallèle-au taux de 0,1 M Hz,
ou inversement.
Le système permet également un transfert direct d'un processeur à un autre, de façon isolée, ou bien en même temps que des transferts des processeurs à la mémoire globale et de la mémoire globale aux processeurs Ainsi, par exemple", le processeur 1 peut délivrer des signaux d'instruction au registre d'adresse 1 afin d'amener un transfert direct dans les registres 1-X en provenance d'un
autre processeur (par exemple le processeur 2), via ces registres.
Dans ce cas, le processeur délivrant l'instruction émet quatre mots en série à destination de ces registres associés, par exemple les registres 2-X, en quatre tranches de temps successives Ensuite, dans la tranche de temps appropriée aux registre 1-X, la donnée est transférée en parallèle des registres 2-X aux registres 1-X, après quoi les registres 1-X se vident dans la mémoire-du processeur 1 à raison d'un mot par tranche de temps, tandis que les registres 2-X
se remplissent à raison d'un mot-par tranche de temps venant du pro-
cesseur 2.
De nouveau, comme avec le transfert des processeurs vers la mémoire globale ou le transfert de la mémoire globale vers les processeurs, dès que-l'opération initiale d'accumulation est
achevée, chaque processeur transmet Les données à sa vitesse propre.
Bien entendu, l'homme de l'art sera en mesure d'imagi-
ner, à partir du système dont la description vient d'être donnée à
titre simplement illustratif et nullement limitatif, diverses variantes
et modifications ne sortant pas du cadre de l'invention.

Claims (4)

R E V E N D I C A T I O N S
1 Système permettant de transférer en m 8 me temps des mots de donnée entre une mémoire ( 38) d'emmagasinage de données et un nombre N ( 4) de processeurs de données ( 10, 12, 14, 16) via un réseau de transfert ( 40) sous commande de signaux produits par un moyen de commande, caractérisé en que que ledit réseau comporte N tampons ( 1-1 à 1-32; 2-1 à 2-32; etc); chaque tampon est couplé entre l'un respectif desdits processeurs et ladite mémoire; chaque tampon répond à des signaux venant dudit moyen de commande en
emmagasinant temporairement un nombre M de mots, M étant proportion-
nel à N, afin de transférer en-série les mots temporairement emmaga-
sinés entre lui-même et l'un respectif desdits processeurs, à une vitesse de transfert X, et de transférer en parallèle M desdits mots temporairement emmagasinés en une seule fois entre lui-même et ladite mémoire, le transfert entre les N tampons et la mémoire s'effectuant en succession; ladite vitesse de transfert X autorisant un transfert ininterrompu de mots entre chacun desdits processeurs et l'un respectif desdits tampons.
2 Système selon la revendication 1, caractérisé en ce que ladite mémoire est une mémoire adressable et, de plus, comporte -N moyens d'emmagasinage d'adresse ( 46-1, 46-2, etc); chaque moyen
d'emmagasinage d'adresse est couplé entre l'un différent desdits pro-
cesseurs et ladite mémoire et répond à des signaux venant dudit moyen de commande en recevant-de l'un respectif desdits processeurs une information d'adresse qui identifie des emplacements dans ladite mémoire, et répond à des signaux venant dudit moyen de commande en
utilisant, après cela, l'information d'adresse mémorisée pour com-
mander le transfert de mots entre lesdits tampons et des emplacements
de mémoire identifiés.
3 Système selon la revendication 1 ou 2, caractérisé en ce que chaque mot est constitué de Y ( 32) bits et en ce que ladite mémoire comprend Y parties ( 38-1 à 38-32), emmagasinant chacune un bit respectif de chacun des mots qui y sont emmagasinés; et chaque tampon comprend Y registres -1, l 1-32), emmagasinant chacun
l'un différent des Y bits de chaque mot qui y est emmagasiné.
4 Système selon la revendication 1, 2 ou 3, carac-
térisé en ce que tous les tampons sont connectés à ladite mémoire par
un bus à plusieurs conducteurs commun ( 42).
FR8319147A 1982-11-30 1983-11-30 Reseau de transfert de donnees entre plusieurs processeurs et une memoire Expired FR2536884B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/445,522 US4491915A (en) 1982-11-30 1982-11-30 Multiprocessor-memory data transfer network

Publications (2)

Publication Number Publication Date
FR2536884A1 true FR2536884A1 (fr) 1984-06-01
FR2536884B1 FR2536884B1 (fr) 1987-01-30

Family

ID=23769239

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8319147A Expired FR2536884B1 (fr) 1982-11-30 1983-11-30 Reseau de transfert de donnees entre plusieurs processeurs et une memoire

Country Status (5)

Country Link
US (1) US4491915A (fr)
JP (1) JPS59109965A (fr)
DE (1) DE3343348A1 (fr)
FR (1) FR2536884B1 (fr)
GB (1) GB2132798B (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136218A2 (fr) * 1983-08-29 1985-04-03 FAIRCHILD CAMERA & INSTRUMENT CORPORATION Processeur pipeline à portes multiples
FR2606186A1 (fr) * 1986-10-31 1988-05-06 Thomson Csf Processeur de calcul comportant une pluralite d'etages relies en serie, calculateur et procede de calcul mettant en oeuvre ledit procede
EP0344052A1 (fr) * 1988-05-25 1989-11-29 Bull S.A. Mémoire modulaire
FR2635390A1 (fr) * 1988-08-12 1990-02-16 Bull Sa Unite centrale pour systeme de traitement de l'information

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5584032A (en) * 1984-10-17 1996-12-10 Hyatt; Gilbert P. Kernel processor system
US4718003A (en) * 1985-02-15 1988-01-05 General Electric Co. Method and apparatus for exchanging data between data processing units
JPH0740252B2 (ja) * 1986-03-08 1995-05-01 株式会社日立製作所 マルチプロセツサシステム
US4773071A (en) * 1986-10-02 1988-09-20 Grumman Aerospace Corporation Memory for storing response patterns in an automatic testing instrument
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US5301278A (en) * 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5802565A (en) * 1996-08-29 1998-09-01 Hewlett-Packard Company Speed optimal bit ordering in a cache memory
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US6708254B2 (en) * 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4347567A (en) * 1980-02-06 1982-08-31 Rockwell International Corporation Computer system apparatus for improving access to memory by deferring write operations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL95615C (fr) * 1954-05-25
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3411139A (en) * 1965-11-26 1968-11-12 Burroughs Corp Modular multi-computing data processing system
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
JPS5812611B2 (ja) * 1975-10-15 1983-03-09 株式会社東芝 デ−タテンソウセイギヨホウシキ
US4171536A (en) * 1976-05-03 1979-10-16 International Business Machines Corporation Microprocessor system
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
US4209840A (en) * 1978-06-28 1980-06-24 Honeywell Inc. Data processing protocol system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4347567A (en) * 1980-02-06 1982-08-31 Rockwell International Corporation Computer system apparatus for improving access to memory by deferring write operations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELECTRICAL DESIGN NEWS, vol. 27, no. 5, mars 1982, pages 117-125, Boston, US; D.L.RUHBERG et al.: "Eliminate system growth pains with a muP/controller interface" *
ELECTRONICS LETTERS, vol. 17, no. 24, novembre 1981, pages 924-925, Londres, GB; A.GAGO et al.: "Low-cost multiprocessor system" *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136218A2 (fr) * 1983-08-29 1985-04-03 FAIRCHILD CAMERA & INSTRUMENT CORPORATION Processeur pipeline à portes multiples
EP0136218A3 (fr) * 1983-08-29 1988-04-20 FAIRCHILD CAMERA & INSTRUMENT CORPORATION Processeur pipeline à portes multiples
FR2606186A1 (fr) * 1986-10-31 1988-05-06 Thomson Csf Processeur de calcul comportant une pluralite d'etages relies en serie, calculateur et procede de calcul mettant en oeuvre ledit procede
EP0291613A1 (fr) * 1986-10-31 1988-11-23 Thomson-Csf Processeur comportant une pluralité d'étages reliés en série
EP0344052A1 (fr) * 1988-05-25 1989-11-29 Bull S.A. Mémoire modulaire
FR2632093A1 (fr) * 1988-05-25 1989-12-01 Bull Sa Memoire modulaire
US5175832A (en) * 1988-05-25 1992-12-29 Bull S.A Modular memory employing varying number of imput shift register stages
FR2635390A1 (fr) * 1988-08-12 1990-02-16 Bull Sa Unite centrale pour systeme de traitement de l'information
EP0359607A1 (fr) * 1988-08-12 1990-03-21 Bull S.A. Unité centrale pour système de traitement de l'information

Also Published As

Publication number Publication date
GB2132798A (en) 1984-07-11
GB2132798B (en) 1986-05-14
GB8331845D0 (en) 1984-01-04
JPS59109965A (ja) 1984-06-25
DE3343348A1 (de) 1984-05-30
US4491915A (en) 1985-01-01
JPH0128972B2 (fr) 1989-06-07
FR2536884B1 (fr) 1987-01-30

Similar Documents

Publication Publication Date Title
EP0113639B1 (fr) Système de commutation de paquets synchrones de longueur fixe
FR2536884A1 (fr) Reseau de transfert de donnees entre plusieurs processeurs et une memoire
EP0283350B1 (fr) Serveur à large bande, en particulier pour la transmission de musique ou d'images
FR2539528A1 (fr) Systeme a microprocesseur comportant deux processeurs
FR2517442A1 (fr) Dispositif d'interruption pour un systeme de multitraitement, procede pour sa commande et systeme pour sa mise en oeuvre
FR2582829A1 (fr) Systeme de gestion de memoire d'ordinateur
FR2645666A1 (fr) Procede pour transferer des donnees par salves dans un microprocesseur
EP0063972A1 (fr) Procédé et dispositif d'allocation d'une ressource dans un système comportant des unités de traitement de données autonomes
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
EP0184494A1 (fr) Système pour la transmission simultanée de blocs données ou de vecteurs entre une mémoire et une ou plusieurs unités de traitement de données
EP1081598B1 (fr) Dispositif à plusieurs processeurs partageant une mémoire collective
FR2749682A1 (fr) Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
FR2549258A1 (fr) Procede de commande pour transfert de donnees
FR2718590A1 (fr) Procédé de détection d'un motif dans une transmission série.
EP1081597A1 (fr) Dispositif à plusieurs processeurs ayant une interface pour une mémoire collective
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
FR2749681A1 (fr) Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
EP0011540B1 (fr) Dispositif d'interface entrée-sortie entre un commutateur de données et une pluralité de voies de transmission
EP0910021B1 (fr) Dispositif de communication entre plusieurs processeurs
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte
EP0236177B1 (fr) Procédé d'optimisation de la mémorisation de signaux vidéos dans un transformateur numérique d'images, et transformateur numérique d'images mettant en oeuvre un tel procédé
EP0082903B1 (fr) Unité de commande pouvant être connectée à deux mémoires de vitesses différentes
FR2755523A1 (fr) Circuit electrique pour echanger des donnees entre un microprocesseur et une memoire et calculateur comprenant un tel circuit
FR2627298A1 (fr) Systeme informatique a antememoire et procede pour acceder a des donnees dans un tel systeme
EP0775352A1 (fr) Architecture a memoire unique centralisee pour le transfert d'images video

Legal Events

Date Code Title Description
ST Notification of lapse