Brevet FR2083696A1 — publié le 19711217

La présente invention concerne un procédé de marquage de l'état d'une variable présente dans la mémoire d'un ordinateur et adressable au cours d'un processus. Cn entend ici par état d'une variable, par exemple, : la variable est connue, inconnue, etc... 5 Les langages ordinateur les plus connus, (Algol'6o, Fortran, etc...) ainsi oue les langages machine et d'assemblage sont du type algorithmique. Ces langages fournissent une série de stades au cours desquels on peut dériver des variables sortantes de variables entrantes. Les descriptions techniques et mathématiques courantes font beaucoup 10 plus usage de relations et d'équations que d'algorithmes. Une simple équation de définition pour une variable cette équation s'exprimant par : y = y(x^ , x^) correspondrait en langage algorithmique à : primo un algorithme qui dérive y de x^, .. x^, et secondo une condition draconienne disant qu'un £ connu à un certain moment doit être 15 rendu non valable si un des paramètres entrants x^, X£... change. Ceci a pour conséquence que le programmeur est obligé de choisir la structure de son programme de telle façon que cette condition draconienne soit remplie. S'il n'en était pas ainsi, le programme, au moment de l'adressage de la variable £, calculerait une valeur ^ erronée puisque, 20 au moment considéré, £ a la valeur précédemment déterminée alors que cette valeur a été modifiée par modification d'un ou de plusieurs des éléments x^ , x^... xn« D'autre part, le programmeur doit veiller aussi â ce qu'au cours d'uâ programme, une variable £ calculable à l'aide d'un autre programme soit disponible lorsqu'elle est adressée. S'il n'en est 25 pas ainsi entièrement ou partiellement (c'est-à-dire qu'on lie dispose que d'une approximation de la valeur y trouvée), la lecture du contenu (A(y)) d'une adresse A demandée par le programme ne donnerait qu'une valeur erronée ou approximative alors que le programme s'attend à y trouver la valeur exacte. 30 La présente invention a pour but de libérer le programmeur des difficultés de programmation précitées. Ce but peut être atteint de façon technique. A cet effet, le procédé de marquage de l'état d'une variable selon la présente invention est caractérisé en ce qu'on réserve, dans le mot se trouvant à l'adresse de la variable dans la mémoire ou 35 dans un mot de la mémoire d'où on adresse directement ou indirectement la variable, un espace de signalement dans lequel on peut marquer l'état de la variable, ce marquage d'état par le calculateur se produisant par signalisation de l'état atteint par la variable tandis que lors de l'adressage de la variable au cours d'un processus, la commande du 40 processus se déroule en fonction de cet état. Cela signifie que des 71 11321 2083696 moyens techniques sont prévus dans le calculateur pour utiliser un format de mot avec la place voulue pour l'espace de signalisation et qu'en outre la signalisation de l'état atteint par la variable et la commande du processus du calculateur en fonction de cet état lors de 5 l'adressage de la variable se produisent sous 1a. commande du programme» Avec ce procédé et ce système d'ordinateur conformes à l'invention, il est possible de se référer à une variable £ en un endroit quelconque du programme de l'ordinateur. Le nécessaire est toujours fait pour que l'état de la variable £ soit donné à l'adresse A, où on s'attend à 10 trouver jr ou d'où on se réfère directement ou indirectement à l'adresse de x* H peut se faire que soit connu et, dans ce cas, le programme peut continuer. Il peut aussi se faire que 2L est inconnu ou qu'il est impossible de déterminer £. Il faut alors interrompre le programme. Si la valeur de la variable n'est qu'approximative, on peut prendre une 15 décision si le programme en question doit continuer ou doit être interrompu, par exemple en l'attente d'un processus parallèle au cours duquel une approximation suffisamment précise de £ sera trouvée. Il peut aussi se produire que l'ordinateur calcule encore la. variable et, dans ce cas, le programme qui a besoin de la valeur de £ doit attendre. On peut 20 encore imaginer plusieurs autres états d'une variable pouvant être marqués. Dans le cas d'un ordinateur organisé de telle façon (par exemple des programmes à structure par blocs) que des emplacements de travail dans la mémoire sont réservés pour des groupes de variables 25 dites locales, il est intéressant dans le cas du procédé selon la présente invention, de réserver dans un tel emplacement de travail ou dans un mot pouvant adresser soit directement soit indirectement cet emplacement de travail,'un espace pour un mot clé dans lequel on groupe les espaces de signalement pour les variables présentes dans cet emplacement 30 de travail. Cela permet de corriger, c'est-à-dire de mettre à jour simultanément à l'aide d'une seule opération logique effectuée sur le mot clé, éventuellement les codes de signalement de toutes les variables occupant l'emplacement de travail considéré. Ceci permet, dans un tel cas, d'économiser l'adressage, la lecture, la modification et la réins-35 cription de chaque variable avec son signalement. On peut imaginer beaucoup de possibilités d'état pour une même variable. Dans la pratique, il est utile de diviser ces possibilités en deux groupes différents, par exemple un groupe principal d'états comprenant l'information disant qu'une variable est connue ou inconnue et 40 un groupe auxiliaire contenant de nombreuses autres informations concer 71 11321 3 2083696 nant d'autres possibilités, par exemple des approximations, etc... ïïn autre procédé selon la présente invention est donc caractérisé en ce que les états possibles des variables occupant un emplacement de travail sont subdivisés en deux groupes, un état possible du premier groupe étant 5 marqué ou signalé dans l'espace de signalement du mot clé appartenant à un emplacement de travail considéré tandis qu'un état possible du deuxième groupe est marqué ou signalé dans un espace de signalement appartenant directement à la variable elle-même. Cette subdivision en groupes et, par conséquent, le marquage d'une variable en partie dans le mot 10 clé et en partie dans l'espace de signalement de la variable elle-même empêchent que le mot clé ne devienne trop long. Il est important, en particulier dans le cas où un mot clé est compris dans un mot d'adressage direct ou indirect d'un emplacement de travail, que le mot clé, compte tenu de la vitesse d'adressage, çi'occupe pas trop d'espace, par exemple 15 plusieurs mots de la mémoire0 Un ordinateur dans lequel le procédé précité peut être exécuté peut donc convenir si, selon la présente invention, il y a des lignes de commande au moyen desquelles un état signalé d'une variable peut être inséré dans l'espace de signalement de cette variable tandis 20 que d'autres lignes de commande sont prévues pour reproduire l'état d'une variable à partir de l'espace de signalement par adressage de 1a. variable. Le procédé et l'ordinateur selon la présente invention ainsi que d'a.utres possibilités sont décrits plus en détail ci-après avec 25 référence aux dessins annexés, dans lesquels: La figure 1 représente un système d'ordinateur selon la présente invention permettant d'exécuter le procédé selon l'invention. La fig. 2 représente une structure de programme possible. La figure 3 représente un marquage d'état sur un chemin d'ac- 30 ces d'une variable. La figure 4 représente un marquage d'état d'ans un mot clé de plusieurs variables occupant un emplacement de travail. Les figures 5» 6 et 7 donnent des exemples d'un mot clé dans' un mot situé sur le chemin d'accès vers des variables présentes dans un 35 emplacement de travail. La figure 8 montre la répartition des états d'une variable entre un espace de signalement d'une variable et un mot clé, et La figure 9 donne un procédé légèrement différent pour l'introduction et la lecture d'un marquage d'état dans des espaces de signa-40 lem«nt de variables. 71 11321 4 2083696 L'ordinateur comprend une mémoire M avec un registre d'entrée IR, un registre de sortie UR (un deuxième registre étant représenté en pointillés avec la référence DR1) et un registre d'adressage AR. L'ordinateur comprend aussi un appareil de traitement central CP. Pour 5 l'utilisation du procédé selon la présente invention, il est prévu des lignes de commande ï et H ainsi qu'un dispositif de décodage DI. Les variables j et z présentes respectivement aux adresses Ao et Al dans la mémoire M sont pourvues d'espaces de signalement respectifs Flo et Fil. Les états des variables peuvent être marqués dans les espaces de signa-10 lement Flo et Fil. Le fonctionnement du système est décrit en se référant à une structure de programme comme celle donnée à la figure 2. Le programme à structure par blocs est représenté schématique-ment à la figure 2. Py et Pz sont des subdivisions d'un rectangle Po. 15 On supposera, à titre d'exemple, que Pz sert à calculer une variable z qui dépend de la variable £. On supposera aussi que, puisque Pz et Py sont des subdivisions du rectangle Po, cela signifie que jr. e"t £ sont des variables auxiliaires locales de Po qui soht logées dans un emplacement de travail de Po constituant une partie de mémoire associée au 20 bloc de programme Po. Lorsque le programme Po est mis en service, on y adjoint un emplacement de travail PWo dans la mémoire M (voir figure 1). Les variables jr et ont, dans l'emplacement de travail PWo, leur propre emplacement aux adresses respectives Ao et Al. Au cours de l'allocation 25 d'emplacements de mémoire pour les variables, allocation effectuée par l'appareil de traitement central, le programme Po intervient lui-même pour introduire dans les espaces de signalement des variables, ceci l par l'intermédiaire de lignes de commande W, un marquage signifiant qu'à priori l'état des variables est inconnu (apu). Comme il faut en-30 core faire des calculs , cet état "apu" est en effet d'application pour les variables. Une ligne de commande ¥ envoie l'adresse Ai d'une variable vers le registre d'adressage AR tandis qu'une autre ligne de com_ mande W introduit l'état "apu" dans le registre d'entrée IR. L'état "apu" est ensuite inscrit dans l'espace de signalement Fli du mot 35 adressé Ai. Lors de l'adressage d'une variable au cours de l'exécution d'un programme, l'adresse de la variable est envoyée par une ligne de commande R vers le registre d'adressage AR, le contenu de cette adresse étant lu et étant inscrit dans le registre de sortie UR. La variable 40 elle-même peut être envoyée à l'appareil de traitement central. L'espace 71 11321 5 2083696 de signalement de la variable aboutit dans le dispositif de décodage DI précité. L'espace de signalement FI est décodé dans le décodeur Fd. On peut imaginer différents états pour une variable. Les exemples de ces états sont les suivants. Un programme est occupé à calculer une varia-* 5 ble: état d'occupation "bu". Au cours d'un programme, une variable peut recevoir un état "partiellement connu" "ua". Dans le cas d'une grandeur scalaire, ceci signifie "état connu avec approximation". Dans le cas d'un groupage de solutions (array), cela signifie qu'un certain nombre d'éléments sont connus. Les autres éléments sont soit inconnus, soit en 10 traitement, etc... Une autre possibilité réside en ce qu'une variable demandée est effectivement non calculable ou semble incalculable du fait que le calcul n'est pas convergent ou bien qu'une donnée entrante n'est pas disponible ou n'est pas calculable, etc... Il s'agit ici d'un état "uh" (inconnu et incalculable). Il est évident qu'à un certain moment, 15 une variable peut être connue "le". Tous ces états (et d'autres encore) sont reconnaissables par leur propre code. Le code de l'état atteint par une variable est logé dans l'espace de signalement y associé et y est inscrit à l'aide des lignes de commande W précitées. Le décodage d'un espace de signalement FI dans le décodeur Fd fournit suivant l'état un 20 signal apparaissant sur l'une ou l'autre des sorties apu, bu, ua, uh ou k. Si l'état de la variable y est "k", cette variable est connue et elle peut alors être utilisée dans le programme Pz pour le calcul de z_ (cette variable y apparaissant encore une fois dans la partie droite du registre UR'). Ceci est signalé à l'appareil de traitement central par 25 la ligne de commande k. Dans l'exemple considéré, un signal d'interruption "int" apparaît dans l'étage fonctionnel-OF OR pour les autres états possibles. De ce fait, le programme Pz est interrompu par la ligne de commande "int". Il peut aussi se faire que, lorsqu'un signal apparaît à la sortie ou sur la ligne de commande, une interruption n'est pas 30 nécessaire, le programme Pz pouvant continuer avec lâ valeur approximative de Si le système est organisé de telle façon que pour tout état autre que l'état connu "k" il y a interruption, le décodeur DI ne peut ■ se composer que d'un état fonctionnel-OF. Si, par exemple, l'état "k" 35 est alors donné sous la. forme 000 alors que les autres états ont au moins un un dans leur code, on aboutit déjà à une précision. Une ligne de commande "k" et une ligne de commande "int" fournissent l'état au CP. Il est évidemment aussi possible de continuer à travailler avec le code d'état, par exemple "ijk" où i, j, k = 0 ou 1, sans décodage dans Fd. 40 II faut alors considérer les lignes de commande comme des conducteurs 71 11321 6 2083696 d'amenée des bits de code du registre UR vers l'appareil de traitement central CP. Lors de l'exécution d'un programme, les états des variables se modifient. Ces modifications sont signalées par le programme à l'appareil 5 de traitement central CP et si cela est permis, un état modifié est marqué dans l'espace de signalement correspondant par les lignes de commande W. Il est clair qu'un état de la. variable z qui, comme cela a été dit, dépend de la variable ne peut être modifié sans plus. Ceci ne peut se faire que si la variable 2L es"'' connue et ne subit pas de mo-10 difications . Dans le cas de l'exemple donné utilisant le programme Po avec les sous-rectangles Py et Pz, l'état de la variable est contrôlé, dans le programme Pz, par décodage de l'espace de signalement Flo de x» au moment où un ordre de lecture de £ est donné. Si, dans ce cas, l'état de 15 x es"t "k", le programme Pz continue sans interruption. Si l'état de £ est "bu", cela signifie que £ es"': en cours de traitement, le programme Py étant déjà en route à l'occasion d'une autre opération. Cela sous- entend que Py et Pz peuvent être simultanément en exécution, ce qui est par exemple possible lorsque les processus Py et Pz sont inscrits sous 20 la forme de processus séparés. Dans le cas d'un ordinateur ayant plus d'un appareil de traitement central, les programmes Py et Pz peuvent être simultanément en action. Cependant, lorsqu'il n'y a qu'un seul appareil de traitement central, il se peut aussi que les deux programmes soient en exécution simultanément, par exemple lorsqu'un des deux pro- 25 grammes a été mis en route parce que l'autre programme attend une entrée ou une sortie. Dans le cas de l'état "bu" de £, le programme Pz est interrompu. Pz se place sur une liste d'attente des programmes qui ( attendent tous y_. Lorsque l'état de £ est "apu" (inconnu), le programme Pz est interrompu et le système doit réagir de telle façon qu'un ordre 30 soit donné pour amorcer le programme Py. Il est important de remarquer qu'un marquage d'état tel que précité peut se trouver non seulement dans le mot à l'endroit de l'adresse A mais que ce marquage peut aussi se trouver dans un mot précédent situé sur un chemin d'accès vers la variable. Ceci est démontré par un 35 exemple à la figure 3• On suppose. qu'un programme P' adresse une variable u qui doit se trouver à l'adresse A. Il faut suivre un chemin d'accès pour atteindre cette adresse A. On supposera que le chemin passe, de façon connue, par les mots des adresses A' (y), A'' (y) et A''' (j)^rsA(y) Dans le programme P', il se trouve, par exemple, dans l'adresse A1' (y) 40 un ordre avec code d'opération OPC ainsi qu'une partie d'adresse avec Tin 71 11321 7 2083696 adressage A'' (y). Le OPC est placé dans tin registre OPCR (non représenté) et l'adresse A'1 (y) est sélectionnée. Le mot à cette adresse A'1 (y) atteint le registre de sortie UR portant ici la référence UR''. Sur le chemin d'accès vers £, ce mot comprend l'espace de signalement Fly. 5 Le code de signalement faisant partie de Fly va vers le décodeur DI où l'état de la variable y est reconnu. Sur la base de cet état, on peut décider si on continue" ou non par ce chemin vers la variable £ à l'adresse A (y). Lorsque l'état indique que, par exemple, la varia.ble £ est inconnue "apu", il y a interruption et il n'y aura pas d'accès de la 10 mémoire vers A (y). On économise ainsi des accès dans les cas où la variable n'est pas encore prête ou disponible dans le programme P'. Lorsque l'état ne provoque pas d'interruption, on sélectionne ensuite l'adresse A'1' (y) qui se trouvait dans le mot à l'adresse A'' (y) et, par l'intermédiaire du contenu du mot à l'adresse A 11' (y), 15 notamment l'adresse A (y), la variable jr se trouvant à l'adresse A (y) est sélectionnée. La figure 4 montre comment on peut avantageusement faire usage d'un mot clé dans lequel les codes de signalement d'une quantité de variables présentes dans un emplacement de travail de la mémoire sont 20 réunis. La. référence FW indique, sur la figure 4, un tel emplacement de travail dans la mémoire M. L'emplacement de travail a une adresse de base BW et les mots se trouvant dans l'emplacement de travail doivent être adressés à l'aide d'adresses propres gl, g2, etc... Les variables correspondantes y1, y2 et y3 sont à trouver aux adresses correspondantes g1, 25 g2, g3. A l'endroit du mot de l'adresse de base BW se trouve un mot clé KW dans lequel sont notés les états des variables occupant l'emplacement de travail PW. A cet effe.t, le mot KW contient les espaces de signalement Fli, Flj et Flk pour les variables yi, yj et yk. Si un changement d'état -=e produit maintenant dans une ou plusieurs variables, 30 ce changement peut être noté simplement dans KW en introduisant, via le registre d'entrée de mémoire IR, les espaces de signalement correspondants du mot clé KV/ qui aura été adressé entre-temps (ce qui s'accompagne d'une copie des anciens signalements). Ceci permet d'économiser un grand nombre d'accès puisque les modifications ne doivent pas se 35 produire par variable s.Lors de l'adressage d'une variable, par exemple la varia.ble yj de l'emplacement PW, les opérations suivantes ont lieu. L'adresse yj est une combinaison de BW, l'adresse de base de l'emplacement de travail et g2, c'est-à-dire l'adresse correspondante de yj dans l'emplacement. Le mot KW peut être introduit dans le registre UR en uti-40 lisant uniquement l'adresse BW. Les espaces de signalement Fly, FIj, Flk 71 11321 8 2083696 peuvent alors, par exemple, être introduits dans un registre séparé R aux endroits g1, g2, g3. Si on adresse y2 à l'aide de BW+g2, on peut alors indiquer en premier lieu ou simultanément l'espace de signalement Flj à l'endroit g2 de R et, de cette manière, l'état de yj peut être constaté dans le déco-5 deur DI. Une liste, par exemple un ensemble de racines d'une équation, peut couvrir un emplacement de travail. L'état d'une telle liste peut être caractérisé par un seul oode de signalement dans un espace de signalement du mot clé précité. La fig. 5 montre comment un mot clé KWBI est inscrit dans un mot se trou— 10 vant sur le chemin d'accès vers un emplacement de travail B1. B1 contient les variables yl et y2. Un mot contenant l'adresse de base B1 de l'emplacement de travail B1 contient une adresse b1. Pour atteindre Bl, on sélectionne d'abord le mot à l'adresse b1. Dans ce mot se trouve le mot clé portant la référence KW sur la figure 4> c'est-à-dire ici KWB1, de sorte qu'avant l'a-15 dressage de l'emplacement de travail B1, les états de variables y1 et y2 sont déjà notés dans les espaces de signalement Fly1 et Fly2 de KWB1. Ceci est très avantageux dans les cas où, par exemple, un emplacement de travail est caché dans une mémoire fondamentale, alors que le mot à l'adresse B1 lui-même se trouve dans la mémoire de travail de l'ordinateur. Il est donc inu-20 tile d'adresser d'abord l'emplacement de travail B1 lui-même faisant partie de la mémoire fondamentale pour constater ou modifier l'état d'une des variables qui s'y trouvent. La façon précitée de marquer un état dans un mot d'adressage vers un emplacement de travail se trouvant en dehors d'un emplacement de travail déterminé, est un cas qui se produit souvent dans un système 25 d'ordinateur. Un autre exemple est encore donné ci—après. Sur la fig. 6, on alloue à chaque emplacement de travail Ao, A1, B1 une cellule dite de visualisation aux adresses respectives ao, al et b1. Une tel— ( le cellule de visualisation contient en premier lieu l'adresse de base de l'emplacement de travail auquel la cellule est associée. La cellule de visu-30 alisation à l'adresse al contient donc l'adresse de base Al de l'emplacement de travail A1 et ainsi de suite. En outre, une cellule de visualisation contient une adresse d'une cellule de visualisation qui est associée à un emplacement de travail qui se trouve à un niveau plus élevé sur un chemin d'accès vers la base d'une pyramide faisant partie d'un programme à structure par 35 blocs. Pour connaître la notion d'une cellule de visualisation, on se référera à la demande de brevet français N° 70 46394 déposée le 23 décembre 1970 au nom! de la demanderesse. Dans le cas considéré, la cellule de visualisation se trouvant à l'adresse al contient, par exemple, une adresse ao de la cellule de visualisation appartenant à l'emplacement de travail 71 11321 9 2083696 Ao. Il en est de même pour les cellules de visualisation aux adresses bl avec adressage de al et ao avec adressage en retour vers une adresse 0. Pour d'autres aspects des cellules de visualisation, on se référera à la demande de brevet précitée, cette notion n'étant pas d'importance pri-5 nordiale pour la présente invention. Il est essentiel de dire ici que les cellules de visualisation contiennent aussi à côté de l'adresse de base de l'emplacement de travail auquel elles sont associées, les espaces de signalement des variables contenues dans les emplacements de travail. Par exemple, la cellule de visualisation à l'adresse al contient les 10 espaces de signalement Flyl et Fly2 des variables yl et y2 se trouvant dans l'emplacement de travail Al. D'autres formes d'adressage dans un système d'ordinateur, par exemple le système "paging" peuvent aussi être complétées selon la présente invention avec un marquage d'état. C'est ainsi qu'un mot clé peut 15 être contenu dans le mot d'un tableau donnant 1a. page où se trouve l'emplacement de travail (voir figure 7)« PT est un tableau dans lequel se trouve un mot qui donne l'adresse AWP de la page où se trouve l'emplacement de travail WP. On peut inscrire dans cê mot les états des variables se trouvant dans WP, états notés dans les espaces de signalement Fis 20 (= mot clé de WP). La figure 8 montre comment le marquage des possibilités d'état d'une variable peut être subdivisé en un espace de signalement de la variable et un mot clé. D est un emplacement de travail contenant les varia les dl, d2, d3. Les espaces de signalement Fldl, Fld2 et Fld3 25 contiennent des parties de code de signalement rl, r2, 53• Dn mot clé KW contient des parties de code de signalement f1, f2 et f3. Lorsque les codes de signalement de toutes les variables d'un emplacement de travail sont réunis dans un mot clé, il peut se faire en pratique que ce mot clé devienne trop long. Il est inutile que le code de signalement complet de 30 chaque variable se trouve dans le mot clé. Le passage de l'état inconnu "apu" vers l'état connu "k" ou incalculable "uh" en passant par les états traitement "bu" et aprroximation "ua", etc..., s'effectue séparément pour chaque variable, de sorte qu'il n'y a pas d'inconvénient â corriger séparément le code de signalement dé chaque variable pour ces 35 modifications. Au contraire, un passage d'un des états "bu", "ua", "k", "uh" des variables d'un emplacement de travail vers l'état "apu" n'est pas déterminé par les variables elles-mêmes mais par une modification d'une ou de plusieurs variables dont ces variables dépendent. Il est alors intéressant de modifier simultanément les codes de signalement de 40 toutes les variables pour passer dans l'état "apu". Ceci est possible en 71 11321 10 2083696 subdivisant les possibilités d'état en deux groupes. Un groupe principal contient, par exemple, le marquage d'état pour l'état "apu", alors que les autres possibilités d'état sont marquées dans le sous-groupe (ceci n'a de sens que si l'on donne l'état "apu" dans le groupe principal). 5 II en résulte en pratique qu'on inscrit le marquage correspondant à un état "âpu"ou"apu,Qie ces variables d'un emplacement de travail dans un mot clé. Les autres possibilités d'état peuvent alors être marquées séparément dans l'espace de signalement de chaque variable. Sur la figure 8, les groupes principaux d'états donnant les 10 états "apu" ou "apu" des variables d1, d2 et d3 sont inscrits dans les espaces de signalement f1, f2 et f3 du mot clé KW. De cette manière, les états "apu" de toutes les variables peuvent être corrigés simultanément sans devoir sélectionner séparément chaque variable, etc... Pour le sous-groupe d'états, il n'y a pas d'inconvénient, comme précité, à alresser 15 séparément les variables. Le sous-groupe de chaque variable est donc aussi inscrit dans l'espace de signalement r1, r2 et rj faisant partie respectivement des espaces de signalement F1d1, F1d2 et F1d3 des variables correspondantes d1, d2 et d3. Il va de soi que le mot clé KW précité de l'emplacement de 20 travail D peut aussi se trouver en dehors de l'emplacement de travail D, comme cela a été dit, par exemple, avec référence aux figures 5» 6 et 7« La figure 9 indique que l'inscription et la lecture des états des variables peuvent aussi se faire d'une façon légèrement différente. Il est supposé ici que la mémoire contenant un emplacement de travail D 25 peut inscrire et sortir des informations de deux manières différentes. En premier lieu, ceci peut se produire de la manière normale â l'aide du registre d'entrée IR et du registre de sortie DR, comme cela a été dit. Dans ce cas, un lûot de la mémoire (par exemple une variable d1 ayant un espace de signalement F1dl) peut être entièrement sorti du re- 30 gistre d'adressage AR et peut être ainsi inscrit ou lu. En deuxième lieu, il est aussi possible de sélectionner en "raccourcii" par exemple en sortant l'information du registre IR jouant le rôle de registre d'adresse. Cela signifie qu'on sélectionne un même emplacement de bit pour chaque mot et on peut ainsi inscrire ou lire une information de chaque mot 35 simultanément à cet emplacement de bit. Sur la figure 9» la référence ER désigne un registre supplémentaire dans lequel le bit sélectionné de chaque mot est sorti de la mémoire par lecture et d'où ces bits peuvent être inscrits dans la mémoire. Les espaces de signalement F1d1, F1d2, etc... des variables d1, d2, etc... font normalement partie du mot des 40 variables. Aux emplacements de bit f1, f2, etc... des espaces de signale 71 11321 11 2083696 ment respectifs F1d1, etc..., se trouve, par exemple, un bit qui indique l'état connu "apu" ou inconnu "apu" de la variable considérée. Dans le cas de la sélection précitée en raccourci, on trouve l'état apu ou apu de toutes les variables dans le registre ER. La ligne de commande 5 apu, apu envoie cet état à l'appareil central de traitement. Inversement, lors de la création d'un nouvel emplacement de travail, l'état "apu" de toutes les variables peut être marqué aux emplacements de bit f1, f2, etc..., via le registre ER et par l'intermédiaire de la ligne de commande "apu', apu". L'ensemble correspond, du point de vue fonc-10 tion, avec l'organisation par mot clé précitée. Les emplacements de bit r1, r2, etc... faisant partie des espaces de signalement F1d1, F1d2, etc..., ont encore de l'espace disponible pour le marquage d'autres états que "apu" et "apu"0 71 11321 12 2083696 PlEVSNSICAT ION 31 1. Procédé de marquage des états d'une variable présente dans une mémoire d'un ordinateur et adressable au cours d'un processus, caractérisé en ce qu'on réserve, dans le mot se trouvant à l'adresse de la 5 variable dans la mémoire ou dans un mot de la mémoire d'où on peut adresser directement ou indirectement la variable, un espace de signalement dans lequel on peut marquer l'état de la variable, le marquage de cet état par l'ordinateur s'effectuant par signalisation de l'état atteint par la varia.ble tandis que, lors de l'adressage de la variable 10 au cours d'un processus, ce processus peut être commandé en fonction de cet état. 2. Procédé suivant la revendication 1, plusieurs variables étant présentes dans un emplacement de travail de la mémoire, caractérisé en ce que, dans un mot de l'emplacement de travail ou dans un mot d'où on 15 peut adresser directement ou indirectement l'emplacement de travail des variables, de l'espace est réservé pour un mot clé dans lequel les espaces de signalement pour le marquage d'état des variables présentes dans l'emplacement de travail sont rassemblés. 3. Procédé suivant les revendications 1 et 2, caractérisé en ce 20 que les états possibles des variables se trouvant dans un emplacement de travail sont subdivisés en deux groupes, un état possible du premier groupe pouvant être marqué dans un espace de signalement faisant partie du mot clé associé à un emplacement de travail tandis qu'un état possible du deuxième groupe peut être marqué dans un espace de signalement 25 faisant partie de la variable elle-même. 4. Ordinateur pour l'exécution du procédé suivant la revendication 1 ou 2, caractérisé en ce que des lignes de commande sont prévues au moyen desquelles ion état signalé d'une variable peut être inscrit dans l'espace de signalement de cette variable tandis que d'autres lignes 30 de commande sont prévues, celles-ci réprésentant l'état d'une variable faisant partie de l'espace de signalement de celle-ci par adressage de la variable.