FR2698188A1 - Computer cache memory and method for producing control signals from such a memory. - Google Patents

Computer cache memory and method for producing control signals from such a memory. Download PDF

Info

Publication number
FR2698188A1
FR2698188A1 FR9313505A FR9313505A FR2698188A1 FR 2698188 A1 FR2698188 A1 FR 2698188A1 FR 9313505 A FR9313505 A FR 9313505A FR 9313505 A FR9313505 A FR 9313505A FR 2698188 A1 FR2698188 A1 FR 2698188A1
Authority
FR
France
Prior art keywords
cache
signal
clock signal
data
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9313505A
Other languages
French (fr)
Other versions
FR2698188B1 (en
Inventor
Vanka Subbarao
Oztaskin Ali Serhan
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of FR2698188A1 publication Critical patent/FR2698188A1/en
Application granted granted Critical
Publication of FR2698188B1 publication Critical patent/FR2698188B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes

Landscapes

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

Abstract

Mémoire cache système (207) à zéro état d'attente destinée à être utilisée dans des systèmes d'ordinateur. La présente invention utilise des groupes de mémoires vives statiques asynchrones non entrelacées moyennant des lignes de commande séparées. Un fonctionnement avec zéro état d'attente est obtenu (202) en corrélant des signaux de commande sur la mémoire cache à des signaux d'horloge de commande utilisés par le processeur de telle sorte qu'il y ait un retard de zéro lors de la fourniture du signal d'horloge système et des signaux de commande de cache. Un accès par salve de processeur (201) à la mémoire est supporté par un séquenceur interne qui détermine des adresses de salve suivantes sur la base d'une adresse de salve initiale produite par le processeur.Zero wait state system cache (207) for use in computer systems. The present invention uses groups of non-interlaced asynchronous static random access memories with separate control lines. Zero wait state operation is achieved (202) by correlating control signals on the cache memory to control clock signals used by the processor such that there is a zero delay when switching. providing the system clock signal and cache control signals. Processor burst access (201) to memory is supported by an internal sequencer which determines subsequent burst addresses based on an initial burst address generated by the processor.

Description

i La présente invention concerne de façon générale le domaine des systèmesThe present invention relates generally to the field of systems

d'ordinateur et plus spécifiquement, des mémoires cache de second niveau qui représentent le niveau de la hiérarchie de mémoire dans un système d'ordinateur situé entre le cache de l'unité centrale de traitement (CPU) et la  second level cache memories which represent the level of the memory hierarchy in a computer system located between the central processing unit (CPU) cache and the

mémoire principale.main memory.

Historiquement, les recherches de performances pour la technologie des microprocesseurs ont progressé à un rythme plus rapide que les recherches de performances pour les technologies des supports d'information tels que les DRAM (mémoires vives dynamiques) et que les logiques  Historically, the search for performance for microprocessor technology has progressed at a faster rate than the search for performance for technologies of information carriers such as DRAM (dynamic random access memory) and logic.

(TTL)/programmables (Logiques Transistors-  (TTL) / programmable (Logic Transistors-

Transistors/programmables) Les récentes tendances aggravent encore davantage cette non correspondance des manières suivantes Tout d'abord, les vitesses d'horloge des microprocesseurs se sont rapidement approchées, et dans certains cas ont dépassé les vitesses d'horloge des logiques de support d'information standard En outre, le nombre d'impulsions d'horloge par instruction a diminué rapidement, amenant ainsi une exigence d'une bande passante très élevée pour les mémoires Des conceptions plus récentes telles que les architectures RISC nécessitent même une bande passante de la  Transistors / Programmable) Recent trends further exacerbate this mismatch in the following ways First, the clock speeds of the microprocessors quickly approached, and in some cases exceeded the clock speeds of the support logic. standard information In addition, the number of clock pulses per instruction has decreased rapidly, resulting in a very high bandwidth requirement for memories. More recent designs such as RISC architectures even require a bandwidth of the

mémoire plus grande pour exécuter la même quantité de travail.  larger memory to run the same amount of work.

L'exigence de bande passante de la mémoire a été encore davantage augmentée par la nécessité d'un accès mémoire direct (DMA) dans des dispositifs tels que des dispositifs à coprocesseurs ou à multiprocesseurs Pour finir, la vitesse à laquelle les nouveaux dispositifs sont introduits sur le marché s'accélère, ce qui rend encore plus critiques les problèmes qui  The memory bandwidth requirement has been further increased by the need for direct memory access (DMA) in devices such as coprocessor or multiprocessor devices Finally, the speed at which new devices are introduced the market is accelerating, making the problems that

précèdent.previous.

Il résulte de ces tendances que des goulots d'étranglement sont apparus au niveau des performances et ils continuent à influencer la façon dont les systèmes sont conçus La bande passante de mémoire, en tant que limiteur de performance, a déjà entraîné l'utilisation de mémoires caches dans bon nombre de systèmes de microprocesseurs A titre d'exemple, l'utilisation des mémoires caches est d'un usage courant dans la génération des microprocesseurs 386 (marque déposée) fabriqués par Intel Corporation Par ailleurs, les processeurs Intel 486 (marque déposée) et i 860 (marque déposée) (également appelés i 860 XP (marque déposée)) de Intel incluent des caches sur groupements de puces dans le but d'augmenter la performance Il est clair que d'autres modifications dans la hiérarchie des mémoires (cache primaire, cache secondaire, architectures DRAM, etc) seront nécessaires pour soutenir les  As a result of these trends, performance bottlenecks have emerged and they continue to influence the way systems are designed Memory bandwidth, as a performance limiter, has already resulted in memory usage caches in many microprocessor systems For example, the use of cache memories is in common use in the generation of 386 microprocessors (registered trademark) manufactured by Intel Corporation In addition, Intel 486 processors (registered trademark ) and i 860 (registered trademark) (also called i 860 XP (registered trademark)) from Intel include caches on chip arrays in order to increase performance It is clear that other modifications in the memory hierarchy ( primary cache, secondary cache, DRAM architectures, etc.) will be required to support

augmentations de performance dans les générations futures.  performance increases in future generations.

(Intel, 386, Intel 486, i 860 et i 860 XP sont tous des marques  (Intel, 386, Intel 486, i 860 and i 860 XP are all brands

déposées de Intel Corporation).Intel Corporation).

Une description didactique des concepts de mémoire cache  A didactic description of the concepts of cache memory

peut être trouvée dans la publication intitulée "Cache Tutorial" disponible auprès de Intel Corporation, à l'adresse suivante: Literature Sales, P O Box 7641, Mt Prospect, IL 60056-7641, U.S A Les mémoires caches connues sont conçues en deux niveaux: cache de premier niveau et cache de second niveau Un cache de premier niveau est une unique couche de mémoire haute vitesse entre les microprocesseur et la mémoire DRAM du système principal Les caches de premier niveau conservent des copies des codes et des données les plus fréquemment utilisés par le microprocesseur Les caches de premier niveau présentent typiquement une petite taille ( 4 K-octets à 64 K-octets) Le cache de premier niveau peut être soit interne soit externe au dispositif (qui est par exemple un microprocesseur) qui  can be found in the publication "Cache Tutorial" available from Intel Corporation, at the following address: Literature Sales, PO Box 7641, Mt Prospect, IL 60056-7641, US A Known cache memories are designed in two levels: first level cache and second level cache A first level cache is a single layer of high speed memory between the microprocessor and the DRAM memory of the main system The first level caches keep copies of the codes and data most frequently used by the microprocessor The first level caches typically have a small size (4 K-bytes to 64 K-bytes) The first level caches can be either internal or external to the device (which is for example a microprocessor) which

constitue le processeur.constitutes the processor.

Un cache de second niveau est une seconde couche de mémoire haute vitesse située entre le cache de premier niveau et la mémoire DRAM du système principal Les caches de second niveau conservent également des copies des codes et des données les fréquemment utilisés par le microprocesseur Les caches de second niveau sont typiquement externes au dispositif qui constitue le processeur Un cache de second niveau manipule davantage de requêtes mémoire vive que celles que le cache de premier niveau laisse passer ou manque Afin de simplifier la manipulation des requêtes que le cache de premier niveau manque, le cache de second niveau inclut typiquement toutes les données du cache de premier niveau et et en inclut aussi d'autres Il résulte de cela qu'un cache de second niveau est toujours plus grand ( 64 K-octets à 512 K- octets) qu'un cache de  A second level cache is a second layer of high speed memory located between the first level cache and the DRAM memory of the main system. The second level caches also keep copies of the codes and data frequently used by the microprocessor. second level are typically external to the device that constitutes the processor A second level cache handles more RAM requests than those that the first level cache lets or misses In order to simplify the handling of requests that the first level cache misses, the second level cache typically includes all data from the first level cache and and also includes other data. As a result, a second level cache is always larger (64 K-bytes to 512 K-bytes) than a cache of

premier niveau.first level.

Afin d'obtenir une performance optimale, il est souhaitable que le cache réalise un fonctionnement avec zéro état d'attente L'absence d'état d'attente à zéro implique que le processeur n'a pas à attendre des données en provenance de la mémoire cache Par exemple, le cadencement selon lequel la mémoire cache produit des données valides sur le bus de données ne doit pas entraîner que le processeur gaspille des cycles d'attente de données valides Les systèmes connus assurent un fonctionnement avec zéro état d'attente en utilisant un type particulier de mémoire vive statique (SRAM) appelée "SRAM à salve" ou "SRAM synchrone" ou en utilisant des groupes entrelacés de SRAM qui sont accédés en alternance Un aspect négatif de l'utilisation d'une "SRAM à salve" est son coût Une "SRAM à salve" est plus coûteuse qu'une SRAM asynchrone classique. Les groupes entrelacés de SRAM entraînent l'ajout d'une certaine quantité de logique et de circuit de commande à un contrôleur de cache En outre, l'utilisation d'une structure entrelacée conduit à des conflits de bus de données lors d'une commutation entre les groupes Ce phénomène de conflit a des effets sur le cadencement du système du fait que pendant la durée pendant laquelle un groupe donné est désactivé et un autre groupe est activé, les deux groupes peuvent être amenés à entraîner des données sur la même ligne de bus Ceci réduit la fiabilité à long terme des composants de SRAM eux- mêmes En outre, des caches mis en oeuvre en utilisant des groupes de SRAM entrelacés coûtent plus que ceux qui utilisent des groupes non entrelacés bien que leur coût soit inférieur à celui d'une SRAM à salve. Ainsi, un objet essentiel de la présente invention consiste à proposer un contrôleur cache présentant un fonctionnement avec zéro état d'attente sans le coût élevé des SRAM à salve et  In order to obtain optimal performance, it is desirable that the cache performs operation with zero wait state The absence of a wait state at zero implies that the processor does not have to wait for data coming from the cache memory For example, the timing according to which the cache memory produces valid data on the data bus should not cause the processor to waste valid data waiting cycles. Known systems ensure operation with zero waiting state in using a particular type of static random access memory (SRAM) called "burst SRAM" or "synchronous SRAM" or by using interleaved groups of SRAM which are accessed alternately A negative aspect of using a "burst SRAM" is its cost A "burst SRAM" is more expensive than a conventional asynchronous SRAM. SRAM's interleaved groups add a certain amount of logic and control circuit to a cache controller In addition, the use of an interleaved structure leads to data bus conflicts during switching between groups This phenomenon of conflict has effects on the timing of the system since during the period during which a given group is deactivated and another group is activated, the two groups may have to cause data on the same line of bus This reduces the long-term reliability of the SRAM components themselves In addition, caches implemented using interleaved SRAM groups cost more than those using non-interleaved groups although their cost is lower than that of a burst SRAM. Thus, an essential object of the present invention consists in proposing a cache controller having an operation with zero waiting state without the high cost of burst SRAMs and

sans une fiabilité réduite d'une structure cache entrelacée.  without reduced reliability of an interlaced cache structure.

Un autre objet de la présente invention consiste à proposer un système de cache qui utilise des dispositifs de SRAM asynchrones classiques, ce qui réduit le coût global du système. Une mémoire cache système avec zéro état d'attente destinée à être utilisée dans des systèmes d'ordinateur est décrite La présente invention utilise des groupes de mémoires vives statiques (SRAM) asynchrones non entrelacées qui sont chacune commandées indépendamment Les composants utilisés  Another object of the present invention is to provide a cache system which uses conventional asynchronous SRAM devices, which reduces the overall cost of the system. A system cache memory with zero wait state for use in computer systems is described. The present invention uses non-interleaved asynchronous static random access memory (SRAM) groups, each of which is controlled independently. The components used

sont des puces SRAM asynchrones de niveau classique.  are conventional level asynchronous SRAM chips.

L'utilisation d'un schéma d'accès à des données non entrelacées élimine les conflits de données En outre, une commande indépendante des groupes de mémoires permet au contrôleur cache de supporter des tailles de cache plus importantes tout en laissant augurer des économies plus importantes puisque tous  Using a non-interleaved data access scheme eliminates data conflicts. In addition, independent control of memory groups allows the cache controller to support larger cache sizes while at the same time suggesting greater savings. since all

les groupes n'ont pas à être utilisés.  groups do not have to be used.

Un fonctionnement avec zéro état d'attente est obtenu en corrélant les signaux de commande de mémoire cache relatifs à  Zero standby operation is achieved by correlating cache control signals relating to

l'horloge et des signaux de commande utilisés par le processeur.  the clock and control signals used by the processor.

Dans le mode de réalisation présentement particulier de la présente invention, la corrélation est réalisée en 1) cadençant des opérations de cache à deux fois la fréquence d'horloge du microprocesseur et 2) en corrigeant la dissymétrie des signaux de commande résultant des voies de circuit différentes prévues pour chacun des signaux de commande de cache La correction de la dissymétrie des signaux de commande est réalisée en identifiant le signal ou les signaux de commande présentant des retards maximum puis en introduisant un circuit de retard dans la voie de circuit des signaux de commande et d'horloge  In the presently particular embodiment of the present invention, the correlation is carried out by 1) clocking cache operations at twice the clock frequency of the microprocessor and 2) by correcting the asymmetry of the control signals resulting from the circuit channels different ones provided for each of the cache control signals The asymmetry of the control signals is corrected by identifying the control signal or signals having maximum delays and then introducing a delay circuit in the circuit of the control signals and clock

moyennant des retards moindres.with less delays.

Un accès par salve de processeur à une mémoire est supporté par un séquenceur interne qui prédit des adresses de salve suivantes sur la base des adresses initiales produites par  Processor burst access to memory is supported by an internal sequencer which predicts subsequent burst addresses based on the initial addresses produced by

le processeur.the processor.

La présente invention sera mieux comprise à la lumière de  The present invention will be better understood in the light of

la description qui suit que l'on lira en relation avec les dessins  the description which follows which will be read in relation to the drawings

annexés parmi lesquels: la figure 1 est un schéma fonctionnel d'un système d'ordinateur dans lequel le mode de réalisation présentement particulier de la présente invention peut être mis en oeuvre; la figure 2 est un schéma fonctionnel d'un circuit implanté sur groupement de puces qui peut être utilisé pour constituer une base pour un système d'ordinateur tel que représenté sur la figure 1, le mode de réalisation présentement particulier de la présente invention étant un composant de ce circuit implanté sur groupement de puces; la figure 3 représente les interfaces des signaux pour un composant de contrôleur de DRAM cache (CDC) du mode de réalisation présentement particulier de la présente invention; la figure 4 est un schéma fonctionnel qui représente les interfaces des signaux du contrôleur de cache lorsque l'on utilise des groupes de mémoires vives statiques (SRAM) du mode de réalisation présentement particulier de la présente invention; la figure 5 est un schéma fonctionnel de la fonctionnalité du contrôleur de cache du mode de réalisation présentement particulier de la présente invention; la figure 6 est un schéma de cadencement pour expliquer une intervention de lecture, moyennant un fonctionnement avec zéro état d'attente, et un mode écriture en double ou écriture retour différée, dans le mode de réalisation présentement particulier de la présente invention; la figure 7 est un diagramme temporel pour expliquer une intervention d'écriture moyennant un fonctionnement avec zéro état d'attente dans le mode écriture en double dans le mode de réalisation présentement particulier de la présente invention et la figure 8 est un diagramme temporel pour expliquer une intervention d'écriture moyennant un fonctionnement avec zéro état d'attente dans le mode écriture différée dans le mode de  annexed among which: FIG. 1 is a block diagram of a computer system in which the presently particular embodiment of the present invention can be implemented; FIG. 2 is a functional diagram of a circuit implanted on a group of chips which can be used to constitute a base for a computer system as shown in FIG. 1, the presently particular embodiment of the present invention being a component of this circuit implanted on a group of chips; Figure 3 shows the signal interfaces for a cache DRAM controller (CDC) component of the presently particular embodiment of the present invention; FIG. 4 is a block diagram which represents the interfaces of the signals of the cache controller when using static random access memory (SRAM) groups of the presently particular embodiment of the present invention; FIG. 5 is a block diagram of the functionality of the cache controller of the presently particular embodiment of the present invention; FIG. 6 is a timing diagram for explaining a read intervention, by means of an operation with zero waiting state, and a double write or delayed write write mode, in the presently particular embodiment of the present invention; FIG. 7 is a time diagram for explaining a writing intervention by means of an operation with zero waiting state in the duplicate writing mode in the presently particular embodiment of the present invention and FIG. 8 is a time diagram for explaining a write intervention by operating with zero waiting state in the delayed write mode in the write mode

