EP0309995B1

System for fast selection of non-cacheable address ranges using programmed array logic.

Abstract

This record has no abstract on file.

EP0309995B1, drawing sheet 1
Sheet 1 of 22

Term

Term ended

Expired 27 September 2008, 18 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

4 claims: 4 independent, 0 dependent

  1. 1
    A computer system capable of designating selected portions of memory as containing noncacheable data, said portions being utilized by memory mapped I/O devices, comprising:a processor (10) which generates memory addresses of 32 bit length A31 to A0 and memory controls;a main memory (36) ;signal means (bits 256K;512K;640K) for indicating if said main memory (36) has to occupy a certain portion (256K, 512K, 640K) of the memory address space;signal means (CPROM) for generating signals indicating if said main memory (36) contains a copy of selected data;a cache controller (38) receiving memory addresses and memory controls from said processor (10) and having an input (17) for receiving a non-cacheable-access signal (NCA) indicating whether a memory address contains noncacheable data;a cache memory (40) coupled to said cache controller (38);and    an address decoder receiving said memory addresses and the signals generated by said signal means,    comprising programmed array logic (15) programmed to provide a non-cacheable-access signal (NCA) to said cache controller noncacheable input (17) to indicate the presence of noncacheable data if said memory address bits A31, A23, A22, A21, A20 and A19 are zero, said memory bit A18 is one and said main memory (36) is to occupy the first 512 kbytes;if said memory address bits A31, A23, A22, A21, A20 and A18 and A17 are zero, said memory address bit A19 is a one and said main memory (36) is to occupy the first 640 Kbytes;if said memory address bits A31, A23, A22, A21, A20 and A18 are zero and said memory address bits A19 and A17 are one;and if said memory address bits A31, A23, A22, A21, A20 and A17 are zero and said memory address bits A19 and A18 are one. Computersystem, das in der Lage ist, ausgewählte Speicherabschnitte als nicht-Cache-fähige Daten enthaltend zu bezeichnen, wobei die Abschnitte durch Speicher-abgebildete I/O-Vorrichtungen verwendet werden, wobei das System aufweist: einen Prozessor (10), der Speicheradressen der Länge von 32 Bit A31 bis A0 und Speichersteuerungen erzeugt;einen Hauptspeicher (36);eine Signaleinrichtung (Bits 256K;512K;640K) zum Anzeigen, ob der Hauptspeicher (36) einen bestimmten Abschnitt (256K, 512K, 640K) des Hauptspeicheradreßraums zu belegen hat;eine Signaleinrichtung (CPROM) zum Erzeugen von Signalen, welche anzeigen, ob der Hauptspeicher (36) eine Kopie der ausgewählten Daten enthält;eine Cache-Steuereinrichtung (38), welche Speicheradressen und Speichersteuerungen von dem Prozessor (10) empfängt und einen Eingang (17) zum Empfangen eines nicht-Cache-fähigen Zugriffssignals (NCA), welches anzeigt, ob eine Speicheradresse nicht-Cache-fähige Daten enthält;einen Cache-Speicher (40), der mit der Cache-Steuereinrichtung (38) verbunden ist;und einen Adressendecodierer, welcher die Speicheradressen und die Signale empfängt, welche durch die Signaleinrichtung erzeugt sind, wobei der Speicher eine programmierte Matrixlogik (15) aufweist, die programmiert ist, um ein nicht-Cache-fähiges Zugriffssignal (NCA) an den nicht-Cache-fähigen Cache-Steuereinrichtungseingang (17) zu liefern, um das Vorhandensein von nicht-Cache-fähigen Daten anzuzeigen, wenn die Speicheradreßbits A31, A23, A22, A21, A20 und A19 Null sind, wobei das Speicherbit A18 Eins ist und wobei der Hauptspeicher (36) die ersten 512 kBytes belegen soll;wenn die Speicheradreßbits A31, A23, A22, A21, A20 und A18 und A17 Null sind, wobei das Speicheradreßbit A19 eine Eins ist und wobei der Hauptspeicher (36) die ersten 640 kBytes belegen soll;wenn die Speicheradreßbits A31, A23, A22, A21, A20 und A18 Null sind und die Speicheradreßbits A19 und A17 Eins sind;und wenn die Speicheradreßbits A31, A23, A22, A21, A20 und A17 Null sind und die Speicheradreßbits A19 und A18 Eins sind. Système d'ordinateur apte à désigner des parties sélectionnées de la mémoire comme contenant des données non mémorisables en mémoire cache, lesdites parties étant utilisées par des dispositifs d'entrée/sortie cartographiés en mémoire, comprenant: - un processeur (10) qui produit des adresses en mémoire de 32 éléments binaires de longueur A31 à A0 et des signaux de commande de la mémoire;- une mémoire centrale (36);- des moyens de signaux (256K;512K;640K éléments binaires) pour indiquer si ladite mémoire centrale (36) doit occuper une certaine partie (256K, 512K, 640K) de l'espace d'adressage de la mémoire;- des moyens de signaux (CPROM) pour produire des signaux indiquant si ladite mémoire centrale (36) contient un exemplaire de données sélectionnées;- un régisseur, ou "contrôleur", de mémoire cache (38) recevant des adresses en mémoire et des commandes de mémoire issues dudit processeur (10) et ayant une entrée (17) pour recevoir un signal d'accès de données non mémorisables en mémoire cache (NCA) indiquant si une adresse en mémoire contient des données non mémorisables en mémoire cache;- une mémoire cache (40) reliée audit régisseur de mémoire cache (38);et- un décodeur d'adresses recevant lesdites adresses en mémoire et les signaux produits par lesdits moyens de signaux, comprenant une logique à matrice programmée (15) programmée pour fournir un signal d'accès de données non mémorisables en mémoire cache (NCA) à ladite entrée (17) pour recevoir un signal d'accès de données non mémorisables en mémoire cache du régisseur de mémoire cache pour indiquer la présence de données non mémorisables en mémoire cache si lesdits éléments binaires d'adresse en mémoire A31, A23, A22, A21, A20 et A19 sont zéro, que ledit élément binaire de mémoire A18 est "un" et que ladite mémoire centrale (36) doit occuper les 512 premiers kilo-octet;si lesdits binaires d'adresse en mémoire A31, A23, A22, A21, A20 et A18 et A17 sont zéro, que ledit élément binaire d'adresse en mémoire A19 est "un", et que ladite mémoire centrale (36) doit occuper les 640 premiers kilo-octets;si lesdits éléments binaires d'adresse en mémoire A31, A23, A22, A21, A20 et A18 sont zéro et que lesdits éléments binaires d'adresse en mémoire A19 et A17 sont "un";et si lesdits éléments binaires d'adresse en mémoire A31, A23, A22, A21, A20 et A17 sont zéro et que lesdits éléments binaires d'adresse en mémoire A19 et A18 sont "un".
  2. 2
    Computersystem nach Anspruch 1, wobei die programmierte Matrixlogik (15) weiterhin so programmiert ist, um ein Signal (NCA) an den nicht-Cache-fähigen Cache-Steuereinrichtungseingang (17) zu liefern, um das Vorhandensein von nicht-Cache-fähigen Daten anzuzeigen, wenn das Speicheradreßbit A31 Null ist, die Speicheradreßbits A23, A22, A21, A20, A19, A18 und A17 Eins sind und der Hauptspeicher (36) eine Kopie der ausgewählten Daten (CPROM) enthält. Système d'ordinateur de la revendication 1, dans lequel ladite logique à matrice programmée (15) est en outre programmée pour fournir un signal (NCA) à ladite entrée (17) pour recevoir un signal d'accès de données non mémorisables en mémoire cache du régisseur de mémoire cache pour indiquer la présence de données non mémorisables en mémoire cache si ledit élément binaire d'adresse en mémoire A31 est zéro, lesdits éléments binaires d'adresse en mémoire A23, A22, A21, A20, A19, A18 et A17 sont "un" et ladite mémoire centrale (36) contient un exemplaire des données sélectionnées (CPROM). The computer system of claim 1, wherein said programmed array logic (15) is further programmed to provide a signal (NCA) to said cache controller noncacheable input (17) to indicate the presence of noncacheable data if said memory address bit A31 is zero, said memory address bits A23, A22, A21, A20, A19, A18 and A17 are one and said main memory (36) contains a copy of selected data (CPROM).
  3. 3
    Computersystem nach Anspruch 1, bei dem die programmierte Matrixlogik (15) weiterhin so programmiert ist, um ein nicht-Cache-fähiges Zugriffssignal (NCA) an den nicht-Cache-fähigen Cache-Steuereinrichtungseingang (17) zu liefern, um das Vorhandensein von nicht-Cache-fähigen Daten anzuzeigen, wenn das Speicheradreßbit A31 Eins ist. Système d'ordinateur selon la revendication 1, dans lequel ladite logique à matrice programmée (15) est en outre programmée pour fournir un signal d'accès de données non mémorisables en mémoire cache (NCA) à ladite entrée (17) pour recevoir un signal d'accès de données non mémorisables en mémoire cache du régisseur de mémoire cache pour indiquer la présence de données non mémorisables en mémoire cache si ledit élément binaire d'adresse en mémoire A31 est "un". The computer system of claim 1, wherein said programmed array logic (15) is further programmed to provide a non-cacheable-access signal (NCA) to said cache controller noncacheable input (17) to indicate the presence of noncacheable data if said memory address bit A31 is one.
  4. 4
    Computersystem nach Anspruch 1, wobei die programmierte Matrixlogik (15) weiterhin so programmiert ist um die folgenden Logikgleichungen zu erfüllen:wobei: A17-A31   die Eingangsadreßleitungen des Prozessors (10) sind;CPROM   ein Software-wählbares Eingangsdiagnosebit von dem Prozessor (10) ist zum Bezeichnen, ob eine Hochgeschwindigkeitsspeicherkopie des System-ROM verwendet wird;512K, 640K   Eingangsleitungen vom Prozessor (10) sind zum Anzeigen der gewünschten Größe des Hauptspeichers;NA   ein Ausgangssignal ist, dessen inverses Signal an einen bezeichneten Anschluß des Prozessors (10) gesendet wird, welcher die nächste Adresse anfordert;NCA   ein Ausgangssignal ist, dessen inverses Signal zu einem bezeichneten Anschluß der Cache-Steuereinrichtung (38) gesendet wird, welches anzeigt, ob die Adresse vom Prozessor (10) nicht-Cache-fähige Daten enthält;*   ist eine Boole'sche UND-Operation, welche Priorität vor der Boole'schen ODER-Operation hat;+   eine Boole'sche ODER-Operation ist. Système d'ordinateur selon la revendication 1, dans lequel ladite logique à matrice programmée (15) est en outre programmée pour vérifier les équations logiques suivantes: où:    A17 à A31 sont des lignes d'adresses d'entrée issues dudit processeur (10);CPROM est un élément binaire d'entrée de diagnostic sélectionnable par voie logicielle issu dudit processeur (10) pour désigner si un exemplaire issu d'une mémoire rapide de ladite mémoire morte du système est utilisée;512K, 640K sont des lignes d'entrée issues dudit processeur (10) pour indiquer la taille désirée de la mémoire centrale;NA est un signal de sortie dont l'inverse est envoyé à un accès désigné dudit processeur (10) demandant l'adresse suivante;NCA est un signal de sortie dont l'inverse est envoyé à un accès désigné dudit régisseur de mémoire cache (38) indiquant si ladite adresse issue dudit processeur (10) contient des données non mémorisables en mémoire cache;* désigne une opération booléenne ET, qui a la priorité sur l'opération booléenne OU;- + désigne une opération booléenne OU. The computer system of claim 1, wherein said programmed array logic (15) is further programmed to satisfy the following logic equations: where: A17-A31   are input address lines from said processor (10);CPROM   is an input software-selectable diagnostic bit from said processor (10) for designating whether a high-speed-memory copy of said system ROM is being utilized;512K, 640K   are input lines from said processor (10) for indicating the desired size of the main memory;NA   is an output signal the inverse of which is sent to a designated port of said processor (10) requesting the next address;NCA   is an output signal the inverse of which is sent to a designated port of said cache controller (38) indicating whether said address from said processor (10) contains noncacheable data;*   is a Boolean AND operation which takes priority over the Boolean OR operation;+   is a Boolean OR operation.