FR2799555A1 - Systeme d'acces a une memoire comprenant des modules de memoire imbriques ayant des capacites differentes - Google Patents

Systeme d'acces a une memoire comprenant des modules de memoire imbriques ayant des capacites differentes Download PDF

Info

Publication number
FR2799555A1
FR2799555A1 FR0012793A FR0012793A FR2799555A1 FR 2799555 A1 FR2799555 A1 FR 2799555A1 FR 0012793 A FR0012793 A FR 0012793A FR 0012793 A FR0012793 A FR 0012793A FR 2799555 A1 FR2799555 A1 FR 2799555A1
Authority
FR
France
Prior art keywords
memory
address
memory module
bits
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0012793A
Other languages
English (en)
Other versions
FR2799555B1 (fr
Inventor
Atsushi Yamazaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of FR2799555A1 publication Critical patent/FR2799555A1/fr
Application granted granted Critical
Publication of FR2799555B1 publication Critical patent/FR2799555B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • 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
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

Mémoire principale (3) comportant des modules à capacité différente. Une BCT (Table de Commande de Banc) (11) possède des entrées pour des unités de même capacité, stockant des bits de validité (V) indiquant si un dispositif de mémoire est ou non attribué et des adresses de source à transformer en adresses de rangée. Une ABPT (Table de Positions de Bits d'Adresse) (13) possède des entrées pour module, stockant les nombres de bits des adresses de rangée et de colonne. Une partie de détermination de numéros (12) détermine le module accédé. Une partie de détermination d'adresses (14) détermine les adresses de rangée et de colonne. Un groupe de tampons d'adresses de mise en oeuvre (15) stocke le numéro de module et les adresses. Un dispositif de sélection (28), commandé par une partie d'arbitrage de sortie de mémoire principale (29), sélectionne une sortie du groupe (15).

Description

SYSTEME D'ACCES <B><U>A UNE</U></B> MEMOIRE <B><U>COMPRENANT DES MODULES DE</U></B> MEMOIRE IMBRIO <B><U>AYANT DES</U></B> CAPACITES DIFFERENTES <U>DESCRIPTION</U> <U>Arrière-plan de l'invention</U> <U>Domaine de l'invention</U> La présente invention se rapporte<B>à</B> un système de commande d'accès<B>à</B> une mémoire pour permettre<B>à</B> un processeur d'accéder, de façon imbriquée,<B>à</B> mémoire principale (constituée par des dispositifs de mémoire tels qu'une RAM (mémoire<B>à</B> accès direct) et qu'une DRAM (RAM dynamique . <U>Description de la technique antérieure</U> Dans les systèmes informatiques récents, on utilise un processus de commande permettant d'augmenter la vitesse d'accès<B>à</B> la mémoire jusqu'à une vitesse proche de celle du processeur. On se réfère<B>à</B> ce processus de commande par processus<B>à</B> imbrication. Dans le processus<B>à</B> imbrication, la mémoire principale est divisée en une pluralité de zones auxquelles on se réfère par bancs. Dans les bancs individuels, on accède <B>à</B> des données (lecture et écriture) de façon simultanée ou en alternance. Ainsi, on peut empêcher la diminution de vitesse de traitement du système informatique même on accède<B>à</B> la mémoire principale.
Cependant, les systèmes informatiques récents voient leur taille diminuer et leur structure devient ouverte. En d'autres termes, on souhaite des fonctions différentes des fonctions classiques 'ordinateurs centraux. Par exemple, on connaît fonction permettant<B>à</B> des dispositifs de mémoire ayant des capacités de stockage différentes d'être utilisés en tant que mémoire principale.
Dans un système de commande classique accès<B>à</B> la mémoire, quand une mémoire principale constituée par une pluralité de dispositifs de mémoire ayant des capacités de stockage différentes est imbriquée, les dispositifs de mémoire sont imbriqués en correspondance <B>à</B> la capacité de mémoire la plus petite d'un dispositif de mémoire en son sein.
Comme on l'a précédemment décrit, dans le système de commande classique d'accès<B>à</B> la mémoire, quand une mémoire principale constituée par une pluralité de dispositifs de mémoire ayant des capacités de stockage différentes est imbriquée, étant donné que les dispositifs de mémoire sont imbriques en correspondance <B>à</B> la capacité de stockage la plus petite d'un dispositif de mémoire en son sein, les capacités de stockage des dispositifs de mémoire ayant des capacités de stockage plus grandes que la capacité de stockage la plus petite ne sont pas utilisées de façon efficace. Etant donné que l'intégration de dispositifs de memoire est radicalement améliorée, lorsque <B>1</B> utilisateur souhaite étendre la mémoire principale, peut utiliser un dispositif de mémoire supplémentaire ayant une capacité de stockage deux ou quatre fois plus grande que celle d'un dispositif de memoire <B>déjà</B> utilisé dans la mémoire ppincipale. Dans cas, l'inconvénient précédemment décrit va se produire fréquemment. Afin de résoudre un inconvénient de ce type, si des dispositifs de mémoire utilisés dans la mémoire principale sont remplaces par des dispositifs de mémoire ayant des capacités de stockage plus grandes que celles-ci, les dispositifs de mémoire d'origine vont être retirés et devenir inutiles.
En tant que référence de la technique concernée pour traiter une modification des capacites de stockage pour le processus de commande<B>à</B> imbrication, une technologie a été décrite, par exemple, dans JP <B>A 6-309 223</B> intitulé "Storing Apparatus Having Memory Interleaving Function".
Dans la référence de technique concernée, chaque banc est divisé en blocs ayant la même taille. Les états de mise en oeuvre de mémoire de blocs individuels sont stockés dans un registre de configuration. Lorsque le processeur désigne une adresse<B>à</B> laquelle on doit accéder, en se référant au registre de configuration, l'adresse est transformée en correspondance<B>à</B> l'état de mise en oeuvre de mémoire. Ainsi, même<B>.</B> la mémoire principale est étendue d'un banc, la mémoire principale peut être imbriquée.
Cependant, selon une référence technique concernée de ce type, étant donné que seule la capacité de stockage de chaque mémoire d'une pluralité de DRAM et des informations de numéro de banc de cette dernière sont stockées, si les DRAM ont desL capacités de stockage différentes, il est difficile<B>d</B> imbriquer la mémoire principale. <U>Résumé de l'invention</U> Afin de surmonter l'inconvénient précédemment mentionné, la présente invention a été établie et, par conséquent, a pour objectif de proposer un système de commande d'accès<B>à</B> la mémoire qui permet<B>à</B> une mémoire principale constituée par une pluralité de dispositifs de mémoire ayant des capacités de stockage différentes d'être imbriquée de manière egale et d'utiliser de manière efficace les capacités de stockage des dispositifs de mémoire.
Selon la présente invention, on propose un système de commande d'accès<B>à</B> la mémoire pour imbriquer de manière hiérarchique une mémoire en une unité de modules de mémoire et d'accéder<B>à</B> la mémoire, comprenant<B>:</B> une table de commandes de banc ayant des entrées correspondant<B>à</B> des unités, chacune des entrées contenant des données pour une pluralité des modules de mémoire, les données pour chacun des modules de mémoire ayant un bit de présence et une adresse de source<B>à</B> transformer en une adresse de rangée pour le module mémoire concerné, le bit de présence représentant si dispositif de mémoire est ou non monté sur le module de mémoire concerné<B>;</B> une table de positions de bit d'adresse contenant des informations qui représentent<B>à</B> la fois le nombre de bits de l'adresse de rangée' et le nombre de bits de l'adresse de colonne d'un dispositif de mémoire, s'il<B>y</B> a lieu, monté sur chacun des modules de mémoire un décodeur pour obtenir le numéro l'unité<B>à</B> laquelle on doit accéder sur la base<B>dl</B> adresse de ligne qui est amenée en provenance d'une source d'accès<B>;</B> une partie de détermination de numéros pour déterminer le module de mémoire auquel on doit accéder sur la base de l'adresse de ligne et du bit de présence dans les données contenues dans une entrée de la table de commandes de banc ayant le numéro obtenu par le décodeur<B>;</B> et une partie de détermination d'adresses pour rechercher dans la table de positions de bit d'adresse les informations qui représentent<B>à</B> la fois le nombre de bits de l'adresse de rangée et le nombre de bits de l'adresse de colonne du dispositif de mémoire monté sur le module de mémoire déterminé par la partie de détermination de numéros, et en plus pour déterminer<B>à</B> la fois l'adresse de rangée et l'adresse de colonne du module de mémoire auquel on doit accéder sur la base de l'adresse de ligne, d'une adresse de source<B>à</B> transformer en adresse de rangée du module de mémoire auquel on doit accéder, l'adresse de source étant incluse dans les données contenues dans l'entrée ayant le numéro obtenu par le décodeur, et les informations recherchées représentant<B>à</B> la fois le nombre de bits de l'adresse de rangée et le nombre bits de l'adresse de colonne.
Le système de commande d'accès<B>à</B> la mémoire peut comprendre de plus<B>:</B> un groupe de tampons pour stocker une pluralité d'adresses de mise en oeuvre, chacune d'elles étant constituée par le numéro du module mémoire determiné par la partie de détermination de numéros par l'adresse de rangée et l'adresse de colonne déterminées par la partie de détermination d'adresses<B>;</B> et un dispositif d'arbitrage pour arbitrer la pluralité d'adresses de mise en oeuvre stockées dans le groupe de tampons.
Dans le système de commande d'accès<B>à</B> la mémoire, une capacité de stockage égale peut être attribuée chacune des unités.
Dans le système de commande d'accès<B>à</B> la mémoire la capacité de stockage de chacune des unités peut être la même que la capacité de stockage d'un module mémoire ayant la capacité de stockage la plus petite.
Dans le système de commande d'accès<B>à</B> la mémoire la hiérarchie des modules de mémoire peut avoir structure arborescente<B>à</B> deux branches.
Dans le système de commande d'accès<B>à</B> la mémoire une capacité de stockage égale peut être attribuée<B>à</B> des rassemblements dans le même niveau hiérarchique pour chacune des unités. Ces objectifs, caractéristiques et avantages de la présente invention ainsi que d'autres vont devenir plus évidents<B>à</B> la lecture de la description détaillée qui va suivre du mode de réalisation préféré de l'invention, lorsque prise en relation avec dessins annexés. <U>Brève description des dessins</U> La figure<B>1</B> est un schéma fonctionnel représentant un exemple de la structure d'un système<B>--</B> commande d'accès<B>à</B> la mémoire selon un mode de réalisation de la présente invention<B>;</B> la<B>f</B> igure 2 est une vue schématique représentant un exemple de la structure d'une mémoire principale du système d'accès<B>à</B> la mémoire représenté<B>à</B> figure<B>1 ;</B> la figure<B>3</B> est une vue schématique représentant un exemple de la structure d'une BCT Table de Commandes de Banc) représentée<B>à</B> la figure<B>1 ,</B> la figure 4 est une vue schématique représentant un exemple de la structure d'une ABPT (Table de Positions de Bit d'Adresse) représentée<B>à</B> la figure<B>1 ;</B> la figure<B>5</B> est un schéma fonctionnel représentant un exemple de la structure d'un système informatique correspondant au système de commande d'accès<B>à</B> la mémoire représenté<B>à</B> la figure<B>1 ;</B> la figure<B>6</B> est un schéma fonctionnel représentant un autre exemple de la structure du système informatique correspondant au système commande d'accès<B>à</B> la mémoire représenté<B>à</B> la figure la figure<B>7</B> est une vue schématique représentant un exemple concret de la mise en oeuvre modules de mémoire dans une mémoire principale, système informatique ayant la structure représentée<B>à</B> la figure<B>6 ; -</B> la figure<B>8</B> est un organigramme representant un processus d'une partie de détermination numéros correspondant au système de commande 'accès<B>à</B> la mémoire représenté<B>à</B> la figure<B>1</B> la figure<B>9</B> est un organigramme representant un processus d'une partie de détermination d'adresses correspondant au système de commande 'accès<B>à</B> la mémoire représenté<B>à</B> la figure<B>1 ;</B> et la figure<B>10</B> est un schéma fonctionnel représentant un exemple d'une hiérarchie imbriquée du système informatique correspondant au système de commande d'accès<B>à</B> la mémoire représenté a figure<B>1.</B> <U>Description du mode de réalisation</U> Préferé <B>(1)</B><U>Mode de réalisation de base</U> On va maintenant décrire un mode de réalisation de la présente invention en se référant dessins annexés.
La figure<B>1</B> est un schéma fonctionnel représentant la structure d'un système de commande<B>d</B> accès<B>à</B> la mémoire selon un premier mode de réalisation de la présente invention.
En se référant<B>à</B> la figure<B>1,</B> le système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation la présente invention comprend un processeur<B>1,</B> dispositif de commande de système 2, et une mémoire principale<B>3.</B>
Le dispositif de commande de système 2 comprend un registre d'adresses<B>10,</B> une BCT <B>11,</B> une partie de détermination numéros 12, une ABPT <B>13,</B> une-partie de détermination d'adresses 14, un groupe de tampons d'adresses de mise en oeuvre <B>15,</B> un premier dispositif de sélection<B>16,</B> un premier décodeur<B>17,</B> un deuxième dispositif de sélection<B>18,</B> un second décodeur<B>19,</B> un premier registre de signal de sélection de lecture/écriture 20 (désigné par "#SEl" <B>à</B> la figure<B>1),</B> un premier registre d'adresses d'écriture 21 (désigné par "#lWA" <B>à</B> la figure<B>1),</B> un premier registre de validation<B>d</B> écriture 22 (désigné par "#lWE" <B>à</B> la figure<B>1),</B> un premier registre de données d'écriture<B>23</B> (désigné par "#lWD" <B>à</B> la figure<B>1),</B> un second registre de signal de sélection de lecture/écriture 24 (désigné par 11#2SEI' <B>à</B> la figure<B>1),</B> un second registre d'adresses<B>d</B> écriture<B>25</B> (désigné par "#2WA" <B>à</B> la figure<B>1),</B> un second registre de validation d'écriture <B>26</B> (désigné par "#2WE" <B>à</B> la figure<B>1),</B> un second registre de données d'écriture<B>27</B> (désigné par "#2WD" <B>à</B> la figure<B>1),</B> un troisième dispositif de sélection<B>28,</B> une partie d'arbitrage de sortie de mémoire principale <B>29,</B> et une partie d,informations de paramétrage initial <B>30.</B> Le signal de sélection de lecture/écriture est un signal représentant que l'une quelconque d'une opération de lecture ou d'une opération d'écriture est sélectionnée, c'est-à-dire qu'un accès provenant du processeur<B>1 à</B> des données dans la mémoire principale est sélectionné. En _d'autres termes, le signal de sélection de lecture/écriture n'est pas un signal représentant si une opération de lecture une opération d'écriture est sélectionnée, mais un signal représentant si l'accès<B>ou</B> un processus d'initialisation du dispositif de commande de système 2 est sélectionné.
Le registre d'adresses<B>10</B> stocke de façon temporaire une adresse de ligne (une adresse physique) qui est envoyée en provenance du processeur<B>1.</B>
La BCT <B>11</B> possède des entrées pour des unités individuelles, c'est-à-dire des zones de stockage, chacune ayant une capacité de stockage unitaire. Chaque entrée contient des bits de validité (bits V), chacun représentant si chaque module de mémoire dans chaque unité comporte un dispositif de mémoire mis en oeuvre (par exemple, une DRAM). Pour un module ayant un dispositif de mémoire mis en oeuvre, chaque entrée contient une adresse de source<B>à</B> transformer une adresse de rangée du dispositif de mémoire.
Lorsque l'on accède<B>à</B> la mémoire principale, la partie de détermination de numéros 12 détermine un numéro de carte, un numéro de pile, et un numéro de module de mémoire auquel on doit accéder correspondant <B>à</B> l'adresse de ligne envoyée depuis le processeur<B>1</B> aux informations stockées dans la BCT <B>11.</B> Le numéro carte, le numéro de pile, et le numéro de module mémoire vont être expliqués par la suite.
LIABPT <B>13</B> possède des entrées pour des modules mémoire individuels qpi sont mis en oeuvre dans mémoire principale<B>3.</B> Chaque entrée contient informations concernant<B>à</B> la fois le nombre de bits ,adresse de rangée et le nombre de bits de-l'adresse colonne du module de mémoire concerné.
Lorsque l'on accède<B>à</B> la mémoire principale, partie de détermination d'adresses 14 recherche l'ABPT sur la base du résultat déterminé de la partie determination de numéros 12 et détermine une adresse mise en oeuvre (l'adresse de rangée, l'adresse colonne, et ainsi de suite, avec laquelle on accède a mémoire principale<B>3) à</B> la fois sur la base nombre de bits de l'adresse de rangée et du nombre bits de l'adresse de colonnes obtenus<B>à</B> partir 'ABPT <B>13,</B> de l'adresse de ligne envoyée depuis processeur<B>1,</B> et d'une adresse de source<B>à</B> transformer en adresse de rangée. L'adresse de source est lue partir de la BCT <B>11</B> (on se réfère<B>à</B> l'adresse de source adresse de rangée lue dans la BCT).
Le groupe de tampons d'adresses de mise en oeuvre est un ensemble de tainp-O*ns d'adresses de mise oeuvre, chacune stockant une adresse de mise en oeuvre constituée par un numéro de carte, un numéro de pile, un numéro de module de mémoire, et<B>à</B> la fois une adresse de rangée et une adresse de colonne du module de mémoire. L'adresse de mise en oeuvre est obtenue par la partie de détermination de numéros et par la partie de détermination d'adresses 14.
Le premier dispositif de sélection<B>16</B> amène, en alternance, une adresse d'écriture qui est<B>à</B> envoyer en provenance du processeur<B>1 à</B> la BCT <B>11</B> quand une initialisation est effectuée ou une adresse de ligne qui est<B>à</B> envoyer en provenance du processeur<B>1 à</B> la BCT <B>11</B> lorsque l'on accède<B>à</B> la mémoire principale pour être validée et sort l'adresse validée vers le premier décodeur<B>17.</B>
Le premier décodeur<B>17</B> effectue un processus de décodage de façon<B>à</B> rechercher la BCT <B>11.</B>
Le deuxième dispositif de sélection<B>18</B> valide l'adresse d'écriture qui est envoyée en provenance processeur<B>1 à</B> 11ABPT <B>13</B> quand une initialisation effectuée et le résultat déterminé qui est envoyé provenance de la partie de détermination de numéros 12 lorsque l'on accède<B>à</B> la mémoire principale, et sort l'adresse validée vers le second décodeur<B>19.</B>
Le second décodeur<B>19</B> effectue un processus de décodage de façon<B>à</B> rechercher l'ABPT <B>13.</B>
Le premier registre de signal de sélection lecture/écriture 20 stocke de façon temporaire signal de sélection de lecture/écriture pour commuter le premier dispositif de sélection<B>16.</B> Le premier registre d'adresses d'écriture 21 stocke de façon temporaire une adresse d'écriture pour la BCT <B>11.</B>
Le premier registre de validation d'écriture 22 stocke de façon temporaire un signal de validation d'écriture pour la BCT <B>11.</B>
Le premier regiptre de données écriture<B>23</B> stocke de façon temporaire des informations<B>à</B> écrire dans la BCT <B>11</B> (on se réfère<B>à</B> ces informations par données d'écriture).
Le second registre de signal de sélection de lecture/écriture 24 stocke de façon temporaire un signal de sélection de lecture/écriture pour commuter le deuxième dispositif de sélection<B>18.</B>
Le second registre d'adresses d'écriture<B>25</B> stocke de façon temporaire une adresse d'écriture pour l'ABPT <B>13.</B>
Le second registre de validation écriture<B>26</B> stocke de façon temporaire un signal de validation d'écriture pour l'ABPT <B>13.</B>
Le second registre de données d'écriture<B>27</B> stocke de façon temporaire des informations<B>à</B> écrire dans 11ABPT <B>13</B> (on se réfère<B>à</B> ces informations par données d'écriture).
Le troisième dispositif de sélection<B>28</B> sélectionne une adresse de mise en oeuvre <B>à</B> envoyer en provenance du groupe de tampons d'adresses de mise en oeuvre <B>15 à</B> la mémoire principale<B>3.</B> La partie d'arbitrage de sortie de memoire principale<B>29</B> crée une condition de sélection du troisième dispositif de sélection<B>28.</B>
La partie d'informations de paramétrage initial<B>30</B> stocke des informations de mémoire de mise en oeuvre, qui sont les informations de chaque module de memoire mis en oeuvre dans la mémoire principale<B>3</B> Les informations de mémoire de mise en oeuvre sont constituées par des informations de mémoire de mise en oeuvre de paramétrage de BCT et par des informations de mémoire de mise en oeuvre de paramétrage d'ABPT.
La figure 2 est une vue schématique représentant un exemple de la structure de la mémoire principale<B>3</B> représentée<B>à</B> la figure<B>1.</B>
En se référant<B>à</B> la figure 2, la memoire principale<B>3</B> de cet exemple est constituée par une première carte (Carte #0) et par une seconde carte (Carte #1).
Chacune de la première carte et de la seconde carte est constituée par quatre modules de mémoire, c'est-à-dire que la première carte est constituée par un premier module de mémoire, un deuxième module de mémoire, un troisième module de mémoire, et un quatrième module de mémoire, tandis que la seconde carte est constituée par un cinquième module de mémoire, un sixième module de mémoire, un septième module de mémoire, et un huitième module de mémoire.
Le premier module de mémoire et le deuxième module de mémoire parmi les quatre modules de mémoire de la première carte constituent une première pile gauche. même, le troisième module de mémoire et le quatrième module de mémoire constituent une première pile de droite.
De même, le cinquième module de mémoire et le sixième module de mémoire parmi les quatre modules de memoire de la secondç carte constituent seconde pile de gauche. De même, le septième module de mémoire le huitième module de mémoire constituent une seconde pile de droite.
Ainsi, la mémoire principale<B>3</B> possède une hiérarchie imbriquée constituée d'une carte, d'une pile, et d'un module de mémoire dans cet ordre. Des details concernant la hiérarchie imbriquée vont être expliqués par la suite en se référant<B>à</B> la figure<B>10.</B>
La figure<B>3</B> est une vue schématique représentant un exemple de la structure de la BCT <B>11</B> représentée<B>à</B> la figure<B>1</B> (correspondant<B>à</B> la mémoire principale<B>3</B> représentée<B>à</B> la figure 2). Les capacités de stockage (par exemple,<B>128</B> Mo pour la combinaison de la première unité et du premier module de mémoire) de la zone de stockage de chaque module de mémoire correspondant<B>à</B> l'entrée de chaque unité sont juste un exemple, et ne sont pas stockées dans la BCT <B>11.</B>
En se référant<B>à</B> la figure<B>3,</B> la BCT <B>11</B> est constituée par un certain nombre d'entrées (constituées de données de 48 bits (bit<B>0 à</B> bit 47) ). Le nombre d'entrées correspond au nombre d'unités. Les 48 bits servent pour huit modules, et<B>6</B> bits servent pour chaque module.
Des données de six bits correspondant<B>à</B> chaque module de mémoire dans l'entrée d'une unité particulière sont constituées par un bit de validité (bit V) et par cinq bits d'une adresse de source<B>à</B> transformer en adressg de rangée de la zone de stockage du module de mémoire. Le bit V est<B>à "1"</B> quand une zone de mémoire de l'unité concernée est mise en oeuvre dans la zone de stockage du module de mémoire concerné. Lorsque le bit V est<B>à 1'l",</B> les cinq bits représentent une adresse de source<B>à</B> transformer en adresse de rangée d'un dispositif de mémoire (tel qu'une DRAM) qui est monté sur le module de mémoire.
En d'autres termes, les bits (47 42), (41<B>36),</B> <B>(35 - 30), (29 -</B> 24),<B>(23 - 18), (17</B> 12),<B>(11 6),</B> et<B>(5 - 0)</B> de chaque entrée représentent respectivement un bit V et une adresse de source<B>à</B> transformer en une adresse de rangée de la zone de stockage du premier module de mémoire, du deuxième module de mémoire, du troisième module de mémoire, du quatrième module de mémoire, du cinquième module de mémoire, du sixième module de mémoire, du septième module de mémoire, et du huitième module de mémoire. Par exemple, la notation "bits (x<B>- y)"</B> représente un groupe de bits du bit x bit<B>y</B> (par exemple, les "bits (47<B>-</B> 42)" représentent un groupe de bits du bit 47 au bit 42).
La figure 4 représente un exemple de la structure de l'ABPT <B>13</B> représentée<B>à</B> la figure<B>1</B> (correspondant a la mémoire principale<B>3</B> représentée<B>à</B> la figure 2 et<B>à</B> la BCT <B>11</B> représentée<B>à</B> la figure<B>3).</B>
En se référant<B>à</B> la figure 4, l'ABPT <B>13</B> possède des entrées un<B>à</B> huit contenant respectivement des valeurs représentant à,la fois le nombre de bits des adresses de rangées et le nombre de bits des adresses de colonnes du premi <B>\</B> er module de mémoire au huitième module de mémoire.
<B>A</B> la figure 4, le nombre de bits de l'adresse chaque module de mémoire<B>(à</B> savoir, le nombre de bits de chaque adresse de rangée et le nombre de- bits chaque adresse de colonne) représenté par une valeur contenue dans l'ABPT <B>13</B> dépend de la capacité stockage et du type de chaque dispositif de mémoire monté sur chaque module de mémoire. Dans exemple, on suppose que le nombre de bits de l'adresse rangée qu'un quelconque dispositif de mémoire dans la plage de<B>10 à 13</B> et que le nombre de bits adresse de colonne du dispositif de mémoire est dans plage de<B>8 à 11.</B>
Chaque entrée de 11ABPT <B>13</B> est constituée de deux premiers bits qui représentent le nombre de bits adresse de rangée (où 1100" (binaire) représente nombre de bits est<B>10</B> (décimal)<B>; '101"</B> (binaire représente que le nombre de bits est<B>11</B> (décimal) <B>Il</B> (binaire) représente que le nombre de bits est decimal) <B>;</B> 11111, (binaire) représente que le nombre bits est<B>13</B> (décimal , et de deux seconds bits qui représentent le nombre de bits de l'adresse de colonne (où<B>"00"</B> (binaire) représente que le nombre de bits est <B>8</B> (décimal)<B>;</B> 1101" (binaire) représente que le nombre de bits est<B>9</B> (décimal)<B>; "10"</B> (binaire) représente que le nombre de bits est<B>10</B> (décimal)<B>;</B> et<B>"11"</B> (binaire) représente que le nombre de bits est<B>11</B> (décimal . Dans cet exemple, les bits<B>(3 -</B> 2) représentent le nombre de bits de l'adresse de rangée, alors que les bits<B>(1 - 0)</B> représentent le nombre de bits de l'adresse de colonne, La figure<B>5</B> est un schéma fonctionnel représentant un exemple de la structure d'un système informatique correspondant au système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation de la présente invention.
Le système informatique comprend le processeur<B>1,</B> le dispositif de commande 2, la mémoire principale<B>3</B> un dispositif d'E/S 4 (entrée/sortie), et un support d'enregistrement<B>5.</B>
Dans le système informatique, les modules mémoire individuels (le premier module de mémoire huitième module de mémoire) dans la mémoire principale <B>3</B> sont directement reliés au dispositif de commande de système 2 (par l'intermédiaire d'une interface de mémoire unique entre le dispositif de commande de système 2 et chacun des modules de mémoire).
La figure<B>6</B> est un schéma fonctionnel représentant un autre exemple de la structure du système informatique correspondant au système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation de la présente invention.
Le système informatique représenté<B>à</B> la figure<B>6</B> comprend le processeur<B>1,</B> le dispositif de commande de système 2 la mémoire principale<B>3,</B> le dispositif d'E/S 4, le support d'enregistrement<B>5,</B> une première unité d'interface de mémoire<B>6,</B> et une seconde unité d'interface de mémoire<B>7.</B> La première unité d'interface de mémoire<B>6</B> est constituée par un circuit LSI <B>à</B> relais (intégration<B>à</B> haute densité) et ainsi suite.
Dans le système informatique, chacun des modules de mémoire (le premier module de mémoire au huitième module mémoire) dans la mémoire principale<B>3</B> est relié dispositif de commande de système 2 par l'intermédiaire d'une unité d'interface mémoire (la première unité d'interface de mémoire<B>6</B> la seconde unité d'interface de mémoire<B>7).</B> Il<B>y</B> a deux étages d'interface de mémoire contre le dispositif de commande de système 2 et chacun des modules de mémoire. En d'autres termes, une première interface de mémoire est disposée entre le dispositif de commande de système 2 et la première unité d'interface de mémoire<B>6.</B> Une deuxième interface de mémoire est disposée entre le dispositif de commande de système 2 et la seconde unité d'interface de mémoire<B>7.</B> Une troisième interface de mémoire est disposée entre la première unité d'interface de mémoire<B>6</B> et chacun du premier module de mémoire et du deuxième module de mémoire. Une quatrième interface de mémoire est disposée entre la première unité<B>d</B> interface de mémoire<B>6</B> et chacun troisième module mémoire et du quatrième module mémoire. Une cinquième interface de mémoire est disposée entre la seconde unité d'interface de mémoire<B>7</B> chacun du cinquième module de mémoire et du sixième module de mémoire. sixième interface de mémoire disposée entre la seconde unité d'interface de memoire <B>7</B> et chacun septième module de mémoire et huitième module mémoire.
La figure<B>7</B> est une vue schématique représentant un exemple de la mise en oeuvre de modules mémoire de la memoire principale<B>3</B> dans le système informatique correspondant au système de commande<B>d</B> acces <B>à</B> la mémoire selon le mode de réalisation de la présente invention (dans cet exemple, la structure système informatique représenté<B>à</B> la figure<B>7</B> est même que la structure de système informatique representé <B>à</B> la figure<B>).</B>
Dans cet exemple, la capacité de stockage du premier module de mémoire est<B>1</B> Go. La capacité de stockage du cinquième module de mémoire<B>256</B> Mo. La capacite de stockage du sixième module mémoire est <B>512</B> Mo. La capacité de stockage du septieme module de mémoire est<B>1</B> Go. La capacité de stockage du huitième module mémoire est 2 Go. Le deuxième module de mémoire, le troisième module de mémoire, et le quatrième module de mémoire ne sont pas mis en oeuvre.
La figure<B>8</B> est un organigramme représentant un processus de la partie de détermination numéros 12 correspondant au système de commande de mémoire selon le mode de réalisation de la présente invention. Le processus comprend les étapes de détermination de savoir si un module de mémoire auquel une zone stockage a été attribuée est ou non présent sur carte<B>(à</B> l'étape Sl), de détermination d'un numéro carte<B>(à</B> l'étape<B>S2),</B> de détermination de savoir si module de mémoire auquel une capacité de stockage a été attribuée est ou non présent dans une pile<B>(à</B> l'étape <B>S3),</B> de détermination d'un numéro de pile<B>(à</B> l'étape S4), de détermination de savoir si une zone de stockage a été ou non attribuée<B>à</B> un module de mémoire<B>(à</B> l'étape<B>S5),</B> et de détermination d'un numéro de module de mémoire<B>(à</B> l'étape S6).
La figure<B>9</B> est un organigramme représentant un processus de la partie de détermination d'adresses 14 correspondant au système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation de la présente invention. Le processus comprend les étapes de détermination du nombre de bits d'une adresse de ligne pour désigner un numéro de carte, un numéro de pile, et un numéro de module de mémoire<B>(à</B> l'étape<B>S10),</B> de détermination du nombre de bits d'une adresse de colonne<B>(à</B> l'étape Sll), de détermination de l'adresse de colonne<B>(à</B> l'étape S12), de détermination d'une capacité de stockage de rangée<B>(à</B> l'étape<B>S13),</B> de détermination du nombre de bits d'une adresse de rangée <B>(à</B> l'étape S14), de détermination de l'adresse de rangée<B>(à</B> l'étape<B>S15),</B> et du stockage des données obtenues dans un tampon d'adresses de mise en oeuvre l'étape<B>S16).</B>
La figure<B>10</B> est un schéma fonctionnel représentant un exemple d'une hiérarchie imbriquée du système informatique correspondant au système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation de la présente invention. La hiérarchie imbriquée de la mémoire principale<B>3</B> représentée figures 2,<B>5, 6,</B> et<B>7</B> correspond<B>à</B> la hiérarchie imbriquée représentée<B>à</B> la figure<B>10.</B>
Selon le mode de réalisation de la présente invention, dans la hiérarchie imbriquée correspondant au système de commande d'accès<B>à</B> la mémoire,<B>à</B> partir du niveau hiérarchique le plus élevé (dans lequel totalité de la mémoire principale<B>3</B> est traitée comme un rassemblement particulier) jusqu'au niveau hiérarchique le plus bas (dans lequel un module mémoire est traité comme un rassemblement particulier un noeud particulier dans un niveau hiérarchique particulier<B>(à</B> savoir, la mémoire principale<B>3,</B> une carte, ou une pile dans ce mode de réalisation) est suivi par deux noeuds <B>(à</B> savoir, une carte, une pile, ou un module de mémoire dans ce mode de réalisation) en tant que niveau hiérarchique immédiatement inférieur. Cette hiérarchie imbriquée correspond,<B>à</B> la base,<B>à</B> structure matérielle de la mémoire principale<B>3</B> (a savoir, des cartes, des piles, et des modules de mémoire dans ce mode de réalisation). Cependant, on notera que la hiérarchie imbriquée peut être etablie en supposant des niveaux hiérarchiques logiques.
Ensuite, on va expliquer le fonctionnement du système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation de la présente invention. Dans ce mode de réalisation, on suppose que des modules mémoire ont été mis en oeuvre dans la mémoire principale<B>3</B> comme le montre la figure<B>7.</B> En général, la capacité unitaire de la mémoire principale<B>3</B> est la même que la capacité de stockage des modules de mémoire les plus petits mis en oeuvre dans cette dernière. Dans cet exemple de mode de réalisation, étant donné que la capacité de stockage du cinquième module de mémoire est la plus petite parmi les modules de mémoire, la capacité unitaire est<B>256</B> Mo qui est la même que la capacité de stockage du cinquième module de mémoire.
Tout d'abord, on va décrire le fonctionnement du système de commande d'accès<B>à</B> la mémoire effectué lorsque la BCT <B>11</B> est initialisée.
Lorsque la BCT <B>11</B> est initialisée, le processeur<B>1</B> obtient des informations de mémoire de mise en oeuvre de paramétrage de BCT pour chaque module de mémoire<B>à</B> partir de la mémoire principale<B>3</B> et écrit les informations de mémoire de mise en oeuvre de paramétrage de BCT dans la partie d'informations de paramétrage initial<B>30.</B>
Les informations de mémoire de mise en oeuvre de paramétrage de BCT sont les informations qui représentent la capacité de stockage et le nombre de bits de l'adresse de rangée de chaque module de mémoire.
Après cela, le processeur<B>1</B> met le signal de validation d'écriture dans le premier registre de validation d'écriture 22<B>à "1" (ON). A</B> ce point, le premier dispositif de sélection<B>16</B> valide une adresse d'écriture qui est envoyée en provenance du processeur <B>1</B> correspondant<B>à</B> un signal de sélection de lecture/écriture qui valide l'opération d'écriture. Le signal de sélection de lecture/écriture est stocké dans le premier registre de signal de sélection de lecture/écriture 20 sous la commande du processeur<B>1</B> L'adresse d'écriture a été stockée dans le premier registre d'adresses d'écriture 21.
Dans cet état, le processeur<B>1</B> initialise la <B>11</B> en utilisant les informations de mémoire de mise oeuvre de paramétrage de BCT stockées dans la partie d'informations de paramétrage initial<B>30</B> aux étapes (a) <B>à</B> (g) de la manière suivante<B>:</B> (a) En se référant<B>à</B> la capacité de stockage de chaque module de mémoire, le processeur<B>1</B> définit la capacité de stockage d'un module de mémoire ayant capacité de stockage la plus petite parmi les modules de mémoire mis en oeuvre en tant que capacité unitaire <B>(b)</B> Le processeur<B>1</B> divise la totalité de la zone de mémoire de la mémoire principale<B>3</B> par la capacité unitaire afin de définir des unités. Ainsi, la capacité de stockage d'une unité particulière est égale<B>à</B> la capacité de stockage des modules de mémoire ayant capacité de stockage la plus petite.
(c) Le processeur<B>1</B> détermine si un module mémoire (ou des modules de mémoire) ayant une capacite de stockage (ou des capacités de stockage) non encore attribuée(s) <B>à</B> une quelconque autre unité est (ou sont ou non relié(s) <B>à</B> chacun de deux noeuds juste précédes par un noeud dans un niveau hiérarchique soumis a 'étape (c) cette fois. On notera que même si un module mémoire a été mis en oeuvre, le module de mémoire peut ou non avoir une zone de stockage non encore attribuée.
<B>(d)</B> Quand un module de mémoire (ou des modules memoire) ayant une capacité de stockage (ou capacités de stockage) non attribuée(s) <B>à</B> quelconque autre unité est (ou sont) relié(s) <B>à 1</B> deux noeuds, et quand un module de mémoire (ou modules de mémoire) ayant une capacité de stockage capacités de stockage) non attribuée(s) <B>à</B> quelconque autre unité est (ou sont) relié(s) <B>à</B> l'autre deux noeuds, le processeur<B>1</B> attribue de façon egale la zone de mémoire qui a été attribuée au niveau hiérarchique soumis<B>à</B> l'étape (c) aux deux noeuds dans niveau hiérarchique juste inférieur.
(e) D'un autre cÔté, quand un module de mémoire des modules de mémoire) ayant une capacité de stockage<B>(ou</B> des capacités de stockage) non attribuée(s) <B>à</B> une quelconque autre unité est (ou sont relié(s) <B>à</B> l'un des deux noeuds, et qu'aucun module mémoire ayant une capacité de stockage non attribuée<B>à</B> une quelconque autre unité n'est relié<B>à</B> l'autre des deux noeuds, le processeur<B>1</B> attribue la totalité de la zone mémoire qui a été attribuée au niveau hiérarchique soumis<B>à</B> l'étape (c) au noeud particulier des deux noeuds dans le niveau hiérarchique juste inférieur. Le processeur<B>1</B> répète les étapes (c) <B>à</B> (e) pour niveaux hiérarchiques, s'il<B>y</B> a lieu, et pour toutes unités. Ainsi, le processeur<B>1</B> attribue la zone mémoire de chaque unité<B>à</B> des modules de mémoire qui sont présents dans l'unité.
Selon les étapes<B>(d)</B> et (e), une capacité de stockage égale est attribuée aux rassemblements dans chaque niveau hiérarchique.
<B>(g)</B> Pour une combinaison d'une unité d'un module, si une zone de mémoire est attribuee <B>à</B> la combinaison, le processeur<B>1</B> stocke une adresse de source<B>-</B> transformer en une adresse de rangée le bit V<B>"P'</B> qui représente un état "valide". 'adresse de source est produite sur la base de la taille des zones de mémoire attribuées aux combinaisons lune unité d'un module et de la capacité du dispositif de mémoire monté sur le module. D'un autre côté, pour une combinaison d'une unité et d'un module, si zone de mémoire n'est pas attribuée<B>à</B> la combinaison, le processeur<B>1</B> remet le bit V<B>à "0"</B> qui représente l'état "non valide". Comme cela est évident<B>à</B> partir de<B>1</B> explication précédente, en supposant que la capacité de stockage d'une unité particulière (capacité de stockage unitaire) est de<B>256</B> Mo, afin d'imbriquer deux cartes de manière égale, une capacité de stockage de<B>128</B> Mo devrait être attribuée de manière égale<B>à</B> chacune des deux cartes. De manière similaire, afin d'imbriquer deux piles de manière égale, une capacité de stockage de 64 Mo devrait être attribuée de manière égale<B>à</B> chacune des deux piles. De plus, afin d'imbriquer deux modules de mémoire de manière égale, une capacité de stockage de<B>32</B> Mo devrait être attribuée de maniere égale<B>à</B> chacun des deux modules de mémoire.
Ainsi, quand des modules de mémoire ont été mis en oeuvre comme le montre la figure<B>7,</B> on attribue au premier module de mémoire une zone de stockage de <B>128</B> Mo pour chaque unité de la première unité<B>à</B> la huitième unité. On attribue<B>à</B> chaque module du cinquième module de mémoire au huitième module de mémoire une zone de stockage de<B>32</B> Mo pour chaque unité de la première unité<B>à</B> la huitième unité.
Dans l'exemple précédent, le premier module de mémoire et le cinquième module de mémoire n'ont pas de zone de stockage attribuée<B>à</B> la neuvième unité. Ainsi, on attribue au sixième module de mémoire une zone de stockage de<B>128</B> Mo pour la neuvième unité. On attribue au septième module de mémoire une zone de stockage de 64 Mo pour la neuvième unité. On attribue au huitieme module de mémoire une zone de stockage de 64 Mo pour la neuvième unité.
Etant donné que le processus similaire est répété pour la dixième unité et pour les unités ulterieures, alors la BCT <B>11</B> ayant le contenu représenté<B>à</B> la figure<B>3</B> est créée.
Deuxièmement, on va expliquer l'opération selon laquelle l'ABPT <B>13</B> est initialisée.
Lorsque l'ABPT <B>13</B> est initialement fixée, le processeur<B>1</B> obtient des informations de mémoire de mise en oeuvre de paramétrage d'ABPT pour chaque module de mémoire<B>à</B> partir de la mémoire principale<B>3</B> Les informations de mémoire de mise en oeuvre de paramétrage d'A-BPT sont les informations qui représentent la capacité de stockage et le type de chaque module de mémoire (ou de chaque dispositif de mémoire) mis en oeuvre dans la mémoire principale<B>3. A</B> la fois le nombre de bits de l'adresse de rangée et le nombre de bits de l'adresse de colonne représentés par les informations contenues dans chaque entrée l'ABPT <B>13</B> dépendent de la capacité de stockage et du type de chaque dispositif de mémoire qui constitue chaque module de mémoire. Dans cet exemple, comme on l'a précédemment décrit, on suppose que le nombre de bits de l'adresse de rangée est dans la plage de<B>0 à 13</B> et que le nombre de bits de l'adresse de colonne est dans la plage de<B>8 à 11.</B>
Lorsque le processeur<B>1</B> met un signal de validation d'écriture (informations stockées dans le second registre de validation d'écriture<B>) à</B> "P', le deuxième dispositif de sélection<B>18</B> valide une adresse écriture (stockée dans le second registre d'adresses ,écriture<B>25)</B> qui est envoyée en provenance du processeur<B>1</B> correspondant<B>à</B> un signal de sélection de lecture/écriture (informations stockées dans le second registre de signal de sélection de lecture/écriture Ainsi, le processeur<B>1</B> stocke les informations qui représentent<B>à</B> la fois le nombre de bits l'adresse rangée et le nombre de bits de l'adresse de colonne un dispositif de mémoire mis en oeuvre dans chaque module de mémoire dans l'entrée de l'ABPT (voir la figure 4).
Troisièmement, en supposant que<B>11</B> et ABPT <B>13</B> ont été initialisées comme on l'a précédemment expliqué, une opération lacces <B>à</B> la memoire imbriquée va être expliquée.
Lorsque le processeur<B>1</B> envoie une adresse de ligne (adresse physique) d'une zone memoire <B>à</B> laquelle on doit accéder, au dispositif commande de système 2, le dispositif 2 commence<B>à</B> acceder a la zone mémoire. Lorsque le dispositif de commande de système 2 reçoit l'adresse de ligne, 'adresse est stockée de façon temporaire dans le registre d'adresses Le processeur<B>1</B> envoie un signal de sélection de lecture/écriture qui représente un "accès a la mémoire" au dispositif de commande de système 2. Les informations du signal sont stockées dans le premier registre de signal de sélection de lecture/écriture 20 et dans le second registre de signal de sélection de lecture/écriture 24.
Tout d'abord, on va décrire le processus de la partie de détermination de numéros 12 utilisant la BCT <B>11.</B> Le dispositif de sélection<B>16</B> valide une adresse d'écriture reçue en provenance du registre d'adresses <B>10</B> correspondant<B>à</B> un signal de sélection de lecture/écriture (informations stockées dans le premier registre de signal de sélection de lecture/écriture 20) reçu en provenance du processeur<B>1.</B> Le signal de sélection de lecture/écriture représente que l'accès<B>à</B> la mémoire est en train d'être effectué. Le premier dispositif de sélection<B>16</B> envoie l'adresse de ligne au premier décodeur<B>17.</B>
Le premier décodeur<B>17</B> décode un groupe de bits prédéterminé stocké dans le registre d'adresses<B>10.</B> Le groupe de bits prédéterminé est, par exemple, un groupe de bits allant du bit<B>31</B> au bit<B>25.</B>
La partie de détermination de numéros 12 recherche dans la BCT <B>11</B> une clé du résultat provenant du décodeur<B>17.</B> Le résultat est une adresse de BCT obtenue par l'opération de décodage du décodeur<B>17</B> L'adresse de BCT est une information qui représente une entrée de la BCT <B>11.</B> La partie de détermination de numéros détermine un numéro de carte, un numéro de pile, et numéro de module de mémoire sur la base de données de bits retrouvées<B>à</B> partir de la BCT <B>11</B> (données<B>dl</B> entrée de la BCT <B>11</B> correspondant<B>à</B> l'unité<B>à</B> laquelle on doit accéder) et d'informations de l'adresse de ligne stockées dans le registre d'adresses<B>10.</B>
Dans ce mode de réalisation, on suppose que l'on accède<B>à</B> la mémoire principale dans une unite de<B>32</B> octets. Par conséquent, les bits (4<B>- 0)</B> de<B>1</B> adresse de ligne ne sont pas utilisés pour désigner une adresse de la mémoire principale et les bits<B>(7. 5)</B> de l'adresse de ligne sont utilisés pour imbriquer la mémoire principale.
En se référant<B>à</B> la figure<B>3,</B> pour les unites un<B>à</B> huit, le premier module a un dispositif de mémoire ayant une capacité de stockage<B>128</B> Mo et chaque module du cinquième module au huitième module de mémoire a un dispositif de mémoire ayant une capacité de stockage de <B>32</B> Mo. Par conséquent, pour une valeur allant #100011 (binaire)<B>à " 0 11 "</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au premier module de mémoire. Pour une valeur de<B>"100"</B> (binaire) des bits <B>(7 - 5)</B> de l'adresse de ligne, on accède au cinquième module de mémoire. Pour une valeur de<B>"10l"</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au sixième module de mémoire. Pour une valeur de 111101, (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au septième module de mémoire. Pour une valeur de<B>"11l"</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au huitième module de mémoire. La capacité de stockage d'un dispositif de mémoire dans chaque module de mémoire déterminée par une combinaison de bits de validité pour huit modules. Les bits de validité sont le bit 47, bit 41, le bit<B>35,</B> bit<B>29,</B> le bit<B>23,</B> le bit<B>17,</B> bit<B>il,</B> et le bit<B>5</B> parmi les bits (47<B>- 0)</B> lus<B>à</B> partir de la BCT <B>11.</B> Etant donné qu'une opération<B>OU LOGIQUE</B> du bit 47, du 41, du bit<B>35,</B> et du bit<B>29 à "P',</B> et qu'une operation <B>OU LOGIQUE</B> du bit<B>23,</B> du<B>17,</B> du bit<B>il,</B> du bit<B>5</B> est<B>à "111,</B> on détermine la carte<B>#0</B> et la carte<B>#1</B> ont la même capacité est de<B>128</B> Mo. Etant donné qu'une opération<B>OU LOGIQUE</B> du bit 47 et du 41 est<B>à "l",</B> et qu'une opération<B>LOGIQUE</B> du bit et du<B>29</B> est<B>à</B> l'O,-, on détermine la première pile de gauche a la totalité de la capacité de stockage la carte<B>#0</B> et que la première pile droite n'a aucune capacité de stockage. Par conséquent, on determine que la première pile de gauche a une capacité stockage de<B>128</B> Mo et que le troisième module de memoire et le quatrième module de mémoire n'ont aucune capacité de stockage. Etant donné que le bit 47 est<B>à</B> <B>il</B> et que le bit 41 est<B>à "0",</B> on détermine que le premier module de mémoire a la totalité de la capacité stockage de la première pile de gauche et que le deuxième module de mémoire n'a aucune capacité de stockage. Par conséquent, on détermine que le premier module de mémoire a une capacité de stockage de<B>128</B> Mo que le deuxième module de mémoire n'a aucune capacité de stockage. Etant donné qu'une opération<B>OU</B> <B>LOGIQUE</B> du bit<B>23</B> et du bit<B>17</B> est<B>à "1"</B> et qu'une opération<B>OU LOGIQUE</B> du bit<B>11</B> et du bit<B>5</B> est<B>à "l",</B> on détermine que la seconde pile de gauche et que la seconde pile de droite ont la même capacité de stockage qui est de 64 Mo. Etant donné que le bit<B>23</B> est<B>à</B> "11, et que le bit<B>17</B> est<B>à " 1 "</B> et qu'une opération<B>OU</B> <B>LOGIQUE</B> du bit<B>11</B> et du bit<B>5</B> est<B>à "1",</B> on détermine que le cinquième module de mémoire et le sixième module de mémoire ont la même capacité de stockage est de <B>32</B> Mo. Etant donné que le bit<B>11</B> est<B>à "1"</B> que le bit<B>5</B> est<B>à</B> 11111, on détermine que le septième module de mémoire et le huitième module de mémoire ont la même capacité de stockage qui est de<B>32</B> Mo.
Pour les neuvième et dixième unités, le sixième module a un dispositif de mémoire d'une capacité de stockage de<B>128</B> Mo et chacun des septième huitième modules de mémoire a un dispositif de mémoire ayant une capacité de stockage de 64 Mo. Par conséquent pour une valeur allant de 110001, (binaire)<B>à "01l"</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au sixième module de mémoire. Pour une valeur allant de 11100" (binaire)<B>à</B> 111011, (binaire) des bits<B>- 5)</B> de l'adresse de ligne, on accède au septième module de mémoire. Pour une valeur allant de<B>"11V</B> (binaire)<B>à</B> <B>'1111"</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au huitième module de mémoire.
La capacité de stockage d'un dispositif mémoire dans chaque module de mémoire est déterminée par une combinaison de bits de validité pour huit modules. Les bits de validité sont le bit 47, le bit 41, bit<B>35,</B> le bit<B>29,</B> le bit<B>23,</B> le bit<B>17,</B> le bit<B>11,</B> le bit<B>5</B> parmi les bits (47<B>- 0)</B> lus<B>à</B> partir de la BCT <B>11.</B> Etant donné qu'une opération<B>OU LOGIQUE</B> du bit 47, du bit 41, du bit<B>35,</B> et du bit<B>29</B> est<B>à "0"</B> et qu'une opération<B>OU LOGIQUE</B> du bit<B>23,</B> du bit<B>17,</B> du bit<B>11,</B> et du bit<B>5</B> est<B>à ,il',</B> on détermine que la carte<B>#0</B> n'a pas de capacité et que la carte<B>#1</B> a une capacité de mémoire de<B>256</B> Mo. Par conséquent, on détermine que les modules de mémoire un<B>à</B> quatre n'ont pas de capacité de stockage. Etant donné qu'une opération<B>OU LOGIQUE</B> du bit<B>23</B> et du bit<B>17</B> est<B>à "1"</B> et qu'une opération<B>OU</B> <B>LOGIQUE</B> du bit<B>11</B> et du bit<B>5</B> est<B>à "l",</B> on détermine que la seconde pile de gauche et que la seconde pile de droite ont la même capacité de stockage est de <B>128</B> Mo. Etant donné que le bit<B>23</B> est<B>à "0"</B> que le bit<B>17</B> est<B>à 'Il",</B> on détermine que le cinquieme module de mémoire n'a pas de capacité de mémoire que le sixième module de mémoire a une capacité de mémoire de <B>128</B> Mo. Etant donné que le bit<B>11</B> est<B>à "1"</B> et que le bit<B>5</B> est<B>à</B> on détermine que le septième module de mémoire et que le huitième module de mémoire ont la même capacité de mémoire qui est de 64 Mo.
Pour les unités onze<B>à</B> quinze, chacun du septième module de mémoire et du huitième module de mémoire a un dispositif de mémoire ayant une capacité de stockage de <B>128</B> Mo. Par conséquent, pour une valeur allant de 110001, (binaire)<B>à " 0 11 "</B> (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au septième module de mémoire. Pour une valeur allant de<B>"100"</B> (binaire)<B>à</B> 11111" (binaire) des bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au huitième module de mémoire.
La capacité de stockage d'un dispositif de mémoire dans chaque module de mémoire est déterminée par une combinaison de bits de validité pour huit modules. Les bits de validité sont le bit 47, le bit 41, le bit<B>35,</B> le bit<B>29,</B> le bit<B>23,</B> le bit<B>17,</B> le bit<B>11,</B> et le bit<B>5</B> parmi les bits (47<B>- 0)</B> lus<B>à</B> partir de la BCT <B>11.</B> Etant donné qu'une opération<B>OU LOGIQUE</B> du bit 47, du bit 41, du bit<B>35,</B> et du bit<B>29</B> est<B>à "0"</B> et qu'une opération<B>OU LOGIQUE</B> du bit<B>23,</B> du bit<B>17,</B> du bit<B>11,</B> et du bit<B>5</B> est<B>à</B> "P', on détermine que la carte<B>#0</B> n'a pas de capacité et que la carte<B>#1</B> a une capacité de mémoire de<B>256</B> Mo. Par conséquent, on détermine les modules de mémoire un<B>à</B> quatre n'ont pas de capacité de stockage. Etant donné qu'une opération<B>OU LOGIQUE</B> du bit<B>23</B> et du bit<B>17</B> est<B>à "0"</B> et qu'une opération<B>OU</B> <B>LOGIQUE</B> du bit<B>11</B> et du bit<B>5</B> est<B>à "l",</B> on détermine que la seconde pile de gauche n'a pas de capacité de stockage et que la seconde pile de droite une capacité de stockage de<B>256</B> Mo. Par conséquent, on détermine que le cinquième et le sixième modules de mémoire n'ont pas de capacité de stockage. Etant donné que le bit<B>11</B> est<B>à 'Il"</B> et que le bit<B>5</B> est<B>à Il</B> 11, on détermine que le septième module de mémoire et que le huitième module de mémoire ont la même capacité de mémoire qui est de<B>128</B> Mo. Pour les unités seize<B>à</B> dix-neuf, le huitième module de mémoire a un dispositif de mémoire ayant une capacité de stockage de<B>256</B> Mo. Par conséquent, pour une valeur allant de '1000" (binaire)<B>à "11l',</B> (binaire) bits<B>(7 - 5)</B> de l'adresse de ligne, on accède au huitième module de mémoire.
La capacité de stockage d'un dispositif de memoire dans chaque module de mémoire est déterminée par une combinaison de bits de validité pour huit modules. Les bits de validité sont le bit 47, le bit 41, le 35), bit<B>29,</B> le bit<B>23,</B> le bit<B>17,</B> le bit<B>11,</B> et bit<B>5</B> parmi les bits (47<B>- 0)</B> lus<B>à</B> partir de la<B>il.</B> Etant donné qu'une opération<B>OU LOGIQUE</B> du bit du 41, du bit<B>35,</B> et du bit<B>29</B> est<B>à "0"</B> et 'une operation <B>OU LOGIQUE</B> du bit<B>23,</B> du bit<B>17,</B> du<B>il,</B> et du bit<B>5</B> est<B>à</B> 11111, on détermine que la carte n'a de capacité et que la carte #1 a une capacité de memoire de<B>256</B> Mo. Par conséquent, on détermine les modules de mémoire un<B>à</B> quatre n'ont pas de capacité de stockage. Etant donné qu'une opération<B>OU LOGIQUE</B> du <B>23</B> et du bit<B>17</B> est<B>à 110"</B> et qu'une opération<B>OU</B> <B>LOGIQUE</B> du bit<B>11</B> et du bit<B>5</B> est<B>à "1",</B> on détermine la seconde pile de gauche n'a pas de capacité de stockage et que la seconde pile de droite a une capacité de stockage de<B>256</B> Mo. Par conséquent, on determine que le cinquième et le sixième modules de memoire n'ont pas de capacité de stockage. Etant donné le bit<B>11</B> est<B>à "C"</B> et que le bit<B>5</B> est<B>à</B> on determine que le septième module de mémoire n'a de capacité de stockage et que le huitième module de mémoire a une capacité de stockage de<B>Mo.</B>
Le numéro de la carte<B>à</B> laquelle doit accéder, le numéro de la pile<B>à</B> laquelle on doit accéder, et le numéro du module de mémoire auquel on doit accéder sont déterminés sur la base d'un élément de données constituées de 48 bits lues<B>à</B> partir de BCT <B>11</B> et de l'adresse de ligne.
Ce qui suit est une explication du procédé de détermination des numéros précédents. Dans l'explication qui va suivre, on va prendre comme exemple un cas dans lequel la neuvième entrée de la BCT <B>11</B> est lue et dans lequel la valeur des bits<B>(7 - 5)</B> de l'adresse de ligne est<B>'1101".</B> Parce que l'accès<B>à</B> la mémoire est exécuté dans une unité de<B>32</B> octets, les bits (4<B>- 0)</B> ne sont pas utilisés.
Premièrement, la partie de détermination de numéros 12 détermine si chaque carte a ou non au moins un module de mémoire auquel une zone de mémoire est attribuée<B>(à</B> l'étape Sl). <B>A</B> l'étape Sl, si une opération<B>OU LOGIQUE</B> du bit 47, du bit 41, du bit<B>35,</B> et du bit<B>29</B> est<B>à</B> 111", alors on détermine qu'il<B>y</B> a au moins un module de mémoire auquel une zone de mémoire est attribuée dans la première carte. De manière similaire, si une opération<B>OU LOGIQUE</B> du bit<B>23,</B> du bit<B>17,</B> du bit<B>11,</B> et du bit<B>5</B> est<B>à</B> 111", alors on détermine qu'il<B>y</B> a au moins un module de mémoire auquel une zone de mémoire est attribuée dans la seconde carte. Dans ce cas, parce que les deux opérations<B>OU</B> LOGIQUE sont<B>à "l",</B> on détermine que première carte et la seconde carte ont au moins module de mémoire auquel une zone de mémoire est attribuée. Ici, la carte<B>à</B> laquelle on doit accéder est déterminée sur la base du bit<B>7</B> de l'adresse de ligne Dans cas, parce que le bit<B>7</B> est<B>à 1'l",</B> on devrait accéder<B>à</B> la seconde carte. Si une seule carte comporte au moins un module de mémoire auquel une zone mémoire est attribuée et que l'autre carte ne comporte pas module de mémoire auquel une zone de mémoire est attribuée, alors on devrait accéder<B>à</B> la première carte sans tenir compte du bit<B>7 (à</B> l'étape<B>S2).</B>
Ensuite, la partie de détermination de numéros 12 détermine si chaque pile dans la carte déterminee possede ou non au moins un module de mémoire auquel zone mémoire est attribuée<B>(à</B> l'étape<B>S3). A</B> l'étape <B><I>S3,</I></B> une opération<B>OU LOGIQUE</B> du bit<B>23</B> et du bit est<B>"l",</B> alors on détermine qu'il<B>y</B> a au moins module de mémoire auquel une zone de mémoire est attribuée dans la seconde pile de gauche. De manière similaire, si une opération<B>OU LOGIQUE</B> du bit<B>11</B> et du bit est<B>à "l",</B> alors on détermine qu'il<B>y</B> a au moins un module de mémoire auquel une zone de mémoire attribuée dans la seconde pile de droite. Dans ce parce que les deux opérations<B>OU LOGIQUE</B> sont<B>à "1",</B> on détermine que la seconde pile de gauche et la seconde pile de droite ont au moins un module de mémoire auquel une zone de mémoire est attribuée. Ici, la pile<B>à</B> laquelle on doit accéder est déterminée sur la base du bit<B>6</B> de l'adresse de ligne si le bit<B>5</B> a été utilisé pour déterminer la carte<B>à</B> laquelle on doit accéder. D'un autre côte, la pile<B>à</B> laquelle on doit accéder est déterminée la base du bit<B>7</B> de l'adresse de ligne si le bit<B>7</B> n'a pas été utilisé pour déterminer la carte<B>à</B> laquelle on doit accéder. Dans ce cas, le bit<B>7</B> a été utilisé et le bit <B>6</B> est<B>à "0",</B> on devrait accéder<B>à</B> la seconde pile de gauche. Si une seule pile possède au moins un module de mémoire auquel une zone de mémoire est attribuée et que l'autre pile n'a pas de module de mémoire auquel une zone de mémoire est attribuée, alors on accède<B>à</B> la première pile sans tenir compte du bit concerné, c'est- à-dire le bit<B>6</B> ou le bit<B>5 (à</B> l'étape S4).
Ensuite, la partie de détermination numéros 12 détermine si une zone de mémoire a été ou attribuée <B>à</B> chaque module de mémoire dans la pile déterminée<B>(à</B> l'étape S5). <B>A</B> l'étape<B>S5,</B> si le bit est<B>à</B> "111, alors on détermine qu'une zone de mémoire attribuée au cinquième module de mémoire. De manière similaire, si le bit<B>17</B> est<B>à "P',</B> alors on détermine qu'une zone de mémoire est attribuée au sixième module de mémoire. Dans ce cas, parce que le bit<B>23</B> est<B>à "0"</B> et que le bit<B>17</B> est<B>à "P',</B> on détermine qu'une zone de mémoire est attribuée seulement au sixième module de mémoire. Dans ce cas, on détermine que le module de mémoire auquel on doit accéder est le sixième module de mémoire sans utiliser le bit<B>5</B> de l'adresse de ligne. En conséquence, les bits<B>(16 -</B> 12) de neuvième entrée sont lus<B>à</B> partir de la BCT <B>1</B> en tant ,adresse de source<B>à</B> transformer en adresse de rangée. Ensuite, on va expliquer le processus la partie détermination d'adresses 14 en utilisant 'ABPT <B>13.</B>
Le deuxième dispositif de sélection<B>18</B> valide les resultats déterminés de la partie de détermination de numéros 12<B>(à</B> savoir, le numéro de carte, numéro de pile, et le numéro de module de mémoire) corr.espondant <B>-</B> un signal de sélection de lecture/écriture <B>(OU</B> informations stockées dans le second registre de signal sélection de lecture/écriture 24) representant que 'on est en train d'accéder<B>à</B> la mémoire principale, et envoie les résultats déterminés au second décodeur<B>19.</B>
<B>il</B> le signal de sélection de lecture/ecriture est reçu en provenance du processeur<B>1.</B>
Le second décodeur<B>19</B> décode le numéro de carte, numéro de pile, et le numéro de module de mémoire determinés par la partie de détermination de numéros La partie de détermination d'adresses recherche dans l'ABPT <B>13</B> une clé des résultats décodés.
La partie de détermination d'adresses 14 détermine adresse de mise en oeuvre <B>(à</B> la fois une adresse de rangée et une adresse de colonne auxquelles on doit accéder) sur la base des informations représentant<B>à</B> la fois le nombre de bits de l'adresse de rangée et le nombre de bits de l'adresse de colonne, dans lesquelles les informations sont retrouvées<B>à</B> partir de 11ABPT <B>13,</B> <B>1 1</B> adresse de ligne qui a été reçue en provenance du processeur<B>1</B> et stockée dans le registre adresses<B>10,</B> et l'adresse de source qui a été lue<B>à</B> partir de la BCT <B>11</B> par partie de détermination de numéros 12.
Ensuite, en se référant<B>à</B> l'organigramme représenté<B>à</B> la figure<B>9,</B> on va décrire un processus de détermination d'adresse de ce type.
Dans l'explication qui va suivre, on suppose que les donnees <B>"1000"</B> (binaire) ont été écrites -dans une entrée l'ABPT <B>13</B> correspondant au sixième module de mémoire voir la figure 4).
La partie de détermination d'adresses 14 détermine quels bits de l'adresse de ligne ont été utilisés pour désigner le numéro de carte, le numéro de pile et le numéro de module de mémoire<B>(à</B> l'étape S10).
Selon le mode de réalisation de la présente invention, étant donné que le nombre de cartes égal <B>à</B> deux, lequel peut être représenté par un seul bit<B>;</B> le nombre de piles dans une carte est deux, lequel peut être représenté par un seul bit<B>;</B> et le nombre de modules de mémoire dans une seule pile est deux, lequel peut être représenté par un seul bit, afin de designer un numéro de carte, un numéro de pile, et un numéro de module de mémoire, trois bits prédéterminés de l'adresse de ligne sont utilisés (comme on l'a précédemment décrit, on suppose que les bits<B>(7 - 5)</B> sont utilisés dans cet exemple). Après cela, la partie de détermination d'adresses 14 détermine le nombre de bits de l'adresse de colonne sur la base d'informations dans l'entrée de l'ABPT <B>13</B> qui correspondent au module de mémoire ayant le numéro de module de mémoire déterminé par la partie de détermination de numéros 12<B>(à</B> l'étape<B>S11),</B> et détermine l'adresse de colonne<B>à</B> envoyer<B>à</B> la mémoire principale<B>3</B> avec le nombre de bits déterminés<B>(à</B> l'étape<B>S12).</B>
Dans cet exemple, étant donné que les bits<B>(1 - 0)</B> de l'entrée concernée de l'ABPT <B>13 (</B> 'entrée correspondant au sixième module de mémoire) sont 11001, (binaire)<B>,</B> le nombre de bits de l'adresse de colonne est égal<B>à 8.</B> Ainsi, les bits<B>(15 - 8)</B> de l'adresse de ligne (les bits<B>(15 - 8)</B> sont les huit bits juste précédés par les bits<B>(7 - 5)</B> en tant que resultats déterminés<B>à</B> l'étape S10) sont combinés bits supérieurs de<B>"00V</B> (binaire), ayant pour conséquence une adresse de colonne qui est réellement envoyée<B>à</B> la mémoire principale<B>3.</B> La notation de<B>"000 - A(15 -</B> 8)11 représentée<B>à</B> la figure<B>9</B> représente l'adresse de colonne. La raison pour laquelle les trois bits d'ordre élevé sont ajoutés est que l'adresse de mise en oeuvre qui est envoyée<B>à</B> la mémoire principale<B>3</B> contient une adresse de colonne allant jusqu'à<B>11</B> bits.
Après cela, la partie de détermination d'adresses 14 détermine une capacité de stockage de rangée, laquelle est définie en tant que capacité de stockage de la zone de stockage attribuée au module de mémoire par rapport<B>à</B> la zone de mémoire<B>à</B> laquelle on doit accéder par une adresse de rangée, sur la base du numéro de carte, du numéro de pile, et du numero de module de mémoire qui sont détermines par la partie de détermination de numéros 12. La partie de détermination d'adresses 14 détermine également quels bits de l'adresse de source (données de cinq bits qui vont être transformées en adresse de rangée du module de memoire (dans cet exemple, le sixième module de mémoire devraient être utilisés sur la base de la capacité de stockage de rangée afin de créer une adresse de rangée <B>(à</B> l'étape<B>S13).</B>
En d'autres termes, si la capacité de stockage de rangée est de<B>32</B> Mo, les deux bits d'ordre inférieur de l'adresse de source sont utilisés pour créer une adresse de rangée. Si la capacité de stockage de rangée est de 64 Mo, les trois bits d'ordre inférieur de l'adresse de source sont utilisés pour créer une adresse de rangée. Si la capacité de stockage de rangée est de<B>128</B> Mo, les quatre bits d'ordre inférieur de l'adresse de source sont utilisés pour créer une adresse de rangée. Si la capacité de stockage de rangée est de<B>256</B> Mo, tous les bits de l'adresse de source sont utilisés pour créer une adresse de rangée réelle.
Dans cet exemple, étant donné que la capacité de stockage de rangée est de<B>128</B> Mo, les quatre bits d'ordre inférieur de l'adresse de source sont utilisés.
Après cela, la partie de détermination d'adresses 14 détermine le nombre de bits de l'adresse de rangée sur la base de la valeur des bits<B>(3 -</B> 2) de<B>1</B> entrée concernée de l'ABPT <B>13 (à</B> l'étape S14), et détermine une adresse de rangée<B>à</B> envoyer<B>à</B> la mémoire principale <B>3</B> sur la base des résultats déterminés aux étapes<B>S13</B> et S14<B>'</B> l'étape<B>S15).</B>
Dans cet exemple, étant donné que les bits<B>3 -</B> 2) de l'entrée concernée de 11ABPT <B>13</B> sont<B>'11V</B> (binaire), le nombre de bits de l'adresse de rangée est égal<B>à</B> 12. Ainsi, bits<B>(23 - 16)</B> de l'adresse de ligne (les bits<B>16)</B> sont les huit bits juste précédés par les bits<B>(15 - 8)</B> utilisés pour déterminer l'adresse de colonne<B>à</B> l'étape S12) sont combinés<B>à</B> quatre bits supérieurs qui sont les mêmes que les quatre bits inférieurs de l'adresse de source. De plus, les bits combines sont combinés au bit le plus élevé de<B>"01',</B> ayant pour conséquence une adresse de rangée qui est réellement envoyée<B>à</B> la mémoire principale<B>3.</B> La notation de "O-BCT(3 <B>- 0) -</B> A(23 <B>- 16) "</B> représentée<B>à</B> la<B>f</B> igure <B>9</B> représente l'adresse de rangée. La raison pour laquelle les cinq bits d'ordre élevé sont ajoutés est l'adresse de mise en oeuvre qui est envoyée<B>à</B> la mémoire principale<B>3</B> contient une adresse de colonne allant jusqu'à<B>13</B> bits.
Enfin, l'adresse de mise en oeuvre comprenant<B>à</B> la fois l'adresse de colonne obtenue<B>à</B> l'étape<B>S12</B> et l'adresse de rangée obtenue<B>à</B> l'étape<B>S15</B> est stockée dans un tampon du groupe de tampons d'adresses de mise en oeuvre <B>15 (à</B> l'étape<B>S16).</B> Ici, l'adresse de mise en oeuvre comprend également un numéro de carte, un numéro de pile, et un numéro module de mémoire envoyés en provenance de la partie détermination de numéros 12.
Le troisième dispositif de sélection<B>28</B> sélectionne l'une des adresses de mise en oeuvre stockées dans le groupe tampons d'adresses de mise en oeuvre <B>15</B> sur la base d'un signal d'arbitrage de sortie en provenance de partie d'arbitrage de sortie de mémoire principale 2 et amène l'adresse de mise en oeuvre sélectionnée<B>à</B> mémoire principale<B>3.</B>
La partie d'arbitrage de sortie de mémoire principale<B>29</B> arbitre une sortie provenant du troisième dispositif de sélection<B>8</B> en utilisant, par exemple, un procédé<B>à</B> séquence periodique. Etant donné que le procédé<B>à</B> séquence périodique est utilisé, on peut empêcher l'accès intensif au même banc. (2)<U>Modes de réalisation modifiés</U> Le système de commande d'accès<B>à</B> la mémoire selon le mode de réalisation base peut être modifié selon les modifications (a) (b), de la manière suivante<B>:</B> (a) Dans le mode de réalisation de base, la BCT <B>11</B> et 11ABPT <B>13</B> sont initialisées sous la commande du processeur<B>1.</B> Cependant, après la délivrance d'une commande par le processeur<B>1</B> pour initialiser la BCT <B>11</B> et l'ABPT <B>13</B> au dispositif de commande de système 2, le dispositif de commande de système 2 peut fixer initialement la BCT <B>11</B> l'ABPT <B>13.</B> <B>(b)</B> L'arbitrage de sortie par la partie d'arbitrage de sortie de mémoire principale<B>29</B> peut être effectué en utilisant un procédé autre le procédé<B>à</B> séquence périodique.
Comme on l'a précédemment décrit, selon la présente invention, les effets suivants sont obtenus. Premièrement, étant donné que le processeur accède <B>à</B> chaque unité de la mémoire principale, la mémoire principale peut être étendue unité par l'unité, même s'il<B>y</B> a une pluralité de modules de mémoire ayant des capacités de stockage différentes, ils peuvent être imbriqués de manière égale.
C'est parce que la BCT est initialisée en considérant la hiérarchie imbriquée et lorsque l'on accède<B>à</B> la mémoire principale, la mémoire prJ <B>I</B> -ncipale est imbriquée par le processus de la partie de détermination de numéros en utilisant la BCT.
Deuxièmement, même si une pluralité de modules de mémoire ayant des capacités de stockage différentes ont été mis en oeuvre, une adresse mise en oeuvre ne varie pas<B>à</B> la frontière entre une adresse où une zone de stockage existe et une adresse où une zone de stockage n'existe pas. De plus, on évite qu'une adresse de mise en oeuvre n'indique une zone de mémoire utilisée, et également on évite qu'une adresse de mise en oeuvre n'indique une pluralité de zones de mémoire utilisées.
C'est parce que chaque entrée de la BCT contient non seulement des adresses de source de modules de mémoire mais également des bits de validité, chacun représentant si un dispositif de mémoire est ou non mis en oeuvre dans chaque module de mémoire, et lorsque l'on indique qu'un certain module de mémoire ne comporte pas de dispositif de mémoire, un module de mémoire de ce type est exclu<B>d</B> un processus d'imbrication.
Troisièmement, même si le nombre de modules de mémoire ayant chacun un dispositif de mémoire n'est pas une puissance de 2 (par exemple, le nombre de modules de mémoire de ce type est<B>3, 5, 6,</B> ou la mémoire principale peut être imbriquée sans tenir compte du nombre de modules de mémoire parce que la BCT est utilisée pour l'imbrication.
Bien que la présente invention ait eté représentée et décrite en se référant au meilleur mode de réalisation de celle-ci, il sera compris aisément par les personnes expérimentées dans cette technique que ce qui précède et différents autres changements, omissions et ajouts dans la forme et les détails de cette dernière peuvent être apportés en sein sans s'écarter de l'esprit ni de l'étendue de la présente invention.

Claims (1)

  1. <U>REVENDICATIONS</U> <B>1 .</B> Système de commande d'accès<B>à</B> mémoire (2) pour imbriquer de manière hiérarchique mémoire (3) en une unité de modules de mémoire et accéder<B>à</B> la mémoire<B>(3),</B> caractérisé en ce qu'il comprend<B>:</B> une table de commandes de banc (11)- ayant des entrées correspondant<B>à</B> des unités, chacune des entrées contenant des données pour une pluralité des modules de mémoire, lesdites données pour chacun desdits modules de mémoire ayant un bit de présence et une adresse de source<B>à</B> transformer en une adresse de rangée pour le module de mémoire concerné, ledit bit de présence représentant si un dispositif de mémoire est ou non monté sur le module de mémoire concerné<B>;</B> une table de positions de bit d'adresse (13) contenant des informations qui représentent<B>à</B> la fois le nombre de bits de l'adresse de rangée et le nombre de bits de l'adresse de colonne d'un dispositif de mémoire, s'il<B>y</B> a lieu, monté sur chacun desdits modules de mémoire<B>;</B> un décodeur<B>(17)</B> pour obtenir le numero de l'unité <B>à</B> laquelle on doit accéder sur la base<B>dl</B> adresse de ligne qui est amenée en provenance d'une source d'accès<B>;</B> une partie de détermination de numeros (12) pour déterminer le module de mémoire auquel doit accéder sur la base de ladite adresse de ligne du bit de présence dans les données contenues dans entrée de ladite table de commandes de banc<B>(11)</B> ayant numéro obtenu par ledit décodeur<B>(17) ;</B> et une partie de détermination d'adresses pour rechercher dans ladite table de positions bit d'adresse<B>(13)</B> les informations qui représentent<B>à</B> la fois nombre de bits de l'adresse de rangee le nombre bits de l'adresse de colonne du dispositif de mémoire monté sur le module de mémoire détermine par ladite partie de détermination de numéros ( <B>r</B> en plus pour déterminer<B>à</B> la fois l'adresse de -rangee et l'adresse de colonne du module de mémoire auquel on doit acceder sur la base de ladite adresse ligne, d'une adresse de source<B>à</B> transformer en adresse de rangée module de mémoire auquel on doit acceder, ladite adresse de source étant incluse dans données contenues dans l'entrée ayant le numéro obtenu par ledit decodeur <B>(17),</B> et les informations recherchées représentant<B>à</B> la fois le nombre de bits de 'adresse de rangée et le nombre de bits de l'adresse de colonne. 2. Système de commande d'accès<B>à</B> la mémoire (2) selon revendication<B>1,</B> caractérisé en ce qu'il comprend, de plus<B>:</B> groupe de tampons<B>(15)</B> pour stocker une pluralité d'adresses de mise en oeuvre, chacune d'elles étant constituée par le numéro du module de mémoire déterminé par ladite partie de détermination de numéros (12) par l'adresse de rangée et l'adresse de colonne déterminées par ladite partie de détermination d'adresses (14) <B>;</B> et un dispositif d'arbitrage<B>(29)</B> pour arbitrer la pluralité d'adresses de mise en oeuvre stockées dans ledit groupe de tampons<B>(15).</B> <B>3.</B> Système de commande d'accès<B>à</B> la memoire (2) selon la revendication<B>1,</B> caractérisé en qu'une capacité de stockage égale est attribuée<B>à</B> chacune des unités. 4. Système de commande d'accès<B>à</B> la memoire (2) selon la revendication<B>1,</B> caractérisé en que la capacité de stockage de chacune des unités est la même que la capacité de stockage d'un module de mémoire ayant la capacité de stockage la plus petite. <B>5.</B> Système de commande d'accès<B>à</B> la memoire (2) selon la revendication<B>1,</B> caractérisé en que la hiérarchie des modules de mémoire a une structure arborescente<B>à</B> deux branches. <B>6.</B> Système de commande d'accès<B>à</B> la memoire (2) selon la revendication<B>1,</B> caractérisé en qu'une capacité de stockage égale est attribuée<B>à</B> des rassemblements dans le même niveau hiérarchique pour chacune desdites unités.
FR0012793A 1999-10-07 2000-10-06 Systeme d'acces a une memoire comprenant des modules de memoire imbriques ayant des capacites differentes Expired - Fee Related FR2799555B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28634399A JP3498021B2 (ja) 1999-10-07 1999-10-07 メモリ制御方式

Publications (2)

Publication Number Publication Date
FR2799555A1 true FR2799555A1 (fr) 2001-04-13
FR2799555B1 FR2799555B1 (fr) 2005-12-09

Family

ID=17703167

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0012793A Expired - Fee Related FR2799555B1 (fr) 1999-10-07 2000-10-06 Systeme d'acces a une memoire comprenant des modules de memoire imbriques ayant des capacites differentes

Country Status (3)

Country Link
US (1) US6742077B1 (fr)
JP (1) JP3498021B2 (fr)
FR (1) FR2799555B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086592B1 (ko) * 2003-04-22 2011-11-23 에이저 시스템즈 인크 패킷 저장 방법, 버퍼 관리 방법, 손실 버퍼 검출 방법 및공유형 메모리
JP2006018489A (ja) * 2004-06-30 2006-01-19 Hitachi Ltd 複数ノード間のメモリインターリーブシステム
KR100585158B1 (ko) * 2004-09-13 2006-05-30 삼성전자주식회사 Ecc 메모리 모듈
US8713242B2 (en) * 2010-12-30 2014-04-29 Solid State System Co., Ltd. Control method and allocation structure for flash memory device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684973A (en) * 1993-03-11 1997-11-04 Data General Corporation Expandable memory system and method for interleaving addresses among memory banks of different speeds and sizes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5729787A (en) 1980-07-30 1982-02-17 Riyuutarou Yoritomi Weight impact crusher
JPS5953588A (ja) 1982-09-22 1984-03-28 Kawasaki Heavy Ind Ltd 圧縮成形炭の連続製造方法およびその装置
US4908789A (en) 1987-04-01 1990-03-13 International Business Machines Corporation Method and system for automatically assigning memory modules of different predetermined capacities to contiguous segments of a linear address range
US5446860A (en) * 1993-01-11 1995-08-29 Hewlett-Packard Company Apparatus for determining a computer memory configuration of memory modules using presence detect bits shifted serially into a configuration register
JPH06309223A (ja) 1993-04-27 1994-11-04 Toshiba Corp メモリインタリーブ機能を持つ記憶装置
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
JP2553023B2 (ja) 1994-07-15 1996-11-13 彦衛 岩間 釣り糸における接続用の輪を形成する方法と釣り針と釣り糸の接続方法
EP0782077B1 (fr) 1995-12-29 2003-08-20 Siemens Aktiengesellschaft Procédé et arrangement pour convertir des adresses de mémoire en signaux de commande de mémoire
US5860134A (en) * 1996-03-28 1999-01-12 International Business Machines Corporation Memory system with memory presence and type detection using multiplexed memory line function
JPH10301842A (ja) 1997-04-25 1998-11-13 Nec Corp メモリ制御装置
US6182253B1 (en) * 1997-07-16 2001-01-30 Tanisys Technology, Inc. Method and system for automatic synchronous memory identification
US6092146A (en) * 1997-07-31 2000-07-18 Ibm Dynamically configurable memory adapter using electronic presence detects
US6446184B2 (en) * 1998-04-28 2002-09-03 International Business Machines Corporation Address re-mapping for memory module using presence detect data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684973A (en) * 1993-03-11 1997-11-04 Data General Corporation Expandable memory system and method for interleaving addresses among memory banks of different speeds and sizes

Also Published As

Publication number Publication date
FR2799555B1 (fr) 2005-12-09
JP2001109659A (ja) 2001-04-20
JP3498021B2 (ja) 2004-02-16
US6742077B1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US7526709B2 (en) Error detection and correction in a CAM
US6473846B1 (en) Content addressable memory (CAM) engine
US6944710B2 (en) Multiple category CAM
US9406381B2 (en) TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules
US6906936B1 (en) Data preclassifier method and apparatus for content addressable memory (CAM) device
JP3196720B2 (ja) 連想メモリ制御回路及び制御方法
US7185141B1 (en) Apparatus and method for associating information values with portions of a content addressable memory (CAM) device
US8891272B2 (en) Content addressable memory system
US6748484B1 (en) Match resolution circuit for an associative memory
US6275406B1 (en) Content address memory circuit with redundant array and method for implementing the same
US7565482B1 (en) Method and device for scalable multiple match extraction from search data
FR2628234A1 (fr) Memoire extensible a autoreconfiguration
FR2624994A1 (fr) Systeme de commande de registre intermediaire de traduction
US6892273B1 (en) Method and apparatus for storing mask values in a content addressable memory (CAM) device
FR2582829A1 (fr) Systeme de gestion de memoire d&#39;ordinateur
US6836419B2 (en) Split word line ternary CAM architecture
US6662287B1 (en) Fast free memory address controller
FR3042050B1 (fr) Dispositif informatique muni de traitement en memoire et de ports d&#39;acces etroits
US20040123024A1 (en) Searching small entities in a wide cam
US7386660B2 (en) CAM with automatic writing to the next free address
FR2799555A1 (fr) Systeme d&#39;acces a une memoire comprenant des modules de memoire imbriques ayant des capacites differentes
FR2628237A1 (fr) Fichier de registres de vecteurs, systeme informatique pour le traitement de vecteurs utilisant un tel fichier et procede de gestion des acces a ce fichier
US7117300B1 (en) Method and apparatus for restricted search operation in content addressable memory (CAM) devices
JP4343377B2 (ja) 連想メモリ

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070629