BE1003816A4 - Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages. - Google Patents

Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages. Download PDF

Info

Publication number
BE1003816A4
BE1003816A4 BE8900436A BE8900436A BE1003816A4 BE 1003816 A4 BE1003816 A4 BE 1003816A4 BE 8900436 A BE8900436 A BE 8900436A BE 8900436 A BE8900436 A BE 8900436A BE 1003816 A4 BE1003816 A4 BE 1003816A4
Authority
BE
Belgium
Prior art keywords
memory
data
address
bus
cas
Prior art date
Application number
BE8900436A
Other languages
English (en)
Inventor
Patrick Maurice Bland
Mark Edward Dean
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of BE1003816A4 publication Critical patent/BE1003816A4/fr

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1021Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

La présente invention concerne un système de calcyl dans lequel le temps d'accès en mémoire est substantiellement réduit. Aprés l'utilisation de signaux de découpage d'adresse de rangée (RAS et de découpage d'adresse de colonne (CAS) pour sélectionner une adresse particulière dans une mémoire pendant un premier cycle de mémoire, les données adressées sont verouillées pour leur transfer ultérieur à un bus de données. Une précharge CAS de la mémoire est alors réalisée aprés ce verrouillage et avant la fin du premier cycle de mémoire procédant le début du second cycle de mémoire.

Description


   <Desc/Clms Page number 1> 
 
 EMI1.1 
 



  J. 



  APPAREIL ET METHODE POUR ACCEDER 
A DES DONNEES EMMAGASINEES DANS
UNE MEMOIRE DE PAGES 
La présente invention concerne de manière générale les mémoires utilisées dans les systèmes de calcul et plus particulièrement l'accès à des données emmagasinées dans des mémoires de pages utilisées dans de tels systèmes. 



   Les demandes concernant les systèmes de calcul et relatives à l'assurance de vitesses de fonctionnement encore plus élevées, de puissance de traitement effectives encore améliorées et de performances générales encore meilleures, continuent d'affluer. Une tendance a été d'augmenter la fréquence d'horloge de l'unité centrale de traitement (CPU) du calculateur. Ceci a naturellement entraîné le traitement d'un plus grand nombre d'instructions par unité de temps. Cependant, à mesure que la fréquence d'horloge est augmentée, le temps d'accès associé à la mémoire doit être quelque peu raccourci de manière correspondante si l'on veut tirer tout le bénéfice de l'augmentation de la fréquence d'horloge.

   Autrement le temps d'accès associé à la lecture de données hors de la mémoire devient un facteur important de limitation des performances effectives de l'unité CPU. 



   Une approche pour diminuer le temps d'accès effectif requis pour lire des données dans une mémoire est d'utiliser une mémoire de pages. C'est à dire que la mémoire est divisée en une pluralité de pages, chaque page consistant en une rangée ayant une adresse de rangée commune pour toute la rangée. Chaque rangée d'une page comprend une pluralité de colonnes ayant des adresses de colonne correspondantes. Pour accéder à un bloc particulier de données emmagasinées dans une telle mémoire de pages, 

 <Desc/Clms Page number 2> 

 l'adresse de rangée de ces données est délivrée à la mémoire pour permettre la sélection de la page dans la mémoire où les données sont emmagasinées. Puis, l'adresse de colonne associée aux données est délivrée à la mémoire pour permettre la sélection du bloc particulier de données dans la rangée ou page adressée.

   En général, les données adressées sont alors lues en sortie du bus de données. 



   On trouve un exemple d'une mémoire de pages dans le calculateur"IBM Personal System/2", modèle 80. ("Personal System/2 est une marque déposée par"International Business Machines Corporation"). Une représentation schématique simplifiée et générale d'un tel système de calcul à mémoire de pages est donnée à la figure 1 sous la forme du système 10. Le système 10 comprend une unité centrale de traitement (CPU) 20 ou microprocesseur à laquelle sont connectés un bus d'adresses 30 et un bus de données 40. Le système 10 comprend en outre une unité de commande de mémoire 50 à laquelle le bus d'adresses 30 et le bus de données 40 sont connectés. Un bus de commande 60 est connecté entre l'unité CPU 20 et l'unité de commande de mémoire 50 de façon que des signaux de commande puissent être passés entre ces dernières.

   L'unité de commande de mémoire 50 est connectée à au moins un module de mémoire 70 qui est composé de la mémoire à accès aléatoire (RAM). Dans le présent exemple, le module de mémoire 70 est divisé en pages qui ont une longueur de 2K multiplets (512 x 32 plus la parité), chaque page par définition ayant la même adresse de rangée. Chaque page comprend ainsi 2K adresses de colonne. Un bus de données 80 est connecté entre l'unité de commande de mémoire 50 et le module de mémoire 70 pour permettre le transfert de données entre ces derniers. 



   Un bus d'adresses MUX multiplex 90 est connecté entre l'unité de commande de mémoire 50 et le module de mémoire 

 <Desc/Clms Page number 3> 

 70 de façon que les informations d'adresses de colonne et de rangée puissent être passées de l'unité de commande de mémoire 50 au module de mémoire 70. Le bus d'adresses multiplex 90 a moins de lignes que le bus d'adresses 30 en raison de la nature multiplexée du bus 90 sur lequel une adresse de rangée ou de page est tout d'abord délivrée au module de mémoire 90 pendant un cycle d'accès de mémoire et ensuite, en second lieu, une adresse de colonne est délivrée ultérieurement au module de mémoire 90 au cours de ce cycle.

   L'unité de commande de mémoire 50 délivre des signaux de découpage d'adresse de rangée (RAS) et des signaux de découpage d'adresse de colonne (CAS) au module de mémoire 70 comme on le voit à la figure 1. La nature des signaux RAS et CAS est décrite dans la discussion suivante du schéma de chronologie de la figure 2. 



   La figure 2 est un schéma chronologique d'un cycle de mémoire courant associé au système de calcul 10. Dans cet exemple, on suppose que l'unité CPU 20 désire accéder à ou récupérer un premier bloc de données dans la mémoire 70 à une adresse de données prédéterminée dans ladite mémoire. 



  Pour accéder réellement à ces informations, l'unité CPU 20 envoie l'adresse de données à l'unité de commande de mémoire 50. L'unité de commande de mémoire 50 divise effectivement l'adresse de données en deux parties, à savoir l'adresse de rangée (aussi appelée"adresse de page") et l'adresse de colonne. L'adresse de rangée et l'adresse de colonne sont multiplexées sur le bus MUX ADDRESS 90. C'est à dire que l'adresse de rangée est tout d'abord délivrée à ce bus MUX ADDRESS en   100.   Le signal RAS est initialement au niveau HAUT ou COUPE ("HIGH"ou"OFF"). 



  On notera qu'étant donné qu'une logique négative est utilisée dans le schéma chronologique de la figure 2, HIGH correspond à un état OFF et LOW (niveau bas) correspond à un état ON (conditionné). Le signal RAS est conditionné en 105 pour sélectionner la partie d'adresse de rangée 

 <Desc/Clms Page number 4> 

 actuellement délivrée au bus MUX ADDRESS 90. De cette manière, le module de mémoire 70 sélectionne la page (rangée) particulière dans laquelle les données adressées sont emmagasinées. Le signal RAS reste conditionné pendant la durée du premier cycle de mémoire et le second cycle de mémoire suivant. 



   Après le conditionnement du signal RAS et la sélection de l'adresse de rangée au premier cycle de mémoire, la partie d'adresse de colonne des données désirées, est délivrée au bus MUX ADDRESS en 110. Le signal CAS est alors conditionné en 115 pour sélectionner la partie d'adresse de colonne actuellement appliquée au bus MUX ADDRESS 90. A ce moment, l'adresse est complète étant donné que les parties d'adresses de rangée et de colonne correspondant aux données désirées, ont été délivrées au module de mémoire 70. Le module de mémoire 70 accède alors aux données ainsi adressées et délivre ces données au bus de données de mémoire 80. Les données sur le bus de données de mémoire 80 deviennent valides en 120 après l'écoulement d'un temps de retard prédéterminé TD qui commence à l'achèvement et à la sélection de l'adresse en 115.

   Le microprocesseur 20 saisit alors les données adressées sur le bus de données 40 de la 
 EMI4.1 
 figure 1. L'homme de l'art utilise le terme T CAS pour \Ab définir le temps de retard entre l'instant où le signal CAS devient actif et l'instant où les données deviennent valides sur le bus de données de mémoire 80. Le terme TRAS se rapporte au temps de retard entre l'instant où le signal RAS devient actif et l'instant où les données deviennent 
 EMI4.2 
 valides. De manière plus courante, TRAS se rapporte au i\Ab "temps d'accès"présenté par un dispositif de mémoire particulier. Par exemple, un dispositif de mémoire avec un 
 EMI4.3 
 temps d'accès de 80 nanosecondes présente un TRAS de 80 i\Ab nanosecondes. 

 <Desc/Clms Page number 5> 

 



   Pour cet exemple, on suppose qu'un second bloc de données situé sur la même page ou rangée que le premier bloc de données indiqué ci dessus, est à accéder depuis le module de mémoire 70. L'homme de l'art utilise le terme "enchaînement"pour décrire l'action de changement d'adresse, par exemple la partie d'adresse de colonne, avant la fin du cycle de mémoire courant en préparation pour le cycle de mémoire suivant. L'enchaînement lui même économise du temps étant donné qu'il permet au circuit de décodage d'adresse dans l'unité de commande de mémoire 50 de commencer le traitement de l'adresse plus tôt que dans les autres cas.

   Un exemple d'un tel enchaînement est représenté à la figure 2 où après la validation des données en 120 et avant la fin du premier cycle de mémoire en 125, l'adresse de colonne est changée en une nouvelle adresse de colonne en 130, cette adresse de colonne correspondant au second bloc de données. Etant donné que le second bloc de données à accéder au second cycle de mémoire, est sur la même page que les données accédées au premier cycle de mémoire, la partie d'adresse de colonne changes en 130 tandis que la partie d'adresse de rangée reste la même. 



  Cette situation est appelée une situation   de"page   touchée". Etant donné qu'il n'est pas nécessaire de renvoyer la partie d'adresse de rangée au module de mémoire 70 dans le cas d'une"page touchée", un temps intéressant peut être économisé dans un agencement à mémoire de pages. 



   Avant que le module de mémoire 70 puisse sélectionner et réellement utiliser les informations d'adresse de colonne maintenant présentes sur le bus MUX ADRESS 90, il est nécessaire de déconditionner le signal CAS pendant une période de temps prédéterminée que l'on appellera "précharge CAS 135". L'homme de l'art appelle le temps de précharge   CAS "TCRP".   Pour un dispositif de mémoire avec un temps d'accès de 80 nanosecondes, une valeur courante de 
 EMI5.1 
 TCRP serait de 15 nanosecondes. Une fois que la décharge (KJf 

 <Desc/Clms Page number 6> 

 CAS est achevée, le signal CAS est à nouveau conditionné en 140 de façon que la partie d'adresse de colonne du second bloc de données soit sélectionnée par le module de mémoire 70.

   L'adresse du second bloc de données est ainsi complétée et les données sur le bus d'adresse de mémoire 80 deviennent valides en 145 après l'écoulement d'un retard prédéterminé    TD   depuis l'achèvement et la sélection de l'adresse en 140. Le microprocesseur 20 saisit alors les données adressées depuis le bus de données 40 de la figure 1. Le second cycle de mémoire se termine en 150. 



   Dans le cas de cet exemple, on suppose qu'un troisième bloc de données situé sur une page ou rangée différente de celle des premier et second blocs de données, est accédé au cours d'un troisième cycle de mémoire commençant en 150, une partie de ce troisième cycle de mémoire étant représenté à la figure 2. Cette situation est appelée une "page manquée". C'est à dire qu'une partie de la nouvelle adresse de rangée correspondant à l'emplacement du troisième bloc de données, doit être fournie au module de mémoire 70. Cette partie de la nouvelle adresse de rangée apparaît sur le bus MUX ADDRESS par enchaînement en 155. Au début 150 du troisième cycle de mémoire, le signal RAS est déconditionné en préparation de la nouvelle adresse de rangée. La nouvelle adresse de rangée est en fait sélectionnée lorsque le signal RAS est conditionné en 160.

   Le reste du troisième cycle de mémoire est pratiquement similaire au premier cycle de mémoire de la figure 2, la précharge CAS étant assurée en 165 près du début du troisième cycle de mémoire. 



   D'après la discussion ci dessus, on voit que dans le cas où   une "page touchée" apparaît   dans une mémoire de pages, un temps d'une durée substantielle est pris (se reporter au second cycle de mémoire de la figure 2) par la conduite de 

 <Desc/Clms Page number 7> 

 la précharge CAS avant que la partie de la nouvelle adresse de colonne puisse être utilisée pour compléter la nouvelle adresse et sélectionner les données correspondantes. 



   Comme indiqué ci dessus, des systèmes de calcul sont conçus avec des vitesses d'horloge de plus en plus élevées. 



  Etant donné qu'un cycle de mémoire est composé d'un nombre prédéterminé d'impulsions d'horloge qui deviennent de plus en plus courtes à mesure que la vitesse d'horloge augmente, le temps requis pour ces activités de conditionnement de mémoire comme la précharge CAS, tend à occuper une proportion toujours croissante du cycle d'accès de mémoire à mesure que la vitesse d'horloge augmente. Un mode d'utilisation d'un microprocesseur qui fonctionne à une vitesse très rapide par rapport à la vitesse ou au temps d'accès de mémoire, consiste à ajouter des états d'attente au système de calcul afin de ralentir effectivement le microprocesseur pour attendre les données à accéder depuis la mémoire. Ce mode d'action est généralement à éviter car il annule certains des bénéfices tirés de l'augmentation de la vitesse d'horloge du microprocesseur. 



   Un objet de la présente invention est de fournir un système de calcul capable de fonctionner à des vitesses d'horloge élevées sans avoir recours à des états d'attente supplémentaires pendant l'accès à la mémoire. 



   Un autre objet de la présente invention est de diminuer le temps d'accès associé aux mémoires de pages. 



   Selon une réalisation de la présente invention, on obtient un système de calcul qui comprend une mémoire de 

 <Desc/Clms Page number 8> 

 pages ayant un bus d'adresses et un bus de données connectés à celle ci. Un processeur, par exemple un microprocesseur, est connecté au bus d'adresses et au bus de données. Le processeur traite des données dans le système et fournit à la mémoire un premier signal d'adresse pendant un premier cycle de mémoire, ce premier signal d'adresse correspondant à un emplacement dans la mémoire de données à accéder.

   Le système comprend un premier circuit de commande connecté à la mémoire pour délivrer à la mémoire un signal de découpage d'adresse de rangée (RAS) pendant le premier cycle de mémoire et comprend en outre un second circuit de commande connecté à la mémoire pour délivrer un signal de découpage d'adresse de colonne (CAS) à la mémoire pendant le premier cycle de mémoire et ultérieurement au signal RAS. Un circuit de verrouillage est connecté entre la mémoire et le bus de données pour verrouiller les données ainsi adressées pour un transfert ultérieur sur le bus de données. Le système de calcul comprend un circuit de précharge CAS connecté à la mémoire pour soumettre la mémoire à une précharge CAS ultérieurement au verrouillage de la mémoire et avant la fin du premier cycle de mémoire. 



   La figure 1 est une représentation schématique simplifiée d'un système de calcul classique avec une mémoire de pages. 



   La figure 2 est un schéma chronologique associé à une mémoire de pages classique et courante. 



   La figure 3 est une représentation graphique simplifiée du système de calcul de la présente invention. 

 <Desc/Clms Page number 9> 

 



   La figure 4 est une représentation schématique du système de calcul de la présente invention. 



   La figure 5 est une représentation chronologique montrant la chronologie de la partie de mémoire du système de calcul de la figure 3 par comparaison avec la chronologie de la partie de mémoire du système classique de la figure 2. 



   La figure 6 est un organigramme montrant comment l'accès à la mémoire est mis en oeuvre dans le système de calcul de la présente invention. 



   La figure 7 est une représentation schématique du circuit de verrouillage bidirectionnel utilisé dans le système de calcul de la figure 4. 



   La figure 8 est une représentation schématique de la mémoire intermédiaire de données complète de la figure 7. 



   La figure 9 est une représentation de la répartition des entrées et sorties des données dans la mémoire intermédiaire de données de la figure 8. 



   DESCRIPTION DETAILLEE DE L'INVENTION 
La figure 3 est une représentation simplifiée du système de calcul de la présente invention qui comprend un système de calcul 200 auquel une unité de contrôle 205, un dispositif d'entrée à clavier 210, un dispositif d'entrée à 

 <Desc/Clms Page number 10> 

 souris 215 et un dispositif de sortie à imprimante 220 sont connectés. 



   La figure 4 est une représentation schématique du système de calcul 200. Le système 200 comprend un processeur 225, par exemple un processeur à 32 bits comme le processeur Intel 80386. Un bus local de CPU 230 est formé par un bus d'adresses de 36 bits, un bus de données de 32 bits et un bus de commande de 10 bits qui sont connectés entre le processeur 225 et une mémoire intermédiaire 240 comme le montre la figure 4. Un coprocesseur mathématique 245 comme le coprocesseur Intel 80837 est connecté au bus local CPU 230 pour exécuter des opérations à virgule flottante pour améliorer le rendement du système. 



   Le système 200 comprend un bus local de système 250 connecté entre la mémoire intermédiaire 240 et la mémoire intermédiaire 253. Le bus local du système 250 comprend un bus de données, un bus d'adresses et un bus de commande comme le montre la figure 4. La mémoire intermédiaire 240 fait fonction de mémoire intermédiaire pour le bus d'adresses du bus local CPU 230 par rapport au bus d'adresses du bus local de système 250. La mémoire intermédiaire 240 fait aussi fonction de mémoire intermédiaire pour le bus de données et le bus de commande du bus local CPU 230 par rapport au bus de données et au bus de commande du bus local de système 250. Une antémémoire de données de CPU 255, par exemple une antémémoire de données comprenant 64K de mémoire, est connectée aux bus d'adresses et de données du bus local de CPU 230.

   Une unité de commande d'antémémoire 260 comme l'unité de commande d'antémémoire Intel 82385, par exemple, est connectée aux bus d'adresses et de commande du bus local de CPU 230. L'unité de commande d'antémémoire 260 

 <Desc/Clms Page number 11> 

 commande l'emmagasinage et l'accès de données fréquemment utilisées qui sont emmagasinées dans l'antémémoire de données 255 afin d'accélérer effectivement le fonctionnement du système 200. L'unité de commande d'antémémoire 260 est aussi connectée au bus d'adresses du bus local de système 250. 



   Le système 200 comprend un circuit de commande et de chronologie de bus 265 connecté aux bus d'adresses, de données et de commande du bus local de système 250. Le bus local de système 250 est connecté par l'intermédiaire d'un ensemble bascule/mémoire intermédiaire/décodeur 267 à un bus d'entrée/sortie (E/S) 270 qui comprend un bus d'adresses de 10 bits, un bus de données de 8 bits et un bus de commande. L'ensemble mémoire intermédiaire/décodeur 267 assure la commande de la bascule d'adresses E/S et de la mémoire intermédiaire de données E/S. Le décodeur/mémoire intermédiaire 267 décode les signaux d'adresses et de commande du bus local de système et délivre des signaux"sélection élément   semi-conducteur"et   de commande E/S au bus E/S 270.

   On notera que la"sélection élément   semi-conducteur"se   rapporte à la sélection du dispositif particulier connecté au bus E/S 270 sur lequel une opération est à effectuer. Le bus E/S 270 est connecté à un adaptateur d'affichage 275, une horloge CMOS 280, une mémoire RAM CMOS 285, un adaptateur RS232 290, un adaptateur d'imprimante 295, une unité de chronologie à 4 canaux 300 pour assurer des fonctions de chronologie générales. Le bus E/S 270 est en outre connecté à un adaptateur de disquette 305, une unité de commande d'interruption 310 et une mémoire inaltérable (ROM) qui contient le système d'entrée/sortie de base (BIOS) du système. 

 <Desc/Clms Page number 12> 

 



   Un bus à micro-canaux (TM) 320 comprenant des bus d'adresses, de données et de commande, est connecté au bus local de système par la mémoire intermédiaire 253. 



  L'architecture du bus à micro-canal est décrite plus en détails dans le manuel technique des IBM PS/2 Modèle 80. 



  Selon l'architecture à micro-canal, un point de commande d'arbitrage central (CACP) 325 est connecté au bus à micro-canaux 320 et au circuit de commande et de chronologie de bus 265 dans le but de gérer le mécanisme d'arbitrage des bus de dispositifs multiples à micro-canal. 



  La connexion de ce point d'arbitrage central 325 et du circuit de commande et de chronologie de bus 265 fait réellement partie du bus à micro-canaux 320. 



   Une pluralité de récepteurs d'enfichage à micro-canal 330 sont connectés au bus à micro-canaux 320 comme le montre la figure 4 pour recevoir des cartes de fonction comme des cartes de mémoire, des adaptateurs vidéos, des adaptateurs DASD, des adaptateurs SCSI et des adaptateurs de communication. Un ou plusieurs récepteurs de disques durs ou disques souples 335 sont connectés au bus à micro-canaux 320 pour faciliter la connexion d'un disque dur ou d'un disque souple (non représenté) au bus 320.

   Une unité de commande d'accès de mémoire direct (DMA) 337 est connectée aux bus d'adresses, de données et de commande du bus local de système 250 dans le but de permettre l'utilisation de périphériques comme des disques durs, des unités de commande de disques souples et tout dispositif asservi à micro-canal DMA pour avoir un accès direct à la mémoire principale (décrite ci dessous) afin d'éviter d'avoir à impliquer directement le processeur 225 dans les transferts de données entre ces périphériques et la mémoire principale. 

 <Desc/Clms Page number 13> 

 



   Un circuit de commande de mémoire 340 est connecté au bus local de système 250 comme le montre la figure 4. Le fonctionnement du circuit de commande de mémoire 340 est entièrement décrit et spécifié dans le schéma chronologique de la figure 5 qui sera décrite ultérieurement. Cependant, afin d'améliorer la compréhension du circuit de commande de mémoire 340, on notera que le circuit de commande de mémoire comprend en fait trois parties, c'est à dire un décodeur RAS/CAS 345, un décodeur/multiplexeur d'adresses 350 et une mémoire intermédiaire de données 355. Le décodeur RAS/CAS 345 est connecté à son entrée au bus de commande du bus local de système 250. Le décodeur RAS/CAS 345 prend des signaux de définition de cycles d'adresses et de bus au processeur 225 et les décode pour extraire des signaux de sélection de mémoire et de chronologie de mémoire.

   Le décodeur RAS/CAS 345 décode les signaux RAS et CAS. Le signal RAS décodé par le décodeur 345 spécifie quel banc de mémoires des 8 bancs de mémoire (chaque banc comprend 1 mégamultiplet organisé en 256K x 36 bits) est à accéder pendant le cycle de mémoire courant. L'agencement de ces 8 bancs de mémoire en une mémoire 370 comprenant les modules 371,372, 373 et 374 sera décrit ultérieurement. Le signal CAS décodé par le décodeur 345 spécifie quel multiplet ou quels multiplets d'un mot de 32 bits emmagasiné dans la mémoire 370, doivent être accédés pendant le cycle de mémoire courant. 



   Le circuit de commande de mémoire 340 est connecté à la mémoire 370 précédemment indiquée, de la manière décrite ci après. La mémoire 370 comprend 4 modules de mémoire à accès aléatoire (RAM), à savoir les modules 371,372, 373 et 374 qui reçoivent chacun 2 mégamultiplets de mémoire. Dans la figure 4, les modules 371-374 sont appelés des progiciels en-ligne simples (SIP) de mémoire à accès aléatoire dynamique (DRAM) ou ensemble DRAM SIP. Le module 371 contient 2 mégamultiplets de mémoire et est référencé 

 <Desc/Clms Page number 14> 

 "BASIC 2MB". Les modules restants 372-374 peuvent être remplis de mémoire selon l'option de l'utilisateur et sont ainsi   référencés"OPTIONAL   2MB".

   Le décodeur RAS/CAS 345 comprend un bus de sortie 380 ayant 13 lignes séparées sur lesquelles les signaux RAS, CAS et WE sont transmis à chacun des bancs de mémoires 371-374 dont 8 lignes sont attribuées à RAS, 4 lignes sont attribuées à CAS et 1 ligne est attribuée à WE. Le décodeur RAS/CAS 345 génère un signal de conditionnement d'écriture (WE) qui indique si un cycle de mémoire particulier est un cycle de lecture ou un cycle d'écriture et envoie cette information à une mémoire 370. Chacun des modules 371-374 comprend 2 mégamultiplets de mémoire dont chaque multiplet est divisé en 512 pages ou rangées qui ont chacune une longueur de 2K multiplets. C'est à dire que les bancs 371-374 sont configurés en mémoires de pages. 



   Le multiplexeur d'adresses (ADDR MUX) 350 est connecté à son entrée au bus de données de 36 lignes du bus local de système 250. Lorsque le processeur 225 désire accéder à un bloc de données emmagasinées dans un emplacement de la mémoire 370, le processeur 225 transmet les 36 bits de l'adresse de cet emplacement de mémoire au multiplexeur d'adresses 350. Le multiplexeur d'adresses 350 dérive l'adresse de page (adresse de rangée) et l'adresse de colonne des informations d'adresses de 36 bits et délivre l'adresse de page et l'adresse de colonne à la mémoire 370 par l'intermédiaire d'un bus d'adresses multiplexées (MUX ADDR) 390 qui connecte le multiplexeur d'adresses 350 à la mémoire 370. Un bus de données de mémoire de 36 bits 400 connecte les modules de mémoire 371-374 de la mémoire 370 à la mémoire intermédiaire de données 355.

   Après que la mémoire 370 ait été adressée comme ci dessus, les données à l'adresse de mémoire spécifiée, sont transférées à un bus de données de mémoire 400 qui délivre les données à la mémoire intermédiaire de données 355 comme le montre la 

 <Desc/Clms Page number 15> 

 figure 4. Sur le bus de données de mémoire 400, 32 bits 
 EMI15.1 
 (DO-D31) sont attribués aux données et 4 bits de parité (P--P-) sont attribués à la parité. Une fois que les données adressées ont atteint le bus de données de mémoire 400, les données sont emmagasinées temporairement par la mémoire intermédiaire de données 355 et sont ensuite placées sur le bus de données du bus local de système 250. 



  Les données sont ensuite transférées au processeur 255 par la mémoire intermédiaire 240 et le bus local de CPU 230. 



   La discussion suivante du schéma de chronologie de la figure 5B décrit de manière détaillée le fonctionnement du circuit de commande de mémoire 340 et de la mémoire 370. 



  Par facilité et pour permettre une comparaison rapide, le schéma chronologique de l'art antérieur de la figure 2 a été répété dans la partie supérieure de la figure 5 sous la 
 EMI15.2 
 forme de la figure 5A Pour la discussion du schéma de chronologie de la figure 5B, on suppose que le processeur 225 désire accéder à un bloc de données emmagasiné à une adresse ou emplacement sélectionné dans la mémoire 370. Ce bloc de données est considéré comme le premier bloc de données sélectionné. On suppose aussi qu'après l'accès au premier bloc de données sélectionné, le processeur désire accéder à un second bloc de données sélectionné dans un autre emplacement de la mémoire. 



   Le processeur 225 délivre en sortie l'adresse sélectionnée où le premier bloc de données est emmagasiné, au bus de données du bus local de CPU 230. L'adresse 
 EMI15.3 
 sélectionnée consiste en 32 bits d'adresse AO-A31 et 4 bits de conditionnement de multiplet (BE-BE-) formant ainsi une adresse de 36 bits au total. Les 4 bits de conditionnement de multiplet   BEO-BE3 sont utilisés   pour indiquer les multiplets (de 1 à 4) qui sont à récupérer depuis les données (4 multiplets, 32 bits) emmagasinées à une adresse 

 <Desc/Clms Page number 16> 

 particulière. Après l'arrivée sur le bus d'adresses du bus local de CPU 230, l'adresse sélectionnée est emmagasinée provisoirement dans la mémoire intermédiaire 240.

   L'adresse sélectionnée est alors transférée au bus d'adresses du bus local de système 250 et délivrée au circuit de commande de mémoire 340 et au multiplexeur d'adresses 350. 



   Le système 200 est agencé dans cette réalisation de façon que 9 bits de cette adresse sélectionnée de 36 bits correspondent à l'adresse de page ou adresse de rangée (adresse RAS) 410 des données à accéder. C'est à dire que les bits   All-Al9   correspondent à l'adresse RAS. L'adresse de page 410 est synchronisée pour commencer au début du premier cycle de mémoire comme indiqué à la figure 5B. Le multiplexeur d'adresses 350 extrait cette adresse de page de 9 bits 410 de l'adresse de 36 bits et délivre cette adresse de page de 9 bits 410 à la mémoire 370 par l'intermédiaire d'un bus MUX ADDR de 9 lignes (adresses multiplexées) qui connecte le multiplexeur d'adresses 350 à la mémoire 370. 



   Au début du premier cycle de mémoire, le signal RAS issu du circuit de commande de mémoire 340 est au niveau haut, ce qui correspond à un état déconditionné dans la convention logique négative utilisée à la figure 5B. Après l'apparition de l'adresse de page 410 sur le bus MUX ADDR 390, le circuit de commande de mémoire 340 (par l'intermédiaire du circuit de décodage RAS/CAS 345) passe RAS au niveau bas ou conditionné en 415 comme on le voit à la figure 5B. De cette manière, l'adresse de page a utiliser par la mémoire 370 pour accéder aux données spécifiées, est passée à la mémoire 370. 

 <Desc/Clms Page number 17> 

 



   Après que RAS ait été conditionné, le circuit de commande de mémoire 370, par l'intermédiaire du multiplexeur d'adresses 350, extrait l'adresse de colonne de 9 bits 420 des données issues de l'adresse de 36 bits et délivre cette adresse de colonne de 9 bits 420 à la mémoire 370 par l'intermédiaire du bus MUX ADDR 390. C'est à dire que les bits   A 2-A il   correspondent à cette adresse de colonne ou adresse CAS. Comme on le voit sur le schéma de chronologie de la figure 5B, après l'apparition de l'adresse de colonne 420 sur le bus MUX ADDR 390, le circuit de commande de mémoire 340 (par le circuit de décodage RAS/CAS 345) passe CAS au niveau bas ou conditionné en 425. De cette manière, l'adresse de colonne à utiliser par la mémoire 370 pour accéder aux données spécifiées, est délivrée à la mémoire 370.

   L'adresse de page et l'adresse de colonne des données sont ainsi multiplexées sur le même bus MUX ADDR de 9 lignes 390. Les bits restants   A17-A31   sont utilisés par le décodeur RAS 345 pour indiquer lequel des modules 371-374 contient le premier bloc de données qui est en cours d'adressage. 



   A cet instant, l'adresse de page 410 et l'adresse de colonne 420 spécifiant l'emplacement en mémoire des données sélectionnées, ont été passées à la mémoire 370. Après un temps de retard prédéterminé    TCAS depuis   l'instant où CAS a été conditionné ou passé au niveau bas, les données sur le bus de données de mémoire 400 deviennent valides en 430. 



  Les données sont alors immédiatement verrouillées en 435 par des bascules de verrouillage bidirectionnelles (qui seront décrites plus en détails ultérieurement) contenues dans la mémoire intermédiaire de données 355. Après l'action d'emmagasinage temporaire et de verrouillage de la mémoire intermédiaire de données 355, les données verrouillées (le premier bloc de données sélectionné) sont délivrées en 437 au bus de données du bus local de système 250 pour transfert au processeur 225. 

 <Desc/Clms Page number 18> 

 



   A la suite du verrouillage des données en 435 pendant le déroulement du premier cycle de mémoire (cycle de mémoire courant) et avant le début du second cycle de mémoire (cycle de mémoire suivant), une précharge CAS est conduite en 440. Une fois que la précharge CAS est commencée en 140, les données sur le bus de données de mémoire 400 deviennent invalides en 442 après l'écoulement d'une période de temps prédéterminée depuis le commencement de la précharge CAS. Les circuits de verrouillage dans la mémoire intermédiaire de données 365 verrouillent les données avant qu'elles deviennent invalides, c'est à dire avant 442 sur le schéma chronologique du bus de données de mémoire de la figure 5B. 



  Ces périodes de temps pendant lesquelles les données sur le bus de données de mémoire 400 sont invalides, sont indiquées par la partie hachurée de la figure 5B. La fin de la précharge CAS définit la fin du premier cycle de mémoire. 



   Le processeur 225 transmet l'adresse du second bloc de données sélectionné au circuit de commande de mémoire 340 par le même chemin de données que celui sur lequel le premier bloc de données sélectionné a été transféré jusqu'au circuit de commande de mémoire 340. Si le circuit de commande de mémoire 340 détermine que le second bloc de données sélectionné à retirer de la mémoire 370 est dans la même page que le premier bloc de données sélectionné, comme on le voit alors sur le schéma chronologique de la figure 5B, pendant la précharge CAS en 440, l'adresse de colonne délivrée au bus MUX ADDR 390 est changée à l'adresse de colonne de ce second bloc de données en 445. Ce changement d'adresse de colonne se déroule avant la fin du premier cycle de mémoire. 



   A la suite de ce changement d'adresse de colonne, la précharge CAS est terminée et CAS est conditionné, ce qui 

 <Desc/Clms Page number 19> 

 démarre ainsi le second cycle de mémoire en 450. L'adresse de colonne correspondant au second bloc de données sélectionné est ainsi délivrée à la mémoire 370. Après un temps de retard TCA, les données correspondant à cette adresse de colonne et à l'adresse de page déjà prescrite, deviennent valides en 455 sur le bus de données de mémoire 400. 



   Les données sont alors immédiatement verrouillées en 460 par les bascules de verrouillage bidirectionnelles contenues dans la mémoire intermédiaire de données 355. 



  Après le déroulement de l'action d'emmagasinage temporaire/verrouillage de la mémoire intermédiaire de données 355, les données verrouillées (maintenant le second bloc de données sélectionné) sont délivrées en 465 au bus de données du bus local de système 250 pour transfert au processeur 225. 



   Comme on le décrira plus en détails ultérieurement lors de la discussion de la mémoire intermédiaire de données 355, lorsque le signal de commande de bascule de verrouillage de données de mémoire (LEABO-3) est au niveau bas, la mémoire intermédiaire 355 fonctionne en mode transparent ou de passage. Lorsque le signal de commande de bascule de verrouillage de données de mémoire est au niveau haut, la mémoire intermédiaire 355 emmagasine des données par action de la bascule de verrouillage. 



   On a décrit ci dessus l'accès en mémoire dans le cas où le second bloc de données sélectionné est dans la même page que le premier bloc de données sélectionné. Cependant, si le circuit de commande de mémoire 340 détermine que le second bloc de données sélectionné n'est pas dans la même 

 <Desc/Clms Page number 20> 

 page que le premier bloc de données sélectionné, le procédé d'adressage de mémoire doit alors être repris entièrement au début du premier cycle de mémoire.

   C'est à dire qu'étant donné que l'adresse de rangée ou l'adresse de page n'est pas la même pour le second bloc de données que pour le premier bloc de données, la nouvelle adresse de rangée correspondant au second bloc de données doit être transmise à la mémoire 370, suivie par la nouvelle adresse de colonne d'une manière similaire à celle représentée au premier cycle de mémoire du schéma de chronologie de l'invention de la figure 5B. 



   La figure 6 est un organigramme qui résume le procédé par lequel les accès en mémoire sont conduits dans le système 200. Un accès en mémoire commence lorsque le processeur 225 utilise l'enchaînement d'adresse pour délivrer en sortie une adresse courante où des données sont à récupérer comme au bloc 500 de l'organigramme. L'adresse courante est transférée au circuit de commande de mémoire 340 par la structure de bus dans le système 200 d'une manière décrite précédemment. L'adresse courante est décodée par le circuit de commande de mémoire 340 au bloc 505. C'est à dire qu'une adresse de page et une adresse de colonne sont extraites de l'adresse courante. 



   L'adresse de page est alors multiplexée sur le bus d'adresses MUX 390 au bloc 510, cet événement signifiant le début du cycle de mémoire courant au bloc 515. Le signal RAS est alors conditionné au bloc 520 de façon que la mémoire 370 sélectionne l'adresse de page qui lui est actuellement délivrée sur le bus d'adresses MUX 390. 



  L'adresse de colonne est alors multiplexée sur le bus d'adresses MUX 390 au bloc 525. Le signal CAS est conditionné au bloc 530 de façon que la mémoire 370 sélectionne l'adresse de colonne qui lui est actuellement 

 <Desc/Clms Page number 21> 

 délivrée sur le bus d'adresses MUX 390. A cet instant, l'adresse des données désirées emmagasinées dans la mémoire 370 sont entièrement spécifiées et la mémoire 370 transfert les données à l'adresse spécifiée au bus de données de mémoire 390 au bloc 535. Les données sont verrouillées par les bascules de verrouillage bidirectionnelles dans la mémoire intermédiaire de données 355 au bloc 540 afin de préserver momentanément ces données. Après le verrouillage des données, les données sont transférées au bus de données local du système 250 au bloc 545.

   Une précharge CAS est alors conduite comme par le bloc 550 avant la fin du cycle de mémoire courant. L'adresse suivante à accéder est alors décodée au bloc 555. 



   Un test est exécuté au bloc de décision 560 pour déterminer si l'adresse suivante est située sur la même page que l'adresse précédente (l'adresse courante ci dessus). Si l'adresse suivante n'est pas dans la même page que l'adresse précédente, le procédé revient au bloc 510 de la figure 6 où l'adresse de page suivante est multiplexée sur le bus d'adresses MUX 390. Cependant, si l'adresse suivante est située sur la même page que l'adresse précédente, le déroulement du procédé se poursuit alors au bloc 565 où l'adresse de colonne de l'adresse suivante est multiplexée sur le bus d'adresse MUX 390. Puis le cycle de mémoire suivant ou second cycle de mémoire est démarré au bloc 570 une fois que la précharge CAS est terminée.

   C'est à dire qu'au début du second cycle de mémoire, le signal CAS est conditionné au bloc 575 de façon que la mémoire 370 sélectionne l'adresse de colonne qui lui est actuellement délivrée sur le bus d'adresses MUX 390. A cet instant, l'adresse des données désirées emmagasinées dans la mémoire 370 est une fois encore entièrement spécifiée et la mémoire 370 transfert les données à l'adresse spécifiée au bus de données de mémoire 390, au bloc 580. Les données sont verrouillées par les bascules de verrouillage 

 <Desc/Clms Page number 22> 

 bidirectionnelles dans la mémoire intermédiaire de données 355 au bloc 585 pour préserver momentanément ces données. 



  Après le verrouillage des données, les données sont transférées au bus de données local de système 250 au bloc 590. Une précharge CAS est alors conduite au bloc 595 avant la fin du cycle de mémoire courant. L'adresse suivante à accéder est alors décodée au bloc 600, après quoi le déroulement du procédé repasse au bloc de décision 560 où une décision est à nouveau prise pour déterminer si l'adresse suivante se trouve sur la même page que la dernière adresse. 



   Une mémoire intermédiaire de données du type à verrouillage à grande vitesse pouvant être utilisée comme mémoire intermédiaire de données 355 est représentée à la figure 7 sous forme schématique. Afin de simplifier l'illustration, la figure 7 montre l'un des quatre modules pratiquement identiques utilisés dans la mémoire intermédiaire de données 355 comme le module 610. Le module de mémoire intermédiaire 610 comprend un port de 8 bits 615 qui est connecté aux lignes de données   D   à   D7 du   bus de données de mémoire 400. Le module de mémoire intermédiaire 610 comprend un récepteur de données 620 référencé A REC qui est connecté au port 615 comme le montre la figure.

   Le récepteur de données 620 est une mémoire intermédiaire qui fait fonction d'interface entre l'environnement du signal TTL de   0   à 5 volts présent sur le bus de données de mémoire 400 et la caractéristique d'environnement de 0 à approximativement 3 volts du travail interne du module de mémoire intermédiaire 610. La sortie du récepteur 620 est connectée à l'entrée d'une bascule de verrouillage de données de 8 bits 625 qui verrouille des données qui lui sont présentées lorsqu'elle est commandée pour cela par un signal de commande de bascule de verrouillage de données de mémoire approprié présenté à son entrée de commande 625A et référencé LEABO (Conditionnement bascule verrouillage A à 

 <Desc/Clms Page number 23> 

 B). La bascule de verrouillage 625 est une bascule de verrouillage transparente.

   C'est à dire que la bascule 625 peut fonctionner soit en mode transparent, soit en mode de verrouillage en réponse à un signal de commande approprié à l'entrée de commande 625A. Lorsque la bascule de verrouillage 625 est commandée pour fonctionner en mode transparent, une entrée de niveau bas provoque une sortie de niveau bas et une entrée de niveau haut provoque une sortie de niveau haut. C'est à dire qu'en mode transparent, les données de 8 bits présentées à l'entrée de la bascule de verrouillage 625 s'écoulent par la sortie de celle ci. 



  Cependant, lorsque la bascule de verrouillage 625 est commandée pour fonctionner en mode de verrouillage par l'intermédiaire du signal de commande de verrouillage à l'entrée 625A (LEABO) lorsqu'elle reçoit un signal d'entrée de 8 bits particulier, la sortie prend alors un état stable et reste dans cet état ou verrouillée jusqu'à ce qu'elle reçoive un signal de commande approprié à l'entrée de commande 625A. 



   On rappellera d'après la discussion précédente qu'immédiatement après que les données adressées soient devenues valides sur le bus de données de mémoire en 430 de la figure 5B, les données sont verrouillées comme en 435. 



  Une commande de sortie 630 est connectée à la sortie de la bascule de verrouillage 625 comme le montre la figure 7. La commande 630 est   référencée"B DRV"et   fait fonction d'interface entre l'environnement interne de 0 à 3 volts de la mémoire intermédiaire de données 610 et l'environnement TTL externe de 0 à 5 volts présent à la sortie de la commande 630. La sortie de 8 bits de la commande 630 est connectée à un port 635 qui est connecté à des lignes de 8 bits référencées BO-B7 du bus de données du bus local de système 250.

   De cette manière, une fois que la bascule de verrouillage 625 a verrouillé les données qu'elle reçoit, le système peut continuer le traitement des données et les 

 <Desc/Clms Page number 24> 

 signaux sur le bus de données de mémoire 400   (DO-D7)   sont libres de changer tandis que la bascule de verrouillage 625 retient les anciennes données pour une saisie ultérieure par le processeur 225 par l'intermédiaire du bus local de système 250. 



   La commande 630 comprend une entrée de commande de porte de bus de données de mémoire 630A qui est référencée OEABO. 



  Lorsque le signal OEABO est conditionné, la commande 630 est excitée pour assurer le passage des données. Cependant, lorsque le signal OEABO est déconditionné, la commande 630 est déconditionnée. 



   La sortie de la bascule de verrouillage 625 est connectée à l'entrée d'un arbre de parité de 8 bits 640. Si les 8 entrées de l'arbre de parité 640 présentent un nombre pair de"1", l'arbre de parité 640 génère alors une sortie d'un seul bit qui est un"1" (niveau haut) pour maintenir la parité impaire. Cependant, si les 8 entrées de l'arbre de parité 640 présentent un nombre impair de"1", l'arbre de parité 640 génère alors une sortie d'un seul bit qui est un"0" (niveau bas) pour maintenir la parité impaire. 



   La mémoire intermédiaire 610 comprend un récepteur GEN/CK 645 dont une entrée est référencée GEN/CKO comme illustré à la figure 7. Le récepteur GEN/CK 645 est une interface qui convertit des signaux TTL de 0-5 volts à son entrée en signaux de 0-3 volts à sa sortie. La valeur de GEN/CKO dépend du type de cycle particulier que le processeur 225 désire suivre ensuite. C'est à dire que le signal d'entrée GEN/CKO (voir la figure 5B) présente une valeur de 1 (niveau haut) lorsque le cycle d'écriture de mémoire est à conduire et présente une valeur de 0 (niveau bas) lorsqu'un cycle de lecture de mémoire est à conduire. 

 <Desc/Clms Page number 25> 

 



  Pour cet exemple, on suppose que le signal GEN/CKO a une valeur de 0 indiquant qu'un cycle de lecture est à conduire depuis la   mémqiret ç'çet à aire, que   les informations   d   données et de parité correspondantes ont déjà été emmagasinées dans la mémoire 370 et que maintenant on souhaite accéder à ces données. Dans le cas de cet exemple, on suppose qu'un mot de 32 bits composé de quatre multiplets de 8 bits est à retirer de la mémoire 370. On suppose que quatre bits de parité sont emmagasinés avec ce mot de 32 bits, c'est à dire qu'un bit de parité est associé à chaque multiplet du mot de 32 bits. On notera que la mémoire intermédiaire de données 610 de la figure 7 est capable de manipuler un multiplet (8 bits) et un bit de parité de ce mot de 32 bits.

   Les 3 multiplets et les 3 bits de parité restants de ce mot de 32 bits sont traités par trois autres mémoires intermédiaires de données similaires à la mémoire intermédiaire de données 610 représentée à la figure 8. 



   La sortie du récepteur GEN/CK 645 est connectée à l'entrée de commande 650A de la commande de parité 650. La sortie de l'arbre de parité 640 est connectée à l'entrée 650B de la commande de parité 650 et à une entrée d'une porte OU exclusif à deux entrées 655. La sortie de commande de parité 650B est connectée à la ligne de parité   Po due   la partie bus de parité du bus de données de mémoire 400. On rappellera que le bus de données de mémoire de 36 bits 400 comprend les lignes   D-D- <    pour le mot de 32 bits emmagasiné et 4 lignes de parité PO-P3 correspondant à chacun des 4 bits de parité associés aux 4 multiplets qui constituent le mot de 32 bits emmagasiné.

   Outre le fait d'être connectée à la sortie de commande de parité 650C, la ligne de parité PO est connectée par l'intermédiaire d'un récepteur de parité 660 à l'entrée restante de la porte OU exclusif 655. La sortie du récepteur GEN/CK 645 est connectée à une entrée de commande 655A de la porte OU 

 <Desc/Clms Page number 26> 

 exclusif 655. L'état logique du signal délivré à l'entrée de commande 655A détermine si la porte OU exclusif 655 est conditionnée pour permettre le passage de signaux ou si elle est déconditionnée pour ne pas permettre le passage de signaux à la sortie de la porte OU exclusif 655. La sortie de la porte OU exclusif 655 est référencée EO (erreur) et connectée à une commande d'erreur 665. La sortie de la commande d'erreur 665 est connectée à un terminal d'erreur 670 qui est référencé E.

   La commande d'erreur 665 ne fait pas partie de la mémoire intermédiaire 610 et sera décrite ultérieurement. 



   Un   générateur/vérificateur   d'erreur de parité 680 est composé de l'arbre de parité 640, du récepteur GEN/CK 645, de la commande de parité 650, du récepteur de parité 660, de la porte OU exclusif 655 et de la commande d'erreur 655. 



  Comme on le verra ultérieurement, le   générateur/vérificateur   de parité 680 fonctionne dans deux modes, c'est à dire un mode de génération de parité lorsque les données sont écrites à la mémoire et un mode de vérification de parité lorsque des données sont retirées de la mémoire 370 ou accédées dans celle ci. Etant donné que la présente invention implique l'accès à des données emmagasinées dans la mémoire 370, le mode de vérification de parité du générateur/vérificateur de parité 680 va maintenant être décrit. Lorsque l'entrée GEN/CKO du récepteur GEN/CK 645 est au niveau bas (0), le circuit de générateur/vérificateur 680 entre le mode de vérification de parité. Par contre, lorsque l'entrée GENCKO est au niveau haut (1), le circuit de générateur/vérificateur 680 entre le mode de génération de parité.

   Pour revenir à la discussion du mode de vérification de parité, lorsque le récepteur 645 reçoit un signal GEN/CKO de 0 depuis l'environnement (TTL) extérieur, le récepteur 645 fait fonction d'interface pour ce signal à sa sortie qui, comme on l'a déjà indiqué, est une sortie de 0 à 

 <Desc/Clms Page number 27> 

 approximativement 3 volts. La sortie du récepteur 645 est connectée à l'entrée de commande 650A de la commande de parité 650 de façon que le 0 logique ou niveau bas apparaissant maintenant à l'entrée de commande 650A provoque la coupure de la commande de parité 650 pour que le signal à la sortie de l'arbre de parité 640 ne soit pas passée à la ligne de bus de parité PO du bus de données de mémoire 400.

   On rappellera d'après la discussion précédente que la fonction du circuit de   générateur/vérificateur   680 en mode de vérification, est de comparer en effet le bit de parité emmagasiné PO associé à un multiplet de données particulier   (DO-D7)   à la parité réelle   PO'présentée   par le même multiplet après qu'il ait été retiré de la mémoire 370. Si l'accès en mémoire a été réussi, la parité avant 
 EMI27.1 
 l'accès PO doit être la même que la parité après l'accès p' OLorsque le multiplet DO-D7 est retiré de la mémoire 370, il est reçu par le récepteur 620 et verrouillé par la bascule de verrouillage 625. (Le multiplet particulier retiré sur les lignes   DO-D7 est   appelé ci après le multiplet 0).

   Les 8 bits du multiplet 0 sont ainsi verrouillés à la sortie de la bascule de verrouillage 625 de façon que le système de calcul soit libre de poursuivre en avant et de changer les valeurs des signaux sur les lignes   DO-D7   du bus de données de mémoire 400. Lorsque la bascule de verrouillage 625 fonctionne en mode de verrouillage, le multiplet 0 est délivré à l'arbre de parité à 8 bits 640 qui dérive un bit de parité PO'pour ce multiplet accédé à l'instant. PO'est ainsi la parité réelle présentée par le multiplet 0 après sont retrait de la mémoire 370. Le bit de parité PO'est délivré à une entrée de la porte OU exclusif à deux entrées 655.

   On rappellera que l'entrée restante de la porte OU exclusif 655 est connectée par l'intermédiaire du récepteur de parité 660 à la ligne de parité Po du bus de données de 

 <Desc/Clms Page number 28> 

 mémoire 400. De cette manière, lorsque le multiplet 0 est récupéré de la mémoire 370, le bit de parité PO correspondant à ce multiplet 0, est délivré à l'entrée restante de la porte OU exclusif 655. Si le bit de parité PO avant l'accès est le même que le bit de parité Po après l'accès en mémoire, c'est à dire les deux des 1 ou les deux des 0, la porte OU exclusif 655 génère alors un 0 à sa sortie indiquant qu'il n'y a pas eu d'erreur pendant le retrait du multiplet de données, le multiplet 0, de la mémoire.

   Cependant, si le bit de parité PO avant l'accès en mémoire n'est pas le même que le bit de parité PO prime après l'accès, la porte OU exclusif 655 génère un 1 à sa sortie indiquant qu'une erreur s'est produite au retrait du multiplet 0 de la mémoire 370. Le bit de sortie d'erreur à la sortie de la porte OU exclusif 655 est mis en interface par l'intermédiaire de la commande 665 avec la fonction OU négatif logique au port de sortie d'erreur 670 qui est référencé E. On notera que lorsque le circuit de générateur/vérificateur 680 est en mode de vérification de parité, le signal GENCKO apparaissant à la sortie du récepteur GEN/CK 645 est au niveau bas ou 0, ce qui conditionne la porte OU exclusive 655.

   Par contre, lorsque le circuit de générateur/vérificateur 680 fonctionne en mode de génération de parité, le signal GEN/CKO est au niveau haut, ce qui déconditionne la porte OU exclusif 655. Le système de calcul échantillonne régulièrement la sortie E 670 à la fin de chaque cycle de mémoire pour déterminer si une erreur s'est produite. 



   Comme indiqué ci dessus, la mémoire intermédiaire/bascule de verrouillage de données 610 fonctionne aussi dans le sens opposé à celui décrit ci dessus. C'est à dire que lorsque le système de calcul effectue une écriture en mémoire d'un mot de 32 bits particulier comprenant le multiplet 0, le multiplet 1, le multiplet 2 et le multiplet 3, le multiplet 0 de ce mot est 

 <Desc/Clms Page number 29> 

 transféré du bus local de système 250 au travers de la mémoire intermédiaire 610, au bus de données de mémoire 400. D'une manière plus détaillée, le système délivre le multiplet 0 au port 635 référencé BO-B7. Le port 635 est connecté par l'intermédiaire d'un récepteur 675 à une bascule de verrouillage de 8 bits 680 comme le montre la figure 7.

   Le récepteur 675 et la bascule de verrouillage 680 sont pratiquement identiques au récepteur 620 et à la bascule de verrouillage 625, respectivement. La bascule de verrouillage 680 comprend une entrée de commande de bascule de verrouillage de données de mémoire référencée LEBAO qui, lorsqu'elle est passée au niveau haut ou à 1, provoque le verrouillage des données de 8 bits délivrées à la bascule de verrouillage 680. La sortie de la bascule de verrouillage 680 est connectée par l'intermédiaire d'une commande 685 aux lignes de données DO-D7 du bus de données de mémoire 400. La commande 685 est pratiquement identique à la commande 630 déjà décrite.

   La commande 685 comprend une entrée de commande de porte de bus de données de mémoire OEBAO (sortie conditionnement B à A) qui, lorsqu'elle reçoit un 0 logique ou un signal au niveau bas, conditionne la commande 685 pour permettre le passage des données. Pour résumer le fonctionnement du récepteur 675, de la bascule de verrouillage 680 et de la commande 685 dans le mode d'écriture en mémoire, lorsque le multiplet 0 est délivré au port 635, le récepteur 675 passe les 8 bits du multiplet 0 à la bascule de verrouillage 680.

   Le signal de commande de bascule de verrouillage de données de mémoire LEBAO (conditionnement bascule verrouillage B à A) indique alors à la bascule 680 que les données sont à verrouiller à la sortie de la bascule de verrouillage 680, ce qui permet ainsi au système de calcul de poursuivre en avant et de changer les valeurs des signaux sur les lignes de données BO-B7 au port 635 du bus de données local de système 250. Le signal de commande de porte de bus de données de mémoire OEBAO délivré à la commande 685 passe au niveau bas pour conditionner la commande 685, ce qui permet 

 <Desc/Clms Page number 30> 

 ainsi aux 8 bits du multiplet 0 verrouillés à la sortie de la bascule 680 de passer au travers des lignes de données Do-D7 du bus de données de mémoire 400.

   Les signaux   OEBAO-3   sont les miroirs du signal de conditionnement d'écriture (WE) que l'unité de commande de mémoire 340 délivre à la mémoire 370. Le signal WE est au niveau haut pour les cycles de lecture et au niveau bas pour les cycles d'écriture. 



   Ce qui précède est une description de la partie de la mémoire intermédiaire de données 355 qui est attribuée à la manipulation de 1 multiplet, BO, d'un mot de 4 multiplets (32 bits) emmagasiné dans et récupéré de la mémoire 370. Pour manipuler les 3 multiplets restants, le multiplet 1, le multiplet 2 et le multiplet 3 de ce mot de 32 bits, la bascule de verrouillage/mémoire intermédiaire de données 610 est répétée quatre fois comme on le voit à la figure 9. Par simplification, ces 4 mémoires intermédiaires de données 610 sont considérées comme les mémoires intermédiaires de données 610-0,610-1, 610-2 et 610-3 pour indiquer aisément qu'elles manipulent les parties du multiplet 0, du multiplet 1, du multiplet 2 et du multiplet 3 du mots de 32 bits indiqué ci dessus à récupérer de ou à écrire dans la mémoire 370. 



   La figure 9 est une représentation schématique simplifiée de la mémoire intermédiaire de données 355 qui comprend quatre mémoires intermédiaires/bascules de verrouillage de données 610, à savoir les mémoires intermédiaires de données 610-0,610-1, 610-2 et 610-3 pour traiter le multiplet 0, le multiplet 1, le multiplet 2 et le multiplet 3, respectivement, d'un mot de 32 bits. Par commodité, sur la figure 8, le récepteur 620 et la commande 685, les bascules de verrouillage 625 et 680, et la commande 630 et le récepteur 675 ont été appairés dans les 

 <Desc/Clms Page number 31> 

 boites respectives de la figure 8. On rappellera que la mémoire intermédiaire de données 355 est située entre le bus de données du bus local de système 250 et le bus de données de mémoire 400.

   Plus précisément, les lignes de 
 EMI31.1 
 données DO-D31 de la mémoire intermédiaire 355 sont connectées aux lignes de données DO-D31 du bus de données de mémoire 400. Les lignes de données BO-B31 de la mémoire intermédiaire 355 sont connectées aux lignes de données BO-B31 du bus de données du bus local de système 250. 



   Que ce soit une opération de lecture ou d'écriture qui est conduite pour un mot de 32 bits par l'intermédiaire de la mémoire intermédiaire 355, les mémoires intermédiaires/bascules de verrouillage 610-0,610-1, 610-2 et 610-3 fonctionnent sur le multiplet 0, le multiplet 1, le multiplet 2 et le multiplet 3, respectivement, de ce mot de 32 bits. La mémoire intermédiaire de données 355 comprend 4 entrées/sorties à bit de parité PO,   PI,   P2 et P3 correspondant à la parité générée ou accédée du multiplet 0, du multiplet 1, du multiplet 2 et du multiplet 3, respectivement. Les lignes de parité PO,   Pi,   P2 et P3 de la mémoire intermédiaire de données 355 sont connectées aux lignes de parité PO,   Pi,   P2 et P3 du bus de données de mémoire à 36 lignes 400.

   On rappellera que le bus de données de mémoire 400 comprend les lignes de données   DO-D31   et les lignes de parité PO-P3. Ainsi, lorsqu'un mot de 32 bits particulier est écrit en mémoire, les arbres de parité respectifs 640 des mémoires intermédiaires de données 610 0-3 déterminent la parité associée à chacun des quatre multiplets, multiplet 0-multiplet 3 du mots de données de 32 bits et délivrent les quatre bits de parité déterminés aux lignes de parité PO-P3 pour emmagasinage en mémoire 370. Lorsqu'une opération de retrait est effectuée pour retirer un mot de 32 bits de la mémoire 370, les 4 bits de parité PO-P3 associés à ce mot de données sont 

 <Desc/Clms Page number 32> 

 retirés et délivrés aux lignes de parité PO-P3 de la mémoire intermédiaire de données 355. 



   Les lignes GEN/CKO, GEN/CK1, GEN/CK2 et GEN/CK3 de la mémoire intermédiaire de données 355 sont connectées aux lignes de commande   GENCKO-GENCK3   correspondantes (non représentées) incluses dans le circuit de commande de mémoire 340. Le circuit de commande de mémoire 340 génère un signal GEN/CK comme le signal GEN/CKO représenté à la figure 5B et délivre celui ci aux entrées   GENCKO-GENCK3   de la mémoire intermédiaire 355 pour indiquer à la mémoire intermédiaire 355 si l'opération conduite est une opération de lecture ou d'écriture.

   Si c'est une opération d'écriture qui est conduite, les signaux   GENCKO-GENCK3   appropriés sont générés pour commander aux mémoires intermédiaires respectives 610-1 à 610-3 la génération des bits de parité respectifs correspondant aux 4 multiplets du mot de 32 bits en cours d'écriture dans la mémoire 370. Cependant, si une opération de lecture est conduite, le circuit de commande de mémoire 340 génère des signaux de commande appropriés GENCKO-GENCK3 pour commander aux mémoires intermédiaires respectives 610-1 à 610-3 l'exécution du mode de vérification de parité comme déjà indiqué lors de la description de la figure 7.

   C'est à dire qu'après le retrait des 4 multiplets et de leurs 4 bits de parité   Pn-P   de la mémoire 370, les arbres de parité 640 déterminent la parité   P'-P'des   4 multiplets après retrait, respectivement. Si l'un quelconque des anciens bits de parité   P-P-ne   correspond pas aux nouveaux bits de parité   P'-P-', un   signal d'erreur est alors généré sur la ligne d'erreur correspondante EO-E3 décrite à la figure 9 aux entrées de la commande d'erreur 665. La commande d'erreur 665 assure une fonction logique OU négatif. Si l'une quelconque des lignes d'erreur EO, El, E2 et E3 reçoit un signal d'erreur, la sortie de la commande d'erreur 665 génère alors aussi ce signal d'erreur.

   On notera que la 

 <Desc/Clms Page number 33> 

 commande d'erreur 665 fait fonction d'interface entre l'environnement à faible déviation de tension interne à la mémoire intermédiaire 355 et l'environnement TTL externe présenté au terminal d'erreur 670 référencé E. 



   La figure 9 est une représentation des entrées/sorties de données de la mémoire intermédiaire 355, qui montre les diverses entrées et sorties de la mémoire intermédiaire 355 que l'on a déjà décrite. 



   La table 1 est indiquée ci après pour résumer les différents états dans lesquels la mémoire intermédiaire de données 355 peut fonctionner. 

 <Desc/Clms Page number 34> 

 



  TABLE 1 
 EMI34.1 
 
<tb> 
<tb> 0-3 <SEP> OEBA <SEP> LEBA <SEP> LEBA
<tb> 0-3 <SEP> 0-3 <SEP> 0-3 <SEP> 0-3 <SEP> A-B <SEP> B-A
<tb> 0 <SEP> X <SEP> 0 <SEP> X <SEP> 1 <SEP> X <SEP> 1 <SEP> Mode <SEP> transparent
<tb> 0 <SEP> X <SEP> 1 <SEP> X <SEP> 2 <SEP> X <SEP> 2 <SEP> Données
<tb> verrouillées
<tb> 1 <SEP> X <SEP> 0 <SEP> X <SEP> 3 <SEP> X <SEP> 3 <SEP> Sortie
<tb> déconditionnée
<tb> 1 <SEP> X <SEP> 1 <SEP> X <SEP> 4 <SEP> X <SEP> 4 <SEP> Sortie
<tb> déconditionnée
<tb> Données
<tb> verrouillées
<tb> X <SEP> 0 <SEP> X <SEP> 0X1
<tb> x <SEP> 0 <SEP> X <SEP> 1X2
<tb> X <SEP> 1 <SEP> X <SEP> 1 <SEP> X <SEP> 4
<tb> 
 
La table 2 est incluse ici pour résumer les différents états que prend la mémoire intermédiaire 355 en réponse aux différents signaux GEN/CK. 



   TABLE 2 
 EMI34.2 
 
<tb> 
<tb> GEN/CKx <SEP> Px
<tb> 0 <SEP> Entrée <SEP> mode <SEP> vérification <SEP> Px <SEP> comparée <SEP> au
<tb> bit <SEP> de <SEP> parité <SEP> généré <SEP> intérieurement
<tb> pour <SEP> les <SEP> 8 <SEP> entrées"A"correspondantes.
<tb> 



  Une <SEP> non-correspondance <SEP> passe <SEP> la <SEP> ligne
<tb> d'erreur <SEP> au <SEP> niveau <SEP> bas.
<tb> 
 

 <Desc/Clms Page number 35> 

 
 EMI35.1 
 
<tb> 
<tb> l <SEP> Le <SEP> bit <SEP> de <SEP> parité <SEP> mode <SEP> génération <SEP> est
<tb> conduit <SEP> en <SEP> sortie <SEP> de <SEP> la <SEP> manière
<tb> suivante <SEP> :
<tb> 1 <SEP> Si <SEP> nombre <SEP> pair <SEP> de <SEP> 1 <SEP> sur
<tb> entrées"A"correspondantes
<tb> 0 <SEP> Si <SEP> nombre <SEP> impair <SEP> de <SEP> 1
<tb> Nota <SEP> : <SEP> Sortie <SEP> erreur <SEP> ="1"si
<tb> GEN <SEP> : <SEP> CK <SEP> 0-3 <SEP> = <SEP> 1.
<tb> 
 



   Les bornes OEABO-3 et GEN/CKO-3 sur la mémoire intermédiaire de données 355 sont connectées ensemble et ainsi les signaux OEAB (commande porte bus données mémoire) sont le miroir ou suivent les signaux GEN/CK comme on le voit à la figure 5B. 



   Bien que l'on ait décrit ci dessus un système de calcul présentant des temps d'accès en mémoire réduits, une méthode pour accéder en mémoire dans un tel système de calcul est aussi décrite et résumée ci dessous. Cette méthode est utilisée dans un système de calcul comprenant une mémoires à pages ayant un bus d'adresses et un bus de données qui lui sont connectés et présente en outre des premier, second, etc... cycles de mémoire associés. On présente plus particulièrement une méthode de lecture d'informations emmagasinées dans ladite mémoire qui comprend les étapes d'application à la mémoire d'un signal d'adresse correspondant à l'emplacement de données à accéder dans la mémoire.

   La méthode comprend les étapes d'application à la mémoire d'un signal de découpage d'adresse de rangée (RAS) pendant le premier cycle de mémoire et d'application d'un signal de découpage d'adresse de colonne (CAS) à la mémoire pendant le premier cycle de mémoire et à la suite du signal RAS. La méthode comprend le 

 <Desc/Clms Page number 36> 

 verrouillage de la mémoire ainsi adressée pour un transfert ultérieur sur le bus de données et l'exécution d'une précharge CAS sur la mémoire à la suite de l'étape de verrouillage et avant la fin d'un premier cycle de mémoire. 



   On a décrit dans ce qui précède un système de calcul dans lequel le temps   d'accès à une   mémoire de pages, a été réduit de manière significative en avançant la précharge CAS associée aux données à accéder au cours du cycle de mémoire suivant, au cycle de mémoire courant. Le système de calcul est capable de fonctionner à des vitesses d'horloge élevées sans recourir à des états d'attente supplémentaires pendant l'accès à la mémoire de pages. 



   Bien qu'une réalisation de la présente invention ait été décrite ci dessus à titre d'exemple, divers changements et modifications pourront y être apportés par l'homme de l'art sans pour autant sortir du cadre ladite invention telle qu'exprimée dans les revendications suivantes.

Claims (7)

  1. REVENDICATIONS 1. Un système de calcul comprenant une mémoire de pages dynamique et des moyens pour accéder à la mémoire en générant des signaux de découpage d'adresse de rangée (RAS) et de découpage d'adresse de colonne (CAS) combinés, respectivement, avec des données d'adresse de rangée et de colonne, dans lequel pour accéder à un certain nombre d'emplacements dans une page au cours d'un nombre similaire de cycles de mémoire successifs, le signal RAS et les données d'adresse de rangée restent constants pour chacun de ces cycles de mémoire, et le signal CAS est préchargé pour chaque cycle de mémoire excepté le premier,
    ledit système étant caractérisé en ce que la précharge CAS pour un cycle de mémoire courant est effectuée pendant une période de temps situé à l'intérieur et à la fin du cycle de mémoire immédiatement précédent.
  2. 2. Un système de calcul selon la revendication 1 dans lequel ladite précharge CAS pour le cycle de mémoire courant, se termine au début du cycle de mémoire courant.
  3. 3. Un système de calcul selon la revendication 1 ou la revendication 2 dans lequel des données sont lues depuis un emplacement adressé dans la mémoire au cours d'une période d'un cycle de mémoire précédant le début de la précharge CAS de ce cycle, ledit système comprenant des moyens de verrouillage pour verrouiller les données lues avant de les appliquer à un bus de données du système. <Desc/Clms Page number 38>
  4. 4. Une méthode d'utilisation d'un système de calcul comprenant une mémoire de pages dynamique comprenant la lecture de données dans la mémoire de pages par l'exécution des étapes de génération d'un signal de découpage d'adresse de rangée (RAS) combiné à des données d'adresse de rangée pour sélectionner une rangée de mémoire et un signal de découpage d'adresse de colonne (CAS) combiné à des données d'adresse de colonne pour définir un emplacement adressé et, pour accéder à une pluralité d'emplacements sur une page au cours d'une pluralité similaire de cycles de mémoire successifs, la retenue de la constante signal RAS et données d'adresse de rangée pour chacun de ces cycles sauf le premier, caractérisée en ce que la précharge du signal CAS pour un cycle de mémoire courant, est effectué à une période comprise dans,
    et à la fin du cycle de mémoire immédiatement précédent.
  5. 5. Une méthode selon la revendication 4 caractérisée en outre en ce que ladite précharge du signal CAS est terminée au début du cycle de mémoire courant.
  6. 6. Une méthode selon la revendication 4 ou la revendication 5 caractérisé en outre en ce que des données sont lues depuis un emplacement adressé dans la mémoire dans une période avant le début du signal CAS au cours de ce cycle, lesdites données étant verrouillées avant application à un bus de données du système de calcul.
  7. 7. Une méthode d'utilisation d'un système de calcul comprenant un processeur, une mémoire dynamique de pages, un bus d'adresses et un bus de données, pour <Desc/Clms Page number 39> transférer des données de la mémoire au processor, comprenant les étapes suivantes : l'application d'une adresse de rangée à la mémoire depuis le bus d'adresses ensemble avec un signal de découpage d'adresse de rangées (RAS) au début d'un cycle de mémoire, puis, au cours du même cycle de mémoire, l'application d'une adresse de colonne à la mémoire depuis le bus d'adresses ensemble avec un signal de découpage d'adresse de colonne (CAS), le verrouillage des données ainsi adressées pour transfert ultérieur au processeur par le bus de données, et la précharge du signal CAS à la suite du verrouillage des données et avant la fin du cycle de mémoire.
BE8900436A 1988-05-26 1989-04-20 Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages. BE1003816A4 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/196,721 US5034917A (en) 1988-05-26 1988-05-26 Computer system including a page mode memory with decreased access time and method of operation thereof

Publications (1)

Publication Number Publication Date
BE1003816A4 true BE1003816A4 (fr) 1992-06-23

Family

ID=22726583

Family Applications (1)

Application Number Title Priority Date Filing Date
BE8900436A BE1003816A4 (fr) 1988-05-26 1989-04-20 Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages.

Country Status (24)

Country Link
US (1) US5034917A (fr)
EP (1) EP0343769B1 (fr)
JP (1) JPH06101225B2 (fr)
KR (1) KR920010950B1 (fr)
CN (1) CN1010809B (fr)
AT (1) ATE125058T1 (fr)
BE (1) BE1003816A4 (fr)
BR (1) BR8902399A (fr)
CA (1) CA1319201C (fr)
DE (2) DE68923403T2 (fr)
DK (1) DK189589A (fr)
ES (1) ES2075045T3 (fr)
FI (1) FI95971C (fr)
GB (1) GB2219418A (fr)
HK (1) HK23896A (fr)
IT (1) IT1230189B (fr)
MX (1) MX167244B (fr)
MY (1) MY104737A (fr)
NL (1) NL8901237A (fr)
NO (1) NO891581L (fr)
NZ (1) NZ228610A (fr)
PH (1) PH30402A (fr)
PT (1) PT90631B (fr)
SE (1) SE8901304L (fr)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159679A (en) * 1988-09-09 1992-10-27 Compaq Computer Corporation Computer system with high speed data transfer capabilities
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5276856A (en) * 1989-09-28 1994-01-04 Pixel Semiconductor, Inc. Memory controller flexible timing control system and method
CA2028085A1 (fr) * 1989-11-03 1991-05-04 Dale J. Mayer Controleur de memoire paginee
GB2242294B (en) * 1990-03-19 1993-12-22 Apple Computer Memory architecture using page mode writes and single level write buffering
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
US5247636A (en) * 1990-05-31 1993-09-21 International Business Machines Corporation Digital processor clock circuit
US5301299A (en) * 1990-06-07 1994-04-05 Intel Corporation Optimized write protocol for memory accesses utilizing row and column strobes
US5835945A (en) * 1990-08-06 1998-11-10 Ncr Corporation Memory system with write buffer, prefetch and internal caches
US5278967A (en) * 1990-08-31 1994-01-11 International Business Machines Corporation System for providing gapless data transfer from page-mode dynamic random access memories
US5522064A (en) * 1990-10-01 1996-05-28 International Business Machines Corporation Data processing apparatus for dynamically setting timings in a dynamic memory system
US5274786A (en) * 1990-11-28 1993-12-28 Hewlett-Packard Company Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion
US5265236A (en) * 1990-11-29 1993-11-23 Sun Microsystems, Inc. Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5283880A (en) * 1991-01-02 1994-02-01 Compaq Computer Corp. Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states
JP3180362B2 (ja) * 1991-04-04 2001-06-25 日本電気株式会社 情報処理装置
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5253214A (en) * 1991-09-27 1993-10-12 Eastman Kodak Company High-performance memory controller with application-programmable optimization
US5551054A (en) * 1991-11-19 1996-08-27 Adaptec, Inc. Page mode buffer controller for transferring Nb byte pages between a host and buffer memory without interruption except for refresh
US5295247A (en) * 1992-04-17 1994-03-15 Micronics Computers, Inc. Local IDE (integrated drive electronics) bus architecture
AU660559B2 (en) * 1992-06-04 1995-06-29 Cabletron Systems, Inc. Adaptive memory controller
EP0607668B1 (fr) * 1993-01-21 1999-03-03 Advanced Micro Devices, Inc. Système et procédé de mémoire électronique
US5732236A (en) * 1993-05-28 1998-03-24 Texas Instruments Incorporated Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
US5640527A (en) * 1993-07-14 1997-06-17 Dell Usa, L.P. Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states
JPH07129456A (ja) * 1993-10-28 1995-05-19 Toshiba Corp コンピュータシステム
US5758107A (en) * 1994-02-14 1998-05-26 Motorola Inc. System for offloading external bus by coupling peripheral device to data processor through interface logic that emulate the characteristics of the external bus
KR970001699B1 (ko) * 1994-03-03 1997-02-13 삼성전자 주식회사 자동프리차아지기능을 가진 동기식 반도체메모리장치
JPH07248963A (ja) * 1994-03-08 1995-09-26 Nec Corp Dram制御装置
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
AU703750B2 (en) * 1994-10-14 1999-04-01 Compaq Computer Corporation Easily programmable memory controller which can access different speed memory devices on different cycles
US5701143A (en) * 1995-01-31 1997-12-23 Cirrus Logic, Inc. Circuits, systems and methods for improving row select speed in a row select memory device
USRE36532E (en) * 1995-03-02 2000-01-25 Samsung Electronics Co., Ltd. Synchronous semiconductor memory device having an auto-precharge function
AU5368696A (en) * 1995-03-22 1996-10-08 Ast Research, Inc. Rule-based dram controller
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5765203A (en) * 1995-12-19 1998-06-09 Seagate Technology, Inc. Storage and addressing method for a buffer memory control system for accessing user and error imformation
US6209071B1 (en) 1996-05-07 2001-03-27 Rambus Inc. Asynchronous request/synchronous data dynamic random access memory
AU9798798A (en) 1997-10-10 1999-05-03 Rambus Incorporated Power control system for synchronous memory device
US6052756A (en) * 1998-01-23 2000-04-18 Oki Electric Industry Co., Ltd. Memory page management
JPH11272606A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd バス制御装置
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7010642B2 (en) * 2000-01-05 2006-03-07 Rambus Inc. System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
US6829184B2 (en) * 2002-01-28 2004-12-07 Intel Corporation Apparatus and method for encoding auto-precharge
US7315928B2 (en) * 2005-02-03 2008-01-01 Mediatek Incorporation Apparatus and related method for accessing page mode flash memory
US8607328B1 (en) 2005-03-04 2013-12-10 David Hodges Methods and systems for automated system support
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
CN104238959B (zh) * 2013-06-06 2018-06-19 钰创科技股份有限公司 具有低消耗电流的内存和降低内存消耗电流的方法
CN113361683B (zh) * 2021-05-18 2023-01-10 山东师范大学 一种生物仿脑存储方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4239993A (en) * 1978-09-22 1980-12-16 Texas Instruments Incorporated High performance dynamic sense amplifier with active loads
US4318014A (en) * 1979-07-27 1982-03-02 Motorola, Inc. Selective precharge circuit for read-only-memory
JPS5727477A (en) * 1980-07-23 1982-02-13 Nec Corp Memory circuit
JPS57117168A (en) * 1981-01-08 1982-07-21 Nec Corp Memory circuit
GB2112256B (en) * 1981-11-18 1985-11-06 Texas Instruments Ltd Memory apparatus
US4625300A (en) * 1982-12-01 1986-11-25 Texas Instruments Incorporated Single-ended sense amplifier for dynamic memory array
FR2541796B1 (fr) * 1983-02-25 1987-08-21 Texas Instruments France Dispositif permettant de repartir le temps d'acces d'une memoire sur plusieurs utilisateurs
JPS60108953A (ja) * 1983-11-15 1985-06-14 モトローラ・インコーポレーテツド メモリデータバスの多重化方法
US4623986A (en) * 1984-02-23 1986-11-18 Texas Instruments Incorporated Memory access controller having cycle number register for storing the number of column address cycles in a multiple column address/single row address memory access cycle
JPS6142793A (ja) * 1984-08-02 1986-03-01 Seiko Instr & Electronics Ltd 高速メモリシステム
US4764901A (en) * 1984-08-03 1988-08-16 Kabushiki Kaisha Toshiba Semiconductor memory device capable of being accessed before completion of data output
JPH0799616B2 (ja) * 1984-08-30 1995-10-25 三菱電機株式会社 半導体記憶装置
DE3586736T2 (de) * 1984-10-11 1993-02-18 Hitachi Ltd Halbleiterspeicher.
JPS61110394A (ja) * 1984-10-31 1986-05-28 Mitsubishi Electric Corp 半導体記憶装置
US4649522A (en) * 1985-02-11 1987-03-10 At&T Bell Laboratories Fast column access memory
JPS6228994A (ja) * 1985-07-29 1987-02-06 Nec Corp メモリ集積回路
US4658381A (en) * 1985-08-05 1987-04-14 Motorola, Inc. Bit line precharge on a column address change
US4754433A (en) * 1986-09-16 1988-06-28 Ibm Corporation Dynamic ram having multiplexed twin I/O line pairs

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
NL8901237A (nl) 1989-12-18
HK23896A (en) 1996-02-16
GB8904917D0 (en) 1989-04-12
NO891581L (no) 1989-11-27
NZ228610A (en) 1991-03-26
CN1010809B (zh) 1990-12-12
BR8902399A (pt) 1990-01-16
MY104737A (en) 1994-05-31
EP0343769B1 (fr) 1995-07-12
SE8901304D0 (sv) 1989-04-11
MX167244B (es) 1993-03-11
PT90631B (pt) 1994-10-31
ATE125058T1 (de) 1995-07-15
ES2075045T3 (es) 1995-10-01
JPH0223591A (ja) 1990-01-25
DE68923403T2 (de) 1996-03-07
FI891784A0 (fi) 1989-04-14
DK189589A (da) 1989-11-27
KR890017611A (ko) 1989-12-16
PH30402A (en) 1997-05-08
EP0343769A3 (fr) 1992-04-29
IT8920624A0 (it) 1989-05-24
DE3909896C2 (fr) 1990-09-20
FI95971C (fi) 1996-04-10
FI95971B (fi) 1995-12-29
JPH06101225B2 (ja) 1994-12-12
EP0343769A2 (fr) 1989-11-29
SE8901304L (sv) 1989-11-27
IT1230189B (it) 1991-10-18
CA1319201C (fr) 1993-06-15
NO891581D0 (no) 1989-04-18
DK189589D0 (da) 1989-04-19
DE68923403D1 (de) 1995-08-17
GB2219418A (en) 1989-12-06
US5034917A (en) 1991-07-23
CN1037983A (zh) 1989-12-13
DE3909896A1 (de) 1989-11-30
PT90631A (pt) 1989-11-30
KR920010950B1 (ko) 1992-12-24
FI891784A (fi) 1989-11-27

Similar Documents

Publication Publication Date Title
BE1003816A4 (fr) Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages.
EP0392932B1 (fr) Procédé et dispositif pour accélérer les accès mémoire, utilisant un algorithme LRU modifié
FR2602070A1 (fr) Systeme et procede d&#39;acces a une memoire d&#39;ordinateur.
WO2001046797A1 (fr) Generateur de nombres aleatoires haut debit
FR2481487A1 (fr) Systeme de traitement de l&#39;information utilisant des techniques de regeneration et de detection et correction d&#39;erreurs
JP3271591B2 (ja) 半導体記憶装置
FR2583540A1 (fr) Gestion de memoire pour systeme a microprocesseur.
EP3259674B1 (fr) Circuit dram muni d&#39;un processeur integre
EP3182292B1 (fr) Procédé de prédiction d&#39;une donnée a précharger dans une mémoire cache
US20040162935A1 (en) Sequential nibble burst ordering for data
EP0394115B1 (fr) Dispositif d&#39;accélération des accès mémoire dans un système informatique
FR2831971A1 (fr) Procede de memorisation de donnees avec correction d&#39;erreur
FR2632092A1 (fr) Circuit de conditionnement d&#39;ecriture d&#39;antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2805368A1 (fr) Systeme et procede utilisant l&#39;acces speculatif a l&#39;antememoire pour des performances ameliorees
FR2632094A1 (fr) Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages
FR2871908A1 (fr) Procede et programme d&#39;ordinateur de traitement d&#39;une adresse virtuelle pour la programmation d&#39;un controleur de dma et systeme sur puce associe
EP0344052B1 (fr) Mémoire modulaire
JPH06282983A (ja) メモリ内のデータをアクセスするための方法、メモリシステムおよびメモリ制御システム
FR2896601A1 (fr) Dispositif de traitement en notation polonaise inversee, et circuit integre electronique comprenant un tel dispositif de traitement.
FR2717921A1 (fr) Dispositif de gestion de conflit d&#39;accès entre un CPU et des mémoires.
FR2627298A1 (fr) Systeme informatique a antememoire et procede pour acceder a des donnees dans un tel systeme
FR2770661A1 (fr) Microprocesseur comprenant des moyens de concatenation de bits
EP0962855B1 (fr) Accès rapide aux circuits tampons
FR2769727A1 (fr) Procede et systeme de controle d&#39;acces partages a une memoire vive
EP2807568A1 (fr) Procédé de gestion de requêtes d&#39;accès à des mémoires et système de stockage de données

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 19960430