FR2583540A1 - Gestion de memoire pour systeme a microprocesseur. - Google Patents
Gestion de memoire pour systeme a microprocesseur. Download PDFInfo
- Publication number
- FR2583540A1 FR2583540A1 FR8512931A FR8512931A FR2583540A1 FR 2583540 A1 FR2583540 A1 FR 2583540A1 FR 8512931 A FR8512931 A FR 8512931A FR 8512931 A FR8512931 A FR 8512931A FR 2583540 A1 FR2583540 A1 FR 2583540A1
- Authority
- FR
- France
- Prior art keywords
- memory
- page
- data
- pages
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
L'INVENTION CONCERNE UNE ARCHITECTURE DE MICROPROCESSEUR POUR UN DISPOSITIF DE TRADUCTION D'ADRESSE QUI FAIT INTERVENIR DEUX NIVEAUX D'UNE ANTE-MEMOIRE22A. DES REGISTRES DE SEGMENTATION ET UNE TABLE DE SEGMENTATION ASSOCIEE SE TROUVANT DANS LA MEMOIRE PRINCIPALE13 ETABLISSENT UN PREMIER NIVEAU DE GESTION DE MEMOIRE QUI FAIT INTERVENIR DES BITS D'ATTRIBUTS4 UTILISES POUR DES FONCTIONS DE PROTECTION, DE PRIORITE, ETC.; UNE SECONDE ANTE-MEMOIRE DE NIVEAUX DE PAGES, QUI COMPREND UN REPERTOIRE DE PAGES ET UNE TABLE DE PAGES EN MEMOIRE PRINCIPALE13 ETABLIT UN SECOND NIVEAU DE GESTION, AVEC UNE PROTECTION INDEPENDANTE A UN NIVEAU DE PAGE. APPLICATION AU DOMAINE INFORMATIQUE.
Description
La présente invention concerne le domaine des dispo-
sitifs de traduction d'adresses pour gestion de mémoire, en
particulier dans un système à microprocesseur.
Il existe de nombreux dispositifs bien connus pour une gestion de mémoire. Dans certains systèmes, une grande
adresse (adresse virtuelle) est traduite en une adresse phy-
sique plus petite. Dans d'autres, une petite adresse est utilisée pour accéder à un grand espace de mémoire, par
exemple en utilisant une commutation par blocs. La présen-
te invention se rapport à la première catégorie, c'est-à-
dire o une grande adresse virtuelle est utilisée pour ac-
céder à une mémoire physique limitée.
Dans des systèmes de gestion de mémoire, il est éga-
lementconnu de prévoir différents mécanismes de protection.
Par exemple un système peut empêcher un utilisateur d'écri-
re dans un système opérationnel ou même il peut empêcher d'effectuer la lecture du système opérationnel à des portes
extérieures. Comme on le voit, la présente invention concer-
ne un mécanisme de protection faisant partie d'un système de commande plus important, qui affecte des "attributs" à des
données à deux niveaux distincts.
L'art antérieur le plus rapproché et connu de la de-
manderesse est celui décrit dans le brevet US 4 442 484. Ce
brevet décrit le mécanisme de gestion et de protection de mé-
moirequi est incorporé à un microprocesseur disponible dans le commerce, à savoir Intel 286. Ce microprocesseur comporte des registres de descripteurs de segmentation contenant des adresses de base de segments, une information limite et des attributs (par exemple des bits de protection). La table de descripteurs de segments et les registres de descripteurs
de segments contiennent des bits définissant différents mé-
canismes de commande, comme un niveau privilégié, des types de protection, etc. Ces mécanismes de commande sont décrits
en détail dans le brevet US 4 442 484.
Un problème posé par le microprocesseur Intel 286 est que le décalage de segments est limité à 64 k.octets. Il nécessite également des emplacements consécutifs dans une mémoire physique pour un segment qui n'est pas toujours aisé à maintenir. Comme on le voit, un avantage du système inventé consiste en ce que le décalage de segments est aussi grand que l'espace
d'adressage physique. Ainsi le système inventé possède éga-
lement une compatibilité avec le mécanisme de segmentation connu qui est appliqué dans Intel 286. D'autres avantages et différences entre le système de l'art antérieur décrit
dans le brevet mentionné ci-dessus et sa réalisation commer-
ciale (microprocesseur de Intel 286) seront mis en évidence
dans la description détaillée de la présente invention.
On va décrire un perfectionnement apporté à un sys-
tème à microprocesseur, qui comprend un microprocesseur et
une mémoire de données. Le microprocesseur comporte un mé-
canisme de segmentation pour traduire une adresse de mémoi-
re virtuelle en une seconde adresse de mémoire (adresse li-
néaire) et pour tester et commander des attributs de segments de mémoire de données. Le perfectionnement apporté par la présente invention comprend une anté-mémoire de pages prévue
dans lemicroprocesseur pour traduire une première zone pro-
venant de l'adresse linéaire pour une condition de concor-
dance ou d'adaptation. La mémoire de données mémorise éga-
lement des données de localisation de pages, spécifiquement un répertoire de pages et une table de pages.La première zone assure l'accès au répertoire de pages et à la table de
pages si aucune concordance n'est établie dans l'anté-mémoi-
re de pages. Le signal de sortie de l'anté-mémoire de pages ou de la table de pages établit une adresse de base physique pour une page dans la mémoire. Une autre zone de l'adresse
linéaire définit un décalage à l'intérieur de la page.
A la fois l'anté-mémoire de pages et des données de localisation de pages se trouvant dans la mémoire de données
mémorisent des signaux représentant des attributs des don-
nées se trouvant dans une page particulière. Ces attributs
comprennent une protection de lecture et d'écriture, une in-
dication précisant si la page a été précédemment écrite, et une autre information. Avantageusement, la protection
de niveau de page établit un second degré de contrôle de don-
nées dans la mémoire, lequelest séparé et distinct des attri-
buts de segments.
D'autres caractéristiques et avantages de l'inven-
tion seront mis en évidence dans la description qui va sui-
vre, donnée à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels:
La figure 1 est un schéma synoptique montrant l'archi-
tecture d'ensemble du microprocesseur auquel la présente invention est appliquée;
la figure 2 est un schéma synoptique montrant le mé-
canisme de segmentation incorporé au microprocesseur de la figure 1; la figure 3 est un schéma synoptique illustrant la
localisation d'une zone de page pour une concordance ou adap-
tation dans l'anté-mémoire de pages; la figure 4 est un schéma synoptique illustrant la
localisation d'une zone de page en l'absence de concordan-
ce ou d'adaptation dans l'anté-mémoire de pages de la figure 3; pour cette condition, le répertoire de pages et la table
de pages de la mémoire principale sont utilisés et, en con-
séquence, sont représentés sur la figure 4; la figure 5 est un diagramme utilisé pour illustrér
les attributs mémorisés dans le répertoire de pages, la ta-
ble de pages et l'anté-mémoire de pages;
la figure 6 est un schéma synoptique montrant l'or-
ganisation de la mémoire adressable par le contenu et des données placées dans l'anté-mémoire de pages; la figure 7 est un schéma électrique d'une partie de la mémoire adressable par le contenu de la figure 6;
la figure 8 est un schéma électrique des circuits lo-
giques associés au détecteur de la figure 6.
Un système à microprocesseur, et en particulier un mécanisme de gestion de mémoire pour ce système, vont être
décrits dans la suite. On donnera de nombreux détails spéci-
fiques, tels que le nombre spécifique de bits, etc..., de -
façon a permettre une bonne compréhension de la présente in-
vention. Cependant il est évident pour un spécialiste en la
matière que la présente invention peut être mise en prati-
que sans ces détails spécifiques. Dans d'autres cas, des
structures bien connues ne sont pas représentées et décri-
tes en détail afin de ne pas obscurcir inutilement la pré-
sente invention. Dans le mode de réalisation couramment préféré, le système à microprocesseur comprend le microprocesseur 10 de la figure 1. Ce microprocesseur est réalisé sur un seul
substrat en silicium en utilisant un traitement métal-oxyde-
semi-conducteur complémentaire (CMOS). On peut utiliser l'un quelconque des procédés CMOS bien connus mais cependant il
va de soi que la présente invention peut être mise en oeu-
vre avec d'autres technologies, par exemple à canal-n, bi-
polaire, SOS, etc...
Le mécanisme de gestion de mémoire nécessite dans certaines conditions un accès à des tables mémorisées dans la mémoire principale. Une mémoire à accès sélectif (RAM)
13, qui fonctionne comme la mémoire principale pour le sys-
tème est représentée sur la figure 1. On peut utiliser une mémoire RAM ordinaire, par exemple une qui fait intervenir
des mémoires dynamiques.
Comme indiqué sur la figure 1, le microprocesseur
a une adresse physique de 32 bits et le processeur pro-
prement dit est un processeur de 32 bits. D'autres compo-
sants d'un système à microprocesseur couramment utilisés,
tels que des éléments de commande, des processeurs mathé-
matiques, etc., ne sont pas représentés sur la figure 1.
Le système de gestion de mémoire conforme à l'in-
vention utilise à la fois une segmentation et une pagina-
tion. Des segments sont définis par un ensemble de tables de descripteurs de segments, qui sont séparées des tables
de pages utilisées pour décrire la traductiondes pages.
Les deux mécanismes sont complètement séparés et indépen-
dants. Une adresse virtuelle est traduite en une adresse
physique dans deux étapes distinctes, en utilisant deux mé-
canismes de localisation distincts. Une technique de segmen-
tation est utilisée pour la première étape de traduction et 3540 une technique de pagination est utilisée pour la seconde étape de traduction. La traduction de pagination peut être arrêtée de façon à produire une traduction en une étape avec seulement une segmentation, ce qui est compatible avec le microprocesseur Intel 286. Une segmentation (la première traduction) traduit une adresse virtuelle de 48 bits en une adresse linéaire (intermédiaire) de 32 bits. L'adresse virtuelle de 48 bits est composée d'un sélecteur de segment de 16 bits et d'un
décalage de 32 bits à l'intérieur de ce segment. Le sélec-
teur de segment de 16 bits identifie le segment et est uti-
lisé pour accéder à une entree dans la table de descripteurs de segments. Cette entrée de descripteur de segment contient une adresse de base du segment, la taille (limite) du segment et différents attributs de ce segment. L'étape de traduction
ajoute la base de segment au décalage de 32 bits de l'adres-
se virtuelle de façon à obtenir une adresse linéaire de 32 bits. En même temps,le décalage de 32 bits se trouvant dans l'adresse virtuelle est comparé avec la limite de segment et le type de l'accès est contrôlé par rapport aux attributs du segment. Une interruption est produite et le processus d'adressage est arrêté, si le décalage de 32 bits est situé à l'extérieur de la limite de segment, ou bien si le type
d'accès n'est pas autorisé par les attributs du segment.
Une pagination (la seconde traduction) traduit une adresse linéaire de 32 bits en une adresse physique de 32 bits en utilisant une table de pagination à deux niveaux,
dans un processus décrit en détail dans la suite.
Les deux étapes sont totalement indépendantes. Ce-
la permet à un (grand) segment d'être composé de plusieurs
pages, ou bien à une page d'être composée de plusieurs (pe-
tits) segments.
Un segment peut commencer à n'importe quelle limite, et il peut avoir une dimension arbitraire; il n'est pas
astreint à commencer à une limite de page et il ne doit éga-
lementpas avoir une longueur qui soit un multiple exact de
pages. Cela permet à des segments de décrire des zones pro-
j/ 2533540
tégées séparément d'une mémoire, qui commencent à des adres-
ses arbitraires et qui ont des dimensions arbitraires.
Une segmentation peut être utilisée pour grouper un certain nombre de petits segments en une seule page, chaque segment possédant ses attributs particuliers de pro- tection et une dimension particulière. Dans ce cas une
segmentation définit des attributs de protection et une pa-
gination fournit un moyen commode de localisation dans une
mémoire physique d'un groupe d'unités correspondant qui doi-
vent être protégées séparément.
Une pagination peut être utilisée pour décomposer
de très grands segments en petites unités en vue d'une ges-
tion de mémoire physique. Cela fait intervenir un seul iden-
tificateur (le sélecteur de segment) et un seul descripteur
(le descripteur de segment) pour une unité séparément proté-
gée de la mémoire, au lieu de nécessiter l'utilisation d'une multitude de descripteurs de pages. A l'intérieur d'un
segment, une pagination établit un niveau additionnel de lo-
calisation qui permet de localiser de grands segments dans
des pages séparées ne devant pas être contiguës dans une mé-
moire physique. En fait, une pagination permet de localiser
un grand segment de telle sorte que seulement quelques pa-
ges se trouvent à un moment donné dans une mémoire physique, alors queles parties restantes du segment sont enregistrées
sur un disque. Une pagination facilite également la défini-
tion d'une sous-structure à l'intérieur d'un grand segment,
par exemple pour protéger contre une écriture certaines pa-
ges d'un grand segment alors que d'autres pages peuvent être écrites. Une segmentation établit un modèle de protection pré-complet qui opère sur les unités "naturelles" utilisées
par un programmeur, à savoir des éléments de dimensions ar-
bitraires d'une mémoire adressée linéairement. Une pagina-
tion fournit le moyen le plus commode pour gérer une mémoire
physique, à savoir à la fois la mémoire principale du systé-
me et une mémoire d'appoint à disques. La combinaison des deux procédés dans la présente invention permet d'obtenir
un modèle de protection de mémoire très souple et très effi-
cace. On va maintenant décrire l'architecture d'ensemble
du microprocesseur. Sur la figure 1, le microprocesseur com-
prend une unité 14 formant interface de bus. L'unité d'inter- face de bus comprend des mémoires tampons permettant une transmission des signaux d'adresses de 32 bits ainsi qu'une émission et
une réception des 32 bits de données.A l'intérieur du micro-
processeur, l'unité 14 communique par l'intermédiaire du bus
interne 19. L'unité d'interface comprend une unité de pré-
extraction pour extraire des instructions de la mémoire RAM 12 et une file d'attente de pré-extraction qui communique
avec l'unité d'instruction de l'unité de décodage d'instruc-
tions 16. Les instructions mises en file d'attente sont
traitées dans l'unité d'exécution 18 (unité logique arithmé-
tique) qui comprend un fichier à registre de 32 bits. Cette unité, ainsi que l'unité de décodage, communique avec le bus
interne 19.
La présente invention est centrée sur l'unité de traduction d'adresses 20. Cette unité remplit deux fonctions, dont l'une est associée aux registres de descripteurs de segments tandis que l'autre est associée à l'anté-mémoire de descripteurs de pages. Les registres de segments sont en majeure partie connus dans l'art antérieur; il seront cependant décrits de façon plus détaillée en référence à la figure 2. L'anté- mémoire de pages et son interaction avec le répertoire de pages et la table de pages mémorisées dans la mémoire principale 13 seront décrites en relation avec les figures 3 à 7 et forment la base de la présente
invention.
On va d'abord décrire le mécanisme de segmentation.
L'unité de segmentation de la figure 1 reçoit une adresse virtuelle provenant de l'unité d'exécution 18 et accède à l'information de segmentation de registre approprié. Le registre contient l'adresse de base de segment, qui est transmise, en même temps que le décalage provenant de
l'adresse virtuelle, à l'unité de pagination par l'inter-
O3540
médiaire de lignes 23.
La figure 2 montre l'accès à des tables de la mémoi-
re principale lorsque les registres de segmentation sont charges avec une information de localisation concernant un nouveau segment. La zone de segment indexe la table de des- cripteurs de segments dans la mémoire principale 13. Les
contenus de la table fournissent une adresse de base et addi-
tionnellement des attributs associés aux données se trouvant
dans le segment. L'adresse de base et le décalage sont com-
parés avec les limites de segment dans le comparateur 27; le signal de sortie de ce comparateur constituant un signal
d'interruption. L'additionneur 26, qui fait partie du micro-
processeur, combine l'adresse de base et le décalage pour transmettre une adresse "physique" dans les lignes 31. Cette adresse peut être utilisée par le microprocesseur comme une adresse physique ou bien peut être utilisée par l'unité de pagination. Cela est réalisé pour créer une compatibilité avec certains programmes établis pour un microprocesseur
connu (Intel 286). Pour le microprocesseur Intel 286, l'es-
pace d'adresse physique est de 24 bits.
Les attributs de segments, incluant des détails sur les descripteurs utilisés, comme les différents niveaux
privilégiés, ont été décrits dans le brevet US 4 442 484.
Le fait que le mécanisme de segmentation est connu dans l'art antérieur est représenté sur la figure 2 par la ligne en trait interrompu 28, sur la gauche de laquelle sont
indiquées des structures de l'art antérieur.
Le bloc de localisation de zones de pages 30, qui comprend l'unité de pagination de la figure 1 ainsi que son
système d'interaction avec le répertoire de pages et la ta-
ble de pages qui sont mémorisés dans la mémoire principale,
est représenté sur les figures 3 à 7.
Bien que, dans le mode de réalisation présentement préféré, le mécanisme de segmentation utilise des registres
de masquage, il pourrait également être réalisé avec une an-
té-mémoire comme le mécanisme de pagination.
On va maintenant décrire l'anté-mémoire de descrip-
teurs de pages. Sur la figure 3, l'anté-mémoire de descrip-
teurs de pages de l'unité de pagination 22 de la figure 1
est représentésà l'intérieur de la ligne en trait interrom-
pu 22a. Cette mémoire comprend deux ensembles, à savoir une mémoire à contenu adressable (CAM) 34 et une mémoire de don- nées (bases) de pages 35. Les deux mémoires comportent des
cellules de mémorisation statique. L'organisation des mémoi-
res 34 et 35 est décrite en référence à la figure 6. Les circuits spécifiques utilisés pour la mémoire CAM 34 ainsi que sa nouvelle caractéristique de masquage sont décrits en
référence aux figures 7 et 8.
Les adresses linéaires provenant de l'unité de segmen-
tation 21 sont appliquées à l'unité de pagination 22 de la fi-
gure 1. Comme le montre la figure 3, cette adresse linéaire comprend deux zones, à savoir la zone d'information de page
(20 bits) et une zone de déplacement (12 bits). Additionnel-
lement, il est prévu une zone d'attributs de pages à 4 bits, établie par le microcode. La zone d'information de page de
bits est comparée avec les contenus de la mémoire CAM 34.
Egalement les 4 bits d'attribut ("incorrect", "valable", "U/S", et "W/R") doivent également correspondre à ceux se trouvant
dans la mémoire CAM avant qu'une coïncidence se produise.
(Il existe une exception à cela lorsqu'une "masquage" est
utilisé comme cela sera décrit).
Pour une condition de coïncidence, la mémoire 35 fournit un mot de base de 20 bits qui est combiné avec la zone de déplacement de 12 bits de l'adresse linéaire, comme
représenté par l'additionneur 36 de la figure 3, et l'adres-
se physique résultante est sélectionnée dans une trame de
page de 4 k.octets dans la mémoire principale 13.
On va maintenant décrire un adressage de page pour la condition de noncoincidence. Un répertoire de pages 13a et une table de pages 13b sont mémorisés dans la mémoire
principale 13 (cf. figure 4). L'adresse de page pour le ré-
pertoire de pages est fournie par le microprocesseur et est
indiquée sur la figure 4 comme la base de répertoire de pa-
ges 38. Dix bits de la zone d'information de page sont uti-
lisés comme un index (après une pondération par un facteur
de 4) dans le répertoire de page, comme indiqué par l'addi-
tionneur 40 sur la figure 4. Le répertoire de pages fournit un mot de 32 bits. Vingt bits de ce mot sont utilisés comme base pour la table de pages. Les dix autres bits de la zone
d'information de page sont utilisés de façon semblable com-
me un index (à nouveau avec une pondération par le facteur 4) dans la table de pages, comme indiqué par l'additionneur 41. La table de pages fournit également un mot de 32 bits,
dont 20 bits définissent la base de page de l'adresse physi-
que. Cette adresse de base de page est combinée, comme indi-
qué par l'additionneur 42, avec la zone de déplacement de
12 bits de façon à former une adresse physique de 32 bits.
Cinq bits des zones à 12 bits du répertoire de pa-
ges et de la table de pages sont utilisés pour des attributs,
en particulier "incorrect", "accès", "U/S", "R/W" et "pré-
sent". Ceux-ci seront décrits de façon plus détaillée en relation avec la figure 5. Les bits restants de cette zone
ne sont pas effectés.
Les attributs mémorisés du répertoire et de la table de pages sont transmis à un circuit logique de commande 75 en même temps que les 4 bits de l'information d'attribut
associés à l'adresse linéaire. Des parties de ce circuit lo-
gique sont représentées sur les figures suivantes qui vont
être décrites en référence à ces figures.
Sur la figure 5, on a à nouveau indiqué le mot de répertoire de pages, le mot de table de pages et le mot de mémoire CAM. Les attributs de protection/commande affectés aux quatre bits du mot de répertoire de pages sont indiqués en regard de la parenthèse 43. Les quatre mêmes attributs, avec un attribut supplémentaire, sont utilisés pour le mot
de table de pages et sont indiqués en regard de la parenthè-
se 44. Les quatre attributs utilisés pour le mot de mémoire
CAM sont indiqués en regard de la parenthèse 45.
Les attributs sont utilisés pour les fonctions sui-
vantes:
1. INCORRECT: Ce bit indique si-une page a été écri-
te. Le bit est changé une fois qu'une page a été écrite. Ce
bit est utilisé, par exemple, pour informer le système opé-
rationnel qu'une page complète n'est pas "propre". Ce bit est mémorisé dans la table de pages et dans la mémoire CAM (et non dans le répertoire de pages). Le processeur assure l'activation de ce bit dans la table de pages lorsqu'une
page est écrite.
* 2. ACCES: Ce bit est mémorisé seulement dans le ré-
pertoire de page et la table de pages (et non dans la mémoi-
re CAM) et il est utilisé pour indiquer qu'une page a fait l'objet d'un accès. Une fois qu'une page a fait l'objet d'un
accès, ce bit est changé dans la mémoire par le processeur.
A la différence du bit "incorrect", ce bit indique si une page a fait l'objet d'un accès pour une écriture ou pour une
lecture.
3. U/S: L'état de ce bit indique si le contenu de la page est accessible à un utilisateur et à un superviseur
(1 binaire) ou bien seulement à un superviseur (0 binaire).
4. R/W: Ce bit de protection de lecture et d'écritu-
re doit avoir l'état binaire 1 pour permettre à la page d'être
écrite par un programme d'utilisateur.
5. PRESENT: Ce bit placé dans la table de pages in-
dique si la page associée est présente dans la mémoire physi-
que. Ce bit placé dans le répertoire de pages indique si la
table de pages associée est présente dans la mémoire physique.
6. VALABLE: Ce bit, qui est mémorisé seulement dans la mémoire CAM, est utilisé pour indiquer si le contenu de la mémoire CAM est valable. Ce bit est placé dans un premier état lors d'une initialisation puis il est changé lorsqu'un
mot valable de la mémoire CAM est chargé.
Les cinq bits du répertoire de pages et de la table de pages sont appliqués au circuit logique de commande 75
pour produire des signaux appropriés d'interruption à l'in-
térieur du microprocesseur.
Des bits d'utilisateur/superviseur provenant du ré-
pertoire de pages et de la table de pages sont soumis à une combinaison logique ET, comme indiqué par la porte 46, pour
produire le bit R/W mémorisé dans la mémoire CAM 34 de la fi-
gure 3. De façon analogue, les bits de lecture/écriture pro-
venant du répertoire et de la table de pages sont soumis à une combinaison logique ET par l'intermédiaire d'une porte 47 de façon à produire le bit W/R mémorisé dans la mémoire CAM. Le bit "incorrect" provenant de la table de pages est
mémorisé dans la mémoire CAM. Ces portes font partie du cir-
cuit logique 75 de la figure 4.
Les attributs mémorisés dans la mémoire CAM sont "automatiquement" testés puisqu'ils sont traités comme une partie de l'adresse et qu'ils sont adaptés aux quatre bits
provenant du microcode. Une condition d'interruption se pro-
duit même si une base de page valable est mémorisée dans la mémoire CAM, par exemple quand l'adresse linéaire indique qu'un cycle d'écriture par "utilisateur" doit se produire
dans une page pour R/W = 0.
La combinaison logique ET des bits U/S provenant du répertoire et de la table de pages fait en sorte que le
"cas le plus défavorable" soit mémorisé dans l'anté-mémoire.
De façon analogue, la combinaison logique ET des bits R/W
fournit le cas le plus défavorable à l'anté-mémoire.
On va maintenant décrire l'organisation de l'anté-
mémoire de descripteurs de pages. La mémoire CAM 34, comme indiqué sur la figure 6, est organisée en 8 ensembles, avec 4 mots dans chaque ensemble. Vingt-et un bits (17 pour
l'adresse et 4 pour les attributs) sont utilisés pour trou-
ver une correspondance dans cet ensemble. Les quatre lignes de comparaison correspondant aux quatres mots mémorisés dans chaque ensemble sont reliées à un détecteur. Par exemple les lignes de comparaison des quatre mots de l'ensemble 1 sont reliées au détecteur 53. De façon analogue, les lignes de comparaison des quatre mots des ensembles 2 à 8 sont reliées à des détecteurs. Les lignes de comparaison sont explorées
par les détecteurs de façon à déterminer quel mot de l'en-
semble correspond à l'entrée (21 bits) de la mémoire CAM.
Chacun des détecteurs contient un circuit logique "cAblé matériellement"qui permet une sélection d'un des détecteurs en fonction de l'état des 3 bits contenus dans la zone
d'information de page de 20 bits qui est reliée aux dé-
tecteurs. (Il est à noter que les 17 autres bits de cette
zone d'information de pages sont reliés à la mémoire CAM).
Dans un but d'explication, huit détecteurs ont été
représenté sur la figure 6. Dans le présent mode de réali-
sation, un seul détecteur est utilisé avec les trois bits,
en sélectionnant un ensemble de quatre lignes pour un cou-
plage avec le détecteur. Le détecteur proprement dit est
représenté sur la figure 8.
La partie de mémorisation de données de l'anté-mé-
moire est organisée en quatre groupes, représentés par les groupes 35a-d. Les mots de données correspondant à chaque ensemble de la mémoire CAM sont répartis de façon qu'un
mot soit mémorisé dans chacun des quatre groupes. Par exem-
ple, le mot de données (adresse de base) sélectionné par une coïncidence avec le mot 1 de l'ensemble 1 est situé dans le groupe 35a, le mot de données sélectionné par une coincidence avec le mot 2 de l'ensemble 1 estsitué dans
le groupe 35b, etc. Les trois bits utilisés pour sélection-
ner un détecteur-sont également employer pour sélectionner
un mot dans chacun des groupes. En conséquence, simultané-
ment, des mots sont sélectionnés dans chacun des quatre groupes. La sélection finale d'un mot dans les groupes est
effectuée par l'intermédiaire du multiplexeur 55. Ce multi-
plexeur est commandé par les quatre lignes de comparaison
dans le détecteur.
Lorsque l'anté-mémoire fait l'objet d'un accès, le processus d'adaptation, qui est un processus relativement
lent, commence par l'utilisation des 21 bits. Les trois au-
tres bits sont capables de sélectionner immédiatement un ensemble de quatre lignes et le détecteur est préparé pour
détecter une baisse de potentiel dans les lignes de compa-
raison. (Comme cela sera précisé, toutes les lignes de com-
paraison (rangées) sont préchargées, la ligne sélectionnée
(coïncidence) restant chargée alors que les lignes non sé-
lectionnées se déchargent). Simultanément quatre motsprove-
nant de l'ensemble sélectionné font l'objet d'un accès dans
les groupes 35a- 35d. Si et quand une correspondance se pro-
duit, le détecteur est capable d'identifier le mot à l'inté-
rieur de l'ensemble et cette information est transmise au multiplexeur 55 en permettant la sélection du mot de données.
Cette organisation améliore le temps d'accès à l'anté-mémoire.
On va nmaintenant décrire la mémoire adressable par le contenu (CAM}.Sur la figure 7, les 21 bits qui sont reliés à la mémoire CAM sont à nouveau représentés de telle sorte que 17 bits soient reliés au circuit prioritaire et générateur de complément 56 tandis que les 4 bits d'attribut sont reliés
au circuit logique VUDW 57. Les 3 bits associés à la sélec-
tion des détecteurs décrits en référence à la figure 6 ne
sont pas représentés sur la figure 7.
Le circuit 56 produit le signal vrai et le signal
complémentaire pour chacun des signaux d'adresse et il trans-
met ces signaux à la mémoire CAM par des lignes parallèles,
comme les lignes 59 et 60. De façon analogue, le circuit lo-
gique VUDW 57 produit à la fois le signal vrai et le signal complémentaire pour les bits d'attribut et les transmet à la
mémoire par des lignes parallèles. Leslignes 59 et 60 inter-
viennent en double pour chacune des lignes de bits vrais et de bits de complément (c'est-à-dire 21 pairesde lignes de
bits vrais et de bits de complément).
Chacune des 32 rangées de la mémoire CAM comporte une paire de lignes de rangées parallèles, telles que les lignes 68 et 70. Une cellule de mémoire statique ordinaire,
telle que la cellule 67 est branchée entre chacune des li-
gnes de bits vrais et de bits de complément (colonnes) et est associée à la paire de lignes de rangées. Dans le mode de réalisation présentement préféré, lescellulesde mémoire
comprennent des cellules statiques ordinaires à bascule uti-
lisant des transistors à canal-p. Une ligne de chaque paire
de lignes de rangées (ligne 70) permet à la cellule de mémoi-
re d'être reliée à la ligne de bits vrais et à la ligne de
bits de complément lorsqu'une donnée est écrite dans le grou-
pe. Autrement le contenu de la cellule de mémoire est compa-
ré aux données se trouvant dans les lignes de colonnes et le résultat de la comparaison est transmis à la ligne de
coïncidence 68. La comparaison est effectuée par des com-
parateurs, un comparateur étant associé à chaque cellule.
Le comparateur comprend les transistors à canal-n désignés par 61 à 64. Chaque paire de transistors de comparaison, par exemple les transistors 61 et 62, sont branchés entre
un côté de la cellule de mémoire et la ligne de bit oppo-
sée. On va supposer qu'une donnée est mémorisée dans la cellule de mémoire 67 et que le point de la cellule la plus
proche de la ligne de bits 59 se trouve au niveau haut.
Lorsque les contenus de la mémoire CAM sont examinés, en premier lieu la ligne de coïncidence 68 est préchargée par
l'intermédiaire du transistor 69. Ensuite les signaux appli-
qués à la mémoire CAM sont placés dans les lignes de colonnes.
On va d'abord supposer que la ligne 69 se trouve au niveau haut. Le transistor 62 n'est pas conducteur puisque la ligne est au niveau bas. Le transistor 63 n'est pas conducteur
puisque le côté de la cellule auquel il est relié est au ni-
veau bas. Dans ces conditions, la ligne 68 n'est pas déchar-
gée et indique qu'une correspondance s'est produite dans
la cellule. La ligne de coïncidence 68 assure une combinai-
son logique ET des comparaisons se produisant le long de la
rangée. Si une correspondance ne se produit pas, un ou plu-
sieurs des comparateurs assurent une décharge de la ligne
de coïncidence.
Pendant une précharge, les circuits 56 et 57 engen-
drent un signal prioritaire faisant en sorte que toutes les ligne de colonnes (bits et bits de complément) passent à un niveau bas. Cela empêche les comparateurs d'évacuer la charge des
lignes de coïncidence avant que la comparaison ne commence.
Il est à noter que les comparateurs examinent la
condition "1 binaire" et qu'ils ignorent en fait la condi-
tion "0 binaire". Ainsi par exemple si l'électrode de com-
mande du transistor 64 se trouve à un niveau haut (ligne
59 au niveau haut), alors les transistors 63 et 64 comman-
dent la comparaison. De façon analogue, si la ligne de bit' se trouve au niveau haut, alors les transistors 61 et 62
commandent la comparaison. Cette particularité du compara-
teur permet à des cellules d'être ignorées. En conséquence, lorsqu'un mot est appliqué à la mémoire CAM, certains bits peuvent être masqués dans le processus de correspondance en faisant passer à la fois la ligne de bits vrais et la ligne de bits de complément au niveau bas. Cela fait apparattre que les contenus de la cellule s'adaptent à la condition existant dans leslignes de colonnes. Cette particularité
est utilisée par le circuit logique VUDW 57.
Des signaux de microcode appliqués au circuit logi--
que 57 font en sorte que la ligne de bits vrais et la ligne de bits de complément correspondant à des bits sélectionnés parmi les bits d'attribut soient placées à un niveau bas en fonction des bits de microcode. Il en résulte que l'attribut associé à ce bit est ignoré. Cette particularité est utilisée,
par exemple, pour ignorer le bit U/S dans le mode de super-
viseur. Ainsi le mode de superviseur peut accéder à des don-
nées d'utilisateur. De façon analogue, le bit de lecture/
écriture peut être ignoré lors d'une lecture ou bien lors-
que le mode de superviseur est enclenché. Le bit "incorrect" est également ignoré lors d'une lecture (cette particularité
n'est pas utilisée pour le bit "valable").
Lorsque les bits d'attributs sont mémorisés dans la mémoire principale, ils peuvent faire l'objet d'un accès et
d'un examen et des circuits logiques sont utilisés pour com-
manderun accès, par exemple sur la base de l'état 1 ou 0 du
bit U/S. Cependant, aucun circuit logique séparé n'est uti-
lisé avec l'anté-mémoire. La commutation au niveau bas des lignes de bits vrais et de bits de complément provoque en fait l'autorisation d'une correspondance (ou l'empêchement d'une interruption) même si les motifs de bits des bits
d'attributs ne sont pas adaptés.
Le détecteur de la figure 6, comme le montre la fi-
gure 8, comprend plusieurs portes NI, telles que les portes 81, 82, 83 et 84. Trois des lignes de coïncidence provenant de l'ensemble sélectionné des lignes de la mémoire CAM sont reliées à la porte 81 et elles sont désignées par les lignes A, B et C. Une combinaisondifférente de lignes est reliée à
chacune des autres portes NI. Par exemple la porte NI 84 re-
çoit les lignes de coïncidence D, A et B. La sortie de cha-
cune des portes NI est une entrée pour une porte NON-ET tel-
le que la porte NON-ET 86. Une ligne de coïncidence fournit un signal d'entrée à chaque porte NON-ET. Cette ligne est celle (parmi les quatre A, B, C, D) qui ne constitue pas
une ligne d'entrée pour la porte NI. Elle constitue égale-
ment la ligne de bits provenant de l'entrée d'ensemble à sé-
lectionner. Par exemple la porte 86 sélectionnerait l'ensem-
ble qui est associé à la ligne de coïncidence D. Ainsi, dans le cas de la porte NI 81, la ligne de c5incidence D est couplée avec la porte NON-ET 86. De façon analogue, pour la porte NON-ET 90, la ligne de coincidence C constitue, en addition à la sortie de la porte 84, une ligne d'entrée pour cette porte. Un signal de validation de lecture est également appliqué aux portes NON-ET afin d'empêcher les sorties de ces
portes logiques d'-etre validées pour un écriture. Les sor-
ties des portes NON-ET, comme la ligne 87, sont utilisées
pour commander le multiplexeur 55 de la figure 6. En prati-
que le signal provenant de la porte NON-ET, comme le signal
transmis par la ligne 87, commande le multiplexeur par l'in-
termédiaire de transistors à canal-p. Pour faciliter l'expli-
cation, un inverseur additionnel 88 est représenté avec une
ligne de sortie 89.
L'avantage de ce détecteur est qu'il permet d'utili-
ser des lignes de précharge dans le multiplexeur 55. En va-
riante, on pourrait utiliser un agencement statique, mais
cela nécessiterait beaucoup plus de courant. Avec l'agence-
ment représenté sur la figure 8, la sortie des inverseurs
reste dans le même état jusqu'à ce qu'une des lignes de coln-
cidence diminue de potentiel. Quand cela ce produit, une seu-
le sortie diminue le potentiel, en permettant au multiple-
xeur de sélectionner le mot correct.
En conséquence, on a décrit un nouveau dispositif de
traduction d'adresses, qui utilise deux niveaux d'une anté-
mémoire, à savoir un niveau pour la segmentation et un ni-
veau pour la pagination. Une commande indépendante de don-
nées et d'attributs (par exemple une protection) est prévue à chaque niveau
Claims (25)
1. Système à microprocesseur, qui comprend un micro-
processeur et une mémoire de données, le microprocesseur comportant un mécanisme de segmentation pour traduire une adresse de mémoire virtuelle en une seconde adresse de mé- moire et pour commander des données sur la base d'attributs, caractérisé en ce qu'il comprend: une anté-mémoire de pages (22) intégrée audit microprocesseur (10) pour recevoir une première zone de ladite seconde adresse de mémoire et pour comparer celle-ci avec des contenus de ladite anté-mémoire
de pages afin d'établir une seconde zone dans certaine con-
dition; ladite mémoire de données (13) comprenant une partie de mémorisation de données de localisation de pages, ladite
première zone de ladite seconde adresse de mémoire étant cou-
plée avec ladite mémoire de données (13) pour sélectionner
une troisième zone dans lesdites données de pages quand les-
dites certaines conditions de ladite anté-mémoire de pages (22) ne sont pas satisfaites; ledit système à microprocesseur comprenant un circuit (75) pour combiner une desdites seconde et troisième zones avec une zone de décalage de la première
adresse afin de créer une adresse physique pour ladite mémoi-
re de données (35); en vue d'améliorer ainsi la capacité
d'adressage physique de ladite mémoire de données (13).
2. Système à microprocesseur selon la revendication 1, caractérisé en ce que ladite anté-mémoire de pages (22)
et ladite partie de mémorisation de données de pages con-
tiennent des informations concernant les attributs de pages
de mémoire.
3. Système à microprocesseur selon la revendication 2, caractérisé en ce que ladite partie de mémorisation de
données de localisation de pages comprend au moins un réper-
toire de pages (13a) et au moins une table de pages (13b).
4. Système à microprocesseur selon la revendication 3, caractérisé en ce que ledit répertoire de pages (13a) et
ladite table de pages (13b) mémorisent chacun lesdits attri-
buts desdites pages de mémoire.
5. Système à microprocesseur selon la revendication
- 2583540
E 4, caractérisé en ce qu'au moins certains desdits attributs
mémorisés dans ledit répertoire de pages (13a) et ladite ta-
ble de pages (13b) sont combinés logiquement et mémorisés
dans ladite anté-mémoire de pages (22).
6. Système à microprocesseur selon la revendication , caractérisé en ce que ledit microprocesseur (10) établit une base de répertoire de pages (38) pour ledit répertoire
de pages (13a).
7. Système à microprocesseur selon la revendication
6, caractérisé en ce qu'une première partie de ladite premiè-
re zone établit dans ladite base de répertoire depages (38)
un index pour un emplacement dans le répertoire de pages (13a).
8. Système à microprocesseur selon la revendication
7, caractérisé en ce que lesdits emplacements dans le répertoi-
re de pages (13a) contiennent des bases de table de pages et en ce qu'une second partie de ladite première zone établit dans ladite table de pages un index pour un emplacement de
table de pages dans ladite mémoire de données (13).
9. Système à microprocesseur selon la revendication
8, caractérisé en ce que lesdits emplacements de ladite ta-
ble de pages (13b) établissent une base pour des pages dans
ladite mémoire de données (13).
10. Système à microprocesseur selon la revendication 2, caractérisé en ce que ladite anté-mémoire de pages (22) comprend une mémoire adressable par le contenu (CAM) (34) etune mémoire de bases de pages, la sortie de ladite mémoire (CAM)
sélectionnant des basesde pages pour ladite mémoire de don-
nées (13) à partir de ladite mémoire de bases de pages.
11. Système à microprocesseur selon la revendication 10, caractérisé en ce que ladite mémoire(CAM) (34) mémorise
des attributs de pages de la mémoire de données (13).
12. Système à microprocesseur selon la revendication 11, caractérisé en ce que ladite mémoire(CAM) (34) comprend des moyens pour masquer sélectivement au moins un desdits
attributs pendant ladite comparaison.
13. Système à microprocesseur à gestion de mémoire
perfectionné, caractérisé en ce qu'il comprend: un micro-
processeur (10) comportant un mécanisme de segmentation pour traduire une adresse de mémoire virtuelle en une seconde adresse de mémoire et pour tester des attributs de segments d'une mémoire de données (13); une mémoire de données (13) reliée audit microprocesseur (10) ledit microprocesseur comprenant une anté-mémoire de pages (22) intégrée audit microprocesseur de manière à recevoir une première zone de ladite seconde adresse de mémoire et pour la comparer avec
des contenus de ladite anté-mémoire afin d'établir une se-
conde zone dans certaines conditions; ladite mémoire de don-
nées (13) comprenant une partie de mémorisation de données de l'organisation de pages, ladite première zone de ladite
seconde adresse de mémoire étant couplée avec ladite mémoi-
re de données (13) pour sélectionnerune troisième zone à partir desdites données de pages lorsque lesdites certaines conditions de ladite antémémoire de pages (22) nresont pas satisfaites; ledit système à microprocesseur comprenant un
circuit (75) pour combiner une desdites seconde et troisiè-
me zones avec une zone de décalage de la première adresse afin d'établir une adresse physique pour ladite mémoire de
données (13); ce qui permet d'améliorer la capacité d'adres-
sage physique de ladite mémoire de données (13).
14. Système à microprocesseur selon la revendication 13, caractérisé en ce que ledit mécanisme de segmentation
comprend: des registres de descripteurs de segments (21) in-
tégrés audit microprocesseur (10) de façon à établir une ba-
se de segment; et en ce que ladite mémoire de données (13) comprend une table de descripteurs de segments (25) qui fait l'objet d'un accès par une zone de segment de ladite
première adresse.
15. Système à microprocesseur selon la revendication 14, caractérisé en ce que ladite anté-mémoire de pages (22)
et ladite partie de mémorisation de données de pages contien-
nent des informations sur les attributs de pages de mémoire.
16. Système à microprocesseur selon la revendication
, caractérisé en ce que ladite partie de mémorisation des-
dites données de localisation de pages comprend un répertoi-
re de pages (13a) et une table de pages (13b).
17. Système à microprocesseur selon la revendication 16, caractérisé en ce que ledit répertoire de pages(13a) et
ladite table de pages (13b) contiennent chacun lesdits attri-
buts pour lesdites pages de mémoire.
18. Système à microprocesseur selon la revendication 17, caractérisé en ce qu'au moins certains desdits attributs
mémorisés dans ledit répertoire de pages (13a) et ladite ta-
ble de pages (13b) sont combinés logiquement et mémorisés
dans ladite anté-mémoire de pages (22).
19. Système à microprocesseur selon la revendication , caractérisé en ce qu'il comprend une mémoire adressable par le contenu (CAM) comprenant, une pluralité de mmoires tampons, servant chacun à recevoir des premiers signaux et à fournir lesdit
premiers signaux et des seconds signaux, lesdits seconds si-
gnaux étant des compléments desdits premiers signaux; une pluralité de paires de lignes généralement parallèles (59, ) chaque paire étant couplée de façon à recevoir un desdits
premiers et seconds signaux; une pluralité de cellules de mé-
moire (67) couplées entre deux lignes (59, 60) de chaque pai-
re, lesdites cellules étant disposées en rangées générale-
ment perpendiculaires auxdites paires de lignes (59, 60); une
pluralité de lignes de comparateurs de rangées qui sont cha-
cune associée à chacune desdites rangées de cellules (67); une pluralité de comparateurs (27) qui sont chacun branchés
entre chacune desdites cellules de mémoire, la paire respec-
tive de lignes et l'une desdites lignes de comparateurs, les-
dits comparateurs servant à comparer un état binaire mémori-
sé dans ladite cellule de mémoire (67) avec lesdits premiers et seconds signaux; un moyen de chargement pour charger des données provenant desdites paires de lignes dans lesdites cellules; lesdits comparateurs (27) étant empêchés d'opérer lorsque leurs paires respectives de lignes sont toutes deux maintenues à un certain état binaire;de façon que, en faisant
en sorte qu'au moins certaines desditesmémoires tampons établis-
sent ledit certain état binaire pour lesdits premiers et se-
conds signaux, des cellules sélectionnées puissent être
ignorées dans ladite comparaison.
20. Système à microprocesseur selon la revendication 19, carac- térisé en ce que lesditeslignes de comparateurs de rangées
sont des lignes préchargées.
21. Système à microprocesseur selon la revendication 20, compre-
nant une partie de mémorisation se composant d'une plurali-
té de sections, caractérisé en ce que des données font l'objet d'un accès simultané dans toutes lesdites sections et en ce qu'un signal de sortie d'une desdites sections est
sélectionné par l'intermédiaire desdites lignes de rangées.
22. Système à microprocesseur selon la revendication 21, caracté-
risé en ce qu'elle comprend des détecteurs reliés à un nom-
bre prédéterminé desdites lignes de rangées, lesdits détec-
teurs servant à détecter celle dudit nombre prédéterminé de
lignes qui reste chargée.
23. Système à microprocesseur selon la revendication 22, caracté-
risé en ce que ladite sélection dudit signal de sortie d'une
desdites sections est effectuée par lesdits détecteurs.
24. Un-dispositif de traduction d'adresses agencé comme une partie d'un microprocesseur pour opérer avec une mémoire de données, caractérisé en ce qu'il comprend: des registres de descripteurs de segments (21) pour recevoir une adresse virtuelle et pour établir une base de segment; ledit microprocesseur (10) établissant une adresse pour la mémoire
de données (13) de façon à permettre l'adressage d'une ta-
ble de descripteur de segments (25) dans ladite mémoire de données (13), ladite table de descripteur de segments (25)
établissant ladite adresse de base de segment; ledit micro-
processeur (10) utilisant ladite seconde adresse de base et
une partie de ladite adresse virtuelle pour établir une se-
conde adresse de mémoire; une anté-mémoire de base (22) pour
recevoir une première zone de ladite seconde adresse de mé-
moire et pour la comparer avec les contenus de ladite anté-
24 2583540
mémoire.de pages (22) afin d'établir une seconde zone dans certaines secondes conditions; ledit microprocesseur (10) fournissant ladite première zone à une table de données de pages se trouvant dans ladite mémoire de données (13) pour établir ladite secondezone si lesdites secondes conditions ne sont pas satisfaites; ladite seconde zone établissant une
base de page pour ladite mémoire de données (13), ce quiper-
met d'améliorer la capacité d'adressage physique de ladite
mémoire de données (13).
25. Dispositif selon la revendication 24, caractéri-
sé en ce que lesdits registres de descripteurs de segments (21) contiennent des attributs de données de segments et en
ce que ladite anté-mémoire de pages (22) contient des attri-
buts de données de pages.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74438985A | 1985-06-13 | 1985-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2583540A1 true FR2583540A1 (fr) | 1986-12-19 |
FR2583540B1 FR2583540B1 (fr) | 1991-09-06 |
Family
ID=24992533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR858512931A Expired - Lifetime FR2583540B1 (fr) | 1985-06-13 | 1985-08-30 | Gestion de memoire pour systeme a microprocesseur. |
Country Status (8)
Country | Link |
---|---|
JP (1) | JPH0622000B2 (fr) |
KR (1) | KR900005897B1 (fr) |
CN (1) | CN1008839B (fr) |
DE (1) | DE3618163C2 (fr) |
FR (1) | FR2583540B1 (fr) |
GB (2) | GB2176918B (fr) |
HK (1) | HK53590A (fr) |
SG (1) | SG34090G (fr) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988007721A1 (fr) * | 1987-04-02 | 1988-10-06 | Unisys Corporation | Traducteur d'adresse associatif pour des systemes de memoire d'ordinateur |
US5761413A (en) | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
CA2078315A1 (fr) * | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Appareil de traitement parallele et methode d'utilisation du pavage |
CA2078312A1 (fr) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Processeur de donnees numeriques a pagination amelioree |
GB2260629B (en) * | 1991-10-16 | 1995-07-26 | Intel Corp | A segment descriptor cache for a microprocessor |
US5895489A (en) * | 1991-10-16 | 1999-04-20 | Intel Corporation | Memory management system including an inclusion bit for maintaining cache coherency |
CN1068687C (zh) * | 1993-01-20 | 2001-07-18 | 联华电子股份有限公司 | 存录多段语音的存储器动态分配方法 |
EP0613090A1 (fr) * | 1993-02-26 | 1994-08-31 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Procédé pour vérifier l'admissibilité d'accès directs à la mémoire dans un système de traitement de données |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
US5590297A (en) * | 1994-01-04 | 1996-12-31 | Intel Corporation | Address generation unit with segmented addresses in a mircroprocessor |
US6622211B2 (en) * | 2001-08-15 | 2003-09-16 | Ip-First, L.L.C. | Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty |
KR100406924B1 (ko) * | 2001-10-12 | 2003-11-21 | 삼성전자주식회사 | 내용 주소화 메모리 셀 |
US7689485B2 (en) | 2002-08-10 | 2010-03-30 | Cisco Technology, Inc. | Generating accounting data based on access control list entries |
EP1563388A2 (fr) | 2002-11-18 | 2005-08-17 | ARM Limited | Memoire securisee pour se proteger contre les programmes malicieux |
GB2396034B (en) | 2002-11-18 | 2006-03-08 | Advanced Risc Mach Ltd | Technique for accessing memory in a data processing apparatus |
US7149862B2 (en) | 2002-11-18 | 2006-12-12 | Arm Limited | Access control in a data processing apparatus |
US7171539B2 (en) | 2002-11-18 | 2007-01-30 | Arm Limited | Apparatus and method for controlling access to a memory |
GB2396930B (en) | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
WO2005017754A1 (fr) * | 2003-07-29 | 2005-02-24 | Cisco Technology, Inc. | Indication de forçage de condition de recherche infructueuse pour entrees cam basees sur des mappes de politiques |
US20060090034A1 (en) * | 2004-10-22 | 2006-04-27 | Fujitsu Limited | System and method for providing a way memoization in a processing environment |
GB2448523B (en) * | 2007-04-19 | 2009-06-17 | Transitive Ltd | Apparatus and method for handling exception signals in a computing system |
US8799620B2 (en) | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
KR101671494B1 (ko) | 2010-10-08 | 2016-11-02 | 삼성전자주식회사 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
FR3065826B1 (fr) * | 2017-04-28 | 2024-03-15 | Patrick Pirim | Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance |
KR102686380B1 (ko) * | 2018-12-20 | 2024-07-19 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1595740A (en) * | 1978-05-25 | 1981-08-19 | Fujitsu Ltd | Data processing apparatus |
US4377855A (en) * | 1980-11-06 | 1983-03-22 | National Semiconductor Corporation | Content-addressable memory |
EP0113240A2 (fr) * | 1982-12-30 | 1984-07-11 | International Business Machines Corporation | Mécanisme de traduction d'adresses de mémoires virtuelles avec persistance commandée des données |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA784373A (en) * | 1963-04-01 | 1968-04-30 | W. Bremer John | Content addressed memory system |
GB1281387A (en) * | 1969-11-22 | 1972-07-12 | Ibm | Associative store |
US3761902A (en) * | 1971-12-30 | 1973-09-25 | Ibm | Functional memory using multi-state associative cells |
GB1457423A (en) * | 1973-01-17 | 1976-12-01 | Nat Res Dev | Associative memories |
GB1543736A (en) * | 1976-06-21 | 1979-04-04 | Nat Res Dev | Associative processors |
US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
GB2127994B (en) * | 1982-09-29 | 1987-01-21 | Apple Computer | Memory management unit for digital computer |
US4442482A (en) * | 1982-09-30 | 1984-04-10 | Venus Scientific Inc. | Dual output H.V. rectifier power supply driven by common transformer winding |
-
1985
- 1985-08-08 GB GB8519991A patent/GB2176918B/en not_active Expired
- 1985-08-30 FR FR858512931A patent/FR2583540B1/fr not_active Expired - Lifetime
- 1985-08-30 JP JP60189994A patent/JPH0622000B2/ja not_active Expired - Lifetime
- 1985-09-05 KR KR1019850006490A patent/KR900005897B1/ko not_active IP Right Cessation
- 1985-09-06 CN CN85106711A patent/CN1008839B/zh not_active Expired
-
1986
- 1986-05-23 GB GB8612679A patent/GB2176920B/en not_active Expired
- 1986-05-30 DE DE3618163A patent/DE3618163C2/de not_active Expired - Lifetime
-
1990
- 1990-05-15 SG SG340/90A patent/SG34090G/en unknown
- 1990-07-19 HK HK535/90A patent/HK53590A/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1595740A (en) * | 1978-05-25 | 1981-08-19 | Fujitsu Ltd | Data processing apparatus |
US4377855A (en) * | 1980-11-06 | 1983-03-22 | National Semiconductor Corporation | Content-addressable memory |
EP0113240A2 (fr) * | 1982-12-30 | 1984-07-11 | International Business Machines Corporation | Mécanisme de traduction d'adresses de mémoires virtuelles avec persistance commandée des données |
Also Published As
Publication number | Publication date |
---|---|
KR900005897B1 (ko) | 1990-08-13 |
GB2176918A (en) | 1987-01-07 |
JPH0622000B2 (ja) | 1994-03-23 |
GB8519991D0 (en) | 1985-09-18 |
GB2176918B (en) | 1989-11-01 |
SG34090G (en) | 1990-08-03 |
DE3618163C2 (de) | 1995-04-27 |
HK53590A (en) | 1990-07-27 |
GB8612679D0 (en) | 1986-07-02 |
JPS61286946A (ja) | 1986-12-17 |
CN85106711A (zh) | 1987-02-04 |
KR870003427A (ko) | 1987-04-17 |
FR2583540B1 (fr) | 1991-09-06 |
GB2176920B (en) | 1989-11-22 |
GB2176920A (en) | 1987-01-07 |
DE3618163A1 (de) | 1986-12-18 |
CN1008839B (zh) | 1990-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2583540A1 (fr) | Gestion de memoire pour systeme a microprocesseur. | |
FR2682506A1 (fr) | Processeur a memoire cache utilisant des adresses a zone de repere et zone de decalage ainsi que memoire cache pour processeurs de ce type. | |
CH616252A5 (fr) | ||
FR2602070A1 (fr) | Systeme et procede d'acces a une memoire d'ordinateur. | |
FR2588980A1 (fr) | Processeur de traitement de signal numerique comportant plusieurs multiplicateurs | |
FR2522232A1 (fr) | Dispositif de traitement de signaux numeriques | |
FR2609175A1 (fr) | Carte a circuits integres et systeme pour verifier le bon fonctionnement de la carte | |
FR2526560A1 (fr) | Dispositif pour la protection contre une lecture non autorisee de mots de programme a memoriser dans une memoire, et unite de memoire comportant ladite memoire | |
FR2667706A1 (fr) | Antememoire hierarchique a circuits integres. | |
FR2608807A1 (fr) | Systeme multiprocesseur et procede d'equilibrage de charge pour ledit systeme | |
FR2513410A1 (fr) | Microprocesseur et procede pour imbriquer les acces en memoire de ce microprocesseur | |
FR2764406A1 (fr) | Sous-systeme d'analyse logique dans un emulateur a tranches de temps | |
FR2645986A1 (fr) | Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede | |
FR2480459A1 (fr) | Systeme de traitement de donnees a un dispositif d'appariement d'adresses de memoire de controle | |
FR2810152A1 (fr) | Memoire eeprom securisee comprenant un circuit de correction d'erreur | |
EP0228329B1 (fr) | Dispositif électronique formant mémoire stable rapide perfectionnée | |
CH621201A5 (fr) | ||
CA2093524A1 (fr) | Procede pour repartir la memoire d'un circuit integre entre plusieurs applications | |
FR2805368A1 (fr) | Systeme et procede utilisant l'acces speculatif a l'antememoire pour des performances ameliorees | |
FR2595474A1 (fr) | Dispositif de controle et de verification du fonctionnement de blocs internes a un circuit integre | |
EP0251861B1 (fr) | Unité de gestion de mémoire | |
WO2009071791A2 (fr) | Verification de donnees lues en memoire | |
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 | |
FR2687004A1 (fr) | Architecture de memoire associative. | |
EP0683455B1 (fr) | Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée |