FR2607282A1 - Dispositif de commande d'acces a une memoire - Google Patents

Dispositif de commande d'acces a une memoire Download PDF

Info

Publication number
FR2607282A1
FR2607282A1 FR8716095A FR8716095A FR2607282A1 FR 2607282 A1 FR2607282 A1 FR 2607282A1 FR 8716095 A FR8716095 A FR 8716095A FR 8716095 A FR8716095 A FR 8716095A FR 2607282 A1 FR2607282 A1 FR 2607282A1
Authority
FR
France
Prior art keywords
request
read
buffer
output
block
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
FR8716095A
Other languages
English (en)
Other versions
FR2607282B1 (fr
Inventor
Ikuo Yamada
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 FR2607282A1 publication Critical patent/FR2607282A1/fr
Application granted granted Critical
Publication of FR2607282B1 publication Critical patent/FR2607282B1/fr
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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

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)
  • Storage Device Security (AREA)

Abstract

LE DISPOSITIF DE COMMANDE D'ACCES A UNE MEMOIRE DE L'INVENTION COMPREND UN ENSEMBLE DE SECTIONS DE RECEPTION DE DEMANDES PROVENANT RESPECTIVEMENT D'UN ENSEMBLE D'UNITES A, B, C. CHAQUE DEMANDE QUI EST UNE DEMANDE DE LECTURE DE BLOC EST DIVISEE EN DEMANDES DE LECTURE PAR UNE SECTION 100 CORRESPONDANTE. UN SELECTEUR 200 SELECTIONNE L'UNE DES DEMANDES DE LECTURE POUR L'ENVOYER A UNE SECTION DE TRAITEMENT DE DEMANDE 300 RELIEE A UNE MEMOIRE PRINCIPALE 400. CHAQUE SECTION DE RECEPTION DE DEMANDE 100 COMPREND UN COMPTEUR 104 POUR COMPTER LES DEMANDES DE LECTURE ET ENVOYER LE COMPTE OBTENU A LA SECTION DE TRAITEMENT DE DEMANDE PAR LE SELECTEUR, ET LA SECTION DE TRAITEMENT DE DEMANDE COMPREND DES MOYENS POUR DETECTER UNE ABSENCE DE CORRESPONDANCE PENDANT UN TRAITEMENT D'UNE DEMANDE DE LECTURE DE BLOC, POUR DETERMINER LE NOMBRE DE REPONSES A FOURNIR A L'UNITE AYANT EMIS LA DEMANDE, ET POUR INVALIDER LES DEMANDES SUIVANTES LA DEMANDE DE LECTURE DE BLOC EN CAS D'ABSENCE DE CORRESPONDANCE.

Description

DISPOSITIF DE COMMANDE D'ACCES A UNE MEMOIRE
La présente invention concerne un dispositif de commande d'accès à une mémoire et, plus particulièrement, un dispositif de commande d'accès à une mémoire dans lequel le traitement de lecture
par blocs est perfectionné.
Les Figures lA et lB des dessins annexés représentent un
exemple d'un dispositif de commande d'accès à une mémoire classique.
Sur les Figures lA et lB, une section de porte d'accès de réception (qu'on appellera dans la suite une porte A) 100 entourée d'une ligne en traits interrompus reçoit une demande de lecture d'une unité A et engendre des données relatives à une adresse de demande, un code de demande, et une adresse à l'intérieur d'un
bloc, envoyées à un sélecteur 200. Le sélecteur 200 reçoit égale-
ment des signaux de sortie de portes d'accès B et C qui reçoivent des demandes d'unités B et C, respectivement, et qui ont les mêmes structures que la porte d'accès A. Le sélecteur 200 est connecté à un circuit de contrôle d'état occupé 900 servant à contrôler la disponibilité des unités A, B et C. Le circuit de contrôle d'état occupé 900 exécute un contrôle d'état occupé des demandes provenant des unités A, B et C, et engendre en sortie un signal de sélection 901 pour sélectionner l'unité A, B ou C qui a passé le contrôle
d'état occupé, ce signal étant envoyé au sélecteur 200, et un ai-
gnal d'unité disponible 902 indiquant que l'unité A, B, ou C est disponible pour la porte correspondante A, B ou C. Un signal de sortie du sélecteur 200 est envoyé à une entree d'une section de traitement de demande 300 pour traiter une demande sélectionnée. La section de traitement de demande 300 comporte une mémoire tampon 301. La section de traitement 300 est connectée à une unité de mémoire principale ( MU) 400 par une ligne d'accès à l'unité MMU 302 pour avoir accès à l'unité MMU 400 et une ligne de réponse de l'unité WfJ 401 servant à transmettre une réponse de l'unité MMU 400. Une sortie de la section de traitement 300 est
connectée à des registres de réponse 501, 502, et 503 correspon-
dant respectivement aux unités A, B et C. Le sélecteur 200, la section de traitement de demande 300, l'unité de mémoire principale 400, et les registres de réponse
501 à 503 constituent une section de traitement de pipeline.
La porte A 100 comprend un tampon de réception de demande d'unité A (qu'on appellera dans la suite un tampon) 101 connecté à l'unité A, un registre de lecture de tampon 102 connecté à la sortie du tampon 101, un registre d'adresse de tampon 103 pour fournir une adresse au tampon 101, un compteur de lecture de bloc 104, un additionneur 105, un circuit de commande de lecture de
tampon 106, et une porte ET 108.
La porte d'accès A 100 fonctionne de la manière suivante.
Une demande fournie par l'unité A 100 au tampon 101 comprend des demandes de lecture, d'écriture, et de lecture de bloc. Dans la demande de lecture de bloc, un bloc est constitué de 64 bits (B) qui sont décomposésen huit demandes de lecture de 8 bits (qu'on appellera dans la suite des demandes de lecture de 8B). Quand une
demande de lecture d'un seul bloc est fournie, le registre de lec-
ture de tampon 102 exécute la lecture du tampon 101 huit fois.
L'adresse de lecture du tampon 101 est fournie par le regis-
tre d'adresse de lecture de tampon 103. Quand la demande est une demande de lecture de bloc, le contenu du registre d'adresse de
lecture de tampon 103 ne change pas tant que l'opération de lec-
ture faite en réponse à une demande de lecture de bloc n'est pas terminée et il est mis à jour quand la lecture en réponse à la iême i demande de lecture de 8B est terminée. Quand la demande est une demande de lecture autre que la demande de lecture de bloc, le contenu du registre d'adresse de lecture de tampon 103 est mis à jour chaque fois qu'un accès pour une lecture dans le tampon 102
est effectué.
Le compteur de lecture de bloc 104 a une valeur comprise entre O et 7 et il compte huit demandes de lecture de 8B dans le cas d'une demande de lecture de bloc. Par conséquent, le contenu
du compteur 104 est toujours "0" au début de la lecture de bloc.
L'additionneur 105 additionne une donnéede sortie représen-
tant l'adresse à l'intérieur d'un bloc du tampon 101 et une donnée de sortie du compteur de lecture de bloc 104, et fournit la somme obtenue à une position de bit correspondante du registre de lecture de tampon 102. Le circuit de commande de lecture de tampon 106 reçoit une donnée de sortie fournie par le tampon 101 au registre de lecture de tampon 102 et une donnée de sortie du compteur de lecture de bloc 104, et engendre en sortie un signal de mise à jour 109 destiné au registre d'adresse de lecture de tampon 103 et un signal de validité 107 représentant une demande de lecture de bloc. Le circuit de commande de lecture de tampon 106 conmmande
l'opération de lecture du tampon 101 de la manière suivante.
(1) Quand la demande est autre qu'une demande de lecture de bloc, le signal de mise à jour 109 passe à "1" chaque fois qu'un accès pour une lecture dans le tampon 101 est effectué et le signal de validité 107 passe à "0". Il en résulte que l'adresse
à l'intérieur d'un bloc dans le tampon 101 est lue sans changement.
(2) Quand la demande est une demande de lecture de bloc, le signal de validité 107 est mis à "1", et la donnée de sortie du compteur de lecture de bloc 104 est fournie à l'additionneur 105 par l'intermédiaire de la porte ET 108. Quand la donnée de sortie du compteur de lecture de bloc 104 est égale à "7" et qu'un accès pour une lecture dans le tampon 101 est effectué en réponse à une demande de lecture de 8B, le signal de mise à jour 109 est mis à "1" de manière à mettre à jour l'adresse à l'intérieur d'un bloc
8 fois.
Quand l'unité A est sélectionnée par le sélecteur 200, la section de traitement de demande 300 traite la demande fournie par la porte d'accès A 100. Quand les données ne sont pas enregistrées (ce qu'on appellera dans la suite une "absence") dans la mémoire tampon 301, la section de traitement de demande 300 exécute un accès à l'unité MMU pour un accès à l'unité de mémoire principale 400, et, en réponse, l'unité de mémoire principale 400 fournit des
données de bloc à la mémoire tampon 301 par une réponse de t1J.
Dans le cas d'une demande de lecture de bloc, quand une cor-
respondance s'est produite, c'est-à-dire, quand une absence de
correspondance ne s'est pas produite, la porte d'accès A 100 engen-
dre en sortie une demande de lecture de 8B envoyée à la section de traitement de demande 300, huit fois. La section de traitement de demande 300 traite les huit demandes de lecture de 8B et envoie
des données de réponse 8 fois à l'unité A qui a fourni la demande.
Quand une absence de correspondance s'est produite pendant
une opération de lecture de bloc, la section de traitement de de-
mande 300 envoie une demande de lecture de bloc à l'unité de mé-
moire principale 400 par un accès à MMU, et,en réponse à la mémoire
principale 400, elle enregistre 64B de données dans la mémoire tam-
pon 301 par une réponse de MMU. La section de traitement de demande 300 envoie les données de réponse,qui sont un premier groupe de
8B de données du bloc,à l'unité A. La porte A 100 envoie - en sor-
tie les demandes de lecture de 8B restantes à la section de traite-
ment de demande 300.
Comme on l'a décrit plus haut, dans le traitement de demande de lecture de bloc classique, quand une absence de correspondance s'est produite, les données de réponse sont fournies à une unité
qui a fourni la demande et, simultanément, les données sont enre-
gistrées dans la mémoire tampon 301 de la section de traitement de
demande 300. Dans ce procédé classique, quand une absence de cor-
respondance s'est produite pendant une opération de lecture de bloc, toutes les données de réponse peuvent être envoyées à une unité qui a envoyé la demande,immédiatement. Cependant, puisque la demande de lecture de bloc est exécutée comme huit demandes de lecture de 8B indépendamment de la production d'une correspondance ou d'une absence de correspondance, un traitement inutile est effectué quand une absence de correspondance s'est produite, et il en résulte de
médiocres performances.
Un but de la présente invention est d'éliminer les inconvé-
nients ci-dessus de la technique classique et de fournir un dispo-
sitif de commande d'accès à une mémoire dans lequel un traitement
inutile effectué lors de la production d'une absence de correspon-
dance pendant un traitement d'une demande de lecture de bloc soit
éliminé, en permettant ainsi d'améliorer la capacité de traitement.
Afin d'atteindre le but ci-dessus, le dispositif de commande d'accès à une mémoire selon la présente invention comprend: un
ensemble de sections de réception de demande, connectées à un en-
semble d'unités pour fournir des demandes, pour recevoir une de-
mande de lecture de bloc provenant d'unités correspondantes des-
dites unités, diviser la demande de lecture de bloc en un ensemble
de demandes de lecture et engendrer en sortie les demandes de lec-
ture divisées; un moyen de sélection pour sélectionner une des
sorties de l'ensemble des sections de réception de demande et en-
gendrer en sortie le signal de sortie sélectionnée; et une section de traitement de demande pour traiter la demande de sortie du moyen
de sélection. Le dispositif de commande d'accès à une mémoire com-
prend également un compteur, un moyen de détection d'absence de correspondance, un moyen de détermination, et un moyen de sortie
de signal d'invalidation de registre de lecture de tampon. Le comp-
teur compte l'ensemble des demandes de lecture et engendre en sortie le compte obtenu envoyé à la section de traitement de demande par l'intermédiaire du moyen de sélection. Le moyen de détection détecte une absence de correspondance pendant le traitement de la demande de lecture de bloc par la section de traitement de demande. Le moyen de détenrmination détermine au moyen de la donnée de sortie du compteur le nombre de réponses à fournir à l'unité qui a envoyé la demande quand le moyen de détection d'absence de correspondance détecte une absence de correspondance. Le moyen de sortie de signal d'invalidation de registre de lecture de tampon reçoit un signal
de sortie du moyen de détection d'absence de correspondance et en-
gendre en sortie un signal pour invalider un ensemble de demandes suivant la demande de lecture de bloc envoyées à la section de
réception de demande.
D'autres caractéristiques et avantages de la présente inven-
tion seront mis en évidence dans la description suivante, donnée à
titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels:
les Figures 1,lA et lB sont des schémas fonctionnels représen-
tant un dispositif de commande d'accès à une mémoire classique;
les Figures 2, 2A et 2B sont des schémas fonctionnels re-
présentant un dispositif de commande d'accès à une mémoire selon un exemple de réalisation de la présente invention; les Figures 3, 3A et 3B sont des schémas de circuit d'un
exemple de réalisation d'un circuit de commande de lecture de tam-
pon 106 représenté sur la Figure 2; les Figures 4, 4A et 4B sont des schémas de circuit d'un exemple de réalisation d'une section de traitement de demande 300 représentée sur la Figure 2; et la Figure 5 est un diagramme des temps du fonctionnement du dispositif de commande d'accès à une mémoire selon l'exemple de
réalisation représenté sur les Figures 2A, 2B, 3A, 3B, 4A et 4B.
On va maintenant décrire en détail un exemple de réalisation
préféré de la présente invention en se référant aux dessins annexes.
Les Figures 2A et 2B sont des schémas fonctionnels représen-
tant un dispositif de commande d'accès à une mémoire selon un exem-
ple de réalisation de la présente invention.
Sur les Figures 2A et 2B, les mêmes références numériques
que sur les Figures lA et lB indiquent les mêmes parties.
Une section de réception de demande 100' entourée par une
ligne en traits interrompus est destinée à l'unité A et on l'appel-
lera dans la suite une porte d'accès A. Des portes d'accès B et C ayant des structures semblables sont prévues pour les unités B et
C, respectivement.
La porte d'accès A 100' comprend un tampon de réception de demande d'unité A (qu'on appellera dans la suite un tampon) 101,
un registre de lecture de tampon 102, un registre d'adresse de lec-
ture de tampon 103, un compteur de lecture de bloc 104, un addi-
tionneur 105, un circuit de commande de lecture de tampon 106, une porte ET 108, un registre de bit V 116, un compteur d'annulation
117, et un registre d'adresse d'écriture de tampon 118.
Une donnée de sortie de la porte A 100', c'est-à-dire, une
donnée de sortie du registre de lecture de tampon 102 est intro-
duite dans un sélecteur 200 ainsi que des données de sortie des portes d'accès B et C. Le sélecteur 200 sélectionne une des données de sortie des portes d'accès A, B et C en réponse à un signal de sélection 701 fourni par un circuit de contrôle d'état occupé 700 et engendre en sortie la donnée sélectionnée qui est envoyée à une section de traitement de demande 300. La section de traitement de demande 300 est connectée à une unité de mémoire principale 400 par l'intermédiaire de lignes 302 et 401. La ligne 302 est une ligne d'accès à MMU servant à avoir accès à l'unité de mémoire principale 400 par la section de traitement de demande 300. La ligne 401 est une ligne de transfert (ligne de réponse de MMU) pour transférer
les données de l'unité de mémoire principale 400 jusqu'à une mémoi-
re tampon 3450 de la section de traitement de demande 300.
Les données de sortie de la section de traitement de demande 300 sont transféréesjusqu'aux unités A, B et C respectivement par
l'intermédiaire de registres de réponse 501, 502 et 503.
Le tampon 101 comporte des zones pour une adresse à l'inté-
rieur d'un bloc, une adresse de demande, un code de demande, et des
données. Une donnée de sortie représentant une adresse à l'inté-
rieur d'un bloc est introduite à une entrée de l'additionneur 105.
Des données de sortie représentant une adresse de demande, un code de demande, et des données, respectivement, sont introduites dans
des zones de bits correspondantes RA, RC et DT du registre de lec-
ture de tampon 102. Le registre de lecture de tampon 102 comporte également une zone de bits (n ) pour le numéro d'unité. Une donnée de code de demande de sortie du tampon 101 est fournie au circuit
de comnande de lecture de tampon 106.
Le registre d'adresse de lecture de tampon 103 fournit une adresse de lecture au tampon 101 et met à jour sa donnée de sortie par un signal de mise à jour fournie par le circuit de commande de lecture de tampon 106. Dans cet exemple de réalisation, une demande de lecture d'un seul bloc est constituée par 64B de données et elle est divisée en huit demandes de lecture de 8B. Plus spécifiquement,
le contenu du tampon 101 est lu par le registre de lecture de tam-
pon 102 huit fois en réponse à une demande de lecture d'un seul bloc. Le contenu du registre d'adresse de tampon 103 n'est pas changé pendant une opération de lecture d'un seul bloc. En d'autres
termes, le contenu du tampon 101 est mis à jour à la 8ieme opéra-
tion de lecture. Pendant ce temps-là, le contenu du registre d'adresse de lecture de tampon 103 est mis à jour chaque fois qu'une demande est lue par le tampon 101 quand la demande est autre
qu'une demande de lecture de bloc.
Le registre d'adresse d'écriture de tampon 118 est un re-
gistre pour maintenir une adresse d'écriture afin d'écrire une
demande dans le tampon 101.
Quand une demande est autre qu'une demande de lecture de
bloc et qu'elle est non invalidée et reçue par la section de traite-
ment de demande 300, le compteur d'annulation 117 est mis à jour par un signal de mise à jour 109 fourni par le circuit de coEmmiande de lecture de tampon 106. Quand la demande est une demande de lec- ture de bloc, le compteur d'annulation 117 est mis à jour lors de la 8ieme opération de lecture. Le compteur 117 est également mis à jour quand une absence de correspondance s'est produite pendant
une opération de lecture de bloc. Dans ce cas, le compteur 117 main-
tient une adresse de lecture de demande suivant la demande de lec-
ture de bloc et l'envoie en sortie au registre d'adresse de lecture de tampon 103 par l'intermédiaire d'un circuit de sélection 119 qui
fonctionne au moyen d'un signal de sélection 111 fourni par le cir-
cuit de commande de lecture de tampon 106.
Le compteur de lecture de bloc 104 compte les huit demandes de lecture de 8B dans la demande de lecture de bloc au moyen d'un
signal de mise à jour 112 fourni par le circuit de cormmiande de lec-
ture de tampon 106. Le compteur 104 peut prendre une valeur de "0"
à "7" en étant incrémenté au moyen d'un additionneur de +1. Le con-
tenu du compteur 104 est envoyé en sortie au circuit de conmande de lecture de tampon 106 et au sélecteur 200. Ainsi, la section de traitement de demande 300 peut déterminer le nombre de demandes de lecture de 8B reçues. En d'autres termes, le contenu du compteur 101 sert d'indicateur pour notifier le nombre de réponses à fournir à l'unité qui a envoyé la demande, c'est-à-dire, à l'unité A quand une absence de correspondance s'est produite dans une opération de lecture de bloc. Le signal de sortie du compteur 104 est également le signal d'entrée envoyé à une entrée de la porte ET 108. L'autre entrée du compteur 104 reçoit un signal de validité 107 qui est le signal de sortie du circuit de commande de lecture de tampon 106 et représente une opération de lecture de bloc. Le signal de sortie de la porte ET 108 est le signal d'entrée envoyé à l'autre entrée
de l'additionneur 105. Plus spécifiquement, l'additionneur 105 ad-
ditionne une donnée de sortie représentant une adresse à l'intérieur
d'un bloc du tampon 101 et une donnée de sortie du compteur de lec-
ture de bloc 104 pendant une opération de lecture de bloc.
En plus de l'opération ci-dessus, le circuit de commande de lecture de tampon 106 reçoit un bit RC de sortie du registre de lecture de tampon 102, un groupe de signaux d'annulation de lecture
de bloc 600 de la section de traitement de demande 300, et un si-
gnal de disponibilité d'unité A 702 du circuit de contrôle d'état
occupé 700, et envoie en sortie des signaux d'invalidation et d'éta-
blissement 114 et 115 au registre de bit V 116..
Une bascule de suppression d'unité A (F/F) 800 est position-
née et remise à l'état initial par des signaux de positionnement et de remise à l'état initial 601 et 602, respectivement, envoyés par la section de traitement de demande 300, et un signal de sortie de
celle-ci est fourni au circuit de contrôle d'état occupé 700.
Les Figures 3A et 3B sont des schémas de circuit représen-
tant un exemple du circuit de commande de lecture de tampon 106 re-
présenté sur les Figures 2A et 2B.
Sur les Figures 3A et 3B, un décodeur 1060 est inclus dans le compteur de lecture de bloc 104. Quand le compte du compteur 104 est égal à "7", un "1" est engendré en sortie par une borne 7 du décodeur 1060. Un décodeur 1065 reçoit un code de demande en sortie du tampon 101 et met un "1" en sortie à l'une de ses bornes R, W et BR en réponse à un code de demande 00, 01 ou 10 représentant une opération de lecture, d'écriture, ou de lecture de bloc. Le signal de sortie à la borne 7 du décodeur 1060 est combiné par la fonction logique ET au moyen d'une porte ET 1061 avec un signal de sortie à la borne BR du décodeur 1065, et le résultat est envoyé comme signal d'entrée à une entrée d'une porte OU 1062. Les deux signaux de sortie aux bornes R et W du décodeur 1065 sont envoyés en entrée de la porte OU 1062. Le signal de sortie de la porte OU 1062 est envoyé à une entrée d'une porte ET 1063, combiné par la fonction logique ET avec un signal de disponibilité d'unité A 702, et envoyé comme signal d'entrée à une entrée d'une porte OU 1062. Le signal de sortie de la porte OU 1062 est envoyé à 1' entrée du registre d'adresse de tampon 103 par l'intermédiaire d'une porte ET 1063 et
d'une porte OU 1064 comme signal de mise à jour 110.
Un décodeur 1067 reçoit un code de demande RC de sortie du registre de lecture de tampon 102 et met à "1" l'une de ses bornes
de sortie R, W et BE en réponse au code de demande 00, 01, ou 10.
Un signal de sortie à la borne de sortie BR du décodeur 1067 est fourni à une porte ET 108 comme signal de validité 107 indiquant
qu'une demande de bloc est en cours de traitement, et il est combi-
né selon la fonction logique ET par une porte ET 1066 avec le si- gnal de disponibilité d'unité A 702. Le signal de sortie de la porte ET 1066 est introduit dans le compteur de lecture de bloc 104
comme signal de mise à jour 112.
Le signal de sortie du registre de V 116 est introduit dans une porte OU 1069 par l'intermédiaire d'une porte NON-ET 1068 et il
est combiné selon la fonction logique OU avec le signal de disponi-
bilité d'unité A 702. Le signal de sortie de la porte OU 1069 est introduit à une entrée d'une porte ET 1071. Le signal de sortie d'un comparateur 1070 est introduit à l'autre entrée de la porte ET
1071. Le comparateur 1070 compare les signaux de sortie des regis-
tres d'adresse de lecture de tampon et d'écriture de tampon 103 et 118. Quand ces signaux de sortie ne coïncident pas entre eux, le comparateur 1070 engendre en sortie un signal "1" indiquant qu'une demande d'accès au tampon 101 est présente. Le signal de sortie de la porte ET 1071 est introduit dans le registre de bit V 116 conme
signal de mise à un 115.
Pendant ce temps-là, un groupe de signaux d'annulation de lecture de bloc 600 envoyés par la section de traitement de demande
300 au circuit de comnande de lecture de tampon 106 comprend le si-
gnal de mise à jour 109 proprement dit du compteur d'annulation 117 et un signal de remise à zéro de V. Le signal de remise à zéro de V sert de signal d'invalidation 114 pour le registre de lecture de
tampon 102, de signal de remise à zéro 113 pour le compteur de lec-
ture de bloc 104, et de signal de sélection 111 pour le circuit de sélection 119. Simultanément, le signal de remise à zéro de V est combiné selon la fonction logique OU par une porte OU 1064 avec le signal de sortie de la porte ET 1063 et envoyé à l'entrée du
registre d'adresse de tampon 103 comme signal de mise à jour 110.
Le circuit de commande de lecture de tampon 106 ayant l'agen-
cement ci-dessus commande une opération de lecture du tampon 101
de la manière suivante.
(1) Quand la demande est autre qu'une demande de lecture de bloc (c'est-àdire qu'on a le code de demande 00 ou 01), le signal de mise à jour 110 est mis à "1" chaque fois qu'une opération de lecture est exécutée dans le tampon 101. Le signal de validité 107 est mis à "0" et l'adresse à l'intérieur d'un bloc du tampon 101 est lue sans être mise à jour. Quand la demande n'est pas invalidée et reçue par la section de traitement de demande 300, le signal de
mise à jour 109 est mis à "1" et il met à jour le compteur d'annu-
lation 117. Le signal de sélection 111 est normalement à "0" et le signal de sortie du registre d'adresse de lecture de tampon 103 est
sélectionné, et il est mis à "1" quand une absence de correspon-
dance s'est produite et que le groupe de signaux d'annulation de
lecture de bloc 600 est engendré, la sortie du compteur d'annula-
tion 117 étant ainsi sélectionnée.
(2) Quand la demande est une demande de lecture de bloc, le
signal de mise à jour 110 en sortie du registre d'adresse de lec-
ture de tampon 103 est mis à "1" uniquement quand le compte du compteur de lecture de bloc 104 est égal à "7" et une opération de lecture du tampon 101 est exécutée. Le signal de validité 107 passe à "1" pendant une opération de lecture de bloc, et l'adresse à l'intérieur d'un bloc du tampon 101 est ainsi mise à jour 8 fois
chaque fois qu'une opération de lecture du tampon 101 est exécutée.
Quand une absence de correspondance s'est produite dans la demande de lecture de bloc introduite dans la section de traitement
de demande 300, les signaux respectifs du groupe de signaux d'annu-
lation de lecture de bloc 600 est mis à "i" et sont envoyés au cir-
cuit de commande de lecture de tampon 106. Il en résulte que le si-
gnal de mise à jour 109 pour le compteur d'annulation 117, le signal de sélection 111, le signal de remise à zéro 113 pour le compteur
de lecture de bloc 104, et le signal de mise à jour 110 pour le re-
gistre de lecture de tampon 103 sont mis à "1", le compte du comp-
teur de lecture de bloc 104 est mis à "0", qui est la valeur ini-
tiale, et le contenu du registre d'adresse de tampon 103 est mis à jour par le compte mis à jour du compteur d'annulation 117 (le compteur d'annulation 117 maintient l'adresse de demande suivante dans la même demande de lecture de bloc). De plus, le signal d'invalidation pour le registre de bit V 116 est mis à "1" et la demande de lecture de 8B maintenue par le registre de lecture de
tampon 102 est invalidée. Il en résulte qu'une demande qui est va-
lide après la demande de lecture de bloc est mise dans le registre de lecture de tampon 102. Plus spécifiquement, quand une absence de correspondance s'est produite dans une demande de lecture de 8B pendant une opération de lecture de bloc, toutes les demandes de
lecture de 8B suivant la demande de lecture manquante qui appar-
tiennent à l'opération de lecture de bloc sont invalidées, et la nouvelle demande suivante est exécutée. On décrira dans la suite le fonctionnement de la section de traitement de demande 300 dans
ce cas.
Les Figures 4A et 4B sont des schémas de circuit représen-
tant en détail un exemple de réalisation de la section de traitement
de demande 300 représentée sur les Figures 2A et 2B.
Dans cet exemple de réalisation, le pipeline est constitué
de trois étages.
La Figure 5 est un diagramme des temps representant le fonc-
tionnement de l'exemple de réalisation représenté sur les Figures 2A, 25, 3A, 3B, 4A et 4B, et représente le cas o une absence de correspondance s'est produite dans la deuxième opération de lecture de 8B dans une opération de lecture d'un seul bloc. Sur la Figure 5, ièîme le symbole de référence BRi indique une iime operation de lecture de 85 et R indique une opération de lecture autre qu'une opération
de lecture de bloc.
On. va décrire le fonctionnement de la section de traitement de demande 300 quand une absence de correspondance s'est produite
pendant une opération de lecture de bloc, en se référant aux Figu-res 4A, 4B et 5.
Ouand une demande est introduite dans le pipeline, une adres-
se de demande est chargée dans le registre de RA 3240, et un réseau d'adressage 3190 est ainsi interrogé dans l'étage 1 pour déterminer une présence/absence de correspondance. Quand il est déterminé
qu'une présence de correspondance s'est produite, un signal de pré-
sence de correspondance est fourni à un comparateur 3200 et une bascule 3210 est mise à "0". Une opération de lecture est alors exécutée d'une mémoire tampon 3450 à un registre de lecture de mémoire tampon 3460, sous la commande d'un contrôleur d'accès à tMU 3420, et des données de réponse sont envoyées de la sortie du registre 3460 aux unités respectives A, B, et C par l'intermédiaire d'un registre de lecture de mémoire tampon 3470 de l'étage 3. Quand il est déterminé qu'une présence de correspondance ne
s'est pas produite, la sortie de la bascule F/F 3210 est mise à"l".
Le signal de sortie à "1" est fourni au contrôleur d'accès à MWU 3420 et à des portes ET 3090 et 3220. Le signal de sortie de la porte ET 3090 est fourni à une entrée d'une porte OU 3100 quand la demande est une demande de lecture de bloc (quand la borne BR du
décodeur 3030 est à "1").
Sur les Figures 4A et 4B, le circuit incluant un registre de n 3270 servant à recevoir le numéro de l'unité par rapport à une porte NI 3370 engendre en sortie un signal d'annulation de demande pour invalider une demande qui est fournie successivement par la meme unité au pipeline à partir de sa porte NI 3370. Le signal d'annulation de demande est introduit dans une porte ET 3160 et comainé selon la fonction logique ET avec un bit V fourni par la porte d'accès A 100'. Le signal résultat de la combinaison logique ET en sortie de la porte ET 3160 est introduit à l'autre entrée de la porte ET 3220 par l'intermédiaire d'un registre de V 3170. Plus spécifiquement, quand une absence de correspondance s'est produite, le bit V passe à "1" et le signal d'annulation de demande passe à "1", un signal de mrise à un 601 pour une bascule F/F de suppression
d'unité A 800 est engendré par la porte ET 3220. Le traitement sui-
vant est alors supprimé, et un signal de remise à zéro de V à l'in-
térieur du groupe de signaux d'annulation de lecture de bloc 600 est introduit dans le circuit de commande de lecture de tampon 106
de la porte d'accès A 100'à partir de la bascule F/F 3230 de l'éta-
ge 3, ce qui entraîne le fonctionnement décrit plus haut.
Quand une réponse est renvoyée par l'unité de mémoire prin-
cipale 400 et qu'un traitement d'absence de correspondance est ter-
miné, un signal de remise à zéro 602 est engendré pour remettre à l'état initial la bascule F/F de suppression d'unité A 800. Quand la sortie de la bascule FZF 800 est à "1", la demande provenant de l'unité A ne peut pas passer le contr8le d'état occupé exécuté par le circuit de contrôle d'état occupé 700, c'est-à-dire que la
demande est maintenue.
Le signal de mise à jour 109 destiné au compteur d'annula-
tion 117 est mis à "1" quand au moins un des signaux d'entrée de la porte OU 3100 est mis à "1" et le registre de V 3170 est mis à "1", c'est-àdire, (1) quand une demande de lecture autre qu'une demande de lecture de bloc ou une demande d'écriture de bloc (la borne de sortie R ou W du décodeur 3030 est à "1") n'est pas invalidée par
le pipeline, (2) quand la huitième demande de lecture de 8B à l'in-
térieur de la demande de lecture de bloc n'est pas invalidée par le
pipeline ( le signal de sortie de la porte ET 3080 qui est le ré-
sultat de la combinaison logique ET des signaux de sortie de la borne BR du décodeur 3030 et de la borne "7" du décodeur 3070), et (3) quand une absence de correspondance s'est produite pendant une
opération de lecture de bloc de 64B (le comparateur 3200, la bas-
cule F/F 3210, la porte ET 3090). Parmi ces trois cas, le cas (3)
est la caractéristique du dispositif de commande d'accès à une mé-
moire de la présente invention.
Sur les Figires 4A et 4B, un circuit de décision 3120 est connecté au contrôleur d'accès à MJ 3420 pour contrôler le nombre
de réponses quand une absence de correspondance s'est produite pen-
dant une opération de lecture de bloc. Un sélecteur 3130 sélection-
ne normalement un "1" et, dans le cas d'une opération de lecture de
* bloc, sélectionne le signal de sortie du circuit de décision 3120.
Plus spécifiquement, une demande de lecture de bloc parmi les 8
demandes de lecture de bloc ou s'est produite une absence de corres-
pondance peut être obtenue par la sortie du compteur de lecture de bloc 104 de la porte d'accès A 100'. Par exemple, quand le compte du compteur de lecture de bloc 104 est égal à 3, une absence de correspondance s'est produite dans la 4ième demande de lecture de 8B. Le nombre de réponses à renvoyer à l'unité A qui a envoyé la demande est déterminé comme étant égal à (8-3) = 5. Par conséquent, quand une absence de correspondance s'est produite, une réponse peut être renvoyée à l'unité A, qui a envoyé la demande, (8-N)fois, en supposant que N est le contenu d'un registre de compte de bloc
3060 de l'étage 2.
Comme on l'a décrit plus haut, dans une opération de lecture
de bloc, quand une présence de correspondance s'est produite, puis-
qu'une demande de lecture de 8B est engendrée en sortie de la porte A 100' 8 fois, une demande de lecture de 8B est exécutée 8 fois. Quand une absence de correspondance s'est produite alors que la
demande est envoyée par l'unité A (y compris les première et der-
nière demandes), le groupe de signaux d'annulation de lecture de bloc 600 est engendré par la section de traitement de demande 300
et fourni à la porte A 100' et les demandes de lecture de 8B sui-
vantes incluses dans la même demande de lecture de bloc sont invali-
dées. Une demande de lecture de bloc est envoyée à l'unité de mé-
moire principale 400 et ses données de réponse sont enregistrées dans l'unité de mémoire tampon 3450. L'enregistrement dans l'unité
de mémoire tampon 3450 est exécuté, et, simultanément, (8-N) répon-
ses sont renvoyées à l'unité A qui a fourni la demande. Par conse-
quent, quand une absence de correspondance s'est produite pendant une opération de lecture de bloc, les demandes de lecture de 8B suivantes dans la même demande de lecture de bloc sont invalidées C et la nouvelle demande suivante est lue. Il en résulte qu'on élimine
l'opération consistant à exécuter les demandes de lecture de 8B res-
tantes de la même demande de lecture de bloc après que les données aient été enregistrées dans la mémoire tampon 3450 par cette absence
de correspondance.

Claims (5)

REVENDICATIONS
1. Dispositif de commande d'accès à une mémoire comprenant:
un ensemble de sections de réception de demande (100'), respective-
ment connectées à un ensemble d'unités (A,B,C) destinées à fournir des demandes, pour recevoir une demande de lecture de bloc d'unités correspondantes desdites unités, diviser la demande de lecture de bloc en un ensemble de demandes de lecture et engendrer en sortie
des demandes de lecture divisées; un sélecteur (200) pour sélec-
tionner l'une des sorties de l'ensemble des sections de réception de demande et engendrer en sortie le signal de sortie sélectionnée; une section de traitement de demande (300) pour traiter le signal de sortie de demande du sélecteur et engendrer en sortie des données
de réponse envoyées à une unité correspondante; et une mémoire prin-
cipale (400) connectée à la section de traitement de demande; caractérisé en ce que la section de réception de demande (100') comprend un compteur (104) pour compter l'ensemble des demandes de lecture de la demande de lecture de bloc et engendrer en sortie le compte obtenu, envoyé à la section de traitement de demande par l'intermédiaire du sélecteur, et en ce que la section de traitement
de demande (300) comprend un moyen de détection d'absence de corres-
pondance (3200) pour détecter une absence de correspondance pendant
le traitement d'une demande de lecture de bloc, un moyen de déter-
mination (3120) pour déterminer au moyen du compte de sortie du compteur le nombre de réponses à fournir à l'unité qui a envoyé la
demande quand le moyen de détection d'absence de correspondance dé-
tecte une absence de correspondance, et un moyen (3210,3220) pour recevoir un signal de sortie du moyen de détection d'absence de correspondance et engendrer en sortie un signal envoyé à la section de réception de demande pour invalider les demandes suivant la demande de lecture de bloc, dans l'ensemble des demandes de lecture,
o une absence de correspondance s'est produite.
2. Dispositif selon la revendication 1, caractérisé en ce que chacune des sections de réception de demande (100') comprend un tampon (101) pour recevoir une demande d'une unité correspondante, des premier et deuxième moyens d'adressage (103,118) connectés au tampon, de telle sorte que l'un (103) d'eux fournit une adresse de lecture, un registre de lecture (102) pour envoyer les signaux de sortie du tampon et du compteur (104) à la section de traitement de demande (300) par l'intermédiaire du sélecteur (200), et un moyen
de commande de lecture de tampon (106) pour recevoir un signal in-
quant qu'une opération de lecture du tampon a été exécutée, un si- gnal de sortie du moyen de détection d'absence de correspondance (3200) de la section de traitement de demande (300), et un compte de sortie du compteur (104), et pour engendrer en sortie un signal
afin de sélectionner l'un des premier et deuxième moyens d'adressa-
ge (103,118), des signaux afin de mettre à jour les contenus des
premier et deuxième moyens d'adressage et du compteur, respective-
ment, un signal indiquant qu'une demande de lecture de bloc est en
cours de traitement, et un signal afin d'invalider un fonctionne-
ment du registre de lecture (102).
3. Dispositif selon la revendication 2, caractérisé en ce que la section de traitement de demande (300) comprend un moyen (3230) pour envoyer au moyen de commande de lecture de tampon (106) un groupe de signaux d'annulation de lecture de bloc (600) pour
passer du premier (103) au deuxième (118) moyen d'adressage confor-
mément à un signal de sortie du moyen de détection d'absence de correspondance et pour mettre à jour le deuxième moyen d'adressage quand une absence de correspondance s'est produite pendant une
opération de lecture de bloc.
4. Dispositif selon la revendication 1, caractérisé en ce que, lorsqu'une absence de correspondance s'est produite pendant une
opération de lecture de bloc, le moyen de détermination (3120) dé-
termine le nombre de réponses à fournir à l'unité qui a envoyé la demande conformément à une différence entre un nombre prédéterminé
et un compte de sortie du compteur (104,3060).
5. Dispositif selon la revendication 1, caractérisé en ce que le moyen de détection d'absence de correspondance (3200) compare une adresse de bloc dans le tampon de la section de traitement de
demande (300) et une adresse de demande incluse dans la demande.
FR878716095A 1986-11-21 1987-11-20 Dispositif de commande d'acces a une memoire Expired - Fee Related FR2607282B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27844286 1986-11-21

Publications (2)

Publication Number Publication Date
FR2607282A1 true FR2607282A1 (fr) 1988-05-27
FR2607282B1 FR2607282B1 (fr) 1990-07-20

Family

ID=17597398

Family Applications (1)

Application Number Title Priority Date Filing Date
FR878716095A Expired - Fee Related FR2607282B1 (fr) 1986-11-21 1987-11-20 Dispositif de commande d'acces a une memoire

Country Status (3)

Country Link
US (1) US4802125A (fr)
CA (1) CA1286790C (fr)
FR (1) FR2607282B1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0333231B1 (fr) * 1988-03-18 1995-06-14 Nec Corporation Système micro-ordinateur pouvant accéder à une mémoire à vitesse élevée
US4953079A (en) * 1988-03-24 1990-08-28 Gould Inc. Cache memory address modifier for dynamic alteration of cache block fetch sequence
JPH0740241B2 (ja) * 1989-01-17 1995-05-01 富士通株式会社 リクエストキャンセル方式
JPH0614003A (ja) * 1991-07-31 1994-01-21 Nec Corp データ処理回路
JP2731761B2 (ja) * 1995-08-29 1998-03-25 甲府日本電気株式会社 ネットワーク制御装置
JP3094956B2 (ja) * 1997-06-26 2000-10-03 日本電気株式会社 半導体記憶装置
JP6287571B2 (ja) * 2014-05-20 2018-03-07 富士通株式会社 演算処理装置、情報処理装置、及び、演算処理装置の制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2015216A (en) * 1978-03-07 1979-09-05 Ibm Data processing apparatus
EP0077451A2 (fr) * 1981-10-15 1983-04-27 International Business Machines Corporation Sous-système de mémoire à antémémoire court-circuitable

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799616B2 (ja) * 1984-08-30 1995-10-25 三菱電機株式会社 半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2015216A (en) * 1978-03-07 1979-09-05 Ibm Data processing apparatus
EP0077451A2 (fr) * 1981-10-15 1983-04-27 International Business Machines Corporation Sous-système de mémoire à antémémoire court-circuitable

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ICL TECHNICAL JOURNAL *
PATENT ABSTRACTS OF JAPAN *

Also Published As

Publication number Publication date
CA1286790C (fr) 1991-07-23
US4802125A (en) 1989-01-31
FR2607282B1 (fr) 1990-07-20

Similar Documents

Publication Publication Date Title
EP0121030B1 (fr) Dispositif d'arbitrage pour l'attribution d'une ressource commune à une unité sélectionnée d'un système de traitement de données
US4064553A (en) Information processor
BE897586A (fr) Circuit parallele de controle de redondance cyclique
EP0151653A1 (fr) Dispositif de sérialisation/désérialisation de configuration de bits de longueur variable
FR2489578A1 (fr) Structure d'organisation pour memoire tampon
FR2492132A1 (fr) Systeme de redressement d'erreur d'un systeme a multiprocesseurs pour un redressement d'erreur par transfert de signaux d'etat d'un processeur a un autre processeur sans utilisation d'une memoire
FR2472233A1 (fr) Dispositif de commande de memoire pour systeme de traitement des donnees
FR2635891A1 (fr) Dispositif electronique portatif comportant des donnees-cle limitant l'acces a la memoire
BE897587A (fr) Circuit parallele de controle de redondance cyclique
FR2607282A1 (fr) Dispositif de commande d'acces a une memoire
US4124775A (en) Coin box removal information processing arrangement
FR2518332A1 (fr) Circuit pour detecter la sequence de generation de signaux
USRE30821E (en) Customer service unit
US4075696A (en) Data control device for selectively providing data to a processing system
US4124774A (en) Telephone station coin memory and control system
EP0519847B1 (fr) Carte à mémoire de comptage de données et appareil de lecture
GB1579165A (en) Data processing apparatus
EP0032862A1 (fr) Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information
FR2602601A1 (fr) Systeme d'initialisation de memoires
FR2644260A1 (fr) Dispositif de commande d'acces en memoire pouvant proceder a une commande simple
FR2531824A1 (fr) Circuit et procede de controle de circuits logiques sequentiels
FR2546319A1 (fr) Agencement de circuit capable d'empecher l'acces a une partie d'une memoire de commande lors de l'apparition d'une erreur dans cette partie
FR2645297A1 (fr) Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes
US4356547A (en) Device for processing telephone signals, including a processor and a preprocessor sharing a common memory
FR2677476A1 (fr) Memoire tampon auxiliaire partagee et procede pour tester automatiquement une telle memoire.

Legal Events

Date Code Title Description
ST Notification of lapse