réalisation présentement particulier de la présente invention.  presently particular embodiment of the present invention.

Un circuit qui met en oeuvre un contrôleur pour un  A circuit which implements a controller for a

système de cache est décrit Dans la description qui suit, de  cache system is described In the following description,

nombreux détails spécifiques sont mis en exergue, tels que les nombres spécifiques d'octets, de bits, de dispositifs, etc afin d'assurer une compréhension approfondie du mode de réalisation particulier de la présente invention Il apparaîtra à l'homme de l'art que la présente invention peut être mise en oeuvre sans ces détails spécifiques Par ailleurs, des circuits bien connus ont été représentés sous forme de schéma fonctionnel au lieu de l'être de façon détaillée afin d'éviter de compliquer de façon non  many specific details are highlighted, such as the specific numbers of bytes, bits, devices, etc. in order to ensure a thorough understanding of the particular embodiment of the present invention. It will be apparent to those skilled in the art that the present invention can be implemented without these specific details Furthermore, well-known circuits have been represented in the form of a functional diagram instead of being in detail in order to avoid complicating in a non-compliant manner.

nécessaire la description de la présente invention.  necessary description of the present invention.

Au cours de la description de la présente invention, une  During the description of the present invention, a

référence fréquente peut être faite à l'utilisation du contrôleur de cache inventé en conjonction avec certaines architectures de CPU spécifiques et/ou avec certains types de microprocesseurs  Frequent reference can be made to the use of the cache controller invented in conjunction with certain specific CPU architectures and / or with certain types of microprocessors

spécifiques tels que le microprocesseur Intel 486 DX de Intel.  specific such as the Intel 486 DX microprocessor from Intel.

Ces mises en oeuvre reflètent tout simplement le mode de réalisation présentement particulier de la présente invention Il est bien entendu que les concepts mis en oeuvre dans la présente invention peuvent s'appliquer ou peuvent être étendus à d'autres  These implementations simply reflect the presently particular embodiment of the present invention. It is understood that the concepts implemented in the present invention may apply or may be extended to other

types de processeurs ainsi qu'à d'autres types d'architectures.  types of processors as well as other types of architectures.

En outre, lors de la description de la présente invention,  Furthermore, when describing the present invention,

référence est faite à des noms de signaux spécifiques au mode  reference is made to mode specific signal names

de réalisation présentement particulier Une description de  presently a specific embodiment A description of

chacun de ces signaux est produite dans le texte et dans l'annexe A Une référence faite à ces noms de signaux spécifiques ne doit pas être considérée comme limitant le cadre de la présente invention.  each of these signals is produced in the text and in appendix A A reference made to these names of specific signals should not be considered as limiting the scope of the present invention.

APERCU GENERAL D'UN SYSTEME D'ORDINATEUR DU PRESENT MODE  GENERAL OVERVIEW OF A COMPUTER SYSTEM IN THIS MODE

DE REALISATIONOF REALIZATION

Le mode de réalisation présentement particulier de la présente invention peut être mis en oeuvre en vue d'une utilisation dans un système d'ordinateur tel que celui représenté sur la figure 1 La présente invention peut être mise en oeuvre sur un micro-ordinateur à usage général tel que l'un des membres de la famille des ordinateurs personnels compatibles IBM (marque déposée) ou sur l'un des nombreux dispositifs de stations de travail ou d'ordinateurs graphiques qui sont présentement disponibles commercialement Un système d'ordinateur tel qu'utilisé éventuellement par le mode de réalisation particulier comprend de façon générale un bus ou d'autres moyens de communication 101 permettant de communiquer une information, un moyen de processeur 102 couplé audit bus 101 pour traiter une information, une mémoire vive (RAM) ou tout autre dispositif de stockage 103 (classiquement appelé mémoire principale) couplé audit bus 101 pour stocker une information et des instructions pour ledit processeur 102, une mémoire morte (ROM) ou tout autre dispositif de stockage statique 104 couplé audit bus 101 pour stocker une information statique et des instructions pour ledit processeur 102, un dispositif de stockage de données 105, tel qu'un disque magnétique et qu'une unité de disque, couplé audit bus 101 pour stocker une information et des instructions, un dispositif d'entrée alphanumérique 106 incluant des touches alphanumériques ou autre, lequel dispositif est couplé audit bus 101 pour communiquer des sélections d'information et de commandes audit microprocesseur 102, un dispositif de commande de curseur 107 tel qu'une souris, une bille de déplacement, des touches de commande de curseur, etc, lequel dispositif est couplé audit bus 101 pour communiquer des sélections d'informations et de commandes audit processeur 102 et pour commander le déplacement du curseur En outre, il est utile que le système inclue un dispositif de copie sur support papier 109 tel qu'une imprimante pour produire des copies permanentes de l'information Le dispositif de copie sur support papier 109 est couplé au processeur 102 par l'intermédiaire du  The presently particular embodiment of the present invention can be implemented for use in a computer system such as that shown in FIG. 1 The present invention can be implemented on a microcomputer for use general such as one of the members of the family of IBM compatible personal computers (registered trademark) or on one of the numerous workstation or graphics computer devices which are currently commercially available A computer system such as optionally used by the particular embodiment generally comprises a bus or other communication means 101 making it possible to communicate information, a processor means 102 coupled to said bus 101 for processing information, a random access memory (RAM) or any other other storage device 103 (conventionally called main memory) coupled to said bus 101 for storing information and instru ctions for said processor 102, a read only memory (ROM) or any other static storage device 104 coupled to said bus 101 to store static information and instructions for said processor 102, a data storage device 105, such as a disk magnetic and a disk drive, coupled to said bus 101 for storing information and instructions, an alphanumeric input device 106 including alphanumeric keys or the like, which device is coupled to said bus 101 for communicating selections of information and of commands to said microprocessor 102, a cursor control device 107 such as a mouse, a movement ball, cursor control keys, etc., which device is coupled to said bus 101 to communicate selections of information and commands to said processor 102 and to control the movement of the cursor In addition, it is useful that the system includes a copy device on paper support ier 109 such as a printer to produce permanent copies of information The paper copy device 109 is coupled to processor 102 through the

bus 101.bus 101.

Il est à noter que dans la description qui précède, le bus  Note that in the above description, the bus

101 est utilisé dans un sens générique afin d'indiquer un couplage entre les divers composants contenus dans le système d'ordinateur Comme il sera décrit de manière davantage détaillée ci-après, le bus 101 peut être de fait constitué par une pluralité de structures de bus dont chacune est interconnectée aux autres et dont chacune est utilisée pour supporter une classe  101 is used in a generic sense to indicate a coupling between the various components contained in the computer system As will be described in more detail below, the bus 101 may in fact be constituted by a plurality of structures buses each of which is interconnected to the others and each of which is used to support a class

spécifique de dispositifs.device specific.

APERCU GENERAL DU MODE DE REALISATION DU SYSTEME  GENERAL OVERVIEW OF THE SYSTEM EMBODIMENT

Le mode de réalisation présentement particulier de la présente invention est mis en oeuvre dans un composant de  The presently particular embodiment of the present invention is implemented in a component of

système d'ordinateur appelé contrôleur de DRAM de cache (CDC).  computer system called Cache DRAM Controller (CDC).

Le terme DRAM est un terme bien connu qui se rapporte à des dispositifs de mémoire connus en tant que mémoires vives dynamiques Les DRAM sont classiquement utilisées en tant que mémoires principales des systèmes d'ordinateur Quel que soit le cas, le CDC fait partie d'un groupement de puces Un groupement de puces se rapporte à une collection de circuits intégrés conçus en étant liés de façon intime, lesquels circuits remplissent la fonctionnalité du coeur d'un système d'ordinateur L'utilisation de groupements de puces réduit de manière significative l'effort mis en jeu lors de la conception, de la fabrication et du test d'un  The term DRAM is a well-known term which relates to memory devices known as dynamic random access memories DRAMs are conventionally used as main memories of computer systems Whatever the case, the CDC is part of a chip array A chip array refers to a collection of intimately linked integrated circuits, which circuits fulfill the functionality of the heart of a computer system The use of array chips significantly reduces the effort involved in the design, manufacture and testing of a

système d'ordinateur.computer system.

Le groupement de puces du mode de réalisation présentement particulier est décrit par report à la figure 2 Les composants d'un groupement de puces sont un CDC 202, un microprocesseur 201, une unité de voie de donnée (DPU) 203 et une unité d'entrée/sortie système (SIO) 204 Le groupement de puces de la présente invention interconnecte trois structures de puces différentes Un bus hôte est conçu de façon interne pour des dispositifs spécifiques, par exemple le processeur, le coprocesseur et la mémoire système Un bus d'interface de composants périphériques (PCI) est destiné à coupler des dispositifs d'entrée/sortie (I/O) adaptés pour le PCI au système. Pour finir, un interface de bus dont l'architecture correspond à l'architecture standard dans l'industrie (ISA) est prévu pour permettre une connexion d'une classe existante de dispositifs d'l/O au système De façon générale, le bus PCI fonctionne plus rapidement que le bus ISA et assure une fonctionnalité différente Il est en outre à noter que chacun de ces bus  The chip grouping of the presently particular embodiment is described with reference to FIG. 2 The components of a chip group are a CDC 202, a microprocessor 201, a data channel unit (DPU) 203 and a data unit system input / output (SIO) 204 The chip grouping of the present invention interconnects three different chip structures A host bus is designed internally for specific devices, for example the processor, the coprocessor and the system memory A bus Peripheral Component Interface (PCI) is intended to couple input / output (I / O) devices suitable for PCI to the system. Finally, a bus interface whose architecture corresponds to the industry standard architecture (ISA) is provided to allow connection of an existing class of I / O devices to the system In general, the bus PCI works faster than the ISA bus and provides a different functionality It should also be noted that each of these buses

comporte des sous-bus de données, d'adresses et de commandes.  contains sub-buses of data, addresses and commands.

La DPU 203 assure des connexions de bus de données pour le microprocesseur, pour le bus local et pour le bus de données de DRAM La SIO 204 sert de pont entre le bus local PCI et un bus ISA En outre, elle intègre un contrôleur de DMA compatible ISA, une minuterie/compteur et un contrôleur d'interruption et elle intègre également une logique d'arbitrage de bus local PCI Le microprocesseur 201 du mode de réalisation présentement particulier est l'un des microprocesseurs à 25 ou 33 M Hz i 4865 X, i 487 SX, i 486 DX, i 486 DX 2 ou d'autres microprocesseurs Intel compatibles vis-à-vis du bus ou de processeurs de classe supérieure, tous ces processeurs étant disponibles auprès de Intel Corporation, Santa Clara, Californie et constituant des  The DPU 203 provides data bus connections for the microprocessor, for the local bus and for the DRAM data bus The SIO 204 serves as a bridge between the PCI local bus and an ISA bus In addition, it incorporates a DMA controller ISA compatible, a timer / counter and an interrupt controller and it also incorporates PCI local bus arbitration logic The microprocessor 201 of the presently particular embodiment is one of the microprocessors at 25 or 33 M Hz i 4865 X , i 487 SX, i 486 DX, i 486 DX 2 or other Intel microprocessors compatible with bus or higher class processors, all these processors being available from Intel Corporation, Santa Clara, California and constituting of

désignations de marques déposées.  designations of registered trademarks.

Dans le mode de réalisation présentement particulier, le CDC 202 inclut un contrôleur de DRAM à port double qui interface la DRAM 206 vis-à-vis du bus de CPU hôte et du bus PCI Le contrôleur de DRAM envoie des adresses 213 et des signaux de commande 214 à la DRAM 206 ainsi que des signaux de commande de DPU 215 à la DPU 203 Ceci aboutit au transfert de données jusqu'à la DPU 203 et ensuite jusqu'au processeur 201 Le CDC 202 supporte une organisation de DRAM entrelacées à communication bidirectionnelle Le CDC 202 intègre également un contrôleur de cache qui supporte 64 K-octets, 128 K-octets, 256 K-octets ou 512 K-octets d'un cache secondaire qui utilise des SRAM asynchrones standards Le contrôleur de cache intégré du CDC supporte soit des protocoles de cache d'écriture en double soit des protocoles de cache d'écriture différée Le CDC assure d'autres fonctionnalités vis-à- vis du système d'ordinateur, y compris une génération d'horloge système et la  In the presently particular embodiment, the CDC 202 includes a dual port DRAM controller which interfaces the DRAM 206 with respect to the host CPU bus and the PCI bus. The DRAM controller sends addresses 213 and signals commands 214 to the DRAM 206 as well as control signals from DPU 215 to the DPU 203 This results in the transfer of data to the DPU 203 and then to the processor 201 The CDC 202 supports an organization of DRAM interleaved with bidirectional communication The CDC 202 also includes a cache controller which supports 64 K-bytes, 128 K-bytes, 256 K-bytes or 512 K-bytes of a secondary cache which uses standard asynchronous SRAMs The CDC's integrated cache controller supports either duplicate write cache protocols or write-back cache protocols CDC provides other functionality to the computer system, including generation of system clock and

production d'une logique de remise à l'état initial du système.  production of a system reset logic.

Comme il est décrit de manière davantage détaillée ci-après, la génération d'horloge système joue un rôle lors de l'obtention du  As described in more detail below, the generation of the system clock plays a role in obtaining the

fonctionnement du cache avec zéro état d'attente.  cache operation with zero waiting state.

Par report à nouveau à la figure 2, un bus hôte 205 est utilisé pour coupler le processeur 201 à des composants système critiques tels que la DRAM 206, l'agencement de mémoire cache 207 et un coprocesseur 208 Il est à noter que l'agencement de mémoire cache inclut la totalité des étiquettes (dénommées TAG) et des données (DATA) ainsi que d'autres zones de stockage nécessaires pour le système de cache Un second bus, soit ici un bus PCI 209, est utilisé pour coupler des composants de second rang Dans l'architecture PCI, les composants peuvent être soit des dispositifs maîtres 210 soit des dispositifs esclaves 211 Un dispositif maître est un dispositif qui peut piloter et commander le bus PCI 209 Un dispositif esclave est un dispositif qui répond à des requêtes en provenance d'un dispositif maître sur le bus PCI 209 ou en provenance d'un autre composant défini en tant que composant maître qui peut être physiquement placé sur un autre bus Pour finir, un bus ISA 212 est utilisé pour coupler des dispositifs  Referring again to FIG. 2, a host bus 205 is used to couple the processor 201 to critical system components such as the DRAM 206, the cache memory arrangement 207 and a coprocessor 208 It should be noted that the arrangement of cache memory includes all the labels (called TAG) and data (DATA) as well as other storage areas necessary for the cache system A second bus, in this case a PCI bus 209, is used to couple components of second row In the PCI architecture, the components can be either master devices 210 or slave devices 211 A master device is a device which can drive and control the PCI bus 209 A slave device is a device which responds to requests from of a master device on the PCI bus 209 or from another component defined as a master component which can be physically placed on another bus Finally, an ISA bus 212 is used to pair devices

compatibles ISA.ISA compatible.

La présente invention concerne la partie de contrôleur de cache du CDC 202 Cependant, il apparaîtra à l'homme de l'art que la présente invention peut être mise en oeuvre en tant que composant discret ou peut être conditionnée en tant que composant présentant une fonctionnalité plus importante La présente invention peut être mise en oeuvre soit en tant que  The present invention relates to the cache controller part of the CDC 202 However, it will be apparent to those skilled in the art that the present invention can be implemented as a discrete component or can be packaged as a component having a functionality more important The present invention can be implemented either as

