FR2611938A1 - Memory access control system - Google Patents
Memory access control system Download PDFInfo
- Publication number
- FR2611938A1 FR2611938A1 FR8802789A FR8802789A FR2611938A1 FR 2611938 A1 FR2611938 A1 FR 2611938A1 FR 8802789 A FR8802789 A FR 8802789A FR 8802789 A FR8802789 A FR 8802789A FR 2611938 A1 FR2611938 A1 FR 2611938A1
- Authority
- FR
- France
- Prior art keywords
- memory
- cache
- level
- block
- cache memory
- 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
- 238000012545 processing Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 description 31
- 230000004044 response Effects 0.000 description 17
- 238000012795 verification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000012163 sequencing technique Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
SYSTèME DE COMMANDE D'ACCES EN FIEMOIRE
La présente invention se rapporte à un système de commande d'accès en mémoire comportant une antémémoire avec conservation des données mémorisées.FIEMORY ACCESS CONTROL SYSTEM
The present invention relates to a memory access control system comprising a cache memory with conservation of the stored data.
Dans un système conventionnel de commande d'accès en mémoire comportant une antémémoire avec conservation des données mémorisées, il se produit une non-coincidence des données entre une antémémoire et une unité principale de mémoire (MMU). Lorsqu'il se produit un "coup raté" pour l'antémémoire, le contenu de l'antémémoire doit être renvoyé dans l'unité principale de mémoire MMU. Dans ce but, une demande de va-etvient (swap; de l'unité principale de mémoire M.MU doit être générée et exécutée, puis une demande de transfert de bloc doit être envoyée à l'unité MMU, ce qui nécessite donc un traitement en deux phases. In a conventional memory access control system comprising a cache memory with storage of the stored data, there is a non-coincidence of the data between a cache memory and a main memory unit (MMU). When a "miss" occurs for the cache, the contents of the cache should be returned to the main memory unit MMU. For this purpose, a back and forth request (swap; from the main memory unit M.MU must be generated and executed, then a block transfer request must be sent to the MMU, which therefore requires a two-phase treatment.
Dans la technique conventionnelle ci-dessus, lorsqu'il se produit un "coup raté" pour l'antémémoire, et qu'une demande de va-et-vient (swap) est générée, une demande de mémorisation et une demande de lecture pour l'unité MMU sont traitées séparément, la commande est donc compliquée de façon indésirable. In the conventional technique above, when there is a "miss" for the cache memory, and a back and forth request (swap) is generated, a request for memorization and a request for reading for MMUs are processed separately, so ordering is undesirably complicated.
Un but de la présente invention est de proposer un système de commande d'accès en mémoire pour éliminer l'inconvénient conventionnel ci-dessus.. An object of the present invention is to provide a memory access control system to eliminate the above conventional drawback.
Un système de commande d'accès en mémoire relié entre une source de demande (par exemple une unité arithmétique et une unité d'entrée/sortie) et une unité principale de mémoire en disposant d'une antémémoire avec conservation des données comporte un moyen formant ensemble d'adresses qui présente un bit représentatif de la validité d'un contenu de l'antémémoire et un bit représentatif d'une coincidence entre le contenu de l'antémémoire et l'unité principale de mémoire; un moyen pour porter un jugement sur un coup réussiZun coup raté de l'antémémoire en accord avec un signal de sortie provenant du moyen formant ensemble d'adresses; un moyen pour déterminer un niveau de l'antémémoire à remplacer lorsqu'il se produit un coup raté de l'antémémoire; un moyen pour détecter la validité des données du bloc du niveau à remplacer et pour détecter une non-coincidence entre le contenu de l'anténémoire et de l'unité principale de mémoire en accord avec un signal de sortie du moyen formant ensemble d'adresses correspondant au niveau à remplacer, et pour juger de la nécessité d'écrire les données du bloc de 1 antémémoire dans l'unité principale de mémoire; et un moyen pour traiter les opérations d'écriture et de lecture de l'unité principale de mémoire à l'aide d'une seule demande lorsque se produit la nécessité d'écrire dans 1 unité principale de mémoire les données du bloc de 1 anté- mémoire. A memory access control system connected between a request source (for example an arithmetic unit and an input / output unit) and a main memory unit by providing a cache memory with data retention comprises a means forming set of addresses which presents a bit representative of the validity of a content of the cache memory and a bit representative of a coincidence between the content of the cache memory and the main memory unit; means for judging a successful hitZa failed hit from the cache in accordance with an output signal from the address set means; means for determining a level of the cache to be replaced when a failed cache hit occurs; means for detecting the validity of the data of the block of the level to be replaced and for detecting a non-coincidence between the contents of the cache memory and of the main memory unit in accordance with an output of the means forming an address set corresponding to the level to be replaced, and to judge the necessity of writing the data of the block of 1 cache memory in the main memory unit; and means for processing the write and read operations of the main memory unit using a single request when the need arises to write to 1 main memory unit the data of the block of 1 year - memory.
La figure 1 est un diagramme par blocs du système de commande d'accès en mémoire conforme à une réalisation de l'invention;
la figure 2 est un diagramme par blocs d'un organe de commande de l'untié principale de mémoire
MMU représenté sur la figure 1;
les figures 3(A) à 3(N) et 4(A) à 4(I) sont des graphiques chronométriques des signaux pour expliquer les opérations des circuits représentés sur les figures 1 et 2;
la figure 5 est un diagramme par blocs d'un système de commande d'accès en mémoire conforme à une autre réalisation de l'invention;
la figure 6 est un diagramme par blocs d'un organe de commande de l'unité principale de mémoire représenté sur la figure 5; et
les figures 7(A) à 7(J) sont des graphiques chronométriques des signaux pour expliquer les opérations des circuits représentés sur les figures 5 et 6.FIG. 1 is a block diagram of the memory access control system according to an embodiment of the invention;
Figure 2 is a block diagram of a control unit of the main memory unit
MMU shown in Figure 1;
Figures 3 (A) to 3 (N) and 4 (A) to 4 (I) are timing charts of the signals to explain the operations of the circuits shown in Figures 1 and 2;
Figure 5 is a block diagram of a memory access control system according to another embodiment of the invention;
Figure 6 is a block diagram of a control member of the main memory unit shown in Figure 5; and
FIGS. 7 (A) to 7 (J) are timing diagrams of the signals to explain the operations of the circuits represented in FIGS. 5 and 6.
On va décrire en détail des réalisations préférées de l'invention en se référant aux dessins joints. Preferred embodiments of the invention will be described in detail with reference to the accompanying drawings.
La figure 1 représente un organe de contrôle d'accès en mémoire conforme à une réalisation de l'invention. L'organe de contrôle d'accès en mémoire de la figure 1 est relié à une source de demande (par exemple une unité arithmétique (non représentée) et une unité d 'en t rée/ sortie (non représentée) et à une unité principale de mémoire (MMU.) 23. Dans cette réalisation, la source de demande comporte trois unités, c'est-à-dire une unité A, une unité
B, et une unité C. L'organe de commande d'accès en mémoire comporte une section de registre d'accès 30 pour recevoir une demande de mémorisation pour mémoriser des données dans l'unité MMU 23 et une demande de lecture pour extraire de l'unité MMU 23 les données, ainsi qu'une section 40 de traitement de la demande.La section de registre d'accès 30 comporte un registre tampon ou registre d'accès A 1 pour recevoir une demande provenant. de l'unité
A, un registre d'accès B 2 pour recevoir une demande provenant de l'unité B, un registre d'accès C 3 pour recevoir une demande provenant de l'unité C, un organe de vérification d'occupation 4 et un sélecteur 5.FIG. 1 represents a memory access control member according to an embodiment of the invention. The memory access control device in FIG. 1 is connected to a request source (for example an arithmetic unit (not shown) and an input / output unit (not shown) and to a main unit of memory (MMU.) 23. In this embodiment, the request source comprises three units, that is to say a unit A, a unit
B, and a unit C. The memory access controller comprises an access register section 30 for receiving a storage request to store data in the MMU 23 and a read request for extracting from the MMU 23 the data, as well as a section 40 for processing the request. The access register section 30 comprises a buffer register or access register A 1 for receiving a request from. of unity
A, an access register B 2 for receiving a request from unit B, an access register C 3 for receiving a request from unit C, an occupancy verification device 4 and a selector 5 .
L'organe de vérification d'occupation 4 reçoit une information associée à un état d'occupation de l'unité principale de mémoire MMU 23. Cette information est fournie par un organe de commande 17 de l'unité MMU (à décrire plus loin) par l'intermédiaire d'une ligne 35. L'organe de vérification d'occupation 4 envoie un signal de sélection au sélecteur 5 en accord avec un ordre de priorité des unités A, B et C. Le signal de sélection sert à sélectionner ces unités. Le sélecteur 5 sélectionne une unité correcte en accord avec le signal de sélection fourni par l'organe de vérification d'occupation 4.Aussi longtemps qu'une demande se traduit en un coup réussi, ou coup réussi de l'antémémoire, c'est-à-dire aussi longtemps qu'une adresse demandée à une antémémoire 18 (à décrire plus loin) s'y trouve, la demande est envoyée par le sélecteur 5 à la section 40 de traitement de la demande par l'intermédiaire d'une ligne 41 chaque période d'horloge T. Par contre, s'il se produit un coup raté, ou coup raté de l'antémoire, c'està-dire si l'adresse demandée ne se trouve pas dans l'antémémoire 18, un bloc de données est transféré de 1 unité principale de mémoire MMU 23 vers l'antémémoire 18 et l'unité MMU 23 est placée dans l'état d'occupation. L'organe de vérification d'occupation sert à éviter la perte d'une demande pendant l'état d'occupation de l'unité MMU 23.The occupancy verification unit 4 receives information associated with an occupancy state of the main memory unit MMU 23. This information is provided by a control unit 17 of the unit MMU (to be described below) via a line 35. The occupancy verification unit 4 sends a selection signal to the selector 5 in accordance with an order of priority of the units A, B and C. The selection signal is used to select these units. The selector 5 selects a correct unit in accordance with the selection signal supplied by the occupancy verification member 4. As long as a request results in a successful hit, or successful hit of the cache memory, it is i.e. as long as an address requested from a cache 18 (to be described later) is there, the request is sent by the selector 5 to the section 40 for processing the request via a line 41 each clock period T. On the other hand, if a missed attempt or missed attempt in the cache occurs, that is to say if the requested address is not found in cache 18, a block of data is transferred from 1 main MMU 23 to cache 18 and the MMU 23 is placed in the busy state. The occupancy verification unit serves to avoid the loss of a request during the state of occupation of the MMU 23 unit.
Un signal d'adresse, faisant partie de l'information, concernant la demande, émise par le sélecteur 5, est mémorisé dans un registre d'adresse 6 et un signal de données, faisant partie de cette même information, est mémorisé dans un registre de données 7. An address signal, forming part of the information concerning the request, sent by the selector 5, is stored in an address register 6 and a data signal, forming part of this same information, is stored in a register data 7.
S'il se produit un coup raté de l'antémémoire, le registre 8 mémorise les données (c'est-à-dire les données constituant la réponse de l'unité MMU) transférées de l'unité MMU 23 à l'antémémoire 18. If a failed hit occurs, the register 8 stores the data (i.e. the data constituting the response of the MMU) transferred from the MMU 23 to the cache 18 .
Lorsque se produit le coup raté de l'antémémoire, les données mémorisées dans le registre 8 et les données (c'est-à-dire la portion réécrite dans le bloc) mémorisées dans le registre de données 7 sont fusionnées et envoyées dans l'antémémoire 18. Par contre, s'il se produit un coup réussi de l'antémémoire, les données envoyées dans l'antémémoire 18 sont le signal de sortie du registre de données 7.When the cache hit occurs, the data stored in register 8 and the data (i.e. the portion rewritten in the block) stored in data register 7 are merged and sent to the cache 18. On the other hand, if a successful hit of the cache occurs, the data sent to cache 18 is the output signal from the data register 7.
Les registres 7 et 8 envoient sélectivement les signaux de sortie dans l'antémémoire 18 en accord avec un signal de sortie provenant d'un circuit de jugement coup réussi/coup raté 13 (à décrire plus loin) commandé par une instruction provenant de l'organe de commande 17 de l'unité MMU.The registers 7 and 8 selectively send the output signals to the cache memory 18 in accordance with an output signal coming from a hit / miss judgment judgment circuit 13 (to be described below) controlled by an instruction coming from the control unit 17 of the MMU unit.
Le signal d'adresse mémorisé dans le registre d'adresse 6 est constitué d'un signal d'adresse de bloc et d'un signal d'adresse de colonne. Le signal d'adresse de bloc est envoyé à N+l ensembles d'adresses, c'est-à-dire aux différents ensembles allant de l'ensemble d'adresse 9, de niveau 0, à l'ensemble d'adresse 10, de niveau N, par l'interné- diaire d'une ligne 44. En même temps, le signal d'adresse de bloc est envoyé à l'une des bornes d'entrée de chacun des N+1 comparateurs, c'est-àdire aux différents comparateurs allant du comparateur 11 de niveau O au comparateur 12 de niveau N, par l'intermédiaire d'une ligne 47. Un signal envoyé par chacun des ensembles d'adresses, de l'ensemble 9 de niveau O à l'ensemble 10 de niveau N, est également envoyé à l'autre borne d'entrée de l'un, correspondant, des N+1 comparateurs. The address signal stored in the address register 6 consists of a block address signal and a column address signal. The block address signal is sent to N + 1 sets of addresses, that is to say to the various sets ranging from the set of address 9, of level 0, to the set of address 10 , level N, via a line 44. At the same time, the block address signal is sent to one of the input terminals of each of the N + 1 comparators, this is -to say to the different comparators going from comparator 11 of level O to comparator 12 of level N, via a line 47. A signal sent by each of the sets of addresses, of the set 9 of level O to l the set 10 of level N, is also sent to the other input terminal of one, corresponding, of the N + 1 comparators.
Le signal d'adresse de colonne provenant du registre d'adresse 6 est envoyé aux différents ensembles d'adresses allant de l'ensemble 9 de niveau
O à l'ensemble 10 de niveau N, ainsi qu'à l1anté- mémoire 18.The column address signal from the address register 6 is sent to the different sets of addresses from level 9
O to set 10 at level N, as well as to memory 18.
L'antémémoire 18 présente des positions de mémoire allant du niveau O au niveau N, correspondant respectivement aux différents ensembles d'adresses allant de l'ensemble d'adresses 9 de niveau O à l'ensemble d'adresses 10 de niveau N. Chaque ensemble d'adresses en mémoire 9 ou 10 comprend des zones pour un signal d'adresse de bloc correspondant pour l'antémémoire 18, un bit V représentant la validité de chaque donnée de bloc et un bit M représentant une non-coincidence entre les contenus de l'unité principale de mémoire 23 et de l'antémémoire 18. The cache memory 18 has memory positions going from level O to level N, corresponding respectively to the different sets of addresses going from the set of addresses 9 of level O to the set of addresses 10 of level N. Each set of addresses in memory 9 or 10 includes areas for a corresponding block address signal for cache 18, a bit V representing the validity of each block data and a bit M representing a non-coincidence between the contents the main memory unit 23 and the cache memory 18.
Si une demande est une demande de mémorisation, le contenu de l'antémémoîre 18 est actualisé et le bit
M prend la valeur logique "1".If a request is a storage request, the content of cache 18 is updated and the bit
M takes the logical value "1".
Les comparateurs, en allant du comparateur ll de niveau O au comparateur 12 de niveau , comparent les adresses de bloc émises par les ensembles d'adresses, en allant de l'ensemble d'adresses 9 de niveau O à l'ensemble d'adresses 10 de niveau N, avec les signaux d'adresse de bloc provenant du registre d'adresse 6 par la ligne 47, respectivement. The comparators, going from the level II comparator II to the level comparator 12, compare the block addresses sent by the address sets, going from the level 9 address set 9 to the address set 10 of level N, with block address signals from address register 6 through line 47, respectively.
Par exemple, le comparateur 11 de niveau O compare le signal de sortie provenant de l'ensemble d'adresses 9 de niveau O avec le signal d'adresse de bloc qui se trouve dans l'adresse de la demande.For example, the comparator 11 at level O compares the output signal from the set of addresses 9 at level O with the block address signal which is located in the address of the request.
Si le signal d'adresse de bloc provenant de l'ensemble d'adresses de niveau O coincide avec le signal d'adresse de bloc qui se trouve dans l'adresse de la demande et si le bit V a la valeur logique c , est qu'il s'est produit un coup réussi" au niveau O dans l'antémémoîre 18. On accède alors au bloc de niveau O pour les demandes de lecture et de mémorisation à partir de l'antémémoire 18.If the block address signal from the level O address set coincides with the block address signal found in the request address and if bit V has the logical value c, is that there has been a successful hit "at level O in cache 18. We then access the block at level O for requests to read and store from cache 18.
Le circuit de jugement coup réussi/coup raté 13 reçoit les signaux émis par les comparateurs, en allant du comparateur 11 de niveau O au comparateur 12 de niveau N. Si tous les signaux provenant des comparateurs, du comparateur il de niveau O au comparateur N de niveau 12, ont la valeur logique "O", c'est qu'un coup raté de l'antémémoire est détecté. Par contre, si l'un quelconque des signaux émis a la valeur logique "1" , c'est qu'un coup réussi de l'antémémoire est détecté au niveau correspondant. The hit / miss judgment judgment circuit 13 receives the signals sent by the comparators, going from comparator 11 at level O to comparator 12 at level N. If all the signals coming from the comparators, from comparator il at level O to comparator N at level 12, have the logical value "O", it means that a failed hit of the cache memory is detected. On the other hand, if any of the signals transmitted has the logical value "1", it is that a successful hit of the cache memory is detected at the corresponding level.
Si c'est le coup raté de l'antéménoire qui se produit, un signal de coup raté MISS est envoyé à l'organe de commande de l'unité principale de mémoire MMU 17 par l'intermédiaire d'une ligne 49.If it is the cache miss which occurs, a miss signal MISS is sent to the control unit of the main memory unit MMU 17 via a line 49.
Le coup raté de l'antémémoire se subdivise en deux cas. Dans le premier cas, bien que le bit V prenne la valeur logique "1", les signaux d'adresse de bloc qui sont dans les différents comparateurs, du comparateur ll de niveau O au comparateur 12 de niveau N, sont différents du signal d'adresse de bloc provenant du registre d'adresse 6. Dans le second cas, tous les bits V des ensembles d'adresses 9-10 ont la valeur logique "0", c'est-à-dire que les données de validité ne sont pas enregistrées dans l'antémémoire 18. The failed cache hit is subdivided into two cases. In the first case, although the bit V takes the logical value "1", the block address signals which are in the different comparators, from comparator ll of level O to comparator 12 of level N, are different from signal d block address from the address register 6. In the second case, all the bits V of the address sets 9-10 have the logical value "0", that is to say that the validity data does not are not saved in cache 18.
Les signaux de sortie provenant des différents comparateurs, du comparateur 11 de niveau O au comparateur 12 de niveau N, sont également envoyés à un circuit 14 de détermination du niveau à remplacer, c'est-à-dire du niveau du bloc auquel il faut attribuer de nouvelles données lorsque survient un coup raté de l'antémémoîre. C'est généralement l'algorithme LRU (Least Recently Used, niveau inutilisé depuis la plus longue période de temps) qui détermine le niveau à remplacer. The output signals from the different comparators, from comparator 11 at level O to comparator 12 at level N, are also sent to a circuit 14 for determining the level to be replaced, that is to say the level of the block to be replaced. assign new data when a missed cache hit occurs. It is usually the Least Recently Used (LRU) algorithm which has not been used for the longest period of time) which determines which level to replace.
En outre, l'antémémoire 18 avec conservation des données mémorisées utilisée dans cette réalisation est différente d'une antémémoire sans conservation des données mémorisées, en ce sens que l'écriture des données (dénommée swap, va-et-vient) depuis l'antémémoire 18 vers l'unité principale de mémoire
MMU 23 s'effectue sous forme d'attribution de nouvelles données. s. In addition, the cache 18 with conservation of the stored data used in this embodiment is different from a cache without conservation of the stored data, in that the writing of the data (called swap, back and forth) from the cache 18 to main memory unit
MMU 23 takes place in the form of allocation of new data. s.
Un signal de sortie, sous forme de signal de commande provenant du circuit 14 de détermination du niveau à remplacer, est envoyé à un générateur 15 d'adresse de bloc situé au niveau à remplacer et à un circuit 16 de jugement concernant le remplacement. Le générateur 15 d'adresse de bloc situé au niveau à remplacer reçoit les signaux d'adresse de bloc provenant des ensembles d'adresses, de l'ensemble d'adresses 9 de niveau O à l'ensemble d'adresses 10 de niveau N, sélectionne le signal d'adresse de bloc d'un ensemble d'adresses donné désigné comme niveau à remplacer et envoie le signal d'adresse de bloc sélectionné à l'organe de commande 17 de l'unité principale de mémoire MMU, par l'intermédiaire d'une ligne 56. An output signal, in the form of a control signal coming from the circuit 14 for determining the level to be replaced, is sent to a block address generator 15 located at the level to be replaced and to a circuit 16 for judging the replacement. The block address generator 15 located at the level to be replaced receives the block address signals from the address sets, from the address set 9 at level O to the address set 10 at level N , selects the block address signal from a given set of addresses designated as the level to be replaced and sends the selected block address signal to the controller 17 of the main memory unit MMU, by l line 56.
Le circuit 16 de jugement concernant le remplacement reçoit comme signaux d'entrée les bits V et
M provenant des ensembles d'adresses, de l'ensemble d'adresses 9 de niveau O à ensemble d'adresses 10 de niveau N et sélectionne les bits V et M de l'ensemble d'adresses donné désigné comme niveau à remplacer. Les bits V et M sélectionnés sont envoyés à l'organe de commande 17 de l'unité MMU par l'intermédiaire d'une ligne 57. Si le bit V d'un bloc situé au niveau à remplacer a la valeur logique "O", ou bien si le bit V a la valeur logique "1" et si le bit M a la valeur logique "O" l'opération de va-et-vient (swap) n'est pas effectuée. Les données du bloc transférées de l'unité MMU 23 à l'antémémoire 18 sont assignées au bloc situé au niveau à remplacer.The replacement judgment circuit 16 receives as bits V and
M coming from the sets of addresses, from the set of addresses 9 of level O to set of addresses 10 of level N and selects the bits V and M of the given set of addresses designated as the level to be replaced. The selected bits V and M are sent to the control unit 17 of the unit MMU via a line 57. If the bit V of a block located at the level to be replaced has the logical value "O" , or if the bit V has the logical value "1" and if the bit M has the logical value "O" the back-and-forth operation (swap) is not performed. The block data transferred from the MMU 23 to cache 18 are assigned to the block at the level to be replaced.
Par contre, si les bits V et M du bloc situé au niveau à remplacer ont tous les deux la valeur logique "1", l'opération de va-et-vient (swap) est effectuée puisque ce sont les données les plus récentes qui sont mémorisées dans l'antémémoire 18.On the other hand, if the bits V and M of the block located at the level to be replaced both have the logical value "1", the back-and-forth operation (swap) is carried out since it is the most recent data which are stored in cache 18.
Les signaux envoyés à l'organe de commande 17 de l'unité MMU sont un signal MISS (coup raté) provenant du circuit 13 de jugement concernant coup réussi/coup raté, par l'intermédiaire d'une ligne 49, un signal REPLACE (à remplacer) provenant du circuit 16 de jugement concernant le remplacement, par l'intermédiaire de la ligne 57, un signal d'adresse de bloc situé au niveau à remplacer provenant du générateur 15 d'adresse de bloc situé au niveau à remplacer, par l'intermédiaire de la ligne 56, et un signal de réponse .de l'unité principale de mémoire MMU provenant de l'unité MMU 23 par l'intermédaire d'une ligne 58. The signals sent to the control unit 17 of the MMU unit are a MISS signal (missed shot) coming from the circuit 13 for judging a successful shot / missed shot, via a line 49, a REPLACE signal ( to be replaced) coming from the judgment circuit 16 concerning the replacement, via line 57, of a block address signal located at the level to be replaced coming from the block address generator located at the level to be replaced, by through line 56, and a response signal from the main MMU memory unit from the MMU 23 through a line 58.
Les signaux provenant de l'organe de commande 17 de l'unité MNU sont un signal d'occupation envoyé à l'organe de vérification d'occupation 4 par l'intermédiaire d'une ligne 35, des signaux de lecture et écriture et le signal d'adresse (lors de la survenance d'un coup raté) envoyés à l'antémémoire 18 par l'intermédiaire des lignes correspondantes 51, 52 et 53 et un signal d'adresse de demande en mémoire MMU et une demande en mémoire
MMU envoyés à l'unité MMU 23 par l'intermédiaire des lignes correspondante 59 et 60.The signals coming from the control unit 17 of the MNU unit are a busy signal sent to the busy verification unit 4 via a line 35, read and write signals and the address signal (on the occurrence of a miss) sent to cache 18 via the corresponding lines 51, 52 and 53 and a request address signal in memory MMU and a request in memory
MMUs sent to the MMU 23 via the corresponding lines 59 and 60.
L'organe de commande 17 de l'unité MMU sera décrit en détail plus loin. The control unit 17 of the MMU unit will be described in detail below.
L'antémémoire 18 comporte des blocs allant du niveau O au niveau N, comprenant généralement chacun environ 64 multiplets. Un signal d'adresse de lecture/écriture pour l'antémémoire - 18 est envoyé par le registre d'adresse 6 lorsqu'il se produit un coup réussi de l'antémémoire mais envoyé par l'organe de commande 17 de l'unité MMUlorsqu'il se produit un coup raté de l'antémémoire. Les signaux d'adresse envoyés par l'organe de commande 17 de l'unité MMU sont différents l'un de l'autre en mode transfert de bloc et en mode va-et-vient (swap). The cache memory 18 comprises blocks ranging from level O to level N, generally each comprising approximately 64 bytes. A read / write address signal for the cache memory - 18 is sent by the address register 6 when there is a successful hit from the cache memory but sent by the control unit 17 of the MMU unit when 'a cache hit occurs. The address signals sent by the control unit 17 of the MMU are different from each other in block transfer mode and in back-and-forth mode (swap).
Dans cette réalisation, une longueur de données de lecture/écriture correspond à 8 multiplets.In this embodiment, a read / write data length corresponds to 8 bytes.
L'opération de lecture/écriture des données s'effectue en mode transfert de bloc et en mode va-et-vient par unités de blocs. Les données d'écriture pour l'antémémoire 18 sont fournies par le registre de données 7 lorsqu'il se produit réussi de 1 anté- mémoire. Par contre, s'il se produit un coup raté de l'antémémoire, les données de transfert de bloc (8 octets x 8) provenant de l'unité MMU 23 sont envoyées par l'intermédiaire du registre 8. Un signal de sortie provenant de l'antémémoire 18 est envoyé aux registres de réponse A, B et C 19, 20 et 21 pour mémoriser respectivement les données de réponse pour les unités A, B et C. En mode va-et-vient (swap), le signal envoyé par l'anténémoire 18 est envoyé à un registre 22 sous forme de données (8- octetsx 8).The data read / write operation is performed in block transfer mode and in back and forth mode by block units. The write data for cache memory 18 is supplied by data register 7 when successful 1 cache memory occurs. On the other hand, if a failed hit of the cache memory occurs, the block transfer data (8 bytes x 8) coming from the MMU 23 are sent via the register 8. An output signal coming from from cache 18 is sent to response registers A, B and C 19, 20 and 21 to store respectively the response data for units A, B and C. In back-and-forth mode (swap), the signal sent by cache 18 is sent to a register 22 in the form of data (8-bytesx 8).
En mode demande de lecture, les registres de réponse A, B et C, 19, 20 et 21 reçoivent un signal provenant de l'antémémoire 18 ou un signal provenant du registre 8 par l'intermédiaire d'un chemin 55 et envoient les données de réponse aux unités A,
B, et C en tant que source de demande, respectivement.In read request mode, the response registers A, B and C, 19, 20 and 21 receive a signal from cache 18 or a signal from register 8 via a path 55 and send the data response to units A,
B, and C as the source of demand, respectively.
Le chemin 55 provenant du registre 8 est prévu pour raccourcir le temps d'accès lorsqu'il se produit un coup raté de l'antémémoire. Le chemin 55 est prévu pour mémorisé dans l'antémémoire 18 les données provenant de l'unité MMU 23 et en même temps pour envoyer les données de réponse à la source de demande.The path 55 coming from the register 8 is provided to shorten the access time when a failed hit of the cache memory occurs. The path 55 is provided for memorizing in the cache memory 18 the data coming from the MMU 23 and at the same time for sending the response data to the request source.
En mode demande de mémorisation, aucune donnée de réponse n'est générée.In storage request mode, no response data is generated.
Ol va décrire l'opération de demande de l'organe de commande d'accès en mémoire représenté sur la figure 1 en cas de survenance d'un coup raté de 1 'antémémoire. Ol will describe the request operation of the memory access control member shown in FIG. 1 in the event of a missed shot of the cache memory.
(A) Demande de lecture sans va-et-vient (swap)
Une demande de transfert d'un bloc de l'unité
MMU 23 à l'antéménoire 18 est générée. Le bloc est assigné à l'antémémoire 18 et en même temps les données de réponse sont envoyées, en rétroaction, à la source de demande.(A) Read request without back and forth (swap)
A request to transfer a unit block
MMU 23 to cache 18 is generated. The block is assigned to cache 18 and at the same time the response data is sent, in feedback, to the request source.
(B) Demande de lecture avec va-et-vient (swap)
Après que le bloc de niveau à remplacer de l'antéménoire 18 est mémorisé dans l'unité MMU 23, un bloc est transféré, depuis l'unité MMU 23, dans l'antémémoire 18. Le bloc est rangé dans l'antémémoire 18 et, en même temps, il est envoyé à la source de demande en tant que données de réponse. En mode demande de lecture avec va-et-vient, les bits V et
M de l'ensemble d'adresses qui comporte le niveau récemment assigné ont la valeur logique "1" et "O", respectivement.(B) Swap read request
After the level block to be replaced from cache 18 is stored in the MMU 23, a block is transferred from the MMU 23 into cache 18. The block is stored in cache 18 and , at the same time, it is sent to the request source as response data. In read request mode with back and forth, the bits V and
M of the address set that includes the recently assigned level have the logical value "1" and "O", respectively.
(C) Demande de mémorisation sans va-et-vient (Swap)
Une demande de transfert d'un bloc, depuis l'unité MMU 23, dans l'antémémoire 18, est générée.(C) Memorization request without back and forth (Swap)
A request to transfer a block, from the MMU 23, to cache 18, is generated.
Le bloc est attribué dans l'antémémoire 18.The block is allocated in cache 18.
(D) Demande de mémorisation sans va-et-vient (Swap
Le bloc situé au niveau à remplacer de l'antémémoire 18 est mémorisé dans l'unité MMU 23. Un bloc est transféré, depuis l'unité MMU 23, dans l'antémémoire 18 et il est attribué dans l'antémémoire 18. En mode demande de mémorisation sans va-et-vient, les bits V et M de l'ensemble d'adresses présentant un niveau récemment assigné ont tous les valeurs logiques "1".(D) Memorization request without back and forth (Swap
The block located at the level to be replaced of the cache memory 18 is stored in the MMU unit 23. A block is transferred, from the MMU unit 23, to the cache memory 18 and it is allocated in the cache memory 18. In mode storage request without back and forth, the bits V and M of the set of addresses having a recently assigned level have all the logical values "1".
L'attribut caractéristique de l'invention réside en ce qu'un traitement de coup raté de l'antémémoire ou traitement de coup raté s'effectue par une demande de lecture en mémoire principale MMU 23, indépendamment de la présence/de l'absence de l'opération de va-et-vient (swap)
La figure 2 est un diagramme du circuit de l'organe de commande 17 de l'unité principale de mémoire MMU représenté sur la figure 1. Les figures 3(A) à 3(N') et 4(A) à 4(I) sont des graphiques chronométriques des signaux générés dans le circuit représenté sur la figure 2. On va décrire en détail le traitement d'un coup raté en se référant aux figures 2, 3(A) à 3(N) et 4(A) à 4(I).The characteristic attribute of the invention resides in that a processing of missed hit of the cache memory or processing of missed hit is carried out by a request to read in main memory MMU 23, independently of the presence / absence of the swap operation
Figure 2 is a circuit diagram of the controller 17 of the main MMU memory unit shown in Figure 1. Figures 3 (A) to 3 (N ') and 4 (A) to 4 (I ) are time graphs of the signals generated in the circuit shown in Figure 2. We will describe in detail the treatment of a failed shot with reference to Figures 2, 3 (A) to 3 (N) and 4 (A) to 4 (I).
En se reportant à la figure 2, un signal MISS (coup raté) envoyé par l'intermédiaire de la ligne 49 et représentant un coup raté de l'antémémoire et un signal REPL (à remplacer) envoyé par l'intermédiaire de la ligne 57 et représentant la présence d'une demande de remplacement sont envoyés à un détecteur 100 de l'opération de va-et-vient (swap) et à un détecteur 110 de transfert de bloc. Si le signal MISS a la valeur logique "1", c'est-à-dire s'il y a détection d'un coup raté. de 1 'antémémoire, et si le signal REPL a la valeur logique "1", c est-à-dire s'il y a présence d'une demande de remplacement, un signal de valeur logique "1" représentant la présence d'une opération- de va-et-vient (swap) est envoyé par le détecteur 100 de l'opération de va-et-vient. Dans ce cas, le traitement du coup raté consiste en le transfert du bloc et en l'opération de va-et-vient. Referring to FIG. 2, a MISS signal (missed shot) sent via line 49 and representing a missed shot from the cache memory and a REPL signal (to be replaced) sent via line 57 and representing the presence of a replacement request are sent to a detector 100 of the back-and-forth operation (swap) and to a block transfer detector 110. If the MISS signal has the logical value "1", that is to say if there is detection of a missed shot. of the cache memory, and if the REPL signal has the logical value "1", that is to say if there is a replacement request, a signal of logical value "1" representing the presence of a back-and-forth operation (swap) is sent by the detector 100 of the back-and-forth operation. In this case, the treatment of the missed shot consists of the transfer of the block and the back-and-forth operation.
Si le signal MISS a la valeur "1" et REPL la valeur "0", un signal émis par le détecteur 100 de l'opération de va-et-vient prend la valeur logique "0" et un signal émis par le détecteur 110 de transfert de bloc prend la valeur logique "1". If the signal MISS has the value "1" and REPL the value "0", a signal emitted by the detector 100 of the back-and-forth operation takes the logical value "0" and a signal emitted by the detector 110 block transfer takes the logical value "1".
Dans ce cas, le traitement du coup raté ne consiste qu'en le transfert du bloc.In this case, the treatment of the missed shot consists only of the transfer of the block.
Les signaux émis par le détecteur 100 de l'opération de va-et-vient et le détecteur 110 de transfert de bloc sont envoyés à un organe 130 de vérification d'occupation de l'unité MMU. L'organe 130 de vérification d'occupation de l'unité MMU effectue une vérification d'occupation, c' est-à-dire donne à un signal de sortie la valeur logique "1" (signal de vérification d'occupation) ou "O" en accord avec un indicateur d'occupation de l'unité MMU envoyé par le registre indicateur 120. Si une demande précédente est soumise à un traitement de coup raté, le signal de vérification d 'occupation ne peut pas être envoyé.Un signal correspondant au signal provenant du détecteur 110 d'opération de va-et-vient et généré par l'organe 130 de vérification d'occupation de l'unité MMU est alors envoyé à un générateur 140 de signal d'occupation par opération de va-et-~~ vient et à un générateur 160 de demande en mémoire
MMU, par l'intermédiaire d'une ligne 131. Un signal correspondant au signal envoyé par le détecteur 110 de transfert de bloc et généré par l'organe 130 de vérification d'occupation en mémoire MMU est envoyé à un générateur 150 de signal d'occupation par transfert de blo et à un générateur 160 de demande en mémoire MMU par l'intermédiaire d'une ligne 132.The signals emitted by the detector 100 of the back-and-forth operation and the block transfer detector 110 are sent to a member 130 for checking the occupancy of the MMU unit. The occupation verification unit 130 of the MMU unit performs an occupation verification, that is to say gives an output signal the logical value "1" (occupation verification signal) or " O "in accordance with an occupancy indicator of the MMU unit sent by the indicator register 120. If a previous request is subjected to a missed shot processing, the occupation verification signal cannot be sent. corresponding to the signal coming from the back-and-forth operation detector 110 and generated by the unit 130 for verifying the occupancy of the MMU unit is then sent to a generator 140 of occupancy signal by back-up operation and- ~~ comes and to a memory request generator 160
MMU, via a line 131. A signal corresponding to the signal sent by the block transfer detector 110 and generated by the device 130 for checking the occupancy in the MMU memory is sent to a signal generator 150 occupation by transfer of blo and to a generator 160 of request in MMU memory via a line 132.
Les signaux envoyés par le générateur 140 de signal d'occupation par opération de va-et-vient et par le générateur 150 de signal d'occupation par transfert de bloc sont envoyés au registre indicateur d'occupation 120. Si la demande précédente est soumise à la vérification d'occupation et si la demande en mémoire MMU 23 est générée, le registre indicateur d'occupation 120 est validé et il est invalidé en réponse aux données de réponse fournies par la mémoire MMU 23 par l'intermédiaire d'une ligne 58. Dans cette réalisation, le registre indicateur d'occupation 120 est invalidé en réponse aux données de réponse de la mémoire MMU. Toutefois, le registre indicateur d'occupation 120 peut être invalidé par lui-même par surveillance d'un nombre constant de périodes
T.Le registre indicateur d'occupation 120 envoie le signal d'occupation BUZY à l'organe 130 de vérification d'occupation. Une nouvelle demande provenant de la section 30 des registres d'accès peut être supprimée par le signal d'occupation.The signals sent by the busy signal generator 140 by back-and-forth operation and by the busy signal generator 150 by block transfer are sent to the busy indicator register 120. If the previous request is submitted upon verification of occupancy and if the request in MMU memory 23 is generated, the occupancy indicator register 120 is validated and it is invalidated in response to the response data supplied by the MMU memory 23 via a line 58. In this embodiment, the occupancy indicator register 120 is invalidated in response to the response data from the memory MMU. However, the occupancy indicator register 120 can be invalidated by itself by monitoring a constant number of periods
T. The occupancy indicator register 120 sends the BUZY occupancy signal to the occupancy verification member 130. A new request from section 30 of the access registers can be deleted by the busy signal.
Lorsque l'indicateur d'occupation est invalidé et que la demande est soumise à la vérification d'occupation, une commande de demande est envoyée à la mémoire MMU 23 en accord avec la présence/ l'absence de l'opération de va-et-vient (swap). When the occupancy indicator is disabled and the request is submitted to the occupancy check, a request command is sent to the memory MMU 23 in accordance with the presence / absence of the back-and-forth operation. - comes (swap).
Du fait que différentes commandes de demande sont utilisées en accord avec la présence/l'absence de l'opération de va-et-vient, le signal d'adresse de transfert de bloc est envoyé simultanément à la mémoire MMU 23. On va décrire ci-dessous les opérations avec et sans opération de va-et-vient en se référant aux graphiques chronométriques des figures 3(A) à 3(N) et des figures 4(A) à 4(I).Because different request commands are used in accordance with the presence / absence of the back-and-forth operation, the block transfer address signal is sent simultaneously to the memory MMU 23. We will describe below the operations with and without back-and-forth operation with reference to the timing graphs of Figures 3 (A) to 3 (N) and Figures 4 (A) to 4 (I).
(A) Mode opératoire avec opération de va-et-vient (Swap) (figures 3(A) à 3(N))
Le générateur 140 de signal d'occupation par opération de va-et-vient valide un indicateur d'occupation dans le registre indicateur d'occupation 120 et interdit les demandes ultérieures comme représenté sur la figure 3(B). (A) Operating mode with back-and-forth operation (Swap) (Figures 3 (A) to 3 (N))
The busy signal generator 140 by back-and-forth operation validates an occupancy indicator in the occupancy indicator register 120 and prohibits subsequent requests as shown in FIG. 3 (B).
in organe 170 de mise en séquence de l'opération de va-et-vient en antémémoire envoie, à une antémémoire 18, un signal de lecture RD (figure 3G), par une ligne 51, et un signal chronométrique d'adresse d'opération de va-et-vient, figure 3(I), par une ligne 173 et par un sélecteur 230. L'organe 170 de mise en séquence de l'opération de va-et-vient en antémémoire envoie, à l'unité principale de mémoire
MMU 23, un signal chronométrique d'adresse d'opération de va-et-vient, par une ligne 172, et à un sélecteur 220, en réponse à un signal chronométrique de demande d'envoi d'adresse d'opération de va-et-vient représenté sur la figure 3(H). Par conséquent, l'opération de va-et-vient entre l'antémémoire 18 et la mémoire principale MMU 23 s'effectue.Un organe .190 de mise en séquence de transfert de bloc envoie un signal d'écriture WT (figure 3(K)) et un signal d'adresse de transfert de bloc à l'antémémoire 18 en réponse à un signal chronométrique à la suite duquel les données de transfert de bloc provenant de la mémoire
MMU 23 sont renvoyées comme indiqué sur la figure 3(M). Les organes de mise en séquence 170 et 190 sont constitués par un registre à décalage et analogue.in organ 170 for sequencing the back-and-forth operation in the cache memory sends, to a cache memory 18, a read signal RD (FIG. 3G), by a line 51, and a chronometric signal of address of back and forth operation, FIG. 3 (I), by a line 173 and by a selector 230. The member 170 for sequencing the back and forth operation in cache memory sends, to the unit main memory
MMU 23, a back-and-forth operation timing signal, via a line 172, and to a selector 220, in response to a back-up operation address request timing signal back and forth shown in Figure 3 (H). Consequently, the back-and-forth operation between the cache memory 18 and the main memory MMU 23 takes place. A block transfer sequencing device 190 sends a write signal WT (FIG. 3 ( K)) and a block transfer address signal to cache 18 in response to a timing signal following which the block transfer data from the memory
MMU 23 are returned as shown in Figure 3 (M). The sequencing members 170 and 190 consist of a shift register and the like.
(B) Mode opératoire sans opération de va-et-vient (Swap) (figures 4(A) à 4(I))
Le générateur 150 de signal d'occupation par transfert de bloc valide un indicateur d'occupation dans le registre indicateur d'occupation 120 et interdit les demandes ultérieures. Un générateur 180 de cycle factice effectue une opération factice pour faire correspondre les signaux chronométriques avant de démarrer le transfert de bloc. L'organe 190 de mise en séquence de transfert de bloc envoie un signal d'écriture WT et un signal d'adresse de transfert de bloc à l'antémémoire 18 à l'instant où les données de transfert de bloc provenant de la mémoire MMU 23 sont renvoyées.(B) Operating mode without back-and-forth operation (Swap) (Figures 4 (A) to 4 (I))
The block transfer busy signal generator 150 validates a busy flag in the busy flag 120 and prohibits subsequent requests. A dummy cycle generator 180 performs a dummy operation to match the timing signals before starting the block transfer. The block transfer sequencing unit 190 sends a write signal WT and a block transfer address signal to the cache memory 18 at the moment when the block transfer data originating from the memory MMU 23 are returned.
Comme décrit ci-dessus, l'opération ci-dessus et l'envoi, à la source de demande, des données de réponse s effectuent simultanément. As described above, the above operation and the sending, to the request source, response data is performed simultaneously.
Sur la figure 2, le repère 200 désigne un générateur d'adresse d'opération de va-et-vient qui a pour fonction de synthétiser un signal d'adresse de bloc du niveau à remplacer et un signal d'adresse de colonne des données d'adresse de la demande. In FIG. 2, the reference 200 designates a back-and-forth operation address generator which has the function of synthesizing a block address signal of the level to be replaced and a column address signal of the data address of the request.
Le repère 210 désigne un générateur d'adresse de transfert de bloc. Le signal d'adresse de la demande envoyé par la ligne 48 sert, sans modification, de signal d'adresse de transfert de bloc. Le signal d'adresse de bloc et le signal d'adresse de colonne sont envoyés à l'unité MMU 23. Seule l'adresse de colonne est envoyée à l'antémémoire 18. Le repère 220 désigne un sélecteur pour envoyer à l'unité
MMU 23 un signal de lecture/écriture. Selon cette réalisation, en mode opératoire normal, le sélecteur envoie le signal d'adresse de transfert de bloc.Reference 210 designates a block transfer address generator. The request address signal sent over line 48 serves, without modification, as a block transfer address signal. The block address signal and the column address signal are sent to the MMU 23. Only the column address is sent to cache 18. The mark 220 designates a selector to send to the unit.
MMU 23 read / write signal. According to this embodiment, in normal operating mode, the selector sends the block transfer address signal.
En mode opératoire avec une opération de va-et-vient, le sélecteur 220 envoie le signal d'adresse d'opération de va-et-vient à un instant chronométrique fixé. Le repère 230 désigne un sélecteur pour envoyer une adresse de lecture/écriture pour l'antémémoire 18. Selon cette réalisation, en mode opératoire normal, le sélecteur 230 envoie le signal d'adresse de transfert de bloc. En mode opératoire avec l'opération de va-et-vient, le sélecteur 230 envoie le signal d'adresse d'opération de va-et-vient à un instant chronométrique fixé. In operating mode with a back-and-forth operation, the selector 220 sends the back-and-forth operation address signal at a fixed chronometric instant. The reference 230 designates a selector for sending a read / write address for the cache memory 18. According to this embodiment, in normal operating mode, the selector 230 sends the block transfer address signal. In operating mode with the back-and-forth operation, the selector 230 sends the back-and-forth operation address signal at a fixed chronometric instant.
Dans la réalisation décrite ci-dessus, s'il se produit un coup raté de l'antémémoire et s'il faut une opération de va-et-vient, les opérations de lecture et d'écriture pour l'unité principale de mémoire peuvent être effectuées par une unique demande, simplifiant ainsi la commande. In the embodiment described above, if a cache miss occurs and a back-and-forth operation is required, the read and write operations for the main memory unit can be made by a single request, thus simplifying the order.
La figure 5 est un diagramme par blocs montrant une autre réalisation de l'invention. Les mêmes repères que sur la figure 1 désignent les mêmes parties sur la figure 5 et on en omettra la description détaillée. Figure 5 is a block diagram showing another embodiment of the invention. The same references as in FIG. 1 designate the same parts in FIG. 5 and the detailed description will be omitted.
La disposition de la figure 5 diffère de celle de la figure 1 en ce sens qu'un signal d'invalidité d'écriture est envoyé par un organe de commande 17' de l'unité MMU à l'unité MMU par une ligne 61. The arrangement of FIG. 5 differs from that of FIG. 1 in the sense that a write invalidity signal is sent by a control member 17 ′ from the MMU unit to the MMU unit by a line 61.
La disposition détaillée de l'organe de commande 17' de l'unité MMU représenté sur la figure 5 est représentée sur la figure 6. Les mêmes repères que sur la figure 2 désignent les mêmes parties que sur la figure 6 et on en omettra une description détaillée. The detailed arrangement of the control unit 17 'of the MMU unit shown in Figure 5 is shown in Figure 6. The same references as in Figure 2 denote the same parts as in Figure 6 and we will omit one detailed description.
L'organe de commande 17' de l'unité MMU de la figure 6 diffère de l'organe de commande 17 de l'unité
MMU de la figure 2 en ce sens qu'un chemin 132 de vérification d'occupation de transfert de bloc, partant de l'organe 130 de vérification d'occupation, est relié à un circuit de synchronisation 240 pour générer le signal d'invalidité d'écriture.The control unit 17 ′ of the MMU unit in FIG. 6 differs from the control unit 17 of the unit
MMU of FIG. 2 in the sense that a block transfer occupancy verification path 132, starting from the occupation verification member 130, is connected to a synchronization circuit 240 to generate the invalidity signal writing.
Les circuits des figures 5 et 6 sont résumés ci-dessous. The circuits of Figures 5 and 6 are summarized below.
Lorsqu'unie vérification d'occupation en mémoire
MMU se produit dans l'organe 130 de vérification d'occupation qui fait partie de l'organe 17' de commande de la mémoire MMU, les demandes de lecture et d'écriture sont envoyées en mémoire MMU 23. Un générateur 160 de demande en mémoire MMU comporte simplement une porte OU. Dans cette réalisation, simultanément, un signal d'adresse de transfert de bloc est envoyé à la mémoire MMU 23. Un signal d'occupation de transfert de bloc est envoyé au circuit de synchronisation. Lorsqu'une période prédéterminée de temps s'est écoulée, le signal d'invalidité d'écriture est envoyé en mémoire MMU 23. Lorsque le signal d'invalidité d'écriture est reçu par la mémoire MMU 23, cette mémoire MMU 23 n'effectue un transfert de bloc dans l'antémémoire 18 que sur réception d'une demande.When a busy check in memory
MMU occurs in the occupation verification member 130 which is part of the MMU memory control member 17 ′, the read and write requests are sent to the MMU memory 23. A generator 160 for requesting MMU memory simply has an OR gate. In this embodiment, simultaneously, a block transfer address signal is sent to the memory MMU 23. A block transfer occupancy signal is sent to the synchronization circuit. When a predetermined period of time has elapsed, the write invalidity signal is sent to the MMU memory 23. When the write invalidity signal is received by the MMU memory 23, this MMU memory 23 does not performs a block transfer in cache 18 only on receipt of a request.
Les figures 7(A) à 7(J) sont des graphiques chronométriques des signaux de cette réalisation. Figures 7 (A) to 7 (J) are time graphs of the signals of this embodiment.
La figure 7(J) représente le signal d'invalidité d'écriture.Figure 7 (J) shows the write invalid signal.
Dans cette réalisation telle que décrite ci-dessus, les signaux d'écriture et de lecture sont simultanément envoyés à la mémoire MMU 23 indépendamment de la présence d'une opération de va-et-vient (swap). Seule le demande d'écriture précédemment envoyée est invalidée, simplifiant ainsi la commande lors de la survenance d'un coup raté de 1 'antémémoire. In this embodiment as described above, the write and read signals are simultaneously sent to the memory MMU 23 independently of the presence of a back-and-forth operation (swap). Only the write request previously sent is invalidated, thus simplifying the command upon the occurrence of a missed shot of the cache memory.
Claims (2)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4770587 | 1987-03-04 | ||
JP4770687 | 1987-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2611938A1 true FR2611938A1 (en) | 1988-09-09 |
FR2611938B1 FR2611938B1 (en) | 1994-04-08 |
Family
ID=26387867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8802789A Expired - Fee Related FR2611938B1 (en) | 1987-03-04 | 1988-03-04 | MEMORY ACCESS CONTROL SYSTEM |
Country Status (2)
Country | Link |
---|---|
CA (1) | CA1299768C (en) |
FR (1) | FR2611938B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
EP0093428A2 (en) * | 1982-04-30 | 1983-11-09 | Hitachi, Ltd. | Buffer storage including a swapping circuit |
-
1988
- 1988-03-03 CA CA000560407A patent/CA1299768C/en not_active Expired - Lifetime
- 1988-03-04 FR FR8802789A patent/FR2611938B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
EP0093428A2 (en) * | 1982-04-30 | 1983-11-09 | Hitachi, Ltd. | Buffer storage including a swapping circuit |
Non-Patent Citations (2)
Title |
---|
COMPUTING SURVEYS, vol. 14, no. 3, septembre 1982, pages 500-502, New York, US; A.J. SMITH: "Cache memories" * |
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 28, no. 3, août 1985, pages 1169-1174, New York, US; "Shared castout buffer" * |
Also Published As
Publication number | Publication date |
---|---|
FR2611938B1 (en) | 1994-04-08 |
CA1299768C (en) | 1992-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4092713A (en) | Post-write address word correction in cache memory system | |
EP0044039B1 (en) | Individualized portable object of the credit card type | |
JP2665718B2 (en) | Cache memory test method for information processing device | |
JPH07506921A (en) | Cache prefetching to minimize main memory access time and cache memory size in computer systems | |
US6378047B1 (en) | System and method for invalidating set-associative cache memory with simultaneous set validity determination | |
EP1710703A1 (en) | Cache consistency in a shared-memory multiprocessor system | |
US6591341B1 (en) | Multilevel cache system and method having a merged tag array to store tags for multiple data arrays | |
US5185875A (en) | Method and apparatus for reducing memory read latency in a shared memory system with multiple processors | |
EP0514050A2 (en) | Control circuit for dual port memory | |
FR2472232A1 (en) | DEVICE AND METHOD FOR DELETING ANEMEMATORY | |
FR2741464A1 (en) | DEVICE AND METHOD FOR CORRECTING ANOMALY FOR AN ADDRESS BOARD OF A RECORDED HIDDEN MEMORY | |
FR2754925A1 (en) | ATOMIC OPERATION ON REMOTE MEMORY AND DEVICE FOR CARRYING OUT THIS OPERATION | |
US5920891A (en) | Architecture and method for controlling a cache memory | |
US5295259A (en) | Data cache and method for handling memory errors during copy-back | |
FR2611938A1 (en) | Memory access control system | |
FR2602601A1 (en) | MEMORY INITIALIZATION SYSTEM | |
FR2674044A1 (en) | ARRANGEMENT FOR PREDICTING AN INSTRUCTION ADDRESS RESULTING FROM A CONNECTION IN A DIGITAL DATA PROCESSING SYSTEM. | |
FR2546319A1 (en) | CIRCUIT ARRANGEMENT CAPABLE OF PREVENTING ACCESS TO A PART OF A COMMAND MEMORY ON THE APPEARANCE OF AN ERROR IN THIS PART | |
FR2677147A1 (en) | ADDRESS TRANSLATION DEVICE CAPABLE OF OBTAINING A REAL ADDRESS FROM A VIRTUAL ADDRESS IN A SHORTER TIME. | |
US5371874A (en) | Write-read/write-pass memory subsystem cycle | |
FR2717921A1 (en) | Device for managing access conflict between a CPU and memories. | |
FR2567293A1 (en) | Loosely-coupled multiprocessor system comprising an independent device for barring access. | |
JP3555847B2 (en) | Cache memory failure processing apparatus, cache memory failure processing method, and multiprocessor system | |
FR2611939A1 (en) | Device for address translation including a buffer memory for address translation loaded with the presence bits | |
CA1313423C (en) | Memory access control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |