FR2632094A1 - Apparatus and method for getting access to data stored in a page memory - Google Patents

Apparatus and method for getting access to data stored in a page memory Download PDF

Info

Publication number
FR2632094A1
FR2632094A1 FR8905075A FR8905075A FR2632094A1 FR 2632094 A1 FR2632094 A1 FR 2632094A1 FR 8905075 A FR8905075 A FR 8905075A FR 8905075 A FR8905075 A FR 8905075A FR 2632094 A1 FR2632094 A1 FR 2632094A1
Authority
FR
France
Prior art keywords
memory
data
address
bus
cycle
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.)
Withdrawn
Application number
FR8905075A
Other languages
French (fr)
Inventor
Patrick Maurice Bland
Mark Edward Dean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of FR2632094A1 publication Critical patent/FR2632094A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1021Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
    • G11C7/1024Extended data output [EDO] mode, i.e. keeping output buffer enabled during an extended period of time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/103Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits

Landscapes

  • Dram (AREA)

Abstract

The present invention relates to a calculating system in which the memory access time is substantially reduced. After the use of row address sectioning (RAS) signals and column address sectioning (CAS) signals for selecting a particular address in a memory during a first memory cycle, the data addressed are locked for their subsequent transfer to a data bus. A CAS pre-load of the memory is then carried out after this locking and before the end of the first memory cycle preceding the start of the second memory cycle.

Description

APPAREIL ET METHODE POUR ACCEDER
A DES DONNEES EMMAGASINEES DANS
UNE MEMOIRE DE PAGES
La présente invention concerne de manière générale les mémoires utilisées dans les systèmes de calcul et plus particulièrement l'accès à des données emmagasinées dans des mémoires de pages utilisées dans de tels systèmes.
APPARATUS AND METHOD FOR ACCESSING
TO DATA STORED IN
A MEMORY OF PAGES
The present invention relates generally to memories used in calculation systems and more particularly to access to data stored in page memories used in such systems.

Les demandes concernant les systèmes de calcul et relatives à l'assurance de vitesses de fonctionnement encore plus élevées, de puissance de traitement effectives encore améliores et de performances générales encore meilleures, continuent d'affluer. Une tendance a te d'augmenter la fréquence d'horloge de l'unité centrale de traitement (CPU) du calculateur. Ceci a naturellement entraîné le traitement d'un plus grand nombre d'instructions par unité de temps. Cependant, à mesure que la fréquence d'horloge est augmentée, le temps d'accès associé à la mémoire doit être quelque peu raccourci de manière correspondante si l'on veut tirer tout le bénéfice de l'augmentation de la fréquence d'horloge.Autrement le temps d'accès associé à la lecture de données hors de la mémoire devient un facteur important de limitation des performances effectives de l'unité CPU. The demands for computing systems and for ensuring even higher operating speeds, even better effective processing power and even better overall performance continue to flow. There is a tendency to increase the clock frequency of the central processing unit (CPU) of the computer. This naturally led to the processing of a larger number of instructions per unit of time. However, as the clock frequency is increased, the access time associated with the memory must be correspondingly shortened somewhat in order to take full advantage of the increase in the clock frequency. Otherwise, the access time associated with reading data from memory becomes an important factor in limiting the effective performance of the CPU.

Une approche pour diminuer le temps d'accès effectif requis pour lire des données dans une mémoire est d'utiliser une mémoire de pages. C'est à dire que la mémoire est divisée en une pluralité de pages, chaque page consistant en une rangée ayant une adresse de rangée commune pour toute la Langée. One approach to decreasing the effective access time required to read data from memory is to use page memory. That is, the memory is divided into a plurality of pages, each page consisting of a row having a common row address for the whole Language.

Chaque rangée d'une page comprend une pluralité de colonnes ayant des adresses de colonne correspondantes. Pour accéder à un bloc particulier de données emmagasinées dans une telle mémoire de pages, l'adresse de rangée de ces données est délivrée à la mémoire pour permettre la sélection de la page dans la mémoire où les données sont emmagasinées. Puis, l'adresse de colonne associée aux données est délivrée à la mémoire pour permettre la sélection du bloc particulier de données dans la rangée ou page adressée. En général, les données adressées sont alors lues en sortie du bus de données.Each row on a page includes a plurality of columns having corresponding column addresses. To access a particular block of data stored in such a page memory, the row address of this data is supplied to the memory to allow selection of the page in the memory where the data is stored. Then, the column address associated with the data is delivered to the memory to allow the selection of the particular block of data in the row or page addressed. In general, the addressed data is then read at the output of the data bus.

On trouve un exemple d'une mémoire de pages dans le calculateur IB Personal System/2", modèle 80. ("Personal
System/2 est une marque déposée par "International Business
Machines Corporation). Une représentation schématique simplifiée et générale d'un tel système de calcul à mémoire de pages est donnée à la figure 1 sous la forme du système 10. Le système 10 comprend une unité centrale de traitement (CPU) 20 ou microprocesseur à laquelle sont connectés un bus d'adresses 30 et un bus de données 40. Le système 10 comprend en outre une unité de commande de mémoire 50 à laquelle le bus d'adresses 30 et le bus de données 40 sont connectés. Un bus de commande 60 est connecté entre l'unité CPU 20 et l'unité de commande de mémoire 50 de façon que des signaux de commande puissent être passés entre ces dernières.L'unité de commande de mémoire 50 est connectée à au moins un module de mémoire 70 qui est composé de la mémoire à accès aléatoire (RAM). Dans le présent exemple, le module de mémoire 70 est divisé en pages qui ont une longueur de 2K multiplets (512 x 32 plus la parité), chaque page par définition ayant la même adresse de rangée. Chaque page comprend ainsi 2K adresses de colonne. Un bus de données 80 est connecté entre l'unité de commande de mémoire 50 et le module de mémoire 70 pour permettre le transfert de données entre ces derniers.
An example of a page memory is found in the IB Personal System / 2 "calculator, model 80. (" Personal
System / 2 is a trademark of "International Business
Machines Corporation). A simplified and general schematic representation of such a page memory calculation system is given in FIG. 1 in the form of the system 10. The system 10 comprises a central processing unit (CPU) 20 or microprocessor to which a address bus 30 and a data bus 40. The system 10 further comprises a memory control unit 50 to which the address bus 30 and the data bus 40 are connected. A control bus 60 is connected between the CPU 20 and the memory control unit 50 so that control signals can be passed between them. The memory control unit 50 is connected to at least one memory module 70 which is made up of random access memory (RAM). In the present example, the memory module 70 is divided into pages which have a length of 2K bytes (512 x 32 plus parity), each page by definition having the same row address. Each page thus includes 2K column addresses. A data bus 80 is connected between the memory control unit 50 and the memory module 70 to allow data transfer between the latter.

Un bus d'adresses MUX multiplex 90 est connecté entre l'unité de commande de mémoire 50 et le module de mémoire 70 de façon que les informations d'adresses de colonne et de rangée puissent être passées de l'unité de commande de mémoire 50 au module de mémoire 7C. Le bus d'adresses multiplexé 90 a moins de lignes que le bus d'adresses 30 en raison de la nature multiplexée du bus 90 sur lequel une adresse de rangée ou de page est tout d'abord délivrée au module de mémoire 90 pendant un cycle d'accès de mémoire et ensuite, en second lieu, une adresse de colonne est délivrée ultérieurement au module de mémoire 90 au cours de ce cycle. L'unité de commande de mémoire 50 délivre des signaux de découpage adresse de rangée (RAS) et des signaux de découpage d'adresse de colonne (CAS) au module de mémoire 70 comme on le voit à la figure 1.La nature des signaux RAS et CAS est décrite dans la discussion suivante du schéma de chronologie de la figure 2. A multiplex MUX address bus 90 is connected between the memory controller 50 and the memory module 70 so that column and row address information can be passed from the memory controller 50 to the memory module 7C. The multiplexed address bus 90 has fewer lines than the address bus 30 due to the multiplexed nature of the bus 90 on which a row or page address is first supplied to the memory module 90 during a cycle memory access and then, secondly, a column address is subsequently issued to the memory module 90 during this cycle. The memory control unit 50 delivers row address chopping signals (RAS) and column address chopping signals (CAS) to the memory module 70 as seen in Figure 1. The nature of the signals RAS and CAS is described in the following discussion of the timeline in Figure 2.

La figure 2 est un schéma chronologique d'un ccle de mémoire courant associé au système de calcul 10. Dans cet exemple, on suppose que l'unité CPU 20 désire accéder à ou récupérer un premier bloc de données dans la mémoire 70 à une adresse de données prédéterminée dans ladite mémoire. Pour accéder réellement à ces informations, l'unité CPU 20 envoie l'adresse de données à l'unite de commande de mémoire 50. FIG. 2 is a chronological diagram of a current memory cycle associated with the calculation system 10. In this example, it is assumed that the CPU 20 wishes to access or recover a first block of data in the memory 70 at an address of predetermined data in said memory. To actually access this information, the CPU 20 sends the data address to the memory control unit 50.

L'unité de commande de mémoire 5C divise effectivement l'adresse de données en deux parties, å savoir l'adresse de rangée (aussi appelée "adresse de page") et l'adresse de colonne. L'adresse de rangée et l'adresse de colonne sont multiplexées sur le bus MUX ADDRESS 90. C'est à dire que l'adresse de rangée est tout d'abord délivrée a ce bus MUX
ADDRESS en 100. Le signal RAS est initialement au niveau HAUT ou COUPE ("HIGH" ou "OFF"). On notera qu'étant donné qu'une logique négative est utilisée dans le schéma chronologique de la figure 2, HIGH correspond à un état OFF et LOW (niveau bas) correspond à un état ON (conditionné). Le signal RAS est conditionné en 105 pour sélectionner la partie d'adresse de rangée actuellement délivrée au bus MUX ADDRESS 90.De cette maniere, le module de mémoire 70 sélectionne la page (rangée) particulière dans laquelle les données adressées sont emmagasinées. Le signal RAS reste conditionné pendant la durée du premier cycle de mémoire et le second cycle de mémoire suivant.
The memory controller 5C effectively divides the data address into two parts, namely the row address (also called "page address") and the column address. The row address and the column address are multiplexed on the MUX bus ADDRESS 90. This means that the row address is first supplied to this MUX bus
ADDRESS in 100. The RAS signal is initially at the HIGH or CUT level ("HIGH" or "OFF"). Note that since negative logic is used in the chronological diagram of Figure 2, HIGH corresponds to an OFF state and LOW (low level) corresponds to an ON (conditioned) state. The RAS signal is conditioned at 105 to select the row address portion currently delivered to the MUX ADDRESS bus 90. In this way, the memory module 70 selects the particular page (row) in which the addressed data is stored. The RAS signal remains conditioned for the duration of the first memory cycle and the next second memory cycle.

Après le conditionnement du signal RAS et la sélection de l'adresse de rangée au premier cycle de mémoire, la partie d'adresse de colonne des données désirées, est délivrée au bus
MUX ADDRESS en 110. Le signal CAS est alors conditionné en 115 pour sélectionner la partie d'adresse de colonne actuellement appliquée au bus MUX ADDRESS 90. A ce moment, l'adresse est complète étant donné que les parties d'adresses de rangée et de colonne correspondant aux données désirées, ont été délivrées au module de mémoire 70. Le module de mémoire 70 accède alors aux données ainsi adressées et délivre ces données au bus de données de mémoire 80. Les données sur le bus de données de mémoire 80 deviennent valides en 120 après l'écoulement d'un temps de retard prédéterminé TD qui commence à l'achèvement et à la sélection de l'adresse en 115.Le microprocesseur 20 saisit alors les données adressées sur le bus de données 40 de la figure 1. L 'homme de l'art utilise le terme T CAS pour définir le temps de retard entre l'instant où le signal CAS devient actif et l'instant où les ~données deviennent valides sur le tus de données de mémoire 80. Le terme TRAS se rapporte au temps de retard entre l'instant où le signal RAS devient actif et l'instant où les données deviennent valides. De manière. plus courante, TRAS se rapporte au "temps d'accès" présenté par un dispositif de mémoire particulier. Par exemple, un dispositif de mémoire avec un temps d'accès de 80 nanosecondes présente un T RAS de 80 nanosecondes.
After conditioning the RAS signal and selecting the row address in the first memory cycle, the column address portion of the desired data is delivered to the bus
MUX ADDRESS at 110. The CAS signal is then conditioned at 115 to select the column address part currently applied to the MUX ADDRESS 90 bus. At this time, the address is complete since the row address parts and column corresponding to the desired data, have been delivered to the memory module 70. The memory module 70 then accesses the data thus addressed and delivers this data to the memory data bus 80. The data on the memory data bus 80 becomes valid at 120 after the expiration of a predetermined delay time TD which begins upon completion and selection of the address at 115. The microprocessor 20 then enters the data addressed on the data bus 40 of FIG. 1 Those skilled in the art use the term T CAS to define the delay time between the instant when the CAS signal becomes active and the instant when the ~ data becomes valid on all memory data 80. The term TRAS relates to delay time between the time when the RAS signal becomes active and the time when the data becomes valid. So. more common, TRAS refers to the "access time" presented by a particular memory device. For example, a memory device with an access time of 80 nanoseconds has a T RAS of 80 nanoseconds.

Pour cet exemple, on suppose qu'un second bloc de données situé sur la même page ou rangée que le premier bloc de données indiqué ci dessus, est à accéder depuis le module de mémoire 70. L'homme de l'art utilise le terme enchaînement pour décrire l'action de changement d'adresse, par exemple la partie d'adresse de colonne, avant la fin du cycle de mémoire courant en préparation pour le cycle de mémoire suivant. L'enchaînement lui même économise du temps étant donné qu'il permet au circuit de décodage d'adresse dans l'unité de commande de mémoire 50 de commencer le traitement de l'adresse plus tôt que dans les autres cas.Un exemple d'un tel enchaînement est représenté à la figure 2 où après la validation des données en 120 et avant la fin du premier cycle de mémoire en 125, l'adresse de colonne est changée en une nouvelle adresse de colonne en 130, cette adresse de colonne correspondant au second bloc de données. For this example, it is assumed that a second block of data located on the same page or row as the first block of data indicated above, is to be accessed from the memory module 70. Those skilled in the art use the term sequence to describe the action of changing address, for example the column address part, before the end of the current memory cycle in preparation for the next memory cycle. The sequence itself saves time since it allows the address decoding circuit in the memory control unit 50 to start processing the address sooner than in other cases. such a sequence is represented in FIG. 2 where, after the validation of the data in 120 and before the end of the first memory cycle in 125, the column address is changed to a new column address in 130, this corresponding column address to the second data block.

