[go: up one dir, main page]

FR2632092A1 - DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385 - Google Patents

DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385 Download PDF

Info

Publication number
FR2632092A1
FR2632092A1 FR8905079A FR8905079A FR2632092A1 FR 2632092 A1 FR2632092 A1 FR 2632092A1 FR 8905079 A FR8905079 A FR 8905079A FR 8905079 A FR8905079 A FR 8905079A FR 2632092 A1 FR2632092 A1 FR 2632092A1
Authority
FR
France
Prior art keywords
memory
cache
write
conditioning
bus
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.)
Pending
Application number
FR8905079A
Other languages
French (fr)
Inventor
Ralph Murray Begun
Patrick Maurice Bland
Mark Edward Dean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of FR2632092A1 publication Critical patent/FR2632092A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Saccharide Compounds (AREA)

Abstract

Dans un système de microcalculateur 80386/82385, les exigences de chronologie relatives aux éléments de mémoire sans possibilité d'antémémoire et placées par l'unité 82385 sont plus restrictives que les tolérances de chronologie placées sur les composants de mémoire sans possibilité d'antémémoire par l'unité 80386. La présente invention fonctionne sur les signaux de conditionnement d'écriture CWE d'antémémoire 82385 et retarde les signaux dans le cas d'une lecture manquée. Le retardement des signaux CWE élargit les tolérances de chronologie placée sur les composants de mémoire sans possibilité d'antémémoire et en même temps, n'affecte pas les paramètres d'état d'attente relatifs aux opérations de lecture manquée.In an 80386/82385 microcomputer system, the timeline requirements for memory elements without cache possibility and placed by unit 82385 are more restrictive than the timeline tolerances placed on memory components without cache possibility by unit 80386. The present invention operates on the CWE write conditioning signals of cache memory 82385 and delays the signals in the event of a missed read. Delaying CWE signals expands the timeline tolerances placed on memory components without the possibility of cache memory and at the same time does not affect wait state parameters relating to missed read operations.

Description

CIRCUIT DE CONDITIONNEMENT D'ECRITUREWRITING CONDITIONING CIRCUIT

D'ANTEMEMOIRE RETARDE POUR UN SYSTEME  DELAYED ANTEMEMORY FOR A SYSTEM

DE MICRO-CALCULATEUR A BUS DOUBLEDUAL BUS MICROCULATOR

COMPRENANT UNE UNITE 80386 ETINCLUDING A UNIT 80386 AND

UNE UNITE 82385ONE UNIT 82385

La présente invention concerne un système de micro-calculateur à bus multiples avec un sous-système de mémoire antémémoire et plus particulièrement, une amélioration pour accroître la tolérance des composants de mémoire lents en cas de lecture manquée d'antémémoire sans affecter les paramètres d'état d'attente. Des informations concernant l'art antérieur relatif à l'unité 80386, ses caractéristiques et son utilisation dans des systèmes de micro-calculateur comprenant des soussystèmes de mémoire antémémoire, sont décrites dans les publications de Intel "Introduction to the 80386", avril 1986 et "80386 Hardware Reference Manual (1986)". Les caractéristiques et performances d'utilisation de l'unité 82385 sont décrites dans la publication de Intel "82385 High Performance 32-Bit Cache  The present invention relates to a multi-bus microcomputer system with a cache memory subsystem and more particularly, an improvement to increase the tolerance of slow memory components in case of missed cache reading without affecting the parameters of waiting state. Information relating to the prior art relating to the 80386 unit, its characteristics and its use in microcomputer systems comprising cache memory subsystems, is described in the publications of Intel "Introduction to the 80386", April 1986 and "80386 Hardware Reference Manual (1986)". The characteristics and performance of using the 82385 unit are described in the Intel publication "82385 High Performance 32-Bit Cache

Controller" (1987).Controller "(1987).

Dans les systèmes de micro-calculateur comme dans d'autres systèmes de calcul, la vitesse des opérations constitue un critère important qui dans la plupart des cas doit être considéré par rapport au coût du système. Beaucoup de fonctions qui furent d'abord introduites pour accélérer les opérations effectuées dans les calculateurs principaux et les minicalculateurs sont maintenant appliquées dans les systèmes de microcalculateur. Ceux ci comprennent des sous-systèmes de mémoire antémémoire. L'utilisation de sous-systèmes de mémoire antémémoire résulte en une architecture de calculateur à bus multiples. Plus particulièrement, dans un microprocesseur à d'horloge. D'autres opérations qui requièrent plus de deux cycles d'horloge sont considérées comme ayant le nombre d'états d'attente qui est égal à la différence entre le nombre des cycles d'horloge requis pour l'opération et le minimum de deux cycles d'horloge (auquel. on se réfère aussi comme à un état  In microcomputer systems as in other computing systems, the speed of operations is an important criterion which in most cases must be considered in relation to the cost of the system. Many of the functions that were first introduced to speed up operations in the main computers and minicomputers are now applied in microcomputer systems. These include cache memory subsystems. The use of cache memory subsystems results in a multi-bus computer architecture. More particularly, in a clock microprocessor. Other operations that require more than two clock cycles are considered to have the number of wait states which is equal to the difference between the number of clock cycles required for the operation and the minimum of two cycles clock (which. we also refer to as a state

d'attente zéro).wait zero).

Etant donné que la vitesse des opérations constitue un critère important, il est avantageux de s'assurer que, dans la mesure du possible, les opérations peuvent être adaptées en opérations & état d'attente zéro par opposition aux opérations à état  Since the speed of operations is an important criterion, it is advantageous to ensure that, as far as possible, operations can be adapted to zero waiting operations as opposed to state operations

d'attente un ou deux, etc...waiting one or two, etc ...

Les accès d'antémémoire constituent un type d'opération à état  Cache accesses are a type of stateful operation

d'attente zéro.waiting zero.

Bien qu'il soit souhaitable qu'un nombre d'accès en mémoire aussi élevé que possible soit manipulé par le sous-système d'antémémoire, il est naturellement nécessaire à certains moments, d'accéder à la mémoire principale. L'un des principes utilisés pour l'actionnement d'un soussystème d'antémémoire, est que dans le cas d'une lecture manquée, c'est à dire une opération de lecture au cours de laquelle les informations requises ne sont pas trouvées dans le sous-système d'antémémoire, les informations lorsqu'elles sont lues en mémoire principale, sont immédiatement écrites au sous-système d'antémémoire. En utilisant ce principe, les informations lues sont ensuite disponibles dans le soussystème d'antémémoire (sauf en cas de sur-écriture) si bien que les accès ultérieurs aux mêmes informations ne requièrent pas d'accès en mémoire principale. Ainsi, dans le cas d'une lecture manquée, deux opérations sont requises, (1) l'accès en mémoire principale pour lire les informations requises pour les rendre disponibles pour le processeur et (2) l'écriture dans le sous-système sous-système de mémoire antémémoire, un premier bus que l'on appelle un bus local CPU, connecte le microprocesseur (par exemple une unité 80386), une unité de commande d'antémémoire (qui peut comprendre une unité de commande d'antémémoire 82385) et une mémoire à accès aléatoire servant de mémoire antémémoire. Le bus local CPU peut être interconnecté par l'intermédiaire d'une mémoire intermédiaire, à un second système de bus appelé dans un souçi de simplification, un bus de système. D'autres composants peuvent être connectés au bus de système (soit directement, soit indirectement) comme une mémoire principale, un équipement d'entrée/sortie, une mémoire  Although it is desirable that as many memory accesses as possible be handled by the cache subsystem, it is of course necessary at times to access the main memory. One of the principles used for operating a cache subsystem is that in the case of a missed read, that is, a read operation in which the required information is not found in the cache subsystem, the information when read from main memory, is immediately written to the cache subsystem. Using this principle, the information read is then available in the cache subsystem (except in the case of overwriting) so that subsequent accesses to the same information do not require access to main memory. Thus, in the case of a missed read, two operations are required, (1) access to main memory to read the information required to make it available to the processor and (2) writing to the subsystem under - cache memory system, a first bus called a local bus CPU, connects the microprocessor (for example a unit 80386), a cache control unit (which can include a cache control unit 82385) and a random access memory serving as cache memory. The local bus CPU can be interconnected via an intermediate memory, to a second bus system called in a simplification, a system bus. Other components can be connected to the system bus (either directly or indirectly) such as a main memory, an input / output device, a memory

permanente, etc...permanent, etc ...

L'une des raisons principales d'utiliser un sous-système d'antémémoire est de permettre l'accélération des opérations de mémoire en conditionnant le processeur pour la lecture dans le sous-système de mémoire antémémoire dans la mesure o les informations requises y sont stockées. Le sous-système de mémoire antémémoire bénéficie généralement d'un avantage de vitesse par rapport à la mémoire principale. Dans la mesure o les accès en mémoire peuvent être limités au sous-système d'antémémoire, le-processeur ne requiert alors pas l'accès au bus de système. Ceci libère de manière significative le bus de système pour son utilisation dans d'autres opérations, par exemple des opérations d'entrée/sortie, DMA, etc... Il s'agit là d'un autre avantage des systèmes de micro-calculateur à  One of the main reasons for using a cache subsystem is to allow the acceleration of memory operations by conditioning the processor for reading from the cache memory subsystem since the required information is there. stored. The cache memory subsystem generally has a speed advantage over main memory. Because memory accesses can be limited to the cache subsystem, the processor does not require access to the system bus. This significantly frees up the system bus for its use in other operations, for example input / output operations, DMA, etc. This is another advantage of microcomputer systems at

sous-systèmes de mémoire antémémoire.  cache memory subsystems.

Afin de maintenir une mise en séquences ordonnée des diverses opérations qui doivent être exécutées, les opérations sont divisées en unités de temps auxquelles on se réfère comme à des états d'horloge. Dans un système de micro-calculateur utilisant par exemple le processeur 80386 et l'unité de commande d'antémémoire 82385, les opérations de mémoire les plus rapides requièrent deux cycles d'horloge, chacun à deux états d'antémémoire des informations lues à l'instant en mémoire principale. L'une des particularités de l'unité 82385 est que, dans le cas d'un état d'écriture manquée, les informations auxquelles on doit accéder depuis la mémoire principale, sont nécessairement ré-écrites dans le sous-système d'antémémoire avant qu'elles ne soient disponibles pour le processeur. Le fabricant des microprocesseurs reconnaît cet état et suggère l'une des deux solutions suivantes: soit la sélection d'une mémoire principale suffisamment rapide pour que les données puissent être accédées et rendues disponibles pour l'unité 82385 à l'intérieur de la période de temps nécessaire à une opération à état d'attente fixe, soit l'augmentation de la longueur du cycle par rapport à celle qui serait normalement requise par l'addition d'un état ou d'états d'attente supplémentaires suivant nécessité. Bien que les deux possibilités soient pratiques, la première possibilité affecte le coût du système étant donné que les mémoires plus rapides requises pour répondre aux exigences de chronologie de l'unité 82385, sont plus chères et la deuxième possibilité introduit un retard dans toute opération de lecture manquée en imposant un ou plusieurs  In order to maintain an orderly sequencing of the various operations to be performed, the operations are divided into time units which are referred to as clock states. In a microcomputer system using for example the processor 80386 and the cache control unit 82385, the fastest memory operations require two clock cycles, each with two cache states of information read at 'instant in main memory. One of the peculiarities of the 82385 unit is that, in the case of a missed write state, the information to be accessed from the main memory, is necessarily rewritten in the front cache subsystem that they are not available for the processor. The manufacturer of the microprocessors recognizes this state and suggests one of the following two solutions: either the selection of a main memory fast enough so that the data can be accessed and made available for the 82385 unit within the period of time required for a fixed standby operation, i.e. increasing the cycle length over that which would normally be required by adding an additional standby state or states as necessary. Although both possibilities are practical, the first possibility affects the cost of the system since the faster memories required to meet the chronology requirements of the 82385 unit are more expensive and the second possibility introduces a delay in any operation of missed reading by imposing one or more

états d'attente.waiting states.

Un objet de la présente invention est donc d'éliminer la nécessité de choisir entre ces deux possibilités de façon à améliorer la tolérance du système aux composants de mémoire plus lents sans affecter les paramètres d'état d'attente  An object of the present invention is therefore to eliminate the need to choose between these two possibilities so as to improve the tolerance of the system to slower memory components without affecting the wait state parameters.

relatifs aux opérations de lecture manquée.  relating to missed read operations.

La présente invention satisfait à cet objet ainsi qu'à d'autres en prévoyant un circuit logique pour sélectivement retarder des signaux de conditionnement d'écriture d'antémémoire dans le cas  The present invention satisfies this and other objects by providing a logic circuit for selectively delaying cache write conditioning signals in the case

d'un état de lecture manquée.of a missed read state.

Le circuit logique comprend plus particulièrement des moyens pour détecter un état de lecture manquée. Un état de lecture manquée est indiqué lorsqu'un signal de lecture de bus de système (BUSRD) est actif et qu'un signal de conditionnement d'écriture d'antémémoire (CWE) est aussi actif. Le circuit logique comprend en outre des moyens répondant à une sortie de conditionnement d'écriture d'antémémoire (CWE) par l'unité 82385 pour retarder le signal de conditionnement d'écriture d'antémémoire actif dans le cas o une opération de lecture  The logic circuit more particularly comprises means for detecting a missed read state. A missed read state is indicated when a system bus read signal (BUSRD) is active and a cache write conditioning signal (CWE) is also active. The logic circuit further includes means responsive to a cache write conditioning (CWE) output by the 82385 unit for delaying the active cache write conditioning signal in the case of a read operation.

manquée est détectée.missed is detected.

Dans une réalisation particulière de la présente invention qui sera décrite ultérieurement, le sous-système de mémoire antémémoire est une. mémoire antémémoire associative en deux parties et comprenant ainsi deux bancs de mémoire. L'unité 82385 rend disponible un signal de conditionnement d'écriture  In a particular embodiment of the present invention which will be described later, the cache memory subsystem is one. associative cache memory in two parts and thus comprising two memory banks. Unit 82385 makes a write conditioning signal available

d'antémémoire spécifique pour chacun des bancs de mémoire.  specific cache memory for each memory bank.

L'unité 82385 génère aussi un signal de conditionnement de verrouillage d'adresses d'antémémoire (CALEN) ainsi que des signaux de sélection de microprocesseurs (CS0, CS1, CS2 et CS3). Le circuit logique selon la présente invention fonctionne sur les signaux de conditionnement d'écriture d'antémémoire, c'est à dire les signaux de conditionnement d'écriture d'antémémoire pour les deux bancs de mémoire A et B. Lorsqu'une opération de lecture manquée est détectée, l'une des deux portes (conditionnement écriture antémémoire) est partiellement conditionnée par le signal actif des signaux de conditionnement d'écriture d'antémémoire (qu'il soit destiné au banc A ou au banc B). Le circuit logique détecte le signal BUSRD actif et répond aussi aux signaux de conditionnement d'écriture d'antémémoire pour le signal particulier (pour le banc A ou le banc B) qui est conditionné. Le circuit logique retarde le signal actif des signaux de conditionnement d'écriture d'antémémoire et après application du retard sélectionné, conditionne entièrement la porte appropriée qui est attribuée  The 82385 also generates a cache address conditioning conditioning signal (CALEN) as well as microprocessor selection signals (CS0, CS1, CS2 and CS3). The logic circuit according to the present invention operates on the cache write conditioning signals, that is to say the cache write conditioning signals for the two memory banks A and B. When an operation of missed read is detected, one of the two doors (cache write conditioning) is partially conditioned by the active signal of cache write conditioning signals (whether for bank A or bank B). The logic circuit detects the active BUSRD signal and also responds to cache write conditioning signals for the particular signal (for bank A or bank B) that is conditioned. The logic circuit delays the active signal of cache write conditioning signals and after application of the selected delay, fully conditions the appropriate gate which is assigned

au banc d'antémémoire en cours d'écriture.  to the cache bench being written.

Le circuit logique de la présente invention comprend une pluralité de mémoires intermédiaires, une pour chacun des signaux CALEN, CS0, CS1, CS2 et CS3 et ces signaux sont connectés au sous-système d'antémémoire au travers d'une  The logic circuit of the present invention comprises a plurality of intermediate memories, one for each of the signals CALEN, CS0, CS1, CS2 and CS3 and these signals are connected to the cache subsystem through a

mémoire intermédiaire appropriée.  appropriate intermediate memory.

Ainsi, dans le cas d'une opération de lecture manquée, le signal de conditionnement d'écriture approprié est retardé. Les mémoires intermédiaires assurent un retard de porte équivalent correspondant au retard interpose par la porte de conditionnement d'écriture d'antémémoire pour les signaux  Thus, in the case of a missed read operation, the appropriate write conditioning signal is delayed. The intermediate memories provide an equivalent gate delay corresponding to the delay interposed by the cache write conditioning gate for the signals.

CALEN, CS0, CS1, CS2 et CS3.CALEN, CS0, CS1, CS2 and CS3.

Dans le cas o un signal de conditionnement d'écriture d'antémémcire devilent actif (par exemple pour exécuter une écriture d'antémémoire qui n'est pas associée à un état de lecture manquée), le circuit logique ne détecte alors naturellement pas un état de lecture manquée si bien qu'aucun retard n'est imposé par le circuit logique au signal de conditionnement d'écriture d'antémémoire. Cependant, la porte associée impose un retard de porte à ce signal et les mémoires intermédiaires imposent un retard pratiquement équivalent aux  In the case where a cache write conditioning signal becomes active (for example to execute a cache write which is not associated with a missed read state), the logic circuit then naturally does not detect a state read failure so that no delay is imposed by the logic circuit on the cache write conditioning signal. However, the associated gate imposes a gate delay on this signal and the intermediate memories impose a delay practically equivalent to the

signaux associés CALEN, CS0, CSl, CS2 et CS3.  associated signals CALEN, CS0, CSl, CS2 and CS3.

Ainsi, un aspect de la présente invention permet de réaliser un système de micro-calculateur à bus multiples, antémémoire et unités 80386/82385 pour retarder sélectivement des signaux d'écriture d'antémémoire suivant un lecture manquée afin d'améliorer la tolérance du système aux composants de mémoire plus lents sans affecter les paramètres d'état d'attente relatifs à des opérations de lecture manquée, ledit système de micro-calculateur comprenant: un sous-système d'antémémoire comprenant ladite unité de commande d'antémémoire 82385, une mémoire antémémoire et un bus local connectant ladite unité de commande d'antémémoire 82385 et ladite mémoire antémémoire à un processeur 80386, et des moyens logiques de retard répondant à un état d'écriture d'antémémoire provoqué par une lecture manquée pour sélectivement retarder des signaux de conditionnement d'écriture d'antémémoire, lesdits moyens logiques de retard comprenant: (a) des moyens logiques à réseaux programmables dont une entrée est connectée aux signaux de conditionnement d'écriture depuis ladite unité de commande d'antémémoire 82385 pour produire à une borne de conditionnement d'écriture un signal de conditionnement d'écriture retardé en réponse à une lecture de bus active, (b) une première porte logique dont une première entrée répond audit signal de conditionnement d'écriture depuis ladite unité de commande d'antémémoire 82385 et une seconde entrée est connectée à ladite borne de conditionnement d'écriture et une sortie est connectée à une entrée de  Thus, one aspect of the present invention provides a multi-bus microcomputer system, cache memory and 80386/82385 units for selectively delaying cache write signals following a missed read in order to improve system tolerance. to slower memory components without affecting the wait state parameters relating to missed read operations, said microcomputer system comprising: a cache subsystem comprising said cache controller 82385, a cache memory and a local bus connecting said cache control unit 82385 and said cache memory to a processor 80386, and logic delay means responsive to a cache write state caused by a read failure to selectively delay signals cache write conditioning, said delay logic means comprising: (a) logic means with programmable networks, one input of which is c connected to write conditioning signals from said cache control unit 82385 to produce a delayed write conditioning signal at a write conditioning terminal in response to an active bus read, (b) a first gate logic a first input of which responds to said write conditioning signal from said cache control unit 82385 and a second input of which is connected to said write conditioning terminal and one output of which is connected to an input of

conditionnement d'écriture de ladite mémoire antémémoire.  write conditioning of said cache memory.

Brève description des dessinsBrief description of the drawings

La figure 1 est une vue générale en trois dimensions d'un système de micro-calculateur classique utilisant la présente invention. La figure 2 est une représentation schématique détaillée de la majorité des composants d'un système de micro-calculateur  Figure 1 is a general three-dimensional view of a conventional microcomputer system using the present invention. Figure 2 is a detailed schematic representation of the majority of the components of a microcomputer system

classique utilisant la présente invention.  conventional using the present invention.

La figure 3 est une représentation schématique détaillée de l'unité 82385, de la mémoire à accès aléatoire antémémoire, du circuit logique et des mémoires intermédiaires de la présente invention. La figure 4 est un schéma chronologique illustrant les différentes exigences relatives à la chronologie de l'unité 82385 et de l'unité 80386, et Les figures 5A-5C montrent le fonctionnement de la présente invention pour des écritures d'antémémoire de lecture manquée ainsi que pour des écritures d'antémémoire non provoquées par  Figure 3 is a detailed schematic representation of the 82385 unit, the cache random access memory, the logic circuit and the intermediate memories of the present invention. FIG. 4 is a chronological diagram illustrating the various requirements relating to the chronology of the unit 82385 and of the unit 80386, and FIGS. 5A-5C show the operation of the present invention for writes of read cache memories thus missed than for cache writes not caused by

une lecture manquée.a missed reading.

La figure 1 représente un système de micro-calculateur  Figure 1 shows a microcomputer system

classique dans lequel la présente invention peut être utilisée.  in which the present invention can be used.

Comme le montre la figure, le système de micro-calculateur 10 comprend un certain nombre de composants qui sont interconnectés. Plus particulièrement, une unité de-système 30 est connectée à et commande une unité de contrôle 20 (comme une unité d'affichage vidéo classique). L'unité de système 30 est aussi raccordée à des dispositifs d'entrée comme un clavier 40 et une souris 50. Un dispositif de sortie comme une imprimante  As shown in the figure, the microcomputer system 10 comprises a number of components which are interconnected. More particularly, a system unit 30 is connected to and controls a control unit 20 (like a conventional video display unit). The system unit 30 is also connected to input devices such as a keyboard 40 and a mouse 50. An output device such as a printer

peut aussi être connecté à l'unité de système 30.  can also be connected to system unit 30.

Finalement, l'unité de système 30 peut comprendre une ou plusieurs unités de commande de disques comme l'unité de commande de disques 70. Comme on le décrira ci dessous, l'unité de système 30 répond à des dispositifs d'entrée comme le clavier 40 et la souris 50 et à des dispositifs d'entrée/sortie comme l'unité de commande de disque 70 pour délivrer des signaux pour commander des dispositifs de sortie comme l'unité de contrôle 20 et l'imprimante 60. Naturellement, l'homme de l'art reconnaîtra que d'autres composants classiques pourraient aussi être connectés à l'unité de système 30 en interaction avec celle ci. Selon la présente invention, le système de micro-calculateur 10 comprend (comme on le verra plus particulièrement ci dessous) un sous-système de mémoire antémémoire de façon qu'il y ait un bus local CPU interconnectant un processeur, une unité de commande d'antémémoire et une mémoire antémémoire, lequel bus local CPU  Finally, the system unit 30 may include one or more disk control units such as the disk control unit 70. As will be described below, the system unit 30 responds to input devices such as the keyboard 40 and mouse 50 and input / output devices such as the disk control unit 70 for outputting signals to control output devices such as the control unit 20 and the printer 60. Naturally, the Those skilled in the art will recognize that other conventional components could also be connected to the system unit 30 in interaction therewith. According to the present invention, the microcomputer system 10 comprises (as will be seen more particularly below) a cache memory subsystem so that there is a local bus CPU interconnecting a processor, a control unit d cache and memory cache, which local bus CPU

est raccordé par une mémoire intermédiaire à un bus de système.  is connected by an intermediate memory to a system bus.

Le bus de système est interconnecté à et fonctionne en interaction avec les dispositifs E/S comme le clavier 40, la souris 50, l'unité de commande de disque 70, l'unité de contrôle 20 et l'imprimante 60. De plus, selon les enseignements de la présente invention, l'unité de système 30 peut aussi comprendre un troisième bus comprenant un bus Micro Channel * pour assurer l'interconnexion entre le bus de système et d'autres dispositifs d'entrée/sortie (optionnels), mémoire, etc... * Micro Channel est une marque d'IBM Corporation La figure 2 est une représentation schématique illustrant les divers composants d'un système de micro- calculateur classique selon la présente invention. Un bus local CPU 230 (comprenant des composants de données, d'adresses et de commande) assure la connexion d'un microprocesseur 225 (comme une unité 80386), une unité de commande d'antémémoire 260 (qui peut comprendre une unité de commande d'antémémoire 82385)' et une mémoire antémémoire à accès aléatoire 255. Une mémoire intermédiaire 240 est aussi raccordée au bus local CPU 230. La mémoire intermédiaire 240 est elle même connectée au bus de système 250, comprenant aussi des composants d'adresses, de données et de commande. Le bus de système 250 est disposé entre la mémoire  The system bus is interconnected to and operates in interaction with I / O devices such as the keyboard 40, the mouse 50, the disk control unit 70, the control unit 20 and the printer 60. In addition, according to the teachings of the present invention, the system unit 30 can also comprise a third bus comprising a Micro Channel bus * to ensure the interconnection between the system bus and other input / output devices (optional), memory, etc ... * Micro Channel is a trademark of IBM Corporation Figure 2 is a schematic representation illustrating the various components of a conventional microcomputer system according to the present invention. A local CPU 230 bus (including data, address, and control components) connects a microprocessor 225 (such as an 80386 unit), a cache control unit 260 (which may include a control unit cache memory 82385) 'and a random access cache memory 255. An intermediate memory 240 is also connected to the local bus CPU 230. The intermediate memory 240 is itself connected to the system bus 250, also comprising address components, data and control. System bus 250 is located between the memory

intermédiaire 240 et une autre mémoire intermédiaire 253.  intermediate 240 and another intermediate memory 253.

Le bus de système 250 est aussi connecté à un élément de commande et de chronologie de bus 265 et à une unité de commande DMA 325. Un bus de commande d'arbitrage 340 raccorde l'élément de commande et de chronologie de bus 265 et un élément d'arbitrage central 335. La mémoire 350 est aussi connectée au bus de système 250. La mémoire 350 comprend un élément de commande de mémoire 351, un multiplexeur d'adresses 352 et une mémoire intermédiaire de données 353. Ces éléments sont interconnectés avec les éléments de mémoire 360 à 364,  The system bus 250 is also connected to a bus control and chronology element 265 and to a DMA control unit 325. An arbitration control bus 340 connects the bus control and chronology element 265 and a central arbitration element 335. The memory 350 is also connected to the system bus 250. The memory 350 comprises a memory control element 351, an address multiplexer 352 and an intermediate data memory 353. These elements are interconnected with memory elements 360 to 364,

comme le montre la figure 2.as shown in figure 2.

Une autre mémoire intermédiaire 254 est raccordée entre le bus de système 250 et un bus planaire 270. Le bus planaire 270 comprend des composants d'adresses, de données et de commande, respectivement. Divers adaptateurs E/S et autres composants comme l'adaptateur d'affichage 275 (qui est utilisé pour commander l'unité de contrôle 20), une horloge 280, une mémoire à accès aléatoire supplémentaire 285, un adaptateur RS 232 290 (utilisé pour des opérations E/S en séries), un adaptateur d'imprimante 295 (qui peut être utilisé pour commander l'imprimante 60), une unité de chronologie 300, un adaptateur de disquette 305 (qui coopère avec l'unité de commande de disque 70), une unité de commande d'interruption 310 et une mémoire permanente 315 sont également raccordés au bus planaire 270. La mémoire intermédiaire 253 fait fonction d'interface entre le bus de système 250 et un bus de fonction optionnel comme le bus Micro Channel 320 représenté par les prises Micro Channel. Des dispositifs comme la mémoire 331 peuvent être  Another intermediate memory 254 is connected between the system bus 250 and a planar bus 270. The planar bus 270 comprises address, data and control components, respectively. Various I / O adapters and other components such as the display adapter 275 (which is used to control the control unit 20), a clock 280, an additional random access memory 285, an RS 232 adapter 290 (used for serial I / O operations), a printer adapter 295 (which can be used to control the printer 60), a chronology unit 300, a floppy disk adapter 305 (which cooperates with the disk control unit 70), an interrupt control unit 310 and a permanent memory 315 are also connected to the planar bus 270. The intermediate memory 253 acts as an interface between the system bus 250 and an optional function bus such as the Micro Channel bus 320 represented by Micro Channel sockets. Devices like memory 331 can be

raccordés au bus 320.connected to bus 320.

Bien que des données pour des écritures d'antémémoire puissent être dérivées de la mémoire 350, ces données peuvent aussi être dérivées d'une autre mémoire comme la mémoire installée sur le  Although data for cache writes can be derived from memory 350, this data can also be derived from other memory such as the memory installed on the

bus Micro Channel.Micro Channel bus.

Dans un système de micro-calculateur à unités 80386/82385 classique, l'utilisateur est contraint de sélectionner l'une de deux possibilités non attrayantes en rapport avec des opérations de mémoire et plus particulièrement des. opérations  In a conventional 80386/82385 unit microcomputer system, the user is forced to select one of two unattractive possibilities relating to memory operations and more particularly to. operations

suivant une lecture manquée.following a missed reading.

Dans un tel système, pendant un cycle de lecture, le microprocesseur 225 place une adresse sur le composant d'adresse du bus local CPU 230. L'unité de commande d'antémémoire 260 répond à l'adresse et détermine si les informations requises sont contenues dans la mémoire antémémoire 255. Dans le cas o les informations sont trouvées dans la mémoire antémémoire 255, la mémoire antémémoire 255 est adressée, elle place les données sur le composant de données du bus local CPU o elles sont disponibles pour le microprocesseur 225. Dans le cas o les informations requises ne sont pas dans la mémoire antémémoire 255, l'unité de commande d'antémémoire 260 conditionne alors la mémoire intermédiaire 240 de façon que l'adresse puisse être passée du bus local CPU 230 au bus de système 250. Lorsque l'adresse requise atteint le bus de système 250, elle est disponible pour la mémoire 350 et après une période de temps requise par les caractéristiques de la mémoire 350, les données adressées apparaissent sur le composant de données du bus de système 250. Les données sont raccordées au travers de la mémoire intermédiaire 240 o elles sont disponibles à la fois pour la mémoire antémémoire 255 et le microprocesseur 225. Les informations seront utilisées dans la mémoire antémémoire 255 pour y être écrites de façon que dans le cas o les mêmes informations sont requises, un autre accès en mémoire 350 ne soit pas requis. Des opérations similaires peuvent se dérouler avec la mémoire sur le bus planaire 270 ou sur le bus de fonction. Dans le cas du bus de fonction optionnelle, les informations d'adresse sont raccordées au travers de la mémoire intermédiaire 253 à la mémoire sur le bus de fonction optionnelle. Des données de cette mémoire sont raccordées à nouveau au travers de la mémoire intermédiaire 253, du bus de système 250 au bus local  In such a system, during a read cycle, the microprocessor 225 places an address on the address component of the local bus CPU 230. The cache control unit 260 responds to the address and determines whether the required information is contained in the cache memory 255. In the case where the information is found in the cache memory 255, the cache memory 255 is addressed, it places the data on the data component of the local bus CPU where it is available for the microprocessor 225. In the case where the required information is not in the cache memory 255, the cache control unit 260 then conditions the intermediate memory 240 so that the address can be passed from the local bus CPU 230 to the system bus 250 When the required address reaches the system bus 250, it is available for the memory 350 and after a period of time required by the characteristics of the memory 350, the addressed data appear on r the data component of the system bus 250. The data is connected through the intermediate memory 240 where it is available for both cache memory 255 and microprocessor 225. The information will be used in cache memory 255 to be written so that if the same information is required, another access to memory 350 is not required. Similar operations can take place with the memory on the planar bus 270 or on the function bus. In the case of the optional function bus, the address information is connected through the intermediate memory 253 to the memory on the optional function bus. Data from this memory is connected again through the intermediate memory 253, from the system bus 250 to the local bus

CPU 230 par la mémoire intermédiaire 240.  CPU 230 through intermediate memory 240.

Cependant, comme on l'a indiqué plus haut, les particularités de l'unité 82385 requièrent que les informations extraites à la suit d'une lecture manquée soient disponibles au bus local CPU pour leur écriture dans la mémoire antémémoire 255 avant que cela ne soit requis par le processeur 225.. Autrement dit, les exigences de chronologie placées sur la mémoire 350 ou toute autre mémoire par l'unité 82385 sont plus restrictives que les exigences de chronologie dictées par l'unité 80386. Le fabricant de l'unité 82385 suggère ainsi que l'utilisateur puisse: 1) soit sélectionner des éléments de mémoire (comme les éléments 361-364) en mémoire principale 350 ou dans toute autre mémoire pour être suffisamment rapide à répondre aux exigences de chronologie de l'unité 82385 avec un état d'attente spécifié, ou 2) s'assurer que la double opération amorcée par une lecture  However, as indicated above, the peculiarities of the 82385 unit require that the information extracted following a missed read be available on the local bus CPU for their writing in the cache memory 255 before this is done. required by processor 225 .. In other words, the chronology requirements placed on memory 350 or any other memory by unit 82385 are more restrictive than the chronology requirements dictated by unit 80386. The manufacturer of unit 82385 thus suggests that the user can: 1) either select memory elements (such as elements 361-364) in main memory 350 or in any other memory to be fast enough to meet the chronology requirements of unit 82385 with a specified wait state, or 2) ensure that the double operation initiated by a read