cache de premier niveau, soit en tant que cache de second niveau.  first level cache, either as a second level cache.

1 1 En outre, la présente invention concerne un système de cache qui est externe au microprocesseur Dans le mode de réalisation présentement particulier, le cache est un cache de second niveau Ceci est dû au fait que le microprocesseur supporté dans le mode de réalisation particulier inclut un cache de premier niveau interne Cependant, il apparaîtra à l'homme de l'art comment mettre en oeuvre la présente invention en tant que  1 1 Furthermore, the present invention relates to a cache system which is external to the microprocessor. In the present particular embodiment, the cache is a second level cache. This is due to the fact that the microprocessor supported in the particular embodiment includes an internal first level cache However, it will be apparent to those skilled in the art how to implement the present invention as

cache de premier niveau.first level cache.

Interfaces de signaux La figure 3 représente les modules d'interface et les interfaces de signaux pour le composant CDC du mode de  Signal interfaces Figure 3 shows the interface modules and signal interfaces for the CDC component of the operating mode.

réalisation présentement particulier.  presently particular realization.

Par report à la figure 3, un module d'interface de CPU hôte 301 est utilisé pour réaliser un couplage au processeur hôte Les signaux spécifiques sont produits sur un processeur de classe supérieure via un module d'interface de processeur de classe supérieure 302 Un processeur de classe supérieure est un processeur qui remplace un processeur original Un processeur de classe supérieure réalise une performance augmentée par rapport à celle du processeur original L'interface de commande de cache 303 est utilisé pour réaliser un interface avec les groupes de mémoires caches Un interface de commande de DRAM  With reference to FIG. 3, a host CPU interface module 301 is used for coupling to the host processor The specific signals are produced on a higher class processor via a higher class processor interface module 302 A processor of higher class is a processor which replaces an original processor A processor of higher class achieves an increased performance compared to that of the original processor The cache control interface 303 is used to make an interface with the groups of cache memories An interface of DRAM control

304 est utilisé pour réaliser un interface avec la DRAM système.  304 is used to interface with the system DRAM.

Un interface de bus local PCI 305 constitue un interface vis-à-  A PCI 305 local bus interface is an interface to

vis du bus local Un module de remise à l'état initial et d'horloge 306 produit des signaux d'horloge système tout en recevant le signal d'horloge 2 X Pour finir, un interface de commande de DPU 307 constitue un interface vis-à-vis de l'unité DPU du  local bus screw A reset and clock module 306 produces system clock signals while receiving the clock signal 2 X Finally, a DPU control interface 307 constitutes a vis- with respect to the DPU unit of

groupement de puces Une description complète de tous les  chip array A full description of all

signaux est produite dans l'annexe A. La figure 4 est un schéma fonctionnel qui représente le couplage des signaux d'interface de contrôleur de cache avec les divers autres composants Les signaux de validation d'écriture de cache (CWE 3#, CWE 2#, CWE 1#, CWEO#) et le signal de validation de sortie de puce (COE#) sont respectivement couplés à chaque groupe pris parmi les groupes de SRAM, au groupe 401 et au groupe 402 Un signal de sélection de puce (respectivement CC 51# et CC 52#) est couplé pour valider chacun des groupes 401 et 402 La partie d'étiquette de chacun des groupes de SRAM, ici représentée en 403, ainsi que des bits valides 404 sont couplés pour recevoir les signaux de validation d'écriture (TWE#) et de validation de sortie (TOE#) Le signal de validation d'écriture permet la mise à jour de la partie d'étiquette Le signal de validation de sortie permet la lecture et l'utilisation du contenu de la partie d'étiquette Les parties d'étiquette 403 et les bits valides 404 sont également couplés à des zones d'étiquette de  signals is produced in Appendix A. Figure 4 is a block diagram which represents the coupling of the cache controller interface signals with the various other components The cache write enable signals (CWE 3 #, CWE 2 #, CWE 1 #, CWEO #) and the chip exit validation signal (COE #) are respectively coupled to each group taken from the SRAM groups, to group 401 and to group 402 A chip selection signal (respectively CC 51 # and CC 52 #) is coupled to validate each of the groups 401 and 402 The label part of each of the SRAM groups, here represented in 403, as well as valid bits 404 are coupled to receive the validation signals d 'write (TWE #) and output validation (TOE #) The write validation signal allows the updating of the label part The output validation signal allows the reading and the use of the content of the label part The label parts 403 and the bits goes lides 404 are also coupled to label areas of

l'adresse produite par le processeur (HAl 31: 2 l).  the address produced by the processor (HAl 31: 2 l).

Des bits de modification 406 correspondant à des lignes contenues dans les groupes de SRAM sont utilisés pour signaler qu'une ligne correspondante dans la SRAM a été modifiée Ceci  Modification bits 406 corresponding to lines contained in the SRAM groups are used to signal that a corresponding line in the SRAM has been modified This

est commandé par les signaux DWE#, DIRTYD et DIRTYQ.  is controlled by signals DWE #, DIRTYD and DIRTYQ.

En outre, des adresses de cache CA( 3: 2), CA( 18: 4) sont couplées aux groupes 401 et 402 pour accéder à des emplacements dans les groupes de caches Pour finir, le signal de validation de dispositif de verrouillage de cache 405 (CALE) est couplé à un dispositif de verrouillage qui est utilisé pour  In addition, CA (3: 2), CA (18: 4) cache addresses are coupled to groups 401 and 402 to access locations in cache groups. Finally, the cache latch enable signal 405 (CALE) is coupled to a locking device which is used to

créer des adresses sur un bus d'adresse de cache (CAl 18: 4 l).  create addresses on a cache address bus (CAl 18: 4 l).

Système de cache du mode de réalisation présentement particulier Dans le mode de réalisation présentement particulier, un système de cache de premier niveau est intégré dans le microprocesseur i 486 présentement particulier L'organisation du cache est un jeu de 4 voies: associatives et chaque ligne de cache présente une largeur de 16 octets La mémoire cache de premier niveau est physiquement séparée en 4 blocs à 2 K-octets dont chacun contient 128 lignes Des étiquettes de 12821 bits sont associées à chaque bloc de 2 K-octets Les étiquettes sont utilisées pour identifier le contenu d'une entrée correspondante dans la mémoire cache La stratégie d'écriture utilisée est une écriture en double D'autres détails sur le cache de premier niveau Intel 486 peuvent être trouvés dans la publication Microprocessors Volume I disponible auprès de Intel Corporation  Cache system of the presently particular embodiment In the presently particular embodiment, a first level cache system is integrated in the presently specific i 486 microprocessor. The organization of the cache is a game of 4 ways: associative and each line of cache has a width of 16 bytes The first level cache memory is physically separated into 4 blocks with 2 K-bytes each of which contains 128 lines Labels of 12821 bits are associated with each block of 2 K-bytes Labels are used to identify the contents of a corresponding entry in the cache memory The writing strategy used is a duplicate writing Other details on the top-level cache Intel 486 can be found in the publication Microprocessors Volume I available from Intel Corporation

via Intel Literature Sales, P O Box 7641, Mt Prospect, IL 60056-  via Intel Literature Sales, P O Box 7641, Mt Prospect, IL 60056-

7641. Le cache de second niveau est une implantation directe dans laquelle chaque ligne de cache présente une largeur de 16 octets Le cache peut présenter une dimension de 64 K-octets à 512 K-octets La stratégie d'écriture peut être soit une écriture en double soit une écriture différée Les stratégies d'écriture  7641. The second level cache is a direct implementation in which each cache line has a width of 16 bytes The cache can have a dimension of 64 K-bytes to 512 K-bytes The write strategy can be either a write in double or a delayed write The writing strategies

font l'objet d'une discussion brève ci-après.  are discussed briefly below.

Dans le mode de réalisation présentement particulier, la stratégie d'écriture pour le cache de second niveau peut être différente de celle pour un cache de premier niveau Cependant, une mise en oeuvre de caches de premier et de second niveau qui  In the presently particular embodiment, the writing strategy for the second level cache may be different from that for a first level cache. However, an implementation of first and second level caches which

utilise des stratégies d'écriture différée n'est pas supportée.  uses writeback strategies is not supported.

Dans la stratégie d'écriture en double, chaque opération d'intervention sur le cache s'accompagne d'une écriture des mêmes données dans la mémoire principale Dans une stratégie d'écriture différée, le cache est mis à jour pendant l'opération d'écriture mais la mémoire principale réelle est mise à jour  In the duplicate write strategy, each intervention operation on the cache is accompanied by a writing of the same data in the main memory In a deferred write strategy, the cache is updated during the operation d write but actual main memory is updated

lorsque la ligne est déconnectée du cache.  when the line is disconnected from the cache.

La partie de contrôleur cache du CDC produit des signaux de commande indépendants pour les groupes de dispositifs de mémoires vives statiques (SRAM) asynchrones Les dispositifs SRAM sont souhaitables pour une utilisation dans les systèmes de cache du fait de leur vitesse d'accès élevée à des données Il est souhaitable d'utiliser des SRAM asynchrones du fait de leur coût plus faible En outre, puisque les groupes ne sont pas entrelacés et sont commandés de façon indépendante, le même contrôleur peut être utilisé pour supporter diverses tailles de cache Afin d'obtenir un fonctionnement avec zéro état d'attente, moyennant des groupes non entrelacés de SRAM, le contrôleur de cache corrèle les signaux de commande appliqués sur les groupes de SRAM avec l'horloge système On rappelle que le CDC est  The CDC cache controller portion produces independent control signals for asynchronous static random access memory (SRAM) groups. SRAM devices are desirable for use in cache systems because of their high access speed to data It is desirable to use asynchronous SRAMs due to their lower cost In addition, since the groups are not interleaved and are controlled independently, the same controller can be used to support various cache sizes In order to obtain operation with zero waiting state, by means of non-interleaved groups of SRAMs, the cache controller correlates the control signals applied to the SRAM groups with the system clock. It is recalled that the CDC is

utilisé pour dériver le signal d'horloge système.  used to derive the system clock signal.

La figure 5 est un schéma fonctionnel de la fonctionnalité du contrôleur de cache Comme mentionné ci-avant, le CDC produit le cadencement pour l'horloge système Comme noté sur la figure 5, un signal d'horloge 2 X 501 est produit sur le CDC 510 o il est converti en un signal 1 X par un convertisseur 2 X en 1 X 504 Des moyens pour convertir un signal d'horloge 2 X en un signal d'horloge 1 X sont connus de l'art N'importe lequel de ces moyens bien connus peut être utilisé Le signal en provenance du convertisseur 504 est alors produit sur un élément égaliseur de retard 505 L'élément égaliseur de retard 505 introduit les retards prescrits afin de créer un signal d'horloge 1 X 502 qui comporte des retards à zéro par rapport à des signaux de commande de cache 507 Le signal d'horloge 1 X est ensuite  Figure 5 is a block diagram of the functionality of the cache controller. As mentioned above, the CDC produces timing for the system clock. As noted in Figure 5, a 2 X 501 clock signal is produced on the CDC. 510 o it is converted to a 1 X signal by a 2 X to 1 X converter 504 Means for converting a 2 X clock signal to a 1 X clock signal are known in the art Any of these well known means can be used The signal from the converter 504 is then produced on a delay equalizer element 505 The delay equalizer element 505 introduces the prescribed delays in order to create a 1 X 502 clock signal which includes delays zero with respect to cache control signals 507 The 1 X clock signal is then

appliqué sur un microprocesseur 503.  applied on a microprocessor 503.

Le signal d'horloge 2 X est utilisé pour piloter des signaux de commande 507 pour la mémoire cache 506 Le signal d'horloge 2 X est appliqué sur un moyen de génération de signal de commande de cache 508 Le moyen degénération de signal de commande de cache 508 génère des signaux de commande de cache La sortie du moyen de génération de signal de commande de cache 508 est appliquée ensuite sur un élément égaliseur de retard 509 L'élément égaliseur de retard 509 est utilisé pour corriger une dissymétrie de signaux de commande émis en sortie depuis le moyen de génération de signal de commande de cache  The clock signal 2 X is used to drive control signals 507 for the cache memory 506 The clock signal 2 X is applied to a means for generating the cache control signal 508 The means for generating the control signal cache 508 generates cache control signals The output of the cache control signal generation means 508 is then applied to a delay equalizer 509 The delay equalizer 509 is used to correct an asymmetry of transmitted control signals output from the cache control signal generating means

508.508.

Bien que le mode de réalisation présentement particulier de la présente invention utilise un signal d'horloge 2 X pour piloter le moyen de génération de signal de commande de cache 508, il apparaîtra à l'homme de l'art qu'il est possible d'utiliser d'autres signaux d'horloge de différentes fréquences Le point clé est que les signaux de commande de cache présentent un retard de zéro par rapport à l'horloge système Ce point clé est appelé schéma d'horloge corrélée La façon selon laquelle le schéma d'horloge corrélée est réalisé dans le mode de réalisation  Although the presently particular embodiment of the present invention uses a 2 X clock signal to drive the cache control signal generation means 508, it will be apparent to those skilled in the art that it is possible to use other clock signals of different frequencies The key point is that the cache control signals are zero delay from the system clock This key point is called correlated clock pattern The way in which the correlated clock diagram is made in the embodiment

présentement particulier fait l'objet d'une discussion ci-après.  currently specific is the subject of a discussion below.

Schéma d'horloge corrélée Le schéma d'horloge corrélée assure une correction de la dissymétrie qui peut se produire en relation avec l'émission en sortie de signaux de commande hors du CDC Cette dissymétrie se produit du fait de retards inhérents résultant de la voie de  Correlated clock scheme The correlated clock scheme ensures a correction of the asymmetry which can occur in relation to the emission at the output of control signals outside the CDC This asymmetry occurs due to inherent delays resulting from the

circuit des divers signaux de commande traversant la puce CDC.  circuit of the various control signals passing through the CDC chip.

Afin d'améliorer la performance, ces dissymétries doivent être corrigées Au moyen de la correction de ces dissymétries, un cadencement de signaux peut être commandé de façon davantage précise Du fait de cette commande précise et au moyen d'un cadencement des signaux de commande d'horloge selon une horloge 2 X, un retard de zéro au niveau de la fourniture d'un signal d'horloge système et du signal de contrôleur de cache est obtenu. Le schéma d'horloge corrélée comporte plusieurs contraintes Ceci inclut: 1 La génération de l'horloge système est effectuée sur  In order to improve the performance, these asymmetries must be corrected. By means of the correction of these asymmetries, a timing of signals can be controlled more precisely. By virtue of this precise control and by means of timing of the control signals d By a 2 X clock, a delay of zero in providing a system clock signal and the cache controller signal is obtained. The correlated clock diagram has several constraints This includes: 1 The generation of the system clock is performed on

la puce.the chip.

2 Le retard entre une quelconque entrée et une sortie résultante sur une puce de circuit intégré peut varier largement en tant que résultat du processus de fabrication, de la  2 The delay between any input and resulting output on an integrated circuit chip can vary widely as a result of the manufacturing process, the

température de fonctionnement et de la tension.  operating temperature and voltage.

3 Toutes les voies de signal d'entrée/signal de sortie situées sur la même puce présentent les mêmes variations du fait du processus de fabrication, de la température de  3 All input signal / output signal channels located on the same chip show the same variations due to the manufacturing process, the temperature of the

fonctionnement et de la tension.operation and voltage.

4 Les signaux de sortie qui partagent les circuits communs ou similaires et qui sont dérivés d'un signal d'entrée commun présentent des caractéristiques de retard identiques et une dissymétrie minimum les uns par rapport aux autres Cette dissymétrie résulte de faibles variations de processus, de température et de tension du fait que des retards de circuit intrinsèques se "suivent" les uns les autres dans les circuits donnés. En utilisant les contraintes, les voies de circuit des signaux de commande sont modifiées afin d'éliminer la dissymétrie lors de la fourniture des signaux de commande La dissymétrie est non souhaitable puisqu'elle provoque des retards de cadencement, ce qui nécessite l'introduction d'états d'attente.  4 The output signals which share the common or similar circuits and which are derived from a common input signal have identical delay characteristics and a minimum asymmetry with respect to each other This asymmetry results from small process variations, temperature and voltage because intrinsic circuit delays "follow" each other in the given circuits. By using constraints, the circuit channels of the control signals are modified in order to eliminate the asymmetry when supplying the control signals. The asymmetry is undesirable since it causes timing delays, which requires the introduction of 'waiting states.

Les états d'attente dégradent la performance du système.  Standby states degrade system performance.

Une corrélation des signaux de cadencement du mode de réalisation présentement particulier a été obtenue par l'intermédiaire d'itérations de simulations de cadencement et de l'introduction de retards de porte dans les voies de circuit particulières Tout d'abord, le signal de commande qui présente le retard le plus long est déterminé Lorsque ce signal est déterminé, la voie de circuit pour d'autres signaux de commande peut être rallonge selon les besoins Ce rallongement peut être réalisé par exemple en introduisant des paires d'inverseurs dans la voie de circuit des signaux de commande Ces moyens sont illustrés ci-avant sur la figure 5 en tant qu'éléments égaliseurs  A correlation of the timing signals of the presently particular embodiment has been obtained through iterations of timing simulations and the introduction of gate delays in the particular circuit lanes First, the control signal which has the longest delay is determined When this signal is determined, the circuit path for other control signals can be extended as required This extension can be achieved for example by introducing pairs of reversers in the control signal circuit These means are illustrated above in FIG. 5 as equalizing elements

de retard 505 et 509.late 505 and 509.

Prédiction de l'ordre des adresses Une prédiction de l'ordre des adresses produit un transfert de mode salve des données cache Il est à noter que le mode salve de transfert est une caractéristique de la famille Intel i 486 des microprocesseurs Essentiellement, ce mode réalise un transfert rapide de données sur la base d'une adresse produite Il est à noter que dans les mises en oeuvre connues, le dispositif doit toujours lire l'adresse de toutes les données  Address order prediction Address order prediction produces burst data cache mode transfer Note that transfer burst mode is a feature of the Intel i 486 family of microprocessors. Essentially, this mode achieves a rapid transfer of data on the basis of a produced address It should be noted that in known implementations, the device must always read the address of all the data

auxquelles il doit accéder depuis le bus d'adresse.  which it must access from the address bus.

Dans l'idéal, le mode de fonctionnement salve utilise 5 cycles d'horloge, deux pour obtenir les premières données et chacune des données suivantes produites lors du cycle suivant Un problème concernant le fait de supporter un transfert de mode salve est qu'une adresse produite par la CPU peut retarder l'instant nécessaire pour lire ou écrire les données Une prédiction de l'ordre des adresses élimine la nécessité de consulter chaque adresse Une prédiction est effectuée sur la base d'une observation des motifs d'adressage de données au moyen du système Intel i 486 Ce sont les second et troisième bits d'adresse d'ordre inférieur (c'est-à-dire A 2 et A 3) de la première adresse qui sont examinés Ceci est dû au fait que les bits A O et Ai sont ignorés par les microprocesseurs du mode de réalisation présentement particulier (par exemple Intel 486) à des fins d'adressage de ligne cache Pour les valeurs particulières de A 2 et de A 3, un premier motif d'adresse correspondant est identifié Cette correspondance est la suivante  Ideally, the burst mode of operation uses 5 clock cycles, two to get the first data and each of the following data produced in the next cycle. A problem with supporting a burst mode transfer is that an address produced by the CPU can delay the time necessary to read or write the data A prediction of the address order eliminates the need to consult each address A prediction is made on the basis of an observation of the reasons for addressing data to the using the Intel i 486 system These are the second and third lower order address bits (ie A 2 and A 3) of the first address which are examined This is due to the fact that the AO bits and Ai are ignored by the microprocessors of the presently particular embodiment (for example Intel 486) for the purpose of cache line addressing For the particular values of A 2 and of A 3, a first address pattern corresponds to spondant is identified This correspondence is as follows

