FR2805372A1 - Postage d'ecriture avec mise en ordre globale dans des systemes a chemins multiples - Google Patents

Postage d'ecriture avec mise en ordre globale dans des systemes a chemins multiples Download PDF

Info

Publication number
FR2805372A1
FR2805372A1 FR0012196A FR0012196A FR2805372A1 FR 2805372 A1 FR2805372 A1 FR 2805372A1 FR 0012196 A FR0012196 A FR 0012196A FR 0012196 A FR0012196 A FR 0012196A FR 2805372 A1 FR2805372 A1 FR 2805372A1
Authority
FR
France
Prior art keywords
queue
processor
signal
processors
bus adapters
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
FR0012196A
Other languages
English (en)
Other versions
FR2805372B1 (fr
Inventor
Robert J Brooks
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of FR2805372A1 publication Critical patent/FR2805372A1/fr
Application granted granted Critical
Publication of FR2805372B1 publication Critical patent/FR2805372B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

Dispositif et procédé pour permettre un postage d'écriture avec une mise en ordre globale dans un système à chemins multiples. Le dispositif et le procédé comportant un adaptateur de bus (115, 120) possédant un port d'entrée destiné à recevoir une ou plusieurs opérations provenant d'un processeur (105, 110). Une file d'attente (180) contrôlée par l'adaptateur de bus (115, 120) retient des informations de la ou des opérations. Un circuit de contrôle (200, 205, 210, 220), couplé à la file d'attente (180), génère un signal de sortie (165) concernant les informations provenant de la ou des opérations. Le signal de sortie (165) est transmis au processeur (105, 110). Une installation d'interconnexion (135), couplée à chaque adaptateur de bus (115, 120), transmet la ou les opérations. Un dispositif (140), couplé à l'installation d'interconnexion (135), reçoit les opérations transmises où le dispositif (140) envoie un signal d'acquittement (175) au processeur (105, 110) lors de la réception de l'opération transmise.

Description

<B>POSTAGE</B> D'ECRITURE <B>AVEC</B> MISE<B>EN</B> ORDRE<B>GLOBALE DANS DES</B> SYSTEMES <B>A</B> CHEMINS MULTIPLES <B>DOMAINE TECHNIQUE</B> La présente invention concerne le postage d'écriture dans des systèmes multiprocesseurs. L'invention concerne plus particulièrement des procédés et dispositif pour postage d'écriture avec mise en ordre globale dans un système multiprocesseur comportant des chemins multiples depuis des processeurs multiples vers dispositif d'E/S unique.
<B>CONTEXTE DE</B> L'ART Les systèmes informatiques comportent des moyens pour que les CPU transmettent des données vers des unités d'entrée-sortie (E/S) <B>.</B> La latence de transit pour transactions est typiquement élevee, de l'ordre de plusieurs centaines de milliers de cycles des CPU. Pour maximiser la performance des séquences de ces transactions, il a été d'usage courant utiliser le pipelinage, appelé également postage d'écriture, dans ce contexte particulier. Avec le postage écriture, un CPU peut émettre une écriture suivante avant l'écriture précédente ait progressé tout le long du chemin jusqu'à sa destination.
Certaines défis pour maintenir mise en ordre du système peuvent provenir du contexte du postage d'écriture. Par exemple, les protocoles de bus comportent fréquemment un mécanisme de "relance". Si deux écritures postées successives sont envoyées et que la première est réessayée, les écritures peuvent arriver <B>à</B> leur destination dans l'ordre inverse de celui dans lequel elles été transmises.
De plus, dans les systèmes<B>à</B> CPU multiples, il est généralement nécessaire pour les écritures provenant de CPU differents, envoyées<B>à</B> la même destination, d'être coordonnées. En supposant une certaine relation d'ordre entre les CPU, établie par un certain mécanisme, tel qu'un semaphore de mémoire, les écritures d'E/S émises par ordonné en premier arrivent<B>à</B> leur destination avant celles d'un CPU ordonné en second.
Ces deux problèmes sont facilement résolus dans les systemes <B>à</B> bus unique, c'est-à-dire les systèmes dans lesquels il n'existe qu'un seul chemin d'un CPU quelconque vers chaque dispositif d'E/S. Le problème de la relance" peut être résolu en relançant toutes les écritures vers la même destination lorsque la première est rlancée, couplée<B>à</B> une exigence de protocole telle que seule la relance la plus ancienne est délivrée de nouveau jusqu'à ce qu'elle soit acceptée. Le deuxième cas ne peut pas se produire par définition<B>;</B> s'il n'y a qu'un seul chemin, l'ordre d'arrivée doit être égal<B>à</B> l'ordre d'envoi.
Divers moyens ont été utilisés pour résoudre le problème ci-dessus dans les systèmes<B>à</B> chemins multiples. L' d'entre eux est l'utilisation d'une opération de "synchronisation" spéciale. Ici, les écritures<B>d'</B> sont postées comme pour un système<B>à</B> chemin unique. Mais avant qu'une permission d'interruption pour un CPU différent commençant l'écriture sur un dispositif soit reçuef le CPU d'écriture précédente délivre la "synchronisation". La irsynchronisation" joue le rôle de sonde pour assurer que tous les chemins provenant du CPU d'envoi vers toutes les destinations possibles ont eté épuisés. Lorsque la sonde indique qu'elle a terminé, le premier CPU indique au deuxième CPU, par l'intermédiaire d'un sémaphore ou interruption, qu'il peut poursuivre. Une barrière de mise en ordre, soit implicite, soit explicite, est utilisée entre la synchronisation et l'indication de poursuite. Les performances et complexité sont les inconvénients de cette approche. La complexité augmente avec les tentatives pour limiter la portée de la synchronisation au minimum nécessaire. Les performances diminuent, plus l'opération synchronisation est "lourde" et simple.
Une autre approche consiste<B>à</B> suivre la dernière écriture du premier avec une lecture de ce CPU vers la même destination. Une barrière implicite ou explicite peut séparer le retour de cette lecture avec l'indication pour le CPU suivant de poursuivre. L'inconvénient est ici lié contraintes et<B>à</B> la complexité du logiciel. Un logiciel d'héritage écrit pour des systèmes<B>à</B> chemin unique où ceci n'est pas nécessaire peut être difficile<B>'</B> modifier. Le transfert du contrôle peut être géré par une couche de logiciel qui est isolée de celle qui exécute les écritures, ainsi, la nécessité de la lecture ou de l'endroit vers lequel elle est dirigée est difficile<B>à</B> déterminer. Un exemple de ceci est la préemption<B>d'OS</B> et la migration de processus. En conséquence, un besoin existe pour qu'un dispositif prenne en compte le postage d'écriture avec une mise en ordre globale dans des systèmes<B>à</B> chemins multiples.
RESUME <B>DE</B> L'INVENTION Un dispositif et un procédé selon la présente invention, pour permettre le postage d'écriture avec une mise en ordre globale dans un système<B>à</B> chemins multiples comportent un adaptateur de bus possédant un port d'entrée pour recevoir une ou plusieurs opérations d'un processeur, une file d'attente contrôlée par l'adaptateur de bus pour retenir des informations provenant de la ou des opérations, un circuit de contrôle, couplé<B>à</B> la file d'attente, pour générer un signal de sortie concernant les informations provenant de ou des opérations, les signaux de sortie étant transmis au processeurf une installation d'interconnexion, couplée<B>à</B> chaque adaptateur de bus, pour transmettre la ou les opérations, un dispositif, connecté<B>à</B> l'installation d'interconnexion, pour recevoir les opérations transmises, où le dispositif envoie un signal d'acquittement au processeur lors de la réception de l'opération transmise.
Les hommes de l'art comprendront ces avantages et bénéfices des divers modes de réalisation de l'invention, ainsi que d'autres,<B>à</B> la lecture de la description détaillée suivante d'un mode de réalisation préféré, en référence aux dessins listés ci-dessous. BREVE DESCRIPTION<B>DES DESSINS</B> Les dessins annexés sont incorporés et constituent une partie de la spécification avec la description, expliquent les avantages et les principes de<B>1</B> invention. Sur les dessins, la figure<B>1</B> est un schéma<B>d'</B> système informatique multiprocesseur<B>;</B> la figure 2 est un diagramme des temps pour un signal GSEQ <B>;</B> la<B>f</B> igure <B>3</B> est un schéma d'un adaptateur de bus mettant en oeuvre le signal GSEQ <B>;</B> et la figure 4 est un organigramme<B>d'</B> processus pour mettre en oeuvre le signal GSEQ dans le système informatique<B>à</B> processeurs multiples. DESCRIPTION DETAILLEE <B>D'UN</B> MODE<B>DE</B> REALISATION PREFERE figure<B>1</B> est un schéma d'un système informatique multiprocesseur<B>100</B> possédant des chemins multiples provenant de processeurs multiples vers un dispositif d'E/S unique. Dans le système<B>100,</B> une pluralité de processeurs<B>105, 110,</B> écrivent respectivement sur leurs adaptateurs de bus<B>115,</B> 120, par l'intermédiaire de leurs bus de processeur<B>125, 130.</B> Le processeur<B>105</B> écrit sur l'adaptateur de bus<B>115</B> par l'intermédiaire du bus<B>125</B> et le processeur<B>110</B> écrit sur l'adaptateur de bus 120 par l'intermédiaire du bus <B>130.</B> Deux processeurs et adaptateurs de bus sont représentés, toutefois, des processeurs et adaptateurs de bus supplémentaires peuvent être inclus dans le système Les adaptateurs de bus<B>115,</B> 120, sont des interfaces qui reçoivent des signaux provenant des processeurs<B>105, 110.</B> Les processeurs<B>105, 110,</B> sont connectés une installation d'interconnexion<B>135</B> qui peut être un maillage, un anneau, un crossbar ou une autre topologie. L'installation d'interconnexion<B>135</B> n'est pas un simple bus, où un seul possesseur peut accéder<B>à</B> celui-ci<B>à</B> la fois et en conséquence, il assure la mise en ordre en vertu de ce fait L'installation d'interconnexion<B>135</B> possède divers étages tampon<B>à</B> l'intérieur de lui-même, les adaptateurs de<B>-</B> bus étant simplement le premier étage d'interconnexion vers l'installation d'interconnexion <B>135</B> du système<B>100.</B> Est également connecté l'installation d'interconnexion<B>135</B> un dispositif d'E/S 140. Le dispositif d'E/S 140 est connecté l'installation d'interconnexion<B>135</B> par l'intermédiaire d'un adaptateur de bus 145. Le dispositif d'E/S 140 fournit aux processeurs<B>105, 110,</B> l'accès aux autres parties du système<B>100.</B> Des exemples de dispositifs d'E/S 140 sont des unités de disques et des dispositifs d'affichage graphique.
La figure 2 est un diagramme des temps<B>150</B> un signal<B>à</B> séquentialité garantie. Initialement, le processeur<B>105</B> écrit une adresse<B>155</B> d'une mémoire laquelle accède le processeur<B>105.</B> Une adresse représente typiquement un paquet de<B>32,</B> 64 ou<B>128</B> bits données. Peu de temps après avoir envoyé la première adresse<B>155,</B> des signaux<B>à</B> séquentialité garantie (GSEQ) <B>165</B> sont générés par l'adaptateur de bus<B>115,</B> en se basant sur l'état de la file d'attente<B>à</B> l'intérieur de chaque adaptateur de bus. Après cela, les données<B>160</B> pour la première écriture sont envoyées. Les signaux GSEQ <B>165</B> peuvent être envoyés avant ou après avoir envoyé la date<B>160.</B> Chaque adaptateur de bus<B>115</B> envoie le signal GSEQ <B>165</B> rapidement après l'arrivée d'une adresse. Le signal GSEQ <B>165</B> avertit le processeur<B>105</B> qu'il peut envoyer des adresses successives dans l'ordre, rapidement, puis les données correspondant aux adresses peu de temps après, d'une façon par pipeline. L'adaptateur de bus<B>115</B> garantit la séquentialité par l'intermédiaire du signal GSEQ <B>165,</B> les opérations successives provenant du même processeur<B>105</B> restant dans cet ordre. La séquentialité signifie que les instructions provenant du processeur<B>105</B> arrivent toutes au niveau du dispositif dE/S 140 dans l'ordre dans lequel elles ont été délivrées. L'adaptateur de bus<B>105</B> génère simplement le signal GSEQ <B>1-65</B> s'il sait qu'il ne délivrera pas de signal de relance<B>170.</B>
Outre le signal GSEQ <B>165,</B> le système<B>100</B> peut également délivrer le signal de relance<B>170</B> qui est généré par chaque adaptateur de bus en se basant sur l'état de la file d'attente<B>à</B> l'intérieur de chaque adaptateur de bus. La relance indique un signal de file attente pleine<B>ou</B> une contrainte de ressource similaire. Puisque le signal GSEQ <B>165</B> est une fonction du nombre d'entrées disponibles dans la file d'attente, le signal GSEQ <B>165</B> indique qu' <B>y</B> a toujours suffisamment d'entrées disponibles. Si la file d'attente est pleine, alors le signal de relance<B>170</B> est envoyé au processeur<B>105</B> pour réémettre la transaction, et s'il<B>y</B> a suffisamment d'entrées disponibles dans la file d'attente, alors le signal GSEQ <B>165</B> est positionné et garantit l'acceptation de cette transaction sans relance. Les processeurs<B>105, 110,</B> peuvent alors envoyer l'adresse suivante. En supposant que le signal relance<B>170</B> n'a pas été envoyé, les données<B>160</B> pour la transaction sont envoyées et ceci peut s'effectuer ou non sur le même ensemble de fils. Il est souvent efficace que les données soient situées sur un ensemble de fils différent de l'adresse. Puisque celles-ci sont des transactions d'écriture, un processeur envoie<B>à</B> la fois l'adresse et les données. Dans certaines mises en oeuvre, l'adresse et les données sont multiplexées sur les mêmes fils et dans d'autres mises en oeuvre elles sont séparées.<B>À</B> un certain moment, en supposant qu'il n'y a pas eu de relance<B>170,</B> les données<B>160</B> sont envoyées et quelque temps après que le dispositif d'E/S 140 a reçu les données<B>160,</B> soit le dispositif d'E/S 140, soit l'adaptateur de bus 145 du dispositif d'E/S 140 qui est situé immédiatement en amont du dispositif d'E/S 140, envoie un acquittement<B>175.</B> L'acquittement<B>175</B> retourne vers les processeurs après que le dispositif d'E/S 140 a reçu les données<B>160.</B>
Le système<B>100</B> maintient la séquentialité en utilisant le signal GSEQ <B>165</B> pour envoyer toutes les adresses<B>155</B> les unes après les autres, puis le processeur<B>105</B> attend d'obtenir l'acquittement<B>175</B> en retour du dispositif d'E/S 140 après que le processeur <B>105</B> a envoyé la dernière adresse. Ceci élimine la nécessité d'ajouter des opérations spéciales de lecture qui suivent la dernière écriture. Si le processeur<B>105</B> ne reçoit pas le signal GSEQ <B>165,</B> il attend jusqu'au moment la relance<B>170</B> peut ou non être signalée. Si la relance<B>170</B> n'est pas signalée, alors le processeur <B>105</B> continue et envoie l'adresse 2. Si la relance<B>170</B> est signalée, alors le processeur<B>105</B> envoie de nouveau l'adresse<B>1</B> et<B>à</B> ce moment, il peut recevoir le signal GSEQ <B>165.</B> Un point d'engagement de séquentialité est le point auquel il est connu que la transaction ne sera pas réessayée.
L'acquittement<B>175</B> est envoyé, soit par le dispositif d'E/S 140 lui-même, soit par<B>1</B> adaptateur de bus 145 pour le dispositif d'E/S 140, de façon que la connexion entre l'adaptateur de bus 145 et le dispositif d'E/S 140 soit un chemin unique. L'acquittement<B>175,</B> lorsqu'il est reçu par le processeur<B>105,</B> trouve<B>à</B> un point d'engagement de mise en ordre. Le point d'engagement de séquentialité est le point auquel une transaction d'écriture donnée ne peut être transmise par aucune autre transaction d'écriture. En conséquence, le processeur<B>105</B> sait, lorsqu'il a reçu un acquittement <B>175,</B> que les données<B>160</B> envoyées ont bien été reçues par le dispositif d'E/S 140.
Si le processeur<B>105</B> délivre une opération dépendant d'un ordre, telle qu'un sémaphore, le processeur<B>105</B> attend tous les acquittements importants <B>175,</B> même si le processeur<B>105</B> a envoyé rapidement des écritures multiples dans l'ordre. Si le processeur<B>105</B> exécute opération de sémaphore, il se bloque jusqu'à ce que tous les acquittements<B>175</B> soient revenus. Ainsi, si l'opération nécessite un autre processeur<B>115,</B> elle doit attendre l'acquittement<B>175</B> pour assurer un ordre convenable Le système<B>100</B> utilise une sémantique de mise en ordre attachée<B>à</B> un sémaphore pour sensiblement bloquer le bus. Ceci constitue la façon dont le système <B>100</B> peut bloquer de manière sure le contrôle d'un chemin vers processeur différent et assurer que l'opération nfest pas entrelacée. Ceci permet au système<B>100</B> de maintenir l'ordre entre les processeurs multiples.
La figure<B>3</B> est un schéma de l'adaptateur de bus mettant en oeuvre le signal GSEQ. La séquentialite garantie est mise en oeuvre en ajoutant certaines portes logiques supplémentaires<B>à</B> chaque adaptateur de bus<B>115,</B> 120, pour permettre<B>à</B> chaque adaptateur de bus de déterminer si le signal GSEQ <B>165</B> doit être envoyé.
bus adresse et de données du processeur entrent dans l'adaptateur de bus. Chaque adaptateur de bus contient une file d'attente<B>180</B> dans laquelle entrent les adresses et les données. Comme exemple, la figure<B>3</B> illustre une file d'attente<B>à</B> huit entrées<B>180.</B> La file d'attente<B>180</B> contient l'adresse<B>185</B> et les données<B>190</B> et elle peut également contenir un bit valide<B>195,</B> bien que le bit valide<B>195</B> ne soit pas nécessaire pour la mise en oeuvre particulière de la génération du signal GSEQ <B>165.</B> La file d'attente<B>180</B> contient également un pointeur d'entrée 200 qui pointe sur l'entrée suivante destinée<B>à</B> être occupée avec les données entrantes. La file d'attente<B>180</B> comporte également un pointeur de sortie<B>205</B> qui pointe sur la dernière entrée occupée pour sortir vers l'installation d'interconnexion<B>135.</B> Comme alternative, comme choix de mise en oeuvre, les pointeurs d'entrée et de sortie 200,<B>205,</B> peuvent comporter une incrémentation préalable sur le pointeur concernant le fait qu'il est réellement occupé ou non. Quelle que soit la mise en oeuvre, aussi bien les pointeurs d'entrée que de sortie 200,<B>205,</B> effectuent une incrémentation continue, de façon que les pointeurs se rebouclent. Les valeurs des pointeurs entrent dans un soustracteur 210 et le résultat<B>215</B> de cette soustraction est le nombre d'entrée qui sont occupées dans la file d'attente<B>180.</B> Dans le présent exemple, les boîtes blanches représentent le nombre d'entrées disponibles dans la file d'attente<B>180</B> et les boîtes ombrées indiquent les entrées occupées dans la file d'attente<B>180.</B>
Dans l'exemple, le pointeur d'entrée 200 pointe sur l'entrée 2 et le pointeur de sortie<B>205</B> pointe sur l'entrée<B>6.</B> Le résultat<B>215</B> de<B>6</B> moins 2 est que 4 entrées sont occupées<B>à</B> l'intérieur de la file d'attente<B>180.</B> Ce résultat<B>215</B> est comparé par un comparateur 220<B>à</B> un sous-ensemble fixe de la file d'attente<B>180,</B> dans ce cas,<B>5</B> entrées. Puisque la file d'attente<B>180</B> comporte un nombre inférieur ou égal<B>à 5</B> entrées occupées l'intérieur de celle-ci, l'adaptateur de bus<B>115</B> envoie le signal GSEQ <B>165,</B> avertissant le processeur<B>105</B> qui peut accepter d'autres transactions. Si le nombre d'entrées occupées est égal au nombre total d'entrées disponibles dans la file d'attente<B>180,</B> alors le signal de relance<B>170</B> est envoyé au processeur<B>105</B> pour indiquer que la file d'attente<B>180</B> est pleine.
La figure 4 est un organigramme illustrant un processus de l'adaptateur de bus<B>115</B> mettant en oeuvre le signal GSEQ <B>65.</B> L'adaptateur de bus<B>115,</B> comme- expliqué ci-dessus en ce qui concerne les figures 2 et <B>3,</B> met typiquement en oeuvre ses fonctions en utilisant des modules matériels. Toutefois, il peut également, comme alternative, mettre en oeuvre ses fonctions par logiciel ou micrologiciel. Dans le processus 225, le processeur<B>105</B> envoie une transaction d'écriture<B>à</B> son adaptateur de bus<B>115</B> (étape<B>230).</B> L'adaptateur de bus <B>115</B> vérifie la file d'attente<B>180</B> pour déterminer si le signal GSEQ <B>165</B> doit être envoyé au processeur<B>105</B> (étape<B>235) .</B> Si le signal GSEQ <B>165</B> ne peut pas être envoyé au processeur<B>105,</B> le processeur peut recevoir un signal de relance<B>170</B> (étape 240)<B>.</B> Le processeur<B>105</B> peut alors renvoyer l'adresse<B>1</B> vers l'adaptateur de bus <B>115.</B> Si le signal GSEQ <B>165</B> peut être envoyé, le processeur<B>105</B> détermine s'il s'agissait de la dernière adresse qu'il souhaitait envoyer (étape 245). S'il ne s'agit pas de la derniere adresse, le processeur<B>105</B> détermine l'adresse suivante (étape<B>250)</B> et envoie l'adresse suivante<B>à</B> l'adaptateur de bus<B>115.</B> Si la dernière adresse a été envoyée, alors le processeur attend un signal d'acquittement<B>175</B> provenant du dispositif d'E/S 140 ou de l'adaptateur de bus 145 du dispositif d'E/S (étape<B>255).</B> En recevant le signal d'acquittement<B>175,</B> le processeur<B>105</B> réinitialise le bit de sémaphore pour transmettre le contrôle au processeur<B>110</B> (étape<B>).</B> La détermination de la "dernière adresse envoyée" peut ne pas être effectuée par le même processus couche logicielle, que celui qui envoie les écritures. Par exemple, un système d'exploitation peut interrompre et suspendre le processus d'envoi et effectuer un nouveau séquencement de ce processus sur un processeur différent.
Les termes et descriptions ici utilisés sont présentés<B>à</B> titre d'illustration seulement et ne sont pas destinés<B>à</B> constituer des limitations. Les hommes de l'art comprendront qu'un grand nombre de variantes sont possibles<B>à</B> l'intérieur l'esprit et de la portée de l'invention telle que définie dans les revendications suivantes et leurs équivalents, dans lesquelles tous les termes doivent être compris dans leur sens le plus large possible, sauf indication contraire.

Claims (1)

  1. <U>REVENDICATIONS</U> Dispositif pour écrire un postage dans des systèmes multiprocesseurs, le dispositif comprenant<B>:</B> (a) des adaptateurs de bus<B>(115,</B> comportant des ports d'entrée pour recevoir une plusieurs opérations provenant d'un<B>ou</B> plusieurs processeurs<B>(105, 110) ;</B> <B>(b)</B> une file d'attente<B>(180)</B> pour retenir des informations de la ou des opérations, dans lequel file d'attente<B>(180)</B> est contrôlée par les adaptateurs bus<B>(115,</B> 120)<B>;</B> et (c) un circuit de contrôle (200,<B>205,</B> couplé<B>à</B> la file d'attente<B>(180),</B> pour générer un signal de sortie<B>(165)</B> destiné<B>à</B> être transmis aux processeurs<B>(105, 110),</B> dans lequel le signal de sortie <B>)</B> concerne l'exécution de la pluralité d'opérations. 2. Dispositif selon la revendication<B>1,</B> caractérisé en ce la transaction d'écriture postée comprend<B>à</B> la fois un point d'engagement de mise en ordre et un point d'engagement de séquentialité. <B>3.</B> Dispositif selon la revendication<B>1,</B> caractérisé en ce que le signal de sortie concerne une séquence de la ou des opérations. 4. Dispositif selon la revendication<B>1,</B> caractérisé en ce que le circuit de contrôle (200,<B>205,</B> 210, 220) détermine le nombre d'entrées disponibles dans la file d'attente<B>(180).</B> <B>5.</B> Dispositif selon la revendication 4, caractérisé en ce que la file d'attente<B>(180)</B> envoie un signal de relance aux processeurs<B>(105, 110)</B> s'il n'y a pas suffisamment d'entrées disponibles dans la file d'attente<B>(180).</B> <B>6.</B> Dispositif selon la revendication<B>1,</B> comprenant en outre un dispositif (140) pour transmettre un signal d'acquittement<B>(175)</B> aux processeurs<B>(105,</B> <B>7.</B> Procedé pour écrire un postage dans un système multiprocesseur, le procédé comprenant étapes consistant<B>à :</B> (a) faire envoyer une ou plusieurs opérations par un processeur<B>(105) ;</B> <B>(b)</B> recevoir des informations dans file d'attente<B>(180)</B> provenant de la ou des opérations (c) exécuter les informations de la ou des opérations<B>;</B> et <B>(d)</B> générer un signal de sortie<B>(165)</B> concernant l'étape d'exécution des informations. <B>8.</B> Procedé selon la revendication<B>7,</B> caracterisé en ce que l'étape de transmission envoie signal d'acquittement<B>(175)</B> au processeur<B>(105)</B> lors de la réception de la ou des opérations transmises. <B>9.</B> Procédé selon la revendication<B>8,</B> caractérisé en ce que dans l'étape de réception du signal d'acquittement <B>(175),</B> le processeur<B>(105)</B> réinitialise bit de sémaphore.<B>.</B> <B>10.</B> Procédé selon la revendication<B>9,</B> caractérisé en ce que l'étape de réinitialisation transmet le contrôle d'un processeur<B>(105) à</B> un autre processeur<B>(110).</B>
FR0012196A 2000-02-18 2000-09-26 Postage d'ecriture avec mise en ordre globale dans des systemes a chemins multiples Expired - Fee Related FR2805372B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/507,205 US6636928B1 (en) 2000-02-18 2000-02-18 Write posting with global ordering in multi-path systems

Publications (2)

Publication Number Publication Date
FR2805372A1 true FR2805372A1 (fr) 2001-08-24
FR2805372B1 FR2805372B1 (fr) 2006-05-05

Family

ID=24017663

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0012196A Expired - Fee Related FR2805372B1 (fr) 2000-02-18 2000-09-26 Postage d'ecriture avec mise en ordre globale dans des systemes a chemins multiples

Country Status (2)

Country Link
US (1) US6636928B1 (fr)
FR (1) FR2805372B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386619B1 (en) * 2003-01-06 2008-06-10 Slt Logic, Llc System and method for allocating communications to processors in a multiprocessor system
US7316017B1 (en) * 2003-01-06 2008-01-01 Slt Logic, Llc System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system
US20090192818A1 (en) * 2008-01-29 2009-07-30 International Business Machines Corporation Systems and method for continuous health monitoring
CN104081722B (zh) * 2012-01-13 2018-05-22 英特尔公司 SoC构造中的高效对等通信支持

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638531A (en) * 1995-06-07 1997-06-10 International Business Machines Corporation Multiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US5799015A (en) * 1996-05-13 1998-08-25 Lockheed Martin Corporation Recirculation routes in switching networks used with scalable coherent interfaces
US5964835A (en) * 1992-12-17 1999-10-12 Tandem Computers Incorporated Storage access validation to data messages using partial storage address data indexed entries containing permissible address range validation for message source

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
EP0516900B1 (fr) * 1991-06-04 1996-05-01 International Business Machines Corporation Sauvegarde et recouvrement de données dans un système de traitement de données
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US6032244A (en) * 1993-01-04 2000-02-29 Cornell Research Foundation, Inc. Multiple issue static speculative instruction scheduling with path tag and precise interrupt handling
US5805834A (en) * 1994-03-30 1998-09-08 Zilog, Inc. Hot reconfigurable parallel bus bridging circuit
US5625775A (en) * 1994-06-13 1997-04-29 International Business Machines Corporation Modem communication interface in a data processing system
US5634023A (en) * 1994-07-01 1997-05-27 Digital Equipment Corporation Software mechanism for accurately handling exceptions generated by speculatively scheduled instructions
TW295646B (fr) * 1995-01-25 1997-01-11 Ibm
US5764924A (en) * 1995-08-24 1998-06-09 Ncr Corporation Method and apparatus for extending a local PCI bus to a remote I/O backplane
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US5860017A (en) 1996-06-28 1999-01-12 Intel Corporation Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5859999A (en) 1996-10-03 1999-01-12 Idea Corporation System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers
US5835741A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Bus-to-bus bridge in computer system, with fast burst memory range
US6134579A (en) * 1997-08-15 2000-10-17 Compaq Computer Corporation Semaphore in system I/O space
US6279087B1 (en) * 1997-12-22 2001-08-21 Compaq Computer Corporation System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations
US6314472B1 (en) * 1998-12-01 2001-11-06 Intel Corporation Abort of DRAM read ahead when PCI read multiple has ended
US6209054B1 (en) * 1998-12-15 2001-03-27 Cisco Technology, Inc. Reliable interrupt reception over buffered bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964835A (en) * 1992-12-17 1999-10-12 Tandem Computers Incorporated Storage access validation to data messages using partial storage address data indexed entries containing permissible address range validation for message source
US5638531A (en) * 1995-06-07 1997-06-10 International Business Machines Corporation Multiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US5799015A (en) * 1996-05-13 1998-08-25 Lockheed Martin Corporation Recirculation routes in switching networks used with scalable coherent interfaces

Also Published As

Publication number Publication date
FR2805372B1 (fr) 2006-05-05
US6636928B1 (en) 2003-10-21

Similar Documents

Publication Publication Date Title
KR101012744B1 (ko) 향상된 컴퓨팅 아키텍쳐를 위한 파이프라인 가속기 및 관련시스템 및 방법
EP3129874B1 (fr) Systeme de calcul distribue mettant en oeuvre une memoire transactionnelle materielle de type non-speculatif et son procede d&#39;utilisation pour le calcul distribue
US20040136241A1 (en) Pipeline accelerator for improved computing architecture and related system and method
EP0005722B1 (fr) Système de sélection de circuit d&#39;interface prioritaire
FR2728364A1 (fr) Interface d&#39;entree-sortie connectee a une memoire d&#39;ordinateur et capable de controler les vitesses d&#39;entree-sortie de donnee
EP2507711B1 (fr) Controleur d&#39;acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
FR2890766A1 (fr) Systeme et procede de communication asynchrone sur circuit, entre des sous-circuits synchrones
FR3007542A1 (fr) File d&#39;echange de donnees ayant une profondeur illimitee
FR2896368A1 (fr) Appareil pour ameliorer l&#39;efficacite du microprogramme pour une interface serie multitrame
EP1531589B1 (fr) Système et procédé de transmission d&#39;une séquence de messages dans un réseau d&#39;interconnexions
EP2507712B1 (fr) Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme
FR2805372A1 (fr) Postage d&#39;ecriture avec mise en ordre globale dans des systemes a chemins multiples
WO2014135513A1 (fr) Procédé de contrôle de bande passante pour système sur puce
EP1748355B1 (fr) Dispositif d&#39;interfaçage unidirectionnel de type FIFO entre un bloc maître et un bloc esclave et bloc esclave correspondant
EP3709178A1 (fr) Procédé de gestion d&#39;accès à un bus informatique partagé, et dispositif électronique correspondant
EP2965214A1 (fr) Procede de surveillance de communications pour systeme sur puce
EP0025731A1 (fr) Sélecteur de demandes asynchrones dans un système de traitement de l&#39;information
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d&#39;acces
CN115687012A (zh) 一种总线监测模块、监测方法和相关设备
FR2766937A1 (fr) Protocole et systeme de liaison par bus entre elements d&#39;un microcontroleur
US20040225707A1 (en) Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream
FR2759472A1 (fr) Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
US20230273824A1 (en) Establishing coherent message analysis across distributed locations
BE1001290A4 (fr) Dispositif d&#39;arbitrage d&#39;acces a memoire direct.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080531