Etant donné que le second bloc de données à accéder au second cycle de mémoire, est sur la même page que les données accédées au premier cycle de mémoire, la partie d'adresse de colonne changes en 130 tandis que la partie d'adresse de rangée reste la même. Cette situation est appelée une situation de "page touchée". Etant donné qu'il n'est pas nécessaire de renvoyer la partie d'adresse de rangée au module de mémoire 7G dans le cas d'une "page touchée", un temps intéressant peut être économisé dans un agencement à mémoire de pages.Since the second block of data to access the second memory cycle is on the same page as the data accessed in the first memory cycle, the column address part changes to 130 while the row address part stays the same. This situation is called a "page hit" situation. Since there is no need to return the row address portion to the 7G memory module in the case of a "touched page", valuable time can be saved in a page memory arrangement.

Avant que le module de mémoire 70 puisse sélectionner et réellement utiliser Jes informations d'adresse de colonne maintenant présentes sur le bus MUX ADRESS 90, il est nécessaire de déconditionner le signal CAS pendant une période de temps prédéterminée que l'on appellera "précharge CAS 135". Before the memory module 70 can select and actually use the column address information now present on the MUX ADRESS bus 90, it is necessary to decondition the CAS signal for a predetermined period of time which will be called "CAS preload" 135 ".

L'homme de l'art appelle le temps de précharge CAS "TCRp". Pour un dispositif de mémoire avec un temps d'accès de 80 nanosecondes, une valeur courante de TCRp serait de 15 nanosecondes. Une fois que la décharge CAS est achevée, le signal CAS est à nouveau conditionné en 140 de façon que la partie d'adresse de colonne du second bloc de données soit sélectionnée par le module de mémoire 70. L'adresse du second bloc de données est ainsi complétée et les données sur le bus d'adresse de mémoire 8n deviennent valides en 145 après l'écoulement d'un retard prédéterminé TD depuis l'achèvement et la sélection de l'adresse en 140. Le microprocesseur 20 saisit alors les données adressées depuis le bus de données 40 de la figure 1. Le second cycle de mémoire se termine en 150.Those skilled in the art call the CAS preload time "TCRp". For a memory device with an access time of 80 nanoseconds, a current value of TCRp would be 15 nanoseconds. Once the CAS discharge is complete, the CAS signal is again conditioned at 140 so that the column address portion of the second data block is selected by the memory module 70. The address of the second data block is thus completed and the data on the memory address bus 8n becomes valid at 145 after the expiration of a predetermined delay TD since the completion and selection of the address at 140. The microprocessor 20 then captures the data addressed from the data bus 40 in FIG. 1. The second memory cycle ends at 150.

Dans le cas de cet exemple, on suppose qu'un troisième bloc de données situé sur une page ou rangée différente de celle des premier et second blocs de données, est accédé au cours d'un troisième cycle de mémoire commençant en 150, une partie de ce troisième cycle de mémoire étant représenté à la figure 2. In the case of this example, it is assumed that a third block of data located on a page or row different from that of the first and second blocks of data, is accessed during a third memory cycle starting in 150, part of this third memory cycle being represented in FIG. 2.

Cette situation est appelée une "page manquée". C'est à dire qu'une partie de la nouvelle adresse de rangée correspondant à l'emplacement du troisième bloc de données, doit être fournie au module de mémoire 70. Cette partie de la nouvelle adresse de rangée apparaît sur le bus MUX ADDRESS par enchaînement en 155.This situation is called a "missed page". This means that part of the new row address corresponding to the location of the third data block must be supplied to memory module 70. This part of the new row address appears on the MUX ADDRESS bus by linked in 155.

Au début 150 du troisième cycle de mémoire, le signal RAS est déconditionné en préparation de la nouvelle adresse de rangée.At the start 150 of the third memory cycle, the RAS signal is conditioned in preparation for the new row address.

La nouvelle adresse de rangée est en fait sélectionnée lorsque le signal RAS est conditionné en 160. Le reste du troisième cycle de mémoire est pratiquement similaire au premier cycle de mémoire de la figure 2, la précharge CAS étant assurée en 165 près du début du troisième cycle de mémoire.The new row address is in fact selected when the RAS signal is conditioned at 160. The rest of the third memory cycle is practically similar to the first memory cycle in FIG. 2, the CAS preload being provided in 165 near the start of the third memory cycle.

D'après la discussion ci dessus, on voit que dans le cas où une "page touchée" apparaît dans une mémoire de pages, un temps d'une durée substantielle est pris (se reporter au second cycle de mémoire de la figure 2) par la conduite de la précharge CAS avant que la partie de la nouvelle adresse de colonne puisse être utilisée pour compléter la nouvelle adresse et sélectionner les données correspondantes. From the above discussion, we see that in the case where a "touched page" appears in a page memory, a time of a substantial duration is taken (see the second memory cycle in Figure 2) by conducting the CAS preload before the part of the new column address can be used to complete the new address and select the corresponding data.

Comme indiqué ci dessus, des systèmes de calcul sont conçus avec des vitesses d'horloge de plus en plus élevees. Etant donné qu'un cycle de mémoire est composé d'un nombre prédéterminé d'impulsions d'horloge qui deviennent de plus en plus courtes à mesure que la vitesse d'horloge augmente, le temps requis pour ces activités de conditionnement de mémoire comme la précharge CAS, tend a occuper une proportion toujours croissante du cycle d'accès de mémoire à mesure que la vitesse d'horloge augmente. Un mode d'utilisation d'un microprocesseur qui fonctionne à une vitesse très rapide par rapport à la vitesse ou au temps d'accès de mémoire, consiste à ajouter des états d'attente au système de calcul afin de ralentir effectivement le microprocesseur pour attendre les données à accéder depuis la mémoire.Ce mode d'action est généralement à éviter car il annule certains des bénéfices tirés de l'augmentation de la vitesse d'horloge du microprocesseur. As indicated above, computing systems are designed with increasingly high clock speeds. Since a memory cycle is made up of a predetermined number of clock pulses which become shorter and shorter as the clock speed increases, the time required for such memory conditioning activities such as CAS preload tends to occupy an ever increasing proportion of the memory access cycle as the clock speed increases. A mode of use of a microprocessor which operates at a very fast speed relative to the speed or the memory access time, consists in adding waiting states to the calculation system in order to effectively slow down the microprocessor to wait the data to be accessed from memory. This mode of action is generally to be avoided since it cancels out some of the benefits derived from increasing the clock speed of the microprocessor.

Un objet de la présente invention est de fournir un système de calcul capable de fonctionner à des vitesses d'horloge élevées sans avoir recours à des états d'attente supplémentaires pendant l'accès à la mémoire. An object of the present invention is to provide a computing system capable of operating at high clock speeds without resorting to additional standby states during access to the memory.

Un autre objet de la présente invention est de diminuer le temps d'accès associé aux mémoires de pages. Another object of the present invention is to reduce the access time associated with page memories.

Selon une réalisation de la présente invention, on obtient un système de calcul qui comprend une mémoire de pages ayant un bus d'adresses et un bus de données connectés à celle ci. Un processeur, par exemple un microprocesseur, est connecté au bus d'adresses et au bus de données. Le processeur traite des données dans le système et fournit à la mémoire un premier signal d'adresse pendant un premier cycle de mémoire, ce premier signal d'adresse correspondant à un emplacement dans la mémoire de données à accéder.Le système comprend un premier circuit de commande connecté à la mémoire pour délivrer à la mémoire un signal de découpage d'adresse de rangée (RAS) pendant le premier cycle de mémoire et comprend en outre un second circuit de commande connecté à la mémoire pour délivrer un signal de découpage d'adresse de colonne (CAS) à la mémoire pendant le premier cycle de mémoire et ultdrieurement au signal
RAS. Un circuit de verrouillage est connecté entre la mémoire et le bus de données pour verrouiller les données ainsi adressées pour un transfert ultérieur sur le bus de données. Le système de calcul comprend un circuit de précharge CAS connecté à la mémoire pour soumettre la mémoire à une prêcharge CAS ultérieurement au verrouillage de la mémoire et avant la fin du premier cycle de mémoire.
According to an embodiment of the present invention, a calculation system is obtained which comprises a page memory having an address bus and a data bus connected to it. A processor, for example a microprocessor, is connected to the address bus and the data bus. The processor processes data in the system and provides the memory with a first address signal during a first memory cycle, this first address signal corresponding to a location in the data memory to be accessed. The system comprises a first circuit control circuit connected to the memory for outputting a row address chopping signal (RAS) to the memory during the first memory cycle and further includes a second control circuit connected to the memory for providing a chopping signal column address (CAS) to memory during the first memory cycle and after the signal
RAS. A locking circuit is connected between the memory and the data bus to lock the data thus addressed for subsequent transfer on the data bus. The computing system includes a CAS preload circuit connected to the memory for subjecting the memory to a CAS preload after the memory is locked and before the end of the first memory cycle.

La figure 1 est une représentation schématique simplifiée d'un système de calcul classique avec une mémoire de pages. Figure 1 is a simplified schematic representation of a conventional calculation system with a page memory.

La figure 2 est un schéma chronologique associé à une mémoire de pages classique et courante. FIG. 2 is a chronological diagram associated with a conventional and current page memory.

La figure 3 est une représentation graphique simplifiée du système de calcul de la présente invention. FIG. 3 is a simplified graphic representation of the calculation system of the present invention.

La figure 4 est une représentation schématique du système de calcul de la présente invention. Figure 4 is a schematic representation of the calculation system of the present invention.

La figure 5 est une représentation chronologique montrant la chronologie de la partie de mémoire du système de calcul de la figure 3 par comparaison avec la chronologie de la partie de mémoire du système classique de la figure 2. FIG. 5 is a chronological representation showing the chronology of the memory part of the calculation system of FIG. 3 by comparison with the chronology of the memory part of the conventional system of FIG. 2.

La figure 6 est un organigramme montrant comment l'accès à la mémoire est mis en oeuvre dans le système de calcul de la présente invention.  Figure 6 is a flow chart showing how memory access is implemented in the computation system of the present invention.

La figure 7 est une représentation schématique du circuit de verrouillage bidirectionnel utilisé dans le système de calcul de la figure 4. FIG. 7 is a schematic representation of the bidirectional locking circuit used in the calculation system of FIG. 4.

La figure 8 est une représentation schématique de la mémoire intermédiaire de données complète de la figure 7. FIG. 8 is a schematic representation of the complete intermediate data memory of FIG. 7.

La figure 9 est une représentation de la répartition des entrées et sorties des données dans la mémoire intermédiaire de données de la figure 8. FIG. 9 is a representation of the distribution of the inputs and outputs of the data in the intermediate data memory of FIG. 8.

DESCRIPTO DETAILLEE DE L'INVENTION
La figure 3 est une représentation simplifiée du système de calcul de la présente invention qui comprend un système de calcul 200 auquel une unité de contrôle 205, un dispositif d'entrée à clavier 210, un dispositif d'entrée à souris 215 et un dispositif de sortie à imprimante 220 sont connectés.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 3 is a simplified representation of the calculation system of the present invention which comprises a calculation system 200 to which a control unit 205, a keyboard input device 210, a mouse input device 215 and a display device output to printer 220 are connected.

La figure 4 est une représentation schémâtique du système de calcul 200. Le système 200 comprend un processeur 225, par exemple un processeur à 32 bits comme le processeur Intel 80386. Un bus local de CPU 230 est formé par un bus d'adresses de 36 bits, un bus de données de 32 bits et un bus de commande de 10 bits qui sont connectés entre le processeur 225 et une mémoire intermédiaire 240 comme le montre la figure 4. Un coprocesseur mathématique 245 comme le coprocesseur Intel 80837 est connecté au bus local CPU 230 pour exécuter des opérations à virgule flottante pour améliorer le rendement du système.  FIG. 4 is a schematic representation of the calculation system 200. The system 200 comprises a processor 225, for example a 32-bit processor like the Intel processor 80386. A local bus of CPU 230 is formed by an address bus of 36 bits, a 32-bit data bus and a 10-bit control bus which are connected between the processor 225 and an intermediate memory 240 as shown in Figure 4. A math coprocessor 245 like the Intel 80837 coprocessor is connected to the local bus CPU 230 to perform floating point operations to improve system performance.

Le système 200 comprend un bus local de système 250 connecté
entre la mémoire intermédiaire 240 et la mémoire intermédiaire
253. Le bus local du système 250 comprend un bus de données,
un bus d'adresses et un bus de commande comme le montre la
figure 4. La mémoire intermédiaire 240 fait fonction de mémoire
intermédiaire pour le bus d'adresses du bus local CPU 230 par
rapport au bus d'adresses du bus local de système 250. La mémoire intermédiaire 240 fait aussi fonction de mémoire
intermédiaire pour le bus de données et le bus de commande du bus local CPU 230 par rapport au bus de données et au bus de
commande du bus local de système 250. Une antêmémoire de
données de CPU 255, par exemple une antémémoire de données
comprenant 64S de mémoire, est connectée aux bus d'adresses et de données du bus local de CPU 230.Une unité de commande d'antémémoire 260 comme l'unité de commande d'antémémoire Intel
82385, par exemple, est connectée aux bus d'adresses et de
commande du bus local de CPU 230. L'unité de commande
d'antémémoire 26C commande l'emmagasinage et l'accès de données
fréquemment utilisées qui sont emmagasinées dans l'antémémoire
de données 255 afin d'accélérer effectivement le fonctionnement
du système 200. L'unité de commande d'antémémoire 260 est aussi
connectée au bus d'adresses du bus local de système 250.
System 200 includes a local system bus 250 connected
between intermediate memory 240 and intermediate memory
253. The local bus of system 250 includes a data bus,
an address bus and a control bus as shown in the
Figure 4. Intermediate memory 240 acts as memory
Intermediate for the address bus of the local bus CPU 230 by
relative to the address bus of the local system bus 250. The intermediate memory 240 also functions as memory
intermediate for the data bus and the control bus of the local bus CPU 230 with respect to the data bus and the
control of the local system bus 250. A cache memory of
data from CPU 255, for example a data cache
including 64S of memory, is connected to the address and data buses of the local bus of CPU 230. A cache controller 260 like the Intel cache controller
82385, for example, is connected to the address and
control of the local bus of CPU 230. The control unit
26C cache controls data storage and access
frequently used that are stored in the cache
255 data to effectively speed up operation
of system 200. The cache controller 260 is also
connected to the address bus of the local system bus 250.

Le système 200 comprend un circuit de commande et de
chronologie de bus 265 connecté aux bus d'adresses, de données et de commande du bus local de système 25Q. Le bus local de
système 250 est connecté par l'intermédiaire d'un ensemble
bascule/mémoire intermédiaire/décodeur 267 à un bus d'entrée/sortie (E/S) 270 qui comprend un bus d'adresses de 10 bits, un bus de données de 8 bits et un bus de commande.
System 200 includes a control and
Bus timeline 265 connected to the address, data and control buses of the 25Q system local bus. The local bus from
system 250 is connected through a set
flip-flop / intermediate memory / decoder 267 to an input / output (I / O) bus 270 which comprises a 10-bit address bus, an 8-bit data bus and a control bus.

L'ensemble mémoire intermédiaire/décodeur 267 assure la #commande de la bascule d'adresses E/S et de la mémoire
intermédiaire de données E/S. Le décodeur/mémoire intermédiaire
267 décode les signaux d'adresses et de commande du bus local
de système et délivre des signaux "sélection élément
semi-conducteur" et de commande ES au bus E/S 270. On notera que la "sélection élément semi-conducteur" se rapporte h la sélection du dispositif particulier connecté au bus E/S 270 sur lequel une opération est à effectuer. Le bus E/S 270 est connecté à un adaptateur d'affichage 275, une horloge CMOS 280, une mémoire RAM CMOS 285, un adaptateur RS232 290, un adaptateur d'imprimante 295, une unité de chronologie à 4 canaux 300 pour assurer-des fonctions de chronologie générales.
The intermediate memory / decoder assembly 267 provides #control of the I / O address toggle and of the memory
I / O data intermediary. The decoder / intermediate memory
267 decodes local bus address and control signals
system and issues "element selection" signals
semiconductor "and ES control to the I / O bus 270. Note that the" semiconductor element selection "relates to the selection of the particular device connected to the I / O bus 270 on which an operation is to be performed. I / O bus 270 is connected to a display adapter 275, a CMOS clock 280, a CMOS RAM memory 285, an RS232 adapter 290, a printer adapter 295, a 4-channel chronology unit 300 to provide general chronology functions.

Le bus E/S 27G est en outre connecté 2 un adaptateur de disquette 305, une unité de commande d'interruption 310 et une mémoire inaltérable (ROM) qui contient le système d'entrée/sortie de base (BIOS) du système.The I / O bus 27G is further connected to a floppy disk adapter 305, an interrupt control unit 310 and a read-only memory (ROM) which contains the basic input / output system (BIOS) of the system.

Un bus à micro-canaux (TM) 320 comprenant des bus d'adresses, de données et de commande, est connecté au bus local de système par la mémoire intermédiaire 253. A micro-channel bus (TM) 320 comprising address, data and control buses is connected to the local system bus by the intermediate memory 253.

L'architecture du bus à micro-canal est écrite plus en détails dans le manuel technique des IBE. PS/2 Modèle 80. Selon l'architecture à micro-canal, un point de commande d'arbitrage central (CACP) 325 est connecté au bus à micro-canaux 320 et au circuit de commande et de chronologie de bus 265 dans le but de gérer le mécanisre d'arbitrage des bus de dispositifs multiples à micro-canal. La connexion de ce point d'arbitrage central 325 et du circuit de commande et de chronologie de bus 265 fait réellement partie du bus à micro-canaux 320.The architecture of the micro-channel bus is described in more detail in the IBE technical manual. PS / 2 Model 80. According to the micro-channel architecture, a central arbitration control point (CACP) 325 is connected to the micro-channel bus 320 and to the bus timing and control circuit 265 in order to manage the arbitration mechanism for buses of multiple micro-channel devices. The connection of this central arbitration point 325 and the bus timing and control circuit 265 is actually part of the micro-channel bus 320.

Une pluralité de récepteurs d'enfichage à micro-canal 330 sont connectés au bus à micro-canaux 320 comme le montre la figure 4 pour recevoir des cartes de fonction comme des cartes de mémoire, des adaptateurs vidéos, des adaptateurs DASD, des adaptateurs SCSI et des adaptateurs de communication. Un ou plusieurs récepteurs de disques durs ou disques souples 335 sont connectés au bus à micro-canaux 320 pour faciliter la connexion d'un disque dur ou d'un disque souple (non représenté) au bus 320.Une unité de commande d'accès de mémoire direct (DMA) 337 est connectée aux bus d'adresses, de données et de commande du bus local de système 250 dans le but de permettre l'utilisation de périphériques comme des disques durs, des unités de commande de disques souples et tout dispositif asservi à micro-canal DMA pour avoir un accès direct à la mémoire principale (décrite ci dessous) afin d'éviter d'avoir à impliquer directement le processeur 225 dans les transferts de données entre ces périphériques et la mémoire principale. A plurality of micro-channel plug receivers 330 are connected to micro-channel bus 320 as shown in FIG. 4 to receive function cards such as memory cards, video adapters, DASD adapters, SCSI adapters and communication adapters. One or more hard disk receivers or flexible disks 335 are connected to the micro-channel bus 320 to facilitate the connection of a hard disk or a flexible disk (not shown) to the bus 320. An access control unit of direct memory (DMA) 337 is connected to the address, data, and control buses of the local system bus 250 for the purpose of enabling the use of peripherals such as hard drives, floppy disk drives, and all DMA micro-channel slave device for direct access to the main memory (described below) in order to avoid having to directly involve the processor 225 in the data transfers between these peripherals and the main memory.

Un circuit de commande de mémoire 340 est connecté au bus local de système 250 comme le montre la figure 4. Le fonctionnement du circuit de commande de mémoire 340 est entièrement décrit et spécifié dans le schéma chronologique de la figure 5 qui sera décrite ultérieurement. Cependant, afin d'améliorer la compréhension du circuit de commande de mémoire 340, on notera que le circuit de commande de mémoire comprend en fait trois parties, c'est à dire un décodeur RAS/CAS 345, un décodeur/multiplexeur d'adresses 350 et une mémoire intermédiaire de données 355. Le décodeur RAS/CAS 345 est connecté à son entrée au bus de commande du bus local de système 250. Le décodeur RAS/CAS 345 prend des signaux de définition de cycles d'adresses et de bus au processeur 225 et les décode pour extraire des signaux de sélection de mémoire et de chronologie de mémoire. Le décodeur RAS/CAS 345 décode les signaux RAS et CAS. Le signal RAS décodé par le décodeur 345 spécifie quel banc de mémoires des 8 bancs de mémoire (chaque banc comprend 1 mégamultiplet organisé en 256K x 36 bits) est à accéder pendant le cycle de mémoire courant. L'agencement de ces 8 bancs de mémoire en une mémoire 370 comprenant les modules 371, 372, 373 et 374 sera décrit ultérieurement. Le signal ~CAS décodé par le décodeur 345 spécifie quel multiplet ou quels multiplets d'un mot de 32 bits emmagasiné dans la mémoire 370, doivent être accédés pendant le cycle de mémoire courant.  A memory control circuit 340 is connected to the local system bus 250 as shown in Figure 4. The operation of the memory control circuit 340 is fully described and specified in the timing diagram of Figure 5 which will be described later. However, in order to improve the understanding of the memory control circuit 340, it will be noted that the memory control circuit in fact comprises three parts, that is to say a RAS / CAS decoder 345, an address decoder / multiplexer 350 and an intermediate data memory 355. The RAS / CAS 345 decoder is connected at its input to the control bus of the local system bus 250. The RAS / CAS 345 decoder takes signals for defining address and bus cycles to processor 225 and decodes them to extract memory selection and memory chronology signals. The RAS / CAS 345 decoder decodes the RAS and CAS signals. The RAS signal decoded by the decoder 345 specifies which memory bank of the 8 memory banks (each bank includes 1 megamultiplet organized in 256K x 36 bits) is to be accessed during the current memory cycle. The arrangement of these 8 memory banks in a memory 370 comprising the modules 371, 372, 373 and 374 will be described later. The signal ~ CAS decoded by the decoder 345 specifies which byte or which bytes of a 32-bit word stored in memory 370 must be accessed during the current memory cycle.

Le circuit de commande de mémoire 340 est connecté à la mémoire 370 précédemment indiquée, de la manière décrite ci après. La mémoire 370 comprend 4 modules de mémoire à accès aléatoire (RAM), à savoir les modules 371, 372, 373 et 374 qui reçoivent chacun 2 mégamultiplets de mémoire. Dans la figure 4, les modules 371-374 sont appelés des progiciels en-ligne simples (SIP) de mémoire à accès aléatoire dynamique (DRAM) ou ensemble DRAM SIP. Le module 371 contient 2 mégamultiplets de mémoire et est référencé "BASIC 2MB". Les modules restants 372-374 peuvent être remplis de mémoire selon l'option de l'utilisateur et sont ainsi référencés "OPTIONAL 2MB".Le décodeur RAS/CAS 345 comprend un bus de sortie 380 ayant 13 lignes séparées sur lesquelles les signaux RAS, CAS et WE sont transmis à chacun des bancs de mémoires 371-374 dont 8 lignes sont attribuées à RAS, 4 lignes sont attribuées à CAS et 1 ligne est attribuée à WE. Le décodeur RAS/CAS 345 génère un signal de conditionnement d'écriture (WE) qui indique si un cycle de mémoire particulier est un cycle de lecture ou un cycle d'écriture et envoie cette information à une mémoire 370. The memory control circuit 340 is connected to the memory 370 previously indicated, as described below. Memory 370 includes 4 random access memory (RAM) modules, namely modules 371, 372, 373 and 374 which each receive 2 megamultiplets of memory. In FIG. 4, the modules 371-374 are called simple on-line software packages (SIP) of dynamic random access memory (DRAM) or DRAM SIP assembly. Module 371 contains 2 megamultiplets of memory and is referenced "BASIC 2MB". The remaining modules 372-374 can be filled with memory according to the option of the user and are thus referenced "OPTIONAL 2MB". The RAS / CAS 345 decoder comprises an output bus 380 having 13 separate lines on which the RAS signals, CAS and WE are transmitted to each of the memory banks 371-374 of which 8 lines are allocated to RAS, 4 lines are allocated to CAS and 1 line is allocated to WE. The RAS / CAS decoder 345 generates a write conditioning signal (WE) which indicates whether a particular memory cycle is a read cycle or a write cycle and sends this information to a memory 370.

Chacun des modules 371-374 comprend 2 mégamultiplets de mémoire dont chaque multiplet est divisé en 512 pages ou rangées qui ont chacune une longueur de 2K multiplets. C'est à dire que les bancs 371-374 sont configurés en mémoires de pages.Each of the 371-374 modules includes 2 megamultiplets of memory, each byte of which is divided into 512 pages or rows which are each 2K bytes long. That is, the banks 371-374 are configured in page memories.

Le multiplexeur d'adresses (ADDR MUX) 350 est connecté à son entrée au bus de données de 36 lignes du bus local de système 250. Lorsque le processeur 225 désire accéder à un bloc de données emmagasinées dans un emplacement de la mémoire 370, le processeur 225 transmet les 36 bits de l'adresse de cet emplacement de mémoire au multiplexeur- d'adresses 350. Le multiplexeur d'adresses 350 dérive l'adresse de page (adresse de rangée) et l'adresse de colonne des informations d'adresses de 36 bits et délivre l'adresse de page et l'adresse de colonne à la mémoire 370 par l'intermédiaire d'un bus d'adresses multiplexées (MUX ADDR) 390 qui connecte le multiplexeur d'adresses 350 à la mémoire 370. Un bus de données de mémoire de 36 bits 400 connecte les modules de mémoire 371-374 de la mémoire 370 à la mémoire intermédiaire de données 355.Après que la mémoire 370 ait été adressée comme ci dessus, les données à l'adresse de mémoire spécifiée, sont transférées à un bus de données de mémoire 400 qui délivre les données à la mémoire intermédiaire de données 355 comme le montre la figure 4. Sur le bus de données de mémoire 400, 32 bits (Do-D31) sont attribués aux données et 4 bits de parité (P0-P3) sont attribués à la parité. Une fois que les données adressées ont atteint le bus de données de mémoire 400, les données sont emmagasinées temporairement par la mémoire intermédiaire de données 355 et sont ensuite placées sur le bus de données du bus local de système 250. Les données sont ensuite transférées au processeur 255 par la mémoire intermédiaire 240 et le bus local de CPU 230. The address multiplexer (ADDR MUX) 350 is connected at its input to the 36-line data bus of the local system bus 250. When the processor 225 wishes to access a block of data stored in a memory location 370, the processor 225 transmits the 36 bits of the address of this memory location to the address multiplexer 350. The address multiplexer 350 derives the page address (row address) and the column address from the information 36-bit addresses and delivers the page address and the column address to memory 370 via a multiplexed address bus (MUX ADDR) 390 which connects the address multiplexer 350 to memory 370 A 36-bit memory data bus 400 connects memory modules 371-374 from memory 370 to intermediate data memory 355. After memory 370 has been addressed as above, the data at the address of specified memory, are transferred to a memory 400 data bus that i delivers the data to the intermediate data memory 355 as shown in FIG. 4. On the memory data bus 400, 32 bits (Do-D31) are allocated to the data and 4 parity bits (P0-P3) are allocated to parity. Once the addressed data has reached the memory data bus 400, the data is temporarily stored by the intermediate data memory 355 and is then placed on the data bus of the local system bus 250. The data is then transferred to the processor 255 by the intermediate memory 240 and the local bus of CPU 230.

La discussion suivante du schéma de chronologie de la figure 5B décrit de manière détaillée le fonctionnement du circuit de commande de mémoire 340 et de la mémoire 370. Par facilité et pour permettre une comparaison rapide, le schéma chronologique de l'art antérieur de la figure 2 a été répété dans la partie supérieure de la figure 5 sous la forme de la figure 5A. Pour la discussion du schéma de chronologie de la figure 5B, on suppose que le processeur 225 désire accéder à un bloc de données emmagasiné à une adresse ou emplacement sélectionné dans la mémoire 370. Ce bloc de données est considéré comme le premier bloc de données sélectionné. On suppose aussi qu'après l'accès au premier bloc de données sélectionné, le processeur désire accéder à un second bloc de données sélectionné dans un autre emplacement de la mémoire. The following discussion of the timeline in Figure 5B describes in detail the operation of the memory control circuit 340 and the memory 370. For ease and to allow quick comparison, the prior art timeline in Figure 2 has been repeated in the upper part of Figure 5 in the form of Figure 5A. For the discussion of the chronology diagram of FIG. 5B, it is assumed that the processor 225 wishes to access a block of data stored at an address or location selected in the memory 370. This block of data is considered to be the first block of data selected . It is also assumed that after accessing the first selected data block, the processor wishes to access a second selected data block in another location of the memory.

Le processeur 225 délivre en sortie l'adresse sélectionne où le premier bloc de données est emmagasiné, au bus de données du bus local de CPU 230. L'adresse sëlectionnée consiste en 32 bits d'adresse A0-A31 et 4 bits de conditionnement de multiplet
(BEO-BE3) formant ainsi une adresse de 36 bits au total. Les 4 bits de conditionnement de multiplet BE0-BE3 sont utilisés pour indiquer les multiplets (de 1 à 4) qui sont à récupérer depuis les données (4 multiplets, 32 bits) emmagasinées à une adresse particulière. Après l'arrivée sur le bus d'adresses du bus local de CPU 230, l'adresse sélectionnée est emmagasinée provisoirement dans la mémoire intermédiaire 240.L'adresse sélectionnée est alors transférée au bus d'adresses du bus local de système 25C et délivrée au circuit de commande de mémoire 340 et au multiplexeur d'adresses 350.
The processor 225 outputs the selected address where the first block of data is stored, to the data bus of the local bus of CPU 230. The selected address consists of 32 bits of address A0-A31 and 4 bits of conditioning of byte
(BEO-BE3) thus forming an address of 36 bits in total. The 4 byte conditioning bits BE0-BE3 are used to indicate the bytes (from 1 to 4) which are to be retrieved from the data (4 bytes, 32 bits) stored at a particular address. After the arrival on the address bus of the local bus of CPU 230, the selected address is temporarily stored in the intermediate memory 240. The selected address is then transferred to the address bus of the local system bus 25C and delivered. to the memory control circuit 340 and to the address multiplexer 350.

Le système 200 est agencé dans cette réalisation de façon que 9 bits de cette adresse sélectionnée de 36 bits correspondent à l'adresse de page ou adresse de rangée (adresse
RAS) 410 des données à accéder. C'est à dire que les bits A11-A19 correspondent à l'adresse RAS. L'adresse de page 410 est synchronisée pour commencer au début du premier cycle de mémoire comme indique à la figure 5B. Le multiplexeur d'adresses 350 extrait cette adresse de page de 9 bits 410 de l'adresse de 36 bits et délivre cette adresse de page de 9 bits 410 à la mémoire 370 par l'intermédiaire d'un bus MUX ADDR de 9 lignes (adresses multiplexées) qui connecte le multiplexeur d'adresses 350 à la mémoire 370.
The system 200 is arranged in this embodiment so that 9 bits of this selected address of 36 bits correspond to the page address or row address (address
RAS) 410 of the data to be accessed. That is, bits A11-A19 correspond to the RAS address. The page address 410 is synchronized to begin at the start of the first memory cycle as shown in Figure 5B. Address multiplexer 350 extracts this 9-bit page address 410 from the 36-bit address and delivers this 9-bit page address 410 to memory 370 via a 9-line MUX ADDR bus ( multiplexed addresses) which connects the address multiplexer 350 to memory 370.

