FR2489578A1 - Structure d'organisation pour memoire tampon - Google Patents
Structure d'organisation pour memoire tampon Download PDFInfo
- Publication number
- FR2489578A1 FR2489578A1 FR8112641A FR8112641A FR2489578A1 FR 2489578 A1 FR2489578 A1 FR 2489578A1 FR 8112641 A FR8112641 A FR 8112641A FR 8112641 A FR8112641 A FR 8112641A FR 2489578 A1 FR2489578 A1 FR 2489578A1
- Authority
- FR
- France
- Prior art keywords
- unit
- information
- input
- attempt
- missed
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
LA PRESENTE INVENTION CONCERNE UNE STRUCTURE D'ORGANISATION DE MEMOIRE TAMPON. CETTE STRUCTURE COMPREND UNE MEMOIRE TAMPON 12, UN CIRCUIT DE SELECTION 14, UNE UNITE 18 DE COMMANDE ET DE ZONES D'ETIQUETTES, UNE PILE D'ENTREE 40, UNE UNITE 30 DE REGISTRES DE MAINTIEN D'INFORMATION DE TENTATIVE MANQUEE, UN RESEAU 34 DE COMPARAISON D'INFORMATION ET DE SAISIE D'ETAT DE TENTATIVE MANQUEE, ET UN RESEAU 56 DE SELECTION DE SIGNAL DE SORTIE DONT UNE ENTREE PROVIENT D'UNE UNITE 44 DE RECEPTION DE MEMOIRE RECEVANT ELLE-MEME DES DONNEES DE LA MEMOIRE CENTRALE DU CALCULATEUR.
Description
L'invention concerne les structures d'organisation pour mémoires tampons,
par exemple destinées à être utilisées dans
des systèmes calculateurs numériques.
Le brevet des Etats-Unis d'Amérique n0 3 949 379 ne fait qu'aborder l'idée d'une mémoire tampon, ou, comme cela est rapporté dans le brevet, une mémoire utilisateur, par rapport à une fonction d'empêchement de blocage après une adresse manquée
o une donnée n'est pas présente dans la mémoire utilisateur.
L'empêchement du blocage est obtenu pour la plus grande partie grAce à l'existence de trois mémoires utilisateur séparées. Le reste de la fonction d'empêchement de blocage est réalisé sur la base du fait que l'on autorise une remise à jour de bloc pour une adresse manquée précédente parallèlement à des tentatives d'accès ultérieures effectuées par utilisation d'un registre de mémoire d'écriture. Toutefois, cette dernière fonction d'empêchement de blocage n'est réalisée que dans les cas les plus ordinaires, lorsque, par exemple, un seul bloc de données peut être remis à jour à la fois, ou bien lorsqu'il n'y a pas de tentative d'accès à un bloc de.données qui est en train d'être remis à jour, ou bien lorsqu'il ne peut y avoir qu'une seule instruction d'écriture
pour chaque mot du bloc à chaque remise à jour totale du bloc.
En résumé, le brevet cité n' 3 949 379 montre la possibilité et l'avantage d'une fonction d'empêchement de blocage pour une mémoire utilisateur ou une mémoire tampon, mais ne propose une telle utilisation que dans les cas les plus simples. On note qu'il existe une probabilité élevée qu'il y ait tentative d'accès à un autre mot du même bloc de données, en raison du principe même sur lequel repose l'utilité d'une mémoire tampon. L'invention vise à étendre la fonction d'empêchement de blocage jusqu'à un point o l'on
puisse efficacement utiliser une unique mémoire tampon.
Le brevet des Etats-Unis d'Amérique n0 3 896 419 montre la possibilité d'empêcher un blocage dans une mémoire tampon,
mais le blocage n.'est em?êché que pour les opérations de mémorisa-
tion. Cette mémoire tampon de la technique antérieure permet des chargements groupés sans chevauchement autonomes, mais il y a une situation de blocage en cas de tentative manquée, c'est-à-dire d'absence de correspondance. L'invention vise non seulement à empêcher le blocage pour un nombre prédéterminé de situations
de tentatives manquées, mais permet également une mise en cor-
respondance de données en transit depuis une mémoire auxiliaire ou une mémoire principale avec chargement par blocs de la mémoire tampon totalement autonome et en chevauchement complet. On note que, selon le brevet-cité n0 3 896 419, seul le chargement de le mémoire tampon après réception de la donnée en provenance de
la mémoire principale s'exécute en chevauchement.
Le brevet des Etats-Unis d'Amérique n0 3 928 857 décrit le problème du blocage de l'unité d'instruction qui résulte d'un encombrement de la mémoire. La solution décrite consiste à
faire appel à un tampon d'instruction distinct de manière à dé-
placer la situation d'encombrement de la mémoire des parties de prise en charge d'opérandes et de prise en charge d'instructions
du cycle aux parties de prise en charge d'opérandes et de pré-
prise en charge d'instructions du cycle mémoire. Si le tampon d'instruction ou de commande devrait être suffisamment grand avec
les fonctions de prise en charge d'opérandes, ce problème d'encom-
brement pourrait être éliminé pour l'essentiel. Une autre manière de résoudre le problème indiqué consiste à prévoir une mémoire tampon à la fois pour les opérandes et les instructions avec un mécanisme permettant d'empêcher le blocage en cas de tentative manquée. De -plus, le brevet cité n0 3 928 857 ne résout pas le problème du blocage de la mémoire tampon qui est dû à une tentative manquée
au premier accès d'une instruction d'accès à plusieurs opérandes.
Il s'agit de la situation o tous les accès à la mémoire provien-
nent d'une unité d'exécution. De plus, dans cette situation à mémoires multiples proposée, il existe un problème important lorsque les données de plus d'une des mémoires sont éventuellement
un même article, la remise à jour devenant extrêmement complexe.
Une structure d'organisation de mémoire tampon unique simplifie
cette situation.
Selon l'invention, il est proposé une structure d'organisation de mémoire tampon comprenant: une unité de mémoire tampon; un moyen de sélection servant à sélectionner un signal d'entrée à appliquer à ladite mémoire; un moyen constituant une unité-de commande et de zones d'étiquettes servant à fournir une première adresse audit moyen de sélection; un moyen constituant une pile d'entrée servant à fournir un signal d'entrée de donnée audit moyen de sélection; une unité de registres de maintien d'information de tentative manquée servant à fournir un deuxième signal d2entrée d'adresse au moyen de sélection; ladite unité
de registres de maintien d'information de tentative manquée rece-
vant, en fonctionnement, un signal d'entrée de la part du moyen constituant l'unité de commande et de zones d'étiquettes; un réseau comparateur d'information et de saisie d'état de tentative manquée qui est connecté à des registres contenus dans ladite unité de-registres de maintien d'information de tentative manquée de façon à recevoir dudit moyen constituant l'unité de commande et de zones d'étiquettes une adresse de mémoire tampon et d'appel d'entrée et à fournir une information d'état audit moyen constituant l'unité de commande et de zones d'étiouettes; et un réseau de sélection de signaux de sortie ayant une première entrée en provenance de la
mémoire tampon, une deuxième entrée en provenance dudit moyen cons-
tituant la pile d'entrée et une troisième entrée en provenance d'une unité de réception de mémoire conçue pour recevoir des
données d'une mémoire centrale d'un système calculateur.
De préférence, ladite unité de registres de maintien d'information de tentative manquée consiste en plusieurs registres possédant chacun: un registre d'adresse de mémoire tampon, un registre d'adresse d'appel d'entrée, un registre d'étiquettes d'identification, un registre d'indicateurs de transfert à l'unité centrale, un registre de code d'écriture partielle, un registre d'indicateurs de présence dans la pile d'entrée, et un registre
d'information de commande.
Dans le mode de réalisation préféré, ladite unité de registres de maintien d'information de tentative manquée
consiste en quatre dits registres.
De préférence, un comparateur d'information de tentative manquée dudit réseau comparateur d'information et de saisie d'état de tentative manquée possède un nombre prédéterminé de voies de comparaison et comprend: plusieurs sélecteurs qui envoient une information d'état au moyen constituant une unité de commande et de zones d'étiquettes, plusieurs sélecteurs qui envoient un code d'écriture partielle et d'adresse de mémoire tampon au moyen de sélection, plusieurs sélecteurs qui envoient une information d'indicateur de transfert à l'unité centrale et d'étiquette d'identification choisie de commande à l'unité de réception de mémoire, un moyen constituant un réseau qui forme le produit logique et la somme logique pour des registres d'état totalement écrit et d'état partiellement écrit, et un réseau de résolution de tentative
réussie qui détermine à partir des signaux de sortie de comparai-
son l'état de tentative réussie, ou coup au but, simple ou multiple
pour le moyen constituant l' unité de commande et de zones d'éti-
quettes. Dans le mode de réalisation préféré, le comparateur
d'information de tentative manquée possède quatre voies de comparai-
son.
La description suivante, conçue à titre d'illustration
de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: - la figure 1 est un schéma de principe simplifié d'une structure d'organisation de mémoire tampon selon l'invention - les figures 2A et 2B doivent être regardées de gauche à droite et forment un schéma de principe simplifié d'une unité de registres de maintien d'information de tentative manquée et d'un réseau de saisie d'état et de comparaison d'information de tentative manquée; et
- la figure 3 est un tableau montrant les actions effec-
tuées par l'unité de commande de zones d'étiquettes sur un coup
réussi venant après une tentative manquée précédente.
Comme le montre la figure 1, une structure d'orga-
nisation de mémoire tampon selon linvention possède une mémoire
tampon 12 couplée par une ligne commune 16 à un réseau de elec-
tion 14 pour signaux d'entrée d'adresse et de donnée de mémoire tampon. Le réseau de sélection 14 possède deux entrées possibles
à destination de la mémoire tampon 12.
Une unité 18 de commande et de zones d'étiquettes est couplée par une ligne commune 20 d'adresse et de donnée au réseau de sélection 14. L'unité 18 de commande et de zones d'étiquettes reçoit des signaux d'entrée d'une unité d'instruction du processeur central (non représentée) via une ligne commune 22 et d'une unité d'exécution du processeur central (non représentée) via une ligne
commune 24. L'unité 18 de commande et de zones d'étiquettes pos-
sède une ligne commune 23 d'adresse et de donnée de mémoire cen-
trale qui est couplée à une mémoire centrale (non représentée) du calculateur par une ligne commune 28. Une unité 30 de registres de maintien d'information de tentative manquée produit un autre signal d'entrée d'adresse de mémoire tampon à destination du
réseau de sélection 14. L'unité 30 de registres de maintien d'infor-
mation de tentative manquée reçoit également un signal d'entrée
de l'unité 18 de commande et de zones d'étiquettes par l'inter-
médiaire de la ligne commune 32 d'adresses et de commande. Les
adresses reçues par l'unité 30 de registres de maintien d'infor-
mation de tentative manquée sont à la fois les adresses demandées
à l'entrée et les adresses de mémoire tampon.
Un réseau 34 de comparaison d'information et de saisie
d'état de tentative manquée est connecté par plusieurs lignes com-
munes 33 d'adresse et d'état à l'unité 30 de registres de maintien d'information de tentative manquée. Le réseau 34 de comparaison d'information et de saisie d'état de tentative manquée reçoit une adresse demandée en entrée via une ligne commune 36 en provenance de l'unité 18 de commande et de zones d'étiquettes et délivre une information d'état via une ligne 38 à destination de l'unité 18
de commande et de zones d'étiquettes.
Une unité 40 constituant une pile d'entrée produit un
deuxième signal d'entrée de donnée à destination du réseau de sélec-
tion 14 via une ligne commune de donnée 42 qui se combine à une ligne commune d'adresse 31 venant de l'unité 30 deregistres de maintien d'information de tentative manquée afin de constituer la deuxième entrée complète du réseau de sélection 14. La pile d'entrée 40 reçoit des données d'une unité 44 de réception de -b
mémoire qui reçoit elle-même le signal de sortie de la mémoire cen-
trale du calculateur via une ligne commune 48. Une voie de cmande 46 existe entre l'unité 44 de réception de mémoire e: l'unité 30 de registre de maintien d'information de tentative manquée. Une donnée peut être délivrée à partir de l'unité 44 de réception de mémoire directement sur une voie de donnée 50 à destination d'un réseau de sélection 56 dont une sortie 58 est connectée à une unité centrale de traitement (non représentée) d'un système calculateur. La pile d'entrée 40 possède également une voie de donnée 52 connectée au réseau de sélection 56. Enfin, la mémoire tampon 12 possède une
voie 54 de sortie de donnée qui est connectée à l'unité de sélec-
tion 56 de façon que l'un quelconque des trois signaux d'entrée de donnée puisse être choisi comme signal de sortie à appliquer
aux unités centrales de traitement du système calculateur.
Sur les figures 2A et 2B, l'organisation de l'unité 30 de registres de maintien d'information de tentative manquée et le réseau 34 de comparaison d'information et de saisie d'état de
tentative manquée sont présentés. Les registres de maintien d'infor-
mation de tentative manquée sont eux-mêmes constitués d'une plura-
lité quadruple de registres distincts: A, un registre 110 d'adresse de mémoire tampon; B., un registre 112 d'adresse d'appel d'entrée; C, un registre 114 d'étiquettes d'identification; D, un registre 116 d'indicateurs de transfert à l'unité centrale; E, un registre 118 d'indicateurs de présence dans la pile d'entrée; F, un registre 120 de code d'écriture partielle; et G. un registre 122 d'information de commande. Les registres 110, 112, 114, 118, 120, 122 alimentent le réseau 34 de comparaison d'information et de saisie d'état de
tentative manquée.
Le réseau 34 de comparaison d'information et de saisie d'état de tentative manquée est constitué d'un comparateur 124 à quatre voies, d'un groupe de sélecteurs 126, 128, 130, 132 qui envoient une information d'état àl'unité 18 de commande et de zones d'étiquettes, un groupe de sélecteurs 134, 136 qui envoient un code partiel et d'adresse de mémoire tampon au réseau de sélection 14,
un groupe de sélecteurs 138, 140, 142, 144 qui envoient une informa-
tion d'indicateur de transfert à l'unité centrale et d'étiquette d'identification choisie de commande à l'unité 44 de réception de mémoire, deux réseaux 146, 148 qui forment respectivement le produit logique et la somme logique pour ltétat totalement écrit et l'état partiellement écrit, et un réseau 150 de résolution de tentative réussie qui détermine à partir de quatre signaux de sortie de comparaison 152 un état de tentative réussi simple et multiple
pour l'unité 18 de commande et de zones d'étiquettes. Lessélec-
teurs 138, 140, 142,-".4 possèdent une ligne 154 de commande de sélecteur venant de l'unité 44 de réception de mémoire; le signal porté par cette ligne 154 de commande de sélecteur est déduit du
code d'identification renvoyé de la mémoire centrale du calculateur.
Les sélecteurs 134, 136 possèdent une ligne 156 de commande de sélec-
teur dont le signal est obtenu à partir du signal, retardé, de la ligne 154 de commande de sélecteur. Les sélecteurs 126, 128, 130, 132 possèdent une ligne 158 de commande de sélecteur dont le signal est constitué des signaux des sorties 152 et d'un signal porté par la ligne 160 de commande de sélection de zone d'étiquette. Ce dernier signal est déduit des bits d'adresse d'appel d'entrée d'ordre inférieur.
Au cours de ces dernières années, la littérature re-
lative aux calculateurs a plus qu'amplement décrit diverses struc-
tures d'organisation de mémoires tampons qui exploitent des parti-
cularités propres de programmation générale permettant d'obtenir
un taux maximal de cotpsréussis. Dans cette description, le taux
de coups réussis se définit comme la probabilité que l'article de donnée appelé réside dans la mémoire tampon. Un certain nombre de ces concepts sont présantés dans les brevets cités ci-dessus, mais aucun n'exploite ni la nature inhérente d'entrée double de la mémoire tampon, ni les instructions de processeur central du type faisant référence à plusieurs données. Il a été trouvé que, si haut
que soit le taux de coups réussis de la mémoire tampon, une tenta-
tive manquée dans la mémoire tampon pouvait imposer une pénalité
lors des consultations ultérieures de la mémoire tampon. Cette péna-
lité consiste en la nécessité d'attendre que la donnée appelée ainsi
manquée soit reçue de la mémoire centrale du calculateur et, éven-
tuellement, la remise à jour de la mémoire tampon. Dans certains cas,
les consultations de la mémoire tampon qui font suite à une tenta-
tive manquée ne nécessitent pas que l'information de la donnée réside dans la mémoire tampon et celles-ci sont donc pénalisées
lorsque la mémoire tampon connaît un blocage.
Pour donner une définition complète, on peut considérer qu'une mémoire tampon est n'importe quelle petite mémoire rapide contenant les données les plus récemment consultées d'un système
calculateur et de son environnement immédiat dans un sens logique.
Puisque le temps d'accès de cette mémoire tampon est ordinairement d'un ordre de grandeur plus rapide que celui de la mémoire centrale
ou principale du calculateur et que la pratique normale de program-
mation se rapporte à des données localisées, le temps d'accès effectif à la mémoire est considérablement réduit dans les systèmes calculateurs qui comportent une mémoire tampon. Par comparaison avec le coût d'une mémoire centrale seule, l'augmentation de cont relative à la mémoire tampon montre qu'il y a rendement économique
à utiliser la mémoire tampon en raison du temps d'accès réduit.
Une certaine attention doit être portée à la concep-
tion de la mémoire tampon, en particulier en ce qui concerne le problème de la sélection de la dimension optimale du tampon entier, de la dimension du bloc, des algorithmes d'affectation et d'échange
de positions, dans le but de maximiser le taux de coups réussis.
Dans cette description, la dimension du bloc est définie comme le
nombre de bytes qui doit être demandé lors d'une tentative manquée dans la mémoire tampon. Un autre moyen d'optimiser les performances de la mémoire tampon afin d'augmenter le taux de coups réussis consiste à faire appel à une pré-prise en charge sélective. Ces procédés supposent qu'une mémoire tampon ne puisse manipuler
qu'un seul appel à la fois et que, à la suite d'une tentative.
manquée, la mémoire tampon reste occupée à satisfaire lappel jusqu'à ce que la donnée ait été reçue en provenance de la mémoire centrale du calculateur. Ceci se rapporte à l'immobilisation ou au
blocage d'entrée de la mémoire tampon.
Le mode de réalisation illustré de l'invention augmente l'efficacité d'une mémoire tampon normale en exploitant la nature inhérente d'entrée double de la mémoire tampon et les instructions faisant référence à plusieurs données. En d'autres termes, il serait extrêmement utile de canaliser la demande jusque dans la mémoire tampon, indépendamment des tentatives manquées, pour le taux de coups réussis de la mémoire tampon. Dans ce cas, la prise en charge et, ou bien, la pré-prise en charge de l'instruction serait totale-
ment transparente vis-à-vis de l'unité d'exécution des calculateurs.
Pour des instructions qui demandent un certain nombre de références à des données, leur appel peut être exécuté de façon presque entièrement simultanée. Il n'est pas obligatoirement possible alors sans un coût prohibitif d'acheminer indéfiniment des appels dans la mémoire tampon au taux de coups réussis. Il apparaît une limite, pour un système d'un coût raisonnable, dans le cas d'un certain nombre de tentatives manquées rapprochées. Cette limite est imposée par le nombre de tentatives manquées qui n'ont pas été complètement traitées et dont la mémoire tampon garde trace simultanément sans blocage d'entrée. Le taux d'acheminement de signaux d'entrée d'autres
structures d'organisation connues de mémoires tampons dépend entiè-
rement du taux de coups réussis.
- L'unité 30 de registres de maintien d'information de tentative manquée contient un registre d'information et de maintien d'état de tentative manquée non résolue pour chaque tentative manquée qui a été traitée en même temps. Le comparateur 124 est un comparateur à n voies spécialisé, o n est le nombre de registres de l'unité 30 de registres de maintien d'information de tentative manquée, qui sert à enregistrer les coups réussis sur des données en transit en provenance de la mémoire centrale du calculateur. La pile d'entrée 40 doit maintenir le nombre total de mots de données reçue éventuellement en suspens. La taille de la pile d'entrée 40 est par conséquent égale à la taille de bloc exprimée en mots que multiplie le nombre de registres de maintien d'information de tentative manquée que contient l'unité 30 de registres de maintien d'information de tentative manquée. Selon l'invention, il a été
déterminé que quatre registres de maintien d'information de tenta-
tive manquée semblaient être, pour l'unité 30, un nombre optimal eu égard au rendement de l'amélioration conceptuelle exprimé en termes de coût. Dans les limites de l'invention, il est évident
qu'un nombre plus ou moins grand de registres de maintien d'infor-
mation de tentative manquée sera fonction des nécessites de l'appli-
cation. Plus nombreux sont les registres de maintien d'information de tentative manquée, plus on approchera la limite théorique du taux, ou cadence, de coups réussis de la mémoire tampon.
En relation avec la figure 1, la structure d'organisa-
tion de la mémoire tampon sera plus particulièrement décrite comme une mémoire tampon à configuration associative utilisant une unité 18 de commande et de zones d'étiquettes et une mémoire tampon 12 qui sont connues en elles-mêmes. De même, les blocs d'interface de la mémoire centrale qui consistent en l'unité 26 d'appel de mémoire et l'unité 44 de réception de mémoire sont connus en eux-mêmes. Les éléments particuliers présentés sur la figure 1 qui concernent le perfectionnement apporté par l'invention sont l'unité 30 de registres de maintien d'information de tentative manquée, le réseau 34 de comparaison d'information et de saisie d'état de tentative manquée, et la pile d'entrée 40. Les registres de maintien d'information de tentative manquée maintiennent toutes les informations nécessaires qui permettent à la fois de manipuler convenablement les données reçues de la mémoire centrale du calculateur et en outre d'informer
l'unité de commande principale de la mémoire tampon par l'intermé-
diaire du réseau 34 de comparaison d'information et de saisie d'état de tentative manquée de tous les coups réussis et autres états de
données en transit en provenance de la mémoire centrale du calcula-
teur. La pile d'entrée 40 est nécessaire pour laisser disponible la mémoire tampon principale vis-à-vis d'opérations er chevauchement de lecture et d'écriture. Cette structure d'organisation de la mémoire tampon permet que les données qui viennent juste d'être reçues de la mémoire centrale de calculateur ou qui se trouvent dans la pile d'entrée soient immédiatement envoyées à l'unité de traitement centrale appelante par l'intermédiaire de l'unité de sélection 56
et de la voie de données 58.
Le choix du nombre de registres de maintien d'informa-
tion de tentative manquée dans l'unité 30 est important. Le béné-
fice supplémentaire résultant de l'augmentation du nombre des re-
gistres, à savoir la diminution du retard moyen du système, diminue
rapidement avec le nombre de registres en ce qui concerne les per-
formances de l'unité. Cette remarque est utile puisque le coût augmente notablement avec le nombre des registres utilisés dans la mise en oeuvre du système. Le retard moyen du système est dû au blocage résultant des tentatives manquées en suspens. Naturel- lement, ce retard dépend également des taux d'appels d'entrée et de coups réussis de là mémoire tampon. Dans le cas dégénéré, un seul registre de maintien d'information de tentative manquée de taille réduite est-nécessaire selon l'invention. Deux registres
de maintien d'information de tentative manquée permettent le che-
vauchement, alors qu'une seule tentative manquée est encore en suspens, mais un blocage surviendrait dans l'entrée de la mémoire tampon si plusieurs tentatives manquées étaient en suspens. Les - considérations de colt et les considérations d'accroissement de rendement tendent à indiquer que quatre registres constituent un
chiffre optimal.
On va maintenant indiquer l'information que doit néces-
sairement contenir l'un des registres de maintien d'information de
tentative manquée de l'unité 30 de registres de maintien d'informa-
tion de tentative manquée. Tout d'abord, il est nécessaire de mémo-
riser l'adresse en mémoire tampon ainsi que l'adresse d'appel d'entrée. L'adresse en mémoire tampon doit être conservée afin que l'on sache o placer la donnée renvoyée de la mémoire centrale du calculateur. L'adresse d'appel d'entrée est conservée afin que l'on puisse déterminer si, lors d'appels ultérieurs, la donnée appelée se trouve sur sa voie en provenance de la mémoire centrale du
calculateur. En second lieu, on mémorise les étiquettes d'identi-
fication d'appel d'entrée ainsi que les indicateurs de transfert
à l'unité centrale de traitement. Les lignes relatives aux éti-
quettes d'identification des appels d'entrée et de mémoire centrale de calculateur ne sont pas présentées sur la figure 1 afin de ne
pas compliquer la représentation graphique; l'étiquette d'identi-
fication est associée à l'adresse pour l'entrée et à la donnée pour la sortie. Cette information permet que la mémoire tampon ne renvoie aux unités appelantes de traitement centrales que la donnée appelée et la renvoie avec son étiquette d'identification appropriée. En troisième lieu, les indicateurs de présence dans la pile d'entrée sont utilisés pour permettre une lecture directe des données dans la pile d'entrée. En quatrième lieu, un code d'écriture partielle, qui peut par exemple être un bit par byte pour chaque opération d'écriture partielle de byte, est maintenu pour chaque mot afin d'indiquer que 1 s sont les bytes des mots en cransit qui ont été écrits dans la mémoire tampon. Ainsi, ce code commande la remise à jour d'écriture de la mémoire tampon et permet d'écarter des données relatives aux zones écrites en totalité après un appel. Ainsi, la mémoire tampon a la possibilité de traiter des appels d'entrée d'écriture partielle sans purge de la mémoire tampon. Ce code d'écriture partielle peut ne pas être incorporé s'il est acceptable selon le système de purger un bloc de la mémoire tampon 12 pour tous les appels d'entrée d'écriture partielle ou, de préférence, seulement pour les appels d'entrée d'écriture partielle relatifs à un mot d'un bloc en transit depuis
la mémoire centrale. Enfin, sont mémorisés certains signaux d'infor-
mation de commande 122, tels que le bit de donnée "valable" pour le registre, le bit "ancien" qui indique que le registre ne contient une information valable que pour le renvoi de la donnée appelée et non pour la remise à jour de la mémoire tampon, ou les coups réussis de données en transit et le nombre de mots du blec qui ont été
reçus et écrits, si cela est nécessaire, dans la mémoire tampon.
Ainsi, chaque registre de maintien d'information de tentative manquée de l'unité 30 contient des registres multiples destinés chacun à maintenirles articles particuliers visant à la formation d'une unité complète. Ceci peut être résume de la manière suivante (a) adresse de "iémoire tampon; registre 110 d'adresse de mémoire tampon (C bits) (b) adresse d'appel d'entrée; registre 112 d'adresse d'appel d'entrée (I bits) (c) étiquettes d'identification d'entrée, une seule par mot; registre 114 d'étiquettes d'identification (T bits par étiquette) (d) indicateurs de transfert à l'unité centrale de
traitement, un seul par mot; registre 116 d'indi-
cateur de transfert à l'unité centrale (l bit par indicateur) (e) indicateurs de présence dans la pile d'entrée, un seul par mot; registre 118 de présence dans la pile d'entrée (1 bit par indicateur) (f) codes d'écriture partielle, un seul par mot registre 120 de code d'écriture rartielle (P bits par code)
(g) information de commande; registre 122 d'infor-
mation de commande (h) nombre de mots de blocs traités; (2 bits par code)
(i) indicateur d'information valable; (1 bit par indi-
cateur) (j) indicateur ancien d'information non valable pour la remise à jour de la mémoire tampon ou de coup réussi de registre de maintien d'information de tentative
manquée pour donnée en transit (1 bit par indicateur).
On va maintenant discuter le fonctionnement du mode de
réalisation illustré de l'invention suivant deux sections de base.
La première section se rapporte aux opérations de l'unité de récep-
tion de mémoire et de la pile d'entrée et la deuxième section se rapporte aux opérations de commande de zones d'étiquettes. Pour les opérations de l'unité de réception de mémoire et de la pile
d'entrée, les aires de l'unité de registres de maintien d'informa-
tion de tentative manquée qui sont interrogées sont les suivants (a) indicateur de transfert à l'unité centrale de traitement; (b) étiquettes d'identification d'entrée (c) adresse en mémoire tampon; (d) codes d'écriture partielle (e) indicateur ancien; et
(f) indicateur valable.
Lorsqu'un mot est reçu de la mémoire, il est envoyé à l'unité appelante de l'unité centrale de traitement si l'indicateur
de transfert à l'unité centrale de traitement est positionné.
L'étiquette d'identification appropriée accompagne la donnée. Ce mot est également écrit dans la pile d'entrée 40 si le mot n'a pas antérieurement été totalement écrit dans la mémoire tampon 12 ou si l'indicateur de registre de maintien d'infDrmatior. de tentative manquée n'est pas ancien. Les mots de données sont retirés de la pile d'entrée 40 selon un mode "premier entré, premier sorti" lorsque la mémoire tampon est disponible et sont écrits dans la mémoire tampon 12 au moyen des aires d'adresse en mémoire tampon
et de code d'écriture partielle. Naturellement, l'unité 30 de re-
gistres de maintien d'information de tentative manquée doit main-
tenir une information valable lorsqu'elle est interrogée ou bien
un signal d'erreur.doit être produit.
Il est nécessaire d'expliquer plus complètement le marquage par étiquette des données dans la mémoire tampon. En cas de tentative manquée, la mémoire tampon demande un bloc de mots à la mémoire centrale du calculateur. Avec chaque mot, est envoyée une étiquette de mémoire tampon qui indique le registre particulier désigné de maintien d'information de tentative manquée dans l'unité 30 et précise quel mot du bloc doit être réellement recherche. On note que la structure d'organisation de la mémoire tampon range dans le registre de maintien d'information de tentative manquée de l'unité 30 le drapeau d'identification de l'unité appelante. Ce
marquage par étiquette ferme le maillon resté ouvert de la maniula-
tion de la donnée renvoyée de la mémoire centrale du calculateur et enlève également toutes les restrictions imposées à la mémoire relativement à l'ordre de réponse. Ainsi, des mots antérieurement appelés pour une ou plusieurs tentatives manquées peuvent être renvoyés de façon non ordonnée selon la structure d'organisation de la mémoire centrale du calculateur. Ce fait seul impose des limitations à d'autres structures d'organisation de la mémoire tampon.
Les aires de l'unité 30 de registres de maintien d'infor-
mation de tentative manquée qui sont remises à jour pendant des opérations de l'unité de réception de némoire et de la pile d'entrée sont les suivantes: (a) indicateurs de présence dans la pile d'entrée; (b) codes d'écriture partielle; (c) nombre de mots de bloc traités; et
(d) indicateur d'information valable.
Les indicateurs de présence dans la pile d'entrée sont positionnés lorsque le mot de donnée est écrit dans la pile d'entrée 40 et sont effacés lorsque le mot est retiré de la pile d'entrée et est
écrit dans la mémoire tampon. Le code d'écriture partielle est égale-
ment positionné pour indiquer une opération d'écriture totale lorsque le mot de donnée est écrit dans la mémoire tampon. De plus, à chaque
fois qu'un mot de donnée est mis à l'écart du fait qu'il a été tota-
lement utilise ou du fait qu'il porte une indication ancienne de registre de maintien d'information de tentative manquée, ou est écrit dans la mémoire tampon, il y a incrémentation du compteur de nombre de mots traités. Lorsque le compteur de nombre de mots traités déborde pour montrer que tous les mots d'un bloc ont été reçus, l'indicateur valable ou utilisé de registre de maintien
d'information de tentative manquée est effacé.
Pour les opérations de commande des zones d'étiquettes,
les aires suivantes de l'unité 30 de registres de maintien d'infor-
mation de tentative manquée sont interrogées (a) adresse d'appel d'entrée; (b) indicateurs de transfert à l'unité centrale de traitement; (c) indicateurs de présence dans la pile d'entrée (d) codes d'écriture partielle (e) indicateur valable;et
(f) indicateur ancien.
Les aires désignées par (a), (e) et (f) sont utilisées en même temps que le registre d'adresse d'appel d'entrée courant et le réseau 34 de comparaison d'information et de saisie d'état de tentative manquée pour déterminer s'il y a un coup réussi pour une donnée précédemment manquée qui est encore traitée, c'est-à-dire un coup réussi sur une tentative précédemment manquée. Comme l'indique la figure 3, les codes d'écriture partielle seront positionnés de la manière appropriée lors d'un coup réussi sur une tentative précédemment manquée au moyen d'une fonction d'entrée d'écriture. Un code d'écriture partielle est associé aux lignes communes d'adresse 20, 31, 32 de la figure 1. Les aires (b), (c) et (d) produisent les états suivants pour le coup réussi sur la tentative précédemment manquée (a) "partiellement écritl", qui signifie que le code d'écriture partielle a au moins un bit positionné (somme logique) (b) "totalement écrit", qui signifie que le code d'écriture partielle a tous ses bits positionnés à "1" (produit logique); (c) "présence dans la pile d'entrée"; et (d) "déjà appelé", qui signifie que l'indicateur de
transfert à l'unité centrale de traitement est déjà positionné.
Le tableau de la figure 3 montre les actions entreprises par le système de commande de zones d'étiquettes sous toutes les conditions indiquées cidessus. On note que la mémoire centrale du calculateur n'a fait l'objet d'une demande d'accès que si le mot a été précédemment appelé ou s'il a été partiellement écrit. Ces accès en mémoire centrale peu fréquents peuvent également être
éliminés par l'homme de l'art au moyen d'un système logique complé-
mentaire placé dans l'unité 30 de registresde maintien d'informa-
tion de tentative manquée et dans l'unité de sélection 56.
Lors d'une tentative manquée, un registre de maintien d'information de tentative manquée est désigné dans l'unité 30, et les taches suivantes sont effectuées: (a) indicateur valable positionné (b) indicateur ancien effacé; (c) adresse en mémoire tampon rangée dans le registre de maintien d'information de tentative manquée qui a été désigné; (d) adresse d'appel d'entrée rangée dans le registre de maintien d'information de tentative manquée qui a été désigne é (e) indicateur approprié de transfert à l'unité centrale de traitement positionné, les autres étant effacés; (f) étiquette d'identification d'entrée rangée à la position appropriée (g) effacement de tous les codes d'écriture partielle qui sont associés au registre désigné de maintien d'information de tentative manquée; et
(h) purge de tous les registres de maintien d'informa-
tion de tentative manquée qui indiquent la même adresse en r.émoire tampon, ce qui signifie que le code d'écriture partielle a tous
ses bits positionnés à "1".
On note que les actions (e) et (f) varieront si la fonction de la mémoire tampon était une pré-prise en charge, ceci
signifiant que tous les indicateurs de transfert à l'unité cen-
trale de traitement sont effacés et qu'aucune étiquette n'est rangée.
L'actor. (h) est effectuée pour empêcher qu'une donnée d'une affec-
tation précédente d'un bloc de la mémoire tampon ne soit écrite pardessus la donnée de l'affectation actuelle. Pour une tentative manquée et un coup réussi sur une tentative manquée antérieure o le bloc de la mémoire tampon a été réaffecté pour la mÉme adresse d'entrée avant que toutes les données n'aient été reçues, le registre de maintien d'information de tentative manquée est positionné sous
la forme "ancienne" afin d'empêcher d'éventuels coups réussis mul-
tiples consécutifs dans le réseau 34 de comparaison d'information
et de saisie d'état de tentative manquée.
Il existe une possibilité définie qu'il y ait un coup réussi sur une tentative manquée précédente pour un mot de donnée qui vient juste d'être reçu. Selon les opérations de commande, ce mot peut avoir son indicateur correspondant de transfert à l'unité centralc qui est placée dans l'état transféré, ou il peut être lu
dans la pile d'entrée 40 lors du cycle mineur suivant du processeur.
Pour permettre un diagnostic plus élevé de cette aug-
mentation de la mémoire tampon, il serait souhaitable d'adjoindre des fonctions d'entrée de mémoire tampon permettant d'effacer et de positionner les indicateurs valables des registres de maintien d'information de tentative manquée de l'unité 30 de registres de maintien d'information de tentative manquée. Un code de fonction permettant de dire ce que la mémoire tampon effectue est associé à chaque adresse d'appel d'entrée sur les lignes communes 22, 24 de la figure 1. Ce qui vient d'être énoncé ci-dessus permet de vérifier les états d'erreurs suivants:
(a) étiquette désignant un registre de maintien d'in-
formation de tentative manquée qui n'est pas valable; (b) coup réussi multiple dans le comparateur du registre de maintien d'information de tentative manquée; et (c) état de coup réussi sur tentative manquée précédente
qui est totalement écrit et non partiellement écrit.
Toutes les autres aires de l'unité de registresde maintien d'information de tentative manquée doivent être vérifiées par l'emploi des fonctions spéciales d'entrée en mémoire tampon indiquées ci-dessus en combinaison avec les fonctions d'entrée
normales ayant toutes combinaisons d'adresse, d'étiquettes d'iden-
tification et de données.
Bien entendu, l'homme de l'art sera en mesure d'imaginer,
à partir du dispositif dont la description vient d'être donnée à
titre simplement illustratif et nullement limitatif, diverses variantes
et modifications ne sortant pas du cadre de l'invention.
Claims (5)
1. Structure d'organisation pour mémoire tampon, caractérisée en ce qu'elle comprend: une unité de mémoire tampon (12); un moyen de sélection (14) qui sélectionne un signal d'entrée à appliquer à ladite mémoire; un moyen (18) constituant une unité de commande et de zones d'étiquettes qui fournit une première adresse au moyen de sélection; un moyen (40) constituant une pile d'entrée qui fournit une entrée de donnée au moyen de sélection; une unité de registres
de maintien d'information de tentative manquée par absence de cor-
respondance qui fournit un deuxième signal d'entrée d'adresse au
moyen de sélection, ladite unité de registres de maintien d'infor-
mation de tentative manquée recevant, en fonctionnement, un signal d'entrée dudit moyen constituant l'unité de commande et de zones d'étiquettes; un réseau (34) de comparaison d'information et de saisie d'état de tentative manquée qui est connecté à des registres contenus dans ladite unité de registres de maintien d'information de tentative manquée afin de recevoir des adresses d'appel d'entrée et de mémoire tampon en provenance du moyen constituant l'unité de commande et de zones d'étiquettes et dû fournir une information d'état audit moyen constituant l'unité de commande et de zones d'étiquettes; et un réseau (56) de sélection de signaux de sortie possédant une première entrée venant de la mémoire tampon, une deuxième entrée venant du moyen constituant la pile d'entrée et une troisième entrée venant d'une unité 44 de réception de mémoire conçue pour recevoir des données d'une mémoire centrale d'un système calculateur.
2. Structure selon la revendication 1, caractérisée en ce que l'unité de registresde maintien d'information de tentative manquée consiste en plusieurs registres ayant chacun un registre (110) d'adresse en mémoire tampon, un registre (112) d'adresse d'appel d'entrée, un registre (114) d'étiquettes d'identification, un registre (116) d'indicateurs de transfert à l'unité centrale, un registre (120) de code d'écriture partielle, un registre (118) d'indicateurs de présence dans la pile d'entrée, et un registre (122)
d'information de commande.
3. Structure selon la revendication 2, caractérisée en ce que l'unité de registresde maintien d'information de tentative
manquée consiste en quatre dits registres.
4. Structure selon la revendication 1, 2 ou 3, caractérisée en ce qu'un comparateur d'information de tentative manquée dudit
réseau de comparaison d'information et de saisie d'état de tenta-
tive manquée possède up nombre prédéterminée de voies de comparaison et comprend: plusieurs sélecteurs (126, 128, 130, 132) qui envoient une information d'état au moyen constituant l'unité de commande et de zones d'étiquettes, plusieurs sélecteurs (134, 136) qui envoient un code d'écriture partielle etd'adresse en mémoire tampon au moyen de sélection, plusieurs sélecteurs (138, 140, 142, 144) qui envoient une information d'indicateur de transfert à l'unité centrale et d'étiquette d'identification choisie de commande, un moyen (146, 148) constituant un réseau qui forme le produit logique et la somme logique pour des registres d'état totalement écrit et partiellement écrit, et un réseau (150) de résolution de coup réussi qui détermine, à partir des signaux de sortie de comparaison, l'état de coup réussi unique et multiple du moyen constituant l'unité de commande et de
zones d'étiquettes.
5. Structure selon la revendication 4, caractérisée en ce que le comparateur d'information de tentative manquée possède quatre
voies de comparaison.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/181,529 US4370710A (en) | 1980-08-26 | 1980-08-26 | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2489578A1 true FR2489578A1 (fr) | 1982-03-05 |
FR2489578B1 FR2489578B1 (fr) | 1987-08-07 |
Family
ID=22664671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8112641A Expired FR2489578B1 (fr) | 1980-08-26 | 1981-06-26 | Structure d'organisation pour memoire tampon |
Country Status (7)
Country | Link |
---|---|
US (1) | US4370710A (fr) |
JP (1) | JPS5746375A (fr) |
AU (1) | AU537492B2 (fr) |
CA (1) | CA1151293A (fr) |
DE (1) | DE3131341A1 (fr) |
FR (1) | FR2489578B1 (fr) |
GB (1) | GB2082808B (fr) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4536836A (en) * | 1981-11-27 | 1985-08-20 | Storage Technology Corporation | Detection of sequential data stream |
US4493026A (en) * | 1982-05-26 | 1985-01-08 | International Business Machines Corporation | Set associative sector cache |
US4897783A (en) * | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
US4757445A (en) * | 1983-09-12 | 1988-07-12 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
US4710866A (en) * | 1983-09-12 | 1987-12-01 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4646233A (en) * | 1984-06-20 | 1987-02-24 | Weatherford James R | Physical cache unit for computer |
US4942518A (en) * | 1984-06-20 | 1990-07-17 | Convex Computer Corporation | Cache store bypass for computer |
CA1241768A (fr) * | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Circuit de controle de drapeaux pour memoire tampon |
US4774654A (en) * | 1984-12-24 | 1988-09-27 | International Business Machines Corporation | Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory |
JP2539357B2 (ja) * | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
JPS62145340A (ja) * | 1985-12-20 | 1987-06-29 | Toshiba Corp | キヤツシユメモリ制御方式 |
US5029072A (en) * | 1985-12-23 | 1991-07-02 | Motorola, Inc. | Lock warning mechanism for a cache |
US5349672A (en) * | 1986-03-17 | 1994-09-20 | Hitachi, Ltd. | Data processor having logical address memories and purge capabilities |
US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
US5001624A (en) * | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
CA1300758C (fr) * | 1988-03-07 | 1992-05-12 | Colin H. Cramm | Mecanisme d'utilisation d'une antememoire sans blocage au moyen d'une unite de traduction d'adresses eloignee |
US5038278A (en) * | 1988-04-01 | 1991-08-06 | Digital Equipment Corporation | Cache with at least two fill rates |
JP2700148B2 (ja) * | 1988-04-01 | 1998-01-19 | ディジタル イクイプメント コーポレーション | コンピュータ内のキャッシュへ情報を装填する方法と装置 |
US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
US5202969A (en) * | 1988-11-01 | 1993-04-13 | Hitachi, Ltd. | Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively |
KR900008516A (ko) * | 1988-11-01 | 1990-06-04 | 미다 가쓰시게 | 버퍼 기억장치 |
US5125092A (en) * | 1989-01-09 | 1992-06-23 | International Business Machines Corporation | Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
US5093777A (en) * | 1989-06-12 | 1992-03-03 | Bull Hn Information Systems Inc. | Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack |
GB2234613B (en) * | 1989-08-03 | 1993-07-07 | Sun Microsystems Inc | Method and apparatus for switching context of state elements in a microprocessor |
US5233702A (en) * | 1989-08-07 | 1993-08-03 | International Business Machines Corporation | Cache miss facility with stored sequences for data fetching |
US5506974A (en) * | 1990-03-23 | 1996-04-09 | Unisys Corporation | Method and means for concatenating multiple instructions |
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 |
JPH04233642A (ja) * | 1990-07-27 | 1992-08-21 | Dell Usa Corp | キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法 |
JPH079632B2 (ja) * | 1991-06-18 | 1995-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アドレス変換装置および方法 |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
DE69323790T2 (de) * | 1992-04-29 | 1999-10-07 | Sun Microsystems, Inc. | Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem |
DE69327981T2 (de) * | 1993-01-21 | 2000-10-05 | Advanced Micro Devices, Inc. | Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt. |
US5689680A (en) * | 1993-07-15 | 1997-11-18 | Unisys Corp. | Cache memory system and method for accessing a coincident cache with a bit-sliced architecture |
US5787465A (en) * | 1994-07-01 | 1998-07-28 | Digital Equipment Corporation | Destination indexed miss status holding registers |
US5802588A (en) * | 1995-04-12 | 1998-09-01 | Advanced Micro Devices, Inc. | Load/store unit implementing non-blocking loads for a superscalar microprocessor and method of selecting loads in a non-blocking fashion from a load/store buffer |
US5778434A (en) * | 1995-06-07 | 1998-07-07 | Seiko Epson Corporation | System and method for processing multiple requests and out of order returns |
US5829010A (en) * | 1996-05-31 | 1998-10-27 | Sun Microsystems, Inc. | Apparatus and method to efficiently abort and restart a primary memory access |
US5987567A (en) * | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
US6389031B1 (en) | 1997-11-05 | 2002-05-14 | Polytechnic University | Methods and apparatus for fairly scheduling queued packets using a ram-based search engine |
US7136068B1 (en) | 1998-04-07 | 2006-11-14 | Nvidia Corporation | Texture cache for a computer graphics accelerator |
US6081507A (en) * | 1998-11-04 | 2000-06-27 | Polytechnic University | Methods and apparatus for handling time stamp aging |
US6919895B1 (en) | 1999-03-22 | 2005-07-19 | Nvidia Corporation | Texture caching arrangement for a computer graphics accelerator |
AU2001259074A1 (en) * | 2000-04-17 | 2001-10-30 | Circadence Corporation | Http redirector |
JP2002368850A (ja) * | 2001-06-05 | 2002-12-20 | Sony Corp | 携帯無線端末装置 |
EP1425670A2 (fr) * | 2001-09-14 | 2004-06-09 | Sun Microsystems, Inc. | Procede et appareil pour dissocier des acces aux descripteurs et des acces aux donnees dans une memoire cache |
US7089362B2 (en) * | 2001-12-27 | 2006-08-08 | Intel Corporation | Cache memory eviction policy for combining write transactions |
EP1361518B1 (fr) | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Diminution des accès à une mémoire TAG-RAM et accélération du fonctionnement d'une antémémoire en cas de râtage |
US6983356B2 (en) * | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
US9858190B2 (en) * | 2015-01-27 | 2018-01-02 | International Business Machines Corporation | Maintaining order with parallel access data streams |
US20220004438A1 (en) * | 2020-07-02 | 2022-01-06 | Qualcomm Incorporated | Gpu program multi-versioning for hardware resource utilization |
CN112579482B (zh) * | 2020-12-05 | 2022-10-21 | 西安翔腾微电子科技有限公司 | 一种非阻塞Cache替换信息表超前精确更新装置及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1565156A (fr) * | 1967-05-04 | 1969-03-17 | ||
FR2260830A1 (fr) * | 1974-02-09 | 1975-09-05 | Philips Nv | |
FR2290710A1 (fr) * | 1974-11-11 | 1976-06-04 | Sperry Rand Corp | Unite d'interface de memoire |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3292153A (en) * | 1962-10-01 | 1966-12-13 | Burroughs Corp | Memory system |
GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US4047157A (en) * | 1974-02-01 | 1977-09-06 | Digital Equipment Corporation | Secondary storage facility for data processing |
US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
US4156906A (en) * | 1977-11-22 | 1979-05-29 | Honeywell Information Systems Inc. | Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands |
FR2412139B1 (fr) * | 1977-12-16 | 1986-05-09 | Honeywell Inf Systems | Circuits de directives d'antememoire |
US4195341A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Initialization of cache store to assure valid data |
-
1980
- 1980-08-26 US US06/181,529 patent/US4370710A/en not_active Expired - Lifetime
-
1981
- 1981-06-02 GB GB8116848A patent/GB2082808B/en not_active Expired
- 1981-06-12 CA CA000379635A patent/CA1151293A/fr not_active Expired
- 1981-06-15 JP JP56092079A patent/JPS5746375A/ja active Pending
- 1981-06-23 AU AU72094/81A patent/AU537492B2/en not_active Ceased
- 1981-06-26 FR FR8112641A patent/FR2489578B1/fr not_active Expired
- 1981-08-07 DE DE19813131341 patent/DE3131341A1/de active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1565156A (fr) * | 1967-05-04 | 1969-03-17 | ||
FR2260830A1 (fr) * | 1974-02-09 | 1975-09-05 | Philips Nv | |
FR2290710A1 (fr) * | 1974-11-11 | 1976-06-04 | Sperry Rand Corp | Unite d'interface de memoire |
Also Published As
Publication number | Publication date |
---|---|
DE3131341C2 (fr) | 1988-06-30 |
US4370710A (en) | 1983-01-25 |
GB2082808B (en) | 1983-06-02 |
AU537492B2 (en) | 1984-06-28 |
FR2489578B1 (fr) | 1987-08-07 |
DE3131341A1 (de) | 1982-04-15 |
CA1151293A (fr) | 1983-08-02 |
AU7209481A (en) | 1982-03-04 |
GB2082808A (en) | 1982-03-10 |
JPS5746375A (en) | 1982-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2489578A1 (fr) | Structure d'organisation pour memoire tampon | |
EP0006436B1 (fr) | Contrôleur d'entrée/sortie des données dans un système de traitement de données | |
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 | |
FR2645663A1 (fr) | Procedes et circuits pour gerer une pile en memoire | |
EP0283350B1 (fr) | Serveur à large bande, en particulier pour la transmission de musique ou d'images | |
TWI317482B (en) | Wide-port context cache apparatus, systems and methods, and machine-accessible medium having associated information | |
EP0434483B1 (fr) | Processeur à plusieurs unités de traitement microprogrammées | |
FR2637997A1 (fr) | Procede et dispositif pour mettre en file d'attente des requetes et des reponses sur un bus | |
FR2834809A1 (fr) | Dispositif pour moteur de compression de memoire cache pour la compression de donnees sur des memoires cache integrees pour augmenter la taille de memoire cache effective | |
FR2617304A1 (fr) | Sequenceur d'entrees/sorties programmable pour processeur d'entree/sortie | |
FR2538976A1 (fr) | Systeme de commutation de paquets synchrones de longueur fixe | |
JPS59132044A (ja) | デ−タ処理システムにおいて複合デイスクリプタを発生する方法および装置 | |
US7111289B2 (en) | Method for implementing dual link list structure to enable fast link-list pointer updates | |
CN112380148B (zh) | 数据传输方法和数据传输装置 | |
CA2108812C (fr) | Dispositif de resequencement pour un noeud d'un systeme de commutation de cellules | |
EP0515238B1 (fr) | Dispositif et méthode pour la gestion de plusieurs files d'attente indépendantes dans un espace mémoire commun et banalisé | |
EP0602281B1 (fr) | Dispositif de reséquencement pour un noeud d'un système de commutation de cellules | |
EP0878758B1 (fr) | Dispositif de tri d'éléments de données à arbre binaire et espaceur ATM comportant un tel dispositif | |
FR2536884A1 (fr) | Reseau de transfert de donnees entre plusieurs processeurs et une memoire | |
FR2811784A1 (fr) | Dispositif de gestion de memoire permettant l'inscription de blocs de donnees par substitution | |
EP1081597A1 (fr) | Dispositif à plusieurs processeurs ayant une interface pour une mémoire collective | |
EP0782815B1 (fr) | Dispositif de gestion de relations entre des objets | |
FR2825167A1 (fr) | Procede et systeme d'acces a une memoire commune | |
EP0082903A1 (fr) | Unité de commande pouvant être connectée à deux mémoires de vitesses différentes | |
FR2717921A1 (fr) | Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |