FR2560411A1 - Memoire fonctionnant a grande vitesse et systeme de gestion de cette memoire - Google Patents

Memoire fonctionnant a grande vitesse et systeme de gestion de cette memoire Download PDF

Info

Publication number
FR2560411A1
FR2560411A1 FR8416569A FR8416569A FR2560411A1 FR 2560411 A1 FR2560411 A1 FR 2560411A1 FR 8416569 A FR8416569 A FR 8416569A FR 8416569 A FR8416569 A FR 8416569A FR 2560411 A1 FR2560411 A1 FR 2560411A1
Authority
FR
France
Prior art keywords
address
memory
lines
indirect
segment
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
FR8416569A
Other languages
English (en)
Other versions
FR2560411B1 (fr
Inventor
Andreas Bechtolsheim
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of FR2560411A1 publication Critical patent/FR2560411A1/fr
Application granted granted Critical
Publication of FR2560411B1 publication Critical patent/FR2560411B1/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Abstract

LE DISPOSITIF COMPORTE PLUSIEURS DISPOSITIFS DE TRAITEMENT DE DONNEES 106, 108, 110 ACCOUPLES A UN BUS 102 DE TRANSMISSION D'ADRESSES VIRTUELLES COMPORTANT DES MOYENS SUBDIVISANT UNE ADRESSE DE MEMOIRE EN SEGMENTS D'ADRESSES DIRECTES ET INDIRECTES, DES MOYENS D'ARBITRAGE 150 ACCOUPLES AU DISPOSITIF DE TRAITEMENT POUR ACCOUPLER AU CHOIX CES DISPOSITIFS AU BUS 102, UN DISPOSITIF DE GESTION DE MEMOIRE 100 RACCORDE DE MANIERE A RECEVOIR LESDITS SEGMENTS INDIRECTS ET COMPORTANT UN RESEAU DE MEMOIRE AVEC DES LIGNES DE SORTIE D'ADRESSES PHYSIQUES 130, UN BUS 140 DE TRANSMISSION D'ADRESSES PHYSIQUES RELIE AU DISPOSITIF 100, UNE MEMOIRE PRINCIPALE 128 ET UN BUS 120 DU SYSTEME RELIE A DES DISPOSITIFS DE TRAITEMENT DE DONNEES122. APPLICATION NOTAMMENT AUX SYSTEMES ORDINATEURS UTILISANT DES TECHNIQUES DE MEMOIRES VIRTUELLES.

Description

La présente invention concerne le traitement numérique des données et plus
particulièrement l'agencement
de systèmes de mémoire pour ordinateurs, qui mettent en oeu-
vre une traduction d'adresses et une gestion de mémoire.
Dans un système d'ordinateur typique, une unité centrale de traitement (CPU) communique directement à la fois
avec un bus de transmission d'adresses et avec un bus de trans-
mission de données. Ces bus sont accouplés à une mémoire prin-
cipale (ou à un système de mémoire principale) ainsi qu'à d'autres dispositifs tels que des ports d'accès d'entrée/sortie (I/O), des processeurs spécialisés, des unités de mémoire à accès
direct (DMA), etc. L'utilisation efficace de la mémoire prin-
cipale de l'ordinateur ou mémoire principale interne par l'unité CPU et par d'autres dispositifs est critique en vue d'éviter des retards indésirables et des ambiguités concernant
les données et de réduire le co t du système.
Les unités de gestion de mémoire (MIU) fournissent
des possibilités comme par exemple des espaces d'adresses mul-
tiples pour des traitements séparés, le partage de la mémoire
en commun entre les traitements, le repositionnement des adres-
ses du processeur logique en des adresses de mémoire physiques et la protection d'emplacements désirés de mémoire, par le fait
que seules certaines opérations telles que la lecture, l'enre-
gistrement ou l'exécution sont permises dans de telles zones.
En outre, les unités de gestion de mémoire présen-
tent souvent ce que l'on appelle des capacités de mémoire vir-
tuelle. Une mémoire virtuelle permet à l'unité CPU d'adresser
une capacité de mémoire plus importante que celle qui est pré-
sente du point de vue physique dans la mémoire principale. Ceci est réalisé habituellement en subdivisant l'espace total de la mémoire en de nombreuses petites unités possédant des tailles identiques et désignées sous le nom de pages. L'ensemble de l'espace de la mémoire est mémorisé dans un dispositif de mémoire secondaire telle qu'une mémoire à disques. Pendant l'exécution du programme, seulessont introduitesdans la mémoire principale les pages qui sont requises sur demande, avec
remplacement d'autres pages qui ne sont plus nécessaires.
Habituellement les systèmes de gestion de mémoire virtuelle
incluent des mécanismes qui facilitent l'opération de rempla-
cement des pages, tel que le maintien d'un état pour chaque
page indiquant si elle a été récemment utilisée ou si un enre-
gistrement y a été effectué.
Les principes de la gestion de mémoire sont connus
dans l'histoire récente des ordinateurs et sont une chose ba-
nale dans l'appareillage informatique de l'état de la technique.
Cependant l'utilisation de systèmes de gestion de mémoire,unités
S.E, entrainenormalement une réduction de la performance du sys-
tème ordinateur étant donné que chaque accès à la mémoire doit être traduit et contrôlé par l'unité de gestion de mémoire, ce
qui accroît le temps d'accès à la mémoire et provoque l'appa-
rition d'un retard entre l'instant o le processeur délivre
l'adresse devant être traduiteetle moment o la donnée est re-
çue en provenance de la mémoire.
En outre, de façon typique, les systèmes de gestion de mémoire connus dans l'art antérieur permettent uniquement à
l'unité CPU d'accéder aux unités MMU et de traduire une adres-
se virtuelle en une adresse réelle. D'autres dispositifs d'en-
trée/sortie {I/O), tels que des contrôleurs de disques, ont
accès à la mémoire principale en utilisant des adresses physi-
ques. L'utilisation d'adresses physiques par ces dispositifs
peut entraîner des problèmes étant donné que les adresses déli-
vrées par les dispositifs d'entrée/sortie I/O ne sont pas tra-
duites et vérifiées de la même manière que des adresses vir-
tuelles délivrées par l'unité CPU. Comme cela sera décrit, la présente invention fournit un système perfectionné de gestion de mémoire qui permet à de nombreux dispositifs de traitement de données de traduire des adresses uniques sur une base cycle
après cycle, sans qu'il soit nécessaire de recharger des don-
nées de traduction.
On décrit un système perfectionné de gestion de
25604 1
mémoire dont une application particulière est son utilisation
dans des systèmes ordinateurs utilisant des techniquesde mé-
moires virtuelles. Le système comporte une unité CPU et d'au-
tres dispositifs de traitement de données tels que des dispo-
sitifs d'entrée/sortie I/O, des unités DMA, un bus du système, etc, qui sont accouplés à un bus de transmission d'adresses "virtuelles" servant à transférer l'information d'adresses virtuelles à une unité MMU. L'accès au bus de transmission d'adresses virtuelles est commandé par des moyens d'arbitrage de manière à garantir qu'un seul dispositif peut communiquer
à un instant donné avec une unité MMU. Dans une forme de réa-
lisation préférée, l'espace d'adresses situé à l'intérieur de l'unité MMU est subdivisé en une pluralité d'espaces de mémoire dont chacun inclut des données de traduction destinées à être utilisées avec un dispositif particulier de traitement
de données accouplé au bus de transmission d'adresses virtuel-
les.Un dispositif sollicitant un accès au bus de transmission
d'adresses virtuelles identifie l'espace de mémoire particu-
lier de l'unité MMU, qui doit être utilisé pour sa traduction d'adresses, au moyen de la délivrance de bits de contexte
uniquesdésignant l'espace de mémoire à l'unité MMU.
Le bus de transmission d'adresses virtuelles sépa-
re les adresses de mémoire en segments d'adresses réelles (directes) prédéfinies et en segments d'adresses virtuelles (indirectes) prédéfinies. Les segments d'adresses réelles (d'ordre inférieur) sont accouplés directement à un réseau de mémoire principale de l'ordinateur, du type comportant des
lignes et des colonnes pour les lignes de commande des élé-
ments de mémorisation des bits, qui sont situés aux intersec-
tions des lignes de commande. Bien que les segments d'adres-
ses réelles soient accouplés soit aux lignes, soit aux colon-
nes de la mémoire principale, les segments d'adresses virtuel-
les (d'ordre élevé) ainsi que les bits de contexte sont ac-
couplés à une unité de gestion de mémoire qui identifie quel espacedel'unité 4MU doit être utilisé pour la traduction basée sur les bits de contexte, et traduit ensuite les segments d'adresses virtuelles en une adresse physique réelle. Les segments d'adresses traduites indirectes(virtuelles) sont ensuite envoyés aux autres lignes ou aux autres colonnes du réseau de mémoire principale, de sorte que les lignes et les
colonnes de ce réseau sont commandées par les segments d'a-
dresses directes(réelles) d'une part et par les segments d'adresses indirectes traduites (virtuelles à l'origine) d'autre part. Aux lignes et aux colonnes du réseau de mémoire
principale se trouvent raccordés des circuits d'attaque permet-
tant l'accès aux éléments de mémoire. Il est prévu un généra-
teur de cadencement permettant d'échantillonner les circuits
d'attaque de lignes et de colonnes avec des impulsions séquen-
tielles. Alors que les segments d'adresses directes réelles
arrivent tout d'abord dans la mémoire principale et sont échan-
tillonnés en premier, les segments d'adresses traduites vir-
tuelles arrivent peu après et sont échantillonnés en second lieu, ce qui permet d'avoir un accès à des emplacements de mémoire dans la mémoire principale. L'intervalle de temps présent entre deux impulsions d'échantillonnage est utilisé pour la traduction des adresses virtuelles dans l'unité MMU
et se trouve en chevauchement avec l'accès à la mémoire prin-
cipale, ce qui réduit le temps d'accès à cette mémoire.
En outre l'invention réduit la durée de traduction
d'adresses de l'unité de gestion de mémoire grâce à l'utilisa-
tion d'une mémoire RAM (mémoire à accès direct) statique fonc-
tionnant à grande vitesse utilisée pour le traitement de tra-
duction et grâce à l'utilisation des lignes d'adresses de cette même mémoire RAM à la fois pour l'entrée d'adresses et
pour l'accès aux entrées des dispositifs de gestion de mémoi-
re afin de modifier la traduction.
D'autres caractéristiques et avantages de la pré-
sente invention ressortiront de la description donnée ci-
après prise en référence aux dessins annexés, sur lesquels: - la figure 1 est un schéma-bloc d'une mémoire
d'ordinateur fonctionnant à grande vitesse, conforme à la pré-
sente invention; - la figure 2 est un schéma-bloc d'une réalisation spécifique dLun dispositif de gestion de mémoire représenté sur la figure 1;
- la figure 3 est un chronograrmme illustrant!gar-
rivée d'un segment d'adresse directe et d'un segment d'adres-
se indirecte t-raduite, dans la mémoire principale en liaison avec des impulsions d'échantillonnage d'adresses de lignes et de colonnes - la figure 4 est un schéma-bloc d'un dispositif de gestion de mémoire fonctionnant à grande vitesse conforme à la préseinte invention; et - la figure 5 est une représentation schématique i 5 cde 1 ltilisation, conforme à la présente invention, de bits de contexte peramettant d'identifier les espaces spécifiques de traduction à l'intérieur de l"unité ú4MUo
On va donner ci-après la description détaillée de
1 invention.
On va décrire un système perfectionné de gestion de mémoire dans une application particulière permettant son
utilisation dans des système ordinateuj utilisant des techni-
ques de mémoire virtuelle. Dans la description qui va suivre,
à des fins d'explications, on indique des dimensions spécifi-
2 ques de mémoire, des agencements de bits, des nombres, des
débits de données, etc de manière à permettre une compréhen-
sion complète de la présente invention. Cependant il apparaî-
tra à l'évidence aux spécialistes de la technique que la pré-
sente invention peut être mise en pratique sans ces détails spécifiques. Dans d'autres cas, on a représenté des circuits bien connus sous la forme d'un schéma-bloc afin de faciliter
la compréhension de la présente invention.
En se référant à la figure 1, on voit qu'une unité centrale de traitement (CPU) non représentée communique avec le système selon la présente invention par l'intermédiaire
E 2 4 1 X
2S63411
d'un bus 12 de transmrission d'adresses. Le b>us 12 comporte
une pluralité de lignes individuelles qui véhiculent des adres-
ses sous la forme de mots à plusieurs bits. De façon typique
les processeurs peuvent utiliser des bus de transmission d'a-
dresses véhiculant entre 16 et 32 bits et dans lesquels les bits sont transmis en parallèle le long de lignes ou de fils
individuels qui constituent le bus de transmission d'adres-
ses. Conformément à la présente invention, les adresses trans-
mises par liintermédiaire du bus de transmission d'adresses sont structurées de telle sorte que les bits de poids inférieur forment un segment d'adresse directe réelle pour la mémoire principale, les bits d'ordre inférieur étant séparés du bus
de transmission d'adresses, dans les lignes 14. Les bits d'a-
dresse de poids élevé forment un segment d'adresse indirec-
te (virtuelle) quS est prélevé le long de la ligne 16 et est envoyé à un dispositif de gestion de mémoire 18. Par exemple dans le cas d'une adresse à 24 bits, 11 bits de poids inférieur
peuvent former l'adresse réelle directe transmise dans la li-
gne 14, tandis que 13 bits de rang supérieur sont transmis
sous la forme d'un segment d'adresse indirecte par l'inter-
médiaire de la ligne 16. Le bit de poids le plus élevé peut
être un bit de commande transmis dans la ligne de commande 20.
L'unité de gestion de mémoire (MMU) 18 possède une unité de mémoire à accès direct fonctionnant à une vitesse relativement élevée, comme par exemple une mémoire RAM statique
rapide.. L'unité MMU 18 reçoit comme entrée le segment d'a-
dresse indirecte virtuelle reçue dans la ligne 16, l'adres-
se virtuelle logique envoyée par le processeur,et délivre com-
me sortie un segment d'adresse physique (réelle) traduite dans la ligne 38. Le segment d'adresse physique traduite
spécifie, en liaison avec le segment d'adresse directe d'or-
dre inférieur présent dans la ligne 14, l'emplacement physique
réel de la donnée désirée dans la mémoire principale.
Le processeur inclut deux bus de transmission de données, les données aboutissant au processeur circulant dans le bus de transmission de données 22 et les données provenant du processeur circulant dans le bus de transmission de données
24. Une ligne de commande d'enregistrement 26 s'étend égale-
ment à partir du processeur. A partir des bus de transmission de données 22 et24 ainsi que de la ligne de commande 26 sé- tendent des lignes aboutissant à l'unité de gestion de mémoire 18 et à la mémoire principale 28. Les lignes de liaison 32, 34 et 36 sont raccordées respectivement aux bus de transmission de données 22, 24 et à la ligne de commande d'enregistrement 26. Les lignes de liaison sont raccordées aux étages d'attaque 33, 35 et 37 symbolisés par des triangles possédant un sommet situé dans la direction de déplacement des données. Chacun de ces étages d'attaque comporte un accès de validation raccordé à la ligne de commande 20. La ligne 32 sert à transférer des données depuis l'unité de gestion de mémoire 18 au processeur
par l'intermédiaire de l'étage d'attaque 32 et du bus de trans-
mission de données 22. Les données provenant du processeur
sont acheminées dans la ligne 36 en passant par l'étage d'at-
taque 37 jusqu'à l'unité MMU 18. La ligne de commande d'enre-
gistrement 26 transmet un signal à-l'unité de gestion de mé-
moire 18, dans la ligne 34 par l'intermédiaire de l'étage d'attaque 35, ce qui permet à l'unité 18 d'enregistrer des données qui sont transmises par le processeur dans la ligne
16, qui véhicule également les segments d'adresses indirec-
tes virtuelles. Les données sortant de l'unité.MU 18 circu-
lant dans la ligne 32 sont également envoyées à la mémoire principale 28 par la ligne 38 par l'intermédiaire de l'étage
d'attaque 39. L'étage d'attaque 39 est validé par l'intermé-
diaire de la ligne 41 par un générateur de cadencement 43.
Ce générateur de cadencement délivre à la fois des impulsions d'échantillonnage d'adresses de lignes et de colonnes, par
exemple des impulsions d'échantillonnage d'adresses de colon-
nes dans la ligne 41 et par conséquent jusqu'à la ligne 45, et des impulsions d'échantillonnage d'adresses de lignes par
l'intermédiaire de la ligne 52 et ensuite jusqu'à la ligne 54.
256041 1
La mémoire principale 28 est du type comportant des lignes et des colonnes de lignes de commande pour des éléments de mémorisation de bits, situés aux intersections
des lignes et des colonnes. L'emplacement des éléments de mé-
morisation est spécifié par des adresses incluant les segments d'adresses indirectes virtuelles, qui ont été traduites par l'unité de gestion de mémoire 18 en adresses physiques, qui
sont délivréesdans la ligne 38 et par l'intermédiaire de l'é-
tage d'attaque 39 à la mémoire principale 28 soit pour les
lignes, soit pour les colonnes de la mémoire principale.
Les autres colonnes ou lignes reçoivent un segment d'a-
dresse directe réelle par la ligne 14 et par l'intermédiai-
re de l'étage d'attaque 47. Les mêmes lignes, qui transmettent
les données en direction et à partir du processeur pour l'uni-
té MMU 18, servent à communiquer avec la mémoire principale
28. Les bus de transmission de données aboutissant au proces-
seur et en partant, à savoir les lignes 22 et 24, sont raccor-
dés de la mémoire principale 28 par l'intermédiaire d'étages d'attaque 53 et 57. La ligne de commande d'enregistrement 26 est raccordée à la mémoire principale 28 par l'intermédiaire d'un étage d'attaque 55. Les étages d'attaque 53, 55 et 57 sont validés par la ligne de commande 20 qui peut réaliser une sélection entre l'unité de gestion de mémoire 18 de la mémoire principale 28 afin d'indiquer celle des deux unités
avec laquelle le processeur communique.
Un générateur de cadencement 43 délivre deux impulsions séquentielles servant à réaliser l'échantillonnage
des lignes de transmission d'adresses de lignes et de colon-
nes de la mémoire principale 28. L'impulsion d'échantillonnage d'adresses de lignes est transmise par l'intermédiaire de la ligne 52 aux lignes de commande de lignes par l'intermédiaire de la ligne 54. La même impulsion valide l'étage d'attaque 47
de telle sorte que les adresses de lignes arrivent dans la mé-
moire principale 28 à temps pour l'impulsion d'échantillonnage.
Les segments d'adresses directes (réelles), qui se'nt ransm:sii s dains ligne 14,g ne sont pas traduits et par ó,nsequen ';! nxiste aucun retard dans la communication es segments d'adresses directes en provenance du processeuro L _'.mpu!.';ion d: 'ch an-i.1onnege pour les segments d adresses J d rectes apa.a. eu avant une seconde impulsion transmise par ' i-t.:iare de e ligne 41o La seconde impulsion ou
JnJl..i z -;a.dée s. a echatllonne2 les segments d7adres-
ses indirecte--s viút-ie1ls traduites. Le dispositif de gestion e m7moire ' tra uit l-es adresses indirectes en adresses o:ui -y.qe u rrivent dans la mémoire principale 28 à un ins= t.ans-:1-r.'.euz'ardé par raipport aux adresses de mémoire iuireti:e t -adU i es. Le cadencemient des signaux reçus par la ioire prici-;ale 2. es2 illustré sur la figure 3. A des -. l nd oses arrives des adresses respectives et
Cc s -iS lit /de colonnes on-t té s par ées de manie-
:renlre I,ti-c@...opri plus claireo Dans la pratique on a uo-v, - que la r- preseince de -unité ?M;U 18 introduit un retard ega! à eznviron 90 micresecondes avant que 1 'adresse virtuelle t-aduite (maintenant physique} soit appliquée à la mémoire
principale 23. Cet inter-valle de temps correspond approximati-
vement au reard entre 3/application des impulsions d&échantil= lonnaged'adresses de lignes et de colonnesO La table de traduction mémorisée dans l'unité
de ges i ion de mémoi re l 8 peut être modifiée au moyen de l'en-
registreriment de nouvelies données dans le dispositif de ges-
tion de mémoire. La ligne de commande 20 sert à valider ou à sélectionner l'accès pour l'enregistrement et la lecture soit
de l'unité MMU 18, soit de la mémoire principale 28, par vali-
dation et invalidation d'états des étages d'attaque respectifs
33, 35, 37 d'une part ou 53, 55, 57 d'autre part. L'enregistre-
ment dans l'unité de gestion de mémoire 18 est réalisé en uti-
lisant la ligne de commande d'enregistrement 26, les lignes 16 de transmission d'adresses de virtuelles indirectes de segments
et la ligne de commande 20. En d'autres termes on peut utili-
ser les mêmes lignes de transmission d'aâresses, que celles
utilisées précdemment pour la lecture de la table de traduc-
tion dalns l'unité de gestiorn de r.édire , pour l'enregis-
tremn XtI d'une nouvelle table dans 1 'unitré MYLU 18.
Au cours du fornctionnement. une adresse appliquée aux bus de transmission d'adresses 12 est subdivisée comme
cela a été décrit précéder-.aent, en segments d'adresses direc-
tes (réelles) et en segments d'adresses indirectes (virtuel-
les). Un segment d'adresse directe, par exemple une adresse de igne, est appliqué par lintermédiaire de la ligne 14 à la
mémoire principale 28, tandis qu'un segment d'adresse virtuel-
le indirecte, h savoir une adresse de colonne, est envoyé par i 'intermndiaire de la ligne 16 à 1 'unité i gestion de mémoire
18. Dans il'unité FIU 18, une mémoire à accès direct fonction-
nant 5 une vitesse relativement élevée, le segment d'adresse virtuelle indirece est traduit en une adresse physique réelle et est envoyé par l'intermédiaire d'une ligne 38 à la mémoire
principale 28. Dans la mémoire principale arrivent des impul-
sions de cadencement séquentielles provenant du générateur de cadencement 43 de manière à échantillonner les adresses de lignes et les adresses de colonnes traduites en les envoyant de façon séquentielle aux lignes de commande des lignes et des colonnes de la mémoire principale 28 de manière à avoir accès aux emplacements de mémoire désirés. Dès qu'une adresse arrivant depuis le processeur par l'intermédiaire de la ligne
12 est reçue et qu'une adresse valide et signalée au généra-
teur de cadencement 43 par l'intermédiaire de la ligne 42, ce
générateur de cadencement 43 produit une impulsion d'échantil-
lonnage d'adresse de ligne dans la ligne 52. Une fois que
l'unité de gestion de mémoire 18 a traduit le segment d'adres-
se indirecte et a appliqué le nouveau segment d'adresse réel-
le à la ligne 38, le générateur de cadencement 43 produit une impulsion d'échantillonnage d'adresse de colonne dans la
ligne 41.
Comme cela est illustré sur la figure 2, l'unité de gestion de mémoire elle-même peut être subdivisée et deux
25641 1
1 1 niveaux d'adresses virtuelles indirectes peuvent être utilisés
pour spécifier des emplacements désirés dans la mémoire prin-
cipale. La colonne de gauche 62 représente symboliquement une
adresse logique à plusieurs bits délivrée par un processeur.
L'invention a été antérieurement mise en oeuvre avec des adres- ses délivrées par un processeur connu sous le sigle commercial
Motorola 68010, qui possède des mots d'adresses à 24 bits.
Il n'est pas nécessaired'utiliser l'ensemble des lignes de transmission d'adresses. Quatre des bits situés dans le bloc 65 sont identifiés en tant que bits de contexte délivrés par une autre source qui sert à réaliser une commutation entre 16 parties séparées de l'unité de gestion de mémoire indiquée
par les lignes formées de tirets 70. Les quatre bits de con-
texte sont transmis par l'intermédiaire de la ligne 63 à
une table de correspondance de segments 72, une mémoire à ac-
cès direct qui sert à transformer les adresses logiques vir-
tuelles en adresses traduites prélevées par l'intermédiaire
de la ligne de sortie 73. L'entrée dans la table de correspon-
dance de segments 72 est dérivée du segment d'adresse vir-
tuelle indirecte symbolisé par le bloc 64, qui identifie
celles des parties séparées de la table 72 qui doit être uti-
lisée. Une fois que cette identification est effectuée, le segment d'adresse virtuelle indirecte sortant du bloc 64 peut être traduit. Un segment d'adresse réelle indirecte est symbolisé par le bloc 66 et est transmis directement à la mémoire principale par l'intermédiaire de la ligne 74 qui est raccordée soit aux lignes de commande des lignes, soit
aux lignes de commande des colonnes de la mémoire principale.
Comme cela a été mentionné précédemment, la table de corres-
pondance de segments 72 transforme les adresses logiques vir-
tuelles délivrées par le bloc 64 en adresses prélevées par l'intermédiaire de la ligne de sortie 73. En outre des bits codés de données peuvent être introduits dans la table 72 par
l'intermédiaire de la ligne 75, de manière à réaliser une pro-
tection de la mémoire. Par exemple une indication de données
de lecture d'enregistrement peut être délivrée par l'intermé-
diaire de la ligne 75, ainsi que d'autres codes de protection.
D'autres lignes, telles que la ligne 76, peuvent être prévues
pour réaliser une protection ou une commande supplémentaire.
* Les lignes 75 et 76 seraient de façon typique commandées par le processeur, sur commande. L'adresse 73 produite par la table de correspondance de segments est transmise à une table de correspondance de pages 82, une mémoire à accès direct qui peut posséder la même taille que la table de correspondance de
segments 72, ou une taille différente de cette table. La fonc-
tion de la table de correspondance de pages 18est de recevoir l'adresse transmise par l'intermédiaire de la ligne 73 et de
la combiner à un second segment d'adresse virtuelle indirec-
te symbolisé par le bloc 67 de manière à produire une adresse
physique réelle qui est délivrée par l'intermédiaire de la li-
gne 83. Par conséquent on peut voir que l'unité de gestion de
mémoire 70 utilise deux niveaux d'adresses virtuelles indirec-
tes, un premier niveau symbolisé par le bloc 64 qui est trans-
mis à la table de correspondance de segments 72 et un second
niveau 67 qui est transmis à la table de correspondance de pa-
ges 82. Les deux niveaux sont simplement des bits d'adresses
spécifiés, qui sont séparés d'un mot d'adresse et sont trans-
mis directement à l'emplacement de mémoire désiré. La table de correspondance de pages 82 est munie de lignesde commande 85 et 86 qui peuvent être utilisées pour la protection, tout
comme les lignes 75 et 76.
Si le type de fonctionnement devant être exécuté
est protégé et ne peut pas être exécuté, l'opération est annu-
lée. Par exemple une projection peut requérir la lecture seule et une opération d'enregistrement est tentée. Le mécanisme de protection empêcherait l'opération d'enregistrement. Ceci est obtenu grâce à la production d'un signal d'erreur qui empêche l'impulsion d'échantillonnage d'enregistrement d'apparaître, même si un accès à la mémoire principale a déjà été déclenché, en laissant les données inchangées à l'intérieur de la mémoire
256 0 4 1
Xerincispa!e 28.
Le signal de sortie de la table de correspondance de pages 82 est un segmlent d'adresse physique réelle, qui
est transmis par l'intermédiaire de la ligne 83 soit aux li-
jnes, soit aux colonnes de la mémoire principale non raccor-
dées à la ligne 745 Ensemlble les lignes 74 et 83 commandent ies lignes et les colonnes de la mémoire principale cormme dans
le cas de 'la figure 1o Le générateur de cadencement, qui four-
nit les impulsions d7échantillonnage d'adresses deslignes
e des colonnes2 n est pas représenté. Etant donné que la li-
gne 74 est raccordée directement à la mémoire principale 282 les bits dacdresses circulant dans cette ligne arrivent à la
mr-mo i.re principale un peu avant le segment d'adresse virtuel-
Ie maintenant traduite. Le générateur de cadencement échan-
1 5 tillonîJe le segmeint d adresse directe en premier et le seg-
ment virtuel traduit en second lieude sorte que les lignes
de transmission d'adresses de lignes et de colonnes de la mé- moire principale sont activées de manière. avoir accès à des emplacemencs
spécifiés de mémorisation de bits situés dans le
réseau de meémoire principale.
L'un des avantages de la présent invention réside dans le fait que par suite de la séparation des adresses en
un segment réel direct et un segment virtuel indirect2 on réa-
lise une économie de temps lors de l'accès à la mémoire prin-
cipale 28 étant donné que l'accès à la mémoire principale comnmence même avant que l'adresse de la mémoire virtuelle ait été traduite en une adresse physique par lurité de gestion de mémoire 18. Par consequent l'accès à la mémoire principale s'effectue avec chevauchement dans le temps ou selon un mode
"pipe-line" avec l'introduction du segment d'adresse virtuel-
le indirecte. Le segment d'adresse réelle directe est transmis directement à la mémoire et il n'y a aucune perte de
temps, bien que seul le segment virtuel indirect soit traduit.
On prévoit simultanément un dispositif de gestion de mémoire fonctionnant à grande vitesse, comme par exemple une mémoire
acès direct 4 fonctionnerment rapide, le temps de traduc-
tion peut &tre réduit de sorte qu'à la fois les segments d'a-
aresses directes et les segments d'adresses directes traduies peuvent être transmis avec échantillonnage dans la mémoire par des impulsions de cadencemnent aui sont légèrement décalées
les unes des autres.
En se référant mainrtenant à la figure 4, on y voit représentée I présente invention destinre à tre utilisée en
liaison avec des systèmes utilisant des dispositifs de traite-
ment de donnÉes multiples employant des techniques d'adressage virtuel. Le système comporte une unité de gestion de mémoire
(MMU) 100 qui est semblable a celle indiquée pr4cédemment dé-
crite en référence aux figures 1 et 2.Commune cela est représen-
tS, l'unité iM%îU 100 est accouplée à un bus 102 de transmission dadresses 'vir__elle" par l'intermediaire de lignes 104 de
transmission d'adresses virtuelles, qui, dans la forme de réa-
lisation actuellement préférée,ca.ortent une pluralité de li-
gnes individuelles véhiculant les adresses sous la forme de mots formées dc bits multiples. Une pluralité de dispositifs de traitement de données, tels que par exemple l'unité CPU 106, le contrôleur 108 d'interface de disques et une interface 110 de liaison au réseau peuvent être accouplés au bus 102 de
transmission d'adresses virtuelles. L'interface 110 de liai-
son au réseau permet de réaliser le raccordement d'un réseau local du type connu sous la désignation "Ethernet", "DECnet"
ou analogue à la présente invention. En outre, comme repré-
senté, il est prévu un bus 120 du système utilisant des adresses physiques"réelles" pour réaliser l'accouplement d'une pluralité ide zéro à N + 1) de dispositifs 122, de telle sorte
que le bus 120 du système est accouplé au bus 102 de transmis-
sion d'adresses virtuelles par l'intermédiaire de l'interface de liaison du bus du système. Comme cela sera décrit, le bus 120 du système ainsi que l'ensemble des dispositifs 122, qui y sont associés, sont considérés par l'unité MMU 100 sous
la forme d'un seul dispositif de traitement de données utili-
sant une gamme d'adresses virtuelles prédéterminée.
L'unité MOU 100 est accouplée à un bus 140 de transmission d'adresses physiques au moyen des lignes 130 de transmission d'adresses physiques. Une mémoire principale 128 est accouplée à l'unité MMU 100 au moyen du bus 140 de trans- mission d'adresses physiques, de telle sorte que, comme cela a été décrit précédemment en référence aux figures 1, 2 et 3,
l'unité M4U 100 délivre un segment d'adresse indirecte tra-
duitequi a été converti depuis une adresse virtuelle en un segment d'adresse réelle, à la mémoire principale 128. De façon similaire, des segments d'adresses directes (réelles) délivrés dans le bus 102 de transmission d'adresses virtuelles contournent l'unité MMU 100 et sont transmis directement à la
mémoire principale 128 comme cela a été indiqué précédemment.
L'unité MMU 110 est en outre accouplée, par l'intermédiaire
du bus 140 de transmission d'adresses physiques, à diffé-
rentes ressources de traitement de données, incluant des dis-
positifs d'entrée/sortie (I/O) auxquels a été alloué un cer-
tain espace d'adresses physiques comportant d'une manière gé-
nérale une gamme d'adresses physiques qui peuvent être adres-
sées par lesdispositifsde traitement de données; tel que l'u-
nité CPU 106, le réseau 110 et analogue. On notera que le système, tel qu'il est représenté sur la figure 4, représente simplement la circulation d'adresses et de commandesentre les dispositifs de traitement de données à la fois dans la partie virtuelle et dans la partie réelle du système et que d'autres lignes nécessaires pour le fonctionnement du système, telles que des lignes de transmission de données et des lignes de commande, n'ont pas été représentées afin de conserver la
clarté du dessin.
Comme représenté sur la figure 4, les dispositifs
de traitement de données tels que l'unité CPU 106, le contrô-
leur de disques 108 ou des dispositifs 122 raccordés au bus du système ont accès à la mémoire principale 128 et/ou à l'espace d'adresses I/O, au moyen de la délivrance d'une adresse virtuelle, incluant à la fois des segments d'adresses indirectes et des segments d'adresses directes, dans le bus
de transmission d'adresses virtuelles 102. Un dispositif d'ar-
bitrage 150 est accouplé à chaque dispositif de traitement de données et à l'interface de manière à affecter un accès au bus 102 de transmission d'adresses virtuelles et à garantir
que seul un dispositif de traitement de données peut se raccor-
der à un instant donné au bus 102 de transmission d'adresses virtuelles et l'utiliser, ce qui empêche tout ambiguïté et toute confusion. La mise en oeuvre spécifique du dispositif d'arbitrage 150 permet d'utiliser une variété de protocoles d'arbitrage connus dans la technique de manière à allouer de façon nette ou de manière sélective l'utilisation du bus 102 de transmission d'adresses virtuelles. On considère que le bus 120 du système comporte, pour le fonctionnement de l'unité MMU
, un seul dispositif possédant une gamme d'espaces d'adres-
ses virtuelles qui est affectée secondairement à différents
dispositifs 122 raccordés au bus 120 du système.
En référence à la figure 5, un dispositif de trai-
tement de données tel qu'une interface de disques 108, qui désire avoir accès par exemple à des données mémorisées dans la mémoire principale 128, délivre une adresse incluant un segment d'adresse indirecte(virtuelle) et un segment d'adresse directe (réelle) dans le bus 102 de transmission d'adresses virtuelles, après avoir eu accès au bus 102 par l'intermédiaire du dispositif d'arbitrage 150. Comme représenté, l'information d'adresse fournie par l'interface 108 de liaison du disque (ou un autre dispositif) inclut des bits de contexte 160 qui identifient, à l'intérieur de la table de correspondance de segments 165, un espace d'adresse virtuelle unique pré-affecté,
correspondant aux données de traduction nécessaires pour tra-
duire l'information d'adresse virtuelle de l'interface 108 du disque en un segment d'adresse physique réelle qui peut être utilisé par la mémoire principale 128. Comme représenté, la table de correspondance de segments 165 inclut un espace pré-affecté pour chaque dispositif de traitement de données accouplé au bus 102 de transmission d'adresses virtuelles incluant l'espace 168 du système de l'unité CPU, et les espaces 167 et 168 des utilisateurs de lunité CPU ainsi que l'espace 170 d'interface de liaison aux disques et l'espace du réseau 172. Chacun de ces emplacements d'adresses à l'intérieur de la table de correspondance de segments 165 inclut l'information
nécessaire pour tradui2e de façon correcte les segments d'a-
dresses virtuelles 176 transmis au bus 102 de transmission
d'adresses vi-tuelles, par l'intermédiaire du dispositif res-
pectif de traitement de données. Corme cela est décrit en référence aux figures 1 aet 2, le second segment d'adresse 178 Est transmis 'A une table de correspondance 182 apres avoir été coml:ine au signal de sortie de la table de correspondance de segments 1650 Corsme cela est représenté, un segment d'adresse
réelle 186 contourne lunité MMU 100 et est transmis directe-
ment ila mlmoare principale 128 ou a un autre dispositif par
l'intermédiaire d&bus 140 de transmission d'adresses physiques.
Dans la pratique à l'unité CPU 106 sort affects à
la fois un espace du svsterme 166 ainsi qu'une pluralité d'es-
Daces d'utilisateurs tels que 167 et 168 afin de-permettre
une traduction des adresses virtuelles du système en fonction-
nement ainsi qcrue d'adresses virtuelles associées au logiciel d'application. Dans la présente forme de réalisation chaque espace d'adresses tel quLe l'espace 170 d'interface avec le
disque DMA, est adressé a partir de 0 jusqu'à une gamme pré-
déterminée,et l'espace est identifié initialement par le con-
tenu des bits d'e contexte 160. Le spécialiste de la technique notera que l'utilisation des bits de contexte 160 n'est pas nécessaire dans tous les cas. Par exemple il est possible
d'allouer un espace d'adresses de mémoire virtuelle à l'in-
térieur de l'unité MMU 100 de telle sorte qu'a chaque dispo-
sitif de traitement de données tels que l'unité CPU 106, l'in-
terface 125 du bus du système et analogues se trouvent alloués des emplacements d'adresses virtuelles uniqueso Par exemple 1$ des elmplacements d'adresses virtuelles à l'intérieurde l'unité M!U!00O co resposndr.- t i'interface 108 de liaison aux disques incluraien! -7 inormacion nécessaire pour une traduction
correcte des adresses virtuelles tombant dans une gamme pré-
affectée à l'interface de liaison avec le disque. Cependant on a trouvéi que!' utilisation des bits de con4te 160 permet une utilisation plus efficace de ressources de traitement de
données accourlézes au bus 102 de traitement d'adresses virtuel-
l es, tant donné que des adresses à l inttrieur de chaque es-
1IG oace défini à l'intérieur de la table de correspondance de segments 165 peuvent ftre affectées conformément aux demandes
d'adresses du dlspositif de traitement de données particulier.
ron notera que bien que chaque dispositif de trai tement de données, tel que l'interface 110 de liaison au réseau, puisse comporter un registre de bits de contexte tel que les bits de contexte asscciés à l'interface 110 de liaison au réseau sont appliqués au bus 102 de traitement d'adresses virtuelles pour leur transfert à l'unité M4U 100, tous les dispositifs de traitement de données accouplés au
- bus 102 peuvent également utiliser un seul registre de contex-
te. Dans ce cas, les contenus des bits de contexte sont modi-
fiées de façon sélective selon une base cycle après cycle de manière à représenter les dispositifs de traitement de données particuliersdélivrant une information d'adresse virtuelle à l'intérieur de l'unité MMU 100. De façon similaire on notera
qu'une autre mise en oeuvre de la présente invention peut uti-
liser uniquement deux registres de contexte, un pour une uti-
lisation dans le système et un autre pour l'utilisation par l'utilisateur, l'espace système étant pré-affecté à la fois pour l'unité CPU 106 et pour tous les autres dispositifs de traitement de données tels que l'interface 108 de liaison aux
disques DMA, l'interface 100 de liaison au réseau et l'inter-
face de liaison au bus 125 du système.
Comme dans la forme de réalisation décrite sur la figure 2, des bits codés de données peuvent être introduits dans la table de correspondance de segments 165 de manière à réaliser une protection de la mémoire par l'intermédiaire des lignes 75 et/ou 76, comme cela est requis. De façon similaire,
en vue de réaliser une protection des données, il est possi-
ble de prévoir les lignes 85 et 86 aboutissant à la table de correspondance de pages 182. Si le type d'opération devant
être effectuée est protégé, différents mécanismes de protec-
tion connus dans la technique peuvent être utilisés pour ga-
rantir la sécurité des données.
On suppose à titre d'exemple qu'un dispositif 122 relié au bus 120 du système désire avoir accès à la mémoire
principale 128 ou à un autre espace d'adresses physiquesaccou-
plé au bus 140 de transmission d'adresses physiques. Le dispo-
sitif particulier relié au bus du système transmet l'adresse
"virtuelle" (incluant à la fois des segments d'adresses direc-
tes et indirectes) au moyen du bus du système à l'inter-
face 125 de liaison du bus du système. Lors de la réception
de l'adresse virtuelle de la part du dispositif 122, l'inter-
face 125 demande accès au bus 102 de transmission d'adresses virtuelles, à partir du dispositif d'arbitrage 150. Comme cela a été indiqué précédemment, l'interface de liaison au bus du système est vu à la fois par le dispositif d'arbitrage ainsi que par l'unité MIU 100, simplement en tant qu'un autre simple dispositif de traitement de données accouplé au
bus 102 de transmission d'adresses virtuelles.
Une fois que l'interface 125 de liaison au bus
du système accède au bus 102 de transmission d'adresses vir-
tuelles, il applique l'information d'adresse délivrée par le dispositif 122 relié au bus du système à l'unité MMU 100o Des segments d'adresses directes(réelles) sont séparés et transmis directement à la mémoire principale 128 comme cela a été décrit, et lessegmentsd'adresses virtuelles ainsi que lesbits de contexte 160 sont transmis à l'unité MMU 100 par
l'intermédiaire de lignes 104 de transmission d'adresses vir-
tuelles.
Comme cela est représenté sur la figure 5, les bits de contexte 160 identifient un espace d'adresses unique
pris à l'intérieur de l'unité MU 100, qui contient des don-
nées de traduction servant à convertir les adresses virtuelles du bus du système en adresses physiques. Dans la pratique
l'espace d'adresses à l'intérieur de la table de correspondan-
ce de segments 165 de l'unité MMU 100, associé au bus 120 du système, est subdivisé en une pluralité de zones dont chacune
contient des données de traduction qui sont uniques pour cha-
que dispositif 122. Par conséquent l'adresse identifiée par les contenus des bits de contexte 160 correspond à une zone subdivisée pour la traduction des adresses virtuelles associées au dispositif particulier 12 relié au bus. Une fois qu'il est traduit, le segment d'adresses, qui est maintenant physique, est envoyé aux lignes130 de transmission d'adresses physiques et est transmis à la mémoire principale 128 (ou à un autre dispositif) ainsi que le segment 186 d'adresse directe
(réelle) transmis antérieurement, comme cela a été décrit.
Ainsi on a décrit un système perfectionné de ges-
tion de mémoire ayant une application particulière pour être utilisé dans des systèmes ordinateurs utilisant des techniques
de mémoire virtuelles. Bien que l'unité MMU ait été représen-
tée et décrite comme comprenant une table de correspondance de segments165et une table de correspondance de pages 182, on notera que la présente invention peut être mise en pratique
en utilisant une seule table de correspondance pour la traduc-
tion des segments d'adresses virtuelles en segments d'adresses physiques. En outre, bien que la présente invention ait été décrite en référence aux figures 1 à 5, on notera que ces figures n'ont été indiquées qu'à titre d'illustrations et que la présente invention peut être utilisée pour de nombreuses
autres applications de mémoires virtuelles.

Claims (17)

REVENDICATIONS
1. SysèeiLe ordinateur utilisant une traduction daadresses, caractérisé en ce qu'il comporte une pluralité
dêe dispositifs de traitement de données (106, 108, 110) ac-
couplés de façon sélective à un bus 102 de transmission dia-
dresses virtuelles serv-ant à véhiculer des adresses de mémoi-
re et comportant des moyens permettant de subdiviser une adresse de mémoire en des segments d'adresses directes et des segments d'adresses indirectes, - des moyens d1arbitrage (150) accouplés auxdits dispositifs
de traitement de données de manière à accoupler de façon sé-
lective ces dispositifs audit bus (102) de transmission d'a-
dresses virtuelles de telle sorte que seulement l'un des dis-
positifs de traitement de données applique à un instant 1 5 une adresse de mémoi-re auxdits bus de transmission d'adresses virtuelles, - un dispositif de gestion de mémoire (18; 100) raccordé de
manière a recevoir lesdits segments indirects de ladite adres-
se de mémoire par l'intermédiaire de lignes d'entrée de seg-
ments d'adresses indirectes, de manière à traduire un
segment d'adresse indirect provenant d'une adresse logi-
que spécifiée par un dispositif de traitement de donnéesen une adresse physique, ce dispositif de gestion de mémoire étant
un reseau de mémoire fonctionnant à vitesse relativement éle-
vée et dont la sortie s'effectue par l'intermédiaire de lignes de transmission d'adresses physiques (130), - un bus (140) de transmission d'adresses physiques accouplé audit dispositif de gestion de mémoire (18; 100) et accouplé au moins à une ressource de traitement de données comportant une pluralité d'adresses physiques dont chacune est définie par ledit segment d'adresse directe en liaison avec ladite adresse indirecte traduite délivrée dans lesdites lignes de transmission d'adresses physiques (130), ceci ayant pour effet, pour un dispositif de traitement de données, une possibilité d'accès à grande vitesse, à ladite ressource de traitement de données 1-4- par la transmission d'ln senent. d'adresse directe directement
à cette ressource,et d'un segment d'adresse indirecte tra-
duit à ladite ressource de manière à définir un emplacement
d'adresse physique.
2. vSystème selon la revendication 1, caractérisé
en ce que le dispositif de gestion de mémoire (18; 100) com-
porte une pluralité d'espaces de traduction au moins un es-
pace pour chacun desdits dispositifs de traitement de données,
de telle marnière que lesdits segments d'adresses indirec-
tes sont envoyés à un espace de traduction particulier conte-
nant des données de traduction servant à convertir ledit seg-
ment d'adresse indirecte en ladite adresse physique.
3. Système selon la revendication 2, caractérisé en ce que ledit segment d'adresse indirecte inclut des bits
l5 de contexte définissant l'adresse unique dudit espace de tra-
duction correspondant au dispositif de traitement de données
particulier délivrant ledit segment d'adresse indirecte.
4. Système selon la revendication 3, caractérisé en ce que lesdits bits de contexte (160) sont mémorisés dans un registre de contexte accouplé audit bus de transmission
d'adresses virtuelles (104) de telle sorte que le contenu du-
dit registre est mis à jour lorsqu'un dispositif de traitement
de données différent a accès audit bus de transmission d'a-
dresses virtuelles.
5. Système selon la revendication 3, caractérisé en ce que l'une desdites ressources de traitement de données comporte:
- un réseau de mémoire (28) comportant des lignes et des co-
lonnes de lignes de commande pour les éléments de mémorisation
de bits situés au niveau des intersections des lignes de com-
mande des lignes et des colonnes, l'emplacement desdits élé-
ments de mémoire étant spécifié par des segments d'adresses indirectes traduites et par des segments d'adresses directes,et dans lequel soit les lignes ou les colonnes des lignes de commtande sont raccordées de manière à recevoir le segment direct de l'adresse de mémoire,et ou les colonnes ou les lignes sont raccordées de manière à recevoir l'adresse indirecte
traduite par lesdites lignes de transmission d'adresses phy-
siques, - des moyens de cadencement (43) servant à réaliser l'échantillonnage des lignes d'adresses de lignes et de colonnes du
réseau de mémoire principale (28), une impulsion d'échantillon-
nage pour le segment d'adresse de mémoire directe apparais-
sant peu avant une impulsion d'échantillonnage pour le segment
d'adresse de mémoire indireôtetraduite les impulsions d'échan-
tillonnage assurant l'utilisation de segments d'adresses indi-
rectes traduites et de segments d'adresses directespar spécifi-
cation d' emplacements de mémorisation de bits dans le réseau
de mémoire principale.
6. Système selon la revendication 4, caractérisé
en ce que l'un desdits dispositifs de traitement de don-
nées comporte des moyens d'interface de liaison servant à accoupler un bus(120)du système, comportant une pluralité d'adresses physiques, audit dispositif de gestion de mémoire (100) par l'intermédiaire dudit bus de transmission d'adresses
virtuelles (102).
7. Système selon la revendication 6, caractérisé en ce que ledit bus (120) du système comporte une pluralité
de dispositifs (122) qui lui sont raccordés et à chacun des-
quels est affecté un sous-ensemble des adresses virtuelles
affectées audit bus.
8. Système selon l'une quelconque des revendica-
tions 4 et 7, caractérisé en ce que ledit dispositif de ges-
tion de mémoire (100) est subdivisé en une table de correspon-
dance de segments (165) et en une table de correspondance de pages (182), que ladite table de correspondance de segments
est raccordée de manière à recevoir un premier segment indi-
rect de manière à produire une adresse intermédiaire transmise à ladite table de correspondance de pages, que cette table de correspondance de pages (182) est raccordée de manière à recevoir un second segment indirect pour convertir l'adresse intermédiaire et le second segment indirect en ladite adresse physique, et que ladite table de correspondance de segments
(165) inclut ladite pluralité d'espaces de traduction identi-
fiés par les bits de contexte (160).
9. Système selon la revendication 8, caractérisé en ce que ladite table de correspondance de segments (165) comporte des moyens d'entrée de protection servant à fournir
les conditions d'un accès des données.
10. Système selon la revendication 9, caractérisé
en ce que ladite table de correspondance de pages (182) possè-
de des moyens d'entrée de protection servant à fournir les
conditions d'un accès des données.
11. Système selon la revendication 10, caractérisé
en ce que ledit dispositif de gestion de mémoire (100) compor-
te des moyens formant lignes de commande de validation d'enre-
gistrement, qui lui sont raccordés de manière à utiliser les
lignes d'entrée de segments indirects à la fois pour la lectu-
re et l'enregistrement de données dans le dispositif de gestion
de mémoire.
12. Système selon la revendication 11, caractérisé
en ce que ledit réseau de mémoire fonctionnant à grande vites-
se est une mémoire à accès direct statique et que le réseau de mémoire principale est un réseau de mémoire dynamique à
accès direct.
13. Système ordinateur utilisant une traduction d'adresses, caractérisé en ce qu'il comporte - une pluralité de dispositifs de traitement de données (106,
108, 110) accouplés de façon sélective à un bus (102) de trans-
mission d'adresses virtuelles servant à véhiculer des adresses de mémoire et comportant des moyens permettant de subdiviser une adresse de mémoire en des segments d'adresses directes et des segments d'adresses indirectes, - des moyens d'arbitrage (105) accouplés auxdits dispositifs
de traitement de données de manière à accoupler de façon sé-
25604 I1
lective ces dispositifs audit bus (102) de transmission d'a-
dresses virtuelles de te3!e sorte que seulement l'un des dis-
positif s de traitement de données applique à un seul instant une adresse de mémoire audit bus de transmission d'adresses virtuelles, un dispositi F de gestion de mémoire (18; 100) raccordé de
mraniere à recevoir lesdits segments indirects de ladite adres-
se de mêmoire par l!intermédiaire de lignes d entrée de seg-
nments d adresses ndirectes de manière à traduire un
sergment dpadresse indirect provenant d'une adresse loCTi-
que sruc.i'Lée par un dispositif de traitement de donnéesen une adresse physique, ce dispositif de gestion de mémoire étant
un réseau de memoire fonctionnant à vitesse relativement éle-
vée et dont la sortie s effectuie par l'intermédiaire de lignes de t'rans-mission d'adresses physiques (130)" ce dispositif de
gestionr de mémoire (18; 100) comportant une pluralité d'es-
paces de traduction, au moins un espace pour chacun desdits dispositifs de traitement de données de telle manière que chacun desdits segments d'adresses indirectes est dirigé vers (ln espace de traduction particulier contenant les traductions servant a convertir ledit segment dgadresse indirecte en ladite adresse physique, - un bus (140) de tranmaission d'adresses physiques accouplé audit dispositif de gestion de mémoire (18; 100) et accouplé au moins à une ressource de traitement de données comportant une pluralité d'adresses physiques dont chacune est définie par ledit segment d'adresse directe en liaison avec ladite adresse indirecte traduite délivrée dans lesdites lignes de transmission d'adresses physiques (130), ceci ayant pour effet, pour un dispositif de traitement de données, une possibilité d'accès, à grande vitesse, à ladite ressource de traitement de données par la transmission d'un segent &adresse directe directement
à cette ressource,et dmn segment d'adresse indirecte tra-
dui1 à ladite ressource de manière à définir un emplacement
d'adresse physique.
14. Système selon la revendication 13, caractérisé en ce que ledi.t segment d'adresse indirecte inclut des bits
de contexte définissant l'adresse unique dudit espace de tra-
duction correspondant au dispositif de traitement de données particulier délivrant ledit segment d'adresse indirecte.
15. Système selon la revendication 14, caractérisé en ce que lesdits bits de contexte (160) sont mémorisés dans un registre de contexte accouplé audit bus de transmission
d'adresses virtuelles (104) de telle sorte que le contenu du-
-i dit registre est mis à jour lorsqu'un dispositif de traitement
de données différent a accès audit bus de transmission d'a-
dresses virtuelles.
16. Système selon la revendication 15, caractérisé en ce que l'une desdites ressources de traitement de données comprend:
- un réseau de mémoire (283) comportant des lignes et des co-
lonnes de lignes de commande pour les éléments de mémorisation
de bits situés au niveau des intersections des lignes de com-
mande des lignes et des colonnes, l'emplacement desdits élé-
ments de mémoire étant spécifié par des segments d'adresses indirectes traduiteset par des segments d'adresses directes,et dans lequel soit les lignes ou les colonnes des lignes de commande sont raccordées de manière à recevoir le segment direct de l'adresse de mémoire, soit les colonnes ou les lignes sont raccordées de manière à recevoir l'adresse indirecte traduite dans lesdites lignes de transmission d'adresses physiques,
- des moyens de cadencement (43) servant à réaliser l'échan-
tillonnage des lignes d'adresses de lignes et de colonnes du
réseau de mémoire principale (28), une impulsion d'échantillon-
nage pour le segment d'adresses de mémoire directe apparais-
sant peu avant une impulsion d'échantillonnage pour le segment
d'adresse de mémoire directe traduite les impulsions d'échan-
tillonnage assurant l'utilisation de segmentsd'adresses indi-
rectes traduitsetde segments d'adresses directes par spécifi-
cation d' emplacements de mémorisation de bits dans le réseau
de mémoire principale.
17.- Système ordinateur utilisant une traduc-
tion d'adresses, caractérisé en ce qu'il comporte: - un bus (102) de transmission d'adresses de mémoire comprenant: une pluralité de lignes d'adresses en
parallèle alimentées par un processeur, ledit bus d'adres-
ses comprenant des moyens pour subdiviser une adresse de mémoire en des segments d'adresses directes et des segments d'adresses indirectes (ou virtuelles); un dispositif de gestion de mémoire (18; 100) raccordé de manière à recevoir lesdits segmecnts indirects de ladite adresse de mémoire par l'intermédiaire de lignes d'entrée de segments d'adresses indirectes, de manière à traduire un segment d'adresse indirect provenant d'une adresse logique spécifiée par ledit ordinateur en une adresse physique, ledit dispositif de gestion de mémoire étant un réseau de mémoire fonctionnant à vitesse
relativement élevée dont la sortie s'effectue par l'inter-
médiaire de lignes de transmission d'adresses physiques
(130);
un réseau de mémoire principale d'ordinateur du type comportant des lignes et des colonnes de lignes de commande pour les éléments de mémorisation de bits situés au niveau des intersections
des lignes de commande des lignes et des colonnes, l'em-
placement desdits éléments de mémoire étant spécifié par des segments d'adresses indirectes traduites et par des segments d'adresses directes, et dans lequel soit les
* lignes ou les colonnes des lignes de commande sont rac-
cordées de manière à recevoir le segment direct de l'adresse de mémoire, et o les colonnes ou les lignes sont raccordées de manière à recevoir l'adresse indirecte traduite par lesdites lignes de transmission d'adresses physiques; des moyens de cadencement (43) servant à réaliser l'échantillonnage des lignes d'adresses des lignes et des colonnes du réseau de mémoire principale (28), une impulsion d'échantillonnage pour le segment d'adresse de mémoire directe apparaissant peu avant une impulsion d'échantillonnage pour le segment d'adresse de
mémoire indirecte traduite, les impulsions d'échantillon-
nage assurant l'utilisation de segments d'adresses indi-
rectes traduites et de segments d'adresses directes par spécification d'emplacements de mémorisation de bits dans
le réseau de mémoire principale.
FR848416569A 1983-10-31 1984-10-30 Memoire fonctionnant a grande vitesse et systeme de gestion de cette memoire Expired - Fee Related FR2560411B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/547,397 US4550368A (en) 1982-07-02 1983-10-31 High-speed memory and memory management system