00 = O00 = O

01 = 401 = 4

= 8= 8

1 i = C On rappelle que le cache est adressé en tant que lignes de mots doubles (c'est-à-dire 4 octets) Ainsi, le premier mot double est aux emplacements d'adresse de ligne 0, le second mot double est aux emplacements d'adresse de ligne 4, le troisième mot double est à l'emplacement d'adresse de ligne 8 et le quatrième mot double est aux emplacements d'adresse de ligne C. A partir de la première adresse identifiée, la séquence correspondante d'adresses suivante est obtenue  1 i = C Remember that the cache is addressed as double word lines (i.e. 4 bytes). Thus, the first double word is at line address locations 0, the second double word is at line address locations 4, the third double word is at line address location 8 and the fourth double word is at line address locations C. From the first identified address, the corresponding sequence next address is obtained

0 4 8 C0 4 8 C

4 O C 84 O C 8

8 C O 48 C O 4

C 8 4 OC 8 4 O

Ces séquences sont obtenues du fait qu'une adresse mémoire peut se produire en un quelconque point de la ligne cache Les données appropriées sont ensuite accédées conformément à la séquence d'adresses appropriée et sont  These sequences are obtained from the fact that a memory address can occur at any point on the cache line. The appropriate data are then accessed in accordance with the appropriate address sequence and are

produites pour chaque cycle de processeur suivant.  produced for each subsequent processor cycle.

Schémas de cadencementTiming diagrams

Les descriptions de schémas de cadencement de diverses  Descriptions of timing diagrams of various

opérations caches suivent Elles n'entendent pas être exhaustives mais seulement représentatives des opérations du système de code Il est à noter qu'afin de convoyer complètement la séquence d'opérations, des signaux non générés dans le contrôleur cache ont été inclus Par ailleurs, tous les signaux destinés au contrôleur cache sont représentés mais ils peuvent ne pas être utilisés pour une opération particulière A nouveau,  hidden operations follow They are not intended to be exhaustive but only representative of the operations of the code system It should be noted that in order to completely convey the sequence of operations, signals not generated in the cache controller have been included Furthermore, all the signals intended for the cache controller are shown but they may not be used for a particular operation Again,

ceci est proposé par souci de présenter une description  this is proposed for the sake of presenting a description

complète. La figure 6 est un schéma de cadencement pour une lecture d'intervention de cache de niveau deux, avec zéro état d'attente Les lectures d'intervention de cache de niveau deux sont manipulées de la même façon selon que le cache de niveau deux est dans une écriture en double ou écriture différée Le cycle est initialisé par ADS# 601 et il est terminé par BRDY# 602 Le signal ADS# 601 est produit par le processeur tandis que le signal BRDY# 602 est généré par la partie d'interface de CPU du CDC (comme représenté sur la figure 2) Il est à noter que le signal BRDY# 602 est utilisé pour des accès en mode salve Une comparaison d'étiquette est terminée avant le front descendant du cycle d'horloge T 2 603 afin de déterminer si oui ou non il s'agit d'une intervention de cache ou d'un manque de cache S'il s'agit d'une intervention de cache, le signal BRDY# 602 est généré au milieu du cycle d'horloge T 2, sur le front descendant du signal CLK 1 604, et il est échantillonné par la CPU à la fin du cycle d'horloge T 2 603 Les DWORDS suivant lors de la lecture par salve sont échantillonnés à la fin d'un cycle d'horloge consécutif afin de terminer la lecture par salve selon les cycles d'horloge 2-1-1-1 Pendant les lectures d'intervention de cache de niveau deux, les bits étiquette, valide et modifiés correspondant aux DRAM contenues dans la mémoire cache qui sont lues restent inchangés Le signal CALE 605 est utilisé pour verrouiller l'adresse de CPU dans des dispositifs de verrouillage transparents externes Les bits d'adresse inférieurs CA ( 3: 2) 606 sont pilotés directement par le CDC en utilisant la  complete. FIG. 6 is a timing diagram for a level two cache intervention read, with zero standby state The level two cache intervention reads are handled in the same way depending on whether the level two cache is in a duplicate or delayed write The cycle is initialized by ADS # 601 and it is ended by BRDY # 602 The ADS # 601 signal is produced by the processor while the BRDY # 602 signal is generated by the interface part of CDC CPU (as shown in figure 2) It should be noted that the signal BRDY # 602 is used for burst mode accesses A label comparison is completed before the falling edge of the clock cycle T 2 603 in order to determine whether or not it is a cache intervention or a lack of cache If it is a cache intervention, the signal BRDY # 602 is generated in the middle of the clock cycle T 2, on the falling edge of signal CLK 1 604, and it is sampled by the CPU at the end of the clock cycle T 2 603 The following DWORDS during the burst reading are sampled at the end of a consecutive clock cycle in order to complete the burst reading according to the clock cycles 2 -1-1-1 During level two cache intervention readings, the label, valid and modified bits corresponding to the DRAMs contained in the cache memory which are read remain unchanged. The signal CALE 605 is used to lock the address of CPUs in external transparent locking devices The lower address bits CA (3: 2) 606 are controlled directly by the CDC using the

prédiction de l'ordre des adresses décrite ci-avant.  prediction of the order of addresses described above.

La figure 7 est un diagramme temporel d'une écriture d'intervention de cache de niveau deux avec zéro état d'attente dans le mode écriture double de niveau deux Le cycle est initialisé par ADS#701 et il se termine avec zéro état d'attente du fait d'un enregistrement d'écriture au niveau de la DPU (depuis laquelle des données sont ensuite écrites dans la mémoire DRAM) et le signal RDY#704 est envoyé en retour à la CPU lors du cycle d'horloge T 2 702 Comme dans le cas de la lecture d'intervention, la comparaison d'étiquette est terminée avant le front descendant du cycle d'horloge T 2 701 et elle est utilisée pour déterminer si oui ou non les signaux CWE l 3: 0 l#703 doivent être activés lors du cycle d'horloge T 2 702 S'il s'agit d'une intervention, CWE l 3: O l# sont produits pendant la seconde moitié du cycle d'horloge T 2 et la ligne cache de niveau deux est mise à jour au même instant que celui auquel elle est enregistrée dans la DPU Le CDC initialise alors un cycle d'écriture de DRAM qui est terminé peu de cycles d'horloge après en utilisant l'adresse enregistrée dans le CDC et les données enregistrées dans la DPU (le cadencement du cycle d'écriture de  FIG. 7 is a time diagram of a level two cache intervention write with zero waiting state in the double level two write mode. The cycle is initialized by ADS # 701 and it ends with zero state. waiting due to a write record at the DPU (from which data is then written to the DRAM memory) and the signal RDY # 704 is sent back to the CPU during the clock cycle T 2 702 As in the case of intervention reading, the label comparison is completed before the falling edge of the clock cycle T 2 701 and it is used to determine whether or not the CWE signals l 3: 0 l # 703 must be activated during the T 2 clock cycle 702 If this is an intervention, CWE l 3: O l # are produced during the second half of the T 2 clock cycle and the level two cache line is updated at the same time as that at which it is recorded in the DPU The CDC then initializes a DRAM write cycle which is completed shortly after clock cycles using the address recorded in the CDC and the data recorded in the DPU (the timing of the write cycle of

DRAM n'est pas représenté).DRAM is not shown).

La figure 8 est un schéma de cadencement d'une écriture d'intervention de cache de niveau deux avec zéro état d'attente dans le mode écriture différée de niveau deux Le cycle est très similaire au cas de l'écriture en double de niveau deux à ceci près que le CDC n'initialise pas un cycle d'écriture de DRAM immédiatement Les nouvelles données sont écrites dans la ligne cache de niveau deux et le bit modifié correspondant à cette ligne est repéré par "DIRTY" afin d'indiquer que les données sont différentes des données contenues dans la DRAM Les signaux DIRTYD 801 et DWE#802 sont utilisés à cette fin Le signal DWE#802 présente le même cadencement que les signaux CWE l 3 : 0 l#803 en ce qu'il ne peut pas être produit avant que l'information d'intervention/manque de cache ne soit valide et en ce qu'il doit également être abandonné avant la fin du cycle avec zéro état d'attente Aucune donnée n'est enregistrée dans la DPU  FIG. 8 is a timing diagram of a level two cache intervention writing with zero waiting state in the level two deferred writing mode. The cycle is very similar to the case of the level two duplicate writing. except that the CDC does not initialize a DRAM write cycle immediately. The new data is written in the level two cache line and the modified bit corresponding to this line is marked with "DIRTY" to indicate that the data are different from the data contained in the DRAM DIRTYD 801 and DWE # 802 signals are used for this purpose The DWE # 802 signal has the same timing as CWE l 3: 0 l # 803 signals in that it cannot be produced before the intervention / lack of cache information is valid and in that it must also be abandoned before the end of the cycle with zero waiting state No data is recorded in the DPU

pour ce type de cycle.for this type of cycle.

Comme il apparaît au vu des schémas de cadencement présentés ci-avant, les signaux de commande de cache doivent être alignés précisément avec le signal CLK 1 système Bien que ceci ne soit pas représenté, les signaux de commande de cache sont déclenchés en relation avec le signal d'horloge 2 X appliqué sur le CDC Moyennant cette horloge ainsi que la corrélation de signal intime décrite ci-avant, un fonctionnement avec zéro état  As it appears from the timing diagrams presented above, the cache control signals must be precisely aligned with the CLK 1 system signal. Although this is not shown, the cache control signals are triggered in relation to the 2 X clock signal applied to the CDC By means of this clock as well as the intimate signal correlation described above, operation with zero state

d'attente peut être obtenu.waiting can be obtained.

Ainsi, un cache mémoire système avec zéro état d'attente  So a system memory cache with zero wait state

qui utilise des groupes non entrelacés de SRAM a été décrit.  which uses non-interleaved groups of SRAM has been described.

ANNEXE AANNEX A

SIGNAUX DE CONTROLEUR DE DRAM CACHEHIDDEN DRAM CONTROLLER SIGNALS

Sicinaux d'interface de CPU hôteHost CPU interface Sicinals

Nom de Type DescriptionType Name Description

broche/ Sig nal CPURST Sortie Le signal de remise à l'état initial de CPU force la CPU à démarrer une exécution pour un état connu Le signal CPURST est appliqué chaque fois que le signal PWROK est à un niveau bas ou que le signal CPURST est validé par l'intermédiaire du registre TRC Lorsque le CDC est programmé pour un type de CPU autre qu'un processeur de classe supérieure, ce signal synchrone est également appliqué chaque fois que le signal SRESET# est actif ou qu'un cycle de coupure est détecté Le CDC assure au moins en utilisation une impulsion de signal CPURST d'une largeur de 1 mais cependant, une exigence de largeur d'impulsion de remise à l'état initial de mise en route de 1 milliseconde pour la CPU doit être satisfaite par la durée inactive du  spindle / Sig nal CPURST Output The reset signal of the CPU forces the CPU to start an execution for a known state The CPURST signal is applied each time the PWROK signal is at a low level or the CPURST signal is validated via the register TRC When the CDC is programmed for a type of CPU other than a higher class processor, this synchronous signal is also applied each time the signal SRESET # is active or a cut cycle is detected The CDC ensures at least in use a CPURST signal pulse of a width of 1 but however, a requirement of pulse width of reset to initialization of startup of 1 millisecond for the CPU must be satisfied by the inactive duration of the

signal PWROK.PWROK signal.

Entrée/ sortieEnter exit

Al 31 2 l sont les lignes d'adresse de la CPU.  Al 31 2 l are the address lines of the CPU.

Al 31 2 l ainsi que BEl 3: O l# de validation d'octet définissent la zone physique de la  Al 31 2 l as well as BEl 3: O l # of byte validation define the physical area of the

mémoire ou espace d'entrée/sortie accédé.  memory or input / output space accessed.

Al 31: 4 l sont utilisés pour piloter des adresses dans la CPU et dans le cache secondaire afin de réaliser des cycles d'écoute (interrogation) de cache Al 3: 2 l ne sont pas utilisés par la CPU pendant des cycles d'écoute mais cependant, ils sont pilotés à un niveau bas par le CDC au lieu  Al 31: 4 l are used to drive addresses in the CPU and in the secondary cache in order to perform cache listening (interrogation) cycles Al 3: 2 l are not used by the CPU during listening cycles but however, they are driven at a low level by the CDC instead

que ces signaux soient autorisés à flotter.  that these signals be allowed to float.

BEl 3: O l# Entrée Les signaux de validation d'octet indiquent des octets actifs pendant des cycles de lecture et d'écriture BE 3# s'applique à Dl 31 : 24 l, BE 2# s'applique à Dl 23: 16 l, BE 1# s'applique à Dl 15: 8 l et BEO# s'applique à  BEl 3: O l # Input Byte validation signals indicate active bytes during read and write cycles BE 3 # applies to Dl 31: 24 l, BE 2 # applies to Dl 23: 16 l, BE 1 # applies to Dl 15: 8 l and BEO # applies to

Dl 7: O l.Dl 7: O l.

Al 31: 2 lAl 31: 2 l

HLOCK#HLOCK #

Entrée PLOCK# | Entrée Le signal de verrouillage de bus indique que le cycle de bus de CPU courant est verrouillé HLOCK#, piloté par la CPU, devient normalement actif pendant la première horloge du premier cycle de bus verrouillé et devient normalement inactif pendant la dernière horloge du dernier cycle verrouillé HLOCK# devient actif pendant  PLOCK entry # | Input The bus lock signal indicates that the current CPU bus cycle is locked HLOCK #, controlled by the CPU, becomes normally active during the first clock of the first bus cycle locked and normally becomes inactive during the last clock of the last cycle locked HLOCK # becomes active for

les opérations de lecture-modification-  read-modify operations

écriture Les opérations verrouillées sont une combinaison d'un ou de plusieurs cycles de lecture suivie par un cycle d'écriture ou plus. Pour le processeur de classe supérieure, avant qu'un cycle verrouillé ne soit généré, le processeur de classe supérieure vérifie si la ligne est dans un état M Si c'est le cas, le processseur de classe supérieure effectue une écriture différée puis applique  write Locked operations are a combination of one or more read cycles followed by one or more write cycles. For the higher class processor, before a locked cycle is generated, the higher class processor checks if the line is in an M state If this is the case, the higher class processor performs a delayed write then applies

le cycle verrouillé sur le bus externe.  the cycle locked on the external bus.

Le signal de pseudo-verrouillage indique que la transaction de bus de CPU courante nécessite plus d'un cycle de bus pour se terminer Des exemples de ces opérations sont des lecture et écriture longues flottantes ( 64 bits), des lectures de descripteur de table de segments ( 64 bits) et des cycles de lecture et d'écriture différées de ligne cache de processeur de classe supérieure ( 256 bits) Le signal PLOCK# est rendu actif jusqu'à ce que les adresses pour le dernier cycle de bus de la  The pseudo-lock signal indicates that the current CPU bus transaction requires more than one bus cycle to complete. Examples of these operations are long floating (64 bit) read and write, table descriptor reads segments (64 bits) and lazy read and write cycles of higher class processor cache line (256 bits) The signal PLOCK # is made active until the addresses for the last bus cycle of the

transaction soient pilotées.transaction are piloted.

Les lignes de mémoire/entrée-sortie, de données/commandes et d'écriture/lecture sont des signaux de définition de cycle de bus primaire Le tableau qui suit décrit les  The memory / input-output, data / command and write / read lines are primary bus cycle definition signals.The following table describes the

cycles de bus.bus cycles.

M/10 D/C#M / 10 D / C #

bas bas bas bas haut haut haut haut bas bas haut haut bas bas haut haut WR_# Cycle de bus initialisé bas Interruption accusé de réception haut Arrêt cycle spécial bas Lecture 1/0 haut Ecriture 1/0 bas Lecture de code haut Réservé bas Lecture mémoire haut Ecriture mémoire ADS# Entrée L'entrée d'adresse indique qu'une définition de cycle de bus valide, des validations d'octet et des adresses sont disponibles sur  low low low low high high high high low low high high low low high high WR_ # Bus cycle initialized low Interrupt acknowledgment high Stop special cycle low Read 1/0 high Write 1/0 low Code read high Reserved low Read memory top ADS memory write # Input The address input indicates that a valid bus cycle definition, byte validations and addresses are available on

leurs broches correspondantes.their corresponding pins.

RDY# Entrée La sortie prêt avec absence de salve indique  RDY # Input The ready output with no burst indicates

que le cycle de bus courant est terminé.  that the current bus cycle has ended.

RDY# indique que le système a présenté des données valides à la CPU en réponse à une lecture ou que le système a accepté des données en provenance de la CPU en réponse  RDY # indicates that the system presented valid data to the CPU in response to a read or that the system accepted data from the CPU in response

à une écriture.to a writing.

M/10# D/C# W/R# Entrée Entrée Entrée BRDY# Entrée La sortie prêt avec salve réalise la même fonction pendant un cycle de salve que RDY#  M / 10 # D / C # W / R # Input Input Input BRDY # Input The output ready with burst performs the same function during a burst cycle as RDY #

réalise pendant un cycle de non salve.  performs during a non-burst cycle.

BRDY# indique que le système a présenté des données valides en réponse à une lecture ou que le système a accepté des  BRDY # indicates that the system has presented valid data in response to a read or that the system has accepted

données en réponse à une écriture.  data in response to a write.

BOFF# Sortie Le signal de sortie d'interruption avec point de reprise force la CPU à faire flotter son bus pendant l'horloge suivante La CPU reste dans un état de maintien de bus jusqu'à ce que BOFF# soit rendu négatif BOFF# est utilisé pour mettre fin à un cycle CPU lorsque la ressource système qui est accédée n'est pas facilement disponible et qu'il y a une éventualité d'interblocage Si un cycle de bus est en train de se dérouler lorsque BOFF# est produit, le cycle est redémarré par la CPU depuis le point o il  BOFF # Output The interrupt output signal with resume point forces the CPU to float its bus for the next clock The CPU remains in a bus hold state until BOFF # is negative BOFF # is used to end a CPU cycle when the system resource being accessed is not readily available and there is a deadlock event If a bus cycle is taking place when BOFF # is produced, the cycle is restarted by the CPU from the point where it

est interrompu.is interrupted.

Pour le processeur de classe supérieure, si une écriture différée de ligne modifiée due à une écoute externe est en souffrance dans le processeur, elle est émise en sortie après que BOFF# est rendu négatif mais avant que le cycle interrompu ne soit redémarré. Sortie Le signal de sortie maintien d'adresse force la CPU à faire flotter son bus d'adresse pendant l'horloge suivante Le CDC applique ce signal en préparation de la réalisation d'une invalidation de cache (i 4865 X, i 487 SX, i 486 DX, i 486 DX 2) ou de cycles (processeur de classe supérieure) d'interrogation de cache Le CDC pilote toujours l'adresse sur le bus hôte en partant de la troisième horloge sur laquelle AHOLD est appliqué et il continue à piloter les adresses jusqu'à ce que AHOLD soit  For the higher class processor, if a modified delayed line write due to an external listening is pending in the processor, it is output when BOFF # is made negative but before the interrupted cycle is restarted. Output The address maintenance output signal forces the CPU to float its address bus during the next clock The CDC applies this signal in preparation for carrying out a cache invalidation (i 4865 X, i 487 SX, i 486 DX, i 486 DX 2) or cache interrogation cycles (higher class processor) The CDC always controls the address on the host bus starting from the third clock on which AHOLD is applied and it continues to control addresses until AHOLD is

rendu négatif.made negative.

EADS# Sortie Ce signal indique qu'une adresse externe valide a été pilotée sur les lignes d'adresse de CPU Cette adresse sera utilisée pour réaliser une invalidation de cache interne  EADS # Output This signal indicates that a valid external address has been driven on the CPU address lines This address will be used to perform an internal cache invalidation

ou un cycle d'interrogation de cache.  or a cache interrogation cycle.

KEN# Sortie Le signal de sortie validation de cache est utilisé pour indiquer si oui ou non le cycle courant peut être caché dans le cache interne de CPU (cache primaire ou de  KEN # Output The cache enable output signal is used to indicate whether or not the current cycle can be hidden in the internal CPU cache (primary or

premier niveau).first level).