manquée occupe un état d'attente supplémentaire.  missed occupies an additional waiting state.

Comme on le décrira ci dessous, la présente invention élimine cette exigence de sélection de l'une de deux possibilités peu souhaitables par l'élimination effective des exigences de chronologies restrictives dictées par l'unité 82385 de façon que les exigences de chronologie placées sur la mémoire principale 350 ou toute autre mémoire ne soient pas plus  As will be described below, the present invention eliminates this selection requirement from one of two undesirable possibilities by effectively eliminating the restrictive chronology requirements dictated by unit 82385 so that the chronology requirements placed on the main memory 350 or any other memory is not more

restrictives que celles dictées par le processeur 80386.  restrictive than those dictated by the 80386 processor.

Afin de mettre en oeuvre la présente invention, plusieurs éléments logiques ont été ajoutés à l'unité de commande d'antémémoire 260, au delà de l'unité 82385 comme illustré à la  In order to implement the present invention, several logic elements have been added to the cache control unit 260, beyond the unit 82385 as illustrated in the

figure 3.figure 3.

La figure 3 représente sous forme schématique les composants détaillés de l'unité de commande d'antémémoire 260 et de la mémoire antémémoire 255. Plus particulièrement, la mémoire antémémoire 255 est raccordée à l'élément de données du bus local CPU 230 et par la bascule 255L, au composant d'adresses  FIG. 3 represents in schematic form the detailed components of the cache control unit 260 and of the cache memory 255. More particularly, the cache memory 255 is connected to the data element of the local bus CPU 230 and by the flip-flop 255L, to the address component

du bus local CPU 230.of the local bus CPU 230.

L'unité de commande d'antémémoire 260 comprend l'unité de  The cache control unit 260 includes the memory unit

commande d'antémémoire 82385 ainsi qu'un élément logique 261.  cache control 82385 and a logic element 261.

La figure 3 montre les signaux de sortie de l'unité 82385 qui  Figure 3 shows the output signals from the 82385 unit which

sont concernés par les opérations d'écriture d'antémémoire.  are affected by cache write operations.

Ceux ci comprennent le signal de conditionnement de verrouillage d'antémémoire (CALEN), les signaux d'écriture d'antémémoire comprenant CWEA (pour le banc A) et CWEB (pour le banc B) et les signaux de sélection de microprocesseurs CS0,  These include the cache lock conditioning signal (CALEN), the cache write signals including CWEA (for bank A) and CWEB (for bank B) and the microprocessor selection signals CS0,

CS1, CS2 et CS3.CS1, CS2 and CS3.

Comme le montre la figure 3, la logique 261 reçoit comme entrées, les signaux CWEA et CWEB en même temps que deux signaux d'horloge CLK et CLK2 (le premier est exactement égal à la moitié du dernier) et le signal BUSRD (indiquant une lecture de bus de système). Le signal BUSRD devient actif pour des opérations qui se déroulent sur le bus de système 250. Toute lecture de mémoire (autre que l'antémémoire) se déroule (au  As shown in FIG. 3, the logic 261 receives as inputs the signals CWEA and CWEB at the same time as two clock signals CLK and CLK2 (the first is exactly equal to half of the last) and the signal BUSRD (indicating a system bus reading). The BUSRD signal becomes active for operations that take place on the system bus 250. Any reading of memory (other than the cache memory) takes place (at

moins en partie) sur le bus de système 250.  less in part) on system bus 250.

La logique 261 répond à ses signaux d'entrée et dans la circonstance appropriée, génère le signal DCWEA (Conditionnement écriture antémémoire retardée A) ou le signal DCWEB (Conditionnement écriture antémémoire retardée B). Plus particulièrement, dans le cas o le signal DCWEA est actif et le signal BUSRD actif (ce qui indique ainsi sans risque d'erreur une lecture manquée), le signal DCWEA sera alors généré au moment approprié. D'une manière similaire, en présence d'un signal CWEB actif ainsi que d'un signal BUSRD  Logic 261 responds to its input signals and, when appropriate, generates the DCWEA signal (Delayed cache write conditioning A) or the DCWEB signal (Delayed cache write conditioning B). More particularly, in the case where the DCWEA signal is active and the BUSRD signal active (which thus indicates a missed reading without risk of error), the DCWEA signal will then be generated at the appropriate time. Similarly, in the presence of an active CWEB signal as well as a BUSRD signal

actif, le signal DCWEB sera alors généré à l'instant approprié.  active, the DCWEB signal will then be generated at the appropriate time.

Les sorties DCWEA et DCWEB de la logique 261 fournissent  The DCWEA and DCWEB outputs of logic 261 provide

chacune une entrée à la porte logique associée 263A ou 263B.  each an input to the associated logic gate 263A or 263B.

Chacune de ces portes reçoit aussi une entrée correspondante de la sortie associée de l'unité 82385, c'est à dire que l'autre entrée de la porte 263A est alimentée avec CWEA et de la même  Each of these doors also receives a corresponding input from the associated output of unit 82385, that is to say that the other input of door 263A is supplied with CWEA and from the same

manière, l'autre entrée de la porte 263B reçoit CWEB.  way, the other input of gate 263B receives CWEB.

Outre les portes logiques 263A et 263B, l'unité de commande d'antémémoire 260 comprend une mémoire intermédiaire 262 comprenant des éléments de mémoire intermédiaire 262a-262e, un pour chacun des signaux CALEN, CS0, CSl, CS2 et CS3. Comme le montre la figure 3, chaque élément de la mémoire intermédiaire 262 est une porte logique qui est en permanence partiellement conditionnée (par une entrée qui est reliée au potentiel approprié). L'autre entrée à l'élément de mémoire intermédiaire est issue de la sortie correspondante de l'unité 82385. La sortie de l'élément de mémoire intermédiaire 262a est appliquée comme entrée de commande à la bascule de verrouillage 255L. Les sorties des éléments de mémoire intermédiaire 262b-262e sont appliquées directement en entrée à la mémoire antémémoire 255  In addition to logic gates 263A and 263B, the cache control unit 260 includes an intermediate memory 262 comprising intermediate memory elements 262a-262e, one for each of the signals CALEN, CS0, CSl, CS2 and CS3. As shown in FIG. 3, each element of the intermediate memory 262 is a logic gate which is permanently partially conditioned (by an input which is connected to the appropriate potential). The other input to the intermediate memory element comes from the corresponding output of the unit 82385. The output of the intermediate memory element 262a is applied as a control input to the latch latch 255L. The outputs of the intermediate memory elements 262b-262e are applied directly as input to the cache memory 255

sous la forme de CS0-CS3.in the form of CS0-CS3.

Avant de décrire le fonctionnement des composants de la figure 3, on se reportera à la figure 4 pour l'illustration de la  Before describing the operation of the components of Figure 3, refer to Figure 4 for the illustration of the

chronologie appropriée.appropriate timeline.

La figure 4 est composée de trois schémas chronologiques.  Figure 4 is made up of three chronological diagrams.

