FR2717921A1 - Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. - Google Patents

Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. Download PDF

Info

Publication number
FR2717921A1
FR2717921A1 FR9403925A FR9403925A FR2717921A1 FR 2717921 A1 FR2717921 A1 FR 2717921A1 FR 9403925 A FR9403925 A FR 9403925A FR 9403925 A FR9403925 A FR 9403925A FR 2717921 A1 FR2717921 A1 FR 2717921A1
Authority
FR
France
Prior art keywords
memory
write
bus
data
cpu
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
FR9403925A
Other languages
English (en)
Other versions
FR2717921B1 (fr
Inventor
Boutaud Frederic Les J Sinodon
Sighesi Abiko
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.)
Texas Instruments France SAS
Original Assignee
Texas Instruments France SAS
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 Texas Instruments France SAS filed Critical Texas Instruments France SAS
Priority to FR9403925A priority Critical patent/FR2717921B1/fr
Priority to DE69527819T priority patent/DE69527819T2/de
Priority to EP95400640A priority patent/EP0674258B1/fr
Priority to JP06445095A priority patent/JP3808525B2/ja
Publication of FR2717921A1 publication Critical patent/FR2717921A1/fr
Application granted granted Critical
Publication of FR2717921B1 publication Critical patent/FR2717921B1/fr
Priority to US08/847,550 priority patent/US5787481A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

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

Abstract