PWT Entrée Le signal d'entrée écriture en double de page indique que le cycle de mémoire courant peut être caché dans le cache secondaire s'il est validé dans le mode  PWT Input The double page write input signal indicates that the current memory cycle can be hidden in the secondary cache if it is enabled in the mode.

écriture en double.duplicate writing.

AHOLD PCD/ Entrée La broche d'entrée invalidation de cache de page, lorsqu'elle est active, indique que le cycle courant ne peut pas être caché dans le cache secondaire pendant une opération de remplissage de ligne cache Lorsque PCD est appliqué, le lien n'est pas caché dans Ll ou L 2. HITM# Entrée La broche d'entrée d'intervention de cache /DIRTYQ modifié indique qu'une intervention sur un  AHOLD PCD / Input The page cache invalidation input pin, when active, indicates that the current cycle cannot be hidden in the secondary cache during a cache line filling operation When PCD is applied, the link is not hidden in Ll or L 2. HITM # Input The modified cache intervention / DIRTYQ input pin indicates that an intervention on a

cache de données modifié est survenue.  modified data cache has occurred.

HITM# est échantillonné deux horloges  HITM # is sampled two clocks

après que EADS# est appliqué.after EADS # is applied.

PCD/ Entrée La broche cache est active simultanément CACHE# au premier ADS# jusqu'au premier transfert Lors de remplissages de lignes, la fonctionnalité du signal CACHE# est identique à celle du signal PCD CACHE# est appliqué pour chaque demi-remplissage de ligne cache Pendant des cycles d'écriture différée, CACHE# est appliqué seulement pendant la première moitié du remplissage de ligne Le début d'un cycle d'écriture différé est identifié uniquement par ADS#, W/R# et CACHE# ensemble Le commencement d'une écriture différée d'écoute est identifié par ADS#, W/R#, CACHE# et HITM# qui sont activés ensemble. INV Sortie Le signal de sortie invalidation spécifie /DWE quel état final (invalide ou partagé) une ligne cache subit de façon transitoire jusqu'à l'éventualité d'une intervention de cache pendant un cycle d'interrogation de la CPU. Sortie Le signal d'initialisation force la CPU à  PCD / Input The cache pin is active simultaneously CACHE # on the first ADS # until the first transfer When filling lines, the functionality of the CACHE # signal is identical to that of the PCD signal CACHE # is applied for each line half-filling cache During write-back cycles, CACHE # is applied only during the first half of line filling The start of a write-back cycle is identified only by ADS #, W / R # and CACHE # together The beginning of 'Listening writeback is identified by ADS #, W / R #, CACHE # and HITM # which are activated together. INV Output The invalidation output signal specifies / DWE which end state (invalid or shared) a cache line transiently undergoes until the possibility of a cache intervention during a CPU interrogation cycle. Output The initialization signal forces the CPU to

démarrer une exécution pour un état connu.  start an execution for a known state.

L'état interne du processeur est le même que l'état après RESET à ceci près que les caches internes, les registres de vérification machine et les registres de virgule flottante retiennent les valeurs qu'ils avaient avant INIT INIT est appliqué par le CDC chaque fois que SRESET# est échantillonné comme étant actif et qu'un cycle de coupure est détecté ou qu'une séquence de remise à l'état initial chaude est initialisée par l'intermédiaire du registre TRC Le CDC assure une largeur d'impulsion minimum de 4 horloges pour le  The internal state of the processor is the same as the state after RESET except that the internal caches, the machine check registers and the floating point registers retain the values they had before INIT INIT is applied by the CDC each once SRESET # is sampled as active and a cut-off cycle is detected or a hot reset sequence is initiated via the TRC register The CDC ensures a minimum pulse width of 4 clocks for the

signal INIT.INIT signal.

Niveau 2 Interface de commande de cache  Level 2 Cache control interface

Nom de Type DescriptionType Name Description

broche/ Signal LCAl 3:2 l Sortie Les signaux l 3:2 l d'adresse de cache génèrent la séquence de salve requise par la  pin / LCAl signal 3: 2 l Output Signals l 3: 2 l cache address generate the burst sequence required by the

HCAl 3:2 l CPU pendant des accès de cache secondaire.  HCAl 3: 2 l CPU during secondary cache accesses.

Le CDC verrouille l'adresse de salve qui débute et génère de façon interne des adresses de mot suivantes pour la totalité de la ligne cache Ces signaux sont corrélés à l'horloge Un jeu séparé de signaux CAl 3:2 l est produit pour le groupe inférieur et pour le groupe supérieur de manière à maintenir la constante de chargement captive sur  The CDC locks the burst address that begins and internally generates the following word addresses for the entire cache line These signals are correlated to the clock A separate set of CAl 3: 2 l signals is produced for the group lower and for the upper group so as to maintain the captive loading constant on

LCAl 3:2 l et HCAl 3:21.LCAl 3: 2 l and HCAl 3:21.

INIT CC 51# Sortie Les signaux de sortie de sélection de puce de cache de groupe inférieur indiquent que le groupe de données de cache inférieur est  INIT CC 51 # Output The lower group cache chip selection output signals indicate that the lower cache data group is

sélectionné pour l'opération cache courante.  selected for the current cache operation.

Dimension du cache Plage d'adresses pour LCCS# actif  Cache size Address space for active LCCS #

64 K 0-32 K64K 0-32K

128 K 0-128 K128 K 0-128 K

256 K 0-128 K256 K 0-128 K

512 K 0-512 K512 K 0-512 K

CC 52# Sortie Les signaux de sortie de sélection de puce de cache de groupe supérieur indiquent quel groupe de données de cache est sélectionné pour l'opération cache courante La dimension de cache secondaire sélectionnée définit la plage d'adresses dans laquelle  CC 52 # Output The top group cache chip selection output signals indicate which cache data group is selected for the current cache operation The selected secondary cache dimension defines the address range in which

ces signaux sont pilotés à l'état actif.  these signals are controlled in the active state.

Dimension du cache Plage d'adresses pour LCCS# actif  Cache size Address space for active LCCS #

64 K 32 K-64 K64K 32K-64K

128 K non actif128 K not active

256 K 128 K-256 K256 K 128 K-256 K

512 K non actif CWEl 3:0 l Sortie Les signaux de sortie de validation d'écriture de cache procurent une capacité d'écriture importante d'octets dans le cache secondaire pendant des remplissages de ligne cache ou des interventions d'écriture cache. COE# Sortie Le signal de sortie de validation de sortie de cache est utilisé pour réaliser les cycles de lecture à partir des SRAM de données de cache Ce signal est connecté aux broches de validation de sortie des SRAM de données  512 K not active CWEl 3: 0 l Output The cache write validation output signals provide a significant capacity for writing bytes to the secondary cache during cache line fills or cache write operations. COE # Output The cache output validation output signal is used to carry out the read cycles from the cache data SRAMs This signal is connected to the output validation pins of the data SRAMs

de cache.of cache.

CALE Sortie Le signal de sortie de validation de verrouillage d'adresse de cache assure le cadencement de commande approprié pour les dispositifs de verrouillage qui créent le bus d'adresse de cache CAl 18:4 l à partir du  CALE Output The cache address lock enable output signal provides the proper control timing for the locks that create the CAl 18: 4 l cache address bus from the

bus d'adresse de CPU hôte Al 18:4 l.  Al 18 host CPU address bus: 4 l.

TWE# Sortie Le signal de validation d'écriture d'étiquette est connecté à la broche de validation d'écriture de SRAM d'étiquette (WE#) TWE# est actif pendant des cycles de manque de lecture de CPU lorsque le  TWE # Output The label write enable signal is connected to the label SRAM write enable pin (WE #) TWE # is active during CPU read failure cycles when the

cache est mis à jour.cache is updated.

TOE# Sortie Le signal de validation de sortie d'étiquette commande la broche de validation de sortie des SRAM d'étiquette Lorsqu'il est actif, l'adresse d'étiquette et les bits valides sont pilotés dans le CDC Ce signal est normalement actif et il est piloté dans l'état inactif seulement pendant une mise à  TOE # Output The label output validation signal controls the output validation pin of the label SRAMs When active, the label address and the valid bits are controlled in the CDC This signal is normally active and it is piloted in the inactive state only during an update

jour d'étiquette.etiquette day.

VALID Entrée/ Le signal valide indique la validité des Sortie données dans les SRAM de données de cache sur une base ligne par ligne VALID est utilisé ensemble avec l'adresse d'étiquette pour rendre la décision intervention/manquement de cache par le CDC S'il est échantillonné à un niveau bas pendant un cycle de lecture de mémoire CPU, les données ne sont pas valides dans le cache Pendant un cycle d'invalidation, le signal VALID est forcé à un niveau bas, ce qui indique que les données ne sont pas valides. Lorsque VALID est échantillonné à O pendant le front croissant du signal PWROK, alors le CDC entre dans le mode test défini par les lignes TAl 7:4 l Lorsque VALID est échantillonné à un niveau haut pendant le front croissant du signal PWROK, le CDC  VALID Entry / The valid signal indicates the validity of the Exit data in the SRAM of cache data on a line by line basis VALID is used together with the address of label to make the decision intervention / failure of cache by the CDC S ' it is sampled at a low level during a CPU memory read cycle, the data is not valid in the cache During an invalidation cycle, the VALID signal is forced to a low level, which indicates that the data is not not valid. When VALID is sampled at O during the rising edge of the PWROK signal, then the CDC enters the test mode defined by the lines TAl 7: 4 l When VALID is sampled at a high level during the rising edge of the PWROK signal, the CDC

entre dans le mode fonctionnement normal.  enters normal operating mode.

DIRTYD Sortie Le signal de sortie d'entrée de modification indique si oui ou non les données contenues dans le cache secondaire sont repérées comme étant modifiées Ce signal est connecté à l'entrée de donnée de la SRAM modifiée. HITM# Sortie Le signal de sortie de modification indique /DIRTYQ si oui ou non les données contenues dans le cache secondaire sont repérées comme étant modifiées Ce signal est connecté à la  DIRTYD Output The modification input output signal indicates whether or not the data contained in the secondary cache is marked as modified. This signal is connected to the data input of the modified SRAM. HITM # Output The modification output signal indicates / DIRTYQ whether or not the data contained in the secondary cache is marked as modified This signal is connected to the

sortie de donnée de la SRAM modifiée.  modified SRAM data output.

INV Sortie Le signal de sortie de validation d'écriture /DWE# de bit modifié devient actif lorsque la CPU réalise un cycle WRITE (écriture) dans le cache d'écriture différée secondaire Ce signal est connecté à l'entrée WE# de la  INV Output The modified bit write / DWE # validation output signal becomes active when the CPU performs a WRITE (write) cycle in the secondary delayed write cache This signal is connected to the WE # input of the

SRAM modifiée.SRAM changed.

Les signaux d'adresse d'étiquette sont directement connectés au bus de données de SRAM d'étiquette La table qui suit définit la relation qui lie une adresse d'étiquette et une adresse de CPU en fonction de la dimension du cache secondaire Ce mappage est réalisé par le CDC sur la base de la  The label address signals are directly connected to the label SRAM data bus The following table defines the relation which binds a label address and a CPU address according to the size of the secondary cache This mapping is produced by the CDC on the basis of

configuration dimensionnelle du cache.  dimensional configuration of the cache.

* Dimension du cache TAl 7:0 l correspond à 64 K-octets Al 23:16 l 128 K-octets Al 24:17 l 256 K-octets Al 25:18 l 512 K-octets Al 26:19 l Ces broches sont également utilisées en tant qu'entrées pour définir des options de branchement et des modes test du CDC Les niveaux de signal TAl 7:4 l sont échantillonnés lors du front croissant du* TAl cache size 7: 0 l corresponds to 64 K-bytes Al 23:16 l 128 K-bytes Al 24:17 l 256 K-bytes Al 25:18 l 512 K-bytes Al 26:19 l These pins are also used as inputs to define connection options and CDC test modes. The TAl signal levels 7: 4 l are sampled during the rising edge of the

signal PWROK afin de définir le mode test.  PWROK signal to define the test mode.

Se reporter à la section 5 "Testability  Refer to section 5 "Testability

Considerations" pour une description des  Considerations "for a description of

modes test supportés par le CDC De façon similaire, les niveaux de signal TAl 2:0 l sont échantillonnés lors du front croissant du signal PWROK pour définir les options de branchement décrites ci-après: Siagnal Options de branchement TAl 1:0 l Vitesse du CPU hôte, bits du TA 2  test modes supported by the CDC Similarly, the TAl 2: 0 l signal levels are sampled during the rising edge of the PWROK signal to define the connection options described below: Siagnal TAl 1 connection options: 0 l Speed of the Host CPU, TA 2 bits

registre HCSl 1:0 l.HCSl register 1: 0 l.

Etat d'attente de lecture/ /écriture de cache, bit SCC l 2 TAl 7:0 l Entrée/ Sortie Interface de commande de DRAM  Cache read / write write wait state, bit SCC l 2 TAl 7: 0 l Input / Output DRAM command interface

Nom de Type DescriptionType Name Description

broche/ Signal EMAO, Sortie Le bus d'adresse de DRAM multiplexé OMAO, Sortie produit l'information d'adresse de rangée de MAl 10:1 l Sortie colonne pour les DRAM Un tamponnage externe est requis Deux signaux constituent les lignes d'adresse de DRAM multiplexées les moins significatives, une pour le mot pair (EMAO) et une pour le mot  pin / EMAO signal, Output The OMAO multiplexed DRAM address bus, Output produces MAl 10: 1 row address information Column output for DRAMs External buffering is required Two signals constitute the address lines least significant multiplexed DRAMs, one for the even word (EMAO) and one for the word

impair (OAMO).odd (OAMO).

RASl 3:0 l# Sortie Chaque signal de sortie de synchronisation d'adresse de rangée correspond à une rangée de DRAM de huit octets Ces signaux sont utilisés pour verrouiller les adresses de rangée sur EMAO, OMAO et sur le bus MAl 10:1 l dans les DRAM Ces signaux pilotent les DRAM directement sans de  RASl 3: 0 l # Output Each row address synchronization output signal corresponds to an eight-byte DRAM row These signals are used to lock the row addresses on EMAO, OMAO and on the MAl bus 10: 1 l in DRAMs These signals control the DRAMs directly without

quelconques tampons externes.any external buffers.

CASl 7:0 l# Sortie Les signaux de sortie de synchronisation d'adresse de colonne sont utilisés pour verrouiller les adresses de colonne sur EMAO, OMAO et sur le bus MAl 10:1 l dans les DRAM CASl 7:0 l# correspond aux lignes d'octet 7:0 du réseau de DRAM entrelacées bidirectionnelles présentant une largeur de huit octets Ces signaux pilotent les DRAM directement sans de quelconques tampons externes. WE#/ Sortie Le signal de sortie de validation d'écriture MR/W# est tamponné de façon externe afin de piloter les entrées de validation d'écriture  CASl 7: 0 l # Output The column address synchronization output signals are used to lock the column addresses on EMAO, OMAO and on the MAl bus 10: 1 l in DRAM CASl 7: 0 l # corresponds to Byte lines 7: 0 of the two-way interleaved DRAM network with a width of eight bytes These signals drive the DRAMs directly without any external buffers. WE # / Output The write enable output signal MR / W # is externally buffered to drive the write enable inputs

