CA1127317A - Dispositif de conversion d'adresse virtuelle en adresse reelle - Google Patents

Dispositif de conversion d'adresse virtuelle en adresse reelle

Info

Publication number
CA1127317A
CA1127317A CA332,073A CA332073A CA1127317A CA 1127317 A CA1127317 A CA 1127317A CA 332073 A CA332073 A CA 332073A CA 1127317 A CA1127317 A CA 1127317A
Authority
CA
Canada
Prior art keywords
sequencer
output
circuit
signal
access
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.)
Expired
Application number
CA332,073A
Other languages
English (en)
Inventor
Jacques M. Allain
Daniel Courtel
Jean-Louis Joubert
Jean-Pierre Vidonne
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.)
Thales SA
Original Assignee
Le Materiel Telephonique Thomson CSF
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 Le Materiel Telephonique Thomson CSF filed Critical Le Materiel Telephonique Thomson CSF
Application granted granted Critical
Publication of CA1127317A publication Critical patent/CA1127317A/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

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)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PRECIS DE LA DIVULGATION :

Dispositif de conversion d'une adresse virtuelle contenue dans une instruction en une adresse réelle d'accès en mémoire, lorsque les données mémorisées sont organisées en ensembles fonctionnels, eux-mêmes découpés en segments. La conversion est assurée à l'aide d'un registre de numéro d'en-semble fonctionnel, d'une table de descripteurs de segments, de registres dits "de base" et d'un dispositif de mise à jour des registres de base. L'invention s'applique aux systèmes de traitement de données.

Description

lLf~ 4 ~JI~ Y

La présente invention concerne un dispositif de conversion d'adresse vir-tuelle en adresse réelle.
On entend par adresse virtuelle, une adresse qui est con-tenue dans une ins-truction de programme et qui doit etre modifiée pour accéder aux informations représentées par un mot dans une mémoire centrale, alors qu'une adresse réelle perme-t un accès direct.
On entend par mémoire centrale, la mémoire dans la-quelle se trouvent les informations auxquelles l'unité centrale d'un calculateur accède directement, par opposition aux mémoi-res auxiliaires.
L'invention concerne plus par-ticulièrement un dispo-sitif de conversion dladresse virtuelle en adresse réelle pour systeme de traitement de données en temps réel dans lequel les programmes sont répartis en ensembles fonctionnels numérotés/
chaque ensemble fonctionnel étant lui-meme découpé en segments définis par autant de descripteurs.
Le découpage d'un programme en segments, ou segmen-tation, est une méthode qui permet de limiter l'encombrement en mémoire centrale en ne chargeant en mémoire centrale à un instant donné, que le segment dont on a besoin pour exécuter le programme à cet instant.
Un dispositif de conversion classique met en oeuvre un registre de numéro d'ensemble fonctionnel, une table de descripteurs de segments localisée dans la mémoire centrale du système de traitement de données et des registres dits "de base"
aptes ~ stocker chacun un descripteur de segment, llensemble de ces registres étant apte à stocker les descrip-teurs de segments nécessaires pour un ensemble fonctionnel.
La segmentation oblige à consulter la table de des-cripteurs de segments avant chaque accès à la mémoire centrale.En effe-t, l'adresse virtuelle (seule connue du programmeur), ~' ..

~ ~ ~7~L7 indique uniquement le déplacemen-t (ou adresse relative) ~ .
l'intérieur du segment. Pour avoir l'adresse absolue il est nécessaire d'ajouter au déplacement la base (ou adresse de début) du segment qui est donnée par la table de descripteurs de seyments. Cet-te base compos~e d'un nombre détermin~ d'éle~
ments binaires es-t classiquement associée à un code d'accès et à une information de taille dù segment pour former un des-cripteur de segrnent. Clest le système d'exploitation du sys-tème de traitement de données qui gère la table de descrip-teurs de segments c'est-à-dire l'emplacement des segments en mémoire centrale.
Dlautre part le groupement de segments en ensembles fonctionnels conduit à consulter un registre de numéro d'ensem ble fonctionnel avant chaque accès ~ la table de descripteurs de segments. En effet :i.l est préférable dluti.liser des instructions de changement dlensemble fonctlonnel destinées à
mettre à jour le registre de numéro d'ensemble fonctionnel : plutôt que d'indiquer ce numéro dans -tou-tes les instructions d'un meme ensemble fonctionnel. Ceci permet dlaugmenter la .

capacité d'adressage du système de traitement de données.

Dans les systèmes de traitemen-t de données en multi-prograr~ma-tion connus utilisant la segmentation et la réparti-tion des programmes en ensembles fonctionnels un programme desupervision est appelé à chaque changement d'ensemble fonction-nel pour mettre à jour les registres de base.
Un inconvénient de la méthode de mise à jour par programme est son temps dlexécution relativement élevé. Cette méthode est donc dlautant moins acceptable que les chanyemen-ts d'ensembles fonctionnels sont fréquents ce qui est le cas notamment dans les systèmes de traitement de données utilisés dans les centraux téléphoniques du type électronique~
D'autre part dans les systèmes connus à chaque changement d'ensemble fonctionnel, le programme de supervi.sion met à jour tous les registres de base de l'unite centrale.
Cette methode conduit à augmenter inutilement le temps d'exe- ;
cution du programme de supervision. En effet r dans l'exemple de l'application à la telephonie, on fait rarement un traite-ment sur tous les segments d'un même ensemb:Le fonctionnel avant de changer d'ensemble fonctionnel.
La presente invention a pour but de remedier aux in-convenients precites.

Selon une caracteristique de l'invention, le dispo-sitif de conversion d'adresse virtuelle en adresse reelle est tel que la mise à jour des registres de base est realisee auto~
matiquement et a la demande par un dispositif de mise ~ jour :~
des registres de base.
Plus particulièrement, la presente invention propose un dispositif de conversion d'adresse virtuelle en adresse reelle, pour systeme de traitement de donnees en temps reel dans lequel. les programmes sont repartis en ensemble fonction-nel etant lui-meme decoupe en segments, la conversion etant assuree à partir d'un reglstre de numero d'ensemble fonction-nel, d'une table de descripteurs de segments localisee dans la memoire centrale du s~st8me de traitement de donnees et de re-gistres de base localises dans l'unite centrale du système de traitement de donnees aptes à stocker les descripteurs de seg-ments relatifs a un ensemble fonctionnel, caracter~se en ce :~
qu'il comporte un dispositi de mise à jour des registres de :
base constitue par: :
- une table d'indicateurs de valldite, par rapport à
llensemble fonctionnel en cours d'execution/ des descripteurs de segments contenus dans les regi`stres de base, - un circuit de commande d'accès à la memoire cen-trale permettant de commander.soit un accès normal d'exécution _ 3 _ ` ' ' '~: . . ~ `: ' Z.,7~7 d'une instruction~ soit un acces prealable à la table de des-cripteurs de segments suivi d'un acces normal selon que le descripteur du segment en cours d'execution est ou non present dans les registres de base.
Les objets et caractéristiques de la presente inven~
tion apparaltront plus clairement a la lecture de la descrip-tion suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins ci-annexes lesquels:
La figure 1 presente un schema synoptique du dispo-sitif de conversion d'adresse et de son environnement.
La figure 2 présente un schéma détaillé de la table . .. . , ~ . . ..

... . ... . , . . , . "

. , , , ::

. :, , : ~: ,. , ,: , ,.
,~

~ 'F ~J

d'indicateurs de validité.
La figure 3 présen-te un schéma dé-taillé du circuit de commande d'accès à la mémoire centrale.
Sur la figure 1, on voit que le dispositif de con-version d'adresse 1 communique avec l'unite centrale 2 et avec la mémoire centrale 3. Le dispositif de conversion d'adresse 1 comporte des registres de base 4 aptes à stocker la table partielle des descripteurs de segments de l'ensemble fonc~
tionnel en cours d'exécution, un additionneur 5 pour former o 1 9 adresse réelle, c'est-à-dire l'adresse de la mémoire centrale lors de l'accès normal d'exécution d'une instruction, e-t un registre 6 pour former lladresse préalable, c'est-à-dire l'a-dresse de la mémoire centrale lors de l~accès préala'ble à la table de descripteurs de segments 7 localisée dans la mémoire centrale.
Conformément à l~invention, le dispositif de conver-sion d1adresse 1 comporte un dispositif ~ de mise à jour des reyistres de base comportant lui-même une table 9 d'indica-teurs de validité, par rapport à l'ensemble fonctionnel en cours d'exécution, des descripteurs de segmen-ts contenus dans les registres de base et un circuit 10 de commande d'accès à la mémoire centrale, permettant de commander soit un accès normal, soit un accès préalable à la table de descripteurs de segments suivi d'un accès normal selon que le descripteur du segment défini dans l'instruction en cours d'exécution est ou non présent dans les registres de base.
L'adresse virtuelle est fournie par un registre d'a-dresse virtuelle 11 localisé dans l'unité centrale n Ce regis-tre contient le numéro du segrnent en cours d'exécution (éléments binaires S0 à S4) et le déplacement à l'intérieur de ce segment (éléments binaires NLo à NL9). Le code opératoire de l'i.ns-truc-tion (élémen-ts binaires OP0 ~ OP7) est fourni par un regis-tre . . .

d'instruction ll localisé dans l'unité centrale. Le numéro de l'ensemble fonctionnel en cours d'exécu-tion (éléments binaixes Eo à E6) est fourni par un registre 12 de numéro d'ensemble fonctionnel localisé dans l'unité centraleO L'adresse de début de la table de descripteurs de segments (éléments binaires Bo à B6) est fournie par un pointeur 13 localisé dans l'unité
centrale.
Dans l'expresslon "en cours d'exécution", le terme "exécution" désigne toutes les opérations effectuées a partir du chargement de l'instruction dans le registre d'instruction.
L'additionneur 5 forme l'adresse réelle (éléments binaires ARg à AR3l) à partir du descripteur de segment (éléments binaires BSo à BSlg) fourni par les registres de base et du déplacement dans le segment (éléments binaires NLo à NLg) -fourni par lc-registre ll. Le registre 6 forme l'adresse préalable (éléments binaires APl3 à AP3l) par juxtaposi-tion du numéro de segment, du numéro d'ensemble fonctionnel et de l'adresse de début de la table de descripteurs de segments. L'unlté centrale com-porte egalement un circuit 14 de décodage d'instructions de changement d'ensemble fonctionnel qui reçoit le code opératoire.
Le nombre d'éléments binaires choisi pour coder les différents signaux ne constitue qu'un exemple des-tiné à mieux illustrer l'invention. Toutes modifications peuvent e-tre ap- -portées à ce nombre sans sortir du cadre de l'inven-tion.
Le fonctionnement du dispositif décrit ci-dessus sera maintenant décrit en envisageant les différents types d'instructions.
Si le code opératoire de l'instruc-tion indique qu'il s'agit d'une instruc-tion autre qu'une instruction de changement 0 d'ensemble fonctionnel, l'unité centrale émet un signal DM de demande d'accès à la mémoire centrale vers le circuit lO de .

%7~

commande d'accès à la mémoire centrale, Le circuit de commande 10 doit tout diabord vérifier si le descripteur du segmen-tencours d'exécution est présent dans les registres de base. Pour cela, le numéro du segment en cours d'exécution est appliqué à l'en-tr~e de la tahle d'indicateurs de validit~ qui fournit alors un signal VDS de va:Lidité de descripteur de segmen-t au circuit de commande 10.
Si le signal VDS indique que le descripteur du seg-ment en cours d'exécution est présent dans les registres de base, c'est-à-dire si ce descrip-teur est valide, l'accès normal : ::
est commandé. Pour cela, le numéro du segment en cours d'exé-cution est appliqué à l'entrée des registres de base qui four-nissent alors la base du descripteur à l'additionneur 5. .Le circuit de commande 10, recevant l'adresse réelle et l.'adresse préalable, sélectionne alors l'adresse réelle et émet un signal DCM de déclenchement d'accès mémoire vers la mémoire centrale~
L'adresse de la mémoire centrale (éléments binaires AMg ~ AM31) é-tant égale à l'adresse réelle, les données lues dans la mémoire centrale (éléments binaires DOMo à DOM31) pourront etre prises en compte par l'unité centrale~ Pour cela, le signal RM de ~ ^

réponse mémoire émis par la mémoire centrale vers le circuit de commande 10 est transformé par le circuit de commande 10 en un si.gnal DV de validation de données destiné à l'unité centrale.
Par contre, si le signal VDS indique que le descrip-teur du segment en cours d'exécution n'est pas présent dans les registres de base, un accès préalable à la table de descripteurs de segments est commandé. Pour cela, le circuit de commande 10 sélectionne l'adresse préalable et émet un signal D~M de déclenchement d'accès à la mémoire centrale vers la mémoire centrale. L'adresse de la mémoire centrale étant égale ~
l'adresse préalable, le circuit de commande 10 inhibe l'émission du signal DV vers l'unité centrale et autorise l'écriture des , L~

données DOMo à DOM31 dans l.es registres de base par l'émission vers les registres de base d'un signal ERB de commande d'écri-ture dans les registres de base. Puis le circui.t de commande 10 émet vers la table d'indicateurs de validité un signal EIV
de commande d'écriture dans la table d'indi.cateurs de validité
destiné à changer l'é-tat de l'indicateur de validi-té du des-cripteur du segment en cours d~exécution. L'accès réel peut alors être commandé et l~opération se déroule comme décrit précédemment.

Si le code opératoire de l'instruction indique qu'il s'agit d'une instruction de changement d'ensemble fonctionnel, le décodeur de code opératoire provoque le changement d'état de l'ensemble des indicateurs de validité de la -table 9 au moyen d'un s.ignal ETIV et le registre 12 de numéro d'ensemble fonc-tionnel voit également son contenu changer.
Dans l'exemple décrit à la figure 1, le numéro de segment est codé à l'aide de 5 éléments binaires (S0 à S4).
Le nombre maximum n de segments par ensemble fonctionnel est donc égal à 32.

La table d'indicateurs de validité montrée à la figure 2 comporte alors 32 bascules indicatrices BIo à BI
du type "D".
Le circuit de lec-ture de la table d'ind:icateurs de validité est constitué par un multiplexeur de lec-ture 15, à 32 ;~
entrées reliées aux sorties Q des bascules indicatrices, com-mandé par le numéro du segment en cours d'exécution (éléments binaires S0 à S4). Le signal de sortie VDS du multiplexeur 15 est égal au signal disponible sur la bascule indicatrice dont le numéro co~ncide avec le numéro de segment.

L'entrée D des n bascules indicatrices est maintenue au niveau logique "un".

Le circuit d'écri-ture des bascules indicatrices est constitué par un circui-t de co~ncidence comportant 32 portes "ET" P0 a P31 ayant chacune une entrée alimentée par le signal EIV de commande d'écriture dans la table d'indicateurs de validité, une entrée reliée à l'une des sorties d'un décodeur 16 de numéro de segment et une sortie reliée à l'entrée d'horloge CK de l'une des bascules indicatrices. Le décodeur 16 a une entrée maintenue au niveau logique "un" et est com-mandé par les éléments blnaires S0 à S~. L'en-trée CI. de for-c,age au niveau logique "zéro" des 32 bascules indica-trices rec,oit le signal ETIV de sortie du circuit de décodage dlins-tructions de changement d'ensemble fonctionnel.
A la suite d'une demande dlaccès DM ~ la mémoire centrale, le circuit de commande 10 teste le signal VDS. Si le signal VDS est au niveau logique "un", cela signifie que le descripteur du segment en cours d'exécution est présent dans les registres de base, donc que l'accès normal peut avoir lieu. :-Si le signal VDS est au niveau logique "zéro", le circuit de cornmande 10 commande un accès préalable à la table de descrip-teurs de segments et, lorsque le descripteur est chargé dans les registres de base, émet un signal EIV de niveau logique ;~
"un" vers la table d'indicateurs de validité. Ce signal EIV
permet alors en combinaison avec le décodeur 16, d'activer la :
bascule indicatrice dont le numéro correspond au numéro du segment en cours d'e~écution, provoquant ainsi le passage au niveau logique "un" de la sortie Q de cette bascule.
Si l'on se réfère maintenant à la figure 3, on voit que le circuit de commande d'accès ~ la mémoire centrale comporte un multiplexeur 17 d'adressage de la mérnoire centrale, un sé-quenceur constitué par une première ligne à retard 18 et par une seconde ligne à retard 19, un circuit 20 de détection de ~7~

validité de descripteur de segment, un circuit 21 de commande du multiplexeur 17, un circuit 22 de commande d'écriture dans les registres de base, un circuit 23 de commande d'écriture dans la table d'indicateurs de validité, un circuit 2~ de déclenchement d'accès à la mémoire centrale, et un circuit 25 de validation des données 1.ues en mémoire centrale.
La première ].igne à retard 18 est munie d'une borne d'entrée 26 qui consti-tue la première borne d'entrée du séquen-ceur et qui re~oit le signal DM de demande d'accès à la mémoire centrale, d'une borne de sortie 27 qui constitue la première borne de sortie du séquenceur et qui fournit un premier signal Tl de sortie du séquenceur, d'une borne de sortie 28 qu;. cons-tltue la deuxieme borne de sortie du séquenceur et qui fournit un deuxième signal T2 de sortie du séquenceur, et d'une borne de sortie 29 qui constitue la troisième borne de sortie du séquenceur et qui fournit un troisième signal T3 de sortie du séquenceur.
La seconde ligne à retard 19 est munie d'une borne d'entrée 30 qui constitue la seconde borne d'entrée du séquen-ceur et qui re,coit le signal RM de réponse de la mémoire cen-trale, d'une borne de sortie 31 qui constitue la quatrième borne de sortie du séquenceur et qui fournit un quatrième signal T~ de sortie du séquenceur, d'une borne de sortie 32 qui constitue la cinquième borne de sortie du séquenceur et qui fournit un cinquième signal T5 de sortie du séquenceur, et d'une borne de sortie 33 qui constitue la sixième borne de sortie du séquenceur et qui fournit un sixième siynal T6 de sortie du séquenceur.
Le circuit 20 de détection de validité est cons-ti~

tué par une bascule 3~ de détection de validité, du type "JI~", dont l'entrée J reçoit le signal VDS inversé au moyen d'un 3~7 inverseur 35, dont l'entrée K es-t rnaintenue au niveau logique "zéro", dont l'entrée CL de for,cage au niveau logique "zéro"
re,coit le cinquième signal T5 de sortie du séquenceur, dont l'entrée d'horloge CK re~oit le premier sic~nal de sortie du séquenceur et dont la sort:Le Q ~ournit le signal D~V ~e détec-tion de validité.
Les signaux d'entrée du multiplexeur 17 sont cons-titués d'une part par l'adresse réelle (éléments binaires ARg à AR31) fournie par l'additionneur 5, dlautre part par l'adresse préalable (éléments binaires ~P13 à AP31) fournie par le regis-tre 6~ Sous la commande du signal SAD -fourni par le circuit 21, le multiplexeur 17 fournit le s.ignal d'adresse de la mé~ ~`
moire centrale (éléments binaires ~Mg à AM31), Le circuit 21 de cornmande d'adressage de la mémoire centrale est constitué
par une première porte "ET" entrele signal DTV et le troisième signal T3 de sortie du séquenceur. . .
Le circuit 22 de commande d',écriture dans les regis- ;
tres de base es-t constitué par une deuxième porte "ET" entre le signal DTV et le quatrième signal T~ de sortie du séquenceur.
Le circuit 23 de commande dlécriture dans la table d'indicateurs de validité est constitué par une troisième porte "ET" entre le signal DTV et le cinquième signal T5 de sortie du séquenceux.
Le circuit 24 de déclenchement d'accès à la mémoire centrale est constitué par une bascule de déclenchement 36, du type "D", dont l'entrée D est maintenue au niveau logique "un", dont l'entrée d'horloge CK re~coit le signal de sortie d'une première porte "OU" 37 entre le deuxième et le sixième signal de sortie du séquenceur, dont l'entrée CI. de forçage au niveau logique "zéro" rec,oit le signal de sortie d'une seconde por-te "OU" 38 entre le signal DTV et le cinquième , signal T5 de sortie du séquenceur, et dont la sortie Q fournit le signal DCM de déclenchement d'accès à la mémoire centrale.
Le circuit 25 de validation des données lues en mé-moire centrale est constitué par une quatrième porte "ET" 39 entre le signal RM reçu sur la seconde borne d'entrée du séquenceur et le signal DTV inversé au moyen d'un inverseur ~0.
En réponse à une première impulsion d'en-trée du séquenceur, c'est-a-dire à une demande d'accès à la mémoire centrale provenant de l'uni-té centrale, ]es signaux Tl, T2 et T3 présentent respectivement une première, une deuxième et une troisième impulsions de sortie du séquenceur retardées l'une par rappor-t à l'autre et par rapport à la première impulsion d'entrée du séquenceur d'un temps Eixé par la premiare ligne retard l~. I,a première impulsion de sortie du séqucnceur active la bascule 3~ de dé-tection de validité, Si le descrip-teur du segrnent en cours d'exécution n'est pas présent dans les registres de base, c'est à-dire si le signal VDS est au niveau logique "zéro", le signal DTV
passe alors au niveau logique "un"O ~ la deuxième impulsion de sortie du séquenceur, la bascule 36 de déclenchernent d'accès à la mémoire est activée, ce qui déclenche un accès préalable à la table de descripteurs de segrnents, avec une adresse préa-lable fournie par le multiplexeur 17 ~ la troisième impulsion de sortie du séquenceur. L'accès préalable étant effectué, le signal RM de réponse mémoire présente une impulsion qui consti-tue la seconde impulsion d'entrée du séquenceur. Du fait que le signal DTV est au niveau logique "un", le circuit de vali-dation 25 inhile l'émission du signal DV vers l'unité centrale.
En réponse à cette seconde impulsion d'entrée, les signaux T~, T5 et T6 présen-tent respectivement une quatrième, une cinquième et une sixième impulsions de sor~ie du séquenceur, re-tardées '7 l'une par rapport à l'autre et par rapport à la seconde -impulsion d'an-trée d'un temps fixé par la seconde ligne ~
retard 19. A la quatrième impulsion de sortie du séquenceur, le signal ERB est actif et commande l'ëcriture du descripteur dans les registres de base. A la cinquième impulsion de sortie du séquenceur, le signal EIV est actif et commande le passage au niveau logique "un" de l'indicateur de validité du descrip-teur. En même tempsj ~ la cinquième impulsion de sortie du séquenceur, le signal DTV repasse au niveau logique "zéro". ~ `

A la sixième impulsion de sortie du séquenceur, la bascule de déclenchement 36 est à nouveau activé, ce qui déclenche un --accès normal à la mémoire centrale, avec l~adresse réelle fournie par le multiplexeur 17. L'accès réel étant effectué, le signal RM va présenter une impulsion. Du fait que le signal DTV est au niveau logique "zéro", le circuit de validation 25 autorise l'émission du signal DV vers l'unité centrale.
Si le descripteur du segment en cours d'exécution est présent dans les registres de base, c'est-à-dire si le signal VDS est au niveau logique "un", à la première impulsion ; de sortie du séquenceur/ le signal DTV reste au niveau logique "zéro". A la deuxième impulsion de sor-tie du séquenceur, la bascule de déclenchemenbt 36 est activée, ce qui déclenche un ~ ~
accès normal avec l'adresse réelle fournie par le mul-tiplexeur ;`
17. Du fait que le signal DTV est au niyeau logique "zéro", lorsque l'accès normal est effectué, le circuit de validation 25 autorise l'émission du signal DV vers l'unité centrale.
On voit donc que la mise à jour des registres de base est réalisée automatiquement, c'est-à-dire sans que le program-meur ait besoin de s'en soucier, puisque le dispositif de mise à jour des registres de base est entièrement réalisé en logi-que câblée. D'autxe part, on voit que cette mise à jour es-t effectuée à la demande, au moyen de la table d'indicateurs de - . .. .