Publications (2)

Publication Number Publication Date
FR2560411A1 true FR2560411A1 (fr) 1985-08-30
FR2560411B1 FR2560411B1 (fr) 1991-04-26

Family

ID=24184505

Family Applications (1)

Application Number Title Priority Date Filing Date
FR848416569A Expired - Fee Related FR2560411B1 (fr) 1983-10-31 1984-10-30 Memoire fonctionnant a grande vitesse et systeme de gestion de cette memoire

Country Status (6)

Country Link
US (1) US4550368A (fr)
JP (1) JPS60114953A (fr)
DE (1) DE3438869A1 (fr)
FR (1) FR2560411B1 (fr)
GB (1) GB2149158B (fr)
SE (1) SE455740B (fr)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4805097A (en) * 1984-08-03 1989-02-14 Motorola Computer Systems, Inc. Memory management unit with dynamic page allocation
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
JPS63163648A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ管理装置
US4891752A (en) * 1987-03-03 1990-01-02 Tandon Corporation Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging
DE3890141T1 (de) * 1987-03-03 1989-04-13 Tandon Corp Computersystem mit computeradressenmodifiziersystem
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4914577A (en) * 1987-07-16 1990-04-03 Icon International, Inc. Dynamic memory management system and method
US4839796A (en) * 1987-07-16 1989-06-13 Icon International, Inc. Static frame digital memory
JPH02500224A (ja) * 1987-08-10 1990-01-25 タンドン コーポレーション コンピュータ・アドレス変換装置を備えたコンピュータ・システム
US5101339A (en) * 1987-08-10 1992-03-31 Tandon Corporation Computer address modification system using writable mapping and page stores
GB2210480B (en) * 1987-10-02 1992-01-29 Sun Microsystems Inc Flush support
JP2644780B2 (ja) * 1987-11-18 1997-08-25 株式会社日立製作所 処理依頼機能を持つ並列計算機
IT1216086B (it) * 1988-03-15 1990-02-22 Honeywell Bull Spa Memoria tampone ad indirizzamento pseudo virtuale.
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US4974146A (en) * 1988-05-06 1990-11-27 Science Applications International Corporation Array processor
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
GB8814076D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data processing system
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
US5097483A (en) * 1989-02-21 1992-03-17 Sun Microsystems, Inc. Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
US5150471A (en) * 1989-04-20 1992-09-22 Ncr Corporation Method and apparatus for offset register address accessing
JPH031260A (ja) * 1989-05-30 1991-01-07 Hitachi Ltd 計算機方式
US5307468A (en) * 1989-08-23 1994-04-26 Digital Equipment Corporation Data processing system and method for controlling the latter as well as a CPU board
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
WO1991004540A1 (fr) * 1989-09-08 1991-04-04 Auspex Systems, Inc. Architecture d'un systeme d'exploitation comprenant plusieurs unites de traitement
US5584003A (en) * 1990-03-29 1996-12-10 Matsushita Electric Industrial Co., Ltd. Control systems having an address conversion device for controlling a cache memory and a cache tag memory
US5659797A (en) * 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
DE69315630T2 (de) * 1992-07-23 1998-07-16 Rockwell International Corp Datenzugriff in einem RISC-Digitalsignalprozessor
WO1994029796A1 (fr) * 1993-06-03 1994-12-22 Network Appliance Corporation Procede d'attribution de fichiers dans un systeme de fichiers integre dans un sous-ensemble a disques raid
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
EP1003103B1 (fr) * 1993-06-03 2008-10-01 Network Appliance, Inc. Méthode et dispositif décriture d'un système de fichiers dans une zone non prédéterminée
EP0701715A4 (fr) * 1993-06-04 1999-11-17 Network Appliance Corp Procede permettant d'assurer la parite dans un sous-systeme raid au moyen d'une memoire remanente
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US5897662A (en) * 1995-08-18 1999-04-27 International Business Machines Corporation Pseudo-random address generation mechanism that reduces address translation time
US5848293A (en) * 1995-11-03 1998-12-08 Sun Microsystems, Inc. Method and apparatus for transmission and processing of virtual commands
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
CA2205313C (fr) * 1996-05-28 2005-01-18 Tecton Products Composant en plastique insensible aux elements et methode de fabrication
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6061749A (en) * 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
WO2001028179A2 (fr) 1999-10-14 2001-04-19 Bluearc Uk Limited Appareil et procede de mise en oeuvre de materiels ou d'acceleration des fonctions du systeme d'exploitation
JP3604977B2 (ja) * 1999-10-14 2004-12-22 Necエレクトロニクス株式会社 バスインタフェース回路作成装置及び記録媒体
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7937499B1 (en) * 2004-07-09 2011-05-03 Oracle America, Inc. Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
US7480784B2 (en) 2005-08-12 2009-01-20 Advanced Micro Devices, Inc. Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU)
US7543131B2 (en) 2005-08-12 2009-06-02 Advanced Micro Devices, Inc. Controlling an I/O MMU
US7516247B2 (en) 2005-08-12 2009-04-07 Advanced Micro Devices, Inc. Avoiding silent data corruption and data leakage in a virtual environment with multiple guests
US7793067B2 (en) * 2005-08-12 2010-09-07 Globalfoundries Inc. Translation data prefetch in an IOMMU
TW200712997A (en) * 2005-09-23 2007-04-01 Elan Microelectronics Corp Method for compensating sensitivity of touch pad sensor
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US7548999B2 (en) * 2006-01-17 2009-06-16 Advanced Micro Devices, Inc. Chained hybrid input/output memory management unit
US7673116B2 (en) * 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
US7653803B2 (en) * 2006-01-17 2010-01-26 Globalfoundries Inc. Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU)
US7739474B2 (en) * 2006-02-07 2010-06-15 International Business Machines Corporation Method and system for unifying memory access for CPU and IO operations
US7743221B2 (en) * 2006-07-03 2010-06-22 Mediatek Inc. Memory sharing method for sharing SRAM in an SOC device
US7873770B2 (en) 2006-11-13 2011-01-18 Globalfoundries Inc. Filtering and remapping interrupts
US7849287B2 (en) 2006-11-13 2010-12-07 Advanced Micro Devices, Inc. Efficiently controlling special memory mapped system accesses
CN101231616B (zh) * 2007-01-22 2010-12-22 联发科技股份有限公司 存储器共享方法
JP4926120B2 (ja) * 2007-04-26 2012-05-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ処理システムおよびデータ処理方法
US9292533B2 (en) 2010-06-08 2016-03-22 Dell Products L.P. Systems and methods for improving storage efficiency in an information handling system
US8631212B2 (en) 2011-09-25 2014-01-14 Advanced Micro Devices, Inc. Input/output memory management unit with protection mode for preventing memory access by I/O devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3487373A (en) * 1965-11-16 1969-12-30 Gen Electric Apparatus providing symbolic memory addressing in a multicomputer system
US3412382A (en) * 1965-11-26 1968-11-19 Massachusetts Inst Technology Shared-access data processing system
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
US3902164A (en) * 1972-07-21 1975-08-26 Ibm Method and means for reducing the amount of address translation in a virtual memory data processing system
US3854126A (en) * 1972-10-10 1974-12-10 Digital Equipment Corp Circuit for converting virtual addresses into physical addresses
US3976978A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Method of generating addresses to a paged memory
US4037215A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key controlled address relocation translation system
JPS5326543A (en) * 1976-08-24 1978-03-11 Nec Corp Logical operation equipment
US4092715A (en) * 1976-09-22 1978-05-30 Honeywell Information Systems Inc. Input-output unit having extended addressing capability
JPS53121426A (en) * 1977-03-31 1978-10-23 Hitachi Ltd Data processor having address conversion unit
GB2008821B (en) * 1977-11-04 1982-01-13 Sperry Rand Corp Digital computers
JPS5847742B2 (ja) * 1978-04-27 1983-10-24 株式会社東芝 記憶制御方式
US4388685A (en) * 1978-08-04 1983-06-14 Digital Equipment Corporation Central processor with apparatus for extended virtual addressing
JPS56134384A (en) * 1980-03-26 1981-10-21 Hitachi Ltd Memory access system
US4434459A (en) * 1980-04-25 1984-02-28 Data General Corporation Data processing system having instruction responsive apparatus for both a basic and an extended instruction set
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELECTRONIC DESIGN, vol. 30, no. 8, avril 1982, pages 77-86, Waseca, MN, Denville, NJ, US; C. BAILEY: "Bus standards enrich microcomputer board variety" *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 21, no. 10, mars 1979, pages 3997-3998, New York, US; D.C. HUNTER: "Storage addressing method which provides invisible virtual address translation" *
WESCON CONFERENCE RECORD, vol. 25, septembre 1981, pages 1-8, El Segundo, CA, US; L. HUNTER: "Inplementing a virtual memory system using the MC68451 memory management unit" *