(WE#) des DRAM.(WE #) DRAM.

La remise à l'état initial du bus PCI force les interfaces PCI de chaque dispositif dans un état connu La totalité des trois états de CDC de ses signaux PCI bidirectionnels et à collecteur ouvert pilotent les signaux REQ#  Resetting the PCI bus to the original state forces each device's PCI interfaces to a known state All of the three CDC states of its bidirectional, open-collector PCI signals drive REQ # signals

et MEMACK# dans leurs états inactifs.  and MEMACK # in their inactive states.

PCIRST est piloté pendant une mise en route et lorsqu'une séquence de remise à l'état initial par action électrique est initialisée par l'intermédiaire du registre TRC. Signaux d'adresse PCI Lorsque le CDC joue le rôle de maître sur le bus PCI, les signaux ADl 31:0 l sont dans le mode sortie, pendant la première période d'horloge PCI d'un cycle de bus local ADl 31:0 l contiennent une adresse physique Pendant des horloges suivantes, les lignes ADl 31:0 l sont mises à l'état flottant par le CDC Lorsque le CDC joue le rôle de cible sur le bus PCI, les signaux ADl 31:0 l contiennent l'adresse pendant la première horloge et pendant des horloges suivantes de données mais la voie de données pour les cycles initialisés PCI jusqu'au CDC ne traverse pas le CDC ADl 31:0 l SortieEntrée/ Sortie C/BEl 3:0 l # Entrée/ Sortie Signaux de commande de bus et de validation d'octet qui sont multiplexés sur les mêmes broches Pendant la phase d'adresse d'une transaction, C/BEl 3:0 l# définit la commande de bus pendant la phase, des signaux C/BEl 3:0 l# sont utilisés en tant que validations d'octet Les validations d'octet déterminent quelles voies d'octet sont porteuses de données empreintes de sens Un codage de commande de bus local PCI et des types de commandes  PCIRST is controlled during start-up and when an electrical action reset sequence is initiated via the TRC register. PCI address signals When the CDC plays the role of master on the PCI bus, the ADl 31: 0 l signals are in the output mode, during the first PCI clock period of a local bus ADl 31: 0 cycle. l contain a physical address During following clocks, the lines ADl 31: 0 l are put in floating state by the CDC When the CDC plays the role of target on the PCI bus, the signals ADl 31: 0 l contain the address during the first clock and during subsequent data clocks but the data channel for the cycles initialized PCI to the CDC does not cross the CDC ADl 31: 0 l Input / Output C / BEl 3: 0 l # Input / Output Bus control and byte enable signals that are multiplexed on the same pins During the address phase of a transaction, C / BEl 3: 0 l # defines the bus command during the phase, C / BEl 3: 0 l # are used as byte validations Byte validations determine which byte channels s have meaningful data carriers PCI local bus command encoding and command types

sont listés ci-après.are listed below.

C/BEl 3:0 l# Type de commande Interruption accusé de réception Cycle spécial Lecture I/O Ecriture I/O Réservé Réservé Lecture mémoire Ecriture mémoire Réservé Réservé Configuration Ecriture configuration Réservé Ecriture et invalidation mémoire Lecture mémoire longue Ecriture mémoire enrecgistrable FRAME# Entrée Séquence de cycle est une sortie lorsque le  C / BEl 3: 0 l # Command type Interruption acknowledgment Special cycle Read I / O Write I / O Reserved Reserved Read memory Write memory Write Reserved Reserved Configuration Write configuration Reserved Write and disable memory Read long memory Write recordable memory FRAME # Input Cycle sequence is an output when the

Sortie CDC joue le rôle de maître sur le bus PCI.  CDC output plays the role of master on the PCI bus.

FRAME# est piloté par le CDC afinFRAME # is piloted by the CDC so

d'indiquer le début et la durée d'un accès.  indicate the start and duration of an access.

FRAME# est appliqué pour indiquer qu'une transaction de bus commence Tandis que FRAME# est appliqué, les transferts de données se poursuivent Lorsque FRAME# n'est plus appliqué, la transaction est dans la phase de données finale FRAME# est une entrée lorsque le CDC joue le rôle d'esclave PCI Lorsque le CDC joue le rôle de cible sur le bus PCI, il verrouille les signaux C/BEl 3:0 l et ADl 31:0 l sur le front d'horloge sur lequel il échantillonne FRAME# à l'état actif. TRDY# Entrée/ Prêt cible est une entrée lorsque CDC joue  FRAME # is applied to indicate that a bus transaction is starting While FRAME # is applied, data transfers continue When FRAME # is no longer applied, the transaction is in the final data phase FRAME # is an entry when the CDC plays the role of PCI slave When the CDC plays the role of target on the PCI bus, it locks the C / BEl signals 3: 0 l and ADl 31: 0 l on the clock front on which it samples FRAME # in active state. TRDY # Target Entry / Loan is an entry when CDC is playing

Sortie le rôle de maître sur le bus PCI.  Exit the master role on the PCI bus.

L'application de TRDY# indique la capacité d'action de cible pour terminer la phase de données courante de la transaction Pour des cycles de lecture, TRDY# indique que la cible a piloté des données de lecture valides sur le bus local PCI Pour un cycle d'écriture, TRDY# indique que la cible est préparée à accepter des données d'écriture en provenance du bus PCI TRDY# est une sortie lorsque le CDC joue le rôle d'esclave PCI. IRDY# Entrée/ Initiateur prêt est une sortie lorsque CDC Sortie joue le rôle de MAITRE PCI L'application de IRDY# indique la capacité de maître du bus PCI courant à terminer la phase de données courante de la transaction Pour des cycles de lecture, IRDY# indique que le maître PCI est préparé à accepter les données de lecture sur le front croissant suivant de l'horloge PCI Pour un cycle d'écriture, IRDY# indique que le maître a piloté des  The application of TRDY # indicates the target action capacity to complete the current data phase of the transaction For read cycles, TRDY # indicates that the target has piloted valid read data on the PCI local bus For a write cycle, TRDY # indicates that the target is prepared to accept write data from the PCI bus TRDY # is an output when the CDC acts as a PCI slave. IRDY # Input / Initiator ready is an output when CDC Output plays the role of PCI MASTER The application of IRDY # indicates the master capacity of the current PCI bus to complete the current data phase of the transaction For read cycles, IRDY # indicates that the PCI master is prepared to accept the read data on the next rising edge of the PCI clock For a write cycle, IRDY # indicates that the master has controlled

données d'écriture valides sur le bus PCI.  valid write data on the PCI bus.

IRDY# est une entrée lorsque le CDC joue le  IRDY # is an entry when the CDC plays the

rôle d'esclave PCI.PCI slave role.

LOCK# Entrée/ Verrouillage indique une opération de bus Sortie exclusive et peut nécessiter de multiples transactions pour se terminer Lorsque LOCK# est appliqué, des transitions non  LOCK # Entry / Lock indicates an exclusive Exit bus operation and may require multiple transactions to complete When LOCK # is applied, non-transitions

exclusives peuvent se dérouler.exclusive can take place.

L'autorisation de démarrer une transaction sur le bus local PCI ne garantit pas la commande du signal LOCK# La commande de LOCK# est obtenue sous son propre protocole en conjonction avec le signal GNT# Il est possible que différents agents utilisent le bus local PCI tandis qu'un unique maître reste propriétaire du signal  The authorization to start a transaction on the PCI local bus does not guarantee the command of the LOCK # signal The command of LOCK # is obtained under its own protocol in conjunction with the GNT # signal It is possible that different agents use the PCI local bus while a single master remains the owner of the signal

LOCK#.LOCK #.

STOP# Entrée/ Arrêt indique que le maître bus courant doit Sortie immédiatement terminer son cycle de bus local courant lors du front d'horloge suivant  STOP # Input / Stop indicates that the current bus master must immediately exit its current local bus cycle during the next clock edge

et doit libérer la commande du bus local.  and must release the local bus command.

Arrêt# est utilisé pour des séquences de déconnexion, de re-tentative et d'arrêt  Stop # is used for logout, retry, and shutdown sequences

prématuré sur le bus PCI.premature on the PCI bus.

REQ# Sortie Requête indique que le bus local PCI arbitre le fait que le CDC souhaite utiliser le bus PCI. GNT# Entrée Autorisation indique qu'un accès au bus  REQ # Request Output indicates that the PCI local bus arbitrates that the CDC wishes to use the PCI bus. GNT # Authorization Entry indicates that access to the bus

local PCI a été autorisé au CDC.local PCI has been authorized by the CDC.

PAR Entrée/ Parité est piloté par le CDC lorsqu'il joue le Sortie rôle de maître PCI pendant des phases d'adresse et de données pour des cycles d'écriture et pendant la phase d'adresse pour un cycle de lecture Lorsque le CDC joue le rôle d'esclave PCI, une parité est pilotée par le CDC pour la phase de données pour un cycle de lecture PCI La parité est  PAR Input / Parity is controlled by the CDC when it plays the PCI master role output during address and data phases for write cycles and during the address phase for a read cycle When the CDC plays the role of PCI slave, a parity is controlled by the CDC for the data phase for a PCI read cycle The parity is

une parité paire sur ASl 31:0 l et C/BEl 3:0 l.  even parity on ASl 31: 0 l and C / BEl 3: 0 l.

Le CDC n'effectue pas un quelconqueThe CDC does not perform any

contrôle de parité.parity check.

SERR#SERR #

Collec-Collec-

teur ouvert broche de sortie Signal d'erreur système, lorsque piloté par le CDC, indique que soit des erreurs de parité sur une DRAM ou sur un cache se sont produites ou qu'un CDC a reçu une interruption prématurée cible Le CDC reçoit l'indication d'erreur de parité en provenance de la DPU (DPUPE#), la qualifie avec le type de cycle et s'il y a une erreur de parité, elle est signalée par l'intermédiaire du signal SERR# SERR# est également pulsé si le CDC reçoit une interruption prématurée cible sur un cycle  open output pin System error signal, when driven by the CDC, indicates that either parity errors on a DRAM or on a cache have occurred or that a CDC has received a target premature interrupt The CDC receives the parity error indication from the DPU (DPUPE #), qualifies it with the type of cycle and if there is a parity error, it is signaled by the signal SERR # SERR # is also pulsed if the CDC receives a target premature outage on a cycle

PCI initialisé par le CDC.PCI initialized by the CDC.

DEVSEL# Entrée/ Sélection dispositif, lorsqu'actif, indique Sortie qu'un dispositif esclave PCI a décodé son  DEVSEL # Input / Device selection, when active, indicates Output that a PCI slave device has decoded its

adresse en tant que cible de l'accès courant.  address as target of current access.

Le CDC pilote DEVSEL# sur la base de la plage d'adresse de DRAM qui est accédée par un maître PCI En tant qu'entrée, il indique si oui ou non un quelconque dispositif sur le  The DEVSEL # CDC drives based on the DRAM address range that is accessed by a PCI master. As an input, it indicates whether or not any device on the

bus a été sélectionné.bus has been selected.

FLSHREQ Entrée Le signal requête de justification donne instruction au CDC de justifier ses tampons d'écriture enregistrés CPU à PCI et d'invalider tout autre enregistrement dans ces tampons tant que le signal FLSHREQ# reste actif Le CDC donne accusé réception de la fin de l'opération de justification de tampon d'écriture en appliquant le signal MEMACK# Ce signal est piloté par le pont de bus d'expansion et il est utilisé pour éviter des conditions d'interblocage sur le  FLSHREQ Input The justification request signal instructs the CDC to justify its write buffers registered CPU to PCI and to invalidate any other recording in these buffers as long as the signal FLSHREQ # remains active The CDC gives acknowledgment of receipt of the end of the write buffer justification operation by applying the MEMACK # signal This signal is controlled by the expansion bus bridge and is used to avoid deadlock conditions on the

bus PCI.PCI bus.

MEMREQ# Entrée Le signal requête mémoire donne instruction au CDC de justifier son hôte vis-à-vis de la DRAM et son hôte vis-à-vis des tampons d'écriture enregistrés PCI et de maintenir la CPU hôte sous un blocage d'adresse (AHOLD) tant que le signal MEMREQ# reste actif Le CDC donne accusé réception de la fin des opérations de justification en appliquant le signal MEMACK# Ce signal est piloté par le pont de bus expansion et il est utilisé pour produire une latence d'accès minimum  MEMREQ # Input The memory request signal instructs the CDC to justify its host vis-à-vis the DRAM and its host vis-à-vis the PCI registered write buffers and to keep the host CPU under address blocking (AHOLD) as long as the MEMREQ # signal remains active The CDC gives acknowledgment of receipt of the end of the justification operations by applying the MEMACK # signal This signal is controlled by the expansion bus bridge and it is used to produce an access latency minimum

pendant des cycles maîtres ISA de DRAM.  during ISA DRAM master cycles.

MEMACK# Sortie Le signal accusé de réception mémoire indique la fin des opérations dont il a été donné requête par des signaux FLSHREQ#  MEMACK # Exit The memory acknowledgment signal indicates the end of the operations requested by FLSHREQ signals #

et/ou MEMREQ# actifs.and / or MEMREQ # active.

Interface de commande de DPUDPU command interface

Nom de Type DescriptionType Name Description

broche/ Signal DPUPE# Entrée Le signal d'erreur de parité de DPU indique qu'une erreur de parité de données de DRAM ou cache s'est produite pendant une opération de lecture de données DPUPE# est actif pendant une période d'une horloge depuis le front d'horloge au niveau duquel des données de lecture sont échantillonnées par le maître CPU ou PCI Une erreur de parité sur l'un quelconque des quatre octets  pin / DPUPE # signal Input The DPU parity error signal indicates that a DRAM or cache data parity error occurred during a DPUPE # data read operation is active for a period of a clock from the clock edge at which read data is sampled by the master CPU or PCI A parity error on any of the four bytes

est indiquée en tant que DPUPE# actif.  is indicated as active DPUPE #.

Le signal de parité de données PCI est une entrée sur le CDC Pendant des cycles de lecture PCI depuis la mémoire ou pendant une écriture CPU sur le PCI, la DPU génère une parité paire pour les données PCI avant cette information sur le CDC par l'intermédiaire de la broche PCIDP Le CDC combine cette information de parité de données à l'information de parité BEl 3:l# et  PCI data parity signal is input to CDC During PCI read cycles from memory or during CPU write to PCI, the DPU generates even parity for PCI data before this information to the CDC by the intermediate of the PCIDP pin The CDC combines this data parity information with the BEl 3: l # and

génère la parité PCI, soit le signal PAR.  generates PCI parity, i.e. the PAR signal.

Le signal bus hôte sur mémoire/PCI est le signal de sélection de source/distension de  The host bus signal on memory / PCI is the source selection / distension signal of

données pour l'interface hôte du DPU.  data for the DPU host interface.

HM/P#, lorsqu'il est à un niveau bas, indique que des données doivent être lues ou écrites sur le bus PCI Lorsque ce signal est à un niveau haut, les données sont lues ou écrites dans la mémoire Ce signal, avec les signaux HSTB# et HW/R#, commande le verrouillage de données dans les tampons d'enregistrement hôte et la sélection de données depuis la mémoire ou depuis les  HM / P #, when at a low level, indicates that data must be read or written on the PCI bus When this signal is at a high level, the data is read or written in the memory This signal, with the HSTB # and HW / R # signals, controls the locking of data in the host recording buffers and the selection of data from memory or from

tampons de lecture PCI.PCI read buffers.

HM/P# Entrée Sortie HW/R# Sortie Le signal écriture/lecture bus hôte est utilisé pour effectuer un distinguo entre des cycles de lecture et d'écriture de CPU hôte HW/R#, lorsqu'il est à un niveau bas, indique un cycle de lecture pour la CPU hôte Lorsque ce signal est à un niveau haut, il indique un cycle d'écriture pour la CPU hôte Ce signal ainsi que les signaux HM/P# et HSTB# commandent le verrouillage des données dans les tampons d'enregistrement hôte et la sélection des données dans les  HM / P # Input Output HW / R # Output The write / read signal on the host bus is used to distinguish between read and write cycles of the host CPU HW / R #, when it is at a low level, indicates a read cycle for the host CPU When this signal is at a high level, it indicates a write cycle for the host CPU This signal as well as the HM / P # and HSTB # signals control the locking of the data in the buffers host registration and data selection in

tampons de lecture PCI mémoire.PCI memory read buffers.

HSTB# Sortie Le signal d'échantillonnage de données de bus hôte est utilisé pour commander le verrouillage des données dans les tampons d'enregistrement hôte pendant des cycles d'écriture et pour sélectionner des données dans la mémoire ou dans les tampons de  HSTB # Output The host bus data sampling signal is used to control the latching of data in the host record buffers during write cycles and to select data from memory or buffers.

lecture PCI pendant des cycles de lecture.  PCI reading during read cycles.

Lorsque ce signal est appliqué pendant un cycle d'écriture, le verrouillage de tampon d'enregistrement approprié est validé sur le front croissant de CLK 1 s'il est sélectionné  When this signal is applied during a write cycle, the appropriate record buffer lockout is enabled on the rising edge of CLK 1 if selected

par HM/P#.by HM / P #.

Pendant un cycle de lecture, HSTB# est appliqué lors du front croissant de CLK 1 pour sélectionner l'une de deux bascules de lecture. PM/H# Sortie Bus PCI pour signal mémoire/hôte est la source/destination sélectionnée pour l'interface PCI de la CPU PM/H#, lorsqu'il est à un niveau bas, indique que les données  During a read cycle, HSTB # is applied during the rising edge of CLK 1 to select one of two read flip-flops. PM / H # PCI bus output for memory / host signal is the source / destination selected for the PCI interface of the PM / H # CPU, when it is low, indicates that the data

doivent être lues ou écrites par le bus hôte.  must be read or written by the host bus.

Lorsque ce signal est à un niveau haut, les données sont lues ou écrites dans la mémoire Ce signal ainsi que les signaux PSTB# et PW/R# commandent le verrouillage des données dans les tampons d'enregistrement PCI et la sélection des données dans les tampons de lecture mémoire ou tampons d'enregistrement hôtes. PW/R# Sortie Signal d'écriture/lecture bus PCI est utilisé pour effectuer un distinguo entre  When this signal is at a high level, the data is read or written in the memory This signal as well as the PSTB # and PW / R # signals control the locking of the data in the PCI recording buffers and the selection of the data in the memory read buffers or host record buffers. PW / R # Output PCI bus write / read signal is used to distinguish between

les cycles d'écriture et de lecture PCI.  PCI write and read cycles.

PW/R#, lorsqu'il est à un niveau bas, indique un cycle de lecture PCI Lorsque ce signal est à un niveau haut, il indique un cycle d'écriture PCI Ce signal ainsi que des figures PM/H# et PSTB# commandent le verrouillage des données dans les tampons d'enregistrement PCI et la sélection de données dans les tampons de lecture mémoire ou les tampons d'enregistrement hôtes. PSTB# 1 Sortie MH/P# Sortie Le signal échantillonnage de données bus PCI est utilisé pour commander le verrouillage des données dans les tampons d'enregistrement PCI pendant les cycles d'écriture et pour sélectionner des données dans les tampons de lecture mémoire ou dans les tampons d'enregistrement hôtes pendant des cycles de lecture Lorsque ce signal est actif pendant un cycle d'écriture, le verrouillage des tampons d'enregistrement appropriés est validé sur le front d'horloge croissant Pendant un cycle de lecture, PSTB# dans l'état actif provoque la sélection de données de lecture  PW / R #, when at a low level, indicates a PCI read cycle When this signal is at a high level, it indicates a PCI write cycle This signal as well as figures PM / H # and PSTB # control locking of data in PCI record buffers and selection of data in memory read buffers or host record buffers. PSTB # 1 Output MH / P # Output The PCI bus data sampling signal is used to control the locking of data in the PCI recording buffers during write cycles and to select data in the memory read buffers or in the host recording buffers during read cycles When this signal is active during a write cycle, the locking of the appropriate recording buffers is validated on the rising clock edge During a read cycle, PSTB # in the active state causes selection of read data

appropriées sur le front d'horloge croissant.  appropriate on the increasing clock face.

Lorsque PSTB# est désactivé, aucune modification n'est effectuée quant à la commande de verrouillage ou quant aux  When PSTB # is disabled, no changes are made to the lock command or to the

données de lecture sélectionnées.  selected reading data.

Bus mémoire pour signal hôte/PCI est la source/destination de d onnéôe s sélectionnées pour un interface mémoire de la DPU MH/P#, lorsqu'il est à un niveau bas, indique que des données doivent être lues ou écrites par le bus PCI Lorsque ce signal est à un niveau haut, les données sont lues ou écrites par le bus hôte Pendant des cycles de lecture mémoire, ce signal ainsi que le signal MSTB# commandent le verrouillage des données dans le tampon de lecture de mémoire Pendant des cycles d'écriture mémoire, les signaux MH/P#, MR/W# et MSTB# sélectionnent soit les tampons de CPU hôtes soit les tampons  Memory bus for host / PCI signal is the source / destination of data selected for a memory interface of the MH / P # DPU, when it is at a low level, indicates that data must be read or written by the bus PCI When this signal is at a high level, the data is read or written by the host bus During memory read cycles, this signal as well as the signal MSTB # control the locking of the data in the memory read buffer During cycles memory write, MH / P #, MR / W # and MSTB # signals select either host CPU buffers or buffers

d'enregistrement PCI.PCI registration.

WE#/ Sortie Le signal lecture/écriture bus mémoire est MR/W# utilisé pour effectuer un distinguo entre des cycles de lecture et d'écriture MR/W#, lorsqu'il est à un niveau bas, indique un cycle d'écriture mémoire Lorsque ce signal est à un niveau haut, il indique un cycle de lecture mémoire Ce signal ainsi que le signal MSTB# commandent le verrouillage des données dans les tampons de lecture mémoire et la sélection des données dans  WE # / Output The memory bus read / write signal is MR / W # used to distinguish between read and write cycles MR / W #, when at a low level, indicates a write cycle memory When this signal is at a high level, it indicates a memory read cycle This signal as well as the signal MSTB # control the locking of the data in the memory read buffers and the selection of the data in

les tampons hôtes ou d'enregistrement PCI.  host or PCI registration buffers.

MSTB# Sortie Le signal échantillonnage de données bus mémoire est utilisé pour commander le verrouillage de données dans les tampons de lecture mémoire pendant des cycles de lecture et pour sélectionner des données dans les tampons hôtes ou tampons d'enregistrement PCI pendant des cycles d'écriture Lorsque ce signal est actif pendant un cycle de lecture mémoire, le verrouillage du tampon de lecture approprié est validé Pendant un cycle d'écriture mémoire, les données du tampon d'enregistrement approprié sont sélectionnées telles que déterminées par le  MSTB # Output The memory bus data sampling signal is used to control the locking of data in the memory read buffers during read cycles and to select data in the host buffers or PCI record buffers during write cycles When this signal is active during a memory read cycle, the locking of the appropriate read buffer is validated. During a memory write cycle, the data of the appropriate record buffer are selected as determined by the

signal MH/P# et sont pilotées sur le bus MD.  MH / P # signal and are controlled on the MD bus.

Lorsque MSTB# est désactivé, aucune modification n'est effectuée quant à la commande de tampon de lecture ou quant à la sélection de données de tampon d'enregistrement. Signaux de remise à l'état initial et d'horloge  When MSTB # is disabled, no changes are made to the read buffer command or to the selection of record buffer data. Reset and clock signals

Nom de Type DescriptionType Name Description

broche/ Signal PWROK Entrée L'entrée de l'alimentation force tous les registres internes et toutes les machines dans leur état défaillant Cette entrée est asynchrone mais elle doit répondre à des spécifications d'établissement et de maintien en vue d'une reconnaissance lors de n'importe quelle horloge de spécification SRESET# Entrée L'entrée remise à l'état initial par logiciel force toutes les machines internes de CDC dans leur état défaillant; cependant, les contenus des registres de configuration restent non modifiés Cette entrée est asynchrone mais elle doit répondre à des spécifications d'établissement et de maintien en vue d'une reconnaissance lors  pin / PWROK signal Input The power supply input forces all internal registers and all machines in their faulty state This input is asynchronous but it must meet the establishment and maintenance specifications for recognition during any SRESET specification clock # Input Software reset input forces all internal CDC machines to their failing state; however, the contents of the configuration registers remain unmodified This entry is asynchronous but it must meet specifications for establishment and maintenance for recognition during

d'une quelconque horloge spécifique.  of any specific clock.

CLK 2 Entrée L'entrée d'horloge 2 X est divisée de façon interne par deux afin de générer des horloges de dispositif CPU, DPU et PCI et elle est produite à partir de six signaux de sortie d'horloge (CLK 1 A-CLK 1 F) Un signal d'horloge de niveau CMOS qui fonctionne à deux fois la vitesse de fonctionnement du  CLK 2 Input The 2 X clock input is internally halved to generate CPU, DPU and PCI device clocks and is produced from six clock output signals (CLK 1 A-CLK 1 F) A CMOS level clock signal that operates at twice the operating speed of the

CDC doit être produit sur ce signal.  CDC must be produced on this signal.

CLK 1 Entrée L'entrée d'horloge 1 X produit le cadencement fondamental et la fréquence de fonctionnement interne pour le CDC Ce signal est typiquement connecté en tant que retour depuis l'une des six broches de sortie d'horloge du CDC (CLK 1 A-CLK 1 F) Le CDC fonctionne à des fréquences d'horloge de 25 ou 33 M Hz La plupart des paramètres de cadencement externes sont spécifiés par rapport au front croissant ou décroissant de CLK 1 Une dissymétrie maximum entre  CLK 1 Input Clock input 1 X produces the fundamental timing and internal operating frequency for the CDC This signal is typically connected as feedback from one of the six clock output pins of the CDC (CLK 1 A-CLK 1 F) The CDC operates at clock frequencies of 25 or 33 M Hz Most of the external timing parameters are specified relative to the increasing or decreasing edge of CLK 1 Maximum asymmetry between

les horloges de CDC et de CPU vaut 1 ns.  the clocks of CDC and CPU is worth 1 ns.

Une dissymétrie d'horloge maximum entre  Maximum clock asymmetry between

les agents CDC et PCI vaut 2 ns.CDC and PCI agents are worth 2 ns.

CLK 1 A Sortie Ces six signaux de sortie d'horloge 1 X CLK 1 F constituent la référence d'horloge pour les dispositifs CPU, DPU et PCI du système Le CDC divise l'horloge produite sur CLK 2 par deux pour générer ces signaux Le signal d'entrée CLK 1 doit être connecté à l'un de ces signaux, de préférence à celui utilisé  CLK 1 A Output These six clock output signals 1 X CLK 1 F constitute the clock reference for the system's CPU, DPU and PCI devices. The CDC divides the clock produced on CLK 2 by two to generate these signals. CLK 1 input signal must be connected to one of these signals, preferably the one used

pour l'horloge CPU.for the CPU clock.

Claims (10)

REVENDICATIONS 1 Système d'ordinateur caractérisé en ce comprend: a) une unité de processeur comportant un cach E premier niveau interne; b) une mémoire vive système ( 206) c) un ou plusieurs dispositifs d'entrée de données d) un ou plusieurs dispositifs de sortie de données e) un moyen de génération d'horloge système ( 202) f) un cache de second niveau ( 207) comprenant: un ou plusieurs groupes de mémoires ca qu'il e de ches asynchrones; un contrôleur de cache ( 202) comprenant des moyens de commande indépendants pour ledit ou pour chacun desdits groupes de mémoires caches asynchrones; et un moyen pour produire des signaux de commande sur ledit ou sur chacun desdits groupes de mémoires caches asynchrones de telle sorte qu'ils soit corrélés audit  1 computer system characterized in that comprises: a) a processor unit comprising a cache E first internal level; b) a system random access memory (206) c) one or more data input devices d) one or more data output devices e) a system clock generation means (202) f) a second level cache (207) comprising: one or more groups of CA memories that are asynchronous; a cache controller (202) comprising independent control means for said or for each of said groups of asynchronous cache memories; and means for generating control signals on said or each of said groups of asynchronous cache memories so that they are correlated to said signal d'horloge système.system clock signal. 2 Système d'ordinateur selon la revendication 1, caractérisé en ce que ledit contrôleur de cache ( 202) est en outre constitué par un moyen pour prédire une adresse de lecture  2 computer system according to claim 1, characterized in that said cache controller (202) is further constituted by means for predicting a read address suivante à partir d'une première adresse de lecture produite.  following from a first reading address produced. 3 Système de cache caractérisé en ce qu'il comprend a) un ou plusieurs groupes de moyens de mémoire cache non entrelacés ( 202); b) un moyen de génération d'horloge système pour générer un signal d'horloge système; c) un moyen (LCA) pour corréler des signaux de commande audit ou auxdits groupes de moyens de mémoire cache avec ledit signal d'horloge système; et d) un moyen (BRDY) pour produire des données de salve depuis ledit ou lesdits groupes de moyens de mémoire cache non entrelacés. 4 Système de cache selon la revendication 3, caractérisé en ce que ledit ou lesdits groupes de moyens de mémoire cache non entrelacés sont constitués par des  3 Cache system characterized in that it comprises a) one or more groups of non-interlaced cache memory means (202); b) system clock generation means for generating a system clock signal; c) means (LCA) for correlating control signals to said one or more groups of cache memory means with said system clock signal; and d) means (BRDY) for generating burst data from said one or more groups of non-interleaved cache means. 4 cache system according to claim 3, characterized in that said group or groups of non-interlaced cache memory means are constituted by dispositifs de mémoire vive dynamique statique asynchrone.  dynamic asynchronous static random access memory devices. Système de cache selon la revendication 4, caractérisé en ce que ledit moyen de génération d'horloge système est constitué en outre par un moyen permettant de générer un signal d'horloge 1 X à partir d'un signal d'horloge 2 X. 6 Système de cache selon la revendication 5, caractérisé en ce que ledit moyen permettant de corréler des signaux de commande audit ou auxdits groupes de moyens de mémoire cache avec ledit signal d'horloge système est constitué par: un premier signal de commande présentant un retard intrinsèque supérieur à celui d'un second signal de commande; et un moyen ( 505) de retard pour retarder ledit premier signal de commande de telle sorte que le retard dudit premier signal de commande soit égal au retard dudit second signal de commande. 7 Système de cache selon la revendication 6, caractérisé en ce que ledit moyen de retard est en outre constitué par un nombre pair d'inverseurs insérés dans la voie de  Cache system according to claim 4, characterized in that said system clock generation means is further constituted by means making it possible to generate a 1 X clock signal from a 2 X clock signal. 6 Cache system according to Claim 5, characterized in that the said means for correlating control signals to the said group or groups of cache memory means with the said system clock signal consists of: a first control signal having an intrinsic delay greater than that of a second control signal; and delay means (505) for delaying said first control signal so that the delay of said first control signal is equal to the delay of said second control signal. 7 cache system according to claim 6, characterized in that said delay means is further constituted by an even number of reversers inserted in the path circuit dudit premier signal de commande.  circuit of said first control signal. 8 Système de cache selon la revendication 5, caractérisé en ce que ledit moyen pour produire les données de salve à partir dudit ou desdits groupes de moyens de mémoire cache non entrelacés est constitué par: a) un moyen pour prédire des adresses suivantes à partir d'une première adresse produite; et b) un moyen pour produire des données à partir desdites adresses suivantes prédites lors de cycles de signal d'horloge  8 cache system according to claim 5, characterized in that said means for producing the burst data from said group or groups of non-interleaved cache memory means consists of: a) means for predicting following addresses from 'a first address produced; and b) means for generating data from said next predicted addresses during clock signal cycles système consécutifs.consecutive system. 9 Système de cache selon la revendication 8, caractérisé en ce que ledit moyen pour prédire des adresses suivantes à partir d'une première adresse produite est en outre constitué par: a) un moyen pour extraire une pluralité de bits à partir de ladite première adresse produite; et b) un moyen pour identifier une séquence prédéterminée d'adresses associée au contenu de ladite pluralité de bits extraits. 10 Procédé de production de signaux de commande de cache dans un sous-système de cache, caractérisé en ce qu'il comprend les étapes de: a) génération d'un signal d'horloge IX à partir d'un signal d'horloge 2 X; b) production dudit signal d'horloge 1 X en tant qu'horloge système; c) production de signaux de commande de processeur sur la base dudit signal d'horloge 1 X; d) production dudit signal d'horloge 2 X sur un contrôleur cache; et e) production de signaux de commande depuis ledit contrôleur de cache de telle sorte qu'il y ait un retard de zéro par rapport à ladite horloge système et par rapport auxdits  9 cache system according to claim 8, characterized in that said means for predicting subsequent addresses from a first produced address is further constituted by: a) means for extracting a plurality of bits from said first address produced; and b) means for identifying a predetermined sequence of addresses associated with the content of said plurality of extracted bits. 10 A method of producing cache control signals in a cache subsystem, characterized in that it comprises the steps of: a) generation of a clock signal IX from a clock signal 2 X; b) producing said 1 X clock signal as a system clock; c) producing processor control signals based on said 1 X clock signal; d) production of said 2 X clock signal on a cache controller; and e) generating control signals from said cache controller so that there is a delay of zero with respect to said system clock and with respect to said signaux de commande de processeur.processor control signals. Il Procédé de production de signaux de commande de cache selon la revendication 10, caractérisé en ce que ladite étape de production de signaux de commande à partir dudit contrôleur de cache de telle sorte qu'il y ait un retard à zéro par rapport à ladite horloge système et par rapport auxdits signaux de commande de processeur est en outre constituée par les étapes de: a) identification d'un premier signal de commande qui présente un retard intrinsèque supérieur à celui d'un second signal de commande; b) retardement de la production dudit premier signal de commande de telle sorte qu'il présente un retard égal à celui dudit second signal de commande; et c) production dudit premier signal de commande et dudit second signal de commande sur la base dudit signal d'horloge 2 X. 12 Procédé selon la revendication 10, caractérisé en ce qu'il comprend en outre les étapes de: a) identification d'une requête de lecture de salve b) identification d'une pluralité d'adresses suivantes à partir d'une première adresse produite; et c) production de signaux de commande pour lire des données depuis ladite première adresse produite et depuis ladite  A method for producing cache control signals according to claim 10, characterized in that said step of producing control signals from said cache controller so that there is a delay to zero with respect to said clock system and with respect to said processor control signals is further constituted by the steps of: a) identifying a first control signal which has an intrinsic delay greater than that of a second control signal; b) delaying the production of said first control signal so that it has a delay equal to that of said second control signal; and c) production of said first control signal and said second control signal on the basis of said 2 X clock signal. 12 Method according to claim 10, characterized in that it further comprises the steps of: a) identification of a request to read a burst b) identification of a plurality of subsequent addresses from a first address produced; and c) generating control signals to read data from said first produced address and from said pluralité d'adresses suivantes.following plurality of addresses. 13 Contrôleur cache caractérisé en ce qu'il comprend a) un moyen de réception pour recevoir un signal d'horloge 2 X; b) un moyen pour générer un signal d'horloge 1 X à partir dudit signal d'horloge 2 X et pour produire ledit signal d'horloge 1 X en tant que signal d'horloge système; et c) un moyen pour produire des signaux de contrôleur cache présentant un retard à zéro par rapport audit signal  13 Cache controller characterized in that it comprises a) a reception means for receiving a 2 X clock signal; b) means for generating a 1 X clock signal from said 2 X clock signal and for producing said 1 X clock signal as a system clock signal; and c) means for producing cache controller signals delaying zero with respect to said signal d'horloge système produit.system clock produced. 14 Contrôleur cache selon la revendication 13, caractérisé en ce que ledit moyen pour produire des signaux de contrôleur de cache présentant un retard à zéro par rapport audit signal d'horloge système produit est en outre constitué par un moyen de retard inséré dans la voie de circuit de signaux de commande de cache présentant des retards plus courts que la  14 cache controller according to claim 13, characterized in that said means for producing cache controller signals having a delay to zero with respect to said produced system clock signal is further constituted by a delay means inserted in the channel cache control signal circuit having delays shorter than the voie de circuit d'autres signaux de commande de cache.  circuit path of other cache control signals. 15 Contrôleur cache selon la revendication 14, caractérisé en ce que ledit moyen de retard est constitué par un  15 cache controller according to claim 14, characterized in that said delay means is constituted by a nombre pair d'inverseurs.even number of inverters. 16 Contrôleur cache selon la revendication 13, caractérisé en outre en ce qu'il est constitué par un moyen permettant de produire une pluralité de données en réponse à une requête de lecture de salve, constitué par: a) un moyen pour identifier une requête de lecture de salve; b) un moyen pour prédire une pluralité d'adresses suivantes à partir d'une première adresse produite; et c) un moyen pour produire ladite adresse suivante lors  16 Cache controller according to claim 13, further characterized in that it is constituted by a means making it possible to produce a plurality of data in response to a request to read a burst, constituted by: a) a means for identifying a request for burst reading; b) means for predicting a plurality of subsequent addresses from a first produced address; and c) means for producing said next address upon de cycles d'horloge système consécutifs.  consecutive system clock cycles. 17 Contrôleur cache selon la revendication 16, caractérisé en ce que ledit moyen pour prédire une pluralité d'adresses suivantes à partir d'une première adresse produite est en outre constitué par: a) un moyen pour extraire une pluralité de bits à partir de ladite première adresse produite; et b) un moyen pour identifier une séquence prédéterminée d'adresses associée au contenu de ladite pluralité de bits extraits.  17 Cache controller according to claim 16, characterized in that said means for predicting a plurality of subsequent addresses from a first address produced is further constituted by: a) means for extracting a plurality of bits from said first address produced; and b) means for identifying a predetermined sequence of addresses associated with the content of said plurality of extracted bits.
FR9313505A 1992-11-16 1993-11-12 COMPUTER HIDDEN MEMORY AND METHOD FOR PRODUCING CONTROL SIGNALS OF SUCH A MEMORY. Expired - Fee Related FR2698188B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US97689192A 1992-11-16 1992-11-16

Publications (2)

Publication Number Publication Date
FR2698188A1 true FR2698188A1 (en) 1994-05-20
FR2698188B1 FR2698188B1 (en) 1997-12-12

Family

ID=25524598

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9313505A Expired - Fee Related FR2698188B1 (en) 1992-11-16 1993-11-12 COMPUTER HIDDEN MEMORY AND METHOD FOR PRODUCING CONTROL SIGNALS OF SUCH A MEMORY.

Country Status (4)

Country Link
DE (1) DE4339185A1 (en)
FR (1) FR2698188B1 (en)
GB (1) GB2272548B (en)
SG (1) SG47085A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884198A (en) * 1986-12-18 1989-11-28 Sun Microsystems, Inc. Single cycle processor/cache interface
EP0424095A2 (en) * 1989-10-17 1991-04-24 Lsi Logic Corporation Clocking control circuit for a computer system
US5426771A (en) * 1992-07-14 1995-06-20 Hewlett-Packard Company System and method for performing high-sped cache memory writes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2127594B (en) * 1982-09-18 1985-11-13 Int Computers Ltd Distribution of clock pulses
GB2217062A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Numeric processor with smart clock

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884198A (en) * 1986-12-18 1989-11-28 Sun Microsystems, Inc. Single cycle processor/cache interface
EP0424095A2 (en) * 1989-10-17 1991-04-24 Lsi Logic Corporation Clocking control circuit for a computer system
US5426771A (en) * 1992-07-14 1995-06-20 Hewlett-Packard Company System and method for performing high-sped cache memory writes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WILSON: "WILL THE SEARCH FOR THE IDEAL MEMORY ARCHITECTURE EVER END?", COMPUTER DESIGN, vol. 29, no. 13, 1 July 1990 (1990-07-01), pages 78 - 84, 86, 88, 90, XP000136626 *

Also Published As

Publication number Publication date
DE4339185A1 (en) 1994-05-19
GB2272548A (en) 1994-05-18
FR2698188B1 (en) 1997-12-12
SG47085A1 (en) 1998-03-20
GB9321970D0 (en) 1993-12-15
GB2272548B (en) 1996-08-14

Similar Documents

Publication Publication Date Title
US5448703A (en) Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
EP1137996B1 (en) Method and apparatus for high speed data capture using bit-to-bit timing correction, and memory device using same
JP2505661B2 (en) Hierarchical integrated circuit cache memory
JP3466047B2 (en) Multi-port interleaved cache
US6343352B1 (en) Method and apparatus for two step memory write operations
KR100443606B1 (en) Method and system for storing and processing multiple memory addresses
US20010026497A1 (en) Method and system for accessing rows in multiple memory banks within an integrated circuit
KR20010080682A (en) Queue based memory controller
JP2003203008A (en) Semiconductor memory device
JP2005228359A (en) High-performance dynamic memory system
EP3259674B1 (en) Dram circuit provided with a built-in processor
FR2827684A1 (en) MEMORY CONTROLLER HAVING 1X / MX WRITE CAPACITY
FR2582829A1 (en) SYSTEM FOR MANAGING COMPUTER MEMORY
FR2481487A1 (en) INFORMATION PROCESSING SYSTEM USING REGENERATION AND DETECTION TECHNIQUES AND CORRECTION OF ERRORS
JPH04233642A (en) Processor which performs memory access in parallel with cache access and method used therrfor
EP0392932B1 (en) Method and device for speeding-up memory accesses using a modified LRU algorithm
CA2124029A1 (en) Method and apparatus for providing accurate and complete communications between different bus architectures in an information handling system
EP0512685B1 (en) Quadrature bus protocol for carrying out transactions in a computer system
US6459647B1 (en) Split-bank architecture for high performance SDRAMs
US6816932B2 (en) Bus precharge during a phase of a clock signal to eliminate idle clock cycle
JPH0271344A (en) Micro-computer-system
EP2088511A1 (en) Multiprocessor computing system
JP2716350B2 (en) Electronic data storage system
JP3576561B2 (en) Method and configuration using a DRAM array as a second level cache memory
FR2698188A1 (en) Computer cache memory and method for producing control signals from such a memory.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100730