FR2611940A1 - Systeme de commande d'acces memoire - Google Patents

Systeme de commande d'acces memoire Download PDF

Info

Publication number
FR2611940A1
FR2611940A1 FR8802787A FR8802787A FR2611940A1 FR 2611940 A1 FR2611940 A1 FR 2611940A1 FR 8802787 A FR8802787 A FR 8802787A FR 8802787 A FR8802787 A FR 8802787A FR 2611940 A1 FR2611940 A1 FR 2611940A1
Authority
FR
France
Prior art keywords
data
pipeline
units
memory
address
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
FR8802787A
Other languages
English (en)
Other versions
FR2611940B1 (fr
Inventor
Fumio Aono
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of FR2611940A1 publication Critical patent/FR2611940A1/fr
Application granted granted Critical
Publication of FR2611940B1 publication Critical patent/FR2611940B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

L'INVENTION CONCERNE UN SYSTEME DE COMMANDE D'ACCES MEMOIRE CONNECTE A DES UNITES DEMANDEUSES ET A UNE MEMOIRE PRINCIPALE, ET TRAITANT DES ACCES MEMOIRE EN PROVENANCE DES UNITES DEMANDEUSES COMPRENANT : - UN MOYEN DE COMMANDE DE PIPELINE 9 POUR REALISER UNE COMMANDE DE PIPELINE POUR UN TRAITEMENT SUCCESSIF D'ADRESSES MEMOIRE ET DE DONNEES; PLUSIEURS ETAGES D'UNITES DE PIPELINE 1-6 POUR SELECTIVEMENT STOCKER ET LIRE DES ADRESSES ET DES DONNEES SUR LA BASE D'INSTRUCTIONS PROVENANT DES MOYENS DE COMMANDE DE PIPELINE; UN MOYEN DE CONNEXION CYCLIQUE D'ADRESSES 103-105 POUR CONNECTER, PARMI LA PLURALITE D'ETAGES DES UNITES DE PIPELINE, LES UNITES AFFECTEES A DES ADRESSES, DE FACON A PROVOQUER LA CIRCULATION DE CES ADRESSES; ET UN MOYEN DE CONNEXION CYCLIQUE DE DONNEES 106-108 POUR CONNECTER, PARMI LADITE PLURALITE D'ETAGES DES UNITES DE PIPELINE, LES UNITES AFFECTEES A DES DONNEES, DE FACON A PROVOQUER LA CIRCULATION DE CES DONNEES. APPLICATION AUX SYSTEMES DE COMMANDE D'ACCES MEMOIRE DES ORDINATEURS.

Description

- - SYSTEME DE COMMANDE D'ACCES MEMOIRE
La présente invention concerne un système de commande d'accès mémoire à utiliser dans un système de traitement de données, et plus précisément, un système de traitement interne pour une unité de commande d'accès mémoire, connecté à des processeurs arithmétiques, à des processeurs d'entrée/sortie et à une unité de mémoire principale, pour la gestion et le traitement centralisés des requêtes d'accès à ta mémoire en provenance des processeurs. Dans le cas présent, l'unité de commande d'accès mémoire peut comporter une antémémoire de grande capacité du type à stockage résidant ("store in") ou à stockage
momentané ("store-through").
Le système de commande d'accès mémoire mentionné ci-dessus également connu sous le nom d'unité de commande de système, doit pouvoir traiter de façon impartiale et efficace les requêtes d'accès mémoire en provenance d'une pluralité d'unités demandeuses. S'il comporte une antémémoire, des opérations telles que la discrimination entre une réussite d'accès à l'antémémoire et un échec d'accès à L'antémémoire, et dans le cas d'un échec le transfert de blocs de données vers et en provenance de la mémoire principale peuvent rendre compliquée
sa logique de commande.
Le brevet US n 4 317 168 concerne une organisation de l'antémémoire pour des transferts de données en vue d'une recherche de lignes et d'un remplacement de lignes entre une antémémoire du type à stockage résident et une unité- de mémoire principale. Bien que celle-ci diffère quelque peu de la présente invention par le fait que l'on suppose tacitement que seule une unité demandeuse est présente, il est néanmoins vrai qu'une utilisation efficace d'une antémémoire du type à stockage résident n'est pas simple et qu'elle nécessite un volume important de circuits. Par conséquent, une recherche de lignes ou un remplacement de lignes nécessités par un échec de l'accès à l'antémémoire, ou une allocation sur le même bloc dans une antémémoire imbriquée, pourraient perturber le pipeline et ainsi
compliquer la commande.
Cette perturbation du pipeline pourrait être encore plus grave dans le cas d'une unité de commande d'accès mémoire qui aurait à accepter des accès en provenance d'une pluralité de demandeurs. Outre les simples échecs d'accès à l'antémémoire se produisent diverses compétitions - celles qui surviennent entre les blocs de l'antémémoire, entre les adresses d'ensembles dans *une antémémoire du type associatif par ensemble, entre des requêtes échouant lors de l'accès à l'antémémoire pour un accès à la mémoire principale, et entre des traitements de recherche/remplacement de lignes et le traitement suivant d'un succès d'accès -à l'antémémoire au sein d'une telle unité, celles-ci pouvant toutes perturber le pipeline. Lorsqu'il existe une pluralité de demandeurs, même s'il se produit l'une quelconque de ces compétitions, des requêtes autres que celles - qui sont en compétition doivent être traitées sans retard. Par ailleurs, on doit éviter qu'une éventuelle requête dont le traitement est suspendu par un échec de l'accès à l'antémémoire ou par une compétition, soit remplacé par une éventuelle requête ultérieure provenant du
même demandeur.
En général, dans les cas mentionnés ci-dessus, c'est-à-dire lorsque le traitement ne peut être réalisé lors du déroulement, d'un pipeline, la requête ou l'accès mémoire concerné est rejeté du pipeline, et est traité apres avoir été retenu en attente dans un tampon ou dans une queue prévu spécialement pour chaque cas. Au cours de cette attente, le traitement des requêtes ultérieures provenant du même demandeur doit être interdit. Ces facteurs de perturbations du pipeline nécessitent un certain nombre de tampons et un circuit pour les commander ou.pour commander le flux global des requêtes, ce qui conduit à des
circuits de grand volume et de grande complexité.
L'un des buts de la présente invention est par conséquent de fournir un système de commande d'accès mémoire dont le volume de circuits est réduit et qui ne nécessite pas les tampons et queues mentionnés ci-dessus, dans une unité de commande d'accès mémoire pour l'acceptation et le traitement
des accès demandés par une pluraLité de demandeurs.
Un autre but de l'invention est de fournir un système de commande d'accès mémoire capable de diminuer la complexité de la commande due à la
présence de plusieurs demandeurs.
Un autre but de l'invention est de fournir un système de commande d'accès mémoire capable de limiter la complexité de la commande grâce à la présence d'une mémoire cache du type à stockage
résident.
Un but supplémentaire de l'invention est de fournir un système de commande d'accès mémoire capable de minimiser les effets d'un- éventuel échec d'accès au cache ou d'une compétition pouvant se
produire entre d'autres requêtes.
Le système de commande d'accès mémoire de l'invention se caractérise par le fait qu'il comporte un pipeline connecté cycliquement et un groupe d'informations de commande (circulant comme le font les requêtes) annexés aux requêtes à différents étages du pipeline et indiquant l'état de chacun d'entre eux, et par le fait que tcutes les décisions et toutes les commandes, du début jusqu'à La fin du traitement des requêtes sont effectuées au cours du pipeline. Par conséquent, toute requête une fois qu'elle est entraÂnées dans le pipeline, ne sort jamais du pipeline avant d' avoir subi la totalité du traitement. Chaque opération comme par exemple l'accès à la mémoire principale ou l'envoi d'une réponse au demandeur, n'est effectuée qu'à un stade particulier, et toute l'information nécessaire pour chaque action de traitement est fondamentalement incluse dans
L'information accompagnant chaque requête.
Conformément à la présente invention, à chaque stade, le circuit de commande ne nécessite pas plus d'informations que celle qui est présente au stade o est prise la décision, et sa logique en est par conséquent simplifiée. Simultanément, comme le pipeline circule toujours réguLièrement, cela empêche chaque requête de perturber le traitement d'une
éventuelle requête ultérieure.
SeLon un premier aspect de l'invention, celle-ci concerne un système de commande d'accès mémoire connecté à des unités demandeuses et à une mémoire principale, et tnaitant des accès mémoire provenant des unités demandeuses, comprenant: un moyen de commande de pipeline pour effectuer une commande de pipeline afin de traiter
successivement des adresses mémoire et des don-
nées; plusieurs étages d'unités de pipeline pour - sélectivement stocker et lire des adresses et des données sur la base d'instructions provenant du moyen de commande de pipeline; un moyen de connexion cyclique d'adresses
261 19 40
pour connecter parmi la pluralité d'étages des unités à pipeline, les unités affectées à des adresses, de façon à provoquer la circulation des adresses; et, un moyen de connexions cyclique des données pour connecter, parmi la pluralité d'étages des unités à pipeline, ces unités affectées à des données de
façon à provoquer la circulation de ces données.
Selon. un second aspect de l'invention, celle-ci concerne un système de commande d'accès mémoire, tel que le premier système -décrit ci-dessus, dans lequel le moyen de commande de pipeline comporte un moyen de contrôle d'occupation répondant à une non satisfaction des conditions d'accessibilité à ladite mémoire principale, en provoquant la mise en circulation de ladite adresse et de Ladite donnée, sur ledit moyen de connexion cycLique d'adresses, ledit moyen de connexions cyclique de données et ladite pluralité d'étages des unités à pipeline, et en décidant au cours de chaque cycle de.circulation si les conditions d'accessibilité à ladite mémoire
principale ont ou non été satisfaites.
Selon un troisième aspect de l'invention, celle-ci concerne un système de commande d'accès mémoire, tel que le premier système décrit ci-dessus, et comportant en outre: un moyen de stockage d'adresses pour prélever une adresse dans au moins l'un ou l'autre de ladite pluralité d'étages des unités à pipeline et dans ledit moyen de connexion cyclique d'adresses et les stockant après une requête d'accès à ladite mémoire principale et avant la réponse à, et la réception de cette demande d'accès; un moyen de stockage des données pour prélever des données dans au moins l'un ou l'autre de ladite pluraLité d'étages des unités à pipeline et dudit moyen de connexion cycLique des données, et Les stockant après la requête d'accès à Ladite mémoire principale et avant réception d'une réponse à cette requête d'accès; et un moyen de traitement pour effectuer un traitement par exploitation de la donnée provenant dudit moyen de stockage de données et d'une adresse provenant
dudit moyen de stockage d'adresses.
D'autres buts, caractéristiques et avantages de La présente invention apparaîtront à La lecture
de La description détaiLLée ci-après faite en
référence aux dessins annexés, dans lesquels: - La figure 1 est un diagramme illustrant un premier mode de réalisation de l'invention; - La figure 2 est un diagramme illustrant un second mode de réalisation oe l'invention; et - La figure 3 est un diagramme illustrant
un troisième mode de réalisation de l'invention.
Dans les figures 1 à 3, les références numériques identiques désignent respectivement des
éLéments structuraux analogues ou correspondants.
Se référant à la figure 1, un premier mode de réalisation de la présente invention comprend une unité à pipeline d'adresse (APL) 1, représentant l'étage 1 destiné à l'acceptation d'une adresse donnée par L'intermédiaire d'une ligne 101 en réponse à une requête d'accès mémoire; une unité APL 2 constituant l'étage 2 destinée au stockage d'une adresse fournie par l'intermédiaire d'une ligne 103 en provenance de l'unité APL 1 constituant l'étage 1; une unité APL 3 constituant l'étage 3 destinée au stockage d'une adresse fournie par une ligne 104 en provenance de l'unité APL 2 constituant l'étage 2, et la renvoyant à l'unité APL 1 constituant l'étage I par l'intermédiaire d'une ligne 105; une antémémoire 8 pour le stockage d'une donnée identique à la donnée contenue dans une mémoire principale (non représentée) à une position indiquée par une adresse fournie par L'unité APL 2 par une ligne 11'i. un tableau d'adresses 7 pour enregistrer l'adresse de la donnée stockée dans l'antémémoire 8, une unité à pipeline de données (DPL) 4 constituant l'étage 1 destiné au stockage- de la donnée fournie par une
- 10 ligne 102 en réponse à une requête d'accès mémoire.
! une unité DPL 5 constituant l'étage 2 destiné au stockage de la donnée fournie par une ligne 106 en
provenance de l'unité DPL 4 constituant l'étage 1-
- une unité DPL 6 constituant l'étage 3 destiné au stockage de la donnée fournie par une ligne 107 en provenance de l'unité DPL 5 constituant l'étage 2 et la renvoyant à l'unité DPL 4 constituant l'étage 1 par l'intermédiaire d'une ligne 108; et une section de commande de pipeline 9 pour décider sur la base d'un signal fourni par une ligne de signalisation , si les données correspondant à une adresse provenant d'un demandeur sont ou non enregistrées dans l'antémémoire 8 et si une adresse d'accès provenant d'un demandeur est ou non enregistrée dans le tableau d'adresses 7, commandant la sortie et le stockage sélectifs vers les unités 1 à 6 des différents étages du pipeline par l'intermédiaire de lignes 118 à 120, commandant la lecture et l'écriture dans le tableau d'adresses 7 et dans l'antémémoire 8 par l'intermédiaire des lignes 121 et 122, respectivement, et exécutant ces décisions et instructions sous la forme de commandes séquentielles. Sur ce pipeline, les adresses et les données présentes respectivement dans- les unités 1 et 4 de l'étage 1 sont écrites au cours d'un cycLe d'horloge dans Les unités 2 et 5 de l'étage suivant 2. De même, les adresses et Les données stockées dans les unités 3 et 6 de L'étage 3, et Les adresses et données stockées dans les unités 3 et 6, sont transférées vers, et stockées dans Les unités 1 et 4 de l'étage 1. Par conséquent, les données et les adresses effectuent un tour complet du pipeline en trois cycles d'horloge. A l'étage 1 de ce pipeline, une requête d'accès mémoire est acceptée, le tableau d'adresse 7 est examiné dans les étages 1 à 2; L'écriture et La lecture dans l'antémémoire 8 sont effectuées dans les étages 2 à 3; et les données sont renvoyées
au demandeur à l'étage 3.
On décrira ci-dessous séquentiellement et -
de façon détaillée le fonctionnement du premier mode de réalisation de l'invention. Se référant à la figure 1, en réponse à une requête d'accès mémoire, une adresse fournie sur la Ligne 101 est stockée dans l'unité APL 1 de l'étage 1, et les données fournies par la ligne 102 sont stockées dans l'unité DPL 4
de l'étage 1. En réponse à une adresse ayant fait,.
l'objet d'un accès par l'unité APL 1 de l'étage 1, par l'intermédiaire de la ligne 109, le tableau d'adresse 7 compare L'adresse. ayant fait l'objet d'un accès et les adresses qui y sont stockées. Les adresses des données stockées dans l'antémémoire 8 sont enregistrées dans le tableau d'adresses 7 et, si cette comparaison identifie l'adresse d'accès à une adresse enregistrée, ceLa signifiera que Les données souhaitées sont présentes dans l'antémémoire (ce qui correspond à un succès d'accès à l'antémémoire). L'information permettant d'indiquer
s'il s'est produit un succès d'accès à l'antémémoire-
ou non est fournie à la section de commande de pipeline 9 par La ligne 110. En réponse à un signal
de succès d'accès à L'antémémoire, et à une.
instruction de lecture/écriture de la requête d'accès mémoire, un accès à l'adresse contenue dans l'antémémoire 8 est demandé par la section de commande de pipeline 9 à l'unité APL 2 par la ligne 119. Si la requête d'accès mémoire est une instruction d'écriture, une instruction pour fournir des données à l'antémémoire 8 est envoyée par la section de commande de pipeline 9 à l'unité DPL 5, par La ligne 119, en même temps que L'instruction d'accès à l'adresse. En réponse à ces insturctions, une adresse est fournie par l'unité APL 2 à l'antémémoire 8 par la ligne 111. Si cette requête d'accès mémoire est une instruction d'écriture, les données sont fournies en réponse à une instruction provenant de la section de commande de-pipeLine 9, par l'unité DPL 5 à l'antémémoire 8 par l'intermédiaire de la ligne 112. L'antémémoire 8 stocke les données qui lui sont fournies par la ligne 112 à la position indiquée par l'adresse fournie sur la ligne 111. Si ladite demande d'accès mémoire est une instruction de lecture, l'antémémoire 8 lit les données à la position indiquée par l'adresse fournie sur La ligne 111, et les fournit à l'unité DPL 6 de l'étage 3 par l'intermédiaire d'une Signe 113. Cette unité DPL 6, après avoir effectué une fois la recherche des données fournies par la ligne 113, les renvoie au demandeur par l'intermédiaire
d'une ligne 117.
On décrira ci-après en détail l'opération qui se produira dans le cas d'un échec de l'accès à l'antémémoire. Un échec d'accès à l'antémémoire correspond au fait que le tableau d'adresses 7 ne parvient pas à identifier une adresse d'accès fournie par la ligne 109., à une adresse qu'il contient, du fait de l'absence de la donnée demandée par un
demandeur, dans l'antémémoire 8.
Si le tableau d'adresses 7 et la section de commande de pipeline 9 décident qu'un échec d'accès à l'antémémoire s'est produit, la requête d'accès effectuée par le demandeur doit être envoyée à la mémoire principale. Cette requête d'accès à la mémoire principale est envoyée par les unités 2 et 5 de l'étage 2 sur le pipeline. Par conséquent, l'adresse est fournie par l'unité APL 2 à la mémoire principale par l'intermédiaire d'une ligne 114, et simultanément, les données sont fournies par l'unité DPL 5 à la mémoire principale, par l'intermédiaire d'une ligne 115. L'une des caractéristiques de la présente invention consiste en ce que, jusqu'à l'arrivée d'une réponse en provenance de la mémoire principale après une requête d'accès, l'adresse et les données voulues sont introduites dans l'étage à chaque impulsion
d'horloge et sont maintenues dans le pipeline.
Les données fournies par la mémoire principale.
(non représentée) par l'intermédiaire d'une ligne 116, sont acceptées par l'unité DPL 6 de l'étage 3, et renvoyées au demandeur par l'intermédiaire de la ligne 117. Simultanément, les données provenant de l'unité DPL 6 sont écrites, conformément à la requête, dans l'antémémoire 8 par l'intermédiaire de la ligne 108, de l'unité DPL 4, de la ligne 106, de l'unité DPL 5 et d'une ligne 112. Les adresses correspondant aux données devant être écrites sont enregistrées en provenance de l'unité APL 1 de l'étage 1 dans le tableau d'adresses 7, par l'intermédiaire
de la ligne 109.
1 1 La circulation de l'adresse permettant l'accè.s mémoire, des données et des informations de commande sur le pipeline, ce qui constitue un autre trait caractéristique de la présente invention, permet de se dispenser des mémoires tampons destinées à conserver ces informations, - et permet donc de réduire
Le volume des circuits nécessaires.
En outre, que les données correspondant à l'adresse mémoire de l'accès mémoire soient présentes ou non dans l'antémémoire 8, un même pipeline peut
traiter la requête d'accès, ce qui est un-avantage.
On décrira ci-dessous en détail un second mode de réalisation de la présente invention en se
référant à la figure 2.
Dans la figure 2, le second mode de réalisation de La présente est sensiblement identique à celui qui est illustré figure 1, excepté- que la section de commande de pipeline 9 de la figure 2
comporte un circuit de contrôle d'occupation 10.
Ce circuit de contrôle d'occupation 10, en fonction d'une adresse fournie par l'unité APL 2 de l'étage 2 par l'intermédiaire de la ligne 116 et en fonction de l'état dans lequel se trouve la mémoire principale (non représentée), décide si le système est ou non dans un état permettant de fournir une requête d'accès mémoire à la mémoire principale
à l'étage 2.
On décrira ci-après en détail les opérations effectuées dans le cas du second mode de réalisation
de l'invention, en se référant à un dessin approprié.
L'opération effectuée en cas de succès d'accès à l'antémémoire est identique au cas du premier mode de réalisation décrit précédemment. Par conséquent,
la description détaillée suivante ne concernera que
l'opération effectuée en cas d'échec de l'accès à l'antémémoire. Lors de la décision d'un échec d'accès à l'antémémoire par le tableau d'adresse 7 et par La section de commande de pipeline 9, la requête d'accès produite par le demandeur doit être envoyée à La mémoire principale. Cette requête d'accès à la mémoire principale est envoyée par les unités 2 et 5 de l'étage 2 du pipeline. Par conséquent, lorsque cette adresse est fournie par l'unité APL 2 à la mémoire principale par l'intermédiaire de la ligne 114, les données sont fournies par l'unité DPL 5 à la mémoire
principale par l'intermédiaire de la ligne 115.
A cet instant, le circuit de contrôle d'occupation 10, qui constitue une caractéristique particulière de ce mode de réalisation, décide si le système est ou non dans un état permettant de fournir la requEête d'accès mémoire de l'étage 2 à la mémoire principale, sur la base de l'adresse fournie par l'unité APL 2 de l'étage 2 par l'intermédiaire de la ligne 116, et de l'état dans
lequel se trouve la mémoire principale.
En réponse à la décision prise par ce circuit de contrôle d'occupation 10 confirmant l'accessibilité la demande d'accès est fournie par les unités 2 et 5 de l'étage 2 à la mémoire principale. Si la décision prise par le circuit de commande d'occupation 10 infirme l'accessibilité, l'adresse et les données provenant respectivement des unités 2 et 5 de l'étage 2, sont respectivement transférées aux unités 3 et
6 de l'étage 3, et circulent le long du pipeline.
Lorsque des adresses et des données identiques à celles de la requête d'accès mémoire atteignent de nouveau respectivement les unités 2 et 5 de L'étage 2, le circuit de contrôle d'occupation 10 décide de nouveau si les conditions d'accès à la mémoire principale sont ou non satisfaites. Une seconde
261194 0
décision d'inaccessibilité (occupation) signifierait que la requête d'accès ne peut toujours pas être envoyée à la mémoire principale. Par conséquent, en réponse à ce. contrôle d'occupation, l'adresse et les données en circulation effectueraient un autre tour du pipeline. Ce'tte séquence d'actions se répète jusqu'à ce que cette requête d'accès mémoire
particulière est envoyée vers la mémoire principale.
Le trait particulier du second mode de réalisation préféré de la présente invention consiste en ce que si la mémoire principale est inaccessible, l'adresse, les données et l'information de commande pour l'accès mémoire, sont mises en circulation le Long du pipeline en attente, et que l'accessibilité est déterminée par le circuit de contrôle d'occupation chaque fois qu'elles ont effectué un tour du pipeline. Cette caractéristique présente l'avantage d'éviter l'utilisation d'une mémoire tampon qui serait autrement nécessaire pour mettre en attente les informations décriLes ci-dessus, et par conséquent,
de favoriser les diminutions de volume de circuits.
Elle présente en outre l'avantage de permettre le traitement des adresses mémoire par un même pipeline que les données correspondantes soient ou non
présentes dans l'antémémoire.
On décrira ci-après en détail un troisième mode de réalisation de l'inventi-on en se référfant
à la figure 3.
Dans la figure 3, le troisième mode de réalisation de l'invention comporte les circuits caractéristiques suivants en plus de ceux du premier
mode de réalisation illustré figure 1.
Le troisième mode de réalisation se caractérise par le fait qu'il comporte des registres 10 et 11 répondant à un accès par l'étage 2 en
Y-. -à
2 6 1 1 9 4 0
stockant une adresse et une donnée fournies par les unités 1 et 4 de l'étage 1 par l'intermédiaire de lignes 124 et 125, respectivement, à une cadence telle qu'elles permettent le renvoi le plus rapide de la réponse par la mémoire principale (non représentée); une unité arithmétique 14 pour soumettre à une opération arithmétique les données provenant du registre 11 par l'intermédiaire de la ligne 125 et les données fournies par la mémoire principale par la ligne 116; un sélecteur 13 pour sélectionner soit le résultat de l'opération arithmétique fournie par l'unité arithmétique 14 par l'intermédiaire d'une ligne de signalisation sont envoyées par l'unité DPL 5 à la mémoire
principale parl'intermédiaire de la ligne 115.
A cet instant, le circuit de contrôle d'occupation 10, qui constitue une caractéristique particulière de ce mode de réalisation, décide si le système est ou non dans un état permettant de fournir la requête d'accès mémoire de l'étage 2 à la mémoire principale, sur la base de l'adresse fournie par l'unité APL 2 de l' étage 2 par l'intermédiaire de la ligne 116, et de l'état dans
lequel se trouve la mémoire principale.
En réponse à la décision prise par ce circuit de contrôle d'occupation 10 confirmant l'accessibilité, la demande d'accès est fournie par les unités 2 et 5 de l'étage 2 de la mémoire principale. Si la décision prise par le circuit de commande d'occupation 10 infirme l'accessibilité, l'adresse et les données provenant respectivement des unités 2 et 5 de l'étage 2, sont respectivement transférées aux unités 3 et 6 de l'étage 3, et circulent le long du pipeline. Lorsque des adresses
et des données identiques à celles de la requête.
d'accès mémoire atteignent de nouveau respectivement Les unités 2 et 5 de l'étage 2, le circuit de contrôLe d'occupation 10 décide de nouveau si les conditions d'accès à la mémoire principale sont ou non satisfaites. Une seconde décision d'inaccessibilité (occupation) signifierait que la requête d'accès ne peut toujours pas être envoyée à la mémoire principale. Par conséquent, en réponse à ce contrôle d'occupation, l'adresse et les données en-circulation effectueraient un autre tour du pipeline. Cette séquence d'actions se. répète jusqu'à ce que cette requête d'accès mémoire particulière soit envoyée
vers la mémoire principale.
Le trait particulier du second mode de réalisation préféré de la présente invention consiste en ce que si la mémoire principale est. inacessible, l'adresse, les données et l'information de commande pour l'accès mémoire, sont mises en circulation le long du pipeline en attente, et que l'accessibilité est déterminée par le circuit de contrôle d'occupation chaque fois qu'elles ont effectué un tour de pipeline. Cette caractéristique présente l'avantage d'éviter l'utilisation d'une mémoire tampon qui serait autrement nécessaire pour mettre en attente les informations décrites ci-dessus, et par conséquent,
de favoriser les diminutions de volume de circuits.
Elle présente en outre l'avantage de permettre le traitement des adresses mémoire par un même pipeline que les données correspondantes soient ou non
présentes dans l'antémémoire.
On décrira ci-après en détail un troisième mode de réalisation de l'invention en se référant
à la figure 3.
Dans la figure 3, le troisième mode de réalisation de L'invention comporte les circuits caractéristiques suivants en plus de ceux du premier
mode de réalisation illustré figure 1.
Le troisième mode de réalisation se caractérise par L.e fait qu'il comporte des registres 16 et 11 répondant à un accès par l'étage 2 en stockant une adresse et une donnée fournies par les unités 1. et 4 de l'étage 1, par l'intermédiaire de lignes 124 et 125, respectivement, à une cadence telle qu'elles permettent le renvoi le plus rapide de la réponse par la mémoire principale (non représentée); une unité arithmétique 14 pour soumettre à une opération arithmétique les données provenant du registre 11 par l'intermédiaire de la ligne 125 et les données fournies par la mémoire principale par la ligne 116; un sélecteur 13 pour sélectionner soit le résultat de l'opération arithmétique fournie par l'unité arithmétique 14 par l'intermédiaire d'une ligne de signalisation 126, soit les données fournies par l'unité DPL 5 par l'intermédiaire d'une ligne de signalisation 129, et envoyer celles qui sont sélectionnées à l'antémémoire 8 par l'intermédiaire d'une ligne de signalisation 112; un autre sélecteur 12 pour choisir, afin d'envoyer l'adresse d'accès d'une donnée faisant l'objet d'un accès à l'antémémoire 8, entre une adresse fournie par le registre 16 par l'intermédiaire d'une ligne de signal 128 et une autre adresse fournie par l'unité APL 2 par l'interméidaire de la ligne de signal 111; et un autre sélecteur 15 pour choisir entre unedonnée fournie par le sélecteur 13 par la ligne de signal 112 et les données fournies par l'unité DPL 6 par l'intermédiaire de la ligne de signal 117 et renvoyées celles qui sont choisies au demandeur par
l'intermédiaire d'une ligne 127.
On décrira ci-après en détail les opérations effectuées par ce troisième mode de réalisation
de l'inventio.n en se référant à un dessin approprié.
L'opération effectuée dans le cas d'un succès d'accès à l'antémémoire est identique au cas des premier et second modes de réalisation décrits
précédemment. Par conséquent, la description
détaillée ci-après concernera l'opération effectuée
dans le cas d'un échec de l'accès à l'antémémoire.
En réponse à une décision d'un échec d'accès à l'antémémoire par le tableau d'adresses 7 et par la section de commande de pipeline 9, une requête d'accès à la mémoire principale- est respectivement envoyée par les unités 2 et 5 de l'étage 2 du pipeline sur les lignes de signal 114 et 115. Des adresses et des données identiques à celles de la requête d'accès mémoire, sont transférées à l'étage suivant à chaque impulsion d'horloge, et peuvent donc circuler le long du pipeline. Ayant fait un tour du pipeline, les adresses et les données sont respectivememt stockées dans les registres 16 et 11 par
l'intermédiaire des lignes de signal 125 et 124.
Le registre 11il conserve les données jusqu'à ce que des données répondant à la requête d'accès soient renvoyées par la mémoire principale par L'intermédiaire de la ligne-de signal 116. Ces données fournies par le registre 11 par l'intermédiaire de la Ligne 125 et Les données fournies par la mémoire principale par l'intermédiaire de la Ligne -116, sont soumises à une opération mathématique dans L'unité arithmétique 14, et le résultat de L'opération est stocké dans l'antémémoire 8 par l'intermédiaire de la ligne de signal 126, du sélecteur 13 -et de la ligne de signal 112. L'adresse d'accès, indiquant la position de stockage dans l'antémémoire 8 est fournie par le registre 16 à l'antémémoire 8 par L'intermédiaire de la ligne de signal 128, du sélecteur 12 et de la ligne de signal 125. Les données fourries à l'antémémoire 8 sont simultanément envoyées au demandeur par l'intermédiaire des
sélecteurs 13 et 15 et de la ligne de signal 127.
La séquence des traitements effectués à la
réception de la réponse de la mémoire principale,-
est déclenchée par cette même réponse.
Le trait caractéristique du troisième mode de réalisation de la présente invention consiste donc en ce que l'adresse mémoire et les données d'un accès mémoire sont extraites du pipeline et sont mises en attente après que l'accès à la mémoire principale ait été demandé et avant que la réponse ne soit renvoyée par la mémoire principale, et le traitement nécessaire est déclenché par la réponse à l'accès mémoire. Cette caractéristique évite la nécessité d'attendre une synchronisation avec le pipeline après réponse de La mémoire principale, et permet en outre d'effectuer cette commande sans tenir compte des divers types d'accès à la mémoire principale, ce qui présente l'avantage que la commande est simplifiée tout en améliorant les performances
lors de l'accès à l'unité de mémoire.
Bien que les trois modes de réalisation décrits étaient considérés comme comportant des pipelines à trois étages pour plus de clarté, il serait souhaitable qu'un pipeline réel comporte plus
de trois étages, par exemple six étages.

Claims (3)

REVENDICATIONS
1. Système de commande d'accès mémoire connecté à des unités demandeuses et à une mémoire principale, et traitant des accès mémoire en provenance des unités demandeuses, caractérisé en ce qu'il comprend: un 'moyen de commande de pipeline (9) pour réaliser une commande de pipeline pour un traitement successif d'adresses mémoire et de données; plusieurs étages d'unités de pipeline (1-6) pour sélectivement stocker et lire des adresses et des données sur la base d'instructions provenant des moyens de commande de pipeline;
un moyen de connexion cyclique d'adresses (103-
) pour connecter, parmi la pluralité d'étages des urités de pipeline, les unités affectées à des adresses, de façon à provoquer la circulation de ces adresses; et
un moyen de connexion cyclique de données (106-
108) pour connecter, parmi ladite pluralité d'étages des unités de pipeline, Les unités affectées à des données,
de façon à provoquer la circulation de ces données.
2. Système de commande d'accès mémoire selon la revendication 1, caractérisé en ce que ledit moyen de commande de pipeline (9) comporte: un moyen de contrôle d'occupation (10) répondant à une non satisfaction des conditions d'accessibilité à ladite mémoire principale, en provoquant la mise en circulation desdites adresses et données sur ledit moyen de connexion cyclique d'adresses (103-105), ledit moyen de connexion cyclique de données (106-108) et lesdites pluralités d'étages des unités de pipeline, et en décidant au cours de chaque cycle de cette circulation
si les conditions d'accessibilité à ladite mémoire prin-
cipale ont ou non été satisfaites.
3. Système de commande d'accès mémoire selon la revendication 1, caractérisé en ce qu'il comporte en outre: un moyen de stockage d'adresses (10) pour prélever une adresse d'au moins l'un ou l'autre de ladite pluralité d'étages des unités de pipeline, et dudit moyen de connexion cyclique d'adresses, et pour la stocker après une demande d'accès à ladite mémoire principale et avant réception d'une réponse à cette requête d'accès; un moyen de stockage de données (16) pour prélever une donnée d'au moins l'un ou l'autre de ladite pluralité d'étages des unités de pipeline et dudit moyen de connexion cyclique des données, et pour les stocker après la demande d'accès à Ladite mémoire principale et avant réception d'une réponse à cette demande d'accès; et un moyen de traitement (14) pour effectuer un traitement par exploitation des données provenant desdits moyens de stockage de données et d'une adresse
provenant dudit moyen de stockage d'adresses.
FR888802787A 1987-03-04 1988-03-04 Systeme de commande d'acces memoire Expired - Fee Related FR2611940B1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4770287 1987-03-04
JP4770487 1987-03-04
JP4770187 1987-03-04

Publications (2)

Publication Number Publication Date
FR2611940A1 true FR2611940A1 (fr) 1988-09-09
FR2611940B1 FR2611940B1 (fr) 1990-11-16

Family

ID=27293052

Family Applications (1)

Application Number Title Priority Date Filing Date
FR888802787A Expired - Fee Related FR2611940B1 (fr) 1987-03-04 1988-03-04 Systeme de commande d'acces memoire

Country Status (2)

Country Link
US (1) US4965764A (fr)
FR (1) FR2611940B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0442116A3 (en) * 1990-02-13 1993-03-03 Hewlett-Packard Company Pipeline method and apparatus
CA2106271C (fr) * 1993-01-11 2004-11-30 Joseph H. Steinmetz Architecture de memoires premier entre premier sorti a un et a plusieurs etages pour synchroniseurs de transfert de donnees
US6021471A (en) * 1994-11-15 2000-02-01 Advanced Micro Devices, Inc. Multiple level cache control system with address and data pipelines
GB2491156B (en) 2011-05-25 2019-08-07 Advanced Risc Mach Ltd Processing pipeline control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3900836A (en) * 1973-11-30 1975-08-19 Ibm Interleaved memory control signal handling apparatus using pipelining techniques
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4546430A (en) * 1983-07-13 1985-10-08 Sperry Corporation Control unit busy queuing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3900836A (en) * 1973-11-30 1975-08-19 Ibm Interleaved memory control signal handling apparatus using pipelining techniques
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing

Also Published As

Publication number Publication date
FR2611940B1 (fr) 1990-11-16
US4965764A (en) 1990-10-23

Similar Documents

Publication Publication Date Title
EP0757465A1 (fr) Circuit HDLC à bus interne partage
EP2366147B1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
JPS5830319Y2 (ja) コンピユ−タシステム
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.
FR2737591A1 (fr) Dispositif d'organisation d'acces a un bus memoire
FR2602070A1 (fr) Systeme et procede d'acces a une memoire d'ordinateur.
FR2804770A1 (fr) Procede et systeme d'acces precoce, en parallele, aux etiquettes des antememoires de niveaux inferieurs et a l'antemoire de premier niveau
FR2720531A1 (fr) Commande de verrouillage pour système de traitement de données.
FR2667706A1 (fr) Antememoire hierarchique a circuits integres.
EP1510925A2 (fr) Mémoire cache à lecture asynchrone et dispositif de controle de l'accès à une mémoire de données comprenant une telle mémoire cache
EP0020202A1 (fr) Système multiprocesseur de traitement de signal
EP3129874A1 (fr) Systeme de calcul distribue mettant en oeuvre une memoire transactionnelle materielle de type non-speculatif et son procede d'utilisation pour le calcul distribue
CN107688443A (zh) 一种数据存储的方法、系统及相关装置
EP0033672B1 (fr) Dispositif d'aiguillage de données numériques
FR2676845A1 (fr) Dispositif pour la gestion de plusieurs files d'attente independantes dans un espace memoire commun et banalise.
FR2611940A1 (fr) Systeme de commande d'acces memoire
FR3042050B1 (fr) Dispositif informatique muni de traitement en memoire et de ports d'acces etroits
EP1175122A1 (fr) Dispositif de gestion de mémoire permettant l'inscription de blocs de données par substitution
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
FR2625342A1 (fr) Dispositif permettant de traiter simultanement les demandes de transfert produites par l'unite centrale de traitement, l'unite de traitement arithmetique et l'unite de traitement d'entree-sortie d'un ordinateur de grande puissance
FR2643166A1 (fr) Microprocesseur a architecture pipeline comprenant une instruction d'acces a des donnees en memoire externe, et procede d'acces a ces donnees
EP0082903B1 (fr) Unité de commande pouvant être connectée à deux mémoires de vitesses différentes
FR2674044A1 (fr) Agencement pour predire une adresse d'instruction resultant d'un branchement dans un systeme de traitement numerique des donnees.
FR2754924A1 (fr) Circuit de memoire tampon d'entree/sortie capable de minimiser le transfert de donnees requis dans les operations de tamponnage d'entree et de sortie
FR2825167A1 (fr) Procede et systeme d'acces a une memoire commune

Legal Events

Date Code Title Description
ST Notification of lapse