Also Published As

Publication number Publication date
SE8405456L (sv) 1985-05-01
US4550368A (en) 1985-10-29
JPH0584532B2 (fr) 1993-12-02
GB2149158B (en) 1987-06-17
SE455740B (sv) 1988-08-01
DE3438869A1 (de) 1985-05-09
GB2149158A (en) 1985-06-05
JPS60114953A (ja) 1985-06-21
FR2560411B1 (fr) 1991-04-26
SE8405456D0 (sv) 1984-10-31
DE3438869C2 (fr) 1989-12-14
GB8424377D0 (en) 1984-10-31

Similar Documents

Publication Publication Date Title
FR2560411A1 (fr) Memoire fonctionnant a grande vitesse et systeme de gestion de cette memoire
CN101128804B (zh) 在低延时存储器中数据结构的选择性复制
FR2480460A1 (fr) Dispositif pour transferer des informations entre des unites principales d'un systeme de traitement de donnees et un sous-systeme central
FR2539239A1 (fr) Systeme d'ordinateur a taches multiples a gestion de memoire
FR2562288A1 (fr) Calculateur numerique pour la mise en oeuvre d'un algorithme de simulation declenche par les evenements
FR2578071A1 (fr) Installation de multitraitement a plusieurs processus
FR2982443A1 (fr) Procede de gestion d'un dispositif de bus
EP0466265A1 (fr) Dispositif de contrôle pour une mémoire tampon à partitionnement reconfigurable
EP1324175B1 (fr) Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
FR2513410A1 (fr) Microprocesseur et procede pour imbriquer les acces en memoire de ce microprocesseur
US7783823B2 (en) Hardware device data buffer
EP1607878B1 (fr) Procédé de traitement d'une adresse virtuelle pour la programmation d'un contrôleur de DMA, système sur puce et programme d'ordinateur associés
US5079696A (en) Apparatus for read handshake in high-speed asynchronous bus interface
CA2250999A1 (fr) Dispositif d'echange entre unites de traitement d'informations a processeurs interconnectes par un bus commun
US5146560A (en) Apparatus for processing bit streams
CH621201A5 (fr)
FR2493562A1 (fr) Systeme d'utilisation de disques en commun et d'intercommunication entre disques
GB2263046A (en) Apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
FR2518781A1 (fr) Ensemble de traitement reparti de donnees et controleur de transmissions
FR2588397A1 (fr) Appareil et procede pour ameliorer la performance de l'unite centrale de traitement de donnees dans un microprocesseur
EP0082903B1 (fr) Unité de commande pouvant être connectée à deux mémoires de vitesses différentes
EP0073081B1 (fr) Système de traitement des données avec un dispositif de commande pour commander une mémoire intermédiaire pendant un transport de données en quantité entre un dispositif source et un dispositif de destination
FR2531791A1 (fr) Circuit d'adressage pour equipement de test automatique
EP1341093B1 (fr) Accès à une ressource collective
CH631018A5 (en) Data processing installation

Legal Events

Date Code Title Description
ST Notification of lapse