Chacun des schémas commence au moment o une utilisation du bus de système est amorcée, c'est à dire lorsque le signal BUSRD devient actif. La ligne référencée 80386 montre qu'à un instant MT1 suivant le début d'une lecture manquée, les données délivrées en sortie -de la mémoire sont valides. L'instant MT1 est la tolérance de chronologie imposée à la mémoire par les  Each of the schemes begins at the moment when use of the system bus is initiated, ie when the signal BUSRD becomes active. The line referenced 80386 shows that at an instant MT1 following the start of a missed read, the data delivered as an output from the memory are valid. The instant MT1 is the chronology tolerance imposed on the memory by the

exigences de l'unité 80386.requirements of unit 80386.

Sur la ligne de la figure 4 référencée 82385, les exigences de chronologie imposées par l'unité 82385 sont illustrées. Plus particulièrement, l'unité 82385 génère les signaux CWEA et CWEB de façon que des données valides soient disponibles depuis la mémoire à l'instant MT2, c'est à dire à un moment avant que des données valides ne soient requises par l'unité 80386. Ainsi, la figure 4 représente l'exigence de chronologie la plus restrictive (MT2) de l'unité 82385 par comparaison aux  In the line of FIG. 4 referenced 82385, the chronology requirements imposed by the unit 82385 are illustrated. More particularly, the unit 82385 generates the signals CWEA and CWEB so that valid data are available from the memory at time MT2, that is to say at a time before valid data is required by the unit. 80386. Thus, Figure 4 represents the most restrictive chronology requirement (MT2) of unit 82385 compared to

exigences de chronologie (MT1) plus souples de l'unité 80386.  more flexible chronology (MT1) requirements of unit 80386.

La figure 4 montre aussi les effets de la logique 261. Plus particulièrement, les sorties DCWEA et/ou DCWEB de la logique 261 suivent les exigences de chronologie plus souples de l'unité 80386. Plus particulièrement, les signaux DCWEA et/ou DWCEB sont retardés du "retard" représenté à la figure 4 par comparaison avec les signaux CWEA et CWEB. Ainsi, par ce retard, les exigences de chronologie plus souples de l'unité 80386 sont les seules exigences de chronologie imposées à la mémoire principale 350 dans le cas d'une lecture manquée. Ceci permet l'utilisation de composants de mémoire meilleur marché par comparaison aux composants qui seraient requis pour l'unité 82385 afin de compléter une lecture manquée à l'intérieur d'un  Figure 4 also shows the effects of logic 261. More specifically, the DCWEA and / or DCWEB outputs of logic 261 follow the more flexible timing requirements of unit 80386. More specifically, the DCWEA and / or DWCEB signals are delayed by the "delay" shown in Figure 4 by comparison with the CWEA and CWEB signals. Thus, by this delay, the more flexible chronology requirements of the unit 80386 are the only chronology requirements imposed on the main memory 350 in the case of a missed reading. This allows the use of cheaper memory components compared to the components that would be required for the 82385 unit in order to complete a missed reading within a

nombre spécifié d'états d'attente.  specified number of wait states.

Les composants internes de la logique 261 mettent en oeuvre les équations logiques suivantes:  The internal components of logic 261 implement the following logic equations:

/DCWEA: = /BUSRD & /CLK & /CWEA /DCWEB: = /BUSRD & /CLK & /CWEB  / DCWEA: = / BUSRD & / CLK & / CWEA / DCWEB: = / BUSRD & / CLK & / CWEB

o l'opérateur "&"est un ET logique, l'opérateur "/" représente la négation et les autres éléments du signal (à part BUSRD) ont  o the operator "&" is a logical AND, the operator "/" represents the negation and the other elements of the signal (apart from BUSRD) have

déjà été définis.already defined.

Les figures 5A-5C sont utiles à l'explication du fonctionnement de l'élément représenté à la figure 3. Plus particulièrement, la figure 5A représente un signal CWE typique. Le signal a deux transitions, une première transition de passage au niveau bas  Figures 5A-5C are useful in explaining the operation of the element shown in Figure 3. More specifically, Figure 5A shows a typical CWE signal. The signal has two transitions, a first transition from low pass

et une seconde transition de passage au niveau haut.  and a second transition from transition to high level.

L'antémémoire 255 est agencée pour effectuer une opération d'écriture à la transition au niveau haut de CWE comme illustré  Cache 255 is arranged to perform a write operation at the high level transition of CWE as illustrated

à la figure 5A. La figure 5B représente des signaux CWE, DCWE typiques et la sortie de lain Figure 5A. Figure 5B shows typical CWE, DCWE signals and the output of the

porte (soit 263A, soit 263B) pour un état de lecture manquée. Comme montré sur une première ligne, le signal CWE est généré par l'unité 82385. Dans un état de lecture manquée, l'élément logique 261 génère le signal DCWE retardé depuis le signal CWE d'un retard approprié. La troisième ligne de la figure 5B (référencée PORTE) montre la sortie de la porte appropriée (263A ou 263B). Plus particulièrement, la sortie de la porte 263 présente une transition au niveau bas produite à la suite du signal CWE à transition au niveau bas. Lorsque le signal CWE est affecté d'une transition au niveau haut, la sortie de porte reste au niveau bas en raison de l'entrée au niveau bas du signal DCWE. C'est seulement lorsque le signal DCWE passe au niveau haut que la sortie de la porte passe au niveau haut de façon que la chronologie de l'opération d'écriture soit occasionnée par la transition au niveau haut du signal DCWE. Comme on le voit à la troisième ligne de la figure B, l'opération d'écriture est retardée du retard interposé par l'élément logique 261 par comparaison avec la transition au  door (either 263A or 263B) for a missed read state. As shown on a first line, the CWE signal is generated by the unit 82385. In a missed read state, the logic element 261 generates the DCWE signal delayed from the CWE signal by an appropriate delay. The third line in Figure 5B (referenced DOOR) shows the output of the appropriate door (263A or 263B). More particularly, the output of gate 263 has a low level transition produced following the low level transition CWE signal. When the CWE signal is transitioned to the high level, the gate output remains at the low level due to the low level input of the DCWE signal. It is only when the DCWE signal goes high that the door output goes high so that the chronology of the writing operation is caused by the transition to the high level of the DCWE signal. As seen in the third line of Figure B, the write operation is delayed by the delay interposed by the logic element 261 by comparison with the transition to

niveau haut du signal CWE.high level of the CWE signal.

La figure 5C représente le fonctionnement pendant une écriture d'antémémoire autre que celle occasionnée par une lecture manquée. La première ligne de la figure 5C (référencée CWE) montre le signal CWE tel que généré par l'unité 82385. Etant donné que la figure 5C illustre une écriture d'antémémoire non occasionnée par une lecture manquée, le signal DCWE ne présente pas de transition du tout (BUSRD reste inactif). En conséquence, la sortie de la porte (263A ou 263B) est synchrone avec CWE de façon que l'opération d'écriture ne soit pas  FIG. 5C shows the operation during a cache write other than that caused by a missed read. The first line of FIG. 5C (referenced CWE) shows the CWE signal as generated by the unit 82385. Since FIG. 5C illustrates a cache write not caused by a missed read, the DCWE signal does not show any transition at all (BUSRD remains inactive). As a result, the gate output (263A or 263B) is synchronous with CWE so that the write operation is not

retardée du tout.delayed at all.

Dans une réalisation de la présente invention, la durée du  In one embodiment of the present invention, the duration of the

RETARD est de l'ordre de 25 nanosecondes.  DELAY is around 25 nanoseconds.

Les équations logiques auxquelles on s'est référé ci dessus, sont reproduites immédiatement ci dessous. Dans ces équations, les symboles ont les significations suivantes: Symboles Définitions / Négation := Terme enregistré A, égal au = Terme combinatoire A, égal à & ET logique + OU logique  The logic equations to which we have referred above, are reproduced immediately below. In these equations, the symbols have the following meanings: Symbols Definitions / Negation: = Recorded term A, equal to = Combinative term A, equal to & logical AND + logical OR

19 2 6263209219 2 62 632 092

Equations logiquesLogic equations

/BUSRD:=BUSRD & BUSCYC385 & /BADS & /(BW/R) & CLK  / BUSRD: = BUSRD & BUSCYC385 & / BADS & / (BW / R) & CLK

(1) + BUSRD & /PIPECYCLE385 & /(BW/R) & CLK + /BUSRD &  (1) + BUSRD & / PIPECYCLE385 & / (BW / R) & CLK + / BUSRD &

BREADY + /BUSRD & /MISSl + /BUSRD & /CLK  BREADY + / BUSRD & / MISSl + / BUSRD & / CLK

/BUSCYC385:=BUSCYC385 & /BADS & CLK/ BUSCYC385: = BUSCYC385 & / BADS & CLK

(2) + BUSCYC385 & /PIPECYC385 & CLK + BUSCYC385 & /BT2 &  (2) + BUSCYC385 & / PIPECYC385 & CLK + BUSCYC385 & / BT2 &

CLK + /BUSCYC385 & BREADY + /BUSCYC385 & /CLK  CLK + / BUSCYC385 & BREADY + / BUSCYC385 & / CLK

/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK &  / PIPECYC385: = PIPECYC385 & / BADS & / BUSCYC385 & CLK &

/BREADY (3) + PIPECYC385 & /MISS1 & BT2 & /BUSCYC385  / BREADY (3) + PIPECYC385 & / MISS1 & BT2 & / BUSCYC385

& CLK & /BREADY + /PIPECYC385 & /CLK  & CLK & / BREADY + / PIPECYC385 & / CLK

/MISSl:=MISSl & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK  / MISSl: = MISSl & BUSCYC385 & CPUNA & / BADS & / (BW / R) & CLK

& NCA (4) + MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK &  & NCA (4) + MISS1 & / BUSCYC385 & / BADS & / (BW / R) & CLK &

NCA & /BREADY + JMISSl & /CLK + /MISSl & BREADY  NCA & / BREADY + JMISSl & / CLK + / MISSl & BREADY

/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE  / CPUNA: = / MISS1 & CLK & CPUNA & / NACACHE

(5) + /MISS1 & CLK & CPUNA & iBREADY & /BUSCYC385 + /CPUNA & /CLK + /CPUNA & /MISSl & CLK + JCPUNA & CLK & BREADY +  (5) + / MISS1 & CLK & CPUNA & iBREADY & / BUSCYC385 + / CPUNA & / CLK + / CPUNA & / MISSl & CLK + JCPUNA & CLK & BREADY +

/CPUNA & BUSCYC385 & NACACHE & CLK/ CPUNA & BUSCYC385 & NACACHE & CLK

/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2  / BT2: = BUSCYC385 & PIPECYC385 & / BADS & CLK & BT2

(6) + BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2  (6) + BUSCYC385 & / PIPECYC385 & BADS & CLK & NACACHE & BT2

+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA &  + MISS1 & / BUSCYC385 & / BADS & / (BW / R) & CLK & NCA &

/BREADY + /MISS1 & /BREADY & /BUSCYC385 & CLK + /BT2 &  / BREADY + / MISS1 & / BREADY & / BUSCYC385 & CLK + / BT2 &

BREADY & NACACHE + /CLK & /BT2BREADY & NACACHE + / CLK & / BT2

Dans les équations logiques précédentes, on s'est référé ou on a décrit les signaux suivants tels qu'indiqués dans les publications de Intel citées précédemment: BADS BREADY (BW/R) actuellement référencé comme BW/R, les parenthèses sont utilisées pour indiquer que le terme complet est un seul signal d'horloge CLK BADS, lorsqu'il est actif, indique une adresse valide sur le bus de système 250. BREADY est un signal d'état "prêt" issu du bus de système 250 et qui va au bus local CPU 230. BW/R définit un signal d'écriture ou de lecture du bus de système 250. CLK est un signal de chronologie de processeur qui est en phase  In the previous logic equations, the following signals have been referred to or described as indicated in the Intel publications cited above: BADS BREADY (BW / R) currently referenced as BW / R, parentheses are used to indicate that the full term is a single CLK BADS clock signal, when active, indicates a valid address on the system bus 250. BREADY is a "ready" status signal from the system bus 250 and which will to the local bus CPU 230. BW / R defines a write or read signal from the system bus 250. CLK is a processor chronology signal which is in phase

avec le processeur 225.with processor 225.

Les équations (1)-(6) définissent: BT2 BUSCYC385 BUSRD CPUNA MISSl PIPECYC385 En termes de signaux définis, les signaux que l'on a décrit ou auxquels l'on se réfère, sont les signaux indiqués dans les  Equations (1) - (6) define: BT2 BUSCYC385 BUSRD CPUNA MISSl PIPECYC385 In terms of defined signals, the signals that have been described or to which we refer, are the signals indicated in the

publications de Intel citées précédemment et NCA et NACACHE.  Intel publications cited above and NCA and NACACHE.

BT2 reflète l'état du bus de système 250. L'état BT2 est un  BT2 reflects the state of system bus 250. State BT2 is a

état défini dans les publications de Intel citées précédemment.  state defined in Intel publications cited above.

BUSCYC385 réfléchit aussi l'état du bus de système 250. Il est au niveau haut pour les états de bus BTI, BT1, BT1P et au niveau bas pour les états de bus BT2, BT2P et BT2I (ce sont à nouveau des états de bus référencés dans les publications de  BUSCYC385 also reflects the state of the system bus 250. It is high for bus states BTI, BT1, BT1P and low for bus states BT2, BT2P and BT2I (these are again bus states referenced in the publications of

Intel citées précédemment).Intel cited above).

/BUSRD est actif pendant des lectures apparaissant sur le bus  / BUSRD is active during readings appearing on the bus

de système 250.of system 250.

CPUNA est un signal appliqué à l'unité 80386 et permettant une  CPUNA is a signal applied to unit 80386 and allowing a

opération en pipeline.pipeline operation.

MISS1 est actif pour définir le premier cycle d'un cycle double pour la manipulation d'une lecture de 64 bits appliquée aux  MISS1 is active to define the first cycle of a double cycle for the manipulation of a 64-bit reading applied to

dispositifs à possibilité d'antémémoire.  cache memory devices.

PIPECYC385 est actif pendant BT1P (qui est un état de bus auquel on se réfère dans les publications de Intel citées précédemment. NCA est un signal crée par le décodage du composant d'adresses sur le bus local CPU 230 pour réfléchir à l'état actif, un accès sans possibilité d'antémémoire. La possibilité d'antémémoire est déterminée par un composant d'étiquettes (A31 à A17) et des informations programmables définissant les étiquettes (s'il y en a) qui se réfèrent à des adresses à possibilité d'antémémoire par opposition- aux adresses sans  PIPECYC385 is active during BT1P (which is a bus state which is referred to in the Intel publications cited above. NCA is a signal created by the decoding of the address component on the local bus CPU 230 to reflect on the active state , access without cache possibility The cache possibility is determined by a label component (A31 to A17) and programmable information defining the labels (if any) which refer to addresses with possibility cache as opposed to addresses without

possibilité d'antémémoire.possibility of cache memory.

NACACHE est un signal similaire au signal BNA. BNA est un signal généré par le système demandant une adresse suivante au bus local CPU 230 et est référencé dans les publications de Intel citées précédemment. NACACHE ne diffère de BNA que par rapport au fait que BNA est crée pour une antémémoire de 32K tandis que NACACHE est crée pour une antémémoire de 64K. Aussi longtemps que la mémoire antémémoire est de 32K comme indiqué dans les publications Intel, le signal NACACHE auquel on se réfère ici pourrait être remplacé par le signal BNA. Dans une réalisation, l'élément logique 261 se présentait sous la forme d'un réseau logique programmable. Il est évident que d'autres dispositifs logiques pourraient être utilisés pour assurer une fonction identique. Bien qu'une réalisation préférée de la présente invention ait été décrite ici, il est évident que des modifications peuvent y être apportées sans pour autant sortir du cadre de celle ci qui doit être analysée non pas en fonction  NACACHE is a signal similar to the BNA signal. BNA is a signal generated by the system requesting a following address from the local bus CPU 230 and is referenced in the Intel publications cited above. NACACHE differs from BNA only in that BNA is created for a 32K cache while NACACHE is created for a 64K cache. As long as the cache memory is 32K as reported in Intel publications, the NACACHE signal referred to here could be replaced by the BNA signal. In one embodiment, the logic element 261 was in the form of a programmable logic network. It is obvious that other logic devices could be used to provide an identical function. Although a preferred embodiment of the present invention has been described here, it is obvious that modifications can be made thereto without departing from the scope of the latter which must be analyzed not in terms of

de l'exemple décrit ici mais en fonction des revendications ci  of the example described here but according to the claims ci

jointes.attached.

Claims (11)

REVENDICATIONS Un système de microcalculateur à bus multiples comprenant: un microprocesseur et un sous-système d'antémémoire connectés ensemble par un bus local CPU, ledit sous-système d'antémémoire comprenant une unité de commande d'antémémoire et une mémoire antémémoire, et des moyens logiques connectant des signaux de conditionnement d'écriture de ladite unité de commande d'antémémoire 82385 à ladite mémoire antémémoire, lesdits moyens logiques comprenant: des moyens logiques de retard répondant à un état d'écriture d'antémémoire provoque par une lecture manquée et répondant à une sortie de conditionnement d'écriture depuis ladite unité de commande d'antémémoire et comportant une borne de conditionnement d'écriture pour produire un signal de conditionnement d'écriture retardé à ladite borne de conditionnement d'écriture, et une porte logique avec une première entrée connectée à ladite sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire, une seconde entrée connectée à ladite borne de conditionnement d'écriture, et une sortie connectée à une entrée de conditionnement d'écriture de ladite mémoire antémémoire.  A multi-bus microcomputer system comprising: a microprocessor and a cache subsystem connected together by a local bus CPU, said cache subsystem comprising a cache controller and a cache memory, and means logic connecting write conditioning signals from said cache control unit 82385 to said cache memory, said logic means comprising: logic delay means responding to a cache write state caused by a missed read and responding to a write conditioning output from said cache control unit and having a write conditioning terminal for producing a delayed write conditioning signal at said write conditioning terminal, and a logic gate with a first input connected to said write conditioning output of said cache control unit, a second input connected to the said write conditioning terminal, and an output connected to a write conditioning input of said cache memory. 2. Un système selon la revendication 1 dans lequel lesdits moyens logiques connectent aussi des signaux d'éléments semiconducteurs de ladite unité de sélection de commande d'antémémoire à ladite mémoire antémémoire, dans lequel lesdits moyens logiques comprennent en outre - des moyens de mémoire intermédiaire pour retarder la transmission des signaux de sélection d'éléments semiconducteurs, lesdits moyens de mémoire intermédiaire ayant une entrée pour chacun desdits signaux de sélection d'éléments semiconducteurs et une sortie pour chacun desdits signaux de sélection d'éléments semiconducteurs, des sorties desdits moyens de mémoire intermédiaire étant connectées aux bornes des signaux de sélection d'éléments2. A system according to claim 1 wherein said logic means also connects semiconductor element signals from said cache control selection unit to said cache memory, wherein said logic means further comprises - intermediate memory means for delaying the transmission of semiconductor element selection signals, said intermediate memory means having an input for each of said semiconductor element selection signals and an output for each of said semiconductor element selection signals, outputs of said semiconductor means intermediate memory being connected to the terminals of the element selection signals semiconducteurs de ladite mémoire antémémoire.  semiconductors of said cache memory. 3. Un système selon la revendication 2 dans lequel lesdits moyens de mémoire intermédiaire comprennent en outre une entrée pour un signal de conditionnement de bascule de verrouillage d'antémémoire issu de l'unité de commande d'antémémoire et une sortie connectée à une bascule de  3. A system according to claim 2 wherein said intermediate memory means further comprises an input for a cache latch flip-flop conditioning signal from the cache control unit and an output connected to a latch flip-flop. verrouillage d'adresses de ladite mémoire antémémoire.  locking addresses of said cache memory. 4. Un système de microcalculateur selon l'une des  4. A microcomputer system according to one of revendications précédentes dans lequel ladite mémoire  previous claims wherein said memory antémémoire comprend un premier et un second banc de mémoires, dans lequel ladite unité de commande d'antémémoire présente une première sortie de conditionnement d'écriture correspondant audit premier banc de mémoires et une seconde sortie de conditionnement d'écriture correspondant audit second banc de mémoires, et dans lequel: lesdits moyens logiques de retard répondent séparément à ladite première ou seconde sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire et comportent des première et seconde bornes de conditionnement d'écriture pour produire un premier signal de conditionnement d'écriture retardé à ladite première borne de conditionnement d'écriture correspondant à ladite première sortie de conditionnement d'écriture ou un second signal de conditionnement d'écriture retardé à ladite seconde borne de conditionnement d'écriture correspondant à ladite seconde sortie de conditionnement d'écriture, ladite porte logique ayant ladite première entrée connectée à ladite première sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire, une seconde entrée connectée à ladite première borne de conditionnement d'écriture, et une sortie connectée à une entrée de conditionnement d'écriture d'un premier banc de ladite mémoire antémémoire, lesdits moyens logiques comprenant: une autre porte logique avec une première entrée connectée à ladite seconde sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire et une seconde entrée connectée à ladite seconde borne de conditionnement d'écriture, et une sortie connectée à une entrée de conditionnement d'écriture  cache memory includes first and second memory banks, wherein said cache control unit has a first write conditioning output corresponding to said first memory bank and a second write conditioning output corresponding to said second memory bank , and wherein: said delay logic means responds separately to said first or second write conditioning output of said cache control unit and includes first and second write conditioning terminals for producing a first conditioning signal delayed write to said first write conditioning terminal corresponding to said first write conditioning output or a second delayed write conditioning signal to said second write conditioning terminal corresponding to said second conditioning output d writing, said logic gate having said first input connected e at said first write conditioning output of said cache control unit, a second input connected to said first write conditioning terminal, and an output connected to a write conditioning input of a first bank of said cache memory, said logic means comprising: another logic gate with a first input connected to said second write conditioning output of said cache control unit and a second input connected to said second write conditioning terminal , and an output connected to a write conditioning input du second banc de ladite mémoire antémémoire.  the second bank of said cache memory. 5. Un système selon la revendication 1 comprenant en outre: un bus de système, une mémoire connectée audit bus de système, des moyens connectant ledit bus de système et ledit bus local CPU,  5. A system according to claim 1 further comprising: a system bus, a memory connected to said system bus, means connecting said system bus and said local CPU bus, 2632O922632O92 ladite unité de commande d'antémémoire comprenant des premiers moyens répondant audit état de lecture manquée pour passer des informations d'adressage dudit bus local CPU audit bus de système pour adresser ladite mémoire, ladite unité de commande d'antémémoire comprenant des seconds moyens répondant à des données sur ledit bus de système retirées de ladite mémoire pour connecter lesdites données audit bus local CPU, ce qui permet aux données retirées de la mémoire d'être écrites dans ladite mémoire antémémoire par l'intermédiaire dudit signal de  said cache control unit comprising first means responsive to said missed read state for passing addressing information from said local bus CPU to said system bus to address said memory, said cache control unit comprising second means responsive to data on said system bus removed from said memory to connect said data to said local bus CPU, which allows data removed from memory to be written to said cache memory via said signal conditionnement d'écriture retardé.  delayed writing conditioning. 6. Un système selon la revendication 5 dans lequel ledit bus de système est connecté à un bus de fonction optionnel, un dispositif de mémoire est connecté audit bus de fonction optionnel, ce qui fait que la mémoire connectée audit bus de fonction optionnel est adressée et des données adressées sont renvoyées audit bus local CPU par  6. A system according to claim 5 in which said system bus is connected to an optional function bus, a memory device is connected to said optional function bus, so that the memory connected to said optional function bus is addressed and addressed data is sent back to said local bus CPU by l'intermédiaire dudit bus de système.  through said system bus. 7. Un système de microcalculateur à bus multiples comprenant un microcalculateur, une unité de commande d'antémémoire et une mémoire antémémoire pour retarder sélectivement des signaux d'écriture d'antémémoire suivant une lecture manquée afin d'améliorer la tolérance du système aux composants de mémoire plus lents sans affecter les paramètres d'état d'attente relatifs à des opérations d'écriture manquée comprenant: - des moyens logiques répondant à un état d'écriture d'antémémoire provoqué par une lecture manquée pour retarder sélectivement des signaux de conditionnement d'écriture d'antémémoire comprenant: - des moyens répondant à une lecture de bus de système avec une entrée connectée à des signaux de conditionnement d'écriture issus de ladite unité de commande d'antémémoire pour produire un signal de conditionnement d'écriture retardée à une borne de conditionnement d'écriture, - une porte logique avec une première entrée connectée à une sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire et une seconde entrée connectée à ladite borne de conditionnement d'écriture et une sortie connectée à une entrée de conditionnement d'écriture de ladite mémoire antémémoire, et - des moyens de mémoire intermédiaire pour retarder la transmission des signaux de sélection d'éléments semiconducteurs issus de l'unité de commande d'antémémoire, lesdits moyens de mémoire intermédiaire présentant une entrée pour chacun desdits signaux de sélection d'éléments semiconducteurs et une sortie pour chacun desdits signaux de sélection d'éléments semiconducteurs, des sorties desdits moyens de mémoire intermédiaire étant connectés aux bornes de sélection d'éléments  7. A multi-bus microcomputer system comprising a microcomputer, a cache controller and a cache memory for selectively delaying cache write signals following a missed read in order to improve the system's tolerance to the components of slower memory without affecting the wait state parameters relating to missed write operations comprising: - logic means responding to a cache write state caused by a missed read to selectively delay conditioning signals d cache write comprising: means responsive to a system bus read with an input connected to write conditioning signals from said cache control unit to produce a delayed write conditioning signal to a write conditioning terminal, - a logic gate with a first input connected to a write conditioning output of said lad e cache control unit and a second input connected to said write conditioning terminal and an output connected to a write conditioning input of said cache memory, and - intermediate memory means for delaying the transmission of signals for selecting semiconductor elements from the cache control unit, said intermediate memory means having an input for each of said semiconductor element selection signals and an output for each of said semiconductor element selection signals, outputs of said intermediate memory means being connected to the element selection terminals semiconducteurs de ladite mémoire antémémoire.  semiconductors of said cache memory. 8. Un système selon la revendication 7 qui comprend en outre: un bus de système, une mémoire connectée audit bus de système, des moyens connectant ledit bus de système et ledit bus local CPU, ladite unité de commande d'antémémoire comprenant des moyens répondant à une lecture manquée d'antémémoire pour passer des informations d'adresses dudit bus local CPU audit bus de système pour adresser ladite mémoire, et des moyens répondant aux données, sur ledit bus de système, retirées de ladite mémoire pour connecter lesdites données audit bus local de CPU, ce qui fait que des données retirées de la mémoire sont écrites dans ladite mémoire antémémoire par l'intermédiaire dudit signal de  8. A system according to claim 7 which further comprises: a system bus, a memory connected to said system bus, means connecting said system bus and said local bus CPU, said cache control unit comprising responsive means a missed cache read to pass address information from said local CPU bus to said system bus to address said memory, and means responding to data, on said system bus, removed from said memory to connect said data to said bus local CPU, so that data removed from memory is written to said cache memory via said signal conditionnement d'écriture retardée.  delayed writing conditioning. 9. Un système selon la revendication 8 dans lequel ledit bus de système est connecté à un bus de fonction optionnel, un moyen de mémoire est connecté audit bus de fonction optionnel, ledit moyen de mémoire répondant à une adresse connectée depuis ledit bus local CPU, ledit bus de système est connecté audit bus de fonction optionnel pour retirer des données emmagasinées à ladite adresse et pour commander ledit bus de fonction optionnel avec lesdites données, ce qui fait que des données retirées desdits moyens de mémoire sont écrites dans ladite mémoire antémémoire par l'intermédiaire dudit signal de  9. A system according to claim 8, in which said system bus is connected to an optional function bus, a memory means is connected to said optional function bus, said memory means responding to an address connected from said local CPU bus, said system bus is connected to said optional function bus for removing data stored at said address and for controlling said optional function bus with said data, whereby data removed from said memory means is written to said cache memory by the by said signal conditionnement d'écriture d'antémémoire retardée.  delayed cache write conditioning. 10. Un système selon la revendication 9 dans lequel lesdits moyens de mémoire intermédiaire comprennent en outre une entrée pour un signal de conditionnement de bascule de verrouillage d'antémémoire issu de l'unité de commande d'antémémoire et une sortie connectée à une bascule de  10. A system according to claim 9 wherein said intermediate memory means further comprises an input for a cache latch flip-flop conditioning signal from the cache control unit and an output connected to a latch flip-flop. verrouillage d'adresses de ladite mémoire antémémoire.  locking addresses of said cache memory. 11. Un système selon la revendication 9 dans lequel ladite mémoire antémémoire comprend un premier et un second banc de mémoires, ladite unité de commande d'antémémoire ayant une première sortie de conditionnement d'écriture correspondant audit premier banc de mémoires et une seconde sortie de conditionnement d'écriture correspondant audit second banc de mémoires et dans lequel: lesdits moyens logiques de retard réondent séparément auxdites première ou seconde sorties de conditionnement d'écriture de l'unité de commande d'antémémoire et ayant des premières et secondes bornes de conditionnement d'écriture pour produire un premier signal de conditionnement d'écriture retardé à ladite première borne de conditionnement d'écriture correspondant à ladite première sortie de conditionnement d'écriture ou un second signal de conditionnement d'écriture retardé à ladite seconde borne de conditionnement d'écriture correspondant à ladite seconde sortie de conditionnement d'écriture, ladite porte logique ayant une première entrée connectée à ladite première sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire et une seconde entrée connectée à ladite première borne de conditionnement d'écriture, et une sortie connectée à une entrée de conditionnement d'écriture d'un premier banc de ladite mémoire antémémoire, et comprenant une seconde porte logique avec une première entrée connectée à ladite seconde sortie de conditionnement d'écriture de ladite unité de commande d'antémémoire et une seconde entrée connectée à ladite seconde borne de conditionnement d'écriture, et une sortie connectée à une entrée de conditionnement d'écriture d'un second banc de ladite  11. A system according to claim 9 wherein said cache memory comprises first and second memory banks, said cache control unit having a first write conditioning output corresponding to said first memory bank and a second memory output write conditioning corresponding to said second memory bank and in which: said logical delay means respond separately to said first or second write conditioning outputs of the cache control unit and having first and second conditioning terminals d writing to produce a first delayed write conditioning signal at said first write conditioning terminal corresponding to said first write conditioning output or a second delayed write conditioning signal at said second write conditioning terminal write corresponding to said second write conditioning output, said door lo logic having a first input connected to said first write conditioning output of said cache control unit and a second input connected to said first write conditioning terminal, and an output connected to a write conditioning input a first bank of said cache memory, and comprising a second logic gate with a first input connected to said second write conditioning output of said cache control unit and a second input connected to said second conditioning terminal d writing, and an output connected to a writing conditioning input of a second bench of said mémoire antémémoire.cache memory.
FR8905079A 1988-05-26 1989-04-11 DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385 Pending FR2632092A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,890 US5175826A (en) 1988-05-26 1988-05-26 Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385

Publications (1)

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

Family

ID=22735299

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8905079A Pending FR2632092A1 (en) 1988-05-26 1989-04-11 DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385

Country Status (25)

Country Link
US (1) US5175826A (en)
EP (1) EP0343989B1 (en)
JP (1) JP2755330B2 (en)
KR (1) KR930001584B1 (en)
CN (1) CN1019151B (en)
AT (1) ATE128566T1 (en)
AU (1) AU615542B2 (en)
BE (1) BE1002653A4 (en)
BR (1) BR8902383A (en)
CA (1) CA1314103C (en)
CO (1) CO4520299A1 (en)
DE (2) DE3911721A1 (en)
DK (1) DK170677B1 (en)
ES (1) ES2078237T3 (en)
FI (1) FI96244C (en)
FR (1) FR2632092A1 (en)
GB (2) GB8904920D0 (en)
HK (1) HK11592A (en)
IT (1) IT1230208B (en)
MX (1) MX170835B (en)
MY (1) MY106968A (en)
NL (1) NL8901327A (en)
NO (1) NO175837C (en)
SE (1) SE8901308L (en)
SG (1) SG110991G (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586302A (en) * 1991-06-06 1996-12-17 International Business Machines Corporation Personal computer system having storage controller with memory write control
US5361368A (en) * 1991-09-05 1994-11-01 International Business Machines Corporation Cross interrogate synchronization mechanism including logic means and delay register
US5802548A (en) * 1991-10-25 1998-09-01 Chips And Technologies, Inc. Software programmable edge delay for SRAM write enable signals on dual purpose cache controllers
US5333276A (en) * 1991-12-27 1994-07-26 Intel Corporation Method and apparatus for priority selection of commands
US5309568A (en) * 1992-03-16 1994-05-03 Opti, Inc. Local bus design
US5426739A (en) * 1992-03-16 1995-06-20 Opti, Inc. Local bus - I/O Bus Computer Architecture
US5471585A (en) * 1992-09-17 1995-11-28 International Business Machines Corp. Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports
US5898894A (en) 1992-09-29 1999-04-27 Intel Corporation CPU reads data from slow bus if I/O devices connected to fast bus do not acknowledge to a read request after a predetermined time interval
US6487626B2 (en) 1992-09-29 2002-11-26 Intel Corporaiton Method and apparatus of bus interface for a processor
US5613153A (en) * 1994-10-03 1997-03-18 International Business Machines Corporation Coherency and synchronization mechanisms for I/O channel controllers in a data processing system
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US6397295B1 (en) 1999-01-04 2002-05-28 Emc Corporation Cache mechanism for shared resources in a multibus data processing system
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
JP2005221731A (en) * 2004-02-05 2005-08-18 Konica Minolta Photo Imaging Inc Imaging device
US8996833B2 (en) * 2013-03-11 2015-03-31 Intel Corporation Multi latency configurable cache

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4190885A (en) * 1977-12-22 1980-02-26 Honeywell Information Systems Inc. Out of store indicator for a cache store in test mode
US4171538A (en) * 1978-01-23 1979-10-16 Rockwell International Corporation Elastic store slip circuit apparatus for preventing read and write operations interference
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
JPS58169958A (en) * 1982-03-31 1983-10-06 Fujitsu Ltd Mis static random access memory
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4513372A (en) * 1982-11-15 1985-04-23 Data General Corporation Universal memory
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
JPH0795395B2 (en) * 1984-02-13 1995-10-11 株式会社日立製作所 Semiconductor integrated circuit
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4623990A (en) * 1984-10-31 1986-11-18 Advanced Micro Devices, Inc. Dual-port read/write RAM with single array
US4835678A (en) * 1985-02-01 1989-05-30 Nec Corporation Cache memory circuit for processing a read request during transfer of a data block
US4630239A (en) * 1985-07-01 1986-12-16 Motorola, Inc. Chip select speed-up circuit for a memory
JPS6261135A (en) * 1985-09-11 1987-03-17 Nec Corp Cache memory
JPS62194563A (en) * 1986-02-21 1987-08-27 Hitachi Ltd buffer storage device
US4710903A (en) * 1986-03-31 1987-12-01 Wang Laboratories, Inc. Pseudo-static memory subsystem
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
82385 HIGH PERFORMANCE 32-BIT CACHE CONTROLLER, octobre 1987, Intel Corp., Santa Clara, US *
ELECTRONICS & WIRELESS WORLD, vol. 93, no. 1621, novembre 1987, pages 1121-1123, Sutton, Surrey, GB; D. JONES et al.: "The 68030" *
ELECTRONICS, vol. 60, no. 12, 11 juin 1987, pages 74-76, New York, US; B.C. COLE: "How a cache control chip supercharges 386 processor" *

Also Published As

Publication number Publication date
FI96244C (en) 1996-05-27
NO891583D0 (en) 1989-04-18
SE8901308D0 (en) 1989-04-11
NO175837C (en) 1994-12-14
KR930001584B1 (en) 1993-03-05
MY106968A (en) 1995-08-30
JP2755330B2 (en) 1998-05-20
FI891788A0 (en) 1989-04-14
CA1314103C (en) 1993-03-02
CO4520299A1 (en) 1997-10-15
FI891788A (en) 1989-11-27
AU3409689A (en) 1989-11-30
DE3911721C2 (en) 1990-05-31
GB8904920D0 (en) 1989-04-12
IT1230208B (en) 1991-10-18
IT8920649A0 (en) 1989-05-25
NO891583L (en) 1989-11-27
DE68924368T2 (en) 1996-05-02
EP0343989B1 (en) 1995-09-27
GB2219111B (en) 1991-05-29
CN1040104A (en) 1990-02-28
JPH0271344A (en) 1990-03-09
DK189689A (en) 1989-11-27
DK170677B1 (en) 1995-11-27
HK11592A (en) 1992-02-21
EP0343989A3 (en) 1991-03-13
ATE128566T1 (en) 1995-10-15
GB2219111A (en) 1989-11-29
DK189689D0 (en) 1989-04-19
AU615542B2 (en) 1991-10-03
BR8902383A (en) 1990-01-16
SE8901308L (en) 1989-11-27
US5175826A (en) 1992-12-29
NL8901327A (en) 1989-12-18
CN1019151B (en) 1992-11-18
SG110991G (en) 1992-02-14
BE1002653A4 (en) 1991-04-23
NO175837B (en) 1994-09-05
GB8912019D0 (en) 1989-07-12
DE68924368D1 (en) 1995-11-02
DE3911721A1 (en) 1989-11-30
ES2078237T3 (en) 1995-12-16
FI96244B (en) 1996-02-15
EP0343989A2 (en) 1989-11-29
KR890017619A (en) 1989-12-16
MX170835B (en) 1993-09-20

Similar Documents

Publication Publication Date Title
FR2632092A1 (en) DELAYED ANTEMEMORY WRITE CONDITIONING CIRCUIT FOR A DUAL BUS MICROCALCULATOR SYSTEM COMPRISING AN UNIT 80386 AND A UNIT 82385
FR2827684A1 (en) MEMORY CONTROLLER HAVING 1X / MX WRITE CAPACITY
FR2632090A1 (en) CONTROL OF THE PIPE-LINE OPERATION OF A MICRO-COMPUTER SYSTEM USING DYNAMIC BUS SIZING WITH AN 80386 PROCESSOR AND AN ANEMORY 82385 CONTROL UNIT
FR2632096A1 (en) MULTIPLE BUS MICROCALCULATOR SYSTEM WITH BUS ACCESS ARBITRATION
FR2539528A1 (en) MICROPROCESSOR SYSTEM COMPRISING TWO PROCESSORS
EP0683454B1 (en) Method for testing program flow
EP0578540B1 (en) Method of testing the functionality of an ASIC and related ASIC
FR2513410A1 (en) MICROPROCESSOR AND METHOD FOR INORGANIZING ACCESS IN MEMORY OF THIS MICROPROCESSOR
FR2528195A1 (en) COMMUNICATION SYSTEM BETWEEN COMPUTERS
FR2849228A1 (en) Data transfer device for linking two asynchronous systems communicating via a FIFO buffer memory, each system having a pointing register with associated primary and secondary phantom registers
FR2613097A1 (en) CONVERSION OF THE MODE OF CONTROL SIGNALS FOR COMPUTERS
EP1748355B1 (en) FIFO-type unidirectional interfacing device between a master block and a slave block, corresponding slave block
FR2899985A1 (en) Circular buffer controlling device for memorizing data word, has delay circuit adjusted when clock signals associated with systems have same frequency, such that edges of delayed clock signal are off set with edges of clock signals
FR2778254A1 (en) Memory cache cleaning method to reduce clock cycles in computer system with cache memories
EP0683455B1 (en) Microcomputer with integrated breakpoint circuit triggered by combined events
EP0707260B1 (en) Serial access asynchronous memory device and corresponding storing and reading method
EP0025731A1 (en) Selecting circuit for asynchronous requests in an information processing system
FR2759178A1 (en) MEMORY MANAGEMENT CIRCUIT IN A MULTI-USER ENVIRONMENT WITH REQUEST AND PRIORITY OF ACCESS
EP0344052B1 (en) Modular memory
EP1338956A1 (en) Electronic data processing apparatus, especially audio processor for audio/video decoder
FR2497596A1 (en) COMPUTER MACHINE COMPRISING AN ANEMEMY
FR2717921A1 (en) Device for managing access conflict between a CPU and memories.
EP0264325B1 (en) Automatic device for making a processor compatible with the bus of another processor
EP0020931B1 (en) Programme interrupt processor for computer with instruction pre-fetch
EP0908828A1 (en) Distributed access control system for memory and method