Ce dispositif de gestion des priorités d'accès en écriture et/ou en lecture entre une unité centrale de traitement (CPU) et au moins une mémoire (11) est caractérisé en ce qu'il comporte des moyens pour gérer des accès invalides à la mémoire, comprenant au moins: - un comparateur d'adresses (19), apte à tester à chaque instant l'égalité des adresses d'écriture et de lecture en mémoire, et en cas d'égalité desdites adresses, à générer un signal (35) représentatif d'une condition d'accès invalide à la mémoire; - un circuit multiplexeur de dérivation (27) commandé par ledit signal (35) d'accès invalide, de façon à connecter ledit bus (33) de lecture vers le CPU, soit au bus (31; 31') de lecture de données en mémoire en cas d'absence d'accès invalide, soit au bus (29; 29') d'écriture de données du CPU vers la mémoire en cas d'accès invalide, de sorte que ledit bus d'écriture de données en mémoire est dérivé vers ledit bus de lecture par le CPU en cas d'accès invalide par le CPU.

Description

i La présente invention concerne un dispositif de gestion de priorité
d'écriture et/ou de lecture entre une unité centrale de traitement (CPU) et au moins une mémoire
connectée à ladite unité centrale.
En fonction de la vitesse d'exécution du proces-
seur de l'unité centrale de traitement (CPU) et des perfor-
mances d'accès en écriture ou en lecture à la mémoire, des problèmes d'accès à la mémoire par le processeur pour
réaliser une opération d'écriture ou de lecture particu-
lière peuvent apparaître dans certains systèmes de traite-
ment de données selon l'état actuel de la technique.
Ceci est particulièrement vrai dans des structu-
res dites pipeline ou à architecture parallèle, dans lesquelles le microprocesseur du CPU émet à destination d'une ou de plusieurs mémoires, des ordres d'écriture et/ou
de lecture multiples à chaque coup d'horloge.
Dans ces conditions, il existe un risque de conflit d'accès ou d'accès invalide à une cellule mémoire donnée, lorsque le CPU émet simultanément une commande d'écriture et une commande de lecture, à destination de la même cellule de mémoire, ou plus généralement lorsque la
bande passante du CPU est supérieure à celle de la mémoire.
Ceci a pour effet de dégrader les performances des échanges d'informations entre le CPU et la mémoire,
voire de faire perdre des informations.
La présente invention a pour but de remédier à ces inconvénients, et de proposer un dispositif de gestion des accès mémoire permettant d'éviter les conflits d'accès ou les accès invalides à une mémoire donnée, tout en optimisant la performance globale du système CPU et des
mémoires associées.
A cet effet, l'invention concerne un dispositif de gestion des priorités d'accès en écriture et/ou en lecture entre une unité centrale de traitement (CPU) et au moins une mémoire connectée à ladite unité centrale de traitement par au moins un bus d'adresses d'écriture et d'adresses de lecture et au moins un bus de données d'écriture et de données de lecture, ladite unité centrale de traitement étant conçue pour accéder à ladite mémoire simultanément par l'intermédiaire de plusieurs bus, caractérisé en ce qu'il comporte des moyens pour gérer des accès invalides à la mémoire, comprenant au moins: - un comparateur d'adresses, apte à tester à chaque instant l'égalité des adresses d'écriture et de lecture en mémoire, et en cas d'égalité desdites adresses, à générer un signal, représentatif d'une condition d'accès invalide à la mémoire; - un circuit multiplexeur de dérivation commandé par ledit signal d'accès invalide, de façon à connecter ledit bus de lecture vers le CPU, soit au bus de lecture de données en mémoire en cas d'absence d'accès invalide, soit au bus d'écriture de données du CPU vers la mémoire en cas d'accès invalide, de sorte que ledit bus d'écriture de données en mémoire est dérivé vers ledit bus de lecture par
le CPU en cas d'accès invalide par le CPU.
Suivant d'autres caractéristiques du disposi-
tif: - ledit comparateur d'adresses est connecté entre un bus d'adresses de lecture en mémoire et un bus
(23;23') d'adresses d'écriture en mémoire.
- Ledit circuit multiplexeur de dérivation est -
connecté en entrée à un bus d'écriture de données en mémoire d'une part, et à un bus de lecture de données en mémoire d'autre part, et connecté en sortie à un bus de
lecture à destination dudit CPU.
- Le dispositif comporte en outre des moyens de mise en attente d'une ou plusieurs opérations d'écriture en
mémoire pendant un ou plusieurs cycles d'horloge.
- Lesdits moyens de mise en attente comportent un tampon d'adresses d'écriture et un multiplexeur d'adresses d'écriture intercalés sur le bus d'adresses d'écriture en
mémoire, ledit multiplexeur d'adresses ayant une entrée -
connectée à la sortie dudit tampon d'adresses d'écriture,
et une entrée connectée sur ledit bus d'adresses d'écritu-
re. - Lesdits moyens de mise en attente comportent un tampon de données d'écriture et un multiplexeur de données d'écriture intercalés sur le bus de données d'écriture, ledit multiplexeur de données ayant une entrée connectée à la sortie dudit tampon de données d'écriture, et l'autre
entrée connectée.
- Le dispositif comporte autant de comparateurs d'adresses qu'il y a d'écritures en attente à gérer simultanément. L'invention sera mieux comprise en se référant à
la description suivante faite à titre d'exemple non
limitatif et aux dessins ci-annexés dans lesquels: - la figure 1 représente un schéma synoptique d'un exemple de système de traitement de données dans lequel l'invention peut être utilisée; - la figure 2 représente schématiquement une mémoire avec ses bus de données, d'adresse et de commande;
- la figure 3 représente un chronogramme clas-
sique des signaux utilisés en lecture de la mémoire; - la figure 4 représente une configuration des signaux de lecture/écriture correspondant à un accès invalide à une mémoire ne permettant qu'un accès par cycle d'horloge; - la figure 5 représente un schéma synoptique d'un premier mode de réalisation du dispositif de gestion d'accès selon l'invention; - la figure 6 représente le principe de la solution d'un conflit d'accès généré par un trop grand nombre d'accès simultanés en mémoire; - la figure 7 représente un diagramme synoptique d'un autre mode de réalisation du dispositif de gestion d'accès mémoire, mettant en oeuvre le principe selon la
figure 6.
On se réfère à la figure 1. On a représenté dans cette figure, uniquement à titre d'exemple, un système 1 dans lequel l'invention peut être utilisée. Il s'agit typiquement d'un système comprenant au moins une unité centrale de traitement numérique 3 à microprocesseur (CPU), reliée par un ensemble de bus de données 5, de commandes 7
et d'adresses 9, à une ou plusieurs mémoires lla à 11n.
Au cas o le nombre de bus ou le nombre des accès à une mémoire lli donnée est supérieur à ce que cette mémoire peut accepter à chaque temps d'horloge, il existe une possibilité de conflit d'accès ou d'accès invalide à cette mémoire. Dans l'exemple représenté, on suppose que la mémoire lla peut reconnaître deux demandes d'accès par cycle d'horloge. Mais si l'architecture du CPU permet de générer trois demandes d'accès par cycle d'horloge, il existe un conflit d'accès à la mémoire dès lors que trois accès en mémoire sont demandés par le CPU pendant un même
cycle.
Il est à noter que le problème que l'invention se
destine à résoudre, de même que la solution, sont totale-
ment indépendants de la largeur des bus (nombre de bits),
du sens de ceux-ci (écriture, lecture ou bus bi-direction-
nel), ou de l'organisation des données sur ces bus (par
exemple des bus multiplexés dans le temps).
Dans la figure 2, on a représenté une mémoire 11 particulière du système représenté à la figure 1. Dans cet exemple, la mémoire 11 possède trois bus d'adresse 13a, 13b, 13c, trois bus de données 15a, 15b, 15c dont deux bus (15a,15b) en lecture et un bus (15c) en écriture, ainsi qu'un ensemble de signaux de commande 17 permettant de
gérer les accès à la mémoire.
Le chronogramme des signaux d'accès à la mémoire de la figure 2 est représenté en figure 3, pour une opération conventionnelle de lecture en mémoire. Les signaux représentés sont ceux transmis entre le CPU 3, situé à gauche des signaux, et la mémoire 11 selon la figure 2, située à droite des signaux. Les deux premiers signaux représentés 3a,3b sont les deux phases d'une horloge à deux phases, décalées dans le temps d'une demipériode l'une par rapport à l'autre. Pendant la première période d'horloge T1, le CPU émet un signal de requête de
lecture 3c et un signal d'adresse de lecture 3d en mémoire.
Pendant la seconde période d'horloge T2, des données lues
en mémoire (3e) sont attendues par le CPU.
L'opération d'écriture du CPU en mémoire (non représentée) consisterait, de façon similaire, à émettre à partir du CPU une requête d'écriture et une adresse d'écriture pendant la première période d'horloge, puis à écrire les données en mémoire pendant la seconde période d'horloge. On se réfère à la figure 4. Des instructions
d'écriture ou de lecture qui sont émises de façon séquen-
tielle par le CPU, se retrouvent du fait d'une architecture de type pipeline ou parallèle, en situation de demande d'accès simultané à la mémoire. Ainsi, une instruction de demande d'accès mémoire en écriture 4d peut apparaître au même moment (T1) que la demande d'accès en lecture 4c de l'instruction suivante. Pour gérer ce problème d'accès simultané, on est obligé d'effectuer la lecture d'ordre N+1 avant l'écriture d'ordre N, ce qui correspond à un accès invalide si l'écriture et la lecture concernent la même adresse, et représente une inversion de l'ordre normal
d'accès à une mémoire.
En effet, les requêtes d'écriture d'ordre N et de lecture d'ordre N+l peuvent concerner la même adresse en mémoire. Comme les données à cette adresse mémoire n'ont pas encore été mises à jour par une écriture d'ordre N, la requête de lecture d'ordre N+1 aurait pour effet de lire de façon erronée l'information en mémoire, puisque cette dernière n'a pas encore été mise à jour par la requête d'écriture d'ordre N. On voit que dans un tel cas de conflit d'accès en mémoire, il est possible d'obtenir des informations fausses ou anciennes de la part de la mémoire. Afin de résoudre ce problème, l'invention propose un dispositif 1 de gestion d'accès en mémoire, tel que représenté de façon schématique en figure 5. Le dispositif de gestion d'accès 1 selon l'invention est implémenté dans le CPU, dans la mémoire ou dans un bloc intermédiaire, et comporte un comparateur d'adresses 19 disposé entre le bus d'adresse de lecture 21 et le bus d'adresse d'écriture 23 connectés à la mémoire, afin de comparer deux à deux les
adresses d'écriture et de lecture à chaque cycle d'horloge.
La sortie 24 du comparateur 19 est connectée, éventuelle-
ment à travers un registre 25 à un bit, à l'entrée de commande d'un multiplexeur de dérivation 27. Ce dernier reçoit en entrée, d'une part le bus d'écriture de données 29 allant de la sortie de données du CPU vers l'entrée de données de la mémoire, et d'autre part le bus 31 de lecture de données provenant de la mémoire. La sortie 33 du multiplexeur de dérivation 27 est connectée à l'entrée de
données du CPU.
Le fonctionnement du dispositif 1 de gestion d'accès selon la figure 5 est alors le suivant: dès lors que le comparateur d'adresses 19 détecte l'égalité, pendant une période donnée, de l'adresse de lecture en mémoire (bus 21) et de l'adresse d'écriture en mémoire (bus 23), ce qui correspond à un cas de conflit d'accès ou d'accès invalide, il génère sur sa sortie 24 une information d'égalité, qui constitue un signal représentatif d'une condition d'accès invalide. Ce signal est constitué par exemple par le passage d'un bit à un, et est transmis par l'intermédiaire
du registre à un bit 25 à l'entrée de commande 35 du multi-
plexeur de dérivation 27.
Alors qu'en régime normal de fonctionnement la sortie 33 du multiplexeur de dérivation 27 est connectée au bus 31 de lecture des données provenant de la mémoire, le bit de commande 35 provenant du registre de commande 25 fait basculer le multiplexeur de dérivation 27, de sorte que les données transmises à sa sortie 33 correspondent aux données qui sont dérivées et prélevées directement sur le bus 29 d'écriture en mémoire, avant l'écriture en mémoire
proprement dite.
Ainsi, les données fausses (anciennes) provenant de la mémoire sur le bus 31 de lecture en mémoire sont momentanément remplacées par les données transmises par le CPU à la mémoire sur le bus 29 d'écriture de données. De cette façon, la donnée de lecture d'ordre N+l que le CPU a demandée est prélevée directement sur le bus d'écriture 29 en shuntant la mémoire et le bus 31 de lecture en mémoire, ce qui permet au CPU de recevoir sur son bus 33 de lecture en mémoire, les données valides actualisées, et non pas des données anciennes, et ceci même en cas d'accès simultané en
écriture et en lecture, du CPU vers la mémoire.
Cependant, la solution selon la figure 5 ne permet pas de résoudre à elle seule, le problème posé par un trop grand nombre de demandes d'accès simultanées de la part du CPU, à la même cellule mémoire. Une telle situation peut néanmoins apparaître lorsque le CPU possède une bande passante supérieure à celle de la mémoire, de sorte qu'il génère plus de demandes d'accès par cycle d'horloge que ce que la mémoire peut normalement traiter. Un tel cas est représenté dans la figure 6, o on suppose que la mémoire
peut traiter deux requêtes d'accès par période d'horloge.
Le CPU présente simultanément (temps T1) à la mémoire deux requêtes de lecture Al,Al et une requête d'écriture C1, puis deux requêtes de lecture A2, B2 simultanées au temps T2. Pendant T2, il y a donc un conflit d'accès à la mémoire, puisque comme représenté sur la ligne 6f, la lecture en mémoire A2 coïnciderait avec l'écriture
C1, et ce double accès pendant la même période est invali-
de. Il est à noter que ce problème ne se poserait pas dans un système 1 identique à celui représenté en figure 1, dans lequel chaque mémoire possède justement un bus d'écriture et deux bus de lecture, de sorte qu'il n'y
aurait pas de conflit d'accès à une mémoire.
Pour résoudre le problème de conflit d'accès tel qu'illustré dans la figure 6, l'invention propose de traiter d'abord en série les accès en lecture à la mémoire, à savoir A1 et B1 en période T1, puis A2 et B2 en période T2, et de ne traiter la requête d'écriture C1 qu'à la première occasion possible, c'est-à-dire en T3 en l'espèce, comme représenté par la flèche déplaçant l'écriture Cl vers le cycle T3. L'accès C1 a donc été mis en attente pour
traiter en priorité les accès Al,B1,A2,B2.
Afin de déterminer la période pendant laquelle l'écriture correspondant à la requête d'écriture en attente Cl devient possible, on utilise un signal 6g d'"écriture pendante" qui passe à l'état haut lorsque le conflit d'accès apparait. L'apparition de ce signal est utilisée pour stocker l'adresse et la donnée d'écriture en mémoire (tel que décrit plus loin) jusqu'à ce qu'elles puissent être utilisées. Lorsque le conflit d'accès disparaît (période T3), le signal d'écriture pendante redevient
inactif, et l'écriture en attente est effectuée en mémoire.
Un exemple de mise en oeuvre de la solution consistant à repousser l'opération d'écriture dans le temps
est décrit en relation à la figure 7.
Dans cette figure, les mêmes notations que dans la figure 5 ont été reprises pour les mêmes éléments, hormis l'adjonction d'un accent "'" pour signaler des éléments équivalents mais non identiques. Ainsi, au bus d'adresses d'écriture 23 de la figure 5 correspondent les
bus 23, 23' de la figure 7.
Afin de mettre en oeuvre le maintien et le déca-
lage dans le temps d'une commande d'écriture en cas de
conflit d'accès à la mémoire, l'invention prévoit d'inter-
caler sur le bus des adresses d'écriture 23, en amont du comparateur 19 des adresses de lecture et d'écriture, un circuit multiplexeur supplémentaire, le multiplexeur d'adresses 37. Dans cette réalisation, le bus 23 d'écriture d'adresses en sortie du CPU est connecté en entrée du multiplexeur d'adresses 37, dont la sortie est connectée au bus d'adresses d'écriture 23' allant à la mémoire. L'autre entrée du multiplexeur d'adresses 37 est reliée à la sortie d'un registre tampon d'adresses 39, dont l'entrée est connectée en parallèle au bus d'écriture d'adresses 23 émis
par le CPU.
De façon similaire, le bus 29 de données d'écri-
ture émis par le CPU est connecté à l'entrée d'un multi-
plexeur de données 41, dont la sortie est connectée d'une part au bus 29' d'écriture de données dans la mémoire, et d'autre part à une entrée du multiplexeur de dérivation 27 décrit précédemment. Par ailleurs, l'autre entrée du multiplexeur de données 41 est connectée à la sortie d'un registre tampon de données 43, dont l'entrée est connectée en parallèle au bus 29 de données d'écriture émis par le CPU. Les multiplexeurs d'adresses 37 et de données 41 sont commandés sur la ligne 48, éventuellement à travers
une bascule de synchronisation 47, par un signal de détec-
tion d'"écriture pendante" 45 provenant de la mémoire. La sortie de cette bascule 47 est reliée d'une part à la ligne
de commande 48 des multiplexeurs 37,41, et d'autre part, a-
près inversion par un inverseur 49, à l'entrée de charge-
ment "load" des registres tampon d'adresses 39 et de
données 43.
A noter que le signal d'"écriture pendante" est élaboré de façon connue par la logique d'interface de la mémoire, à partir des signaux de commande détaillés en
figure 6, et transmis directement du CPU à la mémoire.
Le dispositif de gestion d'accès tel que repré-
senté à la figure 7 fonctionne alors de la manière suivan-
te: dès lors que le signal "d'écriture pendante" est actif, la donnée d'écriture provenant du CPU sur le bus d'écriture de données 29 est maintenue dans le registre tampon de données 43, et de même les adresses présentes sur le bus 23 des adresses d'écriture émises par le CPU sont maintenues dans le registre tampon d'adresses 39. On contrôle par la commande 48 le multiplexeur d'adresses 37, de manière à transférer vers le bus 23' l'adresse en attente dans le tampon 39. De même, on contrôle par la commande 48 le multiplexeur de données 41, de manière à transférer vers le bus 29' la donnée en attente dans le
tampon 43.
Pendant que le signal d'"écriture pendante" est actif, le comparateur d'adresses 19 est alimenté avec l'adresse de l'écriture en attente, présente sur le bus d'adresse d'écriture 23'. Dès que le comparateur d'adresses 19 détecte une égalité entre l'adresse de lecture courante sur le bus 21' et l'adresse de l'écriture en attente sur le bus 23', le signal d'égalité 35 est actif, ce qui permet de commander le multiplexeur de dérivation 27. Celui-ci étant alimenté par la donnée d'écriture en attente sur le bus 29', il envoie sur le bus 33 la donnée d'écriture en attente, la substituant à la donnée de lecture erronée
(ancienne) présente sur le bus 31'.
Dès que l'écriture en attente a été traitée au niveau de la mémoire, le signal d'écriture pendante 45 devient inactif, et de ce fait les multiplexeurs 37,41 sont remis dans leur état initial par la commande 48. De ce fait, le bus 23 est reconnecté sur le bus 23', le bus 29 est reconnecté sur le bus 29', ce qui nous ramène à une
configuration similaire à celle de la figure 5.
Il est à noter que la figure 7 ne décrit le report d'une opération d'écriture en cas de conflit d'accès, que pour un seul bus de lecture en mémoire 31'. Si le système comporte plusieurs bus de lecture (cf figure 1), les bus d'écriture (23',29') pourraient être en conflit avec plusieurs bus de lecture, et par conséquent, il y aurait lieu de prévoir autant de comparateurs d'adresses 19 et de multiplexeurs de dérivation 27, qu'il y a de bus de
lecture en mémoire.
Enfin, il pourrait arriver que le CPU veuille faire une opération d'écriture en mémoire, alors qu'il y a déjà une opération d'écriture antérieure pendante. Dans ce cas, il sera nécessaire de détecter cet événement au moyen d'une logique combinatoire à la portée de l'homme du métier, puis d'arrêter l'écriture à partir du CPU pendant un nombre de cycles d'horloge suffisant pour terminer l'écriture en mémoire pendante. En variante, si l'arrêt du CPU ne peut être tolérée, il sera nécessaire d'augmenter la capacité ou le nombre des registres tampons d'adresses 39 et de données 43, afin de mémoriser les adresses et données de plusieurs opérations d'écriture pendantes successives. Bien que l'invention ait été décrite dans le cadre d'un système privilégiant les accès de mémoire en lecture par rapport aux accès en écriture, l'homme du métier pourra aisément l'adapter à un système privilégiant les accès en écriture et reportant à plus tard les accès
pendants en lecture.
De ce qui précède, il ressort que le dispositif de gestion des accès à une mémoire selon la présente
invention résout les inconvénients de l'état de la techni-
que, et en particulier permet de résoudre les conflits d'accès par un CPU de forte bande passante, à une mémoire
de bande passante inférieure.

Claims (7)

REVENDICATIONS
1. Dispositif de gestion des priorités d'accès en écriture et/ou en lecture entre une unité centrale de traitement (CPU) et au moins une mémoire (11) connectée à ladite unité centrale de traitement par au moins un bus d'adresses d'écriture (23;23') et d'adresses de lecture (21; 21) et au moins un bus de données d'écriture (29;29') et de données de lecture (31;31'), ladite unité centrale de traitement étant conçue pour accéder à ladite mémoire simultanément par l'intermédiaire de plusieurs bus, caractérisé en ce qu'il comporte des moyens pour gérer des accès invalides à la mémoire, comprenant au moins: - un comparateur d'adresses (19), apte à tester à chaque instant l'égalité des adresses d'écriture et de lecture en mémoire, et en cas d'égalité desdites adresses, à générer un signal (35) représentatif d'une condition d'accès invalide à la mémoire; - un circuit multiplexeur de dérivation (27) commandé par ledit signal (35) d'accès invalide, de façon à connecter ledit bus (33) de lecture vers le CPU, soit au bus (31;31') de lecture de données en mémoire en cas d'absence d'accès invalide, soit au bus (29;29') d'écriture de données du CPU vers la mémoire en cas d'accès invalide, de sorte que ledit bus d'écriture de données en mémoire est dérivé vers ledit bus de lecture par le CPU en cas d'accès
invalide par le CPU.
2. Dispositif selon la revendication 1, caracté-
risé en ce que ledit comparateur d'adresses (19) est connecté entre un bus (21;21') d'adresses de lecture en mémoire et un bus (23; 23') d'adresses d'écriture en mémoire.
3. Dispositif selon la revendication 1, caracté-
risé en ce que ledit circuit multiplexeur de dérivation (27) est connecté en entrée à un bus (29;29') d'écriture de données en mémoire d'une part, et à un bus (31;31') de lecture de données en mémoire d'autre part, et connecté en
sortie à un bus de lecture (33) à destination dudit CPU.
4. Dispositif selon l'une quelconque des revendi- cations précédentes, caractérisé en ce qu'il comporte en outre des moyens (47,37,39,43,41) de mise en attente d'une ou plusieurs opérations d'écriture en mémoire pendant un ou
plusieurs cycles d'horloge.
5. Dispositif selon la revendication 4, caracté-
risé en ce que lesdits moyens de mise en attente comportent un tampon d'adresses d'écriture (39) et un multiplexeur (37) d'adresses d'écriture intercalés sur le bus (23;23') d'adresses d'écriture en mémoire, ledit multiplexeur (37) d'adresses ayant une entrée connectée à la sortie dudit tampon d'adresses d'écriture (39), et une entrée connectée
sur ledit bus (23) d'adresses d'écriture.
6. Dispositif selon la revendication 4, caracté-
risé en ce que lesdits moyens de mise en attente comportent un tampon de données d'écriture (43) et un multiplexeur (41) de données d'écriture intercalés sur le bus (29;29') de données d'écriture, ledit multiplexeur de données (41) ayant une entrée connectée à la sortie dudit tampon de
données d'écriture, et l'autre entrée connectée.
7. Dispositif selon l'une quelconque des caracté-
ristiques précédentes, caractérisé en ce qu'il comporte
autant de comparateurs d'adresses (19) qu'il y a d'écritu-
res en attente à gérer simultanément.
FR9403925A 1994-03-24 1994-03-24 Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. Expired - Fee Related FR2717921B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR9403925A FR2717921B1 (fr) 1994-03-24 1994-03-24 Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.
DE69527819T DE69527819T2 (de) 1994-03-24 1995-03-22 Anordnung zur Konfliktverwaltung zwischen einer CPU und Speichern
EP95400640A EP0674258B1 (fr) 1994-03-24 1995-03-22 Dispositif de gestion de conflit d'accès entre un CPU et des mémoires
JP06445095A JP3808525B2 (ja) 1994-03-24 1995-03-23 ライト及び/もしくはリードアクセス優先順位管理装置
US08/847,550 US5787481A (en) 1994-03-24 1997-04-23 System for managing write and/or read access priorities between central processor and memory operationally connected

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9403925A FR2717921B1 (fr) 1994-03-24 1994-03-24 Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.

Publications (2)

Publication Number Publication Date
FR2717921A1 true FR2717921A1 (fr) 1995-09-29
FR2717921B1 FR2717921B1 (fr) 1996-06-21

Family

ID=9461702

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9403925A Expired - Fee Related FR2717921B1 (fr) 1994-03-24 1994-03-24 Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.

Country Status (5)

Country Link
US (1) US5787481A (fr)
EP (1) EP0674258B1 (fr)
JP (1) JP3808525B2 (fr)
DE (1) DE69527819T2 (fr)
FR (1) FR2717921B1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10309919B4 (de) * 2003-03-07 2008-09-25 Qimonda Ag Pufferbaustein und Speichermodule
US7213095B2 (en) * 2004-06-08 2007-05-01 Arm Limited Bus transaction management within data processing systems
EP2682870B1 (fr) * 2011-03-02 2016-11-02 Nec Corporation Système de commande de données, procédé de commande de données et programme de commande de données
US9383928B2 (en) * 2011-06-13 2016-07-05 Emc Corporation Replication techniques with content addressable storage
FR3038752B1 (fr) * 2015-07-10 2018-07-27 Stmicroelectronics (Rousset) Sas Procede et circuit pour proteger et verifier des donnees d'adresse
CN105109940A (zh) * 2015-08-18 2015-12-02 无锡乐华自动化科技有限公司 一种气缸驱动摆臂式高承载抬起机构

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4318317A1 (de) * 1992-06-02 1993-12-16 Mitsubishi Electric Corp Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5995660A (ja) * 1982-11-22 1984-06-01 Nec Corp デ−タ処理装置
JPS60238944A (ja) * 1984-05-14 1985-11-27 Mitsubishi Electric Corp トレ−ス用記憶装置
JPS6242228A (ja) * 1985-08-19 1987-02-24 Nec Corp 表示情報処理システム
JPS6243744A (ja) * 1985-08-21 1987-02-25 Nec Corp マイクロコンピユ−タ
US4792926A (en) * 1985-12-09 1988-12-20 Kabushiki Kaisha Toshiba High speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals
US5179679A (en) * 1989-04-07 1993-01-12 Shoemaker Kenneth D Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
JP2762138B2 (ja) * 1989-11-06 1998-06-04 三菱電機株式会社 メモリコントロールユニット
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
JPH04270440A (ja) * 1991-02-26 1992-09-25 Fujitsu Ltd アクセス方式
JP3180362B2 (ja) * 1991-04-04 2001-06-25 日本電気株式会社 情報処理装置
US5379937A (en) * 1994-01-18 1995-01-10 Rothe Welding And Fabrication, Inc. Nucleator assembly for snowmaking apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4318317A1 (de) * 1992-06-02 1993-12-16 Mitsubishi Electric Corp Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOB RYAN: "COMMUNICATIONS GET PERSONAL - AT&T unveils its plans for the personal communications revolution", BYTE, vol. 18, no. 2, February 1993 (1993-02-01), LONDON, GB, pages 169 - 176 *
C. MELEAR: "The Design of the 88000 RISC Family", I.E.E.E. MICRO, vol. 9, no. 2, April 1989 (1989-04-01), LOS ALAMITOS, CA, US, pages 26 - 38 *
R. ERNST: "Long Pipelines in Single-Chip Digital Signal Processors - Concepts and Case Study", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS, vol. 38, no. 1, January 1991 (1991-01-01), NEW YORK, NY, US, pages 100 - 108 *

Also Published As

Publication number Publication date
DE69527819D1 (de) 2002-09-26
EP0674258B1 (fr) 2002-08-21
JP3808525B2 (ja) 2006-08-16
DE69527819T2 (de) 2003-04-30
EP0674258A1 (fr) 1995-09-27
US5787481A (en) 1998-07-28
FR2717921B1 (fr) 1996-06-21
JPH0850560A (ja) 1996-02-20

Similar Documents

Publication Publication Date Title
EP0167193B1 (fr) Système d'arbitrage des demandes d'accès de plusieurs processeurs à des ressources communes, par l'intermédiaire d'un bus commun
EP0109898B1 (fr) Unité de stockage temporaire de données organisée en file d'attente
EP0063972B1 (fr) Procédé et dispositif d'allocation d'une ressource dans un système comportant des unités de traitement de données autonomes
FR2481487A1 (fr) Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
FR2881540A1 (fr) Procede et systeme destines a empecher que des lignes de memoire cache soient videes jusqu'a ce que les donnees stockees dans celles-ci ne soient utilisees.
FR2528195A1 (fr) Systeme de communication entre ordinateurs
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2717921A1 (fr) Dispositif de gestion de conflit d'accès entre un CPU et des mémoires.
FR3038188A1 (fr) Systeme de verification de l’integrite d’une communication entre deux circuits
EP0166838A1 (fr) Procédé et dispositif pour détecter une configuration de bits particulière dans un train de bits en série
FR2536884A1 (fr) Reseau de transfert de donnees entre plusieurs processeurs et une memoire
EP0025731B1 (fr) Sélecteur de demandes asynchrones dans un système de traitement de l'information
EP0344052B1 (fr) Mémoire modulaire
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
EP1372074A1 (fr) Procédé et système de gestion des événements
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
FR2642195A1 (fr) Dispositif et procede d'arbitrage des requetes et de resolution des conflits lies a l'acces aux memoires a bancs independants pour les machines informatiques
FR2733614A1 (fr) Systeme multiprocesseur en groupes et procede pour controler une phase d'horloge de groupes
FR2645297A1 (fr) Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes
EP0177429A1 (fr) Procédé d'échange d'informations entre abonnés par bus en anneau et dispositif multiprocesseur en comportant application
EP0962855B1 (fr) Accès rapide aux circuits tampons
EP0011540A1 (fr) Dispositif d'interface entrée-sortie entre un commutateur de données et une pluralité de voies de transmission
FR2582423A1 (fr) Memoire tampon a interposer entre deux systemes synchrones a vitesses differentes
FR2558633A1 (fr) Appareil d'emmagasinage de donnees

Legal Events

Date Code Title Description
ST Notification of lapse