Au début du premier cycle de mémoire, le signal RAS issu du circuit de commande de mémoire 340 est au niveau haut, ce qui correspond à un état déconditionné dans la convention logique négative utilisée à la figure 5B. Après l'apparition de l'adresse de page 410 sur le bus MUX ADDR 390, le circuit de commande de mémoire 340 (par l'intermédiaire du circuit de décodage RAS/CAS 345) passe RAS au niveau bas ou conditionné en 415 comme on le voit à la figure 5B. De cette manière, l'adresse de page a utiliser par la mémoire 370 pour accéder aux données spécifiées, est passée à la mémoire 370.  At the start of the first memory cycle, the RAS signal from the memory control circuit 340 is at the high level, which corresponds to a condition unconditioned in the negative logic convention used in FIG. 5B. After the appearance of the page address 410 on the MUX ADDR bus 390, the memory control circuit 340 (via the RAS / CAS 345 decoding circuit) switches RAS to low level or conditioned at 415 as see it in Figure 5B. In this way, the page address to be used by memory 370 to access the specified data is passed to memory 370.

Après que RAS ait été conditionné, le circuit de commande de mémoire 370, par 11 intermédiaire du multiplexeur d'adresses 350, extrait l'adresse de colonne de 9 bits 420 des données issues de l'adresse de 36 bits et délivre cette adresse de colonne de 9 bits 420 à la mémoire 370 par l'intermédiaire du bus MUX ADDR 390. C'est à dire que les bits A2-A11 correspondent à cette adresse de colonne ou adresse CAS. Comme on le voit sur le schéma de chronologie de la figure SE, après l'apparition de l'adresse de colonne 420 sur le bus MUX ADDR 390, le circuit de commande de mémoire 340 (par le circuit de décodage RAS/CAS 345) passe CAS au niveau bas ou conditionné en 425. De cette manière, l'adresse de colonne à utiliser par la mémoire 370 pour accéder aux données spécifiées, est délivrée à la mémoire 370.L'adresse de page et l'adresse de colonne des données sont ainsi multiplexées sur le même bus MUX ADDR de 9 lignes 390. Les bits restants A17-A31 sont utilisés par le décodeur RAS 345 pour indiquer lequel des modules 371-374 contient le premier bloc de données qui est en cours d'adressage. After RAS has been conditioned, the memory control circuit 370, through the address multiplexer 350, extracts the 9-bit column address 420 from the data from the 36-bit address and outputs this address from 9-bit column 420 to memory 370 via the MUX bus ADDR 390. This means that bits A2-A11 correspond to this column address or CAS address. As seen in the timeline diagram in Figure SE, after the appearance of the column address 420 on the MUX ADDR 390 bus, the memory control circuit 340 (by the RAS / CAS decoding circuit 345) goes CAS to the low level or conditioned at 425. In this way, the column address to be used by memory 370 to access the specified data, is delivered to memory 370. The page address and the column address of Data is thus multiplexed on the same 9 line 390 MUX ADDR bus 390. The remaining bits A17-A31 are used by the RAS 345 decoder to indicate which of the modules 371-374 contains the first block of data which is being addressed.

A cet instant, l'adresse de page 410 et l'adresse de colonne 420 spécifiant l'emplacement en mémoire des données sélectionnées, ont été passées à la mémoire 370. Après un temps de retard prédéterminé TCAS depuis l'instant où CAS a été conditionné ou passé au niveau bas, les données sur le bus de données de mémoire 400 deviennent valides en 430. Les données sont alors immédiatement verrouillées en 435 par des bascules de verrouillage bidirectionnelles (qui seront décrites plus en détails ultérieurement) contenues dans la mémoire intermédiaire de données 355. Après l'action d'emmagasinage temporaire et de verrouillage de la mémoire intermédiaire de données 355, les données verrouillées (le premier bloc de données sélectionné) sont délivrées en 437 au bus de données du bus local de système 250 pour transfert au processeur 225.  At this time, the page address 410 and the column address 420 specifying the memory location of the selected data have been passed to memory 370. After a predetermined delay time TCAS since the moment CAS was conditioned or passed to a low level, the data on the memory data bus 400 becomes valid at 430. The data is then immediately locked at 435 by bidirectional locking latches (which will be described in more detail later) contained in the intermediate memory 355. After the temporary storage and locking action of the intermediate data memory 355, the locked data (the first data block selected) is delivered at 437 to the data bus of the local system bus 250 for transfer. to processor 225.

A la suite du verrouillage des données en 435 pendant le déroulement du premier cycle de mémoire (cycle de mémoire courant) et avant le début du second cycle de mémoire (cycle de mémoire suivant), une précharge CAS est conduite en 440. Une fois que la précharge CAS est commencée en 140, les données sur le bus de données de mémoire 400 deviennent invalides en 442 après l'écoulement d'une période de temps prédéterminée depuis le commencement de la précharge CAS.Les circuits de verrouillage dans la mémoire intermédiaire de données 365 verrouillent les données avant qu'elles deviennent invalides, c'est à dire avant 442 sur le schéma chronologique du bus de données de mémoire de la figure 5B. Ces périodes de temps pendant lesquelles les données sur le bus de données de mémoire 400 sont invalides, sont indiquées par la partie hachurée de la figure SE. La fin de la précharge CAS définit la fin du premier cycle de mémoire. Following the locking of the data in 435 during the course of the first memory cycle (current memory cycle) and before the start of the second memory cycle (next memory cycle), a CAS preload is conducted at 440. Once CAS preload is started in 140, data on memory data bus 400 becomes invalid in 442 after the expiration of a predetermined period of time since the start of CAS preload. The latch circuits in the intermediate memory of data 365 locks the data before it becomes invalid, i.e. before 442 on the timeline of the memory data bus of Figure 5B. These periods of time during which the data on the memory data bus 400 are invalid, are indicated by the hatched part of FIG. SE. The end of CAS preload defines the end of the first memory cycle.

Le processeur 225 transmet l'adresse du second bloc dé données sélectionne au circuit de commande de mémoire 340 par le même chemin de données que celui sur lequel le premier bloc de données séle:ticnné a été transféré jusqu'au circuit de commande de mémoire 3fol0. Si le circuit de commande de mémoire 340 détermine que le second bloc de données selectionné à retirer de la mémoire 370 est dans la même page que le premier bloc de données sélectionné, comme on le voit alors sur le schéma chronologique de la figure 5B, pendant la précharge CAS en 440, l'adresse de colonne délivrée au bus MUX ADDR 390 est changée à l'adresse de colonne de ce second bloc de données en 445. Ce changement d'adresse de colonne se déroule avant la fin du premier cycle de mémoire. The processor 225 transmits the address of the second selected data block to the memory control circuit 340 by the same data path as that on which the first data block is connected: ticnne has been transferred to the memory control circuit 3fol0 . If the memory control circuit 340 determines that the second selected data block to be removed from memory 370 is on the same page as the first selected data block, as seen then in the time diagram of Figure 5B, during the CAS preload at 440, the column address delivered to the MUX ADDR 390 bus is changed to the column address of this second data block at 445. This change of column address takes place before the end of the first cycle of memory.

A la suite de ce changement d'adresse de colonne, la précharge CAS est terminée et CAS est conditionné, ce qui démarre ainsi le second cycle de mémoire en 450. L'adresse de colonne correspondant au second bloc de données sélectionné est ainsi délivrée à la mémoire 370. Après un temps de retard TCASJ les données correspondant à cette adresse de colonne et à l'adresse de page déjà prescrite, deviennent valides en 455 sur le bus de données de mémoire 400. Following this change of column address, the CAS preload is completed and CAS is conditioned, which thus starts the second memory cycle at 450. The column address corresponding to the second selected data block is thus delivered to memory 370. After a delay time TCASJ the data corresponding to this column address and to the page address already prescribed, become valid at 455 on the memory data bus 400.

Les données sont alors Immédiatement verrouillées en 460 par les bascules de verrouillage bidirectionnelles contenues dans la mémoire intermédiaire de données 355. Après le déroulement de l'action d'emmagasinage temporaire/verrouillage de la mémoire intermédiaire de données 355, les données verrouillées
(maintenant le second bloc de données sélectionné) sont délivrées en 465 au bus de données du bus local de système 250 pour transfert au processeur 225.
The data is then immediately locked at 460 by the bidirectional locking flip-flops contained in the intermediate data memory 355. After the temporary storage / locking action of the intermediate data memory 355 has taken place, the data locked
(now the second block of data selected) are delivered at 465 to the data bus of the local system bus 250 for transfer to the processor 225.

Comme on le décrira plus en détails ultérieurement lors de la discussion de la mémoire intermédiaire de données 355, lorsque le signal de commande de bascule de verrouillage de données de mémoire (LEAB0-3) est au niveau bas, la mémoire Intermédiaire 355 fonctionne en mode transparent ou de passage. As will be described in more detail later when discussing the intermediate data store 355, when the memory data lock toggle control signal (LEAB0-3) is low, the intermediate store 355 operates in mode transparent or passing.

Lorsque le signal de commande de bascule de verrouillage de données de mémoire est au niveau haut, la mémoire intermédiaire 355 emmagasine des données par action de la bascule de verrouillage.When the memory data latch flip-flop control signal is high, the intermediate memory 355 stores data by action of the latch latch.

On a décrit ci dessus l'accès en mémoire dans le cas où le second bloc de données sélectionné est dans la même page que le premier bloc de données sélectionné. Cependant, si le circuit de commande de mémoire 340 détermine que le second bloc de données sélectionné n'est pas# dans la même page que le premier bloc de données sélectionné, le procédé d'adressage de mémoire doit alors être repris entièrement au début du premier cycle de mémoire.C'est à dire qu'étant donné que l'adresse de rangée ou l'adresse de page n'est pas la même pour le second bloc de données que pour le premier bloc de données, la nouvelle adresse de rangée correspondant au second bloc de données doit être transmise à la mémoire 370, suivie par la nouvelle adresse de colonne d'une manière similaire à celle représentée au premier cycle de mémoire du schéma de chronologie de l'invention de la figure 5B. The memory access has been described above in the case where the second selected data block is on the same page as the first selected data block. However, if the memory control circuit 340 determines that the second selected data block is not # on the same page as the first selected data block, the memory addressing process must then be resumed entirely at the start of the first memory cycle, i.e. since the row address or page address is not the same for the second data block as for the first data block, the new address for row corresponding to the second block of data must be transmitted to the memory 370, followed by the new column address in a similar manner to that represented in the first memory cycle of the chronology diagram of the invention of FIG. 5B.

La figure 6 est un organigramme qui résume le procédé par lequel les accès en mémoire sont conduits dans le s#ystème 200. FIG. 6 is a flowchart which summarizes the process by which the accesses in memory are conducted in the system 200.

Un accès en mémoire commence lorsque le processeur 225 utilise l'enchaînement d'adresse pour délivrer en sortie une adresse courante où des données sont à récupérer comme au bloc 500 de l'organigramme. L'adresse courante est transférée au circuit de commande de mémoire 340 par la structure de bus dans le système 200 d'une manière décrite précédemment. L'adresse courante est décodée par le circuit de commande de mémoire 340 au bloc 505.A memory access begins when the processor 225 uses the address sequence to output a current address where data is to be recovered as in block 500 of the flowchart. The current address is transferred to the memory control circuit 340 by the bus structure in the system 200 in a manner previously described. The current address is decoded by the memory control circuit 340 at block 505.

C'est à dire qu'une adresse de page et une adresse de colonne sont extraites de l'adresse courante,
L'adresse de page est alors multiplexée sur le bus d'adresses MUX 390 au bloc 510, cet événement signifiant le début du cycle de mémoire courant au bloc 515. Le signal RAS est alors conditionné au bloc 520 de façon que la mémoire 370 sélectionne l'adresse de page qui lui est actuellement délivrée sur le bus d'adresses MUX 390. L'adresse de colonne est alors multiplexée sur le bus d'adresses MUX 390 au bloc 525. Le signal CAS est conditionné au bloc 530 de façon que la mémoire 370 sélectionne l'adresse de colonne qui lui est actuellement délivrée sur le bus d'adresses MUX 390. A cet instant, l'adresse des données désirées emmagasinées dans la mémoire 370 sont entièrement spécifiées et la mémoire 370 transfert les données à l'adresse spécifiée au bus de données de mémoire 390 au bloc 535.Les données sont verrouillées par les bascules de verrouillage bidirectionnelles dans la mémoire intermédiaire de données 355 au bloc 540 afin de préserver momentanément ces données. Après le verrouillage des données, les données sont transférées au bus de données local du système 250 au bloc 545.
That is, a page address and a column address are extracted from the current address,
The page address is then multiplexed on the address bus MUX 390 at block 510, this event signifying the start of the current memory cycle in block 515. The RAS signal is then conditioned at block 520 so that memory 370 selects the page address which is currently delivered to it on the address bus MUX 390. The column address is then multiplexed on the address bus MUX 390 at block 525. The CAS signal is conditioned at block 530 so that the memory 370 selects the column address which is currently delivered to it on the address bus MUX 390. At this instant, the address of the desired data stored in the memory 370 is fully specified and the memory 370 transfers the data to the address specified on the memory data bus 390 at block 535. The data is locked by the bi-directional latch latches in the intermediate data memory 355 at block 540 in order to temporarily preserve this data. After locking the data, the data is transferred to the local data bus of the system 250 at block 545.

Une précharge CAS est alors conduite comme par le bloc 550 avant la fin du cycle de mémoire courant. L'adresse suivante à accéder est alors décodée au bloc 555.A CAS preload is then carried out as by block 550 before the end of the current memory cycle. The next address to be accessed is then decoded at block 555.

Un test est exécuté au bloc de décision 560 pour déterminer si l'adresse suivante est située sur la même page que l'adresse précédente (l'adresse courante ci dessus). Si l'adresse suivante n'est pas dans la même page que l'adresse précédente, le procédé revient au bloc 510 de la figure 6 où l'adresse de page suivante est multiplexée sur le bus d'adresses MUX 390. A test is executed in decision block 560 to determine whether the next address is located on the same page as the previous address (the current address above). If the next address is not on the same page as the previous address, the method returns to block 510 of FIG. 6 where the next page address is multiplexed on the address bus MUX 390.

Cependant, si l'adresse suivante est située sur la même page que l'adresse précédente, le déroulement du procédé se poursuit alors au bloc 565 où l'adresse de colonne de l'adresse suivante est multiplexée sur le bus d'adresse MUX 390. Puis le cycle de mémoire suivant ou second cycle de mémoire est démarré au bloc 570 une fois que la précharge CAS est terminée. C'est à dire qu'au début du second cycle de mémoire, le signal CAS est conditionné au bloc 575 de façon que la mémoire 370 sélectionne l'adresse de colonne qui lui est actuellement délivrée sur le bus d'adresses MUX 390. A cet instant, l'adresse des données désirées emmagasinées dans la mémoire 370 est une fois encore entièrement spécifiée et la mémoire 370 transfert les données à l'adresse spécifiée au bus de données de mémoire 390, au bloc 580. Les données sont verrouillées par les bascules de verrouillage bidirectionnelles dans la mémoire intermédiaire de données 355 au bloc 585 pour préserver momentanément ces données. Après le verrouillage des données, les données sont transférées au bus de données local de système 250 au bloc 590.However, if the following address is located on the same page as the previous address, the process continues then at block 565 where the column address of the next address is multiplexed on the address bus MUX 390 Then the next memory cycle or second memory cycle is started in block 570 once the CAS preload is completed. This means that at the start of the second memory cycle, the signal CAS is conditioned at block 575 so that the memory 370 selects the column address which is currently supplied to it on the address bus MUX 390. A at this time, the address of the desired data stored in memory 370 is once again fully specified and memory 370 transfers the data to the specified address on the memory data bus 390, at block 580. The data is locked by the bidirectional locking flip-flops in the intermediate data memory 355 at block 585 to temporarily preserve this data. After locking the data, the data is transferred to the local system data bus 250 at block 590.

Une précharge CAS est alors conduite au bloc 595 avant la fin du cycle de mémoire courant. L'adresse suivante à accéder est alors décodée au bloc 600, après quoi le déroulement du procédé repasse au bloc de décision 560 où une décision est à nouveau prise pour déterminer si l'adresse suivante se trouve sur la même page que la dernière adresse. A CAS preload is then conducted to block 595 before the end of the current memory cycle. The next address to be accessed is then decoded at block 600, after which the progress of the process returns to decision block 560 where a decision is again taken to determine whether the next address is on the same page as the last address.

Une mémoire intermédiaire de données du type à verrouillage
à grande vitesse pouvant être utilisée comme mémoire
intermédiaire de données 355 est représentée à la figure 7 sous
forme schématique. Afin de simplifier l'illustration, la figure
7 montre l'un des quatre modules pratiquement identiques utilisés dans la mémoire intermédiaire de données 355 comme le module 610. Le module de mémoire intermédiaire 610 comprend un
port de 8 bits 615 qui est connecté aux lignes de données Do à
D7 du bus de données de mémoire 400. Le module de mémoire
intermédiaire 610 comprend un récepteur de données 620
référencé A REC qui est connecté au port 615 comme le montre la
figure.Le récepteur de données 620 est une mémoire
intermédiaire qui fait fonction d'interface entre
l'environnement du signal TTL de 0 à 5 volts présent sur le bus
de données de mémoire 400 et la caractéristique d'environnement
de O à approximativement 3 volts du travail interne du module
de mémoire intermédiaire 610. La sortie du récepteur 620 est
connectée à l'entrée d'une bascule de verrouillage de données
de 8 bits 625 qui verrouille des données qui lui sont
présentées lorsqu'elle est commandée pour cela par un signal de
commande de bascule de verrouillage de données de mémoire
approprié présenté à son entrée de commande 625A et référencé
LEABO (Conditionnement bascule verrouillage A à B). La bascule
de verrouillage 625 est une bascule de verrouillage
transparente.C'est à dire que la bascule 625 peut fonctionner
soit en mode transparent, soit en mode de verrouillage en
réponse a un signal de commande approprié à l'entrée de
commande 625A. Lorsque la bascule de verrouillage 625 est
commandée pour fonctionner en mode transparent, une entrée de
niveau bas provoque une sortie de niveau bas et une entrée de
niveau haut provoque une sortie de niveau haut. C'est à dire
qu'en mode transparent, les données de 8 bits présentées à
l'entrée de la bascule de verrouillage 625 s'écoulent par la
sortie de celle ci.Cependant, lorsque la bascule de
verrouillage 625 est commandée pour fonctionner en mode de
verrouillage par l'intermédiaire du signal de commande de
verrouillage à l'entrée 625A (LEABO) lorsqu'elle reçoit un signal d'entrée de 8 bits particulier, la sortie prend alors un état stable et reste dans cet état ou verrouillée jusqu'à ce qu'elle reçoive un signal de commande approprié à l'entrée de commande 625A.
Interlocking type data memory
high speed can be used as memory
data intermediary 355 is shown in Figure 7 under
schematic form. In order to simplify the illustration, the figure
7 shows one of the four practically identical modules used in the intermediate data memory 355 like the module 610. The intermediate memory module 610 comprises a
8-bit port 615 which is connected to data lines Do to
D7 of memory data bus 400. The memory module
610 intermediate includes a 620 data receiver
referenced A REC which is connected to port 615 as shown in the
figure.The data receiver 620 is a memory
intermediary which acts as an interface between
the environment of the TTL signal from 0 to 5 volts present on the bus
memory data 400 and the environment characteristic
from O to approximately 3 volts of internal module work
of intermediate memory 610. The output of receiver 620 is
connected to the input of a data lock toggle
8-bit 625 which locks data to it
presented when ordered for this by a signal from
memory data lock toggle command
appropriate presented to its 625A command input and referenced
LEABO (Locking rocker conditioning A to B). The seesaw
lock 625 is a lock toggle
i.e. the 625 scale can work
either in transparent mode or in lock mode in
response to an appropriate control signal at the input of
command 625A. When the latch lever 625 is
controlled to operate in transparent mode, an input of
low level causes a low level output and an input of
high level causes high level output. That is to say
that in transparent mode, the 8-bit data presented to
the input of the locking latch 625 flows through the
However, when the toggle
lock 625 is commanded to operate in
interlock via the control command signal
locked at input 625A (LEABO) when it receives a particular 8-bit input signal, the output then takes a stable state and remains in this state or locked until it receives an appropriate control signal at command input 625A.

On rappellera d'après la discussion précédente qu'immédiatement après que les données adressées soient devenues valides sur le bus de données de mémoire en 430 de la figure 5B, les données sont verrouillées comme en 435. Une commande de sortie 630 est connectée à la sortie de la bascule de verrouillage 625 comme le montre la figure 7. La commande 630 est référencée "B DRV" et fait fonction d'interface entre l'environnement interne de 0 à 3 volts de la mémoire intermédiaire de données 610 et l'environnement TTL externe de 0 à 5 volts présent à la sortie de la commande 630. La sortie de 8 bits de la commande 630 est connectée à un port 635 qui est connecté à des lignes de 8 bits référencées B0-B7 du bus de données du bus local de système 250.De cette manière, une fois que la bascule de verrouillage 625 a verrouillé les données qu'elle reçoit, le système peut continuer le traitement des données et les signaux sur le bus de données de mémoire 400 (DO'D7) sont libres de changer tandis que la bascule de verrouillage 625 retient les anciennes données pour une saisie ultérieure par le processeur 225 par l'intermédiaire du bus local de système 250. It will be recalled from the preceding discussion that immediately after the addressed data has become valid on the memory data bus at 430 of FIG. 5B, the data is locked as at 435. An output command 630 is connected to the output of the locking flip-flop 625 as shown in FIG. 7. The command 630 is referenced "B DRV" and acts as an interface between the internal environment of 0 to 3 volts of the intermediate data memory 610 and the environment External 0 to 5 volt TTL present at the output of the 630 command. The 8-bit output of the 630 command is connected to a port 635 which is connected to 8-bit lines referenced B0-B7 on the bus data bus system room 250. In this way, once the latch latch 625 has locked the data it receives, the system can continue processing data and signals on the memory data bus 400 (DO'D7) are free to change while the the latch flip-flop 625 retains the old data for later input by the processor 225 via the local system bus 250.

La commande 630 comprend une entrée de commande de porte de bus de données de mémoire 630A qui est référencée OEAB0. Command 630 includes a memory data bus gate control input 630A which is referenced OEAB0.

Lorsque le signal OEABO est conditionné, la commande 630 est excitée pour assurer le passage des données. Cependant, lorsque le signal OEABO est déconditionné, la commande 630 est déconditionnée. When the OEABO signal is conditioned, command 630 is energized to pass the data. However, when the signal OEABO is unconditioned, the command 630 is unconditioned.

La sortie de la bascule de verrouillage 625 est connectée à l'entrée d'un arbre de parité de 8 bits 640. Si les 8 entrées de l'arbre de parité 640 présentent un nombre pair de "1", l'arbre de parité 640 génère alors une sortie d'un seul bit qui est un "1" (niveau haut) pour maintenir la parité impaire. The output of latch flip-flop 625 is connected to the input of an 8-bit parity tree 640. If the 8 inputs of the parity tree 640 have an even number of "1", the parity tree 640 then generates a single bit output which is a "1" (high level) to maintain the odd parity.

Cependant, si les 8 entrées de l'arbre de parité 640 présentent un nombre impair de "1", l'arbre de parité 640 génère alors une sortie d'un seul bit qui est un "0" (niveau bas) pour maintenir la parité impaire.However, if the 8 inputs of the parity tree 640 have an odd number of "1", the parity tree 640 then generates a single bit output which is a "0" (low level) to maintain the odd parity.

La mémoire intermédiaire 610 comprend un récepteur GEN/CK 645 dont une entrée est référencée GEN/CK0 comme illustré à la figure 7. Le récepteur GEN/CK 645 est une interface qui convertit des signaux TTL de 0-5 volts à son entrée en signaux de 0-3 volts à sa sortie. La valeur de GEN/CK0 dépend du type de cycle particulier que le processeur 225 désire suivre ensuite. C'est à dire que le signal d'entrée GEN/CK0 (voir la figure 5B) présente une valeur de 1 (niveau haut) lorsque le cycle d'écriture de mémoire est à conduire et présente une valeur de 0 (niveau bas) lorsqu'un cycle de lecture de mémoire est à conduire. Pour cet exemple, on suppose que le signal GEN/CEC a une valeur de 0 indiquant qu'un cycle de lecture est à conduire depuis la mémoire. C'est à dire que les informations de données et de parité correspondantes ont déjà été emmagasinées dans la mémoire 370 et que maintenant on souhaite accéder à ces données. Dans le cas de cet exemple, on suppose qu'un mot de 32 bits composé de quatre multiplets de 8 bits est à retirer de la mémoire 370. On suppose que quatre bits de parité sont emmagasinés avec ce mot de 32 bits, c'est à dire qu'un bit de parité est associé à chaque multiplet du mot de 32 bits. On notera que la mémoire intermédiaire de données 610 de la figure 7 est capable de manipuler un multiplet (E bits) et un bit de parité de ce mot de 32 bits. Les 3 multiplets et les 3 bits de parité restants de ce mot de 32 bits sont traités par trois autres mémoires intermédiaires de données similaires à la mémoire intermédiaire de données 610 représentée à la figure 8. Intermediate memory 610 includes a GEN / CK 645 receiver, an input of which is referenced GEN / CK0 as illustrated in FIG. 7. The GEN / CK 645 receiver is an interface which converts TTL signals from 0-5 volts at its input into signals 0-3 volts at its output. The value of GEN / CK0 depends on the particular type of cycle that the processor 225 then wishes to follow. That is, the GEN / CK0 input signal (see Figure 5B) has a value of 1 (high level) when the memory write cycle is to be conducted and has a value of 0 (low level) when a memory read cycle is to be carried out. For this example, it is assumed that the GEN / CEC signal has a value of 0 indicating that a read cycle is to be carried out from the memory. That is to say that the corresponding data and parity information have already been stored in memory 370 and that we now want to access this data. In the case of this example, it is assumed that a 32-bit word composed of four 8-bit bytes is to be removed from memory 370. It is assumed that four parity bits are stored with this 32-bit word, this is that is, a parity bit is associated with each byte of the 32-bit word. It will be noted that the intermediate data memory 610 in FIG. 7 is capable of handling a byte (E bits) and a parity bit of this 32-bit word. The remaining 3 bytes and 3 parity bits of this 32-bit word are processed by three other intermediate data memories similar to the intermediate data memory 610 represented in FIG. 8.

La sortie du récepteur GEN/CK 645 est connectée à l'entrée de commande 650A de la commande de parité 650. La sortie de l'arbre de parité 640 est connectée à l'entrée 650B de la commande de parité 650 et à une entrée d'une porte OU exclusif à deux entrées 655. La sortie de commande de parité 650B est connectée à la ligne de parité P0 de la partie bus de parité du bus de données de mémoire 400. On rappellera que le bus de données de mémoire de 36 bits 400 comprend les lignes D0-D31 pour le mot de 32 bits emmagasiné et 4 lignes de parité P0-P3 correspondant à chacun des 4 bits de parité associés aux 4 multiplets qui constituent le mot de 32 bits emmagasiné.Outre le fait d'être connectée à la sortie de commande de parité 650C, la ligne de parité P0 est connectée par l'intermédiaire d'un récepteur de parité 660 à l'entrée restante de la porte OU exclusif 655. La sortie du récepteur GEN/CK 645 est connectée à une entrée de commande 655A de la porte OU exclusif 655. L'état logique du signal délivré à l'entrée de commande 655A détermine si la porte OU exclusif 655 est conditionnée pour permettre le passage de signaux ou si elle est déconditionnée pour ne pas permettre le passage de signaux à la sortie de la porte OU exclusif 655. La sortie de la porte OU exclusif 655 est référencée Eo (erreur) et connectée à une commande d'erreur 665. La sortie de la commande d'erreur 665 est connectée à un terminal d'erreur 670 qui est référencé E.La commande d'erreur 665 ne fait pas partie de la mémoire intermédiaire 610 et sera décrite ultérieurement. The output of the GEN / CK 645 receiver is connected to the control input 650A of the parity controller 650. The output of the parity shaft 640 is connected to the input 650B of the parity controller 650 and to an input of an exclusive OR gate with two inputs 655. The parity command output 650B is connected to the parity line P0 of the parity bus part of the memory data bus 400. It will be recalled that the memory data bus of 36 bits 400 includes lines D0-D31 for the stored 32-bit word and 4 parity lines P0-P3 corresponding to each of the 4 parity bits associated with the 4 bytes that make up the stored 32-bit word. be connected to the parity command output 650C, the parity line P0 is connected via a parity receiver 660 to the remaining input of the exclusive OR gate 655. The output of the GEN / CK 645 receiver is connected to a control input 655A of the exclusive OR gate 655. The logic state of the signal d supplied to the command input 655A determines whether the exclusive OR gate 655 is conditioned to allow the passage of signals or whether it is unconditioned to not allow the passage of signals at the output of the exclusive OR gate 655. The output of the exclusive OR gate 655 is referenced Eo (error) and connected to an error command 665. The output of error command 665 is connected to an error terminal 670 which is referenced E. The error command 665 does not is not part of the intermediate memory 610 and will be described later.

Un générateur/vérificateur d'erreur de parité 680 est composé de l'arbre de parité 640, du récepteur GEN/CK 645, de la commande de parité 650, du récepteur de parité 660, de la porte OU exclusif 655 et de la commande d'erreur 655. Comme on le verra ultérieurement, le générateur/vérificateur de parité 680 fonctionne dans deux modes, c'est à dire un mode de génération de parité lorsque les données sont écrites à la mémoire et un mode de vérification de parité lorsque des données sont retirées de la mémoire 370 ou accédées dans celle ci. Etant donné que la présente invention implique l'accès à des données emmagasinées dans la mémoire 370, le mode de vérification de parité du générateur/vérificateur de parité 680 va maintenant être décrit.Lorsque l'entrée GEN/CK0 du récepteur GEN/CK 645 est au niveau bas (0), le circuit de générateur/vérificateur 680 entre le mode de vérification de parité. Par contre, lorsque l'entrée GENCK0 est au niveau haut (1), le circuit de générateur/vérificateur 680 entre le mode de génération de parité. Pour revenir à la discussion du mode de vérification de parité, lorsque le récepteur 645 reçoit un signal GEN/CK0 de 0 depuis l'environnement (TTL) extérieur, le récepteur 645 fait fonction d'interface pour ce signal à sa sortie qui, comme on l'a déjà indiqué, est une sortie de 0 à approximativement 3 volts.La sortie du récepteur 645 est connectée > l'entrée de commande 650A de la commande de parité 65C de façon que le 0 logique ou niveau bas apparaissant maintenant à l'entrée de commande 650A provoque la coupure de la commande de parité 650 pour que le signal à la sortie de l'arbre de parité 640 ne soit pas passée à la ligne de bus de parité PO du bus de données de mémoire 400. On rappellera d'après la discussion précédente que la fonction du circuit de générateur/vérificateur 680 en mode de vérification, est de comparer en effet le bit de parité emmagasiné P0 associé à un multiplet de données particulier (DO'D7) à la parité réelle P0, présentée par le même multiplet après qu'il ait été retiré de la mémoire 370.Si l'accès en mémoire a été réussi, la parité avant l'accès P0 doit être la même que la parité après l'accès P1
0
Lorsque le multiplet D,-D7 est retiré de la mémoire 370, il est reçu par le récepteur 620 et verrouillé par la bascule de verrouillage 625. (Le multiplet particulier retiré sur les lignes DO'D7 est appelé ci après le multiplet 0). Les 8 bits du multiplet 0 sont ainsi verrouillés à la sortie de la bascule de verrouillage 625 de façon que le système de calcul soit libre de poursuivre en avant et de changer les valeurs des signaux sur les lignes DO'D7 du bus de données de mémoire 400.Lorsque la bascule de verrouillage 625 fonctionne en mode de verrouillage, le multiplet 0 est délivré à l'arbre de parité à 8 bits 640 qui dérive un bit de parité P0' pour ce multiplet accédé à l'instant. P0, est ainsi la parité réelle présentée par le multiplet 0 après sont retrait de la mémoire 370. Le bit de parité P0, est délivré à une entrée de la porte OU exclusif à deux entrées 655. On rappellera que l'entrée restante de la porte OU exclusif 655 est connectée par l'intermédiaire du récepteur de parité 660 à la ligne de parité P0 du bus de données de mémoire 400. De cette manière, lorsque le multiplet 0 est récupéré de la mémoire 370, le bit de parité Po correspondant à ce multiplet 0, est délivré à l'entrée restante de la porte OU exclusif 655.Si le bit de parité P0 avant l'accès est le même que le bit de parité P0 après l'accès en mémoire, c'cst à dire les deux des 1 ou les deux des 0, la porte OU exclusif 655 génère alors un 0 à sa sortie indiquant qu'il n'y a pas eu d'erreur pendant le retrait du multiplet de données, le multiplet 0, de la mémoire. Cependant, si le bit de parité PO avant l'accès en mémoire n'est pas le même que le bit de parité PO prime après l'accès, la porte OU exclusif 655 génère un 1 à sa sortie indiquant qu'une erreur s'est produite au retrait du multiplet 0 de la mémoire 370. Le bit de sortie d'erreur à la sortie de la porte OU exclusif 655 est m#is en interface par l'intermédiaire de la commande 665 avec la fonction OU négatif logique au port de sortie d'erreur 670 qui est référencé E. On notera que lorsque le circuit de générateur/vérificateur 680 est en mode de vérification de parité, le signal GENCK0 apparaissant à la sortie du récepteur
GEN/CK 645 est au niveau bas ou 0, ce qui conditionne la porte
OU exclusive 655. Par contre, lorsque le circuit de générateur/vérificateur 680 fonctionne en mode de génération de parité, le signal GEN/CK0 est au niveau haut, ce qui déconditionne la porte OUT exclusif 655. Le système de calcul échantillonne régulièrement la sortie E 670 à la fin de chaque cycle de mémoire pour déterminer si une erreur s'est produite.
A parity error generator / verifier 680 is composed of the parity tree 640, the GEN / CK receiver 645, the parity command 650, the parity receiver 660, the exclusive OR gate 655 and the command 655 error code. As will be seen later, the parity generator / verifier 680 operates in two modes, that is to say a parity generation mode when the data is written to the memory and a parity verification mode when data is removed from or accessed from memory 370. Since the present invention involves access to data stored in memory 370, the parity check mode of the parity generator / checker 680 will now be described. When the GEN / CK0 input of the GEN / CK 645 receiver is at low level (0), the generator / checker circuit 680 enters the parity check mode. On the other hand, when the GENCK0 input is at the high level (1), the generator / verifier circuit 680 enters the parity generation mode. To return to the discussion of the parity check mode, when the receiver 645 receives a GEN / CK0 signal of 0 from the outside environment (TTL), the receiver 645 acts as an interface for this signal at its output which, like as already indicated, is an output from 0 to approximately 3 volts. The output of receiver 645 is connected> the command input 650A of the parity command 65C so that the logic 0 or low level now appearing at l the command input 650A causes the parity command 650 to be cut off so that the signal at the output of the parity tree 640 is not passed to the parity bus line PO of the memory data bus 400. It will be recalled according to the preceding discussion that the function of the generator / verifier circuit 680 in verification mode, is to compare in effect the stored parity bit P0 associated with a particular data byte (DO'D7) with the real parity P0, presented by the same multiplet after it has been tee removed from memory 370. If memory access was successful, the parity before access P0 must be the same as parity after access P1
0
When the byte D, -D7 is removed from the memory 370, it is received by the receiver 620 and locked by the latch flip-flop 625. (The particular byte removed on the lines DO'D7 is called here after the byte 0). The 8 bits of byte 0 are thus locked at the output of latch flip-flop 625 so that the calculation system is free to continue forward and to change the values of the signals on the lines DO'D7 of the memory data bus 400. When the locking flip-flop 625 operates in locking mode, the byte 0 is delivered to the 8-bit parity tree 640 which derives a parity bit P0 'for this byte accessed at the moment. P0, is thus the real parity presented by the byte 0 after are removed from memory 370. The parity bit P0, is delivered to an entry of the exclusive OR gate with two entries 655. It will be recalled that the remaining entry of the exclusive OR gate 655 is connected via the parity receiver 660 to the parity line P0 of the memory data bus 400. In this way, when the byte 0 is retrieved from the memory 370, the corresponding parity bit Po at this byte 0, is delivered to the remaining input of exclusive OR gate 655. If the parity bit P0 before access is the same as the parity bit P0 after access to memory, that is to say both of the 1 or both of the 0, the exclusive OR gate 655 then generates a 0 on its output indicating that there was no error during the removal of the byte of data, the byte 0, from the memory . However, if the parity bit PO before access into memory is not the same as the parity bit PO takes precedence after access, the exclusive OR gate 655 generates a 1 at its output indicating that an error has occurred. is produced when the byte 0 is removed from memory 370. The error output bit at the output of exclusive OR gate 655 is m # is interfaced via command 665 with the logic negative OR function at the port error output 670 which is referenced E. It will be noted that when the generator / verifier circuit 680 is in parity checking mode, the signal GENCK0 appearing at the output of the receiver
GEN / CK 645 is at low level or 0, which conditions the door
OR exclusive 655. On the other hand, when the generator / verifier circuit 680 operates in parity generation mode, the GEN / CK0 signal is at high level, which decondition the exclusive OUT gate 655. The calculation system regularly samples the output E 670 at the end of each memory cycle to determine if an error has occurred.

Comme indiqué ci dessus, la mémoire intermédiaire/bascule de verrouillage de données 610 fonctionne aussi dans le sens opposé à celui décrit ci dessus. C'est à dire que lorsque le système de calcul effectue une écriture en mémoire d'un mot de 32 bits particulier comprenant le multiplet 0, le multiplet 1, le multiplet 2 et le multiplet 3, le multiplet 0 de ce mot est transféré du bus local de système 250 au travers de la mémoire intermédiaire 610, au bus de données de mémoire 400. D'une manière plus détaillée, le système délivre le multiplet 0 au port 635 référencé B0-B7. Le port 635 est connecté par l'intermédiaire d'un récepteur 675 à une bascule de verrouillage de 8 bits 680 comme le montre la figure 7. Le récepteur 675 et la bascule de verrouillage 680 sont pratiquement identiques au récepteur 620 et à la bascule de verrouillage 625, respectivement.La bascule de verrouillage 680 comprend une entrée de commande de bascule de verrouillage de données de mémoire référencée LEBA0 qui, lorsqu'elle est passée au niveau haut ou à 1, provoque le verrouillage des données de 8 bits délivrées à la bascule de verrouillage 680. As indicated above, the data lock intermediate memory / flip-flop 610 also operates in the opposite direction to that described above. That is, when the calculation system writes to memory a particular 32-bit word including byte 0, byte 1, byte 2 and byte 3, byte 0 of this word is transferred from system local bus 250 through the intermediate memory 610, to the memory data bus 400. In a more detailed manner, the system delivers the byte 0 to port 635 referenced B0-B7. Port 635 is connected via a receiver 675 to an 8-bit latch flip-flop 680 as shown in Figure 7. The receiver 675 and latch flip-flop 680 are virtually identical to receiver 620 and toggle latch. Lock 625, respectively. Lock latch 680 includes a memory data latch control input referenced LEBA0 which, when set high or 1, causes the 8-bit data delivered to the latch to be locked. locking latch 680.

La sortie de la bascule de verrouillage 680 est connectée par l'intermédiaire d'une commande 685 aux lignes de données Do D7 du bus de données de mémoire 400. La commande 685 est pratiquement identique à la commande 630 déjà décrite. La commande 685 comprend une entrée de commande de porte de bus de données de mémoire OEBA0 (sortie conditionnement B à A) qui, lorsqu'elle reçoit un 0 logique ou un signal au niveau bas, conditionne la commande 685 pour permettre le passage des données. Pour résumer le fonctionnement du récepteur 675, de la bascule de verrouillage 680 et de la commande 685 dans le mode d'écriture en mémoire, lorsque le multiplet 0 est délivré au port 635, le récepteur 675 passe les 8 bits du multiplet 0 à la bascule de verrouillage 680.Le signal de commande de bascule de verrouillage de données de mémoire LEBA0 (conditionnement bascule verrouillage B à A) indique alors à la bascule 680 que les données sont à verrouiller à la sortie de la bascule de verrouillage 680, ce qui permet ainsi au système de calcul de poursuivre en avant et de changer les valeurs des signaux sur les lignes de données B0-B7 au port 635 du bus de données local de système 250. Le signal de commande de porte de bus de données de mémoire OEBA0 délivré à la commande 685 passe au niveau bas pour conditionner la commande 685, ce qui permet ainsi aux 8 bits du multiplet 0 verrouillés à la sortie de la bascule 680 de passer au travers des lignes de données DO'D7 du bus de données de mémoire 400.Les signaux OEBAO-3 sont les miroirs du signal de conditionnement d'écriture (WE) que l'unité de commande de mémoire 340 délivre à la mémoire 370. Le signal WE est au niveau haut pour les cycles de lecture et au niveau bas pour les cycles d'écriture.The output of the latch flip-flop 680 is connected via a command 685 to the data lines Do D7 of the memory data bus 400. The command 685 is practically identical to the command 630 already described. Command 685 includes a memory data bus door control input OEBA0 (conditioning output B to A) which, when it receives a logic 0 or a low signal, conditions command 685 to allow the passage of data . To summarize the operation of the receiver 675, the latch flip-flop 680 and the command 685 in the memory write mode, when the byte 0 is delivered to port 635, the receiver 675 passes the 8 bits of the byte 0 to the Locking flip-flop 680. The memory data latching control signal LEBA0 (conditioning latching rocker B to A) then indicates to latch 680 that the data is to be locked at the output of latching rocker 680, which thus allows the computation system to continue forward and change the values of the signals on the data lines B0-B7 at port 635 of the local system data bus 250. The memory data bus door control signal OEBA0 delivered to command 685 goes low to condition command 685, which thus allows the 8 bits of byte 0 locked at the output of flip-flop 680 to pass through the data lines DO'D7 of the data bus 400. The OEBAO-3 signals are the mirrors of the write conditioning signal (WE) which the memory control unit 340 delivers to memory 370. The signal WE is at the high level for the read cycles and at low level for write cycles.

Ce qui précède est une description de la partie de la mémoire intermédiaire de données 355 qui est attribuée à la manipulation de 1 multiplet, BO, d'un mot de 4 multiplets (32 bits) emmagasiné dans et récupéré de la mémoire 370. Pour manipuler les 3 multiplets restants, le multiplet 1, le multiplet 2 et le multiplet 3 de ce mot de 32 bits, la bascule de verrouillage/mémoire intermédiaire de données 610 est répétée quatre fois comme on le voit à la figure 9. Par simplification, ces 4 mémoires intermédiaires de données 610 sont considérées comme les mémoires intermédiaires de données 610-0, 610-1, 610-2 et 610-3 pour indiquer aisément qu'elles manipulent les parties du multiplet 0, du multiplet 1, du multiplet 2 et du multiplet 3 du mots de 32 bits indiqué ci dessus à récupérer de ou à écrire dans la mémoire 370. The above is a description of the part of the intermediate data memory 355 which is attributed to the manipulation of 1 byte, BO, of a word of 4 bytes (32 bits) stored in and retrieved from memory 370. To manipulate the 3 remaining bytes, the byte 1, the byte 2 and the byte 3 of this 32-bit word, the latch / intermediate data memory toggle 610 is repeated four times as seen in Figure 9. For simplification, these 4 intermediate data memories 610 are considered as intermediate data memories 610-0, 610-1, 610-2 and 610-3 to indicate easily that they handle the parts of byte 0, byte 1, byte 2 and byte 3 of the 32-bit word indicated above to be retrieved from or written to memory 370.

La figure 9 est une représentation schSmatique simplifiée de la mémoire intermédiaire de données 355 qui comprend quatre mémoires intermédiaires/ bascules de verrouillage de données
610, à savoir les mémoires intermédiaires de données 610-0, 610-1, 610-2 et 610-3 pour traiter le multiplet 0, le multiplet 1, le multiplet 2 et le multiplet 3, respectivement, d'un mot de 32 bits. Par commodité, sur la figure 8, le récepteur 620 et la commande 685, les bascules de verrouillage 625 et 680, et la commande 630 et le récepteur 675 ont été appairés dans les boites respectives de la figure 8. On rappellera que la mémoire intermédiaire de données 355 est située entre le bus de données du bus local de système 250 et le bus de données de mémoire 400.Plus précisément, les lignes de données DO'D31 de la mémoire intermédiaire 355 sont connectées aux lignes de données DG-D31 du bus de données de mémoire 400. Les lignes de données B0-B31 de la mémoire intermédiaire 355 sont connectées aux lignes de données B0-B31 du bus de données du bus local de système 250.
FIG. 9 is a simplified diagrammatic representation of the intermediate data memory 355 which comprises four intermediate memories / flip-flops for locking data
610, namely the intermediate data memories 610-0, 610-1, 610-2 and 610-3 for processing the byte 0, the byte 1, the byte 2 and the byte 3, respectively, of a word of 32 bits. For convenience, in FIG. 8, the receiver 620 and the control 685, the latch latches 625 and 680, and the control 630 and the receiver 675 have been paired in the respective boxes of FIG. 8. It will be recalled that the intermediate memory 355 is located between the data bus of the local system bus 250 and the memory data bus 400. More specifically, the data lines DO'D31 of the intermediate memory 355 are connected to the data lines DG-D31 of the memory data bus 400. The data lines B0-B31 of the intermediate memory 355 are connected to the data lines B0-B31 of the data bus of the local system bus 250.

Que ce soit une opération de lecture ou d'écriture qui est conduite pour un mot de 32 bits par l'intermédiaire de la mémoire intermédiaire 355, les mémoires intermédiaires/bascules de verrouillage 610-0, 610-1, 610-2 et 610-3 fonctionnent sur le multiplet 0, e multiplet 1, le multiplet 2 et le multiplet 3, respectivement, de ce mot de 32 bits. La mémoire intermédiaire de données 355 comprend 4 entrées/sorties à bit de parité PO, P1, P2 et P3 correspondant à la parité générée ou accédée du multiplet 0, du multiplet 1, du multiplet 2 et du multiplet 3, respectivement. Les lignes de parité P0, P1, P2 et
P3 de la mémoire intermédiaire de données 355 sont connectées aux lignes de parité P0, P1, P2 et P3 du bus de données de mémoire à 36 lignes 400.On rappellera que le bus de données de mémoire 400 comprend les lignes de données D0-D31 et les lignes de parité P0-P3. Ainsi, lorsqu'un mot de 32 bits particulier est écrit en mémoire, les arbres de parité respectifs 640 des mémoires intermédiaires de dons 610 0-3 déterminent la parité associée à chacun des quatre multiplets, multiplet 0-multiplet 3 du mots de données de 32 bits et délivrent les quatre bits de parité déterminés aux lignes de parité P0-P3 pour emmagasinage en mémoire 370. Lorsqu'une opération de retrait est effectuée pour retirer un mot de 32 bits de la mémoire 370, les 4 bits de parité P0-P3 associés à ce mot de données sont retirés et délivrés aux lignes de parité
P0-P3 de la mémoire intermédiaire de données 355.
Whether a read or write operation is carried out for a 32-bit word via the intermediate memory 355, the intermediate memories / latching latches 610-0, 610-1, 610-2 and 610 -3 operate on byte 0, e byte 1, byte 2 and byte 3, respectively, of this 32-bit word. The intermediate data memory 355 includes 4 parity bit inputs / outputs PO, P1, P2 and P3 corresponding to the generated or accessed parity of the byte 0, the byte 1, the byte 2 and the byte 3, respectively. The parity lines P0, P1, P2 and
P3 of the intermediate data memory 355 are connected to the parity lines P0, P1, P2 and P3 of the memory data bus with 36 lines 400. It will be recalled that the memory data bus 400 includes the data lines D0-D31 and the parity lines P0-P3. Thus, when a particular 32-bit word is written to memory, the respective parity trees 640 of the intermediate donation memories 610 0-3 determine the parity associated with each of the four bytes, byte 0-byte 3 of the data words of 32 bits and deliver the four parity bits determined to the parity lines P0-P3 for storage in memory 370. When a withdrawal operation is carried out to remove a 32-bit word from memory 370, the 4 parity bits P0- P3 associated with this data word are removed and delivered to the parity lines
P0-P3 of the intermediate data memory 355.

Les lignes GEN/CK0, GEN/CK1, GEN/CK2 et GEN/CK3 de la mémoire intermédiaire de données 355 sont connectées aux lignes de commande GENCK0-GENCK3 correspondantes (non représentées) incluses dans le circuit de commande de mémoire 340. Le circuit de commande de mémoire 340 génère un signal
GEN/CK comme le signal GEN/CK0 représenté à la figure 5B et délivre celui ci aux entrées GENCK0-GENCK3 de la mémoire intermédiaire 355 pour indiquer à la mémoire intermédiaire 355 si l'opération conduite est une opération de lecture ou d'écriture. Si c'est une opération d'écriture qui est conduite, les signaux GENCK0-GENCK3 appropriés sont générés pour commander aux mémoires intermédiaires respectives 610-1 à 610-3 la génération des bits de parité respectifs correspondant aux 4 multiplets du mot de 32 bits en cours d'écriture dans la mémoire 370.Cependant, si une opération de lecture est conduite, le circuit de commande de mémoire 340 génère des signaux de commande appropriés GENCK0-GENCK3 pour commander aux mémoires intermédiaires respectives 610-1 à 610-3 l'exécution du mode de vérification de parité comme déjà indiqué lors de la description de la figure 7. C'est à dire qu'après le retrait des 4 multiplets et de leurs 4 bits de parité PO'P3 de la mémoire 370, les arbres de parité 640 déterminent la parité P0 '-P3, des 4 multiplets après retrait, respectivement. Si l'un quelconque des anciens bits de parité P0-P3 ne correspond pas aux nouveaux bitS de parité Po'~P3' un signal d'erreur est alors généré sur la ligne d'erreur correspondante E0-E3 décrite à la figure 9 aux entrées de la commande d'erreur 665. La commande d'erreur 665 assure une fonction logique OU négatif.
The lines GEN / CK0, GEN / CK1, GEN / CK2 and GEN / CK3 of the intermediate data memory 355 are connected to the corresponding control lines GENCK0-GENCK3 (not shown) included in the memory control circuit 340. The circuit memory command 340 generates a signal
GEN / CK like the signal GEN / CK0 represented in FIG. 5B and delivers this one to the inputs GENCK0-GENCK3 of the intermediate memory 355 to indicate to the intermediate memory 355 if the operation carried out is a read or write operation. If a write operation is carried out, the appropriate GENCK0-GENCK3 signals are generated to command the respective intermediate memories 610-1 to 610-3 to generate the respective parity bits corresponding to the 4 bytes of the 32-bit word being written to memory 370. However, if a read operation is carried out, the memory control circuit 340 generates appropriate control signals GENCK0-GENCK3 to control the respective intermediate memories 610-1 to 610-3 l execution of the parity check mode as already indicated during the description of FIG. 7. That is to say that after the removal of the 4 bytes and their 4 parity bits PO'P3 from the memory 370, the trees of parity 640 determine the parity P0 '-P3, of the 4 bytes after removal, respectively. If any of the old parity bits P0-P3 does not correspond to the new parity bitS Po '~ P3' an error signal is then generated on the corresponding error line E0-E3 described in FIG. inputs of error command 665. Error command 665 provides a logic OR negative function.

Si l'une quelconque des lignes d'erreur E0, El, E2 et E3 reçoit un signal d'erreur, la sortie de la commande d'erreur 665 génère alors aussi ce signal d'erreur. On notera que la commande d'erreur 665 fait fonction d'interface entre l'environnement à faible déviation de tension interne à la mémoire intermédiaire 355 et l'environnement TTL externe présenté au terminal d'erreur 670 référencé E.If any of the error lines E0, E1, E2 and E3 receives an error signal, the output of error command 665 then also generates this error signal. It will be noted that the error command 665 acts as an interface between the environment with low voltage deviation internal to the intermediate memory 355 and the external TTL environment presented to the error terminal 670 referenced E.

La figure 9 est une représentation des entrées/sorties de données de la mémoire intermédiaire 355, qui montre les diverses entrées et sorties de la mémoire intermédiaire 355 que l'on a déjà décrite. FIG. 9 is a representation of the data inputs / outputs of the intermediate memory 355, which shows the various inputs and outputs of the intermediate memory 355 which has already been described.

La table i est indiquée ci après pour résumer les différents états dans lesquels la mémoire intermédiaire de données 355 peut fonctionner.  Table i is indicated below to summarize the different states in which the intermediate data memory 355 can operate.

TABLE 1 0-3 OEBA LEBA LEBA 0-3 0-3 0-3 0-3 A-B B-A
0 X 0 X 1 X 1 Mode transparent
0 X 1 X 2 X 2 Données
verrouillées
1 X 0 X 3 X 3 Sortie
déconditionnée
1 X 1 X 4 X 4 Sortie
déconditionnée
Données
verrouillées
X O X O X 1
X 0 X 1 X 2
X 1 X 1 X 4
La table 2 est incluse ici pour résumer les différents états que prend la mémoire intermédiaire 355 en réponse aux différents signaux GEN/CK.
TABLE 1 0-3 OEBA LEBA LEBA 0-3 0-3 0-3 0-3 AB BA
0 X 0 X 1 X 1 Transparent mode
0 X 1 X 2 X 2 Data
locked
1 X 0 X 3 X 3 Output
deconditioned
1 X 1 X 4 X 4 Output
deconditioned
Data
locked
XOXOX 1
X 0 X 1 X 2
X 1 X 1 X 4
Table 2 is included here to summarize the different states that the intermediate memory 355 takes in response to the different GEN / CK signals.

TABLE 2
GEN/CKx Px
0 Entrée mode vérification Px comparée au bit
de parité généré intérieurement pour les 8
entrées "A" correspondantes. Une
non-correspondance passe la ligne d'erreur
au niveau bas.
TABLE 2
GEN / CKx Px
0 Px check mode input compared to bit
internally generated parity for the 8
corresponding "A" entries. A
mismatch passes error line
at the low level.

1 Le bit de parité mode génération est
conduit en sortie de la manière suivante
1 Si nombre pair de 1 sur entrées
A correspondantes
O Si nombre impair de 1
Nota : Sortie erreur = "1" si
GEN:CK 0-3 = 1.
1 The generation mode parity bit is
leads out as follows
1 If even number of 1 on inputs
A corresponding
O If odd number of 1
Note: Error output = "1" if
GEN: CK 0-3 = 1.

Les bornes OEAE0-3 et GEN/CK0-3 sur la mémoire intermédiaire de données 355 sont connectées ensemble et ainsi les signaux
OEAB (commande porte bus données mémoire) sont le miroir ou suivent les signaux GEN/CK comme on le voit à la figure 5B.
The terminals OEAE0-3 and GEN / CK0-3 on the intermediate data memory 355 are connected together and thus the signals
OEAB (memory data bus control) are the mirror or follow the GEN / CK signals as seen in FIG. 5B.

Bien que l'on ait décrit ci dessus un système de calcul présentant des temps d'accès en mémoire réduits, une méthode pour accéder en mémoire dans un tel système de calcul est aussi décrite et résumée ci dessous. Cette méthode est utilisée dans un système de calcul comprenant une mémoires à pages ayant un bus d'adresses et un bus de données qui lui sont connectés et présente en outre des premier, second, etc... cycles de mémoire associés. On présente plus particulièrement une méthode de lecture d'informations emmagasinées dans ladite mémoire qui comprend les étapes d'application à la mémoire d'un signal d'adresse correspondant à l'emplacement de données à accéder dans la mémoire.La méthode comprend les étapes d'application à la mémoire d'un signal de découpage d'adresse de rangée (RAS) pendant le premier cycle de mémoire et d'application d'un signal de découpage d'adresse de colonne (CAS) à la mémoire pendant le premier cycle de mémoire et à la suite du signal
RAS. La méthode comprend le verrouillage de la mémoire ainsi adressée pour un transfert ultérieur sur le bus de données et l'exécution d'une précharge CAS sur la mémoire à la suite de l'étape de verrouillage et avant la fin d'un premier cycle de mémoire.
Although a calculation system has been described above with reduced memory access times, a method for accessing memory in such a calculation system is also described and summarized below. This method is used in a calculation system comprising a page memories having an address bus and a data bus connected to it and also has first, second, etc. associated memory cycles. More particularly, a method of reading information stored in said memory is presented, which comprises the steps of applying to the memory an address signal corresponding to the location of data to be accessed in the memory. The method comprises the steps applying a row address chopping signal (RAS) to the memory during the first memory cycle and applying a column address chopping signal (CAS) to the memory during the first cycle memory cycle and following the signal
RAS. The method comprises the locking of the memory thus addressed for a subsequent transfer on the data bus and the execution of a CAS preload on the memory following the locking step and before the end of a first cycle of memory.

On a décrit dans ce qui précède un système de calcul dans lequel le temps d'accès à une mémoire de pages, a été réduit de manière significative en avançant la précharge CAS associée aux données à accéder au cours du cycle de mémoire suivant, au cycle de mémoire courant. Le système de calcul est capable de fonctionner à des vitesses d'horloge élevées sans recourir à des états d'attente supplémentaires pendant l'accès à la mémoire de pages. We have described in the above a calculation system in which the time to access a page memory has been reduced significantly by advancing the CAS preload associated with the data to be accessed during the next memory cycle, in the cycle of current memory. The computing system is capable of operating at high clock speeds without resorting to additional wait states while accessing the page memory.

Bien qu'une réalisation de la présente invention ait été décrite ci dessus à titre d'exemple, divers changements et modifications pourront y être apportés par l'homme de l'art sans pour autant sortir du cadre ladite invention telle qu'exprimée dans les revendications suivantes.  Although an embodiment of the present invention has been described above by way of example, various changes and modifications may be made to it by those skilled in the art without departing from the scope of said invention as expressed in the following claims.

Claims (7)

REVENDICATIONS 1. Un système de calcul comprenant une mémoire de pages1. A calculation system including a page memory dynamique et des moyens pour accéder à la mémoire en dynamic and means to access memory in générant des signaux de découpage d'adresse de rangée generating row address clipping signals (RAS) et de découpage d'adresse de colonne (CAS) combinés, (RAS) and column address division (CAS) combined, respectivement, avec des données d'adresse de rangée et de respectively, with row address data and colonne, dans lequel pour accéder à un certain nombre column, in which to access a number d'emplacements dans une page au cours d'un nombre of locations on a page within a number similaire de cycles de mémoire successifs, le signal RAS similar to successive memory cycles, the RAS signal et les données d'adresse de rangée restent constants pour and the row address data remains constant for chacun de ces cycles de mémoire, et le signal CAS est each of these memory cycles, and the CAS signal is préchargé pour chaque cycle de mémoire excepté le premier, preloaded for each memory cycle except the first, ledit système étant caractérisé en ce que la précharge CAS said system being characterized in that the CAS preload pour un cycle de mémoire courant est effectuée pendant une for a current memory cycle is performed during a période de temps situé à l'intérieur et à la fin du cycle time period inside and at the end of the cycle de mémoire immédiatement précédent. immediately preceding memory. 2. Un système de calcul selon la revendication 1 dans lequel2. A calculation system according to claim 1 in which ladite précharge CAS pour le cycle de mémoire courant, se said CAS preload for the current memory cycle is termine au cébut du cycle de mémoire courant. ends at the beginning of the current memory cycle. 3. Un système de calcul selon la revendication 1 ou la3. A calculation system according to claim 1 or the revendication 2 dans lequel des données sont lues depuis claim 2 in which data is read from un emplacement adressé dans la mémoire au cours d'une a location addressed in memory during a période d'un cycle de mémoire précédant le début de la period of a memory cycle preceding the start of the précharge CAS de ce cycle, ledit système comprenant des CAS preload of this cycle, said system comprising moyens de verrouillage pour verrouiller les données lues locking means for locking the data read avant de les appliquer à un bus de données du système. before applying them to a system data bus. 4. Une méthode d'utilisation d'un système de calcul4. A method of using a calculation system comprenant une mémoire de pages dynamique comprenant la including a dynamic page memory including the lecture de données dans la mémoire de pages par reading data from page memory by l'exécution des étapes de génération d'un signal de  performing the steps of generating a signal découpage d'adresse de rangée (RAS) combiné à des données row address division (RAS) combined with data d'adresse de rangée pour sélectionner une rangée de row address to select a row of mémoire et un signal de découpage d'adresse de colonne memory and a column address splitting signal (CAS) combiné à des données d'adresse de colonne pour (CAS) combined with column address data for définir un emplacement adressé et, pour accéder à une define an addressed location and, to access a pluralité d'emplacements sur une page au cours d'une multiple locations on a page during a pluralité similaire de cycles de mémoire successifs, la similar plurality of successive memory cycles, the retenue de la constante signal RAS et données d'adresse de withholding of the constant RAS signal and address data from rangée pour chacun de ces cycles sauf le premier, row for each of these cycles except the first, caractérisée en ce que la précharge du signal CAS pour un characterized in that the CAS signal preload for a cycle de mémoire courant, est effectué à une période current memory cycle, is performed at a period comprise dans, et à la fin du cycle de mémoire included in, and at the end of the memory cycle immédiatement précédent. immediately preceding. 5. Une méthode selon la revendication 4 caractérisée en outre5. A method according to claim 4 further characterized en ce que ladite précharge du signal CAS est terminée au in that said CAS signal preload is completed on début du cycle de mémoire courant. start of current memory cycle. 6. Une methode selon la revendication 4 ou la revendication 56. A method according to claim 4 or claim 5 caractérisé en outre en ce que des données sont lues further characterized in that data is read depuis un emplacement adressé dans la mémoire dans une from a location addressed in memory in a période avant le début du signal CAS au cours de ce cycle, period before the start of the CAS signal during this cycle, lesdites données étant verrouillées avant application à un said data being locked before application to a bus de données du système de calcul. calculation system data bus. 7. Une méthode d'utilisation d'un système de calcul 7. A method of using a calculation system comprenant un processeur, une mémoire dynamique de pages, including a processor, dynamic page memory, un bus d'adresses et un bus de données, pour transférer an address bus and a data bus, to transfer des données de la mémoire au processor, comprenant les data from memory to the processor, including étapes suivantes l'application d'une adresse de rangée à la mémoire depuis le bus d'adresses ensemble avec un signal de découpage d'adresse de rangées (RAS) au début d'un cycle de mémoire, puis, au cours du même cycle de mémoire, l'application d'une adresse de colonne à la mémoire depuis le bus d'adresses ensemble avec un signal de découpage d'adresse de colonne (CAS), le verrouillage des données ainsi adressées pour transfert ultérieur au processeur par le bus de données, et la précharge du signal CAS à la suite du verrouillage des données et avant la fin du cycle de mémoire.  following steps applying a row address to memory from the address bus together with a row address chopping signal (RAS) at the start of a memory cycle and then during the same cycle memory, applying a column address to memory from the address bus together with a column address chopping signal (CAS), locking the data thus addressed for subsequent transfer to the processor by the bus data, and the CAS signal preload following data locking and before the end of the memory cycle.
FR8905075A 1988-05-26 1989-04-11 Apparatus and method for getting access to data stored in a page memory Withdrawn FR2632094A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US19872188A 1988-05-26 1988-05-26

Publications (1)

Publication Number Publication Date
FR2632094A1 true FR2632094A1 (en) 1989-12-01

Family

ID=22734526

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8905075A Withdrawn FR2632094A1 (en) 1988-05-26 1989-04-11 Apparatus and method for getting access to data stored in a page memory

Country Status (2)

Country Link
AU (1) AU611275B2 (en)
FR (1) FR2632094A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755539A1 (en) * 1994-04-11 1997-01-29 Intel Corporation An improved cost/performance system memory unit using extended data out dynamic random access memory
WO2014072651A2 (en) 2012-11-08 2014-05-15 Valeo Equipements Electriques Moteur Heat engine starter provided with a device for shock absorption by shearing
WO2014170598A1 (en) 2013-04-15 2014-10-23 Valeo Equipements Electriques Moteur Ring gear provided with an insert for a speed reducer of a heat engine starter and corresponding speed reducer assembly

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 28, no. 8, Janvier 1986, NEW YORK US pages 3540 - 3541; 'EARLY RESTORE OF COLUMN ADDRESS STROBE FOR DENSE RANDOM-ACCESS MEMORIES IN PAGE MODE' *
MICROPROCESSORS AND MICROSYSTEMS. vol. 11, no. 9, Novembre 1987, LONDON GB pages 469 - 473; PEELEN ET AL.: 'USING THE PAGE MODE OF DYNAMIC RAMS TO OBTAIN A PSEUDO CACHE' *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755539A1 (en) * 1994-04-11 1997-01-29 Intel Corporation An improved cost/performance system memory unit using extended data out dynamic random access memory
EP0755539A4 (en) * 1994-04-11 1997-11-12 Intel Corp An improved cost/performance system memory unit using extended data out dynamic random access memory
WO2014072651A2 (en) 2012-11-08 2014-05-15 Valeo Equipements Electriques Moteur Heat engine starter provided with a device for shock absorption by shearing
WO2014170598A1 (en) 2013-04-15 2014-10-23 Valeo Equipements Electriques Moteur Ring gear provided with an insert for a speed reducer of a heat engine starter and corresponding speed reducer assembly

Also Published As

Publication number Publication date
AU3246589A (en) 1989-11-30
AU611275B2 (en) 1991-06-06

Similar Documents

Publication Publication Date Title
BE1003816A4 (en) APPARATUS AND METHOD FOR ACCESSING DATA IN PAGES stored MEMORY.
EP0392932B1 (en) Method and device for speeding-up memory accesses using a modified LRU algorithm
FR2602070A1 (en) SYSTEM AND METHOD FOR ACCESSING A COMPUTER MEMORY.
WO2001046797A1 (en) High rate random number generator
FR2481487A1 (en) INFORMATION PROCESSING SYSTEM USING REGENERATION AND DETECTION TECHNIQUES AND CORRECTION OF ERRORS
EP3182292B1 (en) Method for predicting data to be pre-loaded in a cache memory
EP1619590A1 (en) Method for programming a system on a chip DMA controller and system on a chip therefore.
EP1710703A1 (en) Cache consistency in a shared-memory multiprocessor system
EP0394115B1 (en) Apparatus for speeding-up memory accesses in a computer system
FR2632092A1 (en) DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385
FR2805368A1 (en) SYSTEM AND METHOD UTILIZING SPECEMATIVE ACCELERATION TO ANTEMEMOIRE FOR IMPROVED PERFORMANCE
FR2632094A1 (en) Apparatus and method for getting access to data stored in a page memory
CN113515470A (en) Cache addressing
EP0924626A1 (en) Pipelined fast Fourier processor
EP0344052B1 (en) Modular memory
FR2896601A1 (en) Reverse polish notation processing device for e.g. microprocessor, has stack manager and multiplexers managing content of stack such that content of stage of stack is stored in cache memory and content of other stages is stored in RAM
FR2825167A1 (en) METHOD AND SYSTEM FOR ACCESSING A COMMON MEMORY
EP0306357A1 (en) Memory access management unit with logical unvarying identifiers, especially for data base management
EP0962855B1 (en) Fast acces to buffer circuits
EP0245152A1 (en) Discrete Fourier transform calculator comprising an on-line testing device
US10360030B2 (en) Efficient pointer load and format
FR2770661A1 (en) MICROPROCESSOR COMPRISING MEANS FOR CONCATENATION OF BITS
FR2769727A1 (en) METHOD AND SYSTEM FOR CONTROLLING SHARED ACCESS TO A RAM
FR2821449A1 (en) METHOD FOR MANAGING INSTRUCTIONS WITHIN A PROCESSOR WITH DECOUPLED ARCHITECTURE, IN PARTICULAR A PROCESSOR FOR DIGITAL SIGNAL PROCESSING, AND CORRESPONDING PROCESSOR
FR2797970A1 (en) ADDRESSING A MEMORY

Legal Events

Date Code Title Description
ST Notification of lapse