validité c'es-t-à-dire au fur et à mesure des beso:ins au lieu de s'effectuer systématiquement, puisque les descri.pteurs des segments non utilisés à l'intérieur d'un même ensemble fonc-tionnel ne sont pas chargés dans les registres de base~ La vitesse de traitement de données ob-tenue en utilisant un tel dispositif de mise ~ jour de registres de base est donc -très supérieure à celle qui serait obtenue en utilisant un programme de supervision.
La mise à jour automatique et à la demande pourrait également etre réalisée.suivant le même principe par un au-to-mate microprogrammé au lieu d'un automate câblé.
~ ien que les principes de la préserlte inven-tion aien-t éte décrits ci-dessus en rela-tion avec un exemple particulie:r de réalisation, on comprendra clairement que ladite descrip--tion est faite seul.ement à titre d'exemple et ne limite pas la portée de l'invention.

Claims (10)

Les réalisations de l'invention, au sujet desquelles un droit exclusif de propriété ou de privilège est revendiqué, sont définies comme il suit :
1. Dispositif de conversion d'adresse virtuelle en adresse réelle, pour système de traitement de données en temps réel dans lequel les programmes sont répartis en ensemble fonctionnel étant lui-même découpé en segments, la conversion étant assurée à partir d'un registre de numéro d'ensemble fonctionnel, d'une table de descripteurs de segments localisée dans la mémoire centrale du système de traitement de données et de registres de base localisés dans l'unité centrale du système de traitement de données aptes à stocker les descrip-teurs de segments relatifs à un ensemble fonctionnel, caracté-risé en ce qu'il comporte un dispositif de mise à jour des registres de base constitué par :
- une table d'indicateurs de validité, par rapport à
l'ensemble fonctionnel en cours d'exécution, des descripteurs de segments contenus dans les registres de base, - un circuit de commande d'accès à la mémoire centrale permettant de commander soit un accès normal d'exécution d'une instruction, soit un accès préalable à la table de descripteurs de segments suivi d'un accès normal selon que le descripteur du segment en cours d'exécution est ou non présent dans les registres de base.
2. Dispositif selon la revendication 1, dans lequel l'unité centrale comporte un circuit de décodage d'instructions de changement d'ensemble fonctionnel, caractérisé en ce que la table d'indicateurs de validité est constituée par n bascules indicatrices du type "D" (n étant égal au nombre maximum de segments par ensemble fonctionnel) dont une entrée de forçage reçoit le signal de sortie du circuit de décodage d'instructions de changement d'ensemble fonctionnel, dont l'entrée "D" est maintenue au niveau logique "un", munies d'un circuit de lec-ture constitué par un multiplexeur de lecture à n entrées reliées aux sorties Q des bascules indicatrices, commandé par le numéro du segment en cours d'exécution, et d'un circuit d'écriture constitué par un circuit de coïncidence entre une commande d'écriture dans la table d'indicateurs de validité
provenant du circuit de commande d'accès à la mémoire centrale et le signal de sortie d'un décodeur de numéro de segment en cours d'exécution.
3. Dispositif selon la revendication 1 , com-portant un additionneur pour former l'adresse réelle à partir de la base du segment fournie par le descripteur du segment en cours d'exécution et du déplacement dans le segment fourni par l'adresse virtuelle de l'instruction en cours d'exécution, caractérisé en ce que le circuit de commande d'accès à la mémoire centrale comporte un multiplexeur d'adressage de la mémoire centrale dont les signaux d'entrée sont fournis par l'additionneur et par un circuit de formation d'adresse préa-lable, dont le signal de sortie constitue l'adresse de la mé-moire centrale, un séquenceur apte à fournir une suite déter-minée d'impulsions en réponse à une demande d'accès à la mémoire centrale provenant de l'unité centrale et à une réponse de la mémoire centrale destinée à l'unité centrale, un circuit de détection de validité de descripteur de segment, activé par le séquenceur et commandé par la table d'indicateurs de validi-té, un circuit de commande du multiplexeur d'adressage de la mémoire centrale, un circuit de commande d'écriture dans les registres de base, un circuit de commande d'écriture dans la table d'indicateurs de validité, un circuit de déclenchement d'accès à la mémoire centrale et un circuit de validation des données lues en mémoire centrale activés par le séquenceur et commandés par le circuit de détection de validité.
4. Dispositif selon la revendication 3, caractérisé
en ce que le séquenceur est constitué par une première ligne à retard apte à fournir sur une première, une deuxième et une troisième bornes de sortie du séquenceur une première, une deuxième et une troisième impulsions de sortie du séquenceur retardées l'une par rapport à l'autre et par rapport à une première impulsion d'entrée du séquenceur reçue sur une première borne d'entrée du séquenceur et constituée par une demande d'accès à la mémoire centrale provenant de l'unité centrale, et par une seconde ligne à retard apte à fournir sur une qua-trième, une cinquième et une sixième bornes de sortie du séquenceur une quatrième, une cinquième et une sixième impul-sions de sortie du séquenceur retardées l'une par rapport à
l'autre et par rapport à une seconde impulsion d'entrée du séquenceur reçue sur une seconde borne d'entrée du séquenceur et constituée par une réponse de la mémoire centrale destinée à l'unité centrale.
5. Dispositif selon la revendication 2, caractérisé en ce que le circuit de détection de validité de descripteur de segment est constitué par une bascule de détec-tion du type "JK", activée par la première impulsion de sortie du séquenceur, ayant son entrée J reliée à la sortie du multi-plexeur de lecture de la table d'indicateurs de validité via un inverseur, son entrée K maintenue au niveau logique "zéro", et son entrée de forçage au niveau logique "zéro" reliée à la cinquième borne de sortie du séquenceur.
6. Dispositif selon l'une des revendications 3,4 ou 5, caractérisé en ce que le circuit de commande du multiplexeur d'adressage de la mémoire centrale est constitué par une première porte "ET" entre le signal fourni par la sortie Q de la bascule de détection et le signal fourni par la troisième borne de sortie du séquenceur.
7. Dispositif selon l'une des revendications 3,4 ou 5, caractérisé en ce que le circuit de commande d'écriture dans les registres de base est constitué par une deuxième porte "ET" entre le signal fourni par la sortie Q de la bascule de détection et le signal fourni par la quatrième borne de sortie du séquenceur.
8. Dispositif selon l'une des revendications 3,4 ou 5, caractérisé en ce que le circuit de commande d'écriture dans la table d'indicateurs de validité est constitué par une troisième porte "ET" entre le signal fourni par la sortie Q de la bascule de détection et le signal fourni par la cinquième borne de sortie du séquenceur.
9. Dispositif selon l'une des revendications 3,4 ou 5, caractérisé en ce que le circuit de déclenchement d'accès à la mémoire centrale est constitué par une bascule de déclenchement du type "D", activée par le signal de sortie d'une première porte "OU" entre les signaux fournis par la deuxième et la sixième bornes de sortie du séquenceur, ayant son entrée D
maintenue au niveau logique "un", et son entrée de forçage au niveau logique "zéro" relié à la sortie d'une seconde porte "OU" entre le signal fourni par la sortie Q de la bascule de détection et le signal fourni par la cinquième borne de sortie du séquenceur.
10. Dispositif selon l'une des revendications 3,4 ou 5, caractérisé en ce que le circuit de validation des données lues en mémoire centrale est constitué par une quatrième porte "ET"
entre le signal reçu sur la seconde borne d'entrée du séquen-ceur et le signal fourni par la sortie ? de la bascule de détection.
CA332,073A 1978-07-19 1979-07-18 Dispositif de conversion d'adresse virtuelle en adresse reelle Expired CA1127317A (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR7821403 1978-07-19
FR7821403A FR2431732A1 (fr) 1978-07-19 1978-07-19 Dispositif de conversion d'adresse virtuelle en adresse reelle

Publications (1)

Publication Number Publication Date
CA1127317A true CA1127317A (fr) 1982-07-06

Family

ID=9210908

Family Applications (1)

Application Number Title Priority Date Filing Date
CA332,073A Expired CA1127317A (fr) 1978-07-19 1979-07-18 Dispositif de conversion d'adresse virtuelle en adresse reelle

Country Status (14)

Country Link
US (1) US4319322A (fr)
AU (1) AU4902179A (fr)
BE (1) BE877784A (fr)
BR (1) BR7904557A (fr)
CA (1) CA1127317A (fr)
DE (1) DE2929280A1 (fr)
ES (1) ES482579A1 (fr)
FR (1) FR2431732A1 (fr)
GB (1) GB2027549B (fr)
GR (1) GR69254B (fr)
IT (1) IT1235756B (fr)
SE (1) SE440831B (fr)
SU (1) SU1162377A3 (fr)
TR (1) TR20120A (fr)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432053A (en) * 1981-06-29 1984-02-14 Burroughs Corporation Address generating apparatus and method
JPS59128670A (ja) * 1983-01-12 1984-07-24 Hitachi Ltd ベクトル処理装置
US4654789A (en) * 1984-04-04 1987-03-31 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility
US4677548A (en) * 1984-09-26 1987-06-30 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility and forward expandable functionality
US4777589A (en) * 1985-06-28 1988-10-11 Hewlett-Packard Company Direct input/output in a virtual memory system
AU597363B2 (en) * 1987-05-22 1990-05-31 Honeywell Bull Inc. Present bit recycle and detect logic for a memory management unit
JPH01112450A (ja) * 1987-10-27 1989-05-01 Sharp Corp メモリ管理ユニット
CA1314108C (fr) * 1988-03-18 1993-03-02 Robert P. Ryan Table de renvoi et d'echange repartie pour memoire virtuelle
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
FR2722319B1 (fr) * 1994-07-08 1996-08-14 Thomson Csf Dispositif de visualisation couleurs
JP2820048B2 (ja) * 1995-01-18 1998-11-05 日本電気株式会社 画像処理システムとその記憶装置およびそのアクセス方法
FR2751398B1 (fr) * 1996-07-16 1998-08-28 Thomson Csf Dispositif d'eclairage et application a l'eclairage d'un ecran transmissif
EP1293905A1 (fr) * 2001-09-17 2003-03-19 STMicroelectronics S.r.l. Circuit pointeur
US20140059283A1 (en) * 2012-08-23 2014-02-27 Advanced Micro Devices, Inc. Controlling a memory array

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6806735A (fr) * 1968-05-11 1969-11-13
US3588829A (en) 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3815101A (en) * 1972-11-08 1974-06-04 Sperry Rand Corp Processor state and storage limits register auto-switch
JPS532296B2 (fr) 1973-03-19 1978-01-26
JPS51115737A (en) * 1975-03-24 1976-10-12 Hitachi Ltd Adress conversion versus control system
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4084226A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
US4084225A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator

Also Published As

Publication number Publication date
SE440831B (sv) 1985-08-19
GB2027549A (en) 1980-02-20
FR2431732A1 (fr) 1980-02-15
GB2027549B (en) 1982-06-30
SE7906180L (sv) 1980-01-20
BR7904557A (pt) 1980-04-08
BE877784A (fr) 1979-11-16
IT1235756B (it) 1992-09-28
ES482579A1 (es) 1980-04-01
US4319322A (en) 1982-03-09
AU4902179A (en) 1980-01-24
SU1162377A3 (ru) 1985-06-15
GR69254B (fr) 1982-05-11
TR20120A (tr) 1980-09-01
IT7924363A0 (it) 1979-07-16
DE2929280A1 (de) 1980-01-31
FR2431732B1 (fr) 1982-01-08

Similar Documents

Publication Publication Date Title
CA1127317A (fr) Dispositif de conversion d'adresse virtuelle en adresse reelle
US3218611A (en) Data transfer control device
GB1364800A (en) Programme sequence control
US3673573A (en) Computer with program tracing facility
FR2497374A1 (fr) Machine informatique pour traitement multitache
FR2513410A1 (fr) Microprocesseur et procede pour imbriquer les acces en memoire de ce microprocesseur
GB1328164A (en) Data retrieval apparatus
FR2588966A1 (fr) Circuit et procede de diagnostic utilisant des comparaisons de donnees d'essai bidirectionnelles
CN1010259B (zh) 分布控制存贮器字的体系结构
US3594734A (en) Programmable calculator
FR2479532A1 (fr) Procede et dispositif pour gerer les transferts d'informations entre un ensemble memoire et les differentes unites de traitement d'un systeme de traitement numerique de l'information
FR2590699A1 (fr) Systeme assurant la coherence pour les contenus d'une antememoire
FR2533736A1 (fr) Unite de gestion de memoire pour un ordinateur numerique
FR2645987A1 (fr) Dispositif d'acceleration des acces memoire dans un systeme informatique
GB1603935A (en) Vending machine selction counting apparatus
US3935563A (en) Computer footprint file
FR2488420A1 (fr) Dispositif d'obtention de l'histogramme des distances dans le temps entre des evenements successifs
US3490006A (en) Instruction storage and retrieval apparatus for cyclical storage means
US4562534A (en) Data processing system having a control device for controlling an intermediate memory during a bulk data transport between a source device and a destination device
US3676857A (en) Data storage systems
FR2901035A1 (fr) Procede et dispositif de gestion d'une table de correspondance d'acces a une memoire
FR2475763A1 (fr) Processeur numerique a structure pipeline
US3278730A (en) Computer especially useful in computing the square root of the product of two values
GB818145A (en) Electric digital data storage unit
SU989555A1 (ru) Устройство дл ввода информации

Legal Events

Date Code Title Description
MKEX Expiry