FR2737591A1 - Dispositif d'organisation d'acces a un bus memoire - Google Patents

Dispositif d'organisation d'acces a un bus memoire Download PDF

Info

Publication number
FR2737591A1
FR2737591A1 FR9509640A FR9509640A FR2737591A1 FR 2737591 A1 FR2737591 A1 FR 2737591A1 FR 9509640 A FR9509640 A FR 9509640A FR 9509640 A FR9509640 A FR 9509640A FR 2737591 A1 FR2737591 A1 FR 2737591A1
Authority
FR
France
Prior art keywords
signal
memory
access
token
state
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
FR9509640A
Other languages
English (en)
Other versions
FR2737591B1 (fr
Inventor
Claude Athenes
Gavet Bernard Louis
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.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
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 SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Priority to FR9509640A priority Critical patent/FR2737591B1/fr
Priority to US08/690,985 priority patent/US6101564A/en
Publication of FR2737591A1 publication Critical patent/FR2737591A1/fr
Application granted granted Critical
Publication of FR2737591B1 publication Critical patent/FR2737591B1/fr
Priority to US09/478,600 priority patent/US6584523B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

L'invention concerne un dispositif (1) d'organisation d'accès à un bus (2) reliant une mémoire (4) à au moins deux entités (3, U1, U2, U3, U4) émettant des signaux binaires (REQ0, REQ1, REQ2, REQ3, REQ4) asynchrones représentant des demandes d'accès audit bus (2), le dispositif (1) fournissant des signaux binaires (ACK0, ACK1, ACK2, ACK3, ACK4) d'autorisation d'accès auxdites entités sur la base d'une détermination de priorité entre les différentes demandes et comportant un décodeur de priorité (6) en logique câblée associé à un registre d'entrée (RE), un chargement de l'état desdits signaux de demandes d'accès dans ledit registre d'entrée (RE) s'effectuant, si une demande d'accès est présente alors qu'un cycle de lecture ou d'écriture de la mémoire (4) est en cours, à l'apparition d'une impulsion sur un signal (EOC) délivré par un contrôleur mémoire (5) associé à ladite mémoire (4) et indicateur de la fin d'un cycle mémoire.

Description

DISPOSITIF D'ORGANISATIOW D'ACCES A UN BUS MISMOIRE
La présente invention concerne un dispositif d'organisation des accès, ou d'arbitrage des demandes d'accès, à un bus de liaison à une mémoire partagée. L'invention s'applique plus particulièrement à la réalisation d'un tel dispositif destiné à gérer des priorités d'accès à ce bus entre un microprocesseur et différentes entités ayant besoin d'accéder à la mémoire.
La présente invention vise à organiser les accès à ce bus sans qu'il soit nécessaire d'avoir recours au microprocesseur et en utilisant tous les cycles potentiels de lecture, ou d'écriture de la mémoire en cas d'afflux de demandes.
La présente invention vise également à éviter qu'une entité monopolise le bus alors que d'autres entités en demandent l'accès.
La présente invention vise également à permettre le partage de ce bus entre plusieurs dispositifs de même nature associés à un même microprocesseur et à une même mémoire.
Pour atteindre ces objets, la présente invention prévoit un dispositif d'organisation d'accès à un bus reliant une mémoire à au moins deux entités émettant des signaux binaires asynchrones représentant des demandes d'accès audit bus, le dispositif fournissant des signaux binaires d'autorisation d'accès auxdites entités sur la base d'une détermination de priorité entre les différentes demandes et comportant un décodeur de priorité en logique câblée associé à un registre d'entrée, un chargement de l'état desdits signaux de demandes d'accès dans ledit registre d'entrée s'effectuant, si une demande d'accès est présente alors qu'un cycle de lecture ou d'écriture de la mémoire est en cours, à l'apparition d'une impulsion sur un signal délivré par un contrôleur mémoire associé à ladite mémoire et indicateur de la fin d'un cycle mémoire.
Selon un mode de réalisation de la présente invention, ledit signal indicateur de la fin d'un cycle mémoire est envoyé, par ledit contrôleur mémoire, en avance par rapport à la fin réelle d'un cycle mémoire d'un délai qui est fonction du temps de traitement des demandes d'accès par ledit décodeur de priorité.
Selon un mode de réalisation de la présente invention, le dispositif comporte un registre programmable contenant des codes d'identification des entités, la position de chaque code dans ledit registre programmable déterminant le rang de priorité affecté à l'entité associée à ce code et ledit registre programmable étant lu, par le décodeur de priorité, en même temps qu'est déclenché le chargement de l'état desdits signaux de demandes d'accès dans ledit registre d'entrée.
Selon un mode de réalisation de la présente invention, le chargement de l'état desdits signaux de demandes d'accès dans ledit registre d'entrée est commandé par un signal représentant une combinaison logique prenant en compte ledit signal indicateur de la fin d'un cycle mémoire et un premier signal d'horloge.
Selon un mode de réalisation de la présente invention, ledit décodeur de priorité envoie, audit contrôleur mémoire, un signal binaire indicateur de la présence d'une demande d'accès autorisée, le changement d'état dudit signal étant provoqué, vers un état actif, par la présence d'une demande d'accès autorisée et, vers un état de repos, par l'apparition d'une impulsion sur ledit signal indicateur de la fin d'un cycle mémoire.
Selon un mode de réalisation de la présente invention, ledit signal de commande dudit registre d'entrée tient compte de l'état dudit signal indicateur de la présence d'une demande d'accès autorisée.
Selon un mode de réalisation de la présente invention, une desdites entités effectue des demandes d'accès périodiques et dispose d'une gestion particulière de priorité qui consiste à lui affecter le rang de priorité le plus faible pendant une demi-période de l'intervalle de temps qui sépare deux de ses demandes d'accès et le rang de priorité le plus élevé pendant la seconde demi-période de cet intervalle si sa demande d'accès n'a pu être satisfaite pendant ladite première demi-période.
Selon un mode de réalisation de la présente invention, ladite mémoire est une mémoire dynamique, ladite entité disposant d'une gestion de priorité particulière étant constituée d'un circuit de rafraîchissement de cette mémoire.
Selon un mode de réalisation de la présente invention, une desdites entités est constituée d'un microprocesseur.
Selon un mode de réalisation de la présente invention, le dispositif comporte des moyens pour être raccordé à d'autres dispositifs du même type afin d'organiser un partage de ladite mémoire entre plusieurs groupes d'entités, l'affectation du bus à un desdits groupes d'entités s'effectuant par la circulation d'une impulsion, ou "jeton", dans une liaison unifilaire reliant les différents dispositifs en anneau, chaque dispositif recevant ledit "jeton" sur un signal d'entrée envoyé par un dispositif précédent sur un signal de sortie.
Selon un mode de réalisation de la présente invention, lesdits moyens comportent un bloc de régénération dudit "jeton" au moyen de bascules commandées par un deuxième signal d'horloge et de portes logiques, ledit bloc de régénération recevant, outre le signal d'entrée, un signal binaire indicateur de l'existence d'une demande d'accès au sein du groupe auquel il est associé et délivrant, audit décodeur de priorité du dispositif auquel il est associé, un signal binaire indicateur d'une affectation dudit "jeton" à ce dispositif, la largeur de l'impulsion constituant ledit "jeton" correspondant à une période dudit deuxième signal d'horloge.
Selon un mode de réalisation de la présente invention, l'envoi dudit "jeton" par ledit bloc de régénération sur ledit signal de sortie est déclenché, soit par l'apparition dudit signal indicateur de la fin d'un cycle mémoire, soit par l'absence de demande d'accès de la part des entités du groupe auquel il est associé pendant que ledit "jeton" est présent sur ledit signal d'entrée, l'envoi dudit "jeton" étant synchrone avec ledit deuxième signal d'horloge.
Selon un mode de réalisation de la présente invention, ledit signal de commande dudit registre d'entrée d'un dispositif est validé par ledit signal indicateur d'une affectation dudit "jeton" à ce dispositif.
Selon un mode de réalisation de la présente invention, lesdits moyens comportent un bloc de génération initiale dudit "jeton" sous commande d'un bit, ledit bloc de génération délivrant un signal permettant, en outre, de configurer ledit bloc de régénération entre un fonctionnement en anneau et un fonctionnement en mode local où il conserve en permanence le droit d'autoriser un accès audit bus.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles
la figure 1 représente, sous forme de schéma-blocs, un mode de réalisation d'un dispositif d'organisation d'accès à un bus selon l'invention
la figure 2 représente le contenu d'un registre programmable selon l'invention que comporte un dispositif tel que représenté à la figure 1
la figure 3 illustre, sous forme de chronogrammes, le fonctionnement d'un dispositif d'organisation d'accès à un bus tel que représenté à la figure 1
la figure 4 représente, sous forme de schéma-blocs, un mode de réalisation d'un anneau à "jeton" selon l'invention associant plusieurs dispositifs du type de celui représenté à la figure 1
la figure 5 représente, sous forme de schéma-blocs, un circuit de génération et de régénération d'un "jeton" selon l'invention que comporte chacun des dispositifs représentés à la figure 4
la figure 6 représente un exemple de réalisation d'un bloc de génération d'un "jeton" d'un circuit tel que représenté à la figure 5
la figure 7 représente un exemple de réalisation d'un bloc de régénération d'un "jeton" d'un circuit tel que représenté à la figure 5 ; et
la figure 8 illustre, sous forme de chronogrammes, le fonctionnement d'un anneau à "jeton" selon l'invention tel que représenté à la figure 4.
Pour des raisons de clarté, les mêmes éléments ont, dans la mesure du possible, été désignés par les mêmes références aux différentes figures. De même, seuls les éléments et les liaisons entre ces éléments qui sont nécessaires à la compréhension de l'invention ont été représentés.
Selon l'invention, l'occupation d'un bus reliant un microprocesseur à une mémoire est organisée de manière indépendante du microprocesseur. En d'autres termes, l'invention prévoit que des demandes d'accès effectuées par des entités ayant besoin d'échanger des données avec la mémoire soient gérées sans avoir recours au microprocesseur. Le microprocesseur est, de ce point de vue et selon l'invention, considéré comme une entité.
On réduit ainsi l'occupation du microprocesseur qui est alors davantage disponible pour effectuer d'autres traitements.
La figure 1 est un schéma-blocs d'un mode de réalisation d'un dispositif 1 d'organisation des accès à un bus 2 selon l'invention.
Le bus 2 relie un microprocesseur pP 3 à une mémoire vive RAM 4. Plusieurs entités, ici quatre entités U1, U2, U3 et
U4, ayant besoin d'échanger des données avec la mémoire 4 sont également raccordées au bus 2. Bien que le bus 2 ait été représenté sous la forme d'un seul bus, il s'agit en pratique de plusieurs bus chargés de véhiculer non seulement les données mais également les adresses de ces données dans la mémoire 4 ainsi qu'un signal R/W indiquant si l'entité ayant accès aux bus d'adresses et de données souhaite lire ou écrire dans la mémoire 4.
Toutes les entités ainsi que le microprocesseur 3 sont susceptibles d'émettre des demandes d'accès asynchrones qui sont envoyées sur des entrées d'un registre d'entrée RE du dispositif 1. Ces demandes d'accès sont envoyées par le microprocesseur 3 et les entités, respectivement U1, U2, U3 et U4, sous la forme de signaux binaires, respectivement REQO, REQ1, REQ2, REQ3 et
REQ4, dont l'état indique un besoin, ou non, d'accéder au bus 2.
Par exemple, l'état de repos des signaux REQO à REQ4 est un état "0" et ces signaux sont positionnés dans un état "1" lorsque l'entité qui leur est associée demande l'accès à la mémoire 4.
Un décodeur de priorité 6 charge périodiquement les signaux REQO à REQ4 dans le registre RE et les interprète immédiatement. La période de chargement du registre RE correspond, en cas d'afflux de demandes et comme on le verra par la suite, à la durée d'un cycle de lecture ou d'écriture dans la mémoire 4.
Le rôle du registre RE est d'éviter des conflits au sein du décodeur de priorité 6 dans la mesure où les états des signaux REQO à REQ4 changent de manière asynchrone.
L'interprétation des signaux REQO à REQ4 par le décodeur 6 a pour objet de déterminer quelle entité, parmi celles qui ont demandé l'accès au bus 2, bénéficie du rang de priorité le plus élevé et doit se voir accorder cet accès. Le décodeur de priorité 6 décide d'accorder, au microprocesseur 3 ou à une entité donnée, un accès au bus 2 en fonction du rang de la priorité associé à cette entité (ou au microprocesseur 3) et contenu dans un registre RP programmable par le microprocesseur. Ce registre RP est, par exemple, un registre de huit bits qui contient un codage des rangs de priorité associés aux trois entités
U1, U2, U3 et au microprocesseur 3.Selon l'invention, on affecte à l'entité U4 une gestion de priorité particulière qui sera décrite en relation avec la description du contenu du registre programmable RP qui sera effectuée en relation avec la figure 2.
La décision du décodeur de priorité 6 est transmise au microprocesseur 3 et aux différentes entités U1, U2, U3 et U4 sous la forme de signaux binaires, respectivement ACK0, ACK1,
ACK2, ACK3 et ACK4, dont l'état indique pour chaque entité l'autorisation, ou non, d'accéder au bus 2. Par exemple, un état o présent sur un des signaux ACKO à ACK4 indique que le bus 2 n'est pas disponible (ou pas demandé) pour l'entité correspondante tandis qu'un état "1" indique que l'accès lui est autorisé.
Les signaux ACK0 à ACK4 transitent par un registre de sortie RS de manière à ce que les accès au bus 2 soient synchrones avec une horloge de commande (non représentée). Cette horloge correspond, par exemple, à l'horloge du microprocesseur 3 et est, par exemple, une horloge à 32 MHz. On notera cependant que les signaux REQ1 à REQ4 ne sont pas forcément synchrones avec cette horloge. Les signaux de commande liés à l'horloge n'ont pas été représentés à la figure 1 pour des raisons de clarté.
Dans l'exemple représenté, les registres RE et RS sont des registres de cinq bits. Le dispositif selon l'invention pourra, bien entendu, être dimensionné pour organiser au moyen d'un même dispositif 1 les accès au bus 2 d'un plus grand nombre d'entités. On devra pour cela augmenter le nombre de bits des registres RE, RS et RP.
Les états des signaux REQO à REQ4 changent de manière aléatoire et plusieurs demandes d'accès émanant de différentes entités peuvent, ou non, être simultanées. Par contre, côté sortie du dispositif 1, un seul des signaux d'autorisation ACK0 à
ACK4 présente un état "1" correspondant à une autorisation d'accès, tous les autres signaux d'autorisation étant à "0".
Deux signaux, respectivement EOC et MA assurent, selon l'invention, une synchronisation entre le dispositif 1 et la mémoire 4 en fonction de son occupation.
Le signal EOC est un signal qui indique, par une impulsion émise par un contrôleur mémoire MC 5 associé à la mémoire 4, la fin d'un cycle de lecture ou d'écriture. Ce signal
EOC est envoyé, par le contrôleur 5, au décodeur de priorité 6.
Le signal MA est délivré, par le décodeur 6, au contrôleur mémoire 5 de la mémoire 4 pour lui indiquer la présence d'une demande d'accès qui doit être satisfaite. Le signal M est un signal binaire dont l'état indique au contrôleur mémoire 5 que la mémoire 4 va, ou non, être adressée. Par exemple, un état "1" indique qu'une autorisation d'accès a été donnée par le dispositif 1. Le positionnement à l'état "1" du signal M est simultané avec le positionnement à l'état "1" d'un des signaux ACK0 à ACK4. Le signal MA est, par exemple, obtenu par la somme (OU logique) des signaux ACK0 à ACK4, ou des signaux REQO à REQ4 en sortie du registre RE. Le signal MA est positionné à l'état "0" à l'apparition d'une impulsion sur le signal EOC pour indiquer que la mémoire 4 est libre pour un nouvel accès.
Bien que cela n'ait pas été représenté, le registre RS comporte un bit supplémentaire afin que le signal M soit synchrone avec celui des signaux ACK0 à ACK4 qui est positionné à "1" .
Si le signal M est à l'état "0" et qu'une entité U1
U2, U3 ou U4 ou le microprocesseur 3 envoie une demande d'accès, cette demande est, selon l'invention, satisfaite quasi-immédiatement. Pour ce faire, le chargement de l'état des signaux REQO à REQ4 dans le registre RE, donc l'autorisation éventuelle d'un nouvel accès par le décodeur de priorité 6, est commandé par un signal LOAD issu du décodeur de priorité 6.
Ce signal LOAD est conformé pour permettre un chargement périodique, le plus rapide possible, si la mémoire 4 est libre lorsqu'une demande d'accès arrive sur une des entrées du registre RE. Par contre, si une demande d'accès arrive pendant un cycle de lecture ou d'écriture de la mémoire 4, le chargement de l'état des signaux REQ0 à REQ4 dans le registre RE est autorisé par le signal LOAD à l'apparition d'une impulsion véhiculée par le signal EOC. Le signal LOAD est, par exemple, le résultat d'une combinaison logique de type "OU" (non représentée) du produit du signal EOC par le signal MA et du produit d'un premier signal d'horloge CLK1 par l'inverse du signal MA.
L'apparition d'une impulsion sur le signal EOC sert en outre au décodeur 6 pour basculer celui des signaux ACK0 à ACK4 qui est à l'état "1" vers l'état "0". Cela permet, à la fois, d'autoriser l'accès au bus 2 à une autre entité et de prévenir l'entité qui vient d'accéder au bus 2 que la mémoire 4 a terminé sa tâche. Lorsqu'un signal ACK passe à l'état "1", l'entité qui y est associée présente une adresse sur le bus d'adresse et le bit de lecture/écriture sur le bus unifilaire correspondant. Si l'entité a adressé la mémoire en écriture, elle présente également les données sur le bus de données. Si l'entité a adressé la mémoire en lecture, elle échantillonne le bus de données lorsque le signal ACK passe à l'état "0".
Le signal LOAD commande également la lecture du registre programmable RP par le décodeur 6.
Le décodeur 6 délivre au contrôleur mémoire 5 le signal binaire M qui lui indique, par son état, si la mémoire 4 va être adressée, ou non. L'état "0" indique qu'aucune demande d'accès n'est présente sur les entrées du registre RE tandis que l'état "1" indique qu'une autorisation d'accès à été donnée.
La mémoire vive 4 peut être une mémoire statique SRAM ou une mémoire dynamique DRAM.
S'il s'agit d'une mémoire dynamique DRAM, un circuit de rafraîchissement de cette mémoire doit périodiquement avoir accès au bus 2 pour lire les cellules de la mémoire 4 et ainsi les rafraîchir. Selon l'invention, le circuit de rafraîchissement constitue alors l'entité U4 et ses demandes d'accès au bus 2 sont gérées de manière particulière par le dispositif 1, comme on le verra par la suite en relation avec la description de la figure 2.
Si la mémoire 4 est une mémoire statique SRAM, le dispositif 1 organise l'accès au bus 2 entre le microprocesseur 3 et les entités U1, U2 et U3.
Le décodeur de priorité 6 reçoit, en outre, un signal
TRI et délivre un signal TRO. Ces deux signaux sont liés à une possibilité, selon l'invention, de partager un même bus 2 entre plusieurs groupes d'entités associés chacun à un dispositif d'arbitrage 1 comme on le verra en relation avec la figure 4.
Un avantage de la présente invention est que l'affectation du bus 2 à une entité U1, U2, U3, U4 ou au microprocesseur 3 s'effectue sans intervention du microprocesseur 3.
Un autre avantage de la présente invention est que les rangs de priorité affectés au microprocesseur 3 et aux entités
U1, U2 et U3 peuvent être modifiés dynamiquement par un simple changement des codes contenus dans le registre programmable RP.
La programmation de ce registre s'effectue de manière classique au moyen du microprocesseur 3.
La figure 2 illustre le contenu du registre programmable RP du dispositif représenté à la figure 1.
Dans l'exemple représenté, ce registre est un registre de huit bits qui contient un codage de la priorité affectée aux trois entités U1, U2, U3 et au microprocesseur 3. Comme cela a déjà été dit, le circuit de rafraîchissement d'une mémoire dynamique DRAM dont la priorité est gérée différemment de celle des autres entités par le décodeur 6 constitue l'entité U4.
Chacune des trois entités restantes (et le microprocesseur 3) est identifiée par un code de deux bits. Les huit bits du registre RP sont divisés en quatre paires de bits, respectivement (P10, Pli}, {P20, P21}, (P30, P31} et {P40, P41}.
Le rang de priorité d'une entité est déterminé par la paire de bits dans laquelle est introduit le code qui l'identifie. Les bits contenus dans la paire {P10, P11) correspondent aux bits d'identification de l'entité possédant le rang de priorité le plus élevé parmi les entités (U1, U2, U3 et 3) qui sont codées.
Le code identifiant l'entité dont le rang de priorité est le plus faible est contenu dans la paire (P40, P41}.
Une caractéristique de la présente invention est que le décodeur de priorité 6 travaille, en réalité, non pas sur quatre mais sur six rangs de priorité. En effet, deux rangs de priorité supplémentaires sont affectés au circuit de rafraîchissement U4 si la mémoire 4 est une mémoire dynamique DRAM. En désignant par P1, P2, P3 et P4 les rangs de priorité affectés de manière programmée aux entités U1, U2, U3 et au microprocesseur 3, les deux rangs supplémentaires affectés au circuit de rafraîchissement U4 sont P0 et P5. Le rang PO est le rang de priorité absolue tandis que le rang P5 est le rang de priorité le plus faible.
On affecte donc, selon l'invention, deux rangs de priorité au circuit de rafraîchissement U4. On utilise pour cela le fait qu'un rafraîchissement d'une mémoire dynamique n'est pas effectué de manière aléatoire, mais périodiquement, et que ce rafraîchissement n'est pas réalisé en une seule fois pour toute la mémoire mais par parties de celle-ci.
Classiquement, la période entre deux affectations du bus 2 au rafraîchissement est fixe et on attribue au circuit de rafraîchissement le rang de priorité le plus élevé. On ne peut en effet pas se permettre, sous peine de perdre le contenu de la mémoire, que celle-ci ne soit pas rafraîchie pendant une durée trop longue sous prétexte que d'autres entités, qui auraient été données prioritaires par rapport au rafraîchissement, demandent l'accès au bus 2 en même temps que ce circuit. Classiquement, le circuit de rafraîchissement se voit donc affecter le bus 2 dès qu'il le demande, par exemple toutes les 15 microsecondes, pendant au moins la durée d'un cycle de lecture. En fait, le rafraîchissement complet de la mémoire 4 est beaucoup plus long (de l'ordre de 1 à 8 millisecondes selon la capacité de la mémoire 4) mais ne s'effectue pas en une seule fois.
Selon l'invention, le circuit de rafraîchissement U4 se voit attribuer, soit le rang P5 de priorité le plus faible, soit le rang PO de priorité le plus élevé et ce, selon la satisfaction qui lui a été donnée pendant qu'il est dans une période où il dispose du rang P5 de priorité le plus faible.
En d'autres termes, pendant une première demi-période (par exemple de 7,5 microsecondes) de l'intervalle régulier (par exemple, 15 microsecondes) entre deux demandes de rafraîchissement, le rang de priorité du circuit U4 est P5, c'est-à-dire qu'il n'aura accès au bus 2 que si ce dernier est libre. Si sa demande est satisfaite pendant cette demi-période, son rang de priorité n'est pas modifié jusqu'à la première demi-période de l'intervalle suivant. Si par contre, sa demande n'a pas été satisfaite pendant la première demi-période, il se voit alors affecter le rang de priorité absolue P0 pendant la seconde demipériode de l'intervalle régulier entre deux de ses demandes d'accès.
Ainsi, le circuit de rafraîchissement U4 a accès au bus 2 de manière régulière mais pas périodique. Il a accès au bus 2 une fois par intervalle de 15 microsecondes mais n'importe où entre le début de cet intervalle et la première apparition d'une impulsion sur le signal EOC dans la seconde demi-période de cet intervalle.
Un avantage de la présente invention est que, comme il y a une probabilité très importante pour que la demande au rang P5 du circuit U4 soit satisfaite pendant la première demipériode, les autres entités ne sont pas pénalisées en cas d'un afflux temporaire de demandes simultanées. On assure cependant la sécurité du rafraîchissement en le rendant prioritaire si l'afflux de demandes se prolonge au-delà de cette première demipériode.
Le choix de la demi-période comme limite de changement du rang de la priorité du circuit de rafraîchissement U4 permet que le traitement de cette priorité soit particulièrement simple. En effet, il suffit d'utiliser le signal périodique de demande d'accès REQ4 délivré par le circuit de rafraîchissement
U4 et d'effectuer une division par deux de sa période, pour obtenir un signal binaire pouvant refléter de sa priorité.
Le mode particulier de priorité affecté au circuit de rafraîchissement d'une mémoire dynamique peut, le cas échéant, être utilisé pour une autre entité si la mémoire 4 est une mémoire statique. Il peut en effet se produire qu'une entité a un mode de fonctionnement similaire, c'est-à-dire un besoin d'accès régulier mais non nécessairement périodique au bus 2.
De préférence, la logique du décodeur de priorité 6 est réalisée de manière à ce que, en cas de demandes simultanées, une même entité ne puisse se voir attribuer le bus 2 pendant deux cycles de lecture ou d'écriture successifs. En d'autres termes, une entité qui vient d'avoir accès au bus 2 doit patienter, au moins pendant un cycle mémoire, si une autre demande émanant d'une autre entité est en attente et ce, même si elle dispose du rang de priorité relative (c'est-à-dire parmi les entités qui présentent des demandes d'accès) le plus élevé.
On évite ainsi qu'une même entité qui dispose de la priorité relative la plus élevée monopolise le bus 2.
Un avantage de la présente invention est qu'en cas d'afflux de demandes d'accès, il n'y a pas d'attente entre la fin d'un cycle de lecture ou d'écriture de la mémoire 4 et le début du cycle suivant. Les cycles de lecture ou d'écriture de la mémoire 4 peuvent donc, selon l'invention, être jointifs. Il n'y a donc pas de perte de temps occasionnée par l'organisation des accès au bus 2. Si une ou plusieurs entités demandent l'accès au bus, celles-ci seront satisfaites sans perte de temps entre deux cycles mémoire.
Cette caractéristique de la présente invention sera mieux comprise en relation avec la description de la figure 3 qui suit.
La figure 3 représente, sous forme de chronogrammes, un exemple d'une situation d'arbitrage d'accès à la mémoire 4 par le dispositif 1. Pour des raisons de clarté, on a considéré pour l'établissement de cette figure que seules les deux entités U1 et U2 étaient susceptibles d'avoir besoin d'accéder au bus 2.
La figure 3 représente les chronogrammes des signaux
CLK1, EOC, LOAD, REQ1, REQ2, MA, ACK1 et ACK2 et des cycles de la mémoire 4. Pour des raisons de clarté, ces chronogrammes ne sont pas à l'échelle. On suppose que l'entité U1 est prioritaire par rapport à l'entité U2.
Comme il a été dit plus haut, le signal LOAD de chargement dans le registre RE des demandes d'accès éventuelles est une combinaison logique des signaux CLK1, EOC et MA.
On suppose qu'aucune requête n'est présente avant un instant t1 où l'entité U1 positionne le signal REQ1 à l'état "1". Avant l'instant t1, le signal LOAD provoque donc le chargement des états des signaux REQ1 et REQ2 de façon périodique en suivant les cycles du signal d'horloge CLK1 (le signal MA est à l'état "0").
A l'instant t1, l'entité U1 demande l'accès au bus. Le chargement de cette demande intervient au front montant suivant (instant t2) du signal CLK1.
On suppose que le décodeur de priorité 6 a besoin d'un délai T6 pour examiner les demandes d'accès et délivrer une autorisation d'accès. Ce délai dépend de la logique du décodeur de priorité 6. On suppose que ce délai est inférieur à la période du signal CLK1. Cette condition est aisément réalisable en pratique. Par exemple, la fréquence du signal d'horloge CLK1 est de l'ordre de 32 MHz et le délai T6 nécessaire au décodage de la priorité est de l'ordre de 10 nanosecondes.
Ainsi, à un instant t3 qui correspond au front montant suivant du signal CLK1, le décodeur 6 positionne les signaux
ACK1 et MA à l'état "1". Le passage du signal ACK1 à l'état "1" conduit à ce que le signal REQ1 passe à l'état "0", l'entité U1 se considérant servie. Le passage du signal MA à l'état "1" signale au contrôleur mémoire 5 le début d'un premier cycle de lecture ou d'écriture dans la mémoire 4. En pratique, le début du cycle mémoire est quelque peu retardé par rapport au passage du signal MA à l'état "1".
A un instant t5, le contrôleur mémoire 5 délivre une impulsion sur le signal EOC. Cette impulsion est, selon l'invention, délivrée avant la fin du cycle mémoire qui intervient à un instant t6, après un délai T5 par rapport à cette impulsion.
Comme le contrôleur mémoire 5 connaît la durée d'un cycle mémoire, il est possible de le configurer pour qu'il délivre l'impulsion du signal EOC en avance par rapport à la fin d'un cycle mémoire et toujours avec le même délai T5. Cela permet que le décodeur de priorité 6 anticipe la fin d'un cycle mémoire. Le délai T5 est fonction du temps de traitement des demandes d'accès par le dispositif 1 (temps x6 et temps nécessaire à la synchronisation par le registre RS).
A l'instant t5 et sous l'effet de l'impulsion du signal EOC, les signaux MA et ACK1 repassent à l'état "0". Le signal LOAD passe à l'état "1" pendant l'impulsion du signal EOC ce qui permet le chargement des états des signaux REQ1 et REQ2 à l'instant t5. Pour des raisons de clarté, on n'a pas tenu compte du retard du passage à l'état "0" des signaux MA et ACK1 par rapport à l'apparition de l'impulsion sur le signal EOC. En pratique, l'impulsion sur le signal EOC apparaît durant l'avant dernière période du signal CLK1 contenue dans le cycle mémoire pour que le signal MA passe à l'état "0" au front montant (ici, l'instant t5) du signal CLK1 qui précède la fin du cycle mémoire.
Ainsi, le décodeur 6 examine les signaux REQ1 et REQ2 pendant le dernier cycle d'horloge du cycle mémoire en cours. On suppose que l'entité U2 a émis une demande d'accès à un instant t4 durant le premier cycle mémoire. Cette demande se trouve chargée dans le registre RE à l'instant t5. Même si on suppose que l'entité U1 souhaite effectuer deux cycles successifs d'écriture ou de lecture dans la mémoire 4, son signal REQ1 reste cependant à l'état "0" jusqu'à l'instant t6 qui correspond à la fin réelle du cycle mémoire en cours. En effet, l'entité U1 ne positionne pas son signal REQ1 tant que le cycle mémoire n'est pas terminé dans la mesure où elle a encore accès au bus 2.
Or, à cet instant t6, le décodeur 6 positionne les signaux MA et REQ2 à l'état "1" pour donner l'accès au bus 2 à l'entité U2. Ainsi, même si l'entité U1 est prioritaire devant l'entité U2, sa nouvelle demande d'accès successive ne pourra être satisfaite qu'à la fin du deuxième cycle mémoire qui est utilisé par l'entité U2. On évite ainsi que l'entité U1 monopolise le bus 2.
Un autre avantage d'un tel décodage de priorité anticipé par rapport à la fin réelle d'un cycle mémoire est que cela permet de rendre les cycles mémoire jointifs en cas d'afflux de demandes d'accès. En effet, l'instant t6 correspond à la fois à la fin du premier cycle mémoire et au début du deuxième cycle mémoire.
A un instant t7 où apparaît, sur le signal EOC, une impulsion indicatrice de la fin proche du deuxième cycle mémoire, l'état "1" du signal REQ1 et l'état "0" du signal REQ2 sont chargés dans le registre RE. Ainsi, un nouvel accès au bus 2 est donné à l'entité U1, à un instant t8.
On suppose qu'à la fin (instant t10) du troisième cycle mémoire, plus précisément entre un instant tg où apparaît une impulsion sur le signal EOC et la fin réelle (instant t10) du cycle mémoire, aucune demande d'accès n'est présente et que l'entité U1 ne souhaite pas immédiatement un nouvel accès. On revient donc dans un fonctionnement d'examen périodique des demandes d'accès sous commande du signal CLK1.
On suppose que les entités U1 et U2 demandent toutes deux un accès au bus 2, respectivement à des instants t11 et t121 compris dans une même période du signal CLK1. Le fait que les instants t11 et t12 sont, ou non, simultanés n'a aucune importance.
A l'apparition du front montant suivant (instant t13) du signal CLK1, le signal LOAD passe à 1 'état "1" et le décodeur 6 examine les demandes d'accès qui sont chargées dans le registre RE. Comme deux demandes d'accès sont présentes, le décodeur attribue le bus 2 à l'entité prioritaire, ici l'entité U1, à un instant t14 qui correspond au front montant suivant du signal
CLK1.
Comme l'entité U2 n'a pas été servie, le signal REQ2 reste à l'état "1" jusqu'à la fin du quatrième cycle mémoire attribué à l'entité U1.
Le bus 2 sera attribué à l'entité U2 à la fin de ce quatrième cycle mémoire. Comme pour l'attribution du deuxième cycle mémoire, peu importe que l'entité U1 redemande, ou non, un accès dans la mesure où cette nouvelle demande éventuelle n'intervient que postérieurement à l'attribution du bus 2 à l'entité
U2.
Un avantage de la présente invention est que le dispositif s'adapte à n'importe quelle mémoire vive 4 qu'elle soit statique ou dynamique et ce, quelle que soit sa taille et son temps de cycle. Le dispositif 1 n'a en effet pas besoin d'être dédié à une mémoire particulière grâce à l'emploi des signaux
EOC et MA et à la gestion éventuelle du rafraîchissement d'une mémoire dynamique DRAM.
La figure 4 illustre un mode de réalisation d'un anneau à "jeton" selon l'invention permettant le partage d'une même mémoire 4 entre plusieurs groupes, respectivement 10, 11 et 12, d'entités associés chacun à un dispositif d'arbitrage 1 tel que représenté à la figure 1. L'association de plusieurs dispositifs 1 permet, selon l'invention, de partager le même bus 2, donc la même mémoire 4, entre plusieurs groupes d'entités au sein de chacun desquels est établi un ordre de priorité d'accès.
Selon l'invention, le mode de partage est organisé en anneau, c'est-à-dire que les différents groupes se voient offrir, successivement, une affectation au bus 2.
Un premier dispositif d'arbitrage 1 est associé à un premier groupe 10 de trois entités U11, U12, U13, au microprocesseur 3 et, si la mémoire 4 est une mémoire dynamique, au circuit de rafraîchissement U14 de cette mémoire.
Un deuxième dispositif d'arbitrage 1' est associé à un deuxième groupe 11 de trois ou quatre entités U21, U22, U23 et
U24. En effet, le microprocesseur 3 étant commun à tous les groupes, ses accès au bus 2 ne sont gérés que par le premier dispositif 1, choisi arbitrairement.
Pour ce qui est du circuit de rafraîchissement U14, ses accès sont eux aussi, de préférence, gérés uniquement par le premier dispositif 1. En effet et comme on le verra par la suite, la périodicité minimale des accès au bus du dispositif 1 est supérieure à la périodicité des demandes du circuit de rafraîchissement U14.
Un troisième dispositif d'arbitrage 1" est également associé à un troisième groupe 12 de trois ou quatre entités U31,
U32, U33 et U34.
Pour des raisons de clarté, l'exemple représenté ne comporte que trois groupes 10, 11 et 12. En pratique, le nombre maximal de groupes est fonction de la fréquence moyenne des besoins d'accès des différentes entités.
Chaque groupe 10, 11 ou 12 est organisé d'une manière similaire à celle exposée en relation avec la figure 1.
Selon l'invention, le partage du bus 2 est géré par les dispositifs d'arbitrage eux-mêmes. Pour ce faire, les dispositifs 1, 1' et 1" sont reliés en anneau au moyen des signaux
TRI et TRO par une liaison unifilaire. Le signal de sortie TRO du dispositif 1 est envoyé sur l'entrée du signal TRI du dispositif 1', le signal de sortie TRO du dispositif 1' est envoyé sur l'entrée du signal TRI du dispositif 1" et le signal de sortie TRO de ce dernier est envoyé sur l'entrée du signal TRI du dispositif 1. Le rôle de ces signaux TRI et TRO est de faire circuler un "jeton", sous la forme d'une impulsion, dans l'anneau. Chaque dispositif 1, 1' ou 1" peut avoir accès au bus 2 lorsqu'il est en possession du "jeton".
Selon l'invention, à chaque fois qu'une impulsion véhiculée par le signal EOC arrive sur le décodeur de priorité 6 d'un dispositif, le dispositif qui dispose du "jeton" délivre une impulsion sur sa sortie TRO. Ainsi, le dispositif suivant reçoit le "jeton" et peut affecter le bus 2 à une de ses entités et ainsi de suite. Lorsqu'un groupe d'entités dispose du "jeton" et qu'une entité de ce groupe souhaite accéder à la mémoire 4, le dispositif 1, 1' ou 1" de ce groupe positionne le signal MA à l'état "1". Si un dispositif d'arbitrage qui reçoit le "jeton" n'a, sur les entrées de son registre RE (figure 1), aucune demande d'accès émanant d'une de ses entités, il fait suivre immédiatement l'impulsion au dispositif suivant par son signal
TRO.
Le fait d'obliger la circulation du "jeton" à l'apparition d'une impulsion sur le signal EOC permet d'interdire qu'un groupe monopolise le bus 2 si un autre groupe en a besoin. Le signal EOC émis par le contrôleur mémoire 5 est donc, selon l'invention, envoyé sur chacun des dispositifs 1, 1 et 1". De même, les signaux MA des dispositifs 1, 1' et 1" sont tous envoyés vers le contrôleur mémoire 5.
Un avantage d'une telle association est qu'elle permet de partager une même mémoire 4 entre un grand nombre d'entités sans avoir recours au microprocesseur 3 et en respectant un équilibre d'accès pour plusieurs groupes qui ont besoin du bus 2 simultanément.
Un autre avantage de la présente invention est que la circulation du "jeton" interdit à une entité d'un groupe de disposer de l'accès au bus 2 pour effectuer deux cycles mémoire successifs si une autre entité du même groupe ou d'un autre groupe a également demandé l'accès. Par contre, si elle est la seule parmi toutes les entités de tous les groupes à demander l'accès au bus, elle sera la seule à avoir accès au bus 2.
Si, par exemple, la durée d'un cycle mémoire est de l'ordre de 250 nanosecondes et que la période des cycles de rafraîchissement est de 15 microsecondes, on peut, en négligeant le temps nécessaire à la circulation du "jeton" dans l'anneau, raccorder jusqu'à 60 groupes d'entités sur le bus 2 sans que le rafraîchissement de la mémoire 4 soit remis en cause. En effet, par la circulation obligatoire du "jeton" à la fin de chaque cycle mémoire, on est sùr que le circuit de rafraîchissement U14 associé au seul dispositif 1 disposera du bus 2 au moins une fois par cycle de rafraîchissement.
Dans l'exemple de réalisation représenté à la figure 4, on suppose que tous les dispositifs d'arbitrage 1, 1' et 1" comportent des registres RE, RS et RP (non représentés à la figure 4) de tailles identiques. Bien entendu, on peut prévoir que les différents groupes 10, 11 et 12 comportent des nombres d'entités différents d'un groupe à l'autre en dimensionnant de manière appropriée les registres RE, RS et RP des dispositifs 1, 1' et 1". De même, les groupes 11 et 12 peuvent chacun, le cas échéant, gérer les accès d'une cinquième entité (non représentée) ayant besoin d'accès réguliers mais non périodiques au bus 2 et à laquelle les signaux REQ4 et ACK4 des dispositifs 1', respectivement 1", sont associés. Il en est de même du dispositif 1 si la mémoire 4 est une mémoire statique SRAM.
Pour permettre la circulation du "jeton", chaque dispositif 1, 1' ou 1" comporte, au sein de son décodeur de priorité 6, un circuit de génération et de régénération de l'impulsion (non représenté à la figure 4).
La figure 5 représente un mode de réalisation d'un circuit de génération et de régénération de l'impulsion constituant le "jeton" selon l'invention.
Un tel circuit comporte un bloc 40 de génération initiale de l'impulsion constituant le "jeton" et un bloc 41 de régénération de l'impulsion lorsqu'elle circule sur l'anneau.
Le bloc 40 a pour rôle de générer une impulsion à la mise en route du circuit ou suite à une réinitialisation déclenchée par une impulsion sur un signal RESET. Le signal RESET sert, comme on le verra par la suite, soit à générer un nouveau "jeton", soit à permettre un fonctionnement local d'un des groupes 10, 11 ou 12. Le bloc 40 reçoit, du microprocesseur 3, un bit DRD qui est à l'état "1" pendant les périodes où l'anneau doit fonctionner et qui est à l'état "0" hors de ces périodes, par exemple, pour un fonctionnement local d'un des groupes.
Le bloc 40 délivre au bloc 41 un signal TL porteur du "jeton" qu'il délivre initialement ainsi qu'un signal binaire TK de validation du "jeton".
Le bloc 41 a pour rôle de recevoir le "jeton" véhiculé par le signal TRI et, soit de redélivrer quasi-immédiatement le "jeton" sur le signal TRO si aucune des entités qui lui sont associées n'a demandé d'accès, soit de redélivrer le "jeton" à la fin d'un cycle mémoire qu'il attribue à une des entités qui lui sont associées.
Le bloc 41 reçoit, outre le signal RESET délivré par le microprocesseur 3 et les signaux TRI, TK et TL, un signal binaire REQT indicateur, par un état "1", de la présence d'une demande d'accès au sein du dispositif 1, 1' ou 1" auquel il est associé. Ce signal REQT est positionné par le décodeur de priorité 6 de ce dispositif. Le signal REQT correspond, par exemple, à une combinaison logique de type "OU" des signaux REQO à REQ4, en entrée du registre RE (figure 1) avec le signal MA, le résultat de cette combinaison étant validé, par exemple, par une combinaison logique de type "ET" avec l'inverse du signal
TRO et l'inverse du signal EOC.
Le bloc 41 délivre, outre le signal TRO, un signal binaire ACKT qui signale, par un état "1", au décodeur de priorité 6 du dispositif 1, 1' ou 1" auquel il est associé et lorsque le signal REQT est à l'état "1", la présence du "jeton".
Selon l'invention, le signal REQT respecte également les conditions suivantes. Le signal REQT d'un dispositif d'arbi trage qui a accès à la mémoire reste à l'état "1" pendant toute la durée d'un cycle mémoire (en fait, pendant que le signal MA est à l'état "1") pour retenir le "jeton" jusqu'à la fin du cycle mémoire qu'il utilise. De plus, le passage à l'état "0" du signal REQT est forcé lors de la fin du cycle mémoire (en fait quelque peu avant la fin réelle du cycle, par exemple, à l'apparition d'une impulsion sur le signal EOC) pour obliger le lancement du "jeton" même si un des signaux REQ du groupe qui dispose de l'accès au bus est à l'état "1" en entrée du registre
RE afin d'éviter que ce groupe monopolise le bus 2.En outre, on interdit le passage à l'état 1 du signal REQT pendant le cycle d'horloge où le "jeton" est lancé (signal TRO) pour éviter que le bloc 41 du dispositif d'arbitrage qui vient de lancer le "jeton" repasse le signal ACKT à l'état "1".
La réalisation pratique de la logique permettant l'ob- tention du signal REQT est à la portée de l'homme du métier en fonction des indications fonctionnelles données en relation avec les figures 5 à 7.
Les blocs 40 et 41 reçoivent en outre un signal d'horloge CLK2. On veillera à ce que le signal CLK2 soit le même pour tous les dispositifs d'arbitrage 1, 1' et 1" de l'anneau. De préférence, le signal CLK2 correspond au signal CLK1 utilisé pour l'obtention du signal LOAD (figure 3).
Le bloc 40 de génération initiale pourrait, le cas échéant, être réalisé uniquement au sein d'un des dispositifs dans la mesure où le "jeton" est lancé, initialement, par un seul des dispositifs 1, 1' et 1". Cependant, pour une standardisation du dispositif d'arbitrage selon l'invention et pour permettre un fonctionnement local de n'importe quel groupe 10, 11 ou 12, on préférera prévoir systématiquement un bloc 40. On veillera cependant à ce que le bit DRD délivré par le microprocesseur 3 ne soit envoyé qu'au bloc 40 du dispositif choisi, arbitrairement, pour le lancement initial du "jeton".
La figure 6 représente un exemple de réalisation du bloc 40 de génération initiale du "jeton".
Le "jeton" est initialement généré sous la forme d'une impulsion véhiculée par le signal TL délivré par une sortie noninverseuse d'une bascule D 50. La bascule 50 est commandée par les fronts montants du signal d'horloge CLK2. L'entrée D de cette bascule 50 est reliée à la sortie d'une porte logique "ET" 51 à trois entrées. Cette porte 51 reçoit le bit DRD, l'inverse du signal TL délivré par la sortie inverseuse de la bascule D 50 et l'inverse du signal TK. Le signal TK est produit par l'association de deux portes logiques "NON(ET)" 52 et 53 à deux entrées, montées en bistable. Une première porte 52 reçoit l'inverse du signal RESET ainsi que le signal TK de sortie d'une deuxième porte 53.Cette deuxième porte 53 reçoit l'inverse du signal TK délivré par la sortie de la porte 52 et l'inverse du signal TL délivré par un inverseur 54 dont l'entrée est reliée à la sortie non-inverseuse de la bascule D 50.
Le fonctionnement du bloc 40 sera mieux compris en relation avec la description de la figure 8.
La figure 7 représente un exemple de réalisation du bloc 41 de régénération du "jeton".
Le bloc 41 comporte une bascule JK 60 dont la sortie non-inverseuse Q est envoyée sur l'entrée d'une bascule D 61. La bascule D 61 est commandée par les fronts montants du signal d'horloge CLK2 tandis que la bascule JK 60 est commandée par les fronts descendants du signal CLK2 qui traverse, pour ce faire, un inverseur 62. La bascule JK 60 reçoit sur son entrée J une combinaison logique "OU" 63 des signaux TL et TRI. L'entrée K de la bascule JK 60 reçoit le signal TRO qui délivre le "jeton" régénéré. Le signal TRO est délivré par une porte logique "ET" 64 à deux entrées. Ces deux entrées sont reliées, respectivement, à la sortie non-inverseuse SD de la bascule D 61 et à la sortie d'un inverseur 65 qui reçoit en entrée le signal REQT. La sortie SD de la bascule D 61 est, de plus, combinée avec le signal REQT dans une porte logique "ET" 66. La sortie de la porte 66 est reliée à une première entrée d'un multiplexeur 67 dont une deuxième entrée reçoit le signal REQT. Le multiplexeur 67 est commandé par le signal TK délivré par le bloc 40. La première entrée du multiplexeur 67 est sélectionnée si le signal TK est à l'état "1".
La figure 8 illustre le fonctionnement des blocs 40 et 41. Cette figure représente, sous forme de chronogrammes, les signaux CLK2, TL, TK, TRI, Q, SD, REQT, ACKT et TRO durant une situation prise pour exemple. Ces signaux sont considérés du point de vue du dispositif 1, 1 ou 1" qui reçoit le bit DRD.
A la mise en route du circuit, on suppose que les signaux RESET, TRI, TRO et TL sont à l'état "0". L'inverse du signal TK est donc à l'état "1". Lorsque le microprocesseur 3 positionne le bit DRD à l'état "1" (instant t0), la sortie de la porte 51 passe à l'état "1". Ainsi, lors du front montant suivant (instant t1) de l'horloge CLK2, le signal TL passe à l'état "1".
La sortie de l'inverseur 54 passe donc à l'état "0" ce qui provoque le passage à l'état "1" du signal TK en sortie de la porte 53. La sortie de la porte 52 passe alors à l'état "0".
Dans le même temps, la sortie de la porte 63 (bloc 41) passe a l'état "1". Ainsi, lors du front descendant suivant (instant t2) du signal CLK2, la sortie Q de la bascule JK 60 passe à l'état "1".
La durée de l'impulsion délivrée par le signal TL correspond à une période du signal d'horloge CLK2. En effet, lors du front montant suivant (instant t3), le signal TL repasse à l'état "0" en raison du passage à l'état "0" de la porte 51 sous l'effet de l'inverse du signal TL et de l'inverse du signal TK.
La sortie de l'inverseur 54 passe alors à l'état "1" ce qui maintient le signal TK à l'état "1".
A l'instant t3, la sortie SD de bascule D 61 passe à l'état "1". Comme le signal REQT est à l'état "0", le signal TRO passe à l'état "1". Au même instant, l'entrée J de la bascule JK passe à l'état "0".
La durée de l'impulsion, ou "jeton", délivré par le signal TRO est d'une période de l'horloge CLK2. En effet, lors du front descendant suivant (instant t4) du signal CLK2, la sortie Q de la bascule JK passe à l'état "0" dans la mesure où son entrée K se trouve à "1". Ainsi, lors du front montant suivant (instant t5) du signal d'horloge CLK2, le signal TRO repasse à l'état "0".
Le "jeton" circule alors sur l'anneau pour être, le cas échéant, pris par d'autres dispositifs d'arbitrage. On suppose que pendant ce temps, le signal REQT passe à 1 'état "1" (instant t6) indiquant qu'au moins une entité du groupe 10 demande l'accès au bus 2.
Lorsque le "jeton" arrive sur le signal TRI (instant t7), la sortie de la porte 63 passe à l'état "0". Au front descendant suivant (instant t8) du signal CLK2, la sortie Q de la bascule JK 60 passe donc à l'état "1". Ainsi, lors du front montant suivant (instant tg) du signal CLK2, la sortie SD de la bascule D 61 passe à l'état "1". Cela provoque le passage à l'état "1" de la sortie de la porte 66, et comme le signal TK est à l'état "1", le signal ACKT passe à l'état "1". Le décodeur de priorité 6 peut alors donner une autorisation d'accès au bus.
Selon l'invention, le signal LOAD délivré par le décodeur de priorité 6 (figure 1) est en fait une combinaison logique tenant compte, outre des signaux CLK1, EOC et MA, du signal ACKT. Cela permet de ne charger les signaux REQ1 à REQ4 (figure 1), dans le registre RE, que lorsque le dispositif d'arbitrage est en mesure d'autoriser un accès au bus 2. On évite ainsi qu'une première entité disposant d'un rang de priorité élevé soit doublée par une deuxième entité du même groupe disposant d'un rang de priorité faible mais ayant émis une demande d'accès avant l'arrivée du "jeton" et avant la première entité. La réalisation pratique de la combinaison logique permettant l'obtention du signal LOAD est à la portée de l'homme du métier en fonction des indications fonctionnelles données cidessus.
En variante, le signal ACKT peut être remplacé par le signal TRI pour la validation du signal LOAD. L'utilisation du signal TRI permet d'anticiper, d'une période du signal d'horloge
CLK2, l'autorisation de délivrer un accès.
Comme le signal REQT est à l'état "1", le passage à l'état "1" du signal SD, provoqué par le passage du signal TRI à l'état "0" à l'instant tg, ne conduit pas au lancement du "jeton" sur le signal TRO.
Les signaux Q, SD, ACKT restent à l'état "1" tant que le signal REQT ne repasse pas à l'état "0". En effet, bien que l'entrée J de la bascule JK 60 passe à l'état "0" à l'instant tgl celle-ci conserve son état de sortie, c'est-à-dire Q à l'état "1", tant que son entrée K ne repasse pas à l'état "1".
Sauf action du signal RESET, le basculement de la sortie SD de la bascule 60 ne peut donc être provoqué que par le lancement du "jeton", donc par le passage à l'état "0" du signal REQT. Or, le signal REQT reste à l'état "1" jusqu'à l'apparition d'une impulsion sur le signal EOC (figure 3) même si tous les signaux REQ0 à REQ4 en entrée du registre RE sont à l'état lloll. Le "jeton" est donc retenu pendant toute la durée du cycle mémoire.
A l'apparition d'une impulsion sur le signal EOC indiquant la fin proche du cycle mémoire, le signal REQT passe à l'état "0" (instant t10). A cet instant, la sortie de la porte 66 passe alors à l'état "0" provoquant le passage à l'état "0" du signal ACKr. La sortie de la porte 64 passe alors à l'état "1". Ainsi, le "jeton" est lancé avant la fin réelle du cycle mémoire.
Le passage à l'état "1" du signal TRO provoque, au front descendant suivant (instant t11) du signal CLK2, le passage à l'état "0" de la sortie Q de la bascule JK 60. Au front montant suivant (instant t12) du signal CLK2, la sortie SD de la bascule D 61 passe à l'état "0" ce qui provoque le passage à l'état "0" du signal TRO.
On notera que pendant le lancement du "jeton", c'està-dire pendant que le signal TRO est à l'état "1", le signal
REQT est bloqué à l'état "0" même si un des signaux REQ0 à REQ4 en entrée du registre RE est à l'état "1". On évite ainsi, que le "jeton" soit partiellement lancé et que le signal ACKT repasse à l'état "1". De plus, on oblige le "jeton" à circuler pour éviter qu'un groupe d'entités monopolise le bus 2.
Lorsque le "jeton" revient dans le dispositif (instant t13), Si le signal REQT est à l'état "0" pendant toute la durée où le signal TRI est à l'état "1", le "jeton" est régénéré quasi-immédiatement. Le fonctionnement du bloc 41 entre les instants t13, t14, t15, t16 et t17 est similaire au fonctionnement décrit pour les instants t1 à t5.
On constate donc que la génération ou régénération quasi-immédiate du "jeton" dure en fait une période du signal de l'horloge CLK2.
La limite d'apparition d'une demande d'accès par une entité d'un groupe lorsque le dispositif associé à ce dernier dispose du "jeton" est illustré par les instants t18 à t20. Pour que le dispositif retienne le "jeton", il suffit que le signal
REQT passe à l'état "1" avant la fin de l'arrivée du "jeton", c'est-à-dire avant que le signal TRI repasse à l'état "0".
On notera que si le signal REQT est à l'état "1" lors de la génération initiale du "jeton" (instant t1 à t3), le signal TL a les mêmes effets que le signal TRI de l'instant t10 ou de l'instant t18. On notera également que le "jeton" est synchrone avec le signal d'horloge CLK2.
Le signal RESET permet de supprimer le "jeton" quel que soit le dispositif d'arbitrage dans lequel il se trouve et de provoquer la génération d'un nouveau "jeton" lors de la période suivante du signal CLK2. Les portes 52 et 53 du bloc 40 permettent la génération de ce nouveau "jeton", même si le signal RESET ne véhicule qu'une impulsion et qu'il est repassé à l'état "0" lorsque apparaît le front montant de cette période suivante.
Le signal TK permet, si seul un groupe d'entités, par exemple le groupe 10, doit être autorisé à avoir accès au bus, d'éviter la circulation du "jeton" et de faire fonctionner le dispositif d'arbitrage 1 de ce groupe 10 en mode local. Le groupe 10 retrouve alors des cycles mémoire jointifs en cas d'afflux de demande d'accès de la part des entités qui lui sont associées. Pour ce faire, le bit DRD est positionné à l'état "0" pour empêcher la génération d'un "jeton" et le signal RESET du dispositif 1 est positionné à "1" tandis que les signaux RESET des autres dispositifs 1' et 1" sont maintenus à l'état "0". Les dispositifs 1' et 1" ont leur signal TK à l'état "1" et attendent un "jeton" qui ne viendra pas tandis que le dispositif 1 fonctionne comme s'il possédait le "jeton" en permanence car son signal TK est à l'état "0".En effet, dès que le signal REQT du dispositif 1 passe à l'état "1", son signal ACKT passe à l'état "1" en raison de la sélection de la deuxième entrée du multiplexeur 67. Un tel mode de fonctionnement peut servir, par exemple, lorsque seul un des groupes d'entités est en marche. Le "jeton" est alors établi automatiquement, sous commande du microprocesseur 3, dès qu'un autre groupe 11 ou 12 est mis en marche.
On notera que, même si le bit DRD du dispositif 1 est à l'état "1", le "jeton" ne sera pas lancé par ce dispositif dans la mesure où le signal RESET est maintenu à l'état "1" ce qui force le signal SD à l'état "0". Cependant, le signal TL du dispositif 1 reproduit, dans ce cas, le signal CLK2, ce qui entraîne une consommation d'énergie.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, chacun des composants décrits pourra être remplacé par un ou plusieurs éléments remplissant la même fonction.

Claims (14)

REVVDICATICS
1. Dispositif (1) d'organisation d'accès à un bus (2) reliant une mémoire (4) à au moins deux entités (3, U1, U2,
U3, U4) émettant des signaux binaires (REQO, REQ1, REQ2, REQ3,
REQ4) asynchrones représentant des demandes d'accès audit bus (2), le dispositif (1) fournissant des signaux binaires (ACICO,
ACK1, ACK2, ACK3, ACK4) d'autorisation d'accès auxdites entités (3, U1, U2, U3, U4) sur la base d'une détermination de priorité entre les différentes demandes, caractérisé en ce qu'il comporte un décodeur de priorité (6) en logique câblée associé à un registre d'entrée (RE), un chargement de l'état desdits signaux de demandes d'accès (REQO, REQ1, REQ2, REQ3, REQ4) dans ledit registre d'entrée (RE) s'effectuant, si une demande d'accès est présente alors qu'un cycle de lecture ou d'écriture de la mémoire (4) est en cours, à l'apparition d'une impulsion sur un signal (EOC) délivré par un contrôleur mémoire (5) associé à ladite mémoire (4) et indicateur de la fin d'un cycle mémoire.
2. Dispositif selon la revendication 1, caractérisé en ce que ledit signal (EOC) indicateur de la fin d'un cycle mémoire est envoyé par ledit contrôleur mémoire (5), en avance, par rapport à la fin réelle d'un cycle mémoire d'un délai (T5) qui est fonction du temps de traitement des demandes d'accès par ledit dispositif (1).
3. Dispositif selon la revendication 1 ou 2, caractérisé en ce qu'il comporte un registre programmable (RP) contenant des codes d'identification des entités (3, U1, U2, U3), la position de chaque code dans ledit registre programmable (RP) déterminant le rang de priorité (P1, P2, P3, P4) affecté à l'entité (3, U1, U2, U3) associée à ce code et ledit registre programmable (RP) étant lu, par le décodeur de priorité (6), en même temps qu'est déclenché le chargement de l'état desdits signaux de demandes d'accès (REQ0, REQ1, REQ2, REQ3, REQ4) dans ledit registre d'entrée (RE).
4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le chargement de l'état desdits signaux de demandes d'accès (REQ0, REQ1, REQ2, REQ3,
REQ4) dans ledit registre d'entrée (RE) est commandé par un signal (LOAD) représentant une combinaison logique prenant en compte au moins ledit signal (EOC) indicateur de la fin d'un cycle mémoire et un premier signal d'horloge (CLK1).
5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit décodeur de priorité (6) envoie, audit contrôleur mémoire (5), un signal binaire (MA) indicateur de la présence d'une demande d'accès autorisée, le changement d'état dudit signal (MA) étant provoqué, vers un état actif ("1"), par la présence d'une demande d'accès autorisée et, vers un état de repos ("0"), par l'apparition d'une impulsion sur ledit signal (EOC) indicateur de la fin d'un cycle mémoire.
6. Dispositif selon les revendications 4 et 5, caractérisé en ce que ledit signal (LOAD) de commande dudit registre d'entrée (RE) est validé par l'inverse dudit signal (MA) indicateur de la présence d'une demande d'accès autorisée.
7. Dispositif selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'une (U4) desdites entités effectue des demandes d'accès périodiques et dispose d'une gestion particulière de priorité qui consiste à lui affecter le rang de priorité le plus faible (P5) pendant une demi-période de l'intervalle de temps qui sépare deux de ses demandes d'accès et le rang de priorité le plus élevé (P0) pendant la seconde demipériode de cet intervalle si sa demande d'accès n'a pu être satisfaite pendant ladite première demi-période.
8. Dispositif selon la revendication 7, caractérisé en ce que ladite mémoire (4) est une mémoire dynamique (DRAM), ladite entité (U4) disposant d'une gestion de priorité particulière étant constituée d'un circuit de rafraîchissement de cette mémoire (4).
9. Dispositif selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'une desdites entités est constituée d'un microprocesseur (3).
10. Dispositif (1) selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il comporte des moyens (40, 41) pour être raccordé à d'autres dispositifs (1', 1") du même type afin d'organiser un partage de ladite mémoire (4) entre plusieurs groupes (10, 11, 12) d'entités, l'affectation du bus (2) à un desdits groupes (10, 11, 12) d'entités s'effectuant par la circulation d'une impulsion, ou "jeton", dans une liaison unifilaire reliant les différents dispositifs (1, 1', 1") en anneau, chaque dispositif (1, 1', 1") recevant ledit "jeton" sur un signal d'entrée (TRI) envoyé par un dispositif précédent (1", 1, 1') sur un signal de sortie (TRO).
11. Dispositif selon la revendication 10, caractérisé en ce que lesdits moyens comportent un bloc (41) de régénération dudit "jeton" au moyen de bascules (60, 61) commandées par un deuxième signal d'horloge (CLK2) et de portes logiques (63, 64, 66), ledit bloc de régénération (41) recevant, outre le signal d'entrée (TRI), un signal binaire (REQT) indicateur de l'existence d'une demande d'accès au sein du groupe (10, 11, 12) auquel il est associé et délivrant, audit décodeur de priorité (6) du dispositif (1, 1', 1") auquel il est associé, un signal binaire (ACKT) indicateur d'une affectation dudit "jeton" à ce dispositif, la largeur de l'impulsion constituant ledit "jeton" correspondant à une période dudit deuxième signal d'horloge (CLK2).
12. Dispositif selon la revendication 11, caractérisé en ce que l'envoi dudit "jeton" par ledit bloc (41) de régénération sur ledit signal de sortie (TRO) est déclenché, soit par l'apparition dudit signal (EOC) indicateur de la fin d'un cycle mémoire, soit par l'absence de demande d'accès de la part des entités du groupe (10, 11, 12) auquel il est associé pendant que ledit "jeton" est présent sur ledit signal d'entrée (TRI), l'en voi dudit "jeton" étant synchrone avec ledit deuxième signal d'horloge (CLK2).
13. Dispositif selon les revendications 4 et 12, caractérisé en ce que ledit signal (LOAD) de commande dudit registre d'entrée (RE) d'un dispositif est validé par ledit signal indicateur d'une affectation dudit "jeton" à ce dispositif.
14. Dispositif selon l'une quelconque des revendications 10 à 13, caractérisé en ce que lesdits moyens comportent un bloc (40) de génération initiale dudit "jeton" sous commande d'un bit (DRD), ledit bloc (40) de génération délivrant un signal (TK) permettant, en outre, de configurer ledit bloc (41) de régénération entre un fonctionnement en anneau et un fonctionnement en mode local où il conserve en permanence le droit d'autoriser un accès audit bus (2).
FR9509640A 1995-08-03 1995-08-03 Dispositif d'organisation d'acces a un bus memoire Expired - Fee Related FR2737591B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9509640A FR2737591B1 (fr) 1995-08-03 1995-08-03 Dispositif d'organisation d'acces a un bus memoire
US08/690,985 US6101564A (en) 1995-08-03 1996-08-01 Device for organizing the access to a memory bus
US09/478,600 US6584523B1 (en) 1995-08-03 2000-01-06 Device for organizing the access to a memory bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9509640A FR2737591B1 (fr) 1995-08-03 1995-08-03 Dispositif d'organisation d'acces a un bus memoire

Publications (2)

Publication Number Publication Date
FR2737591A1 true FR2737591A1 (fr) 1997-02-07
FR2737591B1 FR2737591B1 (fr) 1997-10-17

Family

ID=9481808

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9509640A Expired - Fee Related FR2737591B1 (fr) 1995-08-03 1995-08-03 Dispositif d'organisation d'acces a un bus memoire

Country Status (2)

Country Link
US (2) US6101564A (fr)
FR (1) FR2737591B1 (fr)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
KR101318116B1 (ko) 2005-06-24 2013-11-14 구글 인코포레이티드 집적 메모리 코어 및 메모리 인터페이스 회로
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
KR101303518B1 (ko) 2005-09-02 2013-09-03 구글 인코포레이티드 Dram 적층 방법 및 장치
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
JP5528001B2 (ja) * 2009-04-08 2014-06-25 キヤノン株式会社 情報処理装置、情報処理方法
WO2010144624A1 (fr) 2009-06-09 2010-12-16 Google Inc. Programmation de valeurs de résistance de terminaison dimm
US8706936B2 (en) 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0274648A1 (fr) * 1986-12-12 1988-07-20 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Circuit d'arbitrage
EP0530847A2 (fr) * 1991-09-05 1993-03-10 International Business Machines Corporation Architecture d'un anneau à jeton comprenant un arbitrage au moyen de 1-bit
US5274822A (en) * 1990-07-02 1993-12-28 Ncr Corporation Fast centralized arbitrator
EP0625753A1 (fr) * 1993-05-17 1994-11-23 AT&T Corp. Arbitre de bus programmable de façon dynamique avec des moyens pour réaction historique
EP0629955A1 (fr) * 1993-05-28 1994-12-21 International Business Machines Corporation Logique d'arbitrage pour système d'ordinateur à bus multiples

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983540A (en) * 1975-09-08 1976-09-28 Honeywell Inc. Rapid bus priority resolution
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4964034A (en) * 1984-10-30 1990-10-16 Raytheon Company Synchronized processing system with bus arbiter which samples and stores bus request signals and synchronizes bus grant signals according to clock signals
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US4972342A (en) * 1988-10-07 1990-11-20 International Business Machines Corporation Programmable priority branch circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0274648A1 (fr) * 1986-12-12 1988-07-20 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Circuit d'arbitrage
US5274822A (en) * 1990-07-02 1993-12-28 Ncr Corporation Fast centralized arbitrator
EP0530847A2 (fr) * 1991-09-05 1993-03-10 International Business Machines Corporation Architecture d'un anneau à jeton comprenant un arbitrage au moyen de 1-bit
EP0625753A1 (fr) * 1993-05-17 1994-11-23 AT&T Corp. Arbitre de bus programmable de façon dynamique avec des moyens pour réaction historique
EP0629955A1 (fr) * 1993-05-28 1994-12-21 International Business Machines Corporation Logique d'arbitrage pour système d'ordinateur à bus multiples

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"PROM PROGRAMMABLE BUS ARBITRATOR", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 27, no. 10b, ARMONK, NY, US, pages 5978 - 5981, XP000195688 *

Also Published As

Publication number Publication date
US6584523B1 (en) 2003-06-24
US6101564A (en) 2000-08-08
FR2737591B1 (fr) 1997-10-17

Similar Documents

Publication Publication Date Title
FR2737591A1 (fr) Dispositif d'organisation d'acces a un bus memoire
EP0757465B1 (fr) Circuit HDLC à bus interne partage
FR2778258A1 (fr) Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
FR2519441A1 (fr) Systeme de selection de priorite pour l'acces a un bus utilise en mode partage
FR2503898A1 (fr) Procede et dispositif d'allocation d'une ressource dans un systeme comportant des unites de traitement de donnees autonomes
FR2513407A1 (fr) Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun
FR2737637A1 (fr) Matrice de commutation entre deux groupes de multiplex
FR2528195A1 (fr) Systeme de communication entre ordinateurs
FR2939922A1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
EP0039635B1 (fr) Procédé d'arbitration centralisée, et arbitreur centralisé
EP0284534A1 (fr) Système de commutation de multiplex temporels hybrides
EP0553163A1 (fr) Procede pour repartir la memoire d'un circuit integre entre plusieurs applications
EP0033672A2 (fr) Dispositif d'aiguillage de données numériques
EP0141241B1 (fr) Procédé et dispositif de selection d'une station d'un ensemble de stations dialoguant avec une station principale
FR2618279A1 (fr) Systeme de commutation de paquets de donnees a priorites.
EP1248261A2 (fr) Procédé de gestion à accès aléatoire et rapide d'une mémoire dram
EP3660677A1 (fr) Procédé et dispositif de surveillance d'application(s) logicielle(s) avec période temporelle tampon précédant une section réservée pour un ensemble de ressource(s) partagée(s), programme d'ordinateur et système avionique associés
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
FR2611940A1 (fr) Systeme de commande d'acces memoire
EP1772808A1 (fr) Dispositif et procédé de lecture d'informations dans un ensemble de composants électroniques reliés à un bus de communication, appliqué à la lecture d'une matrice de pixels
EP0346420B1 (fr) Procede d'echange d'information dans un systeme multiprocesseur
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte
FR2629230A1 (fr) Dispositif de controle et d'acquisition de donnees a grande vitesse
FR2717921A1 (fr) Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070430