FR2833728A1 - Universal machine, for the simulation of various types of computer architectures, from the simple to the complex - Google Patents

Universal machine, for the simulation of various types of computer architectures, from the simple to the complex Download PDF

Info

Publication number
FR2833728A1
FR2833728A1 FR0116237A FR0116237A FR2833728A1 FR 2833728 A1 FR2833728 A1 FR 2833728A1 FR 0116237 A FR0116237 A FR 0116237A FR 0116237 A FR0116237 A FR 0116237A FR 2833728 A1 FR2833728 A1 FR 2833728A1
Authority
FR
France
Prior art keywords
sep
machine
level
tree
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0116237A
Other languages
French (fr)
Inventor
David Carrere
Vincent Joguin
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to FR0116237A priority Critical patent/FR2833728A1/en
Priority to FR0203260A priority patent/FR2833729A1/en
Priority to AU2002364652A priority patent/AU2002364652A1/en
Priority to PCT/FR2002/004359 priority patent/WO2003052542A2/en
Publication of FR2833728A1 publication Critical patent/FR2833728A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Abstract

The device includes embedded virtual immobile machines (20,21,30,31), i.e. a simple machine is emulated by another hierarchically more complicated machine, with its data emulated totally by this elaborate machine. Each machine virtually having an original architecture, each machine virtually being adapted to execute a programme of emulation or dynamic compilation simulating the virtual complex architecture of its immediate superior machine. The machine language of the two virtual machines immediately lower to it, is specifically configured to allow the execution of all the operations of the superior level machine.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention vise un procédé et un dispositif de traitement d'information. Elle s'applique, en particulier aux ordinateurs personnels, aux ordinateurs de réseau et aux serveurs informatiques.  The present invention relates to a method and an information processing device. It applies, in particular to personal computers, network computers and computer servers.

De plus en plus d'outils utilisés quotidiennement fonctionnent grâce à un ou plusieurs microprocesseurs. C'est le cas d'un micro-ordinateur, mais aussi d'un téléphone portable, d'une automobile, d'un appareil électroménager, par exemple. Ces microprocesseurs remplissent un rôle essentiel ou accessoire au sein de ces outils. Ces microprocesseurs peuvent recevoir et/ou envoyer des informations aux périphériques auxquels ils sont connectés.  More and more tools used daily work through one or more microprocessors. This is the case of a microcomputer, but also a mobile phone, a car, an appliance, for example. These microprocessors fulfill an essential or accessory role within these tools. These microprocessors can receive and / or send information to the devices to which they are connected.

Depuis la naissance des microprocesseurs dans les années 1970, une multitude de modèles aux caractéristiques très différentes sont apparus sur le marché. Chaque fabricant de matériel électronique a amélioré ses produits, et fait des choix technologiques différents. Ce phénomène a été particulièrement prononcé pour les périphériques (cartes graphiques, imprimantes, capteurs, etc. ), qui se déclinent aujourd'hui sous des centaines de versions différentes.

Figure img00010001
Since the birth of microprocessors in the 1970s, a multitude of models with very different characteristics have appeared on the market. Every electronics manufacturer has improved their products, and made different technological choices. This phenomenon was particularly pronounced for peripherals (graphics cards, printers, sensors, etc.), which are now available in hundreds of different versions.
Figure img00010001

Cette hétérogénéité constitue aujourd'hui un frein. En effet, les programmes doivent être adaptés z Z : D en autant de versions qu'il y a de microprocesseurs et de périphériques. De plus, les programmes doivent pouvoir communiquer entre eux de façon transparente, ce qui requiert une adaptation spécifique à chaque interlocuteur différent. Ces adaptations sont longues et coûteuses à réaliser. This heterogeneity is today a brake. Indeed, the programs must be adapted z Z: D in as many versions as there are microprocessors and peripherals. Moreover, the programs must be able to communicate with each other in a transparent way, which requires a specific adaptation to each different interlocutor. These adaptations are long and expensive to achieve.

Pour résoudre ces problèmes, l'émulation est une solution parfois retenue. Un émulateur est un programme, exécuté sur une machine A (machine support), qui simule l'architecture matérielle d'une machine B. On peut ainsi utiliser les programmes originellement conçus pour la machine B sur la machine A. On factorise donc le travail d'adaptation des programmes de la machine B vers la machine A. To solve these problems, emulation is a solution sometimes used. An emulator is a program, executed on a machine A (machine support), which simulates the hardware architecture of a machine B. We can thus use the programs originally designed for machine B on machine A. We therefore factor the work adaptation of programs from machine B to machine A.

Mais un émulateur est un programme complexe et long à réaliser. Il ne permet de simuler qu'une architecture matérielle en particulier. Mais surtout, il dépend de l'architecture de la machine A. But an emulator is a complex and time-consuming program. It only simulates a particular hardware architecture. But above all, it depends on the architecture of machine A.

Le problème n'est donc que partiellement résolu, puisque cette architecture matérielle A peut devenir obsolète et être remplacée par un modèle différent A', a priori incapable d'exécuter directement les programmes écrits pour la machine A. The problem is thus only partially solved, since this material architecture A can become obsolete and be replaced by a different model A ', a priori incapable of directly executing the programs written for the machine A.

Les technologies Java (marque déposée) de Sun microsystems (marque déposée) ou VP (marque déposée) de Tao Group (marque déposée) se basent sur une machine virtuelle. Les techniques d'émulation permettent de mettre en oeuvre la machine virtuelle sur des architectures matérielles actuellement disponibles. Ces machines virtuelles ont été conçues comme de nouveaux standards de programmation. Elles sont destinées à uniformiser l'écriture et l'exécution des programmes en vue d'éliminer les incompatibilités. The Java (trademark) technologies of Sun microsystems (registered trademark) or VP (trademark) of Tao Group (registered trademark) are based on a virtual machine. Emulation techniques make it possible to implement the virtual machine on currently available hardware architectures. These virtual machines have been designed as new programming standards. They are intended to standardize the writing and execution of programs in order to eliminate incompatibilities.

On observe que le même genre de problème se rencontre en linguistique. La Commission Européenne engage des dépenses considérables pour la traduction des documents de travail  We observe that the same kind of problem is found in linguistics. The European Commission incurs considerable expenses for the translation of working documents

<Desc/Clms Page number 2><Desc / Clms Page number 2>

qu'elle génère et pour ses réunions. Les langues officielles doivent être traduites entre elles ce qui implique une démultiplication des traductions. Si toutes les langues étaient d'abord traduites dans une langue commune C (l'Anglais ou l'Espéranto par exemple), puis retraduites depuis cette

Figure img00020001

langue C vers chaque langue officielle, le nombre de traducteurs nécessaires serait extrêmement ZD réduit. Dans ce cas, l'étape supplémentaire dans le processus de traduction peut entraîner un délai, mais moins de moyens sont nécessaires.
Figure img00020002
that it generates and for its meetings. Official languages must be translated between them, which implies a multiplication of translations. If all languages were first translated into a common C language (English or Esperanto for example), then retranslated from that language
Figure img00020001

C language to each official language, the number of translators needed would be extremely reduced ZD. In this case, the extra step in the translation process may result in a delay, but less means are needed.
Figure img00020002

Cette solution peut être transposée au problème de t'hétérogénéité des architectures matérielles Zn vu précédemment. Ainsi, la simulation de tous les programmes d'un ensemble de machines B, ZD B', B",..., vers un ensemble de machines A, A', A",..., peut être simplifiée par l'utilisation d'une machine virtuelle C intermédiaire. This solution can be transposed to the problem of the heterogeneity of hardware architectures Zn seen previously. Thus, the simulation of all the programs of a set of machines B, ZD B ', B ", ..., towards a set of machines A, A', A", ..., can be simplified by the use of an intermediate virtual machine C.

En effet, il suffit d'écrire les émulateurs des machines B, B', B",..., pour la machine virtuelle C. Indeed, it suffices to write the emulators of the machines B, B ', B ", ..., for the virtual machine C.

Il faut ensuite écrire sur un type de machine A, ou tout autre type de machine A', A",.... t'émulateur de machine virtuelle C. On peut ainsi exécuter tout programme écrit pour les machines B, B', B",..., sur toute machine A, A', A",... It is then necessary to write on a type of machine A, or any other type of machine A ', A ", .... the emulator of virtual machine C. It is thus possible to execute any program written for the machines B, B', B ", ..., on any machine A, A ', A", ...

Il y a factorisation du temps de travail puisque les programmes d'émulation de B, B', B",... vers C sont écrits une fois pour toutes. There is a factorization of the working time since the emulation programs of B, B ', B ", ... to C are written once and for all.

Cependant, l'émulateur C reste toujours complexe et long à écrire. However, emulator C remains complex and time consuming to write.

Par ailleurs, les capacités des périphériques virtuels de la machine C dépendent directement des capacités des périphériques disponibles sur la machine support. Si certains périphériques sont absents, les programmes de la machine C peuvent ne pas fonctionner. La machine C ne peut donc pas facilement s'adapter à l'environnement matériel disponible sur la machine support. Enfin, le programmeur doit écrire des sous-programmes souvent compliqués permettant de faire le lien entre la machine virtuelle C et les périphériques de la machine A ( drivers ou pilotes de périphériques). Ces pilotes sont spécifiques d'une machine A donnée, et doivent donc être réécrits systématiquement pour toute nouvelle machine A', A",... In addition, the capabilities of the virtual devices of the machine C depend directly on the capabilities of the devices available on the support machine. If some devices are missing, the programs on machine C may not work. The machine C can not easily adapt to the material environment available on the support machine. Finally, the programmer must write often complicated subprograms making it possible to link the virtual machine C and the peripherals of the machine A (drivers or device drivers). These drivers are specific to a given machine A, and must therefore be rewritten systematically for any new machine A ', A ", ...

Chaque aspect de la présente invention vise à répondre à tout ou partie de ces inconvénients. Each aspect of the present invention aims to meet all or some of these disadvantages.

Selon un premier aspect, la présente invention vise un dispositif de traitement d'information, caractérisé par : des machines virtuelles imbriquées, c'est-à-dire qu'une machine est émulée par une autre, hiérarchiquement de la plus simple à la plus complexe, c'est-à-dire qu'une machine donnée émule totalement une autre machine plus compliquée et élaborée, chaque machine virtuelle ayant une architecture originale, c'est-à-dire se différenciant de l'architecture des autres machines de la hiérarchie de machines virtuelles, chaque machine virtuelle étant adaptée à exécuter un programme d'émulation ou de compilation dynamique simulant l'architecture virtuelle plus complexe de niveau immédiatement supérieur, une machine virtuelle d'un niveau donné dans la According to a first aspect, the present invention aims at an information processing device, characterized by: nested virtual machines, that is to say that one machine is emulated by another, hierarchically from the simplest to the most complex, that is to say that a given machine totally emulates another more complicated and elaborate machine, each virtual machine having an original architecture, that is to say, differentiating itself from the architecture of the other machines of the hierarchy of virtual machines, each virtual machine being adapted to execute an emulation or dynamic compilation program simulating the more complex virtual architecture of next higher level, a virtual machine of a given level in the

<Desc/Clms Page number 3><Desc / Clms Page number 3>

hiérarchie possédant donc une architecture plus simple que celles de toutes les machines virtuelles de niveau supérieur ;

Figure img00030001

les langages machines des deux niveaux de machines virtuelles les plus bas de la hiérarchie sont C > Z : > spécifiquement conçus pour permettre l'exécution de toutes les opérations du niveau supérieur ; un niveau de la hiérarchie, constituant le sommet de la hiérarchie, n'émule aucun autre niveau de la hiérarchie ; et tout niveau de la hiérarchie peut être lié à une machine réelle généraliste (la machine support) au moyen d'un programme exécutable d'émulation ou de compilation dynamique spécifique à cette machine réelle. hierarchy thus having a simpler architecture than those of all the higher-level virtual machines;
Figure img00030001

the machine languages of the two lowest virtual machine levels in the hierarchy are C>Z:> specifically designed to allow all top-level operations to be executed; a level in the hierarchy, constituting the top of the hierarchy, emulates no other level of the hierarchy; and any level of the hierarchy can be linked to a real generalist machine (the support machine) by means of an executable program of emulation or dynamic compilation specific to this real machine.

Ainsi, selon son premier aspect, la présente invention vise un ensemble de machines virtuelles imbriquées hiérarchiquement dont la machine de base est une machine virtuelle C simplifiée à l'extrême, afin que le travail pour l'homme soit réduit au strict minimum lorsqu'il faut l'émuler sur des machines quelconques A, A', A",...

Figure img00030002
Thus, according to its first aspect, the present invention aims at a set of hierarchically nested virtual machines whose basic machine is an extremely simplified virtual machine C, so that the work for the human being is reduced to a minimum when must be emulated on any machines A, A ', A ", ...
Figure img00030002

En contrepartie, plus une machine virtuelle est d'un niveau hiérarchique bas, plus il est difficile de concevoir des programmes pour elle. C'est pourquoi elle exécute un émulateur qui va simuler une architecture plus complexe, d'un niveau supérieur, mais plus pratique à programmer pour l'humain. Il en est ainsi pour chaque machine virtuelle, jusqu'à ce que l'on atteigne le niveau de complexité adapté pour une utilisation donnée. In return, the lower the hierarchical level of a virtual machine, the more difficult it is to design programs for it. That's why it runs an emulator that will simulate a more complex architecture, of a higher level, but more practical to program for the human. This is so for each virtual machine, until one reaches the level of complexity adapted for a given use.

La simplification offerte par la présente invention a pour contrepartie un nombre plus élevé d'opérations à exécuter pour la machine support (plus faible efficacité). Cependant la plus grande partie du travail pour disposer d'une machine virtuelle de complexité satisfaisante est effectuée par la machine support, puisque le programmeur n'a qu'à réaliser le programme d'émulation de la machine à la base de la hiérarchie. La présente invention reporte donc au niveau logiciel un maximum de la complexité d'une machine matérielle généraliste ordinaire, une machine généraliste étant une machine capable d'effectuer tout type d'opération mathématique. The simplification offered by the present invention is countered by a greater number of operations to be performed for the support machine (lower efficiency). However, most of the work to have a virtual machine of satisfactory complexity is performed by the support machine, since the programmer has only to realize the emulation program of the machine at the base of the hierarchy. The present invention therefore transfers to the software level a maximum of the complexity of an ordinary general-purpose hardware machine, a general-purpose machine being a machine capable of performing any type of mathematical operation.

Ainsi, conformément au premier aspect de la présente invention, une machine virtuelle C simplifiée à l'extrême est mise en oeuvre, afin que le travail pour l'homme soit réduit lorsqu'il faut l'émuler sur des machines quelconques A, A', A",...

Figure img00030003
Thus, according to the first aspect of the present invention, an extremely simplified virtual machine C is implemented so that the work for the human being is reduced when it is to be emulated on any machines A, A ' , AT",...
Figure img00030003

Selon des caractéristiques particulières, le langage machine de la machine virtuelle à la base de toute la hiérarchie ne comporte que deux opérations élémentaires. Il est donc très facile à émuler sur n'importe quelle machine support A, A',... According to particular characteristics, the machine language of the virtual machine at the base of the entire hierarchy has only two elementary operations. It is therefore very easy to emulate on any machine support A, A ', ...

Selon des caractéristiques particulières, les deux instructions de la machine virtuelle de plus bas niveau sont une soustraction et une sauvegarde en mémoire. According to particular characteristics, the two instructions of the lowest level virtual machine are a subtraction and a memory backup.

Selon des caractéristiques particulières, le langage machine de la machine virtuelle de niveau immédiatement supérieur à la machine virtuelle à la base de toute la hiérarchie comporte quatre According to particular characteristics, the machine language of the virtual machine level immediately higher than the virtual machine at the base of the entire hierarchy has four

<Desc/Clms Page number 4><Desc / Clms Page number 4>

opérations élémentaires. Ce second niveau présente à la fois une bonne efficacité ainsi qu'une facilité d'utilisation par un programmeur, relativement au niveau inférieur.  elementary operations. This second level has both a good efficiency and ease of use by a programmer, relative to the lower level.

Selon des caractéristiques particulières, le langage machine de la machine virtuelle à la base de toute la hiérarchie ne comporte que quatre opérations élémentaires. Il est donc facile à émuler sur n'importe quelle machine support A, A'... According to particular characteristics, the machine language of the virtual machine at the base of the entire hierarchy has only four basic operations. It is therefore easy to emulate on any machine support A, A '...

Selon des caractéristiques particulières, lesdites quatre instructions sont une soustraction, une

Figure img00040001

sauvegarde en mémoire, une fonction logique booléenne et un chargement depuis la mémoire. According to particular features, said four instructions are a subtraction, a
Figure img00040001

backup in memory, a Boolean logic function and a loading from the memory.

Zn ZD 11 Il La fonction logique booléenne est, par exemple l'une des fonctions"et"ou"ou". Zn ZD 11 Il The Boolean logic function is, for example one of the functions "and" or "or".

Selon des caractéristiques particulières, le dispositif de traitement d'information visé par le premier aspect de la présente invention met en oeuvre une description organisée et normalisée des périphériques.

Figure img00040002
According to particular features, the information processing device targeted by the first aspect of the present invention implements an organized and standardized description of the peripherals.
Figure img00040002

Grâce à ces dispositions, la mise en oeuvre de la description organisée et normalisée des c périphériques fournit toutes les informations nécessaires pour que les machines virtuelles puissent s'adapter à leur environnement matériel, quel qu'il soit, avec une intervention humaine limitée. Thanks to these provisions, the implementation of the organized and standardized description of the peripheral devices provides all the information necessary for the virtual machines to be able to adapt to their material environment, whatever it may be, with a limited human intervention.

Ainsi, la simplification de la machine virtuelle C intervient aussi au niveau de la gestion des périphériques. Thus, the simplification of the virtual machine C is also involved in the management of peripherals.

Selon des caractéristiques particulières, un espace mémoire infini est géré en utilisant des adresses comportant une information de longueur de l'adresse et une information de valeur de ladite adresse. According to particular features, infinite memory space is managed using addresses having address length information and value information of said address.

Selon des caractéristiques particulières, le dispositif de traitement d'information tel que succinctement exposé ci-dessus met en oeuvre au moins trois machines virtuelles imbriquées hiérarchiquement de la plus simple à la plus complexe. According to particular features, the information processing device as succinctly described above implements at least three hierarchically nested virtual machines from the simplest to the most complex.

Selon un deuxième aspect, la présente invention vise un procédé de traitement d'information, caractérisé par au moins trois machines virtuelles imbriquées, c'est-à-dire qu'une machine est émulée par une autre, hiérarchiquement de la plus simple à la plus complexe, c'est-à-dire qu'une machine donnée émule totalement une autre machine plus compliquée et élaborée, chaque machine virtuelle ayant une architecture originale, c'est-à-dire se différenciant de l'architecture des autres machines de la hiérarchie de machines virtuelles, chaque machine virtuelle étant adaptée à exécuter un programme d'émulation ou de compilation dynamique simulant l'architecture virtuelle plus complexe de niveau immédiatement supérieur, une machine virtuelle d'un niveau donné dans la hiérarchie possédant donc une architecture plus simple que toutes les machines de niveau supérieur. According to a second aspect, the present invention aims at an information processing method, characterized by at least three nested virtual machines, that is to say that a machine is emulated by another, hierarchically from the simplest to the more complex, that is to say that a given machine fully emulates another more complicated and elaborate machine, each virtual machine having an original architecture, that is to say, differentiating itself from the architecture of the other machines of the hierarchy of virtual machines, each virtual machine being adapted to execute an emulation or dynamic compilation program simulating the more complex virtual architecture of next higher level, a virtual machine of a given level in the hierarchy thus having a higher architecture simple as all higher level machines.

Les caractéristiques particulières et les avantages du procédé visé par le deuxième aspect de la présente invention étant les mêmes que ceux du procédé visé par le premier aspect de la présente invention, ils ne sont pas rappelés ici. The particular features and advantages of the method of the second aspect of the present invention being the same as those of the process of the first aspect of the present invention are not repeated here.

<Desc/Clms Page number 5> <Desc / Clms Page number 5>

La très grande diversité de périphériques complique fortement le travail du programmeur. Des périphériques aux fonctions pourtant similaires (exemple : les cartes graphiques) se déclinent en une multitude de versions, chacune avec ses spécificités, forçant le programmeur à passer du

Figure img00050001

temps sur la gestion de ces particularités alors qu'il pourrait le consacrer à d'autres fonctions plus C > essentielles de son logiciel. Le programmeur doit recevoir et/ou envoyer les données au C > périphérique selon un format qui lui est spécifique. C'est donc le programmeur qui se plie doublement aux exigences du matériel. Nous avons cherché à uniformiser la gestion des 1 ZD périphériques pour qu'un même périphérique (ou des périphériques aux fonctions semblables) soit géré de la même façon par le programmeur quel que soit l'environnement matériel dans ZD 1--l lequel est simulée la Machine Universelle. The very wide variety of peripherals greatly complicates the work of the programmer. Devices with similar functions (example: graphics cards) come in a multitude of versions, each with its own specificities, forcing the programmer to move from
Figure img00050001

time on the management of these peculiarities while he could devote it to other more essential functions of his software. The programmer must receive and / or send the data to the C> device in a format that is specific to it. It is therefore the programmer who complies doubly with the requirements of the material. We have tried to standardize the management of the 1 peripheral ZDs so that the same device (or peripherals with similar functions) is managed in the same way by the programmer regardless of the hardware environment in ZD 1 - l which is simulated the Universal Machine.

Pour que ce ! a fonctionne, conformément aux aspects de la présente invention succinctement exposés ci-dessous, on décrit les périphériques réellement disponibles sous une forme standardisée qui complique le moins possible l'écriture de l'émulateur de la machine de niveau zéro. For this! In accordance with the aspects of the present invention briefly described below, the devices actually available in a standardized form which is as little as possible to write the emulator of the zero level machine are described.

Chacun des aspects suivants de la présente invention entend remédier à tout ou partie des inconvénients exposés ci-dessus. Each of the following aspects of the present invention intends to overcome all or some of the disadvantages set forth above.

Selon un troisième aspect, la présente invention vise un procédé de gestion de périphériques, caractérisé en ce qu'il met en oeuvre une arborescence de représentations de périphériques, arborescence dans laquelle un périphérique est appréhendé en suivant un cheminement partant de la racine de l'arborescence et passant par au moins une feuille, l'information nécessaire pour commander ledit périphérique étant collectée au cours dudit cheminement, au moins à chaque feuille de l'arborescence rencontrée. According to a third aspect, the present invention relates to a device management method, characterized in that it implements a tree of device representations, tree in which a device is apprehended by following a path from the root of the device. tree and passing through at least one sheet, the information necessary to control said device being collected during said path, at least each leaf of the tree encountered.

Selon des caractéristiques particulières, l'information nécessaire pour commander ledit périphérique est successivement collectée à chaque noeud ou feuille de l'arborescence rencontré. According to particular features, the information necessary to control said device is successively collected at each node or leaf of the tree encountered.

Selon des caractéristiques particulières, la présente invention vise un procédé de gestion de périphériques caractérisé en ce qu'il met en oeuvre une arborescence permettant de décrire tout périphérique, arborescence dans laquelle : - la description de chaque périphérique est réalisée selon les caractéristiques élémentaires du périphérique, informations synthétiques résultant des phénomènes élémentaires et d'un processus d'analyse du périphérique, ces caractéristiques élémentaires permettant au programme contrôlant le périphérique, exécuté par un processeur, d'appréhender les unités non algorithmiques qui assurent l'interface directe avec le monde réel, unités dont l'agencement permet de remplir la fonction du périphérique ; - la description des périphériques s'organise selon une arborescence résultant des phénomènes élémentaires et d'un processus d'analyse du périphérique, cette arborescence comportant des noeuds et des feuilles, les liens entre les noeuds étant symbolisés par des branches, un noeud According to particular features, the present invention provides a device management method characterized in that it implements a tree structure for describing any device, tree in which: the description of each device is performed according to the basic characteristics of the device , synthetic information resulting from elementary phenomena and a process of device analysis, these basic features allowing the program controlling the device, executed by a processor, to apprehend the non-algorithmic units that provide the direct interface with the real world units whose arrangement fulfills the function of the device; the description of the devices is organized according to a tree structure resulting from the elementary phenomena and from a device analysis process, this tree comprising nodes and sheets, the links between the nodes being symbolized by branches, a node

<Desc/Clms Page number 6><Desc / Clms Page number 6>

regroupant d'autres noeuds ou des feuilles qui le décrivent plus précisément, une feuille étant une information unitaire indivisible qui ne rassemble pas d'autres informations plus élémentaires,

Figure img00060001

- pour prendre connaissance d'un périphérique, et/ou y accéder, le programme contrôlant les Zn périphériques parcourt l'arbre depuis la racine, noeud qui n'est pas regroupé par un autre noeud et qui représente tous les périphériques, vers les feuilles.
Figure img00060002
grouping other nodes or sheets that describe it more precisely, a sheet being an indivisible unitary information that does not gather other more basic information,
Figure img00060001

- to learn about a device, and / or access it, the program controlling the peripheral Zn traverses the tree from the root, node that is not grouped by another node and that represents all the devices, to the sheets .
Figure img00060002

Grâce à ces dispositions, des périphériques aux fonctions semblables, sont gérés de la même 1 façon, quel que soit l'environnement matériel dans lequel est simulée une machine virtuelle. En outre, en ne considérant que les unités non algorithmiques, on simplifie la modélisation des ZD périphériques et on facilite donc l'uniformisation de leur représentation et donc leur gestion. With these provisions, peripherals with similar functions are handled in the same way, regardless of the hardware environment in which a virtual machine is simulated. Moreover, by considering only the non-algorithmic units, the modeling of the peripheral ZDs is simplified and thus the standardization of their representation and thus their management is facilitated.

Un périphérique est ainsi décrit selon ses caractéristiques élémentaires, c'est-à-dire l'ensemble des paramètres qui permettent de contrôler le périphérique et dont l'agencement permet de remplir la fonction du périphérique. A device is thus described according to its basic characteristics, that is to say the set of parameters that control the device and whose arrangement can fulfill the function of the device.

Selon des caractéristiques particulières, chaque caractéristique élémentaire, physique ou symbolique, régissant le rapport du périphérique avec son environnement réel est représentée par une"coordonnée", tes"coordonnées"étant regroupées dans des"dimensions", représentant des dimensions, au sens mathématique du terme, la combinaison de l'ensemble des"dimensions" forme un espace, au sens mathématique du terme, à n dimensions, dans lequel la fonction du périphérique est complètement modélisée, n étant le nombre de"dimensions"du périphérique. According to particular characteristics, each elementary characteristic, physical or symbolic, governing the ratio of the device to its real environment is represented by a "coordinate", your "coordinates" being grouped in "dimensions", representing dimensions, in the mathematical sense of the In the end, the combination of all "dimensions" forms a space, in the mathematical sense of the term, with n dimensions, in which the function of the device is completely modeled, where n is the number of "dimensions" of the device.

On observe qu'une caractéristique élémentaire est représentée, sur une"dimension", par une "coordonnée". It is observed that an elementary characteristic is represented on a "dimension" by a "coordinate".

L'ensemble des "coordonnées" de certaines "dimensions" peuvent exprimer un phénomène élémentaire de leur caractéristique élémentaire (la "caractéristique modulée") avec une certaine intensité parmi un ensemble d'intensités possibles. On parle de !'"intensité"d'une"coordonnée".  The set of "coordinates" of certain "dimensions" can express an elementary phenomenon of their elementary characteristic (the "modulated characteristic") with a certain intensity among a set of possible intensities. We speak of the "intensity" of a "coordinate".

Le choix d'une"intensité"parmi l'ensemble des"intensités"disponibles pour une"coordonnée" d'un point de t'"espace"d'un périphérique exclu systématiquement toutes les autres"intensités" de cette même "coordonnée. " Selon des caractéristiques particulières,l'"univers"des périphériques, la racine de l'arborescence, regroupe deux noeuds appelés"groupes"situés au niveau suivant, ces"groupes"symbolisant le devenir des informations échangées entre le processeur et un périphérique : - le "groupe" des périphériques d'échange, pour lesquels les informations échangées sont transmises dans un environnement ouvert, accessible par d'autres récepteurs que le processeur, permettant ainsi leur communication avec l'extérieur de la machine, ou bien les informations échangées sont transmises à partir d'émetteurs, situés dans un environnement ouvert, vers le processeur, et - le "groupe" des périphériques de conservation, pour lesquels les informations échangées sont transmises dans un environnement accessible exclusivement au processeur. The choice of an "intensity" among all the "intensities" available for a "coordinate" of a "space" point of a peripheral systematically excludes all the other "intensities" of this same "coordinate". "According to particular characteristics, the" universe "of the peripherals, the root of the tree, brings together two nodes called" groups "located on the next level, these" groups "symbolizing the fate of the information exchanged between the processor and a device: the "group" of the exchange devices, for which the exchanged information is transmitted in an open environment, accessible by other receivers than the processor, thus allowing their communication with the outside of the machine, or the information exchanged are transmitted from transmitters, located in an open environment, to the processor, and - the "group" of the storage devices, for which the information exchanged is trans put in an environment accessible exclusively to the processor.

<Desc/Clms Page number 7> <Desc / Clms Page number 7>

Figure img00070001

Selon des caractéristiques particulières, chacun des"groupes"englobe deux"hyperespaces", les "hyperespaces"du"groupe"des périphériques d'échange indiquant le sens de transmission des 1- c informations, les "hyperespaces" du "groupe" des périphériques de conservation indiquant le niveau de disponibilité de l'information pour le processeur et comportant un"hyperespace"des périphériques de conservation adressables pour lesquels le processeur a un accès direct,
Figure img00070002

instantané et permanent aux périphériques pour échanger des informations et un"hyperespace" z : l des périphériques de conservation non adressables pour lesquels l'accès aux informations est indirect car il requiert des opérations supplémentaires pour le processeur.
Figure img00070001

According to particular characteristics, each of the "groups" includes two "hyperespaces", the "hyperespaces" of the "group" of the exchange devices indicating the direction of transmission of the information, the "hyperespaces" of the "group" of the peripherals of conservation indicating the level of availability of information for the processor and having a "hyperspace" addressable storage devices for which the processor has direct access,
Figure img00070002

snapshot and permanent to devices to exchange information and "hyperspace" z: l non-addressable storage devices for which access to information is indirect because it requires additional operations for the processor.

Selon des caractéristiques particulières, chacun des "hyperespaces" englobe un ou plusieurs

Figure img00070003

"espaces" de périphériques, chacun regroupant la description du modèle arborescent d'un C > périphérique. According to particular characteristics, each of the "hyperespaces" includes one or more
Figure img00070003

"Spaces" of devices, each grouping together the description of the tree model of a C> device.

Selon des caractéristiques particulières, l'exploitation de l'arborescence est assurée : - par la machine support, à travers une portion du programme d'émulation de la machine de

Figure img00070004

niveau zéro appelée le cartographe/énumérateur (Mapper/Enumerator) qui prend en charge les ZD protocoles d'accès aux périphériques à partir du niveau zéro, - par un processeur qui reçoit des blocs qui donnent les principales informations permettant d'évaluer la fonction de chaque périphérique et toutes les informations pour calculer et interpréter les données de configuration et d'exploitation, les calculs et interprétations des données
Figure img00070005

d'exploitation et de configuration étant effectués au moyen de programmes spécifiques insérés e dans ce codage, le second bloc comportant la description d'au moins un"espace"de périphérique et de tous les noeuds qu'il englobe dans une arborescence de représentation des périphériques, et - par un processeur virtuel spécialisé, nommé coprocesseur de périphériques, prenant en charge les programmes de calcul des données de configuration et d'exploitation, ainsi que des directives de dépendance insérées dans les noeuds de l'arbre. According to particular characteristics, the exploitation of the tree structure is ensured: by the support machine, through a portion of the machine's emulation program
Figure img00070004

Zero level called the Mapper / Enumerator that supports device access ZDs from scratch, - by a processor that receives blocks that provide key information to evaluate the function of the device. each device and all information to calculate and interpret configuration and operating data, data calculations and interpretations
Figure img00070005

by means of specific programs inserted in this coding, the second block comprising the description of at least one "space" of a device and all the nodes that it includes in a representation tree of peripherals, and - through a dedicated virtual processor, called a device coprocessor, that supports the programs for calculating configuration and operating data, as well as dependency directives inserted into the nodes of the tree.

Le processeur est alors en mesure d'exécuter un programme prenant en charge le parcours des différentes branches de l'arbre pour accéder aux périphériques, par l'intermédiaire des

Figure img00070006

programmes du coprocesseur qui accèdent à un registre"MER". The processor is then able to execute a program that supports the traversing of the different branches of the tree to access the peripherals, via the
Figure img00070006

coprocessor programs that access a "MER" register.

Zn En niveau zéro, les blocs"TREE"sont transmis sur commande par le cartographe/énumerateur, par l'intermédiaire du registre"MER". L'ensemble de ces blocs contient toutes les indications nécessaires pour pouvoir reconstruire un arbre des périphériques complet. Des blocs"LINK"sont installés dans la mémoire de la machine support par le cartographe/énumerateur, qui les appelle selon les "espaces" de périphériques utilisés. Les blocs"FEXT"sont chargés explicitement par un programme écrit en niveau 0.4 et viennent enrichir les descriptions des blocs"TREE". Zn In zero level, the "TREE" blocks are transmitted to order by the cartographer / enumerator, via the register "MER". All of these blocks contain all the information needed to reconstruct a complete device tree. "LINK" blocks are installed in the memory of the support machine by the cartographer / enumerator, who calls them according to the "spaces" of peripherals used. The "FEXT" blocks are explicitly loaded by a program written at level 0.4 and enrich the descriptions of the "TREE" blocks.

Selon un quatrième aspect, la présente invention vise, pour accéder aux périphériques depuis un processeur : According to a fourth aspect, the present invention aims to access devices from a processor:

<Desc/Clms Page number 8><Desc / Clms Page number 8>

- pour l'accès aux données de certains périphériques auxquels seul le processeur peut accéder, aussi bien en lecture qu'en écriture, n'étant pas pris en compte les accès par d'autre moyens que le processeur qui ne se traduisent par aucun changement dans l'environnement périphérique du processeur ou sur le processeur lui-même, et ne modifient pas le sens des informations échangées avec le périphérique, certaines portions de l'espace d'adressage sont spécialisées pour les périphériques, et à une portion correspond un périphérique particulier, de telle manière qu'il suffit de faire exécuter au processeur une instruction qui accède à cette portion de l'espace d'adressage

Figure img00080001

pour établir la communication avec le périphérique voulu, un plan d'organisation de la mémoire z : l étant mis en oeuvre, et - la gestion des autres données repose sur un seul registre situé à une adresse mémoire fixe. - for access to the data of certain devices to which only the processor can access, both in reading and writing, not being taken into account the accesses by means other than the processor that do not result in any change in the peripheral environment of the processor or on the processor itself, and do not change the direction of information exchanged with the device, some portions of the address space are specialized for the devices, and a portion corresponds to a device particular, that it is sufficient to execute the processor an instruction that accesses that portion of the address space
Figure img00080001

to establish communication with the desired device, a z: 1 memory organization plan being implemented, and - the management of other data is based on a single register located at a fixed memory address.

Selon un cinquième aspect, la présente invention vise un procédé pour exploiter des périphériques caractérisé en ce que l'ensemble des informations nécessaires pour exploiter un périphérique sont rassemblées en au moins deux blocs de données distincts :

Figure img00080002

- le premier bloc qui permet de transporter et d'aiguiller les données de configuration et c d'exploitation échangées entre un processeur et au moins un périphérique particulier de la machine support par l'intermédiaire d'un registre, le premier bloc établissant le lien avec les adresses d'accès à chaque dit périphérique sur la machine support, et contenant des programmes écrits dans le langage machine natif de la machine support afin de transporter les données échangées aux bonnes adresses, ces programmes permettant aussi de détecter la présence de chaque dit périphérique et d'initialiser chaque dit périphérique dans un état stable permettant son bon fonctionnement ultérieur ; et - le second bloc qui donne les principales informations permettant d'évaluer la fonction de chaque dit périphérique et toutes les informations pour calculer et interpréter les données de configuration et d'exploitation, l'évaluation étant permise par le codage binaire du modèle théorique arborescent, tandis que les calculs et interprétations des données d'exploitation et de configuration sont effectués au moyen de programmes spécifiques insérés dans ce codage, le second bloc étant la description, pour chaque dit périphérique, del'"espace"de périphérique et de tous les noeuds quel'"espace"englobe ("espace","dimensions","coordonnées"et "intensités"), donc une portion de l'arbre, et indiquant t'"hypcrespace"auquel appartient ledit "espace". According to a fifth aspect, the present invention is directed to a method for operating peripherals, characterized in that all the information necessary for operating a device is gathered in at least two separate data blocks:
Figure img00080002

the first block which makes it possible to transport and route the configuration and operating data exchanged between a processor and at least one particular device of the support machine via a register, the first block establishing the link with the access addresses to each said device on the support machine, and containing programs written in the native machine language of the support machine in order to transport the exchanged data to the correct addresses, these programs also making it possible to detect the presence of each said device and initialize each said device in a stable state allowing its subsequent operation; and the second block which gives the main information making it possible to evaluate the function of each said peripheral and all the information for calculating and interpreting the configuration and operating data, the evaluation being allowed by the binary coding of the theoretical tree model. , while the calculations and interpretations of the operating and configuration data are carried out by means of specific programs inserted in this coding, the second block being the description, for each said peripheral, of the "space" of the peripheral and all the nodes which "space" encompasses ("space", "dimensions", "coordinates" and "intensities"), thus a portion of the tree, and indicating "hypcrespace" to which said "space" belongs.

Selon des caractéristiques particulières, l'ensemble des informations relatives à l'exploitation d'un périphérique comporte un troisième bloc, qui contient un type de modélisation de caractéristiques physiques, symboliques, ou encore logiques permettant de préciser le comportement dans la réalité des"espaces","dimensions","coordonnées"et"intensités"inclus dans le second bloc, et notamment des caractéristiques élémentaires qui leurs sont associées. Il peut aussi contenir d'autres informations venant enrichir le second bloc. According to particular characteristics, all the information relating to the operation of a device comprises a third block, which contains a type of modeling of physical, symbolic or logical characteristics making it possible to specify the behavior in the reality of the "spaces". "," dimensions "," coordinates "and" intensities "included in the second block, including elementary features associated with them. It can also contain other information enriching the second block.

<Desc/Clms Page number 9><Desc / Clms Page number 9>

Le troisième bloc,"FEXT", peut être présent lorsque le second bloc,"TREE", ne peut pas fournir certaines informations. Il peut contenir des équations Physiques, des représentations symboliques

Figure img00090001

(par exemple graphiques). The third block, "FEXT", may be present when the second block, "TREE", can not provide certain information. It can contain physical equations, symbolic representations
Figure img00090001

(for example graphics).

ZD Selon un sixième aspect, la présente invention vise un procédé de modélisation de périphériques, caractérisé en ce qu'il comporte, pour chaque périphérique : - une étape d'analyse microscopique dudit périphérique pour déterminer les caractéristiques phénoménales ainsi que les ensembles exclusifs relatifs audit périphérique ; - une étape initiale au cours de laquelle on considère qu'aucune "dimension", "coordonnée" ou "intensité" n'est définie, chacun des ensembles exclusifs étant associé à un ensemble d' "intensités" rattachées à une nouvelle "coordonnée", la caractéristique phénoménale liée à l'ensemble exclusif étant associée à cette nouvelle "coordonnée", pour un ensemble exclusif, chaque "intensité" représentant une donnée d'exploitation distincte, l'ensemble des "coordonnées" étant regroupé au sein d'une seule "dimension" ; - des étapes itératives au cours desquelles, pour chaque"dimension"existante, appelée "dimension mère", on cherche à rassembler toutes ses "coordonnées" en au moins un groupe en respectant les règles suivantes : a) dans le cas d'un rassemblement en deux groupes au moins, respectant les règles suivantes :

Figure img00090002

chaque groupe possède le même nombre de"coordonnées", c aucun groupe ne comporte qu'une seule "coordonnée", il n'existe pas de phénomène élémentaire qui n'appartienne ni à une caractéristique intra-groupe, ni à une caractéristique inter-groupes et au moins deux"coordonnées"de la"dimension mère"doivent comporter au moins un phénomène élémentaire ; pour chaque groupe, l'ensemble des phénomènes élémentaires présents à l'identique dans chaque "coordonnée"du groupe étant nommé"caractéristique intra-groupe", parmi les éventuels phénomènes élémentaires n'appartenant pas aux caractéristiques intragroupes, l'ensemble des phénomènes élémentaires qui sont présents à l'identique dans une "coordonnée"de chacun des groupes est nommé"caractéristique inter-groupes", un phénomène élémentaire ne pouvant participer qu'à une seule caractéristique inter-groupes ; b) dans le cas d'un rassemblement en un seul groupe respectant les règles suivantes : la"dimension mère"contient au moins deux"coordonnées", toutes les "coordonnées" contiennent des "intensités", et la caractéristique modulée de chaque"coordonnée"fait partie de la caractéristique intra-groupe ; au moins un phénomène élémentaire présent à l'identique dans chaque"coordonnée"du groupe étant nommés "caractéristique intra-groupe", According to a sixth aspect, the present invention is directed to a device modeling method, characterized in that it comprises, for each peripheral: a step of microscopic analysis of said peripheral to determine the phenomenal characteristics as well as the exclusive sets relating to said auditory device; peripheral; an initial step during which it is considered that no "dimension", "coordinate" or "intensity" is defined, each of the exclusive sets being associated with a set of "intensities" attached to a new "coordinate" , the phenomenal characteristic linked to the exclusive set being associated with this new "coordinate", for an exclusive set, each "intensity" representing a distinct operating datum, the set of "coordinates" being grouped together within a only "dimension"; - iterative steps during which, for each existing "dimension", called "mother dimension", one seeks to gather all its "coordinates" in at least one group by respecting the following rules: a) in the case of a rally in at least two groups, respecting the following rules:
Figure img00090002

each group has the same number of "coordinates", c no group has only one "coordinate", there is no elementary phenomenon which does not belong either to an intra-group characteristic or to an international characteristic. groups and at least two "coordinates" of the "mother dimension" must have at least one elementary phenomenon; for each group, all the elementary phenomena present identically in each "coordinate" of the group being named "intra-group characteristic", among the possible elementary phenomena not belonging to the intragroup characteristics, the set of elementary phenomena which are present identically in a "coordinate" of each of the groups is called "inter-group characteristic", an elementary phenomenon that can only participate in one inter-group characteristic; (b) in the case of a single group meeting the following rules: the "parent dimension" contains at least two "coordinates", all "coordinates" contain "intensities", and the modulated characteristic of each "coordinate""is part of the intra-group characteristic; at least one elementary phenomenon present identically in each "coordinate" of the group being called "intra-group characteristic",

<Desc/Clms Page number 10> <Desc / Clms Page number 10>

Figure img00100001

pour chaque"coordonnée", une caractéristique inter-groupes rassemble les éventuels phénomènes tD élémentaires qui n'appartiennent pas à la caractéristique intra-groupe ; c) dans les deux cas, le non respect d'au moins une règle interdisant le rassemblement des ZD "coordonnées"en groupe (s) et rendant définitive la "dimension" ; - une étape de constitution de"dimensions"au cours de laquelle, s'il est possible de constituer
Figure img00100002

des groupes selon les règles a) et b), alors deux nouvelles "dimensions" sont créées : Z : > C > une "dimension" possédant un nombre de "coordonnées" égal au nombre de"coordonnées"d'un groupe de la "dimension mère", les caractéristiques phénoménales des "coordonnées" de cette nouvelle "dimension" étant celles d'un groupe quelconque de la "dimension mère", desquelles on
Figure img00100003

a retiré la caractéristique intra-groupe, Z : D une"dimension"possédant un nombre de"coordonnées"égal au nombre de groupes de la "dimension mère", chacun de ces groupes engendrant une "coordonnée" de la nouvelle 1- ZD "dimension", la caractéristique intra-groupe de chacun de ces groupes constituant la 1 caractéristique phénoménale de la "coordonnée" engendrée, une"intensité"restant toujours liée à a "coordonnée" qui contient la caractéristique modulée, et donc à la "dimension" qui contient cette "coordonnée" ; - une fois toutes les "dimensions" traitées, une étape de finalisation au cours de laquelle, s'il n'a pas été possible de créer des groupes sur au moins une des "dimensions", alors la construction du modèle est terminée, les "dimensions" produites étant regroupées au sein de f'espace"du périphérique.
Figure img00100001

for each "coordinate", an inter-group characteristic collects the possible elementary tD phenomena that do not belong to the intra-group characteristic; c) in both cases, the non respect of at least one rule prohibiting the gathering of the "coordinated" DZ in group (s) and making definitive the "dimension"; - a step of constitution of "dimensions" during which, if it is possible to constitute
Figure img00100002

groups according to the rules a) and b), then two new "dimensions" are created: Z:>C> a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the " dimension ", the phenomenal characteristics of the" coordinates "of this new" dimension "being those of any group of the" mother dimension ", of which
Figure img00100003

has removed the intra-group characteristic, Z: D a "dimension" having a number of "coordinates" equal to the number of groups of the "mother dimension", each of these groups generating a "coordinate" of the new 1ZD " dimension ", the intra-group characteristic of each of these groups constituting the phenomenal 1 characteristic of the generated" coordinate ", an" intensity "always remaining linked to a" coordinate "which contains the modulated characteristic, and therefore to the" dimension " which contains this "coordinate"; once all the "dimensions" have been processed, a finalization stage during which, if it has not been possible to create groups on at least one of the "dimensions", then the construction of the model is completed, the "dimensions" produced being grouped within the "space" of the device.

D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite en regard des dessins annexés dans lesquels : - la figure 1 représente, schématiquement, une représentation d'un périphérique dans un espace, à l'aide de dynamiques, - la figure 2 représente, schématiquement, des étapes de modélisation d'un périphérique, - la figure 3 représente, schématiquement, deux configurations d'un périphérique, - les figures 4 et 5 représentent, schématiquement, une structure microscopique, définie en figure 2, d'un périphérique, - les figures 6 à 14 représentent, schématiquement, une dimension produite au cours d'une étape de modélisation illustrée en figure 2, - la figure 15 représente, schématiquement, une arborescence de périphériques conforme à un aspect de la présente invention, - la figure 16 représente, schématiquement, un parcours de noeuds d'une arborescence représentant des périphériques conformément à un aspect de la présente invention, et - la figure 17 représente un schéma d'organisation de machines virtuelles dans un mode de réalisation exemplaire du premier aspect de la présente invention. Other advantages, aims and features of the present invention will emerge from the description which follows, given with reference to the appended drawings, in which: FIG. 1 represents, schematically, a representation of a peripheral in a space, at the using dynamics, - Figure 2 shows, schematically, steps of modeling a device, - Figure 3 shows, schematically, two configurations of a device, - Figures 4 and 5 show, schematically, a microscopic structure, 2, a device, FIGS. 6 to 14 schematically represent a dimension produced during a modeling step illustrated in FIG. 2; FIG. 15 is a diagrammatic representation of a device tree conforming to FIG. In one aspect of the present invention, FIG. 16 schematically represents a path of nodes of a tree representing according to one aspect of the present invention, and - Figure 17 shows a virtual machine organization scheme in an exemplary embodiment of the first aspect of the present invention.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

Dans toute la description, dans le préambule et les revendications, on utilise les définitions suivante. Throughout the description, in the preamble and the claims, the following definitions are used.

L'ensemble des éléments d'un (micro) processeur accessibles par un quelconque moyen logiciel (les instructions, les registres, la gestion de la mémoire,...), se traduit par un codage binaire

Figure img00110001

précis appelé "langage machine" du processeur. L'ensemble des éléments des périphériques Il z accessibles par un quelconque moyen logiciel ainsi que le langage machine constituent ce que t ID C > nous appelons "l'architecture matérielle". Le terme "machine" désigne dans la suite une "machine à registres" (ou machine de Von Neumann). z : l On appelle "machine universelle" une machine mettant en oeuvre au moins un aspect de la présente invention. The set of elements of a (micro) processor accessible by any software means (the instructions, the registers, the management of the memory, ...), results in a binary coding
Figure img00110001

precise called "machine language" of the processor. All the elements of the peripherals that can be accessed by any software means as well as the machine language constitute what we call the "hardware architecture". The term "machine" hereinafter refers to a "register machine" (or Von Neumann machine). z: l A "universal machine" is a machine embodying at least one aspect of the present invention.

Nous désignons par "processeur virtuel" un ensemble de mécanismes logiciels qui réalisent un

Figure img00110002

langage machine donné, tout comme un "processeur réel" est un ensemble de mécanismes Zr > physiques (par exemple électriques) qui réalisent le langage machine pour lequel il a été conçu. We denote by "virtual processor" a set of software mechanisms that realize a
Figure img00110002

given machine language, just as a "real processor" is a set of physical Zr> mechanisms (eg electrical) that realize the machine language for which it was designed.

Un processeur virtuel simule donc un processeur réel. Si l'on y ajoute un programme de simulation des périphériques reliés au processeur, on obtient une "machine virtuelle". A virtual processor therefore simulates a real processor. If we add a simulation program for peripherals connected to the processor, we obtain a "virtual machine".

On définit "l'efficacité" d'un langage machine par sa capacité à permettre la réalisation de toutes les opérations d'un langage de haut niveau en un minimum d'instructions. The "efficiency" of a machine language is defined by its ability to perform all the operations of a high level language in a minimum of instructions.

On observe qu'au sens de la présente invention, un arbre, ou une arborescence, est un graphe que l'on parcourt en partant toujours d'un même noeud prédéterminé, appelé "racine". It is observed that for the purposes of the present invention, a tree, or a tree, is a graph that is traversed starting always from the same predetermined node, called "root".

Préférentiellement, l'arbre ou l'arborescence est, cependant, un arbre au sens mathématique du terme, c'est-à-dire comportant d'autres extrémités que la racine.  Preferentially, the tree or tree is, however, a tree in the mathematical sense of the term, that is to say having other ends than the root.

Premier aspect de la présente invention, illustré en figure 17. First aspect of the present invention, illustrated in FIG.

1-Introduction à la machine de niveau zéro La machine de niveau zéro, base de la hiérarchie d'émulateurs imbriqués constituant la Machine Universelle, se décline en deux versions distinctes appelées "machine de niveau 0. 2" 20 et "machine de niveau 0. 4" 21. La plupart des caractéristiques de ces machines sont similaires. 1-Introduction to the Zero Level Machine The zero level machine, based on the hierarchy of nested emulators constituting the Universal Machine, comes in two distinct versions called "machine level 0. 2" 20 and "machine level 0 4 "21. Most of the features of these machines are similar.

1. 1 - Introduction à la machine 20 de niveau 0.2 Le niveau 0.2 représente les fondations de la Machine Universelle. C'est le niveau le plus simple de toute la hiérarchie d'émulateurs imbriqués. L'exécution de tous les programmes de niveau supérieur peut reposer sur lui. On distingue la machine virtuelle 20 de niveau 0.2 de l'émulateur 22 de niveau 0.2. 1. 1 - Introduction to Level 20 Machine 20 Level 0.2 represents the foundations of the Universal Machine. This is the simplest level of the entire hierarchy of nested emulators. The execution of all higher level programs may be based on it. We distinguish the virtual machine 20 level 0.2 of the emulator 22 level 0.2.

La machine virtuelle 20 de niveau 0.2 se présente pour le programmeur comme un ordinateur minimal, avec un langage machine élémentaire et un accès aux périphériques 32. The level 20 virtual machine 20 presents itself to the programmer as a minimal computer, with a basic machine language and access to the peripherals 32.

L'émulateur 22 de niveau 0.2 est le programme chargé de réaliser la traduction des opérations de la machine virtuelle de niveau 0.2 en opérations exécutables par la machine support 23. Comme The emulator 22 of level 0.2 is the program responsible for performing the translation of the operations of the virtual machine of level 0.2 into executable operations by the support machine 23. As

<Desc/Clms Page number 12><Desc / Clms Page number 12>

la machine 20 de niveau 0.2 est extrêmement simple, la programmation de cette traduction se fait très facilement (de l'ordre de quelques jours pour un programmeur).  the level 20 machine 20 is extremely simple, the programming of this translation is very easily (of the order of a few days for a programmer).

Lorsqu'on souhaite exploiter une machine de la hiérarchie, il suffit d'adapter l'algorithme

Figure img00120001

d'émulation du niveau 0. 2 dans le langage natif de la machine support 23. Tous les émulateurs c t, des niveaux supérieurs s'exécuteront directement sur cet émulateur 22. When you want to use a machine of the hierarchy, it is enough to adapt the algorithm
Figure img00120001

emulation level 0. 2 in the native language of the support machine 23. All emulators ct, higher levels will run directly on this emulator 22.

1. 2 - Introduction à la machine 21 de niveau 0.4 La structure à 2 instructions du niveau 0.2 implique une forte augmentation du nombre d'opérations nécessaires pour exécuter des programmes écrits dans un langage de haut niveau (faible efficacité), comparé à une machine virtuelle (ou physique) classique. Il en résulte un très fort ralentissement de la Machine Universelle qui peut être nuisible pour certaines applications. 1. 2 - Introduction to Level 21 Machine 21 The 0.2 level instruction structure involves a large increase in the number of operations required to execute programs written in a high level language (low efficiency) compared to a machine. virtual (or physical) classic. This results in a very strong slowdown of the Universal Machine which can be harmful for some applications.

Les inventeurs ont analysé les caractéristiques les moins efficaces du niveau 0. 2 et l'ont enrichi en conséquence. The inventors analyzed the least efficient characteristics of level 0. 2 and enriched it accordingly.

Le niveau 0.4 représente un très bon compromis entre simplicité et efficacité. Tout en restant très

Figure img00120002

simple, il entraîne une augmentation raisonnable du nombre d'opérations nécessaires pour C > exécuter des programmes écrits dans un langage de haut niveau. Level 0.4 represents a very good compromise between simplicity and efficiency. While remaining very
Figure img00120002

simple, it results in a reasonable increase in the number of operations required to execute programs written in a high-level language.

C > : > ID On distingue ici aussi la machine 21 de niveau 0. 4 de ('émulateur 24 de niveau 0. 4, à une t : l différence près : t'émulateur 24 de niveau 0.4 peut être écrit directement pour la machine support 23 ou bien pour la machine 20 de niveau 0. 2. Le second cas respecte la hiérarchie (la machine virtuelle 21 de niveau 0.4 est simulée par la machine virtuelle 20 de niveau 0.2 qui est simulée par la machine support 23). Le premier cas court-circuit la hiérarchie. L'exécution de tous les programmes de niveau supérieur de la hiérarchie peut donc reposer sur le niveau 0.4 au lieu du niveau 0.2. C>:> ID Here again there is the machine 21 of level 0. 4 of (emulator 24 of level 0. 4, with one difference: the emulator 24 of level 0.4 can be written directly for the machine support 23 or for the machine 20 of level 0. 2. The second case respects the hierarchy (the virtual machine 21 level 0.4 is simulated by the virtual machine 20 level 0.2 which is simulated by the support machine 23). If the hierarchy is short-circuited, the execution of all programs at the top of the hierarchy may be based on level 0.4 instead of level 0.2.

Lorsqu'on souhaite créer une Machine Universelle sur une machine support 23, il suffit donc d'adapter l'algorithme d'émulation du niveau 0.2 ou 0.4 (ou supérieur), selon les besoins, dans le langage natif de cette machine support 23. When it is desired to create a Universal Machine on a support machine 23, it suffices to adapt the emulation algorithm of the level 0.2 or 0.4 (or higher), as required, in the native language of this support machine 23.

2-Format des données L'unité élémentaire manipulable par la machine de niveau zéro est le mot de 16 bits. Les données ont une taille fixe de 16 bits. On note le bit de poids le plus faible (Least-Significant Bit, LSB) à droite du mot, et le bit de poids le plus fort (Most-Significant Bit, MSB) à gauche. Par

Figure img00120003

convention, on numérote les bits du mot de 0 à 15, de droite à gauche. Les données sont z enregistrées dans des fichiers au format binaire"big endian" (octet de plus fort poids stocké à l'adresse de plus faible numéro). Les données sauvées en mémoire peuvent être au format Il little
Figure img00120004

endian"ou"big endian". En effet, les programmes exécutés sur la machine de niveau zéro n'ont ZD pas la possibilité de le vérifier, et n'en sont pas affectés. Par contre, en environnement multiprocesseur, il faut s'assurer que tous les processeurs utilisent le même format de données pour le stockage en mémoire. 2-Data Format The elementary unit that can be manipulated by the zero-level machine is the 16-bit word. The data has a fixed size of 16 bits. Note the Least-Significant Bit (LSB) to the right of the word, and the Most-Significant Bit (MSB) to the left. By
Figure img00120003

convention, we number the bits of the word from 0 to 15, from right to left. The data is z saved in "big endian" binary format (most significant byte stored at the lowest numbered address). The data saved in memory can be in the format Il little
Figure img00120004

endian "or" big endian "because programs running on the zero-level machine do not have the ability to check it, and are not affected by it, but in a multiprocessor environment, you have to ensure that all processors use the same data format for storage in memory.

<Desc/Clms Page number 13> <Desc / Clms Page number 13>

On rappelle que, par convention, un caractère"$"précédant un nombre indique qu'il est exprimé en base hexadécimale. We recall that, by convention, a "$" character preceding a number indicates that it is expressed in hexadecimal base.

3-Organisation de l'espace d'adressage L'espace d'adressage des machines de niveau zéro (i. e. 0.2 et 0.4) est indéfini en taille. Il débute à l'adresse 0, se poursuit séquentie11ement aux adresses), 2, 3,..., et son adresse de fin n'a pas de limite logique. Chaque adresse pointe sur un mot de 16 bits.

Figure img00130001
3-Organization of the address space The address space of the machines of level zero (ie 0.2 and 0.4) is undefined in size. It starts at address 0, continues sequentially at addresses), 2, 3, ..., and its end address has no logical limit. Each address points to a 16-bit word.
Figure img00130001

La structure des registres de contrôle de la machine 21 de niveau 0. 4 entraîne une vision ZD segmentée et paginée de l'espace d'adressage de la machine 21 de niveau 0.4. Cette même vision s'applique aussi à la machine 20 de niveau 0.2.

Figure img00130002
The structure of the control registers of the level 0. 4 machine 21 causes a segmented and paged ZD vision of the address space of the level 0.4 machine. This same vision also applies to the machine 20 level 0.2.
Figure img00130002

L'espace d'adressage est vu comme étant découpé en segments de 64 Kilo-mots (ou Kmots, un ZD Z= Kmot correspondant à 1024 mots de 16 bits) pour la lecture des instructions composant un programme (c'est à dire l'étape de"fetch"). Cet espace est aussi vu comme étant découpé en pages de 8 Kmots pour la lecture ou l'écriture de données. Ces segments (et ces pages d'autre

Figure img00130003

part) sont donc des plages d'adresses de taille fixe, situées les unes à la suite des autres, et c couvrant l'ensemble de l espace d'adressage. The address space is seen as being cut into segments of 64 kilobytes (or Kmots, a ZD Z = Kmot corresponding to 1024 16-bit words) for reading the instructions composing a program (i.e. 'fetch' stage). This space is also seen as being cut into pages of 8 Kmots for reading or writing data. These segments (and these other pages
Figure img00130003

part) are thus fixed-size address ranges, one after the other, and c covering the entire address space.

On défini par "adresse valide", une adresse permettant d'accéder directement à une information 16 bits de façon bijective (exemples de supports de l'information : RAM, ROM, EEPROM, ...). Une telle information n'est accessible que par te processeur virtuel. Toute autre adresse est dite"adresse invalide", et provoque systématiquement l'exception (voir paragraphe 7) si un

Figure img00130004

programme tente d'y accéder. We define by "valid address", an address to directly access a 16-bit information bijectively (examples of information media: RAM, ROM, EEPROM, ...). Such information is accessible only by the virtual processor. Any other address is called "invalid address", and systematically provokes the exception (see paragraph 7) if a
Figure img00130004

program tries to access it.

Zn Dans cet espace d'adressage, on distingue un "espace exploitable", ainsi qu'un"espace inexploitable" infini, disjoint du premier, et situé immédiatement après. Ces deux espaces recouvrent la totalité de l'espace d'adressage. L'espace exploitable correspond à l'ensemble des segments contenant au moins une adresse valide. L'espace inexploitable correspond à tous les autres segments, uniquement composés d'adresses invalides. On définit par"espace adressable" l'ensemble des adresses valides de l'espace exploitable. On définit par"espace adressable exécutable" l'ensemble des adresses de l'espace adressable où l'émulateur peut aller chercher les instructions à exécuter. Le reste de l'espace adressable est désigné par"espace adressable non exécutable". Zn In this space of address, one distinguishes a "exploitable space", as well as a "space inexploitable" infinite, disjointed of the first, and located immediately after. These two spaces cover the entire address space. The exploitable space corresponds to the set of segments containing at least one valid address. The unusable space corresponds to all other segments, consisting only of invalid addresses. "Addressable space" defines the set of valid addresses of the exploitable space. By "executable addressable space" is defined all the addresses of the addressable space where the emulator can fetch the instructions to be executed. The rest of the addressable space is referred to as "non-executable address space".

L'espace exploitable est subdivisé en deux ou trois zones disjointes qui correspondent à des mémoires ayant des propriétés éventuellement différentes, comme les RAM, ROM et EEPROM. The exploitable space is subdivided into two or three disjoint areas that correspond to memories having possibly different properties, such as RAM, ROM and EEPROM.

Ces zones recouvrent la totalité de l'espace exploitable. Chacune de ces zones est continue et commence au début d'un segment de 64 Kmots. Une zone donnée occupe un ou plusieurs segments dans leur totalité, à l'exclusion de toute autre zone. Une zone n'utilisera pas nécessairement les 65536 adresses de son dernier segment. Dans ce cas, les adresses invalides sont regroupées en fin de segment. These areas cover the entire exploitable space. Each of these areas is continuous and starts at the beginning of a segment of 64 Kmots. A given area occupies one or more segments in their entirety, to the exclusion of any other area. One zone will not necessarily use the 65536 addresses of its last segment. In this case, the invalid addresses are grouped at the end of the segment.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

Figure img00140001
Figure img00140001

Les différentes zones sont définies comme suit : La première zone est constituée du premier segment de l'espace d'adressage (adresses 0 à 1 C > 65535). La première page de cette zone comporte des adresses valides de mémoire réinscriptible qui sont groupées depuis le début de la page (adresse 0). La deuxième page est réservée à l'usage c ZD du niveau 0. 2. Elle peut comporter des adresses valides de mémoire réinscriptible et de mémoire en lecture seulement, indépendamment de la structure de la première page. Les six pages z restantes peuvent comporter des adresses valides de mémoire réinscriptible qui sont groupées depuis le début de la troisième page (adresse 16384) en un seul bloc, sous réserve que la première page ne contienne aucune adresse invalide. The different zones are defined as follows: The first zone consists of the first segment of the address space (addresses 0 to 1C> 65535). The first page of this field contains valid rewritable memory addresses that are grouped from the beginning of the page (address 0). The second page is for ZD c use at level 0. 2. It may have valid rewritable memory and read-only memory addresses, regardless of the structure of the first page. The remaining six z pages may have valid rewritable memory addresses that are grouped from the beginning of the third page (address 16384) in one block, provided that the first page contains no invalid addresses.

. tl La deuxième zone commence au début du deuxième segment de l'espace d'adressage (adresse ZD ZD 65536). Elle se poursuit éventuellement sur les segments suivants. Toutes les adresses de tous les segments qu'elle occupe doivent être valides, et doivent contenir le même type de mémoire. Au démarrage de la machine de niveau zéro, cette zone doit contenir le programme de démarrage 0.4. . tl The second field starts at the beginning of the second segment of the address space (ZD address ZD 65536). It may continue on the following segments. All addresses of all the segments it occupies must be valid, and must contain the same type of memory. When starting the zero level machine, this zone must contain the 0.4 boot program.

La troisième zone est optionnelle, commence immédiatement après le dernier segment de la deuxième zone, et ne peut exister que si la dernière adresse du premier segment (adresse 65535)

Figure img00140002

est valide. Dans ce cas, elle est constituée d'un ou plusieurs segments contigus. Le dernier Z, V > segment contient au moins une adresse valide. Ces adresses valides sont placées les unes à la suite des autres à partir de la première adresse de ce dernier segment. Tous les segments précédents éventuels ne contiennent que des adresses valides. Toutes les adresses valides de la troisième zone doivent contenir le même type de mémoire réinscriptible. The third zone is optional, starts immediately after the last segment of the second zone, and can only exist if the last address of the first segment (address 65535)
Figure img00140002

is validated. In this case, it consists of one or more contiguous segments. The last Z, V> segment contains at least one valid address. These valid addresses are placed one after the other from the first address of this last segment. All previous possible segments contain only valid addresses. All valid addresses in the third zone must contain the same type of rewritable memory.

3. 1 - Spécificités de l'espace d'adressage de la machine 21 de niveau 0.4 L'espace adressable exécutable correspond à la totalité de l'espace adressable. La deuxième page est réservée à l'usage du niveau 0.2. Un programme ne doit jamais tenter d'accéder à cette page sous peine de graves dysfonctionnements si la machine 21 de niveau 0.4 est émulée par la machine 20 de niveau 0.2.  3. 1 - Specificity of the address space of the level 21 machine. The executable address space corresponds to the entire addressable space. The second page is reserved for the use of level 0.2. A program must never attempt to access this page under penalty of serious malfunctions if the machine level of 0.4 0.4 is emulated by the machine 20 level 0.2.

3. 2-Spécificités de l'espace d'adressage de la machine 20 de niveau 0.2 Par souci de rapidité, l'espace d'adressage de la machine 20 de niveau 0.2 est strictement identique à celui de la machine 21 de niveau 0.4. Cependant, la structure du pointeur d'instruction (IP) modifie la définition de l'espace adressable exécutable : il est limité à l'espace adressable de la première zone, c'est-à-dire aux 64 premiers Kmots au maximum. La présence de mémoire est obligatoire à partir de l'adresse $2000 pour y stocker le programme de démarrage 0.2.

Figure img00140003
3. 2-Specificity of the address space of the machine 20 of level 0.2 For the sake of speed, the address space of the machine 20 level 0.2 is strictly identical to that of the machine 21 level 0.4. However, the structure of the instruction pointer (IP) modifies the definition of the executable addressable space: it is limited to the addressable space of the first zone, that is to say to the first 64 Kmots at most. The presence of memory is mandatory from the $ 2000 address to store the startup program 0.2.
Figure img00140003

4-Les registres des processeurs ZD La structure des registres du niveau 0.2 est simplifiée par rapport à celle du niveau 0.4. 4-ZD processor registers The register structure of level 0.2 is simplified compared to that of level 0.4.

4. 1-Les registres de niveau 0.2  4. 1-Level registers 0.2

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

Figure img00150001
Figure img00150001

<tb>
<tb> Mode <SEP> Nom <SEP> du <SEP> registre <SEP> Taille <SEP> Rôle
<tb> d'accès
<tb> Lecture/ <SEP> MER <SEP> 16 <SEP> bits <SEP> Registre <SEP> de <SEP> communication <SEP> avec <SEP> le
<tb> Écriture <SEP> (Mapper/Enumerator <SEP> cartographe/énumérateur <SEP> 25.
<tb>
<Tb>
<tb> Mode <SEP> Name <SEP> of <SEP> register <SEP> Size <SEP> Role
<tb> access
<tb> Read / <SEP> SE <SEP> 16 <SEP> bits <SEP><SEP> Registry <SEP> communication <SEP> with <SEP>
<tb> Write <SEP> (Mapper / Enumerator <SEP> Cartographer / Enumerator <SEP> 25.
<Tb>

Adresse <SEP> 0 <SEP> Register)
<tb> Ecriture <SEP> MPW <SEP> 16 <SEP> bits <SEP> Accès <SEP> à <SEP> la <SEP> portion <SEP> courante <SEP> du <SEP> pointeur <SEP> de
<tb> Adresse <SEP> 1 <SEP> (Memory <SEP> Pointer <SEP> données <SEP> en <SEP> mémoire <SEP> (désignée <SEP> par <SEP> MPS).
<tb>
Address <SEP> 0 <SEP> Register)
<tb> Write <SEP> MPW <SEP> 16 <SEP> bits <SEP> Access <SEP> to <SEP> the <SEP><SEP><SEP> portion of the <SEP><SEP> pointer
<tb> Address <SEP> 1 <SEP> (Memory <SEP> Pointer <SEP> Data <SEP> in <SEP> Memory <SEP> (designated <SEP> by <SEP> MPS).
<Tb>

Window)
<tb> Ecriture <SEP> IP <SEP> 16 <SEP> bits <SEP> Accès <SEP> au <SEP> pointeur <SEP> d'instruction.
<tb>
window)
<tb> Write <SEP> IP <SEP> 16 <SEP> bits <SEP> Access <SEP> to the <SEP> statement <SEP> pointer.
<Tb>

Adresse <SEP> 2 <SEP> (instruction <SEP> Pointer)
<tb> Ecriture <SEP> MPS <SEP> 16 <SEP> bits <SEP> Sélection <SEP> de <SEP> la <SEP> fenêtre <SEP> 16 <SEP> bits <SEP> du <SEP> pointeur <SEP> de
<tb> Adresse <SEP> 3 <SEP> (Memory <SEP> Pointer <SEP> données <SEP> à <SEP> laquelle <SEP> on <SEP> souhaite <SEP> accéder.
<tb>
<SEP> 2 <SEP> Address (<SEP> Pointer Statement)
<tb> Write <SEP> MPS <SEP> 16 <SEP> bits <SEP> Select <SEP> from <SEP><SEP><SEP> 16 <SEP><SEP> Bit <SEP><SEP> from
<tb> Address <SEP> 3 <SEP> (Memory <SEP> Pointer <SEP> Data <SEP> to <SEP> where <SEP> on <SEP> wishes to <SEP> access.
<Tb>

Selection)
<tb> Implicite <SEP> R <SEP> 16 <SEP> bits <SEP> Registre <SEP> interne <SEP> à <SEP> usage <SEP> général.
<tb>
Selection)
<tb> Implicit <SEP> R <SEP> 16 <SEP> bits <SEP> Internal <SEP> register <SEP> to <SEP> general <SEP> usage.
<Tb>

(Register)
<tb> Implicite <SEP> B <SEP> 1 <SEP> bit <SEP> Indicateur <SEP> d'emprunt <SEP> lors <SEP> d'une <SEP> soustraction.
<tb>
(Register)
<tb> Implicit <SEP> B <SEP> 1 <SEP> bit <SEP><SEP><SEP> Binding flag when <SEP> of a <SEP> subtraction.
<Tb>

(Borrow)
<tb> Implicite <SEP> MP <SEP> Indéfinie <SEP> Pointeur <SEP> de <SEP> données <SEP> : <SEP> indique <SEP> l'adresse <SEP> pour
<tb> (Memory <SEP> Pointer) <SEP> l'accès <SEP> aux <SEP> données <SEP> en <SEP> mémoire.
<tb>
La difficulté de programmation du niveau 0.2 rend improbable une utilisation généraliste directe.
(Borrow)
<tb> Default <SEP> MP <SEP> Undefined <SEP><SEP> Pointer <SEP> Data <SEP>: <SEP> Specifies <SEP><SEP> Address for
<tb> (Memory <SEP> Pointer) <SEP> access <SEP> to <SEP> data <SEP> in <SEP> memory.
<Tb>
The difficulty of programming the level 0.2 makes it unlikely to be a direct general use.

C'est pourquoi il a été essentiellement conçu en vue d'émuler le niveau 0.4. That's why it was primarily designed to emulate level 0.4.

4. 2-Les registres de niveau 0.4 (on observe que"L/E"signifie"Lecture/Ecriture")

Figure img00150002
4. 2-The registers of level 0.4 (one observes that "L / E" means "Reading / Writing")
Figure img00150002

<tb>
<tb> Mode <SEP> Nom <SEP> du <SEP> registre <SEP> Taille <SEP> Rôle
<tb> d'accès
<tb> LIE <SEP> R <SEP> 16 <SEP> bits <SEP> Registre <SEP> interne <SEP> à <SEP> usage <SEP> général.
<tb>
<Tb>
<tb> Mode <SEP> Name <SEP> of <SEP> register <SEP> Size <SEP> Role
<tb> access
<tb> LIE <SEP> R <SEP> 16 <SEP> bits <SEP> Internal <SEP> register <SEP> to <SEP> general <SEP> usage.
<Tb>

Adresse <SEP> 0 <SEP> (Register)
<tb> L/E <SEP> IPW <SEP> 16 <SEP> bits <SEP> Accès <SEP> à <SEP> la <SEP> portion <SEP> courante <SEP> du <SEP> pointeur
<tb> Adresse <SEP> 1 <SEP> (Instruction <SEP> Pointer <SEP> d'instructions <SEP> (désignée <SEP> par <SEP> IPS).
<tb>
Address <SEP> 0 <SEP> (Register)
<tb> L / E <SEP> IPW <SEP> 16 <SEP> bits <SEP> Access <SEP> to <SEP> The <SEP><SEP> portion <SEP> of the <SEP> pointer
<tb> Address <SEP> 1 <SEP>(<SEP> Instruction <SEP> Pointer of <SEP> instructions (referred to as <SEP> by <SEP> IPS).
<Tb>

Window)
<tb> LIE <SEP> IPS <SEP> 16 <SEP> bits <SEP> Sélection <SEP> de <SEP> la <SEP> fenêtre <SEP> 16 <SEP> bits <SEP> du <SEP> pointeur
<tb> Adresse <SEP> 2 <SEP> (Instruction <SEP> Pointer <SEP> d'instructions <SEP> à <SEP> laquelle <SEP> on <SEP> souhaite <SEP> accéder
<tb> Selection)
<tb> L/E <SEP> MPW <SEP> 16 <SEP> bits <SEP> Accès <SEP> à <SEP> la <SEP> portion <SEP> courante <SEP> du <SEP> pointeur <SEP> de
<tb> Adresse <SEP> 3 <SEP> (Memory <SEP> Pomter <SEP> données <SEP> en <SEP> mémoire <SEP> (désignée <SEP> par <SEP> MPS)
<tb>
window)
<tb> LIE <SEP> IPS <SEP> 16 <SEP> bits <SEP><SEP><SEP> selection <SEP><SEP><SEP> 16 <SEP><SEP><SEP> bit
<tb> Address <SEP> 2 <SEP>(<SEP> Pointer <SEP> Instruction <SEP> statement to <SEP> where <SEP> on <SEP> wishes to <SEP> access
<tb> Selection)
<tb> L / E <SEP> MPW <SEP> 16 <SEP> bits <SEP> Access <SEP> to <SEP> The <SEP><SEP> Current <SEP> portion of the <SEP><SEP> pointer
<tb> Address <SEP> 3 <SEP> (Memory <SEP> POMER <SEP> Data <SEP> in <SEP> Memory <SEP> (designated <SEP> by <SEP> MPS)
<Tb>

<Desc/Clms Page number 16> <Desc / Clms Page number 16>

Figure img00160001
Figure img00160001

<tb>
<tb> Window)
<tb> L/E <SEP> MPS <SEP> 16 <SEP> bits <SEP> Sélction <SEP> de <SEP> la <SEP> fenêtre <SEP> 16 <SEP> bits <SEP> du <SEP> pointeur <SEP> de
<tb> Adresse <SEP> 4 <SEP> (Memory <SEP> Pointer <SEP> données <SEP> à <SEP> laquelle <SEP> on <SEP> souhaite <SEP> accéder.
<tb>
<Tb>
<tb> Window)
<tb> L / E <SEP> MPS <SEP> 16 <SEP> bits <SEP><SEP>SEP> selection <SEP><SEP> 16 <SEP><SEP><SEP> bit <7 <SEP> of
<tb> Address <SEP> 4 <SEP> (Memory <SEP> Pointer <SEP> Data <SEP> to <SEP> where <SEP> on <SEP> wishes to <SEP> access.
<Tb>

Selection)
<tb> L/E <SEP> MER <SEP> 16 <SEP> bits <SEP> Registre <SEP> de <SEP> communication <SEP> avec <SEP> le
<tb> Adresse <SEP> 5 <SEP> (Mapper/Enumerator <SEP> cartographe/énumérateur <SEP> 25.
<tb>
Selection)
<tb> L / E <SEP> SE <SEP> 16 <SEP> bits <SEP><SEP> Registry <SEP> communication <SEP> with <SEP>
<tb> Address <SEP> 5 <SEP> (Mapper / Enumerator <SEP> Cartographer / Enumerator <SEP> 25.
<Tb>

Register)
<tb> Implicite <SEP> 1 <SEP> bit <SEP> Indicateur <SEP> d'emprunt <SEP> lors <SEP> d'une <SEP> soustraction.
<tb>
Register)
<tb> Implicit <SEP> 1 <SEP> bit <SEP> Bind <SEP> flag <SEP> when <SEP> of a <SEP> subtraction.
<Tb>

(Borrow)
<tb> Implicite <SEP> Indéfinie <SEP> Pointeur <SEP> d'instructions <SEP> : <SEP> indique <SEP> l'adresse <SEP> de
<tb> (Instruction <SEP> Pointer) <SEP> la <SEP> prochaine <SEP> instruction <SEP> à <SEP> exécuter.
<tb>
(Borrow)
<tb> Implicit <SEP> Unspecified <SEP><SEP><SEP> Pointer: <SEP> Specifies <SEP><SEP> Address of
<tb>(<SEP> Pointer) statement <SEP> The <SEP> next <SEP><SEP> statement to <SEP> execute.
<Tb>

Implicite <SEP> MP <SEP> Indéfinie <SEP> Pointeur <SEP> de <SEP> données <SEP> : <SEP> indique <SEP> l'adresse <SEP> de
<tb> (Memory <SEP> Pointer) <SEP> base <SEP> pour <SEP> l'accès <SEP> aux <SEP> données <SEP> en <SEP> mémoire.
<tb>
Implicit <SEP> MP <SEP> Undefined <SEP><SEP> Pointer <SEP> Data <SEP>: <SEP> Specifies <SEP> the <SEP> address of
<tb> (Memory <SEP> Pointer) <SEP> base <SEP> for <SEP> access <SEP> to <SEP> data <SEP> in <SEP> memory.
<Tb>

Implicite <SEP> [PT <SEP> Indéfinie <SEP> Valeur <SEP> à <SEP> copier <SEP> dans <SEP> le <SEP> pointeur
<tb> (Instruction <SEP> Pointer <SEP> Tank) <SEP> d'instructions. <SEP> Lorsque <SEP> IPW <SEP> est <SEP> accédé <SEP> en
<tb> écriture, <SEP> c'est <SEP> IPT <SEP> qui <SEP> reçoit <SEP> la <SEP> valeur. <SEP> IPT <SEP> est
<tb> copié <SEP> dans <SEP> IP <SEP> sur <SEP> accès <SEP> en <SEP> écriture <SEP> à <SEP> IPW
<tb> lorsque <SEP> IPS <SEP> est <SEP> égal <SEP> à <SEP> 0, <SEP> IPT <SEP> restant <SEP> inchangé.
<tb>
Implicit <SEP> [PT <SEP> Undefined <SEP> Value <SEP> to <SEP> Copy <SEP> in <SEP> the <SEP> pointer
<tb> (Instruction <SEP> Pointer <SEP> Tank) <SEP> instructions. <SEP> When <SEP> IPW <SEP> is <SEP> accessed <SEP> in
<tb> write, <SEP> it is <SEP> IPT <SEP> which <SEP> receives <SEP> the <SEP> value. <SEP> IPT <SEP> is
<tb> copied <SEP> in <SEP> IP <SEP> on <SEP> access <SEP> in <SEP> write <SEP> to <SEP> IPW
<tb> when <SEP> IPS <SEP> is <SEP> equal <SEP> to <SEP> 0, <SEP> IPT <SEP> remaining <SEP> unchanged.
<Tb>

4. 3 - Caractéristiques communes
Les registres sont adressés comme n'importe quel autre emplacement de l'espace d'adressage, sous certaines conditions. Ils recouvrent les premières adresses de la première page de l'espace d'adressage, appelée" page 0 fI. Le registre R constitue toujours l'opérande source ou l'opérande destination des instructions.
4. 3 - Common characteristics
The registers are addressed like any other location in the address space, under certain conditions. They cover the first addresses of the first page of the address space, called "page 0. The register R always constitutes the source operand or the destination operand of the instructions.

Selon la quantité de mémoire allouée à la machine de niveau zéro par la machine support 23, les pointeurs d'instructions (IP) et de données (MP) peuvent prendre chacun une adresse maximale précise. Chaque adresse maximale est représentée par un certain nombre de bits significatifs appelé"capacité d'adressage". Cette capacité, variable en fonction de l'environnement matériel disponible, est exprimée en nombre de bits et découpée par portions de 16 bits, appelées fenêtres. Depending on the amount of memory allocated to the zero level machine by the support machine 23, the instruction pointers (IP) and the data pointers (MP) can each take a specific maximum address. Each maximum address is represented by a number of significant bits called "addressing capability". This capacity, variable according to the available hardware environment, is expressed in number of bits and cut into portions of 16 bits, called windows.

Si la capacité d'adressage n'est pas multiple de 16, la portion accessible est agrandie au multiple de 16 supérieur. Le nombre de fenêtres accessibles est appelé largeur d'adressage. If the addressing capacity is not multiple of 16, the accessible portion is enlarged to a multiple of 16 greater. The number of accessible windows is called the address width.

Ainsi, une machine 21 de niveau 0.4 ayant un espace exploitable s'étendant des adresses 0 à 15 000 000 a une capacité d'adressage de 24 bits, qui seront adressés à l'aide de 2 fenêtres de 16 bits. IPS et MPS pourront donc prendre les valeurs 0 ou). Thus, a level-level machine having an exploitable space ranging from 0 to 15,000,000 addresses has a 24-bit addressing capability, which will be addressed using 2 16-bit windows. IPS and MPS can therefore take the values 0 or).

Dans le cas du niveau 0. 2, la largeur d'adressage du pointeur d'instructions (IP) est limitée à une fenêtre On ne peut donc exécuter que les instructions situées dans les 64 premiers Kmots de In the case of level 0. 2, the instruction pointer (IP) addressing width is limited to a window. Therefore, only the instructions located in the first 64 Kmots can be executed.

<Desc/Clms Page number 17><Desc / Clms Page number 17>

l'espace d'adressage. En conséquence, IPS n'est pas accessible et considéré comme étant toujours nul. Dans l'exemple précédent, seul MPS pourra prendre les valeurs 0 ou 1.

Figure img00170001

On remarque que l'on limite les tailles de IPS et MPS à 16 bits. Le bit de poids fort de ces registres est réservé. On peut donc adresser au maximum 32768 fenêtres de 16 bits Ce nombre permettrait l'accès à un nombre de cases mémoires bien supérieur au nombre estimé d'atomes de l'univers... Cependant, grâce au bit réservé, il serait malgré tout possible de définir une convention pour augmenter la taille de ces registres ! 5-Codage des instructions des processeurs Chaque instruction élémentaire des machines de niveau zéro a une taille fixe de 16 bits. La signification de ces différents bits varie entre le niveau 0.2 et le niveau 0.4. the address space. As a result, IPS is not accessible and considered to be always zero. In the previous example, only MPS can take the values 0 or 1.
Figure img00170001

Note that we limit the sizes of IPS and MPS to 16 bits. The most significant bit of these registers is reserved. We can therefore address a maximum of 32768 16-bit windows This number would allow access to a number of memory cells well above the estimated number of atoms in the universe ... However, thanks to the reserved bit, it would still be possible to define a convention to increase the size of these registers! 5-Coding of the instructions of the processors Each basic instruction of the machines of level zero has a fixed size of 16 bits. The meaning of these different bits varies between level 0.2 and level 0.4.

5. 1-Codage des instructions de niveau 0.2

Figure img00170002
5. 1-Coding of level 0.2 instructions
Figure img00170002

<tb>
<tb> 15 <SEP> 1 <SEP> bits <SEP> 13... <SEP> 0
<tb> home <SEP> op <SEP> mo
<tb> home <SEP> : <SEP> Si <SEP> bit <SEP> à <SEP> un, <SEP> accède <SEP> à <SEP> l'adresse <SEP> pointée <SEP> par <SEP> MP <SEP> : <SEP> ae <SEP> = <SEP> adresse <SEP> effective <SEP> = <SEP> MP.
<tb>
<Tb>
<tb> 15 <SEP> 1 <SEP> bits <SEP> 13 ... <SEP> 0
<tb> home <SEP> op <SEP> mo
<tb> home <SEP>: <SEP> If <SEP> bit <SEP> to <SEP> a, <SEP> accesses <SEP> at <SEP><SEP> address pointed <SEP> by <SEP> MP <SEP>: <SEP> ae <SEP> = <SEP> address <SEP> effective <SEP> = <SEP> MP.
<Tb>

Les <SEP> premières <SEP> adresses <SEP> pointent <SEP> alors <SEP> sur <SEP> l'espace <SEP> d'adressage <SEP> et <SEP> non <SEP> sur <SEP> les
<tb> regislres.
<tb>
The <SEP> first <SEP> addresses <SEP> point <SEP> while <SEP> on <SEP> the space <SEP> address <SEP> and <SEP> no <SEP> on <SEP> the
<tb> regislres.
<Tb>

Si <SEP> bit <SEP> nul, <SEP> force <SEP> l'accès <SEP> à <SEP> la <SEP> page <SEP> 0 <SEP> en <SEP> ignorant <SEP> MP <SEP> mais <SEP> en <SEP> utilisant <SEP> le <SEP> champ <SEP> mo <SEP> : <SEP> ae
<tb> = <SEP> mo
<tb> La <SEP> a <SEP> ou <SEP> les <SEP> premières <SEP> adresses <SEP> de <SEP> la <SEP> page <SEP> 0 <SEP> pointent <SEP> sur <SEP> les <SEP> registres <SEP> intrenes <SEP> de <SEP> la
<tb> machine. <SEP> Les <SEP> autres <SEP> adresses <SEP> pointent <SEP> sur <SEP> l'espace <SEP> d'adressage.
<tb> op <SEP> : <SEP> Type <SEP> d'opération <SEP> :
<tb> Si <SEP> op <SEP> = <SEP> 0 <SEP> Soustraction <SEP> avec <SEP> retenue <SEP> d'ae <SEP> à <SEP> R <SEP> ("SB <SEP> Mem"). <SEP> En <SEP> cas <SEP> d'accès <SEP> à <SEP> la <SEP> page
<tb> 0, <SEP> seul <SEP> le <SEP> registre"MER"27 <SEP> (adresse <SEP> 0) <SEP> est <SEP> accessible.
<tb>
If <SEP> bit <SEP> null, <SEP> forces <SEP> access <SEP> to <SEP><SEP> page <SEP> 0 <SEP> into <SEP> ignoring <SEP> MP <SEP > but <SEP> in <SEP> using <SEP> the <SEP> field <SEP> mo <SEP>: <SEP> ae
<tb> = <SEP> mo
<tb> The <SEP> has <SEP> or <SEP> the <SEP> first <SEP> addresses <SEP> of <SEP> the <SEP> page <SEP> 0 <SEP> point <SEP> on <SEP > the <SEP> registers <SEP> intrenes <SEP> of <SEP> la
<tb> machine. <SEP> The <SEP> other <SEP><SEP> addresses point <SEP> on <SEP> the <SEP> address space.
<tb> op <SEP>: <SEP> Operation <SEP> Type <SEP>:
<tb> If <SEP> op <SEP> = <SEP> 0 <SEP> Subtract <SEP> with <SEP> hold <SEP> from ae <SEP> to <SEP> R <SEP>("SB<SEP> Mem "). <SEP> In <SEP> cases <SEP> of access <SEP> to <SEP> the <SEP> page
<tb> 0, <SEP> only <SEP> the <SEP> register "MER" 27 <SEP> (address <SEP> 0) <SEP> is <SEP> accessible.
<Tb>

Si <SEP> op <SEP> = <SEP> 1 <SEP> Sauvegarde <SEP> de <SEP> R <SEP> vers <SEP> ae <SEP> ("ST <SEP> Mem"). <SEP> En <SEP> cas <SEP> d'accès <SEP> à <SEP> la <SEP> page <SEP> 0, <SEP> tous <SEP> les
<tb> registres <SEP> (adresses <SEP> 0 <SEP> à <SEP> 3) <SEP> sont <SEP> accessibles.
<tb> mo <SEP> : <SEP> Adresse <SEP> absolue <SEP> dans <SEP> la <SEP> page <SEP> 0 <SEP> si <SEP> le <SEP> bit <SEP> home <SEP> est <SEP> baissé, <SEP> ou <SEP> bien <SEP> champ <SEP> de <SEP> bits
<tb> inexploité <SEP> si <SEP> le <SEP> bit <SEP> home <SEP> est <SEP> levé.
<tb>
If <SEP> op <SEP> = <SEP> 1 <SEP><SEP> Backup from <SEP> R <SEP> to <SEP> ae <SEP>("ST<SEP>Mem").<SEP> In <SEP> cases <SEP> of access <SEP> to <SEP> the <SEP> page <SEP> 0, <SEP> all <SEP>
<tb> registers <SEP> (addresses <SEP> 0 <SEP> to <SEP> 3) <SEP> are <SEP> accessible.
<tb> mo <SEP>: <SEP> Address <SEP> absolute <SEP> in <SEP><SEP> page <SEP> 0 <SEP> if <SEP><SEP> bit <SEP> home <SEP > is <SEP> dropped, <SEP> or <SEP> well <SEP><SEP> field of <SEP> bits
<tb> unexploited <SEP> if <SEP><SEP> bit <SEP> home <SEP> is <SEP> raised.
<Tb>

5. 2-Codage des instructions de niveau 0.4 En niveau 0.4, un bit supplémentaire est utilisé pour encoder deux nouvelles instructions (LoaD et AND). En conséquence, il y a un bit de moins pour encoder le champ"mo".

Figure img00170003
5. 2-Coding of Level 0.4 Instructions In level 0.4, an additional bit is used to encode two new instructions (LoaD and AND). As a result, there is one bit less to encode the "mo" field.
Figure img00170003

<tb>
<tb> i5 <SEP> i4 <SEP> ! <SEP> 3 <SEP> bits <SEP> 12... <SEP> 0
<tb> home <SEP> op <SEP> par <SEP> mo
<tb> home. <SEP> Si <SEP> bit <SEP> à <SEP> un, <SEP> accède <SEP> à <SEP> la <SEP> zone <SEP> dont <SEP> la <SEP> base <SEP> est <SEP> pointée <SEP> par <SEP> MP <SEP> : <SEP> ae <SEP> - <SEP> adresse <SEP> effective
<tb>
<Tb>
<tb> i5 <SEP> i4 <SEP>! <SEP> 3 <SEP> bits <SEP> 12 ... <SEP> 0
<tb> home <SEP> op <SEP> by <SEP> mo
<tb> home. <SEP> If <SEP> bit <SEP> to <SEP> a, <SEP> accesses <SEP> at <SEP> the <SEP> zone <SEP> where <SEP><SEP> base <SEP> is <SEP> dotted <SEP> with <SEP> MP <SEP>: <SEP> ae <SEP> - <SEP> effective <SEP>
<Tb>

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

Figure img00180001
Figure img00180001

<tb>
<tb> = <SEP> MP <SEP> ET <SEP> logique <SEP> mo.
<tb>
<Tb>
<tb> = <SEP> MP <SEP> AND <SEP> Logic <SEP> mo.
<Tb>

Les <SEP> es <SEP> premières <SEP> adresses <SEP> pointent <SEP> ators <SEP> sur <SEP> l'espace <SEP> d'adressage <SEP> et <SEP> non <SEP> sur <SEP> les
<tb> registres.
<tb>
The <SEP> es <SEP> first <SEP><SEP> addresses point <SEP> ators <SEP> on <SEP><SEP> address space <SEP> and <SEP> No <SEP> on <SEP>
<tb> registers.
<Tb>

Si <SEP> bit <SEP> nul, <SEP> force <SEP> l'accès <SEP> à <SEP> la <SEP> page <SEP> 0 <SEP> en <SEP> ignorant <SEP> MP <SEP> : <SEP> ae <SEP> = <SEP> mo
<tb> La <SEP> a <SEP> ou <SEP> les <SEP> premières <SEP> adresses <SEP> de <SEP> la <SEP> page <SEP> 0 <SEP> pointent <SEP> sur <SEP> les <SEP> registres <SEP> intenes <SEP> de <SEP> la
<tb> machine. <SEP> Les <SEP> autres <SEP> adresses <SEP> pointent <SEP> sur <SEP> l'espace <SEP> d'adressage.
<tb> op <SEP> : <SEP> Type <SEP> d'opération <SEP> : <SEP> 0 <SEP> = <SEP> déplacement <SEP> mémoire, <SEP> 1 <SEP> = <SEP> opération <SEP> arithmétique <SEP> ou <SEP> logique
<tb> sur <SEP> R.
<tb> par <SEP> : <SEP> Paramètre <SEP> de <SEP> l'opération
<tb> (par= <SEP> 0 <SEP> : <SEP> Sauvegarde <SEP> de <SEP> R <SEP> vers <SEP> ae <SEP> ("ST <SEP> Mem").
<tb>
If <SEP> bit <SEP> null, <SEP> forces <SEP> access <SEP> to <SEP><SEP> page <SEP> 0 <SEP> into <SEP> ignoring <SEP> MP <SEP >: <SEP> ae <SEP> = <SEP> mo
<tb> The <SEP> has <SEP> or <SEP> the <SEP> first <SEP> addresses <SEP> of <SEP> the <SEP> page <SEP> 0 <SEP> point <SEP> on <SEP > the <SEP> registers <SEP> intenes <SEP> of <SEP> the
<tb> machine. <SEP> The <SEP> other <SEP><SEP> addresses point <SEP> on <SEP> the <SEP> address space.
<tb> op <SEP>: <SEP> Operation Type <SEP><SEP>:<SEP> 0 <SEP> = <SEP> Move <SEP> Memory, <SEP> 1 <SEP> = <SEP><SEP> arithmetic <SEP> or <SEP> logical operation
<tb> on <SEP> R.
<tb> by <SEP>: <SEP><SEP> setting of <SEP> operation
<tb> (by = <SEP> 0 <SEP>: <SEP><SEP> Backup from <SEP> R <SEP> to <SEP> ae <SEP>("ST<SEP>Mem").
<Tb>

Si <SEP> op <SEP> = <SEP> 0 <SEP>
<tb> lpar <SEP> = <SEP> 1 <SEP> : <SEP> Chargement <SEP> de <SEP> R <SEP> avec <SEP> contenu <SEP> d'ae <SEP> ("LD <SEP> Mem").
<tb>
If <SEP> op <SEP> = <SEP> 0 <SEP>
<tb> lpar <SEP> = <SEP> 1 <SEP>: <SEP> Loading <SEP> of <SEP> R <SEP> with <SEP><SEP> Content of ae <SEP>("LD<SEP> Mem ").
<Tb>

Avec <SEP> les <SEP> instructions <SEP> LD <SEP> et <SEP> ST, <SEP> en <SEP> cas <SEP> d'accès <SEP> à <SEP> la <SEP> page <SEP> 0, <SEP> tous <SEP> les <SEP> registres <SEP> (adresses
<tb> 0 <SEP> à <SEP> 5) <SEP> sont <SEP> accessibles.
<tb>
With <SEP> the <SEP> instructions <SEP> LD <SEP> and <SE> ST, <SEP> in <SEP><SEP> access cases <SEP> to <SEP><SEP> page <SEP > 0, <SEP> all <SEP> the <SEP> registers <SEP> (addresses
<tb> 0 <SEP> to <SEP> 5) <SEP> are <SEP> accessible.
<Tb>

(par <SEP> = <SEP> 0 <SEP> : <SEP> ET <SEP> logique <SEP> du <SEP> contenu <SEP> d'ae <SEP> avec <SEP> R <SEP> ("AND <SEP> Mem").
<tb>
(by <SEP> = <SEP> 0 <SEP>: <SEP> AND <SEP> logical <SEP> of the <SEP><SEP> content of ae <SEP> with <SEP> R <SEP>("AND<SEP> Mem ").
<Tb>

Si <SEP> op <SEP> = <SEP> 1 <SEP> @
<tb> @par <SEP> = <SEP> 1 <SEP> : <SEP> Soustraction <SEP> avec <SEP> retenue <SEP> d'ae <SEP> à <SEP> R <SEP> ("SBB <SEP> Mem").
<tb>
If <SEP> op <SEP> = <SEP> 1 <SEP> @
<tb> @par <SEP> = <SEP> 1 <SEP>: <SEP> Subtraction <SEP> with <SEP> hold <SEP> from ae <SEP> to <SEP> R <SEP>("SBB<SEP> Mem ").
<Tb>

Avec <SEP> les <SEP> instructions <SEP> SBB <SEP> et <SEP> AND, <SEP> en <SEP> cas <SEP> d'accès <SEP> à <SEP> la <SEP> page <SEP> 0, <SEP> seul <SEP> le <SEP> registre <SEP> R
<tb> (adresse <SEP> 0) <SEP> est <SEP> accessible.
<tb> nb <SEP> : <SEP> l'indicateur <SEP> d'emprunt <SEP> B <SEP> ne <SEP> peut <SEP> être <SEP> accédé <SEP> qu'avec <SEP> les <SEP> instructions <SEP> SBB <SEP> et
<tb> AND.
<tb> mo <SEP> : <SEP> Adresse <SEP> absolue <SEP> dans <SEP> la <SEP> page <SEP> 0 <SEP> si <SEP> le <SEP> bit <SEP> home <SEP> est <SEP> baissé, <SEP> ou <SEP> bien <SEP> masque <SEP> logique
<tb> combiné <SEP> avec <SEP> les <SEP> 13 <SEP> bits <SEP> de <SEP> poids <SEP> faible <SEP> de <SEP> MP <SEP> pour <SEP> le <SEP> calcul <SEP> de <SEP> l'adresse <SEP> effective <SEP> si
<tb> le <SEP> bit <SEP> home <SEP> est <SEP> levé.
<tb>
With <SEP> the <SEP> statements <SEP> SBB <SEP> and <SEP> AND, <SEP> in <SEP><SEP> access cases <SEP> to <SEP><SEP> page <SEP > 0, <SEP> only <SEP> the <SEP> register <SEP> R
<tb> (address <SEP> 0) <SEP> is <SEP> accessible.
<tb> nb <SEP>: <SEP> the <SEP> flag of borrowing <SEP> B <SEP><SEP> can <SEP> be <SEP> accessed <SEP> only with <SEP><SEP><SEP> SBB <SEP> instructions and
<tb> AND.
<tb> mo <SEP>: <SEP> Address <SEP> absolute <SEP> in <SEP><SEP> page <SEP> 0 <SEP> if <SEP><SEP> bit <SEP> home <SEP > is <SEP> dropped, <SEP> or <SEP> well <SEP> mask <SEP> logical
<tb> combined <SEP> with <SEP><SEP> 13 <SEP> bits <SEP> of <SEP> weight <SEP> low <SEP> of <SEP> MP <SEP> for <SEP><SEP><SEP> calculation of <SEP> the <SEP> effective <SEP> address if
<tb><SEP> bit <SEP> home <SEP> is <SEP> raised.
<Tb>

6-Description des jeux d'instructions des processeurs
On observe que, par convention, le symbole (- désigne la copie du terme situé à droite dans le terme situé à gauche. On parle"d'affectation de variable".
6-Description of the instruction sets of the processors
It is observed that, by convention, the symbol (- designates the copy of the term situated on the right in the term on the left.) One speaks of "assignment of variable".

6. 1-Jeu d'instructions de niveau 0.2

Figure img00180002

Le niveau 0. 2 se programme à l'aide de deux instructions : la soustraction et la sauvegarde du registre R vers l'espace d'adressage. 6. 1-Level Instruction Set 0.2
Figure img00180002

The level 0. 2 is programmed using two instructions: the subtraction and the saving of the register R towards the address space.

6. 1. 1 - L'opération arithmétique

Figure img00180003
6. 1. 1 - The arithmetic operation
Figure img00180003

<tb>
<tb> SB
<tb> Substract <SEP> with <SEP> Borrow-Soustraction <SEP> avec <SEP> emprunt
<tb> Syntaxe <SEP> SB <SEP> adresse
<tb>
<Tb>
<tb> SB
<tb> Substract <SEP> with <SEP> Borrow-Subtraction <SEP> with <SEP> Loan
<tb> Syntax <SEP> SB <SEP> address
<Tb>

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

Figure img00190001
Figure img00190001

<tb>
<tb> Opération <SEP> : <SEP> R <SEP> < - <SEP> (R-mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective)-B, <SEP> B <SEP> < -emprunt
<tb> Description <SEP> : <SEP> Soustrait <SEP> au <SEP> registre <SEP> R <SEP> le <SEP> mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> ainsi <SEP> que <SEP> l'emprunt.
<tb>
<Tb>
<tb> Operation <SEP>: <SEP> R <SEP><-<SEP> (R-word <SEP> pointed <SEP> by <SEP> effective <SEP> address) -B, <SEP> B <SEP><-billing
<tb> Description <SEP>: <SEP> Subtract <SEP> from <SEP> register <SEP> R <SEP> the <SEP> word <SEP> located <SEP> to <SEP> the indicated <SEP> address <SEP> thus <SEP> than <SEP> the loan.
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> est <SEP> mis <SEP> à <SEP> un <SEP> si <SEP> un <SEP> emprunt <SEP> est <SEP> généré, <SEP> il <SEP> est <SEP> mis <SEP> à <SEP> zéro <SEP> sinon.
<tb>
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> set <SEP> to <SEP> a <SEP> if <SEP> a <SEP> loan <SEP> is <SEP> generated, <SEP> it <SEP> is <SEP> set <SEP> to <SEP> zero <SEP> otherwise.
<Tb>

6. <SEP> 1. <SEP> 2 <SEP> - <SEP> L'opération <SEP> de <SEP> déplacement <SEP> mémoire
<tb> ST
<tb> STore-Sauvegarde <SEP> du <SEP> registre <SEP> R
<tb> Syntaxe <SEP> : <SEP> ST <SEP> adresse
<tb> Opération <SEP> : <SEP> mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective <SEP> < -R
<tb> Description <SEP> : <SEP> Copie <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> le <SEP> contenu <SEP> du <SEP> registre <SEP> R <SEP> (R <SEP> n'est <SEP> pas <SEP> modifié).
<tb>
6. <SEP> 1. <SEP> 2 <SEP> - <SEP> The <SEP> operation of <SEP> move <SEP> memory
<tb> ST
<tb> STore-Backup <SEP> of <SEP> Registry <SEP> R
<tb> Syntax <SEP>: <SEP> ST <SEP> address
<tb> Operation <SEP>: <SEP> Word <SEP> Pointed <SEP> By <SEP> Actual <SEP> Address <SEP><-R
<tb> Description <SEP>: <SEP> Copy <SEP> to <SEP> the specified <SEP> address <SEP><SEP><SEP><SEP><SEP> R <SEP>< R <SEP> is <SEP> not <SEP> modified).
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> n'est <SEP> pas <SEP> modifié.
<tb>
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> not <SEP> modified.
<Tb>

6. 2-Jeu d'instructions de niveau 0.4 Le niveau 0.4 se programme à l'aide de quatre instructions : deux permettant d'effectuer des opérations de type arithmétique et logique ; deux permettant d'effectuer des déplacements entre l'espace d'adressage et le registre R. 6. 2-Instruction Set of Level 0.4 Level 0.4 is programmed using four instructions: two to perform arithmetic and logic operations; two making it possible to move between the address space and the register R.

6. 2. 1-Les opérations de déplacement mémoire

Figure img00190002
6. 2. 1-The memory displacement operations
Figure img00190002

<tb>
<tb> ST
<tb> STore-Sauvegarde <SEP> du <SEP> registre <SEP> R
<tb> Syntaxe <SEP> : <SEP> ST <SEP> adresse
<tb> Opération <SEP> : <SEP> mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective <SEP> < -R
<tb> Description <SEP> : <SEP> Copie <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> le <SEP> contenu <SEP> du <SEP> registre <SEP> R <SEP> (R <SEP> n'est <SEP> pas <SEP> modifié).
<tb>
<Tb>
<tb> ST
<tb> STore-Backup <SEP> of <SEP> Registry <SEP> R
<tb> Syntax <SEP>: <SEP> ST <SEP> address
<tb> Operation <SEP>: <SEP> Word <SEP> Pointed <SEP> By <SEP> Actual <SEP> Address <SEP><-R
<tb> Description <SEP>: <SEP> Copy <SEP> to <SEP> the specified <SEP> address <SEP><SEP><SEP><SEP><SEP> R <SEP>< R <SEP> is <SEP> not <SEP> modified).
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> n'est <SEP> pas <SEP> modifié.
<tb>
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> not <SEP> modified.
<Tb>

LD
<tb> LoaD-Chargenieni <SEP> du <SEP> registre <SEP> R
<tb> Syntaxe <SEP> : <SEP> LD <SEP> adresse
<tb> Opération <SEP> : <SEP> R <SEP> e <SEP> mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective
<tb> Description <SEP> : <SEP> Copie <SEP> dans <SEP> le <SEP> registre <SEP> R <SEP> le <SEP> mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> (le <SEP> mot <SEP> n'est <SEP> pas <SEP> modifié).
<tb>
LD
<tb> LoaD-Chargenieni <SEP> of the <SEP> register <SEP> R
<tb> Syntax <SEP>: <SEP> LD <SEP> address
<tb> Operation <SEP>: <SEP> R <SEP> e <SEP><SEP> word pointed <SEP> by <SEP> the effective <SEP> address
<tb> Description <SEP>: <SEP> Copy <SEP> in <SEP> The <SEP> Registry <SEP> R <SEP> The <SEP> Word <SEP> Located <SEP> to <SEP> Address <SEP> specified <SEP> (the <SEP> word <SEP> is <SEP> not <SEP> changed).
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> n'est <SEP> pas <SEP> modifié.
<tb>
6.2. 2-Les opérations arithmétique et logique

Figure img00190003
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> not <SEP> modified.
<Tb>
6.2. 2-Arithmetic and logical operations
Figure img00190003

<tb>
<tb> AND
<tb> Logical <SEP> AND-ET <SEP> logique
<tb> Syntaxe <SEP> : <SEP> AND <SEP> adresse
<tb> Opération <SEP> : <SEP> R <SEP> < -R <SEP> ET <SEP> mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective, <SEP> buzz
<tb> Description <SEP> : <SEP> Effectue <SEP> le <SEP> ET <SEP> logique <SEP> entre <SEP> le <SEP> registre <SEP> R <SEP> et <SEP> le <SEP> mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> Le <SEP> résultat
<tb> est <SEP> rangé <SEP> dans <SEP> R.
<tb>
<Tb>
<tb> AND
<tb> Logical <SEP> AND-AND <SEP> logical
<tb> Syntax <SEP>: <SEP> AND <SEP> address
<tb> Operation <SEP>: <SEP> R <SEP><-R<SEP> AND <SEP><SEP> word pointed <SEP> by <SEP> the effective <SEP> address, <SEP> buzz
<tb> Description <SEP>: <SEP> Perform <SEP><SEP> AND <SEP> Logic <SEP> Between <SEP><SEP> Registry <SEP> R <SEP> and <SEP><SEP> word <SEP> located <SEP> to <SEP> the <SEP> address specified <SEP> The <SEP> result
<tb> is <SEP> ordered <SEP> in <SEP> R.
<Tb>

<Desc/Clms Page number 20> <Desc / Clms Page number 20>

Figure img00200001
Figure img00200001

<tb>
<tb>
<Tb>
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> est <SEP> toujours <SEP> mis <SEP> à <SEP> zéro./
<tb> SBB
<tb> SuBstract <SEP> with <SEP> Borrow-Soustraction <SEP> avec <SEP> emprunt
<tb> Syntaxe <SEP> : <SEP> SBB <SEP> adresse
<tb> Opération <SEP> : <SEP> R <SEP> < - <SEP> (R-mot <SEP> pointé <SEP> par <SEP> l'adresse <SEP> effective)-B <SEP> ; <SEP> B <SEP> < -emprunt
<tb> Description <SEP> : <SEP> Soustrait <SEP> au <SEP> registre <SEP> R <SEP> le <SEP> mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> indiquée <SEP> ainsi <SEP> que <SEP> l'emprunt.
<tb>
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> always <SEP> set <SEP> to <SEP> zero.
<tb> SBB
<tb> SuBstract <SEP> with <SEP> Borrow-Subtraction <SEP> with <SEP> Loan
<tb> Syntax <SEP>: <SEP> SBB <SEP> address
<tb> Operation <SEP>: <SEP> R <SEP><-<SEP> (R-word <SEP> pointed <SEP> by <SEP> effective <SEP> address) -B <SEP>;<SEP> B <SEP><-billing
<tb> Description <SEP>: <SEP> Subtract <SEP> from <SEP> register <SEP> R <SEP> the <SEP> word <SEP> located <SEP> to <SEP> the indicated <SEP> address <SEP> thus <SEP> than <SEP> the loan.
<Tb>

Etat <SEP> de <SEP> l'emprunt <SEP> : <SEP> B <SEP> est <SEP> mis <SEP> à <SEP> un <SEP> si <SEP> un <SEP> emprunt <SEP> est <SEP> généré, <SEP> il <SEP> est <SEP> mis <SEP> à <SEP> zéro <SEP> sinon.
<tb>
<SEP> state of <SEP> the <SEP> loan: <SEP> B <SEP> is <SEP> set <SEP> to <SEP> a <SEP> if <SEP> a <SEP> loan <SEP> is <SEP> generated, <SEP> it <SEP> is <SEP> set <SEP> to <SEP> zero <SEP> otherwise.
<Tb>

6. 3-Les modes d'adressage La valeur du bit home (voir paragraphe 5), définit deux modes d'adressage. Par"mode d'adressage"nous entendons une manière de calculer l'adresse sur laquelle porte une opération (adresse effective). Ces modes d'adressage sont le mode absolu page 0 et le mode absolu indexé

Figure img00200002

par MP. Ils existent dans le niveau 0. 2 et le niveau 0. 4, mais leur fonctionnement diffère dans certains cas particuliers. 6. 3-Addressing modes The value of the home bit (see section 5) defines two addressing modes. By "addressing mode" we mean a way of calculating the address on which an operation (effective address) is carried. These addressing modes are the absolute mode page 0 and the indexed absolute mode
Figure img00200002

by MP. They exist in level 0. 2 and level 0. 4, but their operation differs in certain particular cases.

6. 3. 1-Le mode absolu page 0 Dans ce mode, l'adresse effective est calculée à partir des bits de poids faible de l'instruction (champ mo), permettant l'accès aux registres adressables de la machine, ainsi qu'aux premiers mots de l'espace d'adressage de la machine (après les registres).

Figure img00200003
6. 3. 1-The absolute mode page 0 In this mode, the effective address is calculated from the least significant bits of the instruction (field mo), allowing access to the addressable registers of the machine, as well as to the first words of the address space of the machine (after the registers).
Figure img00200003

En niveau 0. 2, le champ mo faisant 14 bits, il est possible d'accéder aux 16384 premières adresses de la machine. En niveau 0.4, comme le champ mo ne fait que 13 bits, on ne peut accéder qu'aux 8192 premières adresses de la machine. In level 0. 2, the mo field making 14 bits, it is possible to access the first 16384 addresses of the machine. In level 0.4, since the mo field is only 13 bits, only the first 8192 addresses of the machine can be accessed.

On remarque que, en langage d'assemblage, le champ"adresse"de l'instruction s'exprime sous

Figure img00200004

la forme d'un numéro compris entre 0 et 8191 pour le niveau 0. 4 (entre 0 et 16383 pour le niveau
0. 2). We notice that, in assembly language, the "address" field of the instruction is expressed under
Figure img00200004

the form of a number between 0 and 8191 for the level 0. 4 (between 0 and 16383 for the level
0. 2).

6.3. 2-Le mode absolu indexé par MP Ce mode d'adressage permet d'accéder à l'ensemble de l'espace adressable (y compris les premiers mots de l'espace d'adressage, inaccessibles en mode absolu page 0, puisque masqués par les registres adressables). Son fonctionnement diffère entre le niveau 0. 2 et le niveau 0. 4.  6.3. 2-Absolute mode indexed by MP This mode of addressing allows access to the entire addressable space (including the first words of the address space, inaccessible in absolute mode page 0, since hidden by addressable registers). Its operation differs between level 0. 2 and level 0. 4.

En niveau 0.4, l'adresse effective est le résultat du ET logique entre le registre MP et les 13 bits de poids faible de l'instruction (sur les 13 bits de poids faible de MP). In level 0.4, the effective address is the result of the logical AND between the MP register and the 13 least significant bits of the instruction (on the 13 low-order bits of MP).

En langage d'assemblage, le champ"adresse"de l'instruction s'exprime alors sous la forme d'un numéro compris entre 0 et 8t9), précédé du caractère' & ' (exemple : & $10 pour l'adresse résultant de l'opération"MP ET logique 6"). In the assembly language, the "address" field of the statement is then expressed as a number between 0 and 8t9), preceded by the character '&' (example: & $ 10 for the address resulting from the operation "logical AND logic 6").

En niveau 0. 2, l'adresse effective est celle contenue dans le registre MP. En langage d'assemblag,e le champ " adresse " de l'instruction contient alors le caractère' & 'seul Le champ "mo" de l'instruction est ignoré, et son contenu est indétermmé. In level 0. 2, the effective address is that contained in the register MP. In assembly language, the field "address" of the instruction then contains the character "&" only. The field "mo" of the instruction is ignored, and its content is indeterminate.

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

7 - L'exception et l'interruption L'exception (et l'interruption en niveau 0.4) sont des mécanismes qui déroutent l'exécution séquentielle des programmes sous certaines conditions.  7 - The exception and the interruption The exception (and the interruption at level 0.4) are mechanisms that baffle the sequential execution of programs under certain conditions.

7. 1 - L'exception 7. 1. 1 - L'exception en niveau 0.2 L'exception se déroule comme suit :

Figure img00210001

Appel au sous-programme de réinitialisation du cartographe/énumérateur 25. 7. 1 - The exception 7. 1. 1 - The exception in level 0.2 The exception is as follows:
Figure img00210001

Call to the map / enumerator reset routine 25.

MPS O MPO 1 P ± $2000 Lors du premier démarrage de la machine, l'exception est immédiatement déclenchée (tous les registres 0. 2 contiennent des valeurs quelconques avant son exécution).

Figure img00210002
MPS O MPO 1 P ± $ 2000 When the machine is first started, the exception is immediately triggered (all registers 0. 2 contain any values before it is executed).
Figure img00210002

Outre le démarrage, la cause de déclenchement d'une exception est le chargement de ! P ou de ZD ZD MP avec une adresse invalide, le chargement de MPS avec un numéro de fenêtre supérieur à la t > largeur d'adressage, ou bien une opération illégale sur le registre "MER" 27. t, z : l C > 7. 1. 2-L'exception en niveau 0.4 L'exception se déroule comme suit :

Figure img00210003

Appel au sous-programme de réinitialisation du cartographe/énumérateur 25. In addition to starting, the cause of an exception is loading! P or ZD ZD MP with an invalid address, the loading of MPS with a window number greater than the t> width of addressing, or an illegal operation on the register "MER" 27. t, z: l C> 7. 1. 2-The exception in level 0.4 The exception is as follows:
Figure img00210003

Call to the map / enumerator reset routine 25.

CI adresse 0 # 16 bits de poids faible d'IP au moment de l'exception MPS < -0 MP # 0

Figure img00210004

IPS < -0 IPT PT $10000 IP < - IPT Lors du premier démarrage de la machine, l'exception est immédiatement déclenchée (tous les registres 0.4 contiennent des valeurs quelconques avant son exécution). CI addresses 0 # 16 low-order bits of IP at the time of exception MPS <-0 MP # 0
Figure img00210004

IPS <-0 IPT PT $ 10000 IP <- IPT When the machine is first started, the exception is immediately triggered (all 0.4 registers contain any values before it is executed).

Outre le démarrage, la cause de déclenchement d'une exception est le chargement de IP ou MP avec une adresse invalide, le chargement de MPS ou IPS avec un numéro de fenêtre supérieur à la largeur d'adressage de MP et IP, ou encore une opération illégale sur le registre "MER"27.  In addition to starting, the cause of an exception is loading IP or MP with an invalid address, loading MPS or IPS with a window number greater than the addressing width of MP and IP, or an IP address. Illegal operation on the "MER" register 27.

7. 2-L'interruption 7.2. 1 - L'interruption en niveau 0.2 Le mécanisme d'"interruption"en niveau 0.2 n'interrompt pas l'exécution séquentielle des instructions. C'est donc au programme écrit en niveau 0.2 d'aller vérifier régulièrement par le 7. 2-The interruption 7.2. 1 - The interrupt at level 0.2 The "interrupt" mechanism at level 0.2 does not interrupt the sequential execution of instructions. So it's up to the program written in level 0.2 to check regularly with the

<Desc/Clms Page number 22><Desc / Clms Page number 22>

cartographe/énumérateur 25 la présence d'une interruption (technique usuelle dite de balayage ou "polling").  Cartographer / Enumerator 25 the presence of an interruption (usual technique called scanning or "polling").

7.2. 2-L'interruption en niveau 0.4 L'interruption en niveau 0.4 se déclenche sur commande d'un programme 0.4 à condition que le cartographe/énumérateur 25 ait été sollicité par une requête d'un périphérique 32. 7.2. 2-Interrupting at Level 0.4 The interruption at level 0.4 is triggered on command of a program 0.4 provided that the mapmaker / enumerator 25 has been requested by a request from a device 32.

Si une interruption est en attente lors de la commande, le mécanisme est le suivant : adresse 0 < -] 6 bits de poids faible de l'adresse de l'instruction suivant l'instruction ayant déclenché l'interruption ("LD MER").

Figure img00220001
If an interrupt is pending during the command, the mechanism is as follows: address 0 <-] 6 least significant bits of the address of the instruction following the instruction that triggered the interruption ("LD MER") .
Figure img00220001

I PT (- 1 IP 1 IPIPT Sinon, l'exécution séquentielle des instructions n'est pas rompue. I PT (- 1 IP IPIPT If not, the sequential execution of the instructions is not broken.

7. 3-Les programmes de démarrage

Figure img00220002

7. 3. 1 - Le programme de démarrage de niveau 0. 2 Z :- > ICI Ce programme est appelé immédiatement après le déclenchement d'une exception et prend en charge la machine 20 de niveau 0. 2. Il débute obligatoirement à l'adresse $2000. C'est une z succession de codes d'instructions 0.2 et de mots de données qui peuvent contenir n'importe quel programme de taille quelconque (dans la limite de la deuxième page). 7. 3-The startup programs
Figure img00220002

7. 3. 1 - The level 0 start program. 2 Z: -> HERE This program is called immediately after an exception is thrown and supports the level 20 machine. 2. It must start at the next level. $ 2000 address. This is a succession of instruction codes 0.2 and data words that can contain any program of any size (within the limit of the second page).

Le programme de démarrage de niveau 0.2 contient l'émulateur 24 complet du niveau 0.4 (d'une taille d'environ 2 Kmots). Ce programme pourrait être implanté dans une ROM (ou une EEPROM) avec une machine réelle de niveau 0.2. The level 0.2 boot program contains the complete Level 0.4 emulator 24 (approximately 2K in size). This program could be implemented in a ROM (or EEPROM) with a real machine of level 0.2.

7.3. 2-Le programme de démarrage de niveau 0.4 Ce programme est appelé immédiatement après le déclenchement d'une exception et prend en charge la machine 21 de niveau 0.4. Il débute obligatoirement à l'adresse $10000 (début du deuxième segment). C'est une succession de codes d'instructions 0.4 et de mots de données qui peuvent contenir n'importe quel programme de taille quelconque. 7.3. 2-The Level 0.4 Startup Program This program is called immediately after an exception is thrown and supports the level 0.4 machine. It must start at $ 10000 (beginning of the second segment). It is a succession of instruction codes 0.4 and data words that can contain any program of any size.

Le programme de démarrage de niveau 0.4 contiendra l'émulateur complet du niveau supérieur (machine 30 de niveau 1), ou tout autre programme. The 0.4 level boot program will contain the full emulator at the top level (Level 30 machine), or any other program.

8-Algorithmes de fonctionnement des émulateurs de niveau zéro On rappelle que toutes les opérations sont effectuées sur 16 bits exclusivement. Les valeurs sont interprétées en complément à deux. Exemple : $000 - $0001 = $FFFF, et l'emprunt est mis à 1. 8-Operating Algorithms of Zero Level Emulators It is recalled that all operations are performed on 16 bits exclusively. Values are interpreted as a complement to two. Example: $ 000 - $ 0001 = $ FFFF, and the loan is set to 1.

Par convention, le terme"saut"désigne une rupture de séquence sans retour automatique. Le terme" appel" désigne une rupture de séquence avec retour systématique à l'instruction suivant l'instruction d'appel, après l'exécution des instructions du sous-programme. By convention, the term "jump" denotes a sequence break without automatic return. The term "call" refers to a sequence break with systematic return to the instruction following the call instruction, after execution of the subroutine instructions.

8. 1-Algorithme de l'émulateur 22 du processeur de niveau 0.2. 8. 1-Algorithm of the emulator 22 of the level 0.2 processor.

8.).)-Initialisation :  8.).) - Initialization:

<Desc/Clms Page number 23><Desc / Clms Page number 23>

Réservation de la mémoire nécessaire. Au minimum quelques mots pour les registres de la machine et le (s) programme (s) à exécuter.

Figure img00230001
Reservation of the necessary memory. At least a few words for the machine's registers and the program (s) to be executed.
Figure img00230001

Recopie des x mots composant le programme de démarrage à partir de l'adresse $2000. Ce Z : > t > programme contient 1'émulateur 24 du niveau 0.4 entier dans l'implémentation effectuée par les inventeurs.

Figure img00230002
Copy of the x words that make up the startup program from the $ 2000 address. This Z:>t> program contains the emulator 24 of the entire level 0.4 in the implementation performed by the inventors.
Figure img00230002

Appel au sous-programme d'initiatisation du cartographe/énumérateur 25 z : l Saut à l'exception (voir paragraphe 7. 1. 1) ZD 8.1.2 - Noyau : Si IP pointe sur une adresse invalide

Figure img00230003

Saut à l'exception (voir paragraphe 7.).)) z Lecture dans IP de l'adresse de l'instruction à exécuter Lecture de l'instruction 16 bits IP < -IP+I (addition effectuée sur les 16 bits du registre) Si bit home = 1 alors ae = MP saut au traitement générique des instructions Sinon mo = bits 0 à 13 de l'instruction (14 bits de poids faible) Si bitop = 0 Si mo = 0 Appel au sous-programme de lecture du cartographe/énumérateur 25 R < - (R-MER)-B B 1 si un emprunt est généré, sinon B < -0 Saut au Noyau Sinon ae = mo Saut au traitement générique. Call to the cartographer / enumerator initiator routine 25 z: l Jump to exception (see paragraph 7. 1. 1) ZD 8.1.2 - Core: If IP points to an invalid address
Figure img00230003

Jump to exception (see section 7.).)) Z Reading in IP of the address of the instruction to be executed Reading of the instruction 16 bits IP <-IP + I (addition made on the 16 bits of the register ) If bit home = 1 then ae = MP jump to the generic processing of the instructions Otherwise mo = bits 0 to 13 of the instruction (14 bits of low weight) If bitop = 0 If mo = 0 Call to the subroutine for reading cartographer / enumerator 25 R <- (R-MER) -BB 1 if a loan is generated, otherwise B <-0 Jump to Kernel Else ae = mo Jump to generic processing.

Sinon Si mo = 0

Figure img00230004

MER e R Appel au sous-programme d'écriture du cartographe/énumérateur 25 Saut au Noyau Sinon si mo = 1 ae = adresse des 16 bits de MP sélectionnés par MPS (dans l'espace d'adressage de la machine support 23) mot pointé par ae v R Otherwise if mo = 0
Figure img00230004

MER e R Call to Cartographer / Enumerator Write Routine 25 Jump to Kernel Else if mo = 1 ae = address of 16 MP bits selected by MPS (in address space of support machine 23) word pointed by ae v R

<Desc/Clms Page number 24><Desc / Clms Page number 24>

Si MP pointe sur une adresse invalide Saut à l'exception (voir paragraphe 7. 1. 1 Sinon Saut au Noyau Sinon si mo = 2 IP F R Saut au Noyau Sinon si mo = 3 Si R est supérieur à la largeur d'adressage

Figure img00240001

Saut à l'exception (voir paragraphe 7. 1. 1) Z-1 Sinon MPS # R Saut au Noyau Sinon ae = mo
Figure img00240002

Saut au traitement générique. If MP points to an invalid address Jump to Exception (see section 7. 1. 1 Otherwise Jump to Kernel Else if mo = 2 IP FR Jump to Kernel Else if mo = 3 If R is greater than the addressing width
Figure img00240001

Jump to exception (see paragraph 7. 1. 1) Z-1 Otherwise MPS # R Jump to the kernel Otherwise ae = mo
Figure img00240002

Jump to generic treatment.

1 8. 1. 3-Traitement générique des instructions :
Dans la suite," [ae]" désigne le mot pointé par ae.

Figure img00240003
1 8. 1. 3-Generic processing of instructions:
In the following, "[ae]" means the word pointed to by ae.
Figure img00240003

Si bit op = 0 R z (R- [ae])-B B ! si un emprunt est généré, sinon B < -0 zz, Sinon [ae] < -R Saut au Noyau 8. 2 - Algorithme de l'émulateur 24 du processeur de niveau 0.4 8.2. 1-Initialisation : Réservation de la mémoire nécessaire. Au minimum quelques mots pour les registres de la machine et le (s) programme (s) à exécuter. If op bit = 0 R z (R- [ae]) - B B! if a loan is generated, otherwise B <-0 zz, Else [ae] <-R Jump to Kernel 8. 2 - Algorithm of the emulator 24 of the level 0.4 processor 8.2. 1-Initialization: Reservation of the necessary memory. At least a few words for the machine's registers and the program (s) to be executed.

Recopie des x mots composant le programme de démarrage à partir de l'adresse $10000. Ce programme contiendra l'émulateur du niveau supérieur (machine 30 de niveau 1) dans l'implémentation effectuée par les inventeurs. Copy the x words that make up the startup program from the $ 10000 address. This program will contain the emulator of the higher level (level 1 machine) in the implementation carried out by the inventors.

Appel au sous-programme d'initialisation du cartographe/énumérateur 25 Saut à l'exception (voir paragraphe 7. 1. 2) 8.2. 2-Noyau : Si IP pointe sur une adresse invalide Saut à l'exception (voir paragraphe 7. 1. 2) Call to the Mapper / Enumerator Initialization Routine 25 Jump to Exception (see paragraph 7. 1. 2) 8.2. 2-Core: If IP points to an invalid address Jump to exception (see section 7. 1. 2)

<Desc/Clms Page number 25><Desc / Clms Page number 25>

Lecture dans IP de l'adresse de l'instruction à exécuter Lecture de l'instruction 16 bits IP # IP+1 (addition effectuée sur ses 16 bits de poids faible uniquement) mo = bits 0 à 12 de l'instruction (13 bits de poids faible) Si bit home = 1 emo = extension par des bits à 1 de mo à la capacité d'adressage de MP

Figure img00250001

ae = (MP ET logique emo) ZD Saut au traitement générique des instructions Sinon
Figure img00250002

Si bit op = 0 Si mo = 0 RR < " Saut au Noyau Sinon si mo = 1 Si bit par = 0 ae = adresse des 16 bits de IPT sélectionnés par IPS (dans l'espace d'adressage de la machine ZD support 23) mot pointé par ae < -R Si IPS = 0 Si IPT pointe sur une adresse invalide Saut à l'exception (voir paragraphe 7. 1. 2) Sinon IP # IPT Saut au Noyau Sinon R # 16 bits de IP sélectionnés par IPS Saut au Noyau Sinon si mo = 2 Si bit par = 0 Si R est supérieur à la largeur d'adressage de IP Saut à l'exception (voir paragraphe 7. 1. 2) Sinon IPS v R Saut au Noyau Sinon R v IPS Saut au Noyau Reading in IP of the address of the instruction to be executed Reading of the instruction 16 bits IP # IP + 1 (addition done on its 16 bits of least significant weight) mo = bits 0 to 12 of the instruction (13 bits low weight) If home bit = 1 emo = extension by 1-bit bits of mo to MP addressing capability
Figure img00250001

ae = (MP AND logical emo) ZD Skip to Generic Processing of Instructions Otherwise
Figure img00250002

If bit op = 0 If mo = 0 RR <"Jump to the kernel Else if mo = 1 If bit by = 0 ae = address of the 16 bits of IPT selected by IPS (in the address space of the machine ZD support 23 ) word pointed to by ae <-R If IPS = 0 If IPT points to invalid address Jump to exception (see section 7. 1. 2) Otherwise IP # IPT Jump to Kernel Else R # 16 bits of IP selected by IPS Jump to the kernel Else if mo = 2 If bit by = 0 If R is greater than the IP address width Jump to exception (see section 7. 1. 2) Otherwise IPS v R Jump to Core If not R v IPS Jump to the Core

<Desc/Clms Page number 26><Desc / Clms Page number 26>

Sinon si mo = 3 Si bit par = 0 ae = adresse des 16 bits de MP sélectionnés par MPS (dans l'espace d'adressage de la machine support 23) mot pointé par ae # R Si MP pointe sur une adresse invalide

Figure img00260001

Saut à l'exception (voir paragraphe 7. 1. 2) ZD Sinon Saut au Noyau Sinon R 16 bits de MP sélectionnés par MPS Saut au Noyau Sinon si ma = 4 Si bit par = 0 Si R est supérieur à la largeur d'adressage de MP
Figure img00260002

Saut à l'exception (voir paragraphe 7. 1. 2) tD Sinon MPS f-- R Saut au Noyau Sinon R < -MPS Saut au Noyau Sinon si mo = 5 Si bit par = 0 MER # R Appel au sous-programme d'écriture du cartographe/énumérateur 25 Saut au Noyau Sinon Appel au sous-programme de lecture du cartographe/énumérateur 25 R # MER Saut au Noyau Sinon ae = mo Saut au traitement générique. Otherwise if mo = 3 If bit by = 0 ae = address of the 16 bits of MP selected by MPS (in the address space of the support machine 23) word pointed by ae # R If MP points to an invalid address
Figure img00260001

Jump to exception (see section 7. 1. 2) ZD Else Jump to Kernel Else R 16 bits of MP selected by MPS Jump to Kernel Else if ma = 4 If bit by = 0 If R is greater than the width of MP addressing
Figure img00260002

Exception (see section 7. 1. 2) tD Else MPS f-- R Jump to Core If R <-MPS Jump to Core If mo = 5 If bit par = 0 MER # R Call subroutine Cartographer / Enumerator 25 Jump to Kernel Else Call to Cartographer / Enumerator Read Routine 25 R # MER Jump to Kernel Else ae = mo Jump to generic processing.

Sinon Si mo = 0 Otherwise if mo = 0

<Desc/Clms Page number 27><Desc / Clms Page number 27>

Si bit par = 0

Figure img00270001

Rf- (R ET logique R) (1) 80 Saut au Noyau Sinon R < - (R-R)-B B # 1 si un emprunt est généré, sinon B # (2) Saut au Noyau Sinon ae = mo Saut au traitement générique. If bit by = 0
Figure img00270001

Rf- (R AND logic R) (1) 80 Jump to Kernel Otherwise R <- (RR) -BB # 1 if a loan is generated, otherwise B # (2) Jump to Kernel Else ae = mo Jump to generic processing.

8. 2.3 - Traitement générique des instructions : Sibitop=0 Si bit par = 0

Figure img00270002

[ae] < -R Sinon R # [ae] Sinon Si bit par = 0 R < - (R ET logique [ae])
Figure img00270003

B v 0 Sinon Sinon R- (R- [ae])-B B f- 1 si un emprunt est généré, sinon B # 0 Saut au Noyau Les renvois (1) et (2) concernent : (1) Cette opération n'a aucun effet, et peut donc être supprimée si besoin. 8. 2.3 - Generic processing of instructions: Sibitop = 0 If bit par = 0
Figure img00270002

[ae] <-R Otherwise R # [ae] Else If bit by = 0 R <- (R AND logic [ae])
Figure img00270003

B v 0 Else Otherwise R- (R- [ae]) - BB f- 1 if a loan is generated, otherwise B # 0 Skip to the kernel The references (1) and (2) concern: (1) This operation does not has no effect, and can be deleted if necessary.

(2) Cette opération et la précédente peuvent se résumer par l'opération : R # 0 - B Deuxième aspect de la présente invention. (2) This operation and the previous one can be summarized by the operation: R # 0 - B Second aspect of the present invention.

9-Aspects théoriques 9.1 - Notions importantes 9. 1. 1 - Notion de périphérique 9. 1. 1. 1 - Définition d'un périphérique 9-Theoretical aspects 9.1 - Important concepts 9. 1. 1 - Concept of device 9. 1. 1. 1 - Definition of a device

<Desc/Clms Page number 28><Desc / Clms Page number 28>

Un processeur est une machine conçue pour traiter des données. Pour que son fonctionnement soit utile, il doit pouvoir recevoir des données et/ou envoyer les résultats de ses calculs là où ils auront un effet approprié.  A processor is a machine designed to process data. For its operation to be useful, it must be able to receive data and / or send the results of its calculations where they will have an appropriate effect.

Les "périphériques" constituent tout ce qui se situe à l'extérieur du processeur. Ils mettent à la disposition de ce dernier des données et/ou recueillent le résultat de ses calculs, en opérant

Figure img00280001

éventuellement une conversion de l'information échangée. "Devices" are everything outside the processor. They make available to the latter data and / or collect the result of its calculations, by operating
Figure img00280001

possibly a conversion of the information exchanged.

CD Avec l'intégration des composants électroniques, on constate fréquemment que plusieurs Zn fonctions sont assurées par ce que l'on appelle communément" un périphérique" pour le processeur. Ainsi, une carte électronique gérant un clavier peut gérer également une manette de ZD c jeu et une souris. Le problème est que l'on confond le lieu où les fonctions sont assurées (la carte électronique) et leurs finalités (gérer un clavier, gérer une souris, etc. ). Dans cet exemple, nous considérons que le clavier, la souris et la manette de jeu sont autant de périphériques différents.

Figure img00280002
CD With the integration of electronic components, it is frequently found that several Zn functions are provided by what is commonly called "a device" for the processor. Thus, an electronic card managing a keyboard can also handle a ZD joystick game and a mouse. The problem is that we confuse the place where the functions are provided (the electronic card) and their purposes (manage a keyboard, manage a mouse, etc.). In this example, we consider that the keyboard, the mouse, and the joystick are all different devices.
Figure img00280002

Nous parlerons donc de trois périphériques, malgré le fait qu'ils soient gérés par une même carte. tD C > 9. 1. 1. 2 - Fonction, configurations, et homogénéité tD Chaque périphérique dispose d'un ensemble de caractéristiques réalisant une seule fonction homogène, pour laquelle il a été conçu, appelée fonction. Tous les éléments qui participent à cette ZD fonction sont considérés comme appartenant au même périphérique. La fonction définit donc l'unité du périphérique. Les caractéristiques de cette fonction peuvent être paramétrées selon un certain nombre de configurations. So we will talk about three devices, despite the fact that they are managed by the same card. tD C> 9. 1. 1. 2 - Function, configurations, and homogeneity tD Each device has a set of characteristics that perform a single homogeneous function, for which it was designed, called a function. All elements that participate in this ZD function are considered to belong to the same device. The function therefore defines the unit of the device. The characteristics of this function can be set according to a number of configurations.

L'appréciation de la limite permettant de définir l'homogénéité d'une fonction est parfois difficile et subjective. Par exemple, le clavier d'un ordinateur peut être considéré comme un outil permettant de transcrire des données culturelles composées de lettres, mais dont le sens n'apparaît que lorsque ces dernières sont assemblées en mots. Dans cette optique, une lettre seule n'a pas de sens, c'est pourquoi l'ensemble du clavier doit être représenté comme un seul périphérique. Par contre, si le clavier est considéré comme un ensemble de boutons véhiculant chacun une information symboliquement indépendante, alors chaque touche peut être présentée comme un périphérique à part entière. The appreciation of the limit for defining the homogeneity of a function is sometimes difficult and subjective. For example, the keyboard of a computer can be considered as a tool for transcribing cultural data composed of letters, but whose meaning only appears when they are assembled into words. In this respect, a single letter does not make sense, so the entire keyboard must be represented as a single device. On the other hand, if the keyboard is considered as a set of buttons each conveying a symbolically independent information, then each key can be presented as a device in its own right.

Pour évaluer l'homogénéité de la fonction assurée par un périphérique, il faut donc étudier : l'utilité et la finalité du périphérique (ex : une souris permet essentiellement un déplacement spatial continu, un clavier donne ponctuellement des informations symboliques). la dépendance des informations traitées par le périphérique pour assurer sa fonction (ex : on peut manipuler la souris, sans affecter l'état du clavier, et vice versa). To evaluate the homogeneity of the function provided by a device, we must therefore study: the utility and the purpose of the device (eg a mouse essentially allows a continuous spatial movement, a keyboard occasionally gives symbolic information). the dependence of the information processed by the device to ensure its function (ex: you can manipulate the mouse, without affecting the state of the keyboard, and vice versa).

Il est important de se méfier de la proximité géographique des différents composants d'un périphérique. Par exemple, un clavier et une souris sont ordinairement placés côté à côte, mais on ne doit pas les considérer comme un seul périphérique. A l'inverse, un volant pour jeux vidéos. It is important to be wary of the geographical proximity of the different components of a device. For example, a keyboard and a mouse are usually placed side by side, but they should not be considered as a single device. Conversely, a steering wheel for video games.

<Desc/Clms Page number 29> <Desc / Clms Page number 29>

Figure img00290001

accompagné de pédales sont considérés comme un seul périphérique, bien que le volant soit souvent assez éloigné géographiquement des pédales pour des raisons ergonomiques. tl > 9. 1. 1. 3 - Unités algorithmiques et non algorithmiques z : l ZD Tout périphérique dispose de procédés techniques traitant l'information sous forme de signaux (électriques, lumineux, sonores,...). On considère ces procédés comme rassemblés en"unités fonctionnelles". Une unité fonctionnelle manipule et transforme les signaux selon son domaine de compétence. L'ensemble des unités fonctionnelles assure ainsi la fonction pour laquelle le périphérique est conçu. On ne s'intéresse pas au détail des procédés techniques sous-jacents à une unité fonctionnelle, mais à la fonction de transformation du signal qu'elle réalise.
Figure img00290001

with pedals are considered as a single device, although the steering wheel is often geographically far enough away from the pedals for ergonomic reasons. tl> 9. 1. 1. 3 - Algorithmic and non-algorithmic units z: l ZD Any device has technical processes that process information in the form of signals (electrical, light, sound, etc.). These processes are considered as grouped into "functional units". A functional unit manipulates and transforms signals according to its area of competence. The set of functional units thus ensures the function for which the device is designed. We are not interested in the detail of the technical processes underlying a functional unit, but in the signal transformation function that it performs.

Par exemple, une carte sonore peut comporter un convertisseur numérique/analogique, une horloge, un oscillateur générateur d'ondes, un amplificateur réglable, un processeur de traitement du signal, etc. Chacun de ces éléments est une unité fonctionnelle participant à la fonction du périphérique. For example, a sound card may include a digital-to-analog converter, a clock, a wave generator oscillator, an adjustable amplifier, a signal processor, and so on. Each of these elements is a functional unit participating in the function of the device.

Nous classons les unités fonctionnelles en deux catégories :

Figure img00290002

- les "unités algorithmiques" dont la fonction de transformation digitale peut être reproduite C > C > entièrement et de façon identique par logiciel (ou de façon satisfaisante pour une fonction de transformation analogique), et
Figure img00290003

- les "unités non algorithmiques" qui réalisent une fonction de transformation du signal ZD impossible à reproduire par logiciel. We classify functional units into two categories:
Figure img00290002

- "algorithmic units" whose digital transformation function can be reproduced C>C> entirely and identically by software (or satisfactorily for an analog transformation function), and
Figure img00290003

the "non-algorithmic units" which perform a function of transformation of the signal ZD impossible to reproduce by software.

Selon les périphériques on trouvera l'une, l'autre ou les deux catégories d'unités. L'interface de programmation du périphérique permet généralement d'exploiter toutes les unités disponibles, mais la machine de niveau zéro ne prend en considération que les unités non algorithmiques, dans la mesure où cette machine est capable d'assurer les opérations relevant des unités algorithmiques par elle-même. Ainsi les périphériques de transformation des données utilisant

Figure img00290004

seulement des unités algorithmiques ne sont pas gérés par la machine de niveau zéro. Par ZD exemple, un coprocesseur arithmétique fonctionne uniquement avec des unités algorithmiques : il ne sera donc pas géré par la machine de niveau zéro puisque cette dernière peut reproduire totalement son comportement par programme. Parfois, l'accès direct à une unité non algorithmique est impossible sans passer par une unité algorithmique. Dans ce seul cas, la machine de niveau zéro doit gérer les unités algorithmiques permettant d'accéder aux unités non algorithmiques. Depending on the devices you will find one or the other or both categories of units. The programming interface of the device generally makes it possible to exploit all the available units, but the machine of level zero takes into consideration only the non-algorithmic units, insofar as this machine is able to ensure the operations pertaining to the algorithmic units by herself. Thus the data transformation devices using
Figure img00290004

only algorithmic units are not supported by the zero level machine. By ZD example, an arithmetic coprocessor only works with algorithmic units: it will not be managed by the zero level machine since it can fully reproduce its behavior programmatically. Sometimes, direct access to a non-algorithmic unit is impossible without going through an algorithmic unit. In this case alone, the zero-level machine must manage algorithmic units to access non-algorithmic units.

Dans le cas de l'exemple, l'oscillateur générateur d'ondes, l'amplificateur et le processeur de traitement du signal sont des unités algorithmiques car leur comportement peut être reproduit avec fidélité par un programme écrit pour le processeur de niveau zéro. In the case of the example, the wave generator oscillator, the amplifier and the signal processing processor are algorithmic units because their behavior can be faithfully reproduced by a written program for the zero level processor.

9. 1. 1. 4-Périphériques privés et publics 9. 1. 1. 4-Private and public peripherals

<Desc/Clms Page number 30><Desc / Clms Page number 30>

Parmi les périphériques, nous distinguons les périphériques"privés"auxquels seul le processeur peut accéder en lecture et/ou en écriture. C'est le cas de la RAM, de la ROM et de toute mémoire apparentée non partagée. On notera que certaines unités fonctionnelles d'un périphérique peuvent être malgré tout accédées par d'autres unités fonctionnelles du même périphérique pour assurer son bon fonctionnement. C'est par exemple le cas pour le maintient de l'information dans le temps dans une DRAM, mais un tel accès n'est pas pris en compte dans la définition énoncée cidessus. Dans tous les autres cas, nous parlons de périphérique "public".  Among the devices, we distinguish the "private" devices which only the processor can access for reading and / or writing. This is the case of RAM, ROM and any non-shared related memory. Note that some functional units of a device may still be accessed by other functional units of the same device to ensure its proper operation. This is the case, for example, for maintaining the information over time in a DRAM, but such access is not taken into account in the definition stated above. In all other cases, we are talking about "public" device.

Lorsque nous parlons de périphériques dans le présent document, nous englobons les périphériques privés et publics. When we talk about devices in this document, we include private and public devices.

9. 1. 2-Temps machine et séquence machine Un processeur réel est une machine basée sur le modèle de Von Neumann qui exécute ses opérations de façon séquentielle. L'exécution de chaque étape de la séquence demande obligatoirement un certain temps. On définit généralement par"temps machine"d'une séquence d'instructions le temps réel, continu, nécessaire à son exécution.  9. 1. 2-Time Machine and Machine Sequence A real processor is a machine based on the Von Neumann model that executes its operations sequentially. The execution of each step of the sequence requires a certain time. The "real time" of a sequence of instructions is generally defined as the real, continuous time required for its execution.

Le processeur virtuel est également une machine basée sur le modèle de Von Neumann qui exécute ses opérations de façon séquentielle. Le temps pris par l'exécution d'une séquence est impossible à évaluer précisément, puisque fonction de la machine support 23. Ainsi, pour le processeur virtuel, on ne parle plus de temps machine, mais de séquence machine, correspondant à un temps discret, cadencé par chaque instruction, dont l'équivalence en temps continu physique est considérée comme non existante. Un programme peut malgré tout appréhender le temps de manière très grossière grâce à cette séquentialité, mais il ne doit jamais tenter d'évaluer l'écoulement du temps réel à partir de la durée d'une séquence d'instructions. The virtual processor is also a machine based on the Von Neumann model that executes its operations sequentially. The time taken by the execution of a sequence is impossible to evaluate precisely, since the function of the support machine 23. Thus, for the virtual processor, we no longer speak of machine time, but of machine sequence, corresponding to a discrete time , clocked by each instruction, whose equivalence in physical continuous time is considered as non-existent. A program can still take a very rough look at the time thanks to this sequentiality, but it must never try to evaluate the flow of real time from the duration of a sequence of instructions.

9. 1. 3-Types de données échangées avec les périphériques Nous distinguons deux catégories de données échangées avec un périphérique : - la première désigne le résultat déjà traité ou à traiter par ses unités fonctionnelles ("données d'exploitation"), et - la seconde permet de configurer ses unités fonctionnelles, c'est à dire la façon dont elles vont traiter le flux des données ("données de configuration"). Les données de configuration peuvent ne pas exister dans le cas d'un périphérique au comportement prédéfini et invariable (ex : convertisseur analogique-numérique, ROM,...). 9. 1. 3-Types of data exchanged with peripherals We distinguish two categories of data exchanged with a device: - the first refers to the result already processed or to be processed by its functional units ("operating data"), and - the second allows to configure its functional units, ie how they will handle the flow of data ("configuration data"). The configuration data may not exist in the case of a device with predefined and invariable behavior (eg analog-to-digital converter, ROM, ...).

9.1. 4-Programmation d'un périphérique à partir d'un processeur Un processeur transmet et/ou reçoit les données d'un périphérique en utilisant des signaux particuliers. Nous nous intéressons ici à la façon de déclencher cette communication processeur/périphérique, c'est-à-dire "l'interface de programmation", et non au détail des signaux électroniques échangés. Cette transmission peut être faite automatiquement sur requête d'un 9.1. 4-Programming a Device from a Processor A processor transmits and / or receives data from a device using particular signals. We are interested here in how to trigger this communication processor / device, that is to say "the programming interface", and not the detail of the electronic signals exchanged. This transmission can be done automatically on request of a

<Desc/Clms Page number 31><Desc / Clms Page number 31>

périphérique, mais généralement elle se fera à l'initiative du processeur. Nous avons connaissance de deux méthodes pour accéder aux périphériques depuis un processeur : - certaines portions de l'espace d'adressage sont spécialisées pour les périphériques. A une portion correspond un périphérique particulier. Il suffit de faire exécuter au processeur une instruction qui accède à cette portion de l'espace d'adressage pour établir la communication avec le périphérique voulu. Il existe donc un plan d'organisation de la mémoire (memory map). Cette convention est par exemple celle retenue sur les processeurs Motorola 680x0, - le processeur dispose de quelques instructions réservées pour l'accès aux périphériques publics, toutes les autres instructions étant exclusivement réservées aux périphériques privés (sauf les mémoires de masse). Il y a donc deux espaces d'adressage distincts. Dès que le processeur exécutera une instruction, il établira la communication avec le périphérique public ou privé concerné. Cette convention est celle adoptée par défaut par les processeurs Intel 80x86.  device, but usually it will be at the initiative of the processor. We are aware of two ways to access devices from a processor: - some portions of the address space are specialized for devices. A portion corresponds to a particular device. It suffices to execute the processor an instruction that accesses that portion of the address space to establish communication with the desired device. There is therefore a plan of memory organization (memory map). This convention is for example that adopted on Motorola 680x0 processors, - the processor has some instructions reserved for access to public devices, all other instructions are exclusively reserved for private devices (except the mass memories). There are therefore two distinct address spaces. As soon as the processor executes an instruction, it will establish communication with the public or private device concerned. This convention is the one adopted by default by Intel 80x86 processors.

La première méthode évite d'ajouter des instructions au processeur, et elle se contente d'un seul

Figure img00310001

espace d'adressage pour l'accès à tous les périphériques. Cependant, elle complique la ZD conception d'un ordinateur et d'un émulateur. La seconde méthode oblige à ajouter des instructions supplémentaires. The first method avoids adding instructions to the processor, and it just a single
Figure img00310001

Address space for access to all devices. However, it complicates the ZD design of a computer and an emulator. The second method requires adding additional instructions.

Nous avons retenu la première méthode pour l'accès à certaines données des périphériques privés pour des raisons de rapidité et de simplicité d'utilisation. La gestion des autres données repose sur un seul registre adressable des machines de niveau zéro. Nous considérons qu'un processeur ne peut faire qu'une seule chose à la fois, donc visualiser les périphériques à travers un unique registre ne pose pas de problème de type"goulot d'étranglement". Si plusieurs accès sont à faire en même temps, il faut utiliser plusieurs processeurs fonctionnant en parallèle. We chose the first method to access certain data from private devices for reasons of speed and ease of use. The management of other data is based on a single addressable register of zero-level machines. We consider that a processor can only do one thing at a time, so viewing the devices through a single registry does not pose a problem of the "bottleneck" type. If several accesses are to be done at the same time, it is necessary to use several processors operating in parallel.

9. 2-Modélisation théorique des périphériques. 9. 2-Theoretical modeling of peripherals.

D'un point de vue théorique, la description des périphériques vise essentiellement à représenter uniformément l'information nécessaire pour les exploiter et pour faciliter le remplacement de l'un d'entre eux par un autre, de façon automatique. Cette description peut être complétée par des informations annexes, notamment les données de modélisation réelle permettant d'exprimer précisément les interactions entre le périphérique et son environnement, en utilisant les outils classiques des Sciences. From a theoretical point of view, the description of the devices aims essentially to represent uniformly the information necessary to exploit them and to facilitate the replacement of one of them by another, automatically. This description can be supplemented by ancillary information, in particular the actual modeling data, which makes it possible to precisely express the interactions between the device and its environment, using the classical tools of the Sciences.

Nous cherchons d'abord à connaître, d'un point de vue élémentaire, la façon dont un périphérique à modéliser appréhende ses environnements réels et informatiques : c'est l'analyse microscopique. La seconde étape, nommée analyse macroscopique, consiste à organiser les informations permettant de programmer le périphérique (environnement informatique) selon une structure reflétant les relations du périphérique avec le monde réel (environnement réel). Cette structure est basée sur un modèle mathématique dimensionnel, inspiré de l'algèbre linéaire. We first seek to know, from a basic point of view, the way in which a device to be modeled apprehends its real and computer environments: it is the microscopic analysis. The second step, called macroscopic analysis, consists of organizing information to program the device (computing environment) according to a structure reflecting the device's relationship with the real world (real environment). This structure is based on a dimensional mathematical model, inspired by linear algebra.

<Desc/Clms Page number 32> <Desc / Clms Page number 32>

Ces analyses sont réalisées indépendamment pour chaque configuration de la fonction d'un périphérique. Lors de l'implémentation, les différents modèles obtenus seront rassemblés en une unique structure définissant la fonction. These analyzes are performed independently for each configuration of the function of a device. During the implementation, the different models obtained will be gathered in a single structure defining the function.

On peut ainsi modéliser de façon exhaustive toute fonction de tout périphérique, au sens des définitions énoncées ci-avant. It is thus possible to model exhaustively any function of any peripheral, within the meaning of the definitions stated above.

9. 2. 1-Structure microscopique des périphériques Un périphérique vu de la façon la plus large dispose d'un certain nombre de propriétés, qui le distinguent des autres objets au sein du monde réel. Ces propriétés peuvent avoir ou non un rapport avec la fonction du périphérique. Ainsi, le fait qu'un écran produise une image d'une certaine qualité ou que sa carcasse soit translucide constituent deux propriétés, l'une en rapport avec sa fonction, l'autre non. Les propriétés qui nous intéressent sont celles en rapport avec la fonction du périphérique, et résultant du fonctionnement des unités non algorithmiques composant le périphérique : ce sont les propriétés fonctionnelles. 9. 2. 1-Microscopic Structure of Devices A device seen in the broadest sense has a number of properties that distinguish it from other objects in the real world. These properties may or may not be related to the function of the device. Thus, the fact that a screen produces an image of a certain quality or that its carcass is translucent are two properties, one in relation to its function, the other not. The properties that interest us are those related to the function of the device, and resulting from the operation of the non-algorithmic units composing the device: these are the functional properties.

Les propriétés fonctionnelles se traduisent par un ou plusieurs phénomènes physiques ou symboliques (exemple : les pixels d'un écran) pouvant être un mélange complexe de phénomènes élémentaires (exemple : couleur, intensité lumineuse, et portion d'espace constituant un pixel d'un écran), ou un seul phénomène élémentaire (intensité lumineuse d'une diode électroluminescente, amplitude sonore produite par un haut-parleur, portion d'espace, lettre alphabétique,...). The functional properties result in one or more physical or symbolic phenomena (for example: the pixels of a screen) which can be a complex mixture of elementary phenomena (example: color, luminous intensity, and space portion constituting a pixel of a pixel). screen), or a single elementary phenomenon (light intensity of a light-emitting diode, sound amplitude produced by a loudspeaker, space portion, alphabetical letter, etc.).

L'évaluation de la structure microscopique d'un périphérique se fait selon deux points de vue : le point de vue du programmeur, et le point de vue de l'environnement du périphérique. The evaluation of the microscopic structure of a device is done from two points of view: the programmer's point of view, and the perspective of the device's environment.

Du point de vue du programmeur, on cherche à rassembler toutes les données d'exploitation en un ou plusieurs ensembles exclusifs. Le rassemblement de données d'exploitation en un ensemble exclusif intervient lorsque le choix d'une de ces données exclu toutes les autres de l'expression de la fonction. De plus, un ensemble exclusif correspond à une source d'information élémentaire. From the programmer's point of view, we try to gather all the operating data into one or more exclusive sets. The collection of operating data into an exclusive set occurs when the choice of one of these data excludes all others from the expression of the function. In addition, an exclusive set is a basic source of information.

Du point de vue de l'environnement, on cherche à savoir quel (s) phénomène (s) élémentaire (s) représente (nt) chaque ensemble exclusif dans la réalité. Chacun de ces phénomènes élémentaires ou groupe de phénomènes élémentaires est appelé caractéristique phénoménale. Parmi les phénomènes élémentaires d'une caractéristique phénoménale, un et un seul est directement et complètement modulé par l'information élémentaire : c'est la caractéristique modulée. From an environmental point of view, we want to know which elementary phenomenon (s) represent (s) each exclusive set in reality. Each of these elementary phenomena or group of elementary phenomena is called phenomenal characteristic. Among the elementary phenomena of a phenomenal characteristic, one and only one is directly and completely modulated by the elementary information: it is the modulated characteristic.

On remarque que l'on analyse la fonction d'un périphérique avec une certaine précision : celle avec laquelle la fonction s'exprime. On cherche donc à modéliser la fonction du périphérique à l'échelle lui correspondant le mieux. Dans cette optique, les phénomènes élémentaires participant de façon marginale à l'expression de la fonction (c'est-à-dire à une échelle différente) sont We notice that we analyze the function of a device with a certain precision: the one with which the function is expressed. We therefore try to model the function of the device to the scale corresponding to it best. In this view, the elementary phenomena that participate marginally in the expression of the function (that is to say on a different scale) are

<Desc/Clms Page number 33><Desc / Clms Page number 33>

ignorés pour la structure microscopique. Cependant, ces phénomènes marginaux pourront être pris en compte dans la définition des données de modélisation réelle.  ignored for the microscopic structure. However, these marginal phenomena may be taken into account in the definition of the actual modeling data.

Grâce à un processus de sélection, les phénomènes élémentaires d'une caractéristique phénoménale seront triés par groupes pour la description macroscopique du périphérique. Un groupe est appelé caractéristique élémentaire. Through a selection process, the elementary phenomena of a phenomenal feature will be sorted into groups for the macroscopic description of the device. A group is called a basic characteristic.

L'évaluation des ensembles exclusifs et des caractéristiques phénoménales est un travail de spécialiste. Chacun peut les évaluer différemment, selon sa perception et sa compréhension du fonctionnement d'un périphérique (interface de programmation, unités fonctionnelles, propriétés fonctionnelles, phénomènes). Le spécialiste doit être conscient que ces différences d'appréciation

Figure img00330001

peuvent engendrer des modèles non canoniques, qui bien que conformes aux règles que nous rD allons énoncer, ne permettront pas d'exploiter toutes les ressources des périphériques. Pour réduire au maximum ces risques d'erreur d'appréciation il est donc nécessaire, avant même de tenter de modéliser un quelconque périphérique, de se documenter sur son fonctionnement. The evaluation of exclusive sets and phenomenal features is a specialist job. Each can evaluate them differently, according to their perception and their understanding of the functioning of a peripheral (programming interface, functional units, functional properties, phenomena). The specialist must be aware that these differences of opinion
Figure img00330001

may result in non-canonical models, which, while compliant with the rules we will be stating, will not exploit all the resources of the devices. To minimize these risks of error of appreciation it is necessary, even before attempting to model any device, to document its operation.

9.2. 2-Structure macroscopique des périphériques La modélisation présentée ici est matricielle car la plupart des périphériques actuels fonctionnent selon un modèle matriciel. 9.2. 2-Macroscopic structure of the devices The modeling presented here is matrix because most current peripherals work according to a matrix model.

Un ensemble de caractéristiques élémentaires est représenté par une dimension au sens mathématique du terme. On parle de"dimension". La combinaison de l'ensemble des "dimensions"forme un espace, au sens mathématique du terme, dans lequel la fonction du périphérique pourra être complètement modélisée. On parle d"'espace"de périphérique. A set of elementary characteristics is represented by a dimension in the mathematical sense of the term. We speak of "dimension". The combination of all "dimensions" forms a space, in the mathematical sense of the term, in which the function of the device can be completely modeled. We are talking about "space" of device.

Les"dimensions"permettent de distinguer synthétiquement tous les phénomènes physiques ou symboliques régissant le rapport du périphérique avec son environnement réel. Il est ainsi possible de déterminer un profil des paramètres environnementaux avec lesquels le périphérique est capable d'interagir. The "dimensions" make it possible to synthetically distinguish all the physical or symbolic phenomena governing the relationship of the device with its real environment. It is thus possible to determine a profile of the environmental parameters with which the device is able to interact.

Par exemple, on considère un périphérique modélisé par trois"dimensions". L'ensemble forme f'espace"du périphérique. La figure 1 représente un"espace"de périphérique à trois "dimensions"Dl, D2 et D3. For example, we consider a device modeled by three "dimensions". The assembly forms the space of the device, and FIG. 1 represents a device "space" with three "dimensions" D1, D2 and D3.

Une caractéristique élémentaire est représentée, sur une"dimension", par une"coordonnée". An elementary feature is represented on a "dimension" by a "coordinate".

Dans l'exemple, la troisième"dimension"rassemble quatre"coordonnées"CI à C4 illustrées en figure 1. In the example, the third "dimension" gathers four "coordinates" CI to C4 illustrated in FIG.

L'ensemble des"coordonnées"de certaines"dimensions"peuvent exprimer un phénomène élémentaire de leur caractéristique élémentaire (la "caractéristique modulée") avec une certaine intensité parmi un ensemble d'intensités possibles. On parle de t'"intensité"d'une"coordonnée". The set of "coordinates" of certain "dimensions" can express an elementary phenomenon of their elementary characteristic (the "modulated characteristic") with a certain intensity among a set of possible intensities. We speak of "intensity" of a "coordinate".

Le choix d'une"intensité"parmi l'ensemble des"intensités"disponibles pour une"coordonnée" d'un point de f'espace"d'un périphérique exclu systématiquement toutes les autres "intensités". de cette même"coordonnée". The choice of an "intensity" among all the "intensities" available for a "coordinate" of a space point "of a peripheral systematically excludes all other" intensities "of this same" coordinate " .

<Desc/Clms Page number 34> <Desc / Clms Page number 34>

Figure img00340001

Dans l'exemple, les"coordonnées"de la troisième"dimension"sont programmables grâce aux paramètres d'''intensité''. Les "coordonnées" des autres "dimensions" n'ont pas d"'intensités".
Figure img00340001

In the example, the "coordinates" of the third "dimension" are programmable through the "intensity" parameters. The "coordinates" of the other "dimensions" do not have "intensities".

La modélisation théorique d'un périphérique peut être symbolisée par une figure géométrique illustrée en figure 1, dans un espace à n dimensions (trois dimensions en figure 1), n étant le nombre de"dimensions"du périphérique. The theoretical modeling of a device can be symbolized by a geometric figure illustrated in FIG. 1, in a n-dimensional space (three dimensions in FIG. 1), where n is the number of "dimensions" of the device.

9.2. 3-Méthode de construction du modèle macroscopique Le modèle macroscopique se construit à partir de l'analyse microscopique. La méthode de construction est présentée sous la forme d'une série d'étapes à suivre séquentiellement pour obtenir un modèle macroscopique valide. 9.2. 3-Method of construction of the macroscopic model The macroscopic model is constructed from microscopic analysis. The construction method is presented as a series of sequential steps to obtain a valid macroscopic model.

9. 2. 3. 1 - étape initiale : On considère qu'aucune"dimension","coordonnée"ou"intensité"n'est définie. Chacun des ensembles exclusifs est associé à un ensemble d'''intensités''rattachées à une nouvelle "coordonnée". La caractéristique phénoménale liée à l'ensemble exclusif est associée à cette nouvelle "coordonnée", Pour un ensemble exclusif, chaque "intensité" représente une donnée d'exploitation distincte. L'ensemble des"coordonnées"est regroupé au sein d'une seule "dimension". 9. 2. 3. 1 - initial step: We consider that no "dimension", "coordinate" or "intensity" is defined. Each of the exclusive sets is associated with a set of "intensities" attached to a new "coordinate". The phenomenal feature associated with the exclusive set is associated with this new "coordinate." For an exclusive set, each "intensity" represents a distinct operating datum. The set of "coordinates" is grouped within a single "dimension".

9.2. 3. 2.-Etape itérative : Pour chaque "dimension" existante (appelée "dimension mère") : On tente de rassembler toutes ses"coordonnées"en un ou plusieurs groupe (s). a) Dans le cas d'un rassemblement en deux groupes au moins : Pour chaque groupe, plusieurs (ou un seul) phénomènes élémentaires peuvent être présents à l'identique dans chaque"coordonnée"du groupe. Ces (ou ce) phénomènes élémentaires sont nommés caractéristique intra-groupe. 9.2. 3. 2.-Iterative step: For each existing "dimension" (called "mother dimension"): One tries to gather all its "coordinates" in one or several group (s). a) In the case of a grouping in at least two groups: For each group, several (or only) elementary phenomena may be present identically in each "coordinate" of the group. These (or this) elementary phenomena are called intra-group characteristic.

Parmi les éventuels phénomènes élémentaires n'appartenant pas aux caractéristiques intragroupes, ceux (ou celui) présents à l'identique dans une coordonnée de chacun des groupes sont nommés caractéristique inter-groupes. Un phénomène élémentaire ne peut participer qu'à une seule caractéristique inter-groupes. On note qu'une"coordonnée"peut donc être associée à une caractéristique intra-groupe et à une caractéristique inter-groupes au maximum. Among the possible elementary phenomena that do not belong to the intragroup characteristics, those (or that) present identically in a coordinate of each of the groups are called inter-group characteristic. An elementary phenomenon can only participate in one inter-group characteristic. It is noted that a "coordinate" can therefore be associated with an intra-group characteristic and a maximum inter-group characteristic.

Le rassemblement des"coordonnées"en"groupes"doit respecter les règles suivantes : Chaque"groupe"doit posséder le même nombre de"coordonnées". The collection of "coordinates" in "groups" must respect the following rules: Each "group" must have the same number of "coordinates".

Il est interdit de créer des groupes constitués d'une seul "coordonnée". It is forbidden to create groups consisting of a single "coordinate".

*Il ne doit pas exister de phénomène élémentaire qui n'appartienne ni à une caractéristique intragroupe, ni à une caractéristique inter-groupes. * There must be no elementary phenomenon that does not belong to either an intragroup characteristic or an intergroup characteristic.

Au moins deux"coordonnées"de la"dimension mère"doivent comporter au minimum un phénomène élémentaire. b) Dans le cas d'un rassemblement en un seul groupe : At least two "coordinates" of the "mother dimension" must have at least one elementary phenomenon. b) In the case of a rally in a single group:

<Desc/Clms Page number 35><Desc / Clms Page number 35>

Plusieurs (ou un seul) phénomènes élémentaires peuvent être présents à l'identique dans chaque "coordonnée" du groupe. Ces (ou ce) phénomènes élémentaires sont nommés caractéristique intra-groupe.  Several (or only) elementary phenomena can be present identically in each "coordinate" of the group. These (or this) elementary phenomena are called intra-group characteristic.

Pour chaque"coordonnée", une caractéristique inter-groupes rassemble les éventuels phénomènes élémentaires qui n'appartiennent pas à la caractéristique intra-groupe. For each "coordinate", an inter-group characteristic brings together the possible elementary phenomena that do not belong to the intra-group characteristic.

Le rassemblement des "coordonnées" dans le groupe doit respecter les règles suivantes : La"dimension mère"doit contenir au moins deux"coordonnées". The collection of "coordinates" in the group must respect the following rules: The "parent dimension" must contain at least two "coordinates".

Toutes les "coordonnées" doivent contenir des"intensités". All "coordinates" must contain "intensities".

La caractéristique modulée de chaque "coordonnée" doit faire partie de la caractéristique intragroupe. The modulated characteristic of each "coordinate" must be part of the intragroup characteristic.

Dans les deux cas, le non respect d'au moins une règle interdit le rassemblement des "coordonnées"en groupe (s). La"dimension"devient alors définitivement établie.

Figure img00350001
In both cases, the non respect of at least one rule prohibits the gathering of the "coordinates" in group (s). The "dimension" then becomes definitively established.
Figure img00350001

S'il est possible de constituer des groupes selon ces règles, alors deux nouvelles"dimensions" ZD sont créées : Une"dimension"possédant un nombre de"coordonnées"égal au nombre de"coordonnées"d'un groupe de la "dimension mère". Les caractéristiques phénoménales des"coordonnées"de cette nouvelle "dimension" sont celles d'un groupe quelconque de la "dimension mère", desquelles on a retiré la caractéristique intra-groupe. If it is possible to form groups according to these rules, then two new "dimensions" ZD are created: A "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "master dimension" ". The phenomenal characteristics of the "coordinates" of this new "dimension" are those of any group of the "mother dimension", from which the intra-group characteristic has been removed.

Une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la "dimension mère". Chacun de ces groupes engendre une"coordonnée"de la nouvelle "dimension". La caractéristique intra-groupe de chacun de ces groupes constitue la caractéristique phénoménale de la"coordonnée"engendrée.  A "dimension" having a number of "coordinates" equal to the number of groups of the "mother dimension". Each of these groups generates a "coordinate" of the new "dimension". The intra-group characteristic of each of these groups is the phenomenal characteristic of the generated "coordinate".

Une"intensité"reste toujours liée à la "coordonnée" qui contient la caractéristique modulée, et donc à la "dimension" qui contient cette"coordonnée". An "intensity" is always linked to the "coordinate" that contains the modulated characteristic, and therefore to the "dimension" that contains this "coordinate".

Une fois toutes les "dimensions" traitées, s'il n'a pas été possible de créer des groupes sur au moins une des"dimensions", alors la construction du modèle est terminée. Les"dimensions" produites par l'algorithme sont regroupées au sein de f'espace"du périphérique. Si le modèle généré semble incorrect, alors il faut éventuellement revoir la structure microscopique. Once all the "dimensions" have been processed, if it has not been possible to create groups on at least one of the "dimensions", then the construction of the model is complete. The "dimensions" produced by the algorithm are grouped within the "space" of the device, and if the generated model seems incorrect, then the microscopic structure may need to be reviewed.

Sinon le processus recommence à l'étape itérative. Otherwise the process starts again at the iterative stage.

La figure 2 résume l'ensemble du processus de modélisation d'un périphérique. Figure 2 summarizes the entire modeling process of a device.

9. 2. 4-Exemple de modélisation théorique d'un périphérique 9.2. 4. 1-Définition du périphérique Prenons l'exemple d'une carte graphique et de son écran couleur associé. La finalité de l'ensemble est d'afficher une succession d'images en couleurs. On remarque qu'une carte graphique sans écran n'est d'aucune utilité puisqu'elle ne peut pas exprimer ses informations, et un écran seul est incapable d'afficher une image s'il n'est pas contrôlé par une carte graphique. 9. 2. 4-Example of theoretical modeling of a device 9.2. 4. 1-Definition of the device Let's take the example of a graphic card and its associated color screen. The purpose of the set is to display a succession of color images. Note that a graphics card without screen is of no use since it can not express its information, and a single screen is unable to display an image if it is not controlled by a graphics card.

<Desc/Clms Page number 36> <Desc / Clms Page number 36>

C'est pourquoi l'ensemble est considéré comme un seul périphérique de fonction homogène De plus, le périphérique est public puisque les informations exprimées par l'écran peuvent être connues par d'autres récepteurs que le processeur (exemple : l'utilisateur).  This is why the set is considered as a single homogeneous function device Moreover, the device is public since the information expressed by the screen can be known by other receivers than the processor (example: the user).

9.2. 4. 2-Fonction et configurations du périphérique
Ce périphérique a pour fonction de régulièrement convertir des informations numériques en signaux lumineux analogiques assemblés selon une matrice pour former une succession d'images perçues comme colorées par un être humain.
9.2. 4. 2-Function and Device Configurations
The purpose of this peripheral is to regularly convert digital information into analogue light signals assembled in a matrix to form a succession of images perceived as colored by a human being.

Ce périphérique est capable d'afficher une matrice de 320 pixels horizontalement par 200 pixels verticalement, chaque pixel ayant une couleur définie par un niveau de rouge, un niveau de vert et un niveau de bleu. D'autre part, il permet d'afficher une matrice de 640 par 400 pixels, chaque pixel ayant une couleur sélectionnée parmi une même palette de 256 couleurs distinctes. Chacune de ces 256 couleurs est définie par un niveau de rouge, un niveau de vert et un niveau de bleu. Ce périphérique peut donc fonctionner dans deux configurations différentes (figure 3). Dans tous les cas, la matrice de pixels est mise à jour tous les cinquantièmes de seconde.  This device is capable of displaying a matrix of 320 pixels horizontally by 200 pixels vertically, each pixel having a color defined by a red level, a green level and a blue level. On the other hand, it allows to display a matrix of 640 by 400 pixels, each pixel having a color selected from the same palette of 256 distinct colors. Each of these 256 colors is defined by a red level, a green level, and a blue level. This device can therefore operate in two different configurations (Figure 3). In all cases, the pixel matrix is updated every fiftieth of a second.

Dans cet exemple, la courbure de la surface d'affichage du tube cathodique est ignorée car ne participant pas de façon significative à l'affichage d'une image en deux dimensions. Le tube est donc considéré comme plat. De même, l'affichage successif des points constituant une image est considéré comme simultané car l'image résultant de cet affichage est prévue pour être perçue dans son ensemble par l'utilisateur. Cependant, ces phénomènes marginaux pourront être pris en compte dans la définition des données de modélisation réelle.  In this example, the curvature of the display surface of the cathode ray tube is ignored because it does not significantly contribute to the display of a two-dimensional image. The tube is therefore considered flat. Similarly, the successive display of the points constituting an image is considered as simultaneous because the image resulting from this display is intended to be perceived as a whole by the user. However, these marginal phenomena may be taken into account in the definition of the actual modeling data.

9.2. 4. 3-Etude des unités fonctionnelles Les procédés techniques du périphérique traitent des données numériques pour les transformer en informations lumineuses. Ce traitement diffère légèrement selon la configuration, et on se reporte aux documentations techniques du périphérique pour l'étudier : - Dans la configuration 320 par 200 pixels, les valeurs de rouge, de vert et de bleu de chaque pixel sont sauvegardées en mémoire les unes à la suite des autres, chacune sur un octet. Les lignes sont alors décrites successivement (de haut en bas), en présentant pour chacune les valeurs de rouge, vert et bleu des pixels situés de l'abscisse la plus petite (x=l) à l'abscisse la plus grande (x=320). Cette description est relue tous les cinquantièmes de seconde pour être réaffichée à l'écran. La description en mémoire peut être résumée comme suit :

Figure img00360001
9.2. 4. 3-Functional Unit Study The device's technical processes process digital data to transform it into light information. This treatment differs slightly depending on the configuration, and we refer to the technical documentation of the device to study it: - In the configuration 320 by 200 pixels, the values of red, green and blue of each pixel are saved in memory some after the others, each on one byte. The lines are then described successively (from top to bottom), presenting for each the values of red, green and blue pixels located from the smallest abscissa (x = 1) to the largest abscissa (x = 320). This description is read every fiftieth of a second to be redisplayed on the screen. The description in memory can be summarized as follows:
Figure img00360001

<tb>
<tb> x=1 <SEP> x=2 <SEP> x=319 <SEP> x=320 <SEP> x=1 <SEP> x=2 <SEP> x=320
<tb> y=1 <SEP> y=1 <SEP> y=1 <SEP> y=1 <SEP> y=2 <SEP> y=2 <SEP> y=2
<tb> R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V
<tb>
Cette description en mémoire se traduit a l'écran par des pixels composes de taches rouges. vertes, et bleues. Ces pixels sont organisés comme suit.

Figure img00360002
<Tb>
<tb> x = 1 <SEP> x = 2 <SEP> x = 319 <SEP> x = 320 <SEP> x = 1 <SEP> x = 2 <SEP> x = 320
<tb> y = 1 <SEP> y = 1 <SEP> y = 1 <SEP> y = 1 <SEP> y = 2 <SEP> y = 2 <SEP> y = 2
### > R <SEP> V <SEP> B <SEP> R <SEP> V <SEP> B <SEP> R <SEP> V
<Tb>
This description in memory is reflected on the screen by pixels composed of red spots. green, and blue. These pixels are organized as follows.
Figure img00360002

<tb>
<tb> x=1 <SEP> x=2 <SEP> x=3 <SEP> x=318 <SEP> x=319 <SEP> x=320
<tb>
<Tb>
<tb> x = 1 <SEP> x = 2 <SEP> x = 3 <SEP> x = 318 <SEP> x = 319 <SEP> x = 320
<Tb>

<Desc/Clms Page number 37> <Desc / Clms Page number 37>

Figure img00370001
Figure img00370001

<tb>
<tb> y=1 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB
<tb> y=2 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB
<tb> y=3 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB
<tb> y=198 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> ... <SEP> RVB <SEP> RVB <SEP> RVB
<tb> y=199 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> ... <SEP> RVB <SEP> RVB <SEP> RVB
<tb> y=200 <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB <SEP> RVB
<tb>
- Dans la configuration 640 par 400 pixels, les numéros de couleurs (N) sont sauvegardés en mémoire les uns à la suite des autres, chacun correspondant à un pixel. Chaque numéro est sauvegardé sur un octet. Les lignes sont alors décrites successivement (de haut en bas), en présentant pour chacune les numéros de couleurs des pixels situés de l'abscisse la plus petite (x=l) à l'abscisse la plus grande (x=640). Cette description est relue tous les cinquantièmes de seconde pour être réaffichée à l'écran. La description en mémoire peut être résumée comme suit :

Figure img00370002
<Tb>
<tb> y = 1 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB
<tb> y = 2 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB
<tb> y = 3 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB
<tb> y = 198 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> ... <SEP> RGB <SEP> RGB <SEP> RGB
<tb> y = 199 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> ... <SEP> RGB <SEP> RGB <SEP> RGB
<tb> y = 200 <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB <SEP> RGB
<Tb>
In the configuration 640 by 400 pixels, the color numbers (N) are stored in memory one after the other, each corresponding to one pixel. Each number is saved on one byte. The lines are then described successively (from top to bottom), presenting for each the color numbers of the pixels located from the smallest abscissa (x = 1) to the largest abscissa (x = 640). This description is read every fiftieth of a second to be redisplayed on the screen. The description in memory can be summarized as follows:
Figure img00370002

<tb>
<tb> x=1 <SEP> x=2 <SEP> ... <SEP> x=639 <SEP> x=640 <SEP> x=1 <SEP> x-2 <SEP> .. <SEP> x=640
<tb> y=1 <SEP> y=1 <SEP> y=1 <SEP> y=1 <SEP> y=2 <SEP> y=2 <SEP> y=2
<tb> N <SEP> N <SEP> ... <SEP> N <SEP> N <SEP> N <SEP> N <SEP> . <SEP> N
<tb>
<Tb>
<tb> x = 1 <SEP> x = 2 <SEP> ... <SEP> x = 639 <SEP> x = 640 <SEP> x = 1 <SEP> x-2 <SEP> .. <SEP> x = 640
<tb> y = 1 <SEP> y = 1 <SEP> y = 1 <SEP> y = 1 <SEP> y = 2 <SEP> y = 2 <SEP> y = 2
#### <SEP> N
<Tb>

Figure img00370003

Les numéros N se réfèrent à une liste d'attribution de couleurs se présentant comme suit :
Figure img00370004
Figure img00370003

N numbers refer to a color assignment list as follows:
Figure img00370004

<tb>
<tb> N=1 <SEP> RVB
<tb> N=2 <SEP> RVB
<tb> N=255 <SEP> RVB
<tb> N=256 <SEP> RVB
<tb>
La aescnpuon en memore se traduit a) écran par oes pixels dont les intensites des taches rouges, vertes, et bleues sont décrites dans l'emplacement de la palette pointé par N. Ces pixels sont organisés comme suit :

Figure img00370005
<Tb>
<tb> N = 1 <SEP> RGB
<tb> N = 2 <SEP> RGB
<tb> N = 255 <SEP> RGB
<tb> N = 256 <SEP> RGB
<Tb>
The aescnpuon in memore translates a) screen by these pixels whose intensities of red, green, and blue spots are described in the location of the palette pointed by N. These pixels are organized as follows:
Figure img00370005

<tb>
<tb> x=1 <SEP> x=2 <SEP> x=3... <SEP> x=638 <SEP> x=639 <SEP> x=640
<tb> y=1 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y=2 <SEP> N <SEP> N <SEP> N <SEP> . <SEP> N <SEP> N <SEP> N
<tb> y=3 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y=398 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y=399 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y=400 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb>
Les donnees decnvant une image sont sauvegardées dans une mémoire spéciale située sur la carte

Figure img00370006

graphique L'adressage des pixels est assure par une unité non a ! gorithmique établissant ie hcn o t-C > <Tb>
<tb> x = 1 <SEP> x = 2 <SEP> x = 3 ... <SEP> x = 638 <SEP> x = 639 <SEP> x = 640
<tb> y = 1 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y = 2 <SEP> N <SEP> N <SEP> N <SEP>. <SEP> N <SEP> N <SEP> N
<tb> y = 3 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y = 398 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y = 399 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<tb> y = 400 <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N <SEP> N
<Tb>
The data falling on an image are saved in a special memory located on the map
Figure img00370006

graphic Pixel addressing is provided by a non-a unit! gorithmic establishing hcn o tC>

<Desc/Clms Page number 38><Desc / Clms Page number 38>

entre le processeur et la carte graphique. L'affichage des pixels est assuré par une autre unité non algorithmique : le tube cathodique. Entre ces deux unités fonctionnelles il existe d'autres unités fonctionnelles. Les unités fonctionnelles transforment le signal digital électrique en un signal analogique électrique, puis en un signal analogique lumineux.

Figure img00380001
between the processor and the graphics card. The pixel display is provided by another non-algorithmic unit: the cathode ray tube. Between these two functional units there are other functional units. The functional units transform the digital electrical signal into an electrical analog signal and then into a bright analog signal.
Figure img00380001

Parmi ces unités fonctionnelles, certaines sont des unités non algorithmiques comme par exemple ZD les convertisseurs numérique/analogique, l'unité d'attribution de couleurs à la palette, ou l'unité de génération des signaux de contrôle du tube cathodique (CRTC). D'autres peuvent être des Zr, unités algorithmiques, mais dans la mesure où le programmeur n'a aucun contrôle sur ces unités, elles sont ignorées pour le processus de modélisation. Elles pourront cependant être prises en compte dans le processus d'implémentation après ta modélisation. Among these functional units, some are non-algorithmic units such as ZD digital-to-analog converters, palette color assignment unit, or CRT control signal generation unit (CRTC). Others may be Zr, algorithmic units, but to the extent that the programmer has no control over these units, they are ignored for the modeling process. However, they can be taken into account in the implementation process after modeling.

On remarque que si on avait à faire à une carte graphique possédant une unité de calcul spécialisée dans le rendu 3D, seules les unités non algorithmiques présentées dans le paragraphe précédent seraient considérées. Les unités algorithmiques (calcul matriciel sur les coordonnées tridimensionnelles des vecteurs, unité de rasterisation, unité de texture, etc. ) devraient en principe être toutes ignorées. Cependant, l'accès aux unités non algorithmiques ne peut parfois se faire qu'en utilisant ces unités algorithmiques. Ainsi pour accéder le plus directement à la matrice de pixels composant le tube cathodique, il serait obligatoire de définir un polygone particulier dont la texture permettrait d'accéder aux pixels. Ce moyen détourné permettrait de considérer l'accès aux unités non algorithmiques comme direct, et donc d'ignorer les unités algorithmiques dans le processus de modélisation.  Note that if we had to deal with a graphics card with a computing unit specialized in 3D rendering, only non-algorithmic units presented in the previous paragraph would be considered. Algorithmic units (matrix computation on three-dimensional vector coordinates, rasterization unit, texture unit, etc.) should all be ignored. However, access to non-algorithmic units can sometimes only be done using these algorithmic units. Thus to access more directly to the pixel matrix component of the cathode ray tube, it would be mandatory to define a particular polygon whose texture would allow access to the pixels. This devious way would make it possible to consider the access to the non-algorithmic units as direct, and thus to ignore the algorithmic units in the modeling process.

9.2. 4. 4-Données de configuration et d'exploitation Les données permettant de placer le périphérique dans l'une des deux résolutions d'image sont des données de configuration. Dans la configuration 320 par 200, les données envoyées sont toutes des données d'exploitation car elles constituent le flux de données traité (perçu au final par

Figure img00380002

l'utilisateur). De même, dans la configuration 640 par 400, les données indiquant le numéro de couleur pour chaque pixel sont des données d'exploitation. Cependant les données permettant de définir les niveaux de rouge, vert et bleu des 256 couleurs de la palette sont des données de configuration car elles paramètrent le fonctionnement de l'unité d'attribution de couleurs à la palette. De plus, elles ne font qu'influencer globalement le flux de données sortant du périphérique mais n'en font pas partie. 9.2. 4. 4-Configuration and Operation Data The data for placing the device in one of two image resolutions is configuration data. In the 320 by 200 configuration, the data sent is all operating data because it is the processed data stream (ultimately perceived by
Figure img00380002

the user). Similarly, in the 640 through 400 configuration, the data indicating the color number for each pixel is operating data. However, the data for defining the red, green, and blue levels of the 256 colors in the palette are configuration data because they set the operation of the color assignment unit to the palette. In addition, they only influence the flow of data exiting the device globally but are not part of it.

9.2. 4. 5-Modélisation microscopique Modélisation de la configuration 320 par 200 pixels : On peut énoncer les propriétés fonctionnelles suivantes : Le périphérique affiche une image de 320 pixels de large par 200 pixels de haut. 9.2. 4. 5-Microscopic Modeling Configuration Modeling 320 by 200 pixels: The following functional properties can be stated: The device displays an image of 320 pixels wide by 200 pixels high.

Les pixels sont organisés en lignes et en colonnes. Pixels are organized in rows and columns.

<Desc/Clms Page number 39> <Desc / Clms Page number 39>

Chaque pixel est un point coloré composé d'une tache rouge, d'une tache verte et d'une tache bleue. Each pixel is a colored dot composed of a red spot, a green spot and a blue spot.

La couleur de chaque pixel est indépendante de celle des autres pixels. The color of each pixel is independent of the other pixels.

L'intensité de chaque tache est variable indépendamment des autres au cours du temps. The intensity of each spot is variable independently of others over time.

Les pixels ont tous la même largeur et la même hauteur, mais une position différente. The pixels all have the same width and the same height, but a different position.

La totalité de l'image est entièrement redessinée tous les cinquantièmes de seconde. The entire image is completely redrawn every fiftieth of a second.

A partir des propriétés fonctionnelles, on peut considérer que chaque pixel est un phénomène ou encore que le signal lumineux véhiculant l'image est un phénomène. From the functional properties, we can consider that each pixel is a phenomenon or that the light signal conveying the image is a phenomenon.

Les informations recueillies jusqu'ici permettent de définir la structure microscopique du périphérique. The information gathered so far allows to define the microscopic structure of the device.

Du point de vue du programmeur :

Figure img00390001

Les données d'exploitation sont les niveaux de rouge, de vert et de bleu. Pour un pixel, et pour un z intervalle de temps unitaire de 1/50ème de seconde, l'ensemble des niveaux de rouge possibles constitue un ensemble exclusif. Les ensembles des niveaux de vert et de bleu constituent deux autres ensembles exclusifs. Il existe donc trois ensembles exclusifs par pixel et par intervalle de temps unitaire. Pour un intervalle de temps unitaire, le périphérique comporte globalement 320 * 200 * 3 = 192 000 ensembles exclusifs. Comme le périphérique peut fonctionner pendant un temps potentiellement infini, le nombre d'ensembles exclusifs est lui-même infini. Chacun de ces ensembles exclusifs correspond à une source d'information élémentaire. From the programmer's point of view:
Figure img00390001

The operating data are the levels of red, green and blue. For a pixel, and for a z unit time interval of 1 / 50th of a second, the set of possible red levels constitutes an exclusive set. The sets of green and blue levels are two other exclusive sets. There are therefore three exclusive sets per pixel and per unit time interval. For a unit time slot, the device globally has 320 * 200 * 3 = 192,000 exclusive sets. Since the device can operate for a potentially infinite time, the number of exclusive sets is itself infinite. Each of these exclusive sets corresponds to a basic source of information.

Du point de vue de l'environnement : Pour un ensemble exclusif particulier, on distingue les phénomènes élémentaires suivants : L'intensité lumineuse programmée d'une valeur faible (0) à une valeur forte (255) La couleur de la lumière dont l'intensité est programmée La superficie de la tache colorée dont l'intensité est programmée La position verticale de cette tache La position horizontale de cette tache La durée d'émission de la lumière dont l'intensité est programmée Le moment de début d'émission D'autres phénomènes élémentaires pourraient être énoncés, mais ils seraient strictement identiques pour tous les ensembles exclusifs, et ne modifieraient donc pas la structure du modèle macroscopique. From the point of view of the environment: For a particular exclusive set, we distinguish the following elementary phenomena: The luminous intensity programmed from a low value (0) to a high value (255) The color of the light of which the intensity is programmed The area of the colored spot whose intensity is programmed The vertical position of this spot The horizontal position of this spot The duration of emission of the light whose intensity is programmed The start time of emission D ' Other elementary phenomena could be stated, but they would be strictly identical for all the exclusive sets, and thus would not modify the structure of the macroscopic model.

L'ensemble de ces phénomènes élémentaires constitue la caractéristique phénoménale représentant l'ensemble exclusif. L'intensité lumineuse est la caractéristique modulée. All these elementary phenomena constitute the phenomenal characteristic representing the exclusive set. The luminous intensity is the modulated characteristic.

<Desc/Clms Page number 40> <Desc / Clms Page number 40>

Pour un intervalle de temps unitaire, il existe donc 192 000 caractéristiques phénoménales, dont certains phénomènes élémentaires varient d'une caractéristique phénoménale à l'autre (exemples : la position verticale, la couleur,...). For a unit time interval, there are therefore 192 000 phenomenal characteristics, some of whose elementary phenomena vary from one phenomenal characteristic to another (examples: the vertical position, the color, ...).

L'analyse de la structure microscopique pour cette configuration est terminée. Le résultat est résumé en figure 4. On peut passer à la modélisation de la structure macroscopique. The analysis of the microscopic structure for this configuration is complete. The result is summarized in Figure 4. We can proceed to the modeling of the macroscopic structure.

Modélisation de la configuration 640 par 400 pixels : Dans cette configuration, l'unité d'attribution de couleurs à la palette doit être paramétrée. Modeling 640 by 400 pixel configuration: In this configuration, the color assignment unit to the palette must be set.

Chacune des 256 couleurs de la palette peut être choisie indépendamment des autres parmi plusieurs millions de teintes. La combinatoire de tous ces choix possibles constitue, au sens strict, autant de configurations possibles pour cette unité. Cependant, ces configurations sont toutes équivalentes, et sont donc considérées comme une seule configuration afin de simplifier l'étape de modélisation. Par la suite, l'implémentation du modèle théorique obtenu prendra en compte les différentes configurations. Each of the 256 colors of the palette can be chosen independently of the others among millions of colors. The combination of all these possible choices constitutes, in the strict sense, as many possible configurations for this unit. However, these configurations are all equivalent, and are therefore considered as a single configuration to simplify the modeling step. Subsequently, the implementation of the theoretical model obtained will take into account the different configurations.

On peut énoncer les propriétés fonctionnelles suivantes : Le périphérique affiche une image de 640 pixels de large par 400 pixels de haut. The following functional properties can be stated: The device displays an image 640 pixels wide by 400 pixels high.

Les pixels sont organisés en lignes et en colonnes. Pixels are organized in rows and columns.

Chaque pixel est un point coloré composé d'une tache rouge, d'une tache verte et d'une tache bleue. Each pixel is a colored dot composed of a red spot, a green spot and a blue spot.

La couleur de chaque pixel est indépendante de celle des autres pixels, mais dépend de la configuration de l'unité d'attribution de couleurs à la palette. The color of each pixel is independent of that of the other pixels, but depends on the configuration of the color assignment unit in the palette.

L'unité d'attribution de couleurs à la palette interdit la présence de plus de 256 couleurs simultanément à l'écran. The color assignment unit in the palette prohibits the presence of more than 256 colors at the same time on the screen.

La couleur de chaque pixel est variable indépendamment des autres au cours du temps. The color of each pixel is variable independently of others over time.

Les pixels ont tous la même largeur et la même hauteur, mais une position différente. The pixels all have the same width and the same height, but a different position.

La totalité de l'image est entièrement redessinée tous les cinquantièmes de seconde. The entire image is completely redrawn every fiftieth of a second.

A partir des propriétés fonctionnelles, on peut considérer que chaque pixel est un phénomène ou encore que le signal lumineux véhiculant l'image est un phénomène. From the functional properties, we can consider that each pixel is a phenomenon or that the light signal conveying the image is a phenomenon.

Les informations recueillies jusqu'ici permettent de définir la structure microscopique du périphérique. The information gathered so far allows to define the microscopic structure of the device.

Du point de vue du programmeur : Les données d'exploitation sont les numéros de couleurs. Pour un pixel, et pour un intervalle de temps unitaire de 1I50eme de seconde, l'ensemble des numéros de couleurs possibles constitue un ensemble exclusif. Il n'existe donc qu'un seul ensemble exclusif par pixel et par intervalle de temps unitaire. Pour un intervalle de temps unitaire, le périphérique comporte globalement 640 * 400 = 256 000 ensembles exclusifs. Comme le périphérique peut fonctionner pendant un temps From the programmer's point of view: The operating data is the color numbers. For a pixel, and for a unit time interval of 1I50th of a second, the set of possible color numbers constitutes an exclusive set. There is therefore only one exclusive set per pixel and per unit time slot. For a unit time slot, the device globally has 640 * 400 = 256,000 exclusive sets. As the device can work for a while

<Desc/Clms Page number 41><Desc / Clms Page number 41>

potentiellement infini, le nombre d'ensembles exclusifs est lui-même infini. Chacun de ces ensembles exclusifs correspond à une source d'information élémentaire.  potentially infinite, the number of exclusive sets is itself infinite. Each of these exclusive sets corresponds to a basic source of information.

Du point de vue de l'environnement : Pour un ensemble exclusif particulier, on distingue les phénomènes élémentaires suivants : La couleur programmée parmi 256 possibles (physiquement composée de trois couleurs primaires) La superficie de la tache lumineuse dont la couleur est programmée La position verticale de cette tache La position horizontale de cette tache La durée d'émission de la lumière dont la couleur est programmée Le moment de début d'émission D'autres phénomènes élémentaires pourraient être énoncés, mais ils seraient strictement identiques pour tous les ensembles exclusifs, et ne modifieraient donc pas la structure du modèle macroscopique. From the point of view of the environment: For a particular exclusive set, we distinguish the following elementary phenomena: The color programmed among 256 possible (physically composed of three primary colors) The area of the light spot whose color is programmed The vertical position of this task The horizontal position of this task The emission duration of the light whose color is programmed The emission start time Other elementary phenomena could be stated, but they would be strictly identical for all the exclusive sets, and would not alter the structure of the macroscopic model.

L'ensemble de ces phénomènes élémentaires constitue la caractéristique phénoménale représentant l'ensemble exclusif. La couleur est la caractéristique modulée. All these elementary phenomena constitute the phenomenal characteristic representing the exclusive set. Color is the modulated feature.

Pour un intervalle de temps unitaire, il existe donc 256 000 caractéristiques phénoménales, dont certains phénomènes élémentaires varient d'une caractéristique phénoménale à l'autre (exemple : la position verticale). For a unit time interval, there are therefore 256 000 phenomenal characteristics, some of which elementary phenomena vary from one phenomenal characteristic to another (example: the vertical position).

L'analyse de la structure microscopique pour cette configuration est terminée. Le résultat est résumé en figure 5. On peut passer à la modélisation de la structure macroscopique. The analysis of the microscopic structure for this configuration is complete. The result is summarized in Figure 5. We can proceed to the modeling of the macroscopic structure.

9.2. 4. 6-Construction du modèle macroscopique A/Construction du modèle de la configuration 320 par 200 pixels : 9.2. 4.6. 1 - Etape initiale : On considère qu'aucune"dimension","coordonnée"ou"intensité"n'est définie. 9.2. 4. 6-Construction of the macroscopic model A / Construction of the configuration model 320 by 200 pixels: 9.2. 4.6. 1 - Initial step: We consider that no "dimension", "coordinate" or "intensity" is defined.

On construit la première "dimension" comme présentée en figure 6. The first "dimension" is constructed as shown in Figure 6.

9.2. 4.6. 2-Première étape itérative : On tente d'appliquer les règles de rassemblement en groupes à la première "dimension". 9.2. 4.6. 2-First iterative stage: We try to apply the rules of assembly in groups to the first "dimension".

On choisit de rassembler les "coordonnées" en groupes de 192 000 "coordonnées" dont le phénomène élémentaire T est présent à l'identique dans chaque"coordonnée"d'un des groupes. We choose to gather "coordinates" in groups of 192,000 "coordinates" whose elementary phenomenon T is present identically in each "coordinate" of one of the groups.

Les phénomènes élémentaires T, S, 1 et D constituent alors la caractéristique intra-groupe d'un groupe. Pour toute"coordonnée"d'un groupe, les autres phénomènes élémentaires Xx, Yy et Cc de la caractéristique phénoménale appartiennent à la caractéristique inter-groupes car ils se retrouvent à l'identique dans une"coordonnée"de chacun des groupes. The elementary phenomena T, S, 1 and D then constitute the intra-group characteristic of a group. For any "coordinate" of a group, the other elementary phenomena Xx, Yy and Cc of the phenomenal characteristic belong to the inter-group characteristic because they are found identically in a "coordinate" of each group.

Les groupes étant constitués, on crée deux nouvelles "dimensions" : The groups being constituted, two new "dimensions" are created:

<Desc/Clms Page number 42><Desc / Clms Page number 42>

une"dimension"possédant un nombre de "coordonnées" égal au nombre de"coordonnées"d'un groupe de la "dimension mère", soit 192 000"coordonnées", et une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la "dimension mère". Ce nombre est potentiellement infini et correspond au nombre d'images affichées successivement par le périphérique depuis son démarrage.

Figure img00420001
a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "mother dimension", ie 192 000 "coordinates", and a "dimension" having a number of "coordinates" equal to number of groups in the "mother dimension". This number is potentially infinite and corresponds to the number of images displayed successively by the device since its start.
Figure img00420001

Ces nouvelles"dimensions"sont présentées en figure 7. These new "dimensions" are presented in Figure 7.

9. 2. 4. 6. 3-Deuxième étape itérative : On tente d'appliquer les règles de rassemblement en groupes à chacune des deux"dimensions" produites à l'étape précédente. a) Pour la "dimension" 1 : On choisit de rassembler les "coordonnées" en 320 groupes de 600 "coordonnées" dont le phénomène élémentaire X est présent à l'identique dans chaque"coordonnée"du groupe. Le phénomène élémentaire X est alors la caractéristique intra-groupe d'un groupe. Pour toute "coordonnée" d'un groupe, les autres phénomènes élémentaires Yy et Cc de la caractéristique phénoménale appartiennent à la caractéristique inter-groupes car ils se retrouvent à l'identique

Figure img00420002

dans une "coordonnée" de chacun des groupes. 9. 2. 4. 6. 3-Second iterative stage: We try to apply the grouping rules in groups to each of the two "dimensions" produced in the previous step. a) For the "dimension" 1: One chooses to gather the "coordinates" in 320 groups of 600 "coordinates" whose elementary phenomenon X is present identically in each "coordinate" of the group. The elementary phenomenon X is then the intra-group characteristic of a group. For any "coordinate" of a group, the other elementary phenomena Yy and Cc of the phenomenal characteristic belong to the inter-group characteristic because they are found in identical
Figure img00420002

in a "coordinate" of each group.

Les groupes étant constitués, on crée deux nouvelles "dimensions" : une"dimension"possédant un nombre de"coordonnées"égal au nombre de"coordonnées"d'un groupe de la "dimension mère", soit 600"coordonnées", et une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la "dimension mère", soit 320"coordonnées". The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "mother dimension", ie 600 "coordinates", and a "dimension" having a number of "coordinates" equal to the number of groups of the "parent dimension", ie 320 "coordinates".

Ces nouvelles"dimensions"sont présentées en figure 8. b) Pour la "dimension" 2 : On ne peut que rassembler toutes les"coordonnées"en un seul groupe. Les phénomènes élémentaires S, t et D constituent la caractéristique intra-groupe car ils sont présents à l'identique dans chaque"coordonnée"du groupe. Pour chaque "coordonnée", le phénomène élémentaire Tn de la caractéristique phénoménale constitue la caractéristique inter-groupes. These new "dimensions" are presented in figure 8. b) For the "dimension" 2: We can only gather all the "coordinates" in a single group. The elementary phenomena S, t and D constitute the intra-group characteristic because they are present identically in each "coordinate" of the group. For each "coordinate", the elementary phenomenon Tn of the phenomenal characteristic constitutes the inter-group characteristic.

Les groupes étant constitués, on crée deux nouvelles "dimensions" : une"dimension"possédant un nombre de "coordonnées" égal au nombre de"coordonnées"du groupe. Ce nombre est potentiellement infini et correspond au nombre d'images affichées successivement par le périphérique depuis son démarrage, et une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la

Figure img00420003

"dimension mère", soit une"coordonnée". The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of the group. This number is potentially infinite and corresponds to the number of images displayed successively by the device since it was started, and a "dimension" having a number of "coordinates" equal to the number of groups of the device.
Figure img00420003

"mother dimension", ie a "coordinate".

Ces nouvelles"dimensions"sont présentées en figure 9. These new "dimensions" are presented in Figure 9.

9. 2. 4. 6. 4-Troisième étape itérative : 9. 2. 4. 6. 4-Third iterative stage:

<Desc/Clms Page number 43><Desc / Clms Page number 43>

On tente d'appliquer les règles de rassemblement en groupes à chacune des quatre"dimensions" produites à l'étape précédente. a) Pour la "dimension" 3 : On choisit de rassembler les "coordonnées" en 3 groupes de 200 "coordonnées" dont le phénomène élémentaire C est présent à l'identique dans chaque"coordonnée"du groupe. Le phénomène élémentaire C est alors la caractéristique intra-groupe d'un groupe. Pour toute"coordonnée"d'un groupe, le phénomène élémentaire Yy de la caractéristique phénoménale constitue la caractéristique inter-groupes car il se retrouve à l'identique dans une"coordonnée"de chacun des groupes.  Attempts are made to apply the grouping rules in groups to each of the four "dimensions" produced in the previous step. a) For the "dimension" 3: One chooses to gather the "coordinates" in 3 groups of 200 "coordinates" whose elementary phenomenon C is present identically in each "coordinate" of the group. The elementary phenomenon C is then the intra-group characteristic of a group. For any "coordinate" of a group, the elementary phenomenon Yy of the phenomenal characteristic constitutes the inter-group characteristic because it is found identically in a "coordinate" of each group.

Les groupes étant constitués, on crée deux nouvelles "dimensions" : une"dimension"possédant un nombre de "coordonnées" égal au nombre de"coordonnées"d'un groupe de la "dimension mère", soit 200"coordonnées", et une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la "dimension mère", soit 3"coordonnées". The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "mother dimension", ie 200 "coordinates", and a "dimension" having a number of "coordinates" equal to the number of groups of the "mother dimension", ie 3 "coordinates".

Ces nouvelles"dimensions"sont présentées en figure 10. b) Pour la "dimension" 4 : Il est impossible de rassembler les 320 "coordonnées" de la "dimension" 4 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si l'on constitue un seul groupe rassemblant l'ensemble des 320 "coordonnées", alors il existe une caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La"dimension"4 est donc définitivement établie. c) Pour la"dimension"5 : II est impossible de rassembler les "coordonnées" de la "dimension" 5 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si l'on constitue un seul groupe rassemblant l'ensemble des "coordonnées", alors il existe une caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La"dimension"5 est donc définitivement établie. d) Pour la "dimension" 6 : Il est impossible de constituer des groupes avec l'unique "coordonnée" de la "dimension" 6. En effet, on ne pourrait constituer qu'un seul groupe, mais alors la première règle ne serait pas respectée. La"dimension"6 est donc définitivement établie. These new "dimensions" are presented in figure 10. b) For the "dimension" 4: It is impossible to gather the 320 "coordinates" of the "dimension" 4 in groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). If we constitute a single group gathering all 320 "coordinates", then there is an inter-group characteristic by "coordinate". In this case, the second and third rules are not respected. The "dimension" 4 is thus definitively established. c) For the "dimension" 5: It is impossible to gather the "coordinates" of the "dimension" in groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). If we constitute a single group gathering all the "coordinates", then there is an inter-group characteristic by "coordinate". In this case, the second and third rules are not respected. The "dimension" 5 is thus definitively established. d) For the "dimension" 6: It is impossible to form groups with the single "coordinate" of the "dimension" 6. Indeed, one could only constitute one group, but then the first rule would be not respected. The "dimension" 6 is thus definitively established.

9.2. 4.6. 5-Quatrième étape itérative : On tente d'appliquer les règles de rassemblement en groupes à chacune des deux"dimensions" produites à l'étape précédente. a) Pour la "dimension" 7 : 9.2. 4.6. 5-Fourth Iterative Step: We try to apply the grouping rules in groups to each of the two "dimensions" produced in the previous step. a) For the "dimension" 7:

<Desc/Clms Page number 44><Desc / Clms Page number 44>

Il est impossible de rassembler les 200 "coordonnées" de la "dimension" 7 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si l'on constitue un seul groupe rassemblant l'ensemble des 200 "coordonnées", alors il existe une caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La "dimension" 7 est donc définitivement établie. b) Pour la "dimension" 8 : Il est impossible de rassembler les 3 "coordonnées" de la "dimension" 8 en groupes. En effet, il n'est pas possible de créer trois groupes d'une seule "coordonnée" car la deuxième règle n'est alors pas respectée. D'autre part il n'est pas possible de créer deux groupes de une et deux "coordonnées" car les première et deuxième règles ne sont alors pas respectées. Si l'on constitue un seul groupe rassemblant les 3 "coordonnées", alors il existe une caractéristique inter-groupes

Figure img00440001

par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La c "dimension"8 est donc définitivement établie. It is impossible to gather the 200 "coordinates" of the "dimension" 7 into groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). If we constitute a single group gathering all 200 "coordinates", then there is an inter-group characteristic by "coordinate". In this case, the second and third rules are not respected. The "dimension" 7 is thus definitively established. b) For the "dimension" 8: It is impossible to gather the 3 "coordinates" of the "dimension" 8 in groups. Indeed, it is not possible to create three groups of a single "coordinate" because the second rule is then not respected. On the other hand it is not possible to create two groups of one and two "coordinates" because the first and second rules are then not respected. If we constitute a single group gathering the 3 "coordinates", then there is an inter-groups characteristic
Figure img00440001

by "coordinated". In this case, the second and third rules are not respected. The "dimension" 8 is thus definitively established.

9.2. 4.6. 6-Fin Il n'a pas été possible de créer des groupes sur aucune des"dimensions mères"disponibles à cette étape, donc la construction du modèle macroscopique est terminée. Les"dimensions"4, 5,6, 7 et 8 sont regroupées au sein de l'''espace''de périphérique (pour la configuration considérée). 9.2. 4.6. 6-End It was not possible to create groups on any of the "mother sizes" available at this stage, so the construction of the macroscopic model is complete. The "dimensions" 4, 5, 6, 7 and 8 are grouped together within the "device space" (for the configuration considered).

B/Construction du modèle de la configuration 640 par 400 pixels : 9.2. 4.6. 7 - Etape initiale : On considère qu'aucune"dimension","coordonnée"ou"intensité"n'est définie. B / Construction of the configuration model 640 by 400 pixels: 9.2. 4.6. 7 - Initial step: We consider that no "dimension", "coordinate" or "intensity" is defined.

On construit la première"dimension"comme présentée en figure ! 1. We build the first "dimension" as shown in the figure! 1.

9.2. 4.6. 8-Première étape itérative :
On tente d'appliquer les règles de rassemblement en groupes à la première"dimension".
9.2. 4.6. 8-First iterative stage:
We try to apply the grouping rules in groups to the first "dimension".

On choisit de rassembler les "coordonnées" en groupes de 640 "coordonnées" dont les phénomènes élémentaires T et Y sont présents à l'identique dans chaque"coordonnée"d'un des groupes. Les phénomènes élémentaires T, Y, S, P et D constituent alors la caractéristique intragroupe d'un groupe. Pour toute"coordonnée"d'un groupe, le phénomène élémentaire Xx de la caractéristique phénoménale constitue la caractéristique inter-groupes car il se retrouve à l'identique dans une"coordonnée"de chacun des groupes. One chooses to gather the "coordinates" in groups of 640 "coordinates" whose elementary phenomena T and Y are present identically in each "coordinate" of one of the groups. The elementary phenomena T, Y, S, P and D then constitute the intragroup characteristic of a group. For any "coordinate" of a group, the elementary phenomenon Xx of the phenomenal characteristic constitutes the inter-group characteristic because it is identical in a "coordinate" of each group.

Les groupes étant constitués, on crée deux nouvelles"dimensions" : une"dimension"possédant un nombre de "coordonnées" égal au nombre de"coordonnées"d'un groupe de la "dimension mère", soit 640"coordonnées", et une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la "dimension mère". Ce nombre est potentiellement infini car il est lié au nombre d'images affichées successivement par le périphérique depuis son démarrage. The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "mother dimension", ie 640 "coordinates", and a "dimension" having a number of "coordinates" equal to the number of groups of the "parent dimension". This number is potentially infinite because it is related to the number of images displayed successively by the device since it was started.

<Desc/Clms Page number 45> <Desc / Clms Page number 45>

Ces nouvelles"dimensions"sont présentées en figure 12. These new "dimensions" are presented in figure 12.

9.2. 4.6. 9-Deuxième étape itérative : On tente d'appliquer les règles de rassemblement en groupes à chacune des deux"dimensions" produites à l'étape précédente. a) Pour la "dimension" 1 : Il est impossible de rassembler les 640 "coordonnées" de la "dimension" 1 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si

Figure img00450001

l'on constitue un seul groupe rassemblant l'ensemble des 640 "coordonnées", alors il existe une ZD caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne ZD sont pas respectées. La "dimension" 1 est donc définitivement établie. b) Pour la "dimension" 2 : On choisit de rassembler les "coordonnées" en groupes de 400 "coordonnées" dont le phénomène élémentaire T est présent à l'identique dans chaque"coordonnée"du groupe. Les phénomènes élémentaires T, S, P et D constituent alors la caractéristique intra-groupe d'un groupe. Pour toute "coordonnée"d'un groupe, le phénomène élémentaire Yy de la caractéristique phénoménale appartient à la caractéristique inter-groupes car il se retrouve à l'identique dans une"coordonnée" de chacun des groupes.
Figure img00450002
9.2. 4.6. 9-Second Iterative Step: We try to apply the grouping rules in groups to each of the two "dimensions" produced in the previous step. a) For the "dimension" 1: It is impossible to gather the 640 "coordinates" of the "dimension" 1 in groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). Yes
Figure img00450001

we constitute a single group gathering all 640 "coordinates", then there is a characteristic ZD inter-groups by "coordinate". In this case, the second and third rules do not ZD are not respected. The "dimension" 1 is thus definitively established. b) For the "dimension" 2: We choose to gather the "coordinates" in groups of 400 "coordinates" whose elementary phenomenon T is present identically in each "coordinate" of the group. The elementary phenomena T, S, P and D then constitute the intra-group characteristic of a group. For any "coordinate" of a group, the elementary phenomenon Yy of the phenomenal characteristic belongs to the inter-group characteristic because it is found identically in a "coordinate" of each group.
Figure img00450002

Les groupes étant constitués, on crée deux nouvelles "dimensions" : une"dimension"possédant un nombre de"coordonnées"égal au nombre de"coordonnées"d'un groupe de la "dimension mère", soit 400"coordonnées", et une"dimension"possédant un nombre de"coordonnées"égal au nombre de"coordonnées"du t : l groupe. Ce nombre est potentiellement infini et correspond au nombre d'images affichées successivement par le périphérique depuis son démarrage. The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of a group of the "mother dimension", ie 400 "coordinates", and a "dimension" having a number of "coordinates" equal to the number of "coordinates" of the group. This number is potentially infinite and corresponds to the number of images displayed successively by the device since its start.

Ces nouvelles"dimensions"sont présentées en figure 13. These new "dimensions" are presented in figure 13.

9.2. 4.6. 10-Troisième étape itérative : On tente d'appliquer les règles de rassemblement en groupes à chacune des deux"dimensions" produites à l'étape précédente. c) Pour la "dimension" 3 : Il est impossible de rassembler les 400 "coordonnées" de la "dimension" 3 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si

Figure img00450003

l'on constitue un seul groupe rassemblant l'ensemble des 400 "coordonnées", alors il existe une caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La"dimension"3 est donc définitivement établie. d) Pour la"dimension"4 : 9.2. 4.6. 10-Third iterative step: We try to apply the grouping rules in groups to each of the two "dimensions" produced in the previous step. c) For the "dimension" 3: It is impossible to gather the 400 "coordinates" of the "dimension" 3 in groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). Yes
Figure img00450003

we constitute a single group gathering all 400 "coordinates", then there is an inter-group characteristic by "coordinate". In this case, the second and third rules are not respected. The "dimension" 3 is thus definitively established. d) For the "dimension" 4:

<Desc/Clms Page number 46><Desc / Clms Page number 46>

On ne peut que rassembler toutes les "coordonnées" en un seul groupe. Les phénomènes élémentaires S, P et D constituent la caractéristique intra-groupe car ils sont présents à l'identique dans chaque "coordonnée" du groupe. Pour chaque "coordonnée", le phénomène élémentaire Tn de la caractéristique phénoménale constitue la caractéristique inter-groupes.  We can only gather all the "coordinates" into one group. The elementary phenomena S, P and D constitute the intra-group characteristic because they are present identically in each "coordinate" of the group. For each "coordinate", the elementary phenomenon Tn of the phenomenal characteristic constitutes the inter-group characteristic.

Les groupes étant constitués, on crée deux nouvelles "dimensions" : une"dimension"possédant un nombre de "coordonnées" égal au nombre de"coordonnées"du groupe. Ce nombre est potentiellement infini et correspond au nombre d'images affichées successivement par le périphérique depuis son démarrage, et

Figure img00460001

une"dimension"possédant un nombre de "coordonnées" égal au nombre de groupes de la CI "dimension mère", soit une"coordonnée". Ces nouvelles"dimensions"sont présentées en figure 14. The groups being constituted, two new "dimensions" are created: a "dimension" having a number of "coordinates" equal to the number of "coordinates" of the group. This number is potentially infinite and corresponds to the number of images displayed successively by the device since it was started, and
Figure img00460001

a "dimension" having a number of "coordinates" equal to the number of groups of the "parent dimension" CI, a "coordinate". These new "dimensions" are presented in figure 14.

9. 2.4. 6. 11 - Quatrième étape itérative :

Figure img00460002

On tente d'appliquer les règles de rassemblement en groupes à chacune des deux"dimensions" ZD produites à l'étape précédente. e) Pour la "dimension" 5 : Il est impossible de rassembler les "coordonnées" de la "dimension" 5 en groupes. En effet, si l'on constitue deux ou plusieurs groupes, il n'existe ni caractéristique intra-groupe, ni caractéristique inter-groupes (la troisième règle de rassemblement n'est donc pas respectée). Si l'on constitue un seul groupe rassemblant l'ensemble des"coordonnées", alors il existe une caractéristique inter-groupes par"coordonnée". Dans ce cas, les deuxième et troisième règles ne sont pas respectées. La"dimension"5 est donc définitivement établie. f) Pour la "dimension" 6 : Il est impossible de constituer des groupes avec l'unique "coordonnée" de la "dimension" 6. En effet, on ne pourrait constituer qu'un seul groupe, mais alors la première règle ne serait pas respectée. La"dimension"6 est donc définitivement établie. 9. 2.4. 6. 11 - Fourth step iterative:
Figure img00460002

Attempts are made to apply the grouping rules in groups to each of the two ZD "dimensions" produced in the previous step. e) For the "dimension" 5: It is impossible to gather the "coordinates" of the "dimension" in groups. Indeed, if one constitutes two or more groups, there is neither intra-group nor inter-group characteristic (the third rule of assembly is therefore not respected). If we constitute a single group gathering all the "coordinates", then there is an inter-group characteristic by "coordinate". In this case, the second and third rules are not respected. The "dimension" 5 is thus definitively established. f) For the "dimension" 6: It is impossible to form groups with the single "coordinate" of the "dimension" 6. Indeed, one could only constitute one group, but then the first rule would be not respected. The "dimension" 6 is thus definitively established.

9.2. 4.6. 12-Fin Il n'a pas été possible de créer des groupes sur aucune des"dimensions mères"disponibles à cette étape, donc la construction du modèle macroscopique est terminée. Les "dimensions" l, 3,5 et 6 sont regroupées au sein de l'''espace''de périphérique (pour la configuration considérée). 9.2. 4.6. 12-End It was not possible to create groups on any of the "mother sizes" available at this stage, so the construction of the macroscopic model is complete. The "dimensions" 1, 3,5 and 6 are grouped together within the "device space" (for the configuration considered).

Les deux configurations sont à présent organisées selon une structure reflétant les relations du périphérique avec le monde réel. Sur cette structure vont venir se greffer les informations permettant de programmer le périphérique, comme nous le verrons par la suite. Both configurations are now organized according to a structure reflecting the device's relationship to the real world. On this structure will be grafted the information to program the device, as we will see later.

9. 3-Représentation arborescente du modèle 9.3. 1-La notion d'arborescence de périphériques Nous déduisons de la modélisation théorique une classification hiérarchique permettant de décrire de façon synthétique la fonction de chaque périphérique, en organisant les modèles 9. 3-Tree representation of the model 9.3. 1-The concept of peripheral tree We deduce from the theoretical modeling a hierarchical classification allowing to describe in a synthetic way the function of each peripheral, by organizing the models

<Desc/Clms Page number 47><Desc / Clms Page number 47>

théoriques des périphériques selon une arborescence. Cette arborescence est constituée de "noeuds". Les liens entre les noeuds sont symbolisés par des"branches" (ou entre-noeuds). Un noeud peut regrouper un (ou plusieurs) autre (s) noeud (s). Un noeud qui ne regroupe aucun autre noeud est nommé "feuille". Une feuille est une information unitaire indivisible qui ne rassemble pas d'autres informations plus élémentaires.  theoretical devices according to a tree. This tree is made up of "nodes". The links between the nodes are symbolized by "branches" (or internodes). A node can group one (or more) other node (s). A node that does not group any other node is named "leaf". A sheet is an indivisible unitary information that does not gather other more basic information.

Cette arborescence est un ensemble de liens de subordination, un élément englobant des sous- éléments qui le décrivent plus précisément. Les liens qu'elle établit peuvent être représentés graphiquement par un arbre, permettant au programmeur un accès plus rapide et intuitif à son organisation. A la différence de la convention usuellement retenue en informatique, la représentation retenue est calquée sur les structures vivantes du même nom. Ainsi, en allant de bas en haut, cet arbre dispose d'un noeud racine (appelé "racine"), de noeuds et de feuilles. La racine regroupe tous les noeuds et feuilles. Plus un noeud est éloigné de la racine, plus le nombre de noeuds qu'il rassemble est faible. Une feuille est située à une extrémité de l'arbre. This tree is a set of subordinate links, an element that includes sub-elements that describe it more precisely. The links it establishes can be represented graphically by a tree, allowing the programmer faster and more intuitive access to his organization. Unlike the usual convention in computer science, the representation chosen is modeled on the living structures of the same name. Thus, going from the bottom up, this tree has a root node (called "root"), nodes and leaves. The root groups all the nodes and leaves. The further a node is from the root, the smaller the number of nodes it gathers. A leaf is located at one end of the tree.

Un noeud situé vers la racine englobe un nombre élevé de noeuds et de feuilles différents, susceptibles d'être répartis entre plusieurs périphériques. Un noeud situé vers les extrémités de l'arbre regroupe un nombre restreint de noeuds ou de feuilles pouvant être spécifiques d'un seul périphérique. A root node includes a large number of different nodes and leaves that can be distributed among multiple devices. A node near the ends of the tree groups a small number of nodes or sheets that can be specific to a single device.

9. 3. 2-Description générale de l'arbre des périphériques Les périphériques sont décrits sous la forme d'une arborescence, organisée en niveaux. Sur chacun de ces niveaux, tous les noeuds sont similaires. Ces noeuds sont nommés en fonction du niveau qu'ils occupent dans la hiérarchie (voir fig. 15 en fin de paragraphe 11). Entre deux noeuds d'un niveau quelconque, il existe toujours tous les noeuds des niveaux intermédiaires permettant de les relier. Si un noeud ne regroupe aucun noeud, il prend alors le statut de feuille. Ce processus peut se poursuivre sur certains noeuds en progressant vers la racine de l'arbre. 9. 3. 2-General description of the device tree The devices are described in the form of a tree structure organized into levels. On each of these levels, all the nodes are similar. These nodes are named according to the level they occupy in the hierarchy (see Fig. 15 at the end of paragraph 11). Between two nodes of any level, there always exist all the nodes of the intermediate levels making it possible to connect them. If a node does not group any node, then it becomes leaf. This process can continue on some nodes as it progresses to the root of the tree.

Pour prendre connaissance d'un périphérique, ou y accéder, on parcours l'arbre de la racine vers les feuilles. Cet arbre est prévu pour permettre la configuration et la programmation d'un périphérique par simple parcours de ses noeuds. To get to know a device, or to access it, we run the tree from the root to the leaves. This tree is designed to allow the configuration and programming of a device by simply running its nodes.

Selon qu'un périphérique est disponible ou non, la branche correspondante de l'arbre supportant les noeuds décrivant ce périphérique apparaît ou disparaît. Depending on whether a device is available or not, the corresponding branch of the tree supporting the nodes describing that device appears or disappears.

Un autre arbre ou une portion d'arbre, représentant les périphériques contrôlés par une autre Machine Universelle, peut également être greffé sur cet arbre. Un processeur virtuel peut ainsi contrôler des périphériques par l'intermédiaire d'un autre processeur virtuel. Cette greffe se traduit par un lien entre les deux arbres au niveau d'un noeud précis, mais chaque arbre conserve sa structure propre. Another tree or a portion of a tree, representing peripherals controlled by another Universal Machine, can also be grafted onto this tree. A virtual processor can thus control devices through another virtual processor. This transplant results in a link between the two trees at a specific node, but each tree retains its own structure.

Chaque noeud peut fournir des"directives de dépendance", Il s'agit de contraintes sur la structure de l'arbre lorsqu'on le parcours, dépendant de l'interaction entre périphériques, de leurs Each node can provide "dependency guidelines". These are constraints on the structure of the tree as it travels, depending on the interaction between devices, their

<Desc/Clms Page number 48><Desc / Clms Page number 48>

configurations possibles et de leurs limites de fonctionnement. Certaines branches de l'arbre peuvent ainsi être disponibles ou indisponibles temporairement, et donc apparaître ou disparaître, lorsqu'on accède à un périphérique particulier, ou lorsqu'on place ce dernier dans une configuration particulière. Certaines directives de dépendance peuvent être à usage unique ou compté : on parle de"directive d'élagage". Une branche devient alors définitivement disponible ou indisponible lorsque la condition définie par une ou des directive (s) d'élagage est remplie.  possible configurations and their operating limits. Some branches of the tree can thus be available or temporarily unavailable, and therefore appear or disappear, when accessing a particular device, or when placing it in a particular configuration. Some dependence guidelines may be single-use or counted: it's called a "pruning guideline". A branch then becomes permanently available or unavailable when the condition defined by pruning directive (s) is fulfilled.

Les différentes configurations de la fonction d'un périphérique donnent lieu à autant de modèles théoriques. Ces modèles sont tous rassemblés dans le même"espace"de périphérique car relevant de la même fonction, bien que leurs structures puissent différer. Afin de permettre la cohabitation de ces modèles, certains noeuds rassemblent au niveau suivant plusieurs groupes de noeuds qui correspondent aux différentes configurations possibles. Ces groupes de noeuds s'excluent alors mutuellement par des directives de dépendance. On parle de "noeud à géométrie variable". The different configurations of the function of a device give rise to as many theoretical models. These models are all gathered in the same device "space" because of the same function, although their structures may differ. In order to allow the coexistence of these models, some nodes gather at the next level several groups of nodes which correspond to the different possible configurations. These groups of nodes then mutually exclude each other by dependency directives. We speak of "variable geometry node".

Ces trois derniers mécanismes confèrent à l'arbre une structure plastique. These last three mechanisms give the tree a plastic structure.

9.3. 3 - Description détaillée de l'arbre des périphériques La racine de l'arbre représentel'"univers"des périphériques. C'est le point d'entrée dans l'arbre des périphériques. S'il n'est pas présent, on considère qu'il n'existe pas de périphériques accessibles par le processeur virtuel. Cependant ce cas ne correspond pas à un fonctionnement normal de la machine, car le processeur virtuel ne peut pas fonctionner en l'absence d'au moins un périphérique de type RAM ou ROM. 9.3. 3 - Detailed description of the device tree The root of the tree represents the "universe" of the devices. This is the entry point into the device tree. If it is not present, it is considered that there are no devices accessible by the virtual processor. However, this case does not correspond to a normal operation of the machine, because the virtual processor can not work in the absence of at least one device of RAM or ROM type.

Cet"univers"regroupe deux noeuds appelés"groupes"situés au niveau suivant : le "groupe" des périphériques d'échange, et e"groupe"des périphériques de conservation. Ces"groupes" symbolisent le devenir des informations échangées entre le processeur et un périphérique : soit elles seront transmises dans un environnement ouvert, accessible à tout moment par d'autres récepteurs que le processeur, permettant ainsi leur communication avec l'extérieur de la machine (ou bien elles seront transmises à partir d'émetteurs, situés dans un environnement ouvert, vers le processeur). C'est le cas d'un écran vidéo accessible par un humain ou d'un bus de données accessible par un autre processeur par exemple. Ce sont en fait tous les périphériques publics ; soit elles seront transmises dans un environnement accessible exclusivement par le processeur pendant un certain temps (une mémoire, un disque dur, etc.). Ce sont la plupart du temps les périphériques privés.  This "universe" includes two nodes called "groups" located at the following level: the "group" of the exchange devices, and e "group" of the storage devices. These "groups" symbolize the fate of information exchanged between the processor and a device: either they will be transmitted in an open environment, accessible at any time by other receivers than the processor, thus allowing their communication with the outside of the machine (Or they will be transmitted from transmitters, located in an open environment, to the processor). This is the case of a video screen accessible by a human or a data bus accessible by another processor for example. These are actually all public devices; either they will be transmitted in an environment accessible exclusively by the processor for a certain time (a memory, a hard disk, etc.). These are mostly private devices.

De même que pour l'l'univers", l'absence d'un de ces noeuds indique qu'il n'y a pas de périphérique disponible ayant les spécificités du"groupe"concerné. As for the universe ", the absence of one of these nodes indicates that there is no available device having the specificities of the" group "concerned.

Chacun de ces"groupes"englobe deux"hyperespaces"situés au niveau suivant. Les "hyperespaces"du"groupe"des périphériques d'échange indiquent le sens de transmission des informations. On distingue : Each of these "groups" includes two "hyperespaces" located at the next level. The "hyperespaces" of the "group" of the exchange devices indicate the direction of transmission of the information. We distinguish :

<Desc/Clms Page number 49><Desc / Clms Page number 49>

i''hyperespace"des périphériques d'échange en sortie : les informations iront du processeur vers son environnement extérieur, et )''hyperespace"des périphériques d'échange en entrée : les informations iront de l'environnement extérieur vers le processeur.  the "hyperspace" of the output exchange devices: the information will go from the processor to its external environment, and "hyperspace" of the input exchange devices: the information will go from the external environment to the processor.

Le problème est différent dans le cas des périphériques de conservation. Ils sont forcément accessibles en entrée puisque la notion de conservation d'une information implique sa

Figure img00490001

disponibilité ultérieure, sans quoi, conserver une information sans jamais pouvoir y accéder revient à la détruire. On notera toutefois que ces périphériques sont le plus souvent accessibles en entrée et en sortie. The problem is different in the case of storage devices. They are necessarily accessible in input since the notion of conservation of an information implies its
Figure img00490001

later availability, without which, to keep information without being able to access it is to destroy it. Note, however, that these devices are most often accessible in and out.

Le caractère discriminant de ces périphériques est la disponibilité des informations pour le processeur. En effet, certains de ces périphériques sont critiques pour le bon fonctionnement du processeur, en particulier les RAM et ROM. En conséquence, es"hyperespaces"du"groupe"des périphériques de conservation indiquent le niveau de disponibilité de l'information pour le processeur. On distingue : f'hyperespace"des périphériques de conservation adressables : le processeur a un accès instantané, permanent et direct aux périphériques, par une zone de son espace d'adressage, afin d'échanger des informations, et f'hyperespace"des périphériques de conservation non adressables : l'accès aux informations est indirect (requiert un algorithme d'accès). Il est souvent plus lent (cas des supports de masse) et/ou n'est pas garanti en permanence (cas des supports de masse amovibles). The discriminating nature of these devices is the availability of information for the processor. Indeed, some of these devices are critical for the proper functioning of the processor, especially RAM and ROM. As a result, the "hyperpaces" of the "group" of the storage devices indicate the level of availability of information for the processor. One distinguishes: the "hyperspace" of addressable storage devices: the processor has instantaneous, permanent and direct access to the peripherals, by an area of its address space, in order to exchange information, and the "hyperspace" of peripherals non-addressable storage: access to information is indirect (requires an access algorithm). It is often slower (case of the mass carriers) and / or is not guaranteed permanently (case of removable mass supports).

Chacun de ces"groupes"englobe un ou plusieurs "espaces" de périphériques situés au niveau suivant. A partir de ce niveau de l'arbre, on aborde le fonctionnement d'un périphérique. Each of these "groups" includes one or more "spaces" of devices located at the next level. From this level of the tree, we discuss the operation of a device.

Un "espace" regroupe les "dimensions" d'un périphérique modélisé par l'analyse macroscopique.  A "space" groups together the "dimensions" of a device modeled by macroscopic analysis.

Une"dimension"englobe une ou plusieurs"coordonnées". Une"coordonnée"précise, si besoin, la nature physique ou symbolique de la caractéristique élémentaire qu'elle supporte. Si toutes les "coordonnées"qu'une"dimension"regroupe sont de même nature, alors cette"dimension" précise cette nature.  A "dimension" includes one or more "coordinates". A precise "coordinate", if necessary, the physical or symbolic nature of the elementary characteristic that it supports. If all the "coordinates" that a "dimension" groups are of the same nature, then this "dimension" specifies this nature.

Les "intensités" représentent le niveau situé à l'extrémité de l'arborescence. Elles représentent les intensités d'expression possibles de la caractéristique modulée de la "coordonnée".  The "intensities" represent the level at the end of the tree. They represent the possible intensities of expression of the modulated characteristic of the "coordinate".

Les"coordonnées"ou les"intensités"constituent le plus souvent les feuilles de l'arbre.  The "coordinates" or "intensities" are most often the leaves of the tree.

10-Aspects pratiques 1 0. 1 - Implémentation des périphériques dans la Machine Universelle Pour chaque grand niveau hiérarchique de la Machine Universelle, nous définissons une méthode d'accès aux périphériques basée sur le modèle théorique décrit. Chaque méthode d'accès présente plus ou moins d'informations concernant les périphériques. 10-Practical Aspects 1 0. 1 - Implementing Devices in the Universal Machine For each large hierarchical level of the Universal Machine, we define a device access method based on the theoretical model described. Each access method has more or less information about the devices.

<Desc/Clms Page number 50> <Desc / Clms Page number 50>

L'implémentation des périphériques en niveau zéro doit permettre de reconstituer l'arbre des périphériques complet tel que décrit (voir figure 15). Cependant, elle doit être réduite à l'essentiel pour conserver la simplicité de l'émulateur de niveau zéro. En conséquence, la représentation de l'arbre des périphériques est partielle, et certaines de ses caractéristiques sont déduites et reconstituées par des programmes spécifiques écrits en niveau zéro. The implementation of the devices at zero level must allow to reconstruct the complete device tree as described (see Figure 15). However, it must be reduced to the essentials to maintain the simplicity of the zero level emulator. As a result, the representation of the device tree is partial, and some of its features are deduced and reconstructed by specific programs written in zero level.

L'implémentation dans le cadre de la machine 30 de niveau 1 est le reflet exact du type d'arbre

Figure img00500001

de la figure 15. En effet, le niveau zéro émulant le niveau 1 reconstitue l'arborescence complète des périphériques, et met en place des fonctions qui en simplifient l'exploitation. i 0. !. 1-tmptémentation en niveau zéro L'implémentation présentée dans cette partie est prévue pour le niveau 0.4 (ou le niveau 0.2 émulant le niveau 0.4). Elle sert de base pour le système de gestion des périphériques plus élaboré du niveau supérieur (niveau 1). The implementation in the context of the level 1 machine 30 is an exact reflection of the type of tree
Figure img00500001

of figure 15. Indeed, the zero level emulating the level 1 reconstitutes the complete tree of the peripherals, and sets up functions which simplify the exploitation. i 0.!. 1-level zero leveling The implementation presented in this section is for level 0.4 (or level 0.2 emulating level 0.4). It serves as a basis for the more advanced device management system at the top level (level 1).

Les informations issues de l'étape de modélisation théorique d'un périphérique (ou de plusieurs périphériques interdépendants), ainsi que le protocole d'accès à ce dernier sur la machine support 23, sont rassemblés en trois blocs distincts : - le premier bloc, nommé"LINK"26, permet de transporter et d'aiguiller les données de configuration et d'exploitation échangées entre le processeur virtuel de niveau zéro et un périphérique particulier de la machine support 23 par l'intermédiaire du registre"MER"27. Le

Figure img00500002

premier bloc établit le lien avec les adresses d'accès au périphérique sur la machine support 23. Il contient des programmes écrits dans le langage machine natif de la machine support 23 afin de transporter les données échangées aux bonnes adresses. Ces programmes permettent aussi de détecter la présence du périphérique et de l'initialiser dans un état stable permettant son bon
Figure img00500003

fonctionnement ultérieur (sous-programme d'initialisation). The information from the theoretical modeling step of a peripheral device (or several interdependent peripherals), as well as the access protocol to the latter on the support machine 23, are grouped into three distinct blocks: the first block, named "LINK" 26, makes it possible to transport and route the configuration and operating data exchanged between the zero level virtual processor and a particular peripheral of the support machine 23 via the "MER" register 27. The
Figure img00500002

first block establishes the link with the device access addresses on the support machine 23. It contains programs written in the native machine language of the support machine 23 in order to transport the exchanged data to the correct addresses. These programs can also detect the presence of the device and initialize it in a stable state allowing its good
Figure img00500003

subsequent operation (initialization routine).

- le second bloc, nommé "TREE" 29, donne les principales informations permettant d'évaluer la fonction du périphérique et toutes les informations pour calculer et interpréter les données de configuration et d'exploitation. L'évaluation est permise par le codage binaire du modèle théorique arborescent, tandis que les calculs et interprétations des données d'exploitation et de configuration sont effectués au moyen de programmes spécifiques insérés dans ce codage. Un bloc"TREE"29 est la description de l'l'espace" d'un périphérique (ou de plusieurs dans certains cas exceptionnels, explicités par la suite) et de tous les noeuds qu'il englobe ("espace", "dimensions","coordonnées"et"intensités"), donc une portion de l'arbre. Il indique l''hyperespace"auquel appartient le périphérique. the second block, named "TREE" 29, gives the main information for evaluating the function of the device and all the information for calculating and interpreting the configuration and operating data. The evaluation is allowed by the binary coding of the theoretical tree model, while the calculations and interpretations of the exploitation and configuration data are carried out by means of specific programs inserted in this coding. A "TREE" block 29 is the description of the space "of a peripheral (or several in exceptional cases, explained later) and all the nodes it encompasses (" space "," dimensions " "," coordinates "and" intensities "), therefore a portion of the tree, which indicates the" hyperspace "to which the device belongs.

- le troisième bloc, optionnel, est nommé"FEATURE EXTENSION"ou"FEXT". I) peut être présent lorsque le bloc "TREE" 29 ne peut pas fournir certaines informations. Il peut contenir des équations Physiques, des représentations symboliques (par exemple graphiques), ou tout autre type de modélisation de caractéristiques physiques, symboliques, ou encore logiques permettant  - the third block, optional, is named "FEATURE EXTENSION" or "FEXT". I) may be present when the "TREE" block 29 can not provide certain information. It can contain physical equations, symbolic representations (for example graphical), or any other type of physical, symbolic, or even logical characteristics modeling.

<Desc/Clms Page number 51> <Desc / Clms Page number 51>

Figure img00510001

de préciser le comportement dans la réalité des"dimensions","coordonnées"et"intensités" incluses dans le bloc "TREE" 29. II peut aussi contenir d'autres informations venant enrichir le bloc "TREE" 29.
Figure img00510001

to specify the behavior in reality of the "dimensions", "coordinates" and "intensities" included in the "TREE" block 29. It may also contain other information enriching the "TREE" block 29.

Un bloc "TREE" 29 ou "FEXT" est spécifique d'un périphérique particulier, mais totalement indépendant de la machine support 23 dans laquelle ce périphérique est implanté. Ainsi, peu importe si une carte sonore est connectée dans un micro-ordinateur PC ou Apple, dans un assistant personnel ou encore dans un téléphone portable : le bloc "TREE" 29 ou "FEXT" est

Figure img00510002

inchangé, et peut être réutilisé tant que les caractéristiques du périphérique restent strictement c identiques. A "TREE" block 29 or "FEXT" is specific to a particular device, but totally independent of the support machine 23 in which this device is implanted. Thus, it does not matter if a sound card is connected in a PC or Apple PC, in a personal assistant or in a mobile phone: the block "TREE" 29 or "FEXT" is
Figure img00510002

unchanged, and can be reused as long as the device's characteristics remain strictly the same.

Un bloc "LINK" 26 est spécifique d'un périphérique et de la machine support 23 dans laquelle ce périphérique est inséré. Pour pouvoir exploiter la carte sonore (prise pour exemple ci-dessus) implantée dans une des machines support décrites, il faudra qu'un programmeur réécrive le bloc "LINK"26 pour cette machine. A "LINK" block 26 is specific to a device and the support machine 23 in which this device is inserted. To be able to exploit the sound card (taken for example above) implanted in one of the support machines described, it will be necessary for a programmer to rewrite the "LINK" block 26 for this machine.

Pour pouvoir exploiter un périphérique, il faut au minimum son bloc"TREE"29, ainsi que le bloc "LINK" 26 associé qui correspond à la machine support 23 considérée. To be able to operate a device, it is necessary at least its "TREE" block 29, as well as the associated "LINK" block 26 which corresponds to the support machine 23 considered.

Le bloc "TREE" 29 représente la majeure partie du travail d'accès à un périphérique. Le bloc "LINK"26 est relativement court puisque sa fonction est généralement de transporter une information entre le processeur virtuel et un périphérique. La portion de gestion des périphériques dépendante d'une machine support 23 est ainsi réduite. The "TREE" block 29 represents most of the work of accessing a device. The block "LINK" 26 is relatively short since its function is generally to carry information between the virtual processor and a device. The peripheral device management portion of a support machine 23 is thus reduced.

10. 1. 2 - Implémentation en niveau 1 L'implémentation des périphériques de niveau 1 est basée sur un programme de niveau zéro exploitant les périphériques disponibles à son niveau. La structure plus complexe du niveau 1 s'accorde mieux avec une représentation plus complète et d'accès plus immédiat aux périphériques. L'arbre des périphériques présenté au niveau 1 dispose de tous les noeuds décrits au paragraphe 9.3. 3 (en particulier les"groupes","univers", et"hyperespaces"). La programmation des périphériques se fait grâce à un protocole permettant de naviguer dans l'arbre de branche en branche. Les directives de dépendance ne sont pas accessibles directement, mais s'expriment en modifiant la structure de l'arbre selon les branches parcourues. 10. 1. 2 - Level 1 Implementation The implementation of Level 1 devices is based on a zero level program using the devices available at its level. The more complex structure of Level 1 is more in line with a more complete representation and more immediate access to peripherals. The device tree presented in Level 1 has all the nodes described in Section 9.3. 3 (especially the "groups", "universe", and "hyperespaces"). The programming of the peripherals is done thanks to a protocol allowing to navigate in the tree from branch to branch. The dependency directives are not directly accessible, but are expressed by modifying the structure of the tree according to the branches covered.

10. 2-Accès aux périphériques en niveau zéro 10.2. 1-Schéma d'organisation Pour que le programmeur passe à la phase d'implémentation des périphériques dans la machine de niveau zéro, il doit les avoir préalablement modélisé avec soin, et connaître toutes les informations permettant de décrire les"dimensions","coordonnées"et"intensités". 10. 2-Access to devices at zero level 10.2. 1-Schema of organization For the programmer to move to the implementation phase of the devices in the machine of level zero, it must have previously carefully modeled them, and to know all the information making it possible to describe the "dimensions", "coordinates "and" intensities ".

La mise en place de l'arbre et son exploitation sont pris en charge par différents processeurs. Elle est assurée d'une part par la machine support 23, à travers une portion du programme d'émulation de la machine de niveau zéro appelée le cartographe/énumérateur 25 The establishment of the tree and its operation are supported by different processors. It is provided on the one hand by the support machine 23, through a portion of the emulation program of the zero level machine called the cartographer / enumerator 25

<Desc/Clms Page number 52> <Desc / Clms Page number 52>

Figure img00520001

(Mapper/Enumerator) qui prend en charge les protocoles d'accès aux périphériques à partir du niveau zéro. D'autre part, le processeur de niveau zéro reçoit les blocs "TREE" 29 à partir du cartographe/énumérateur 25 par l'intermédiaire du registre"MER"27 (Mapper/Enumerator Register pour"registre de cartographe/énumérateur"). Enfin, un processeur virtuel spécialisé, émulé par le processeur de niveau 0.4, prend en charge les programmes de calcul des données de configuration et d'exploitation, ainsi que les directives de dépendance insérés dans les noeuds de l'arbre. C'est le coprocesseur de périphériques 28.
Figure img00520001

(Mapper / Enumerator) that supports device access protocols from scratch. On the other hand, the Zero Level Processor receives the "TREE" blocks 29 from the Mapper / Enumerator 25 through the "MER" Register 27 (Mapper / Enumerator Register for "Cartographer / Enumerator Register"). Finally, a specialized virtual processor, emulated by the level 0.4 processor, supports the programs for calculating the configuration and operating data, as well as the dependency directives inserted into the nodes of the tree. It is the coprocessor of peripherals 28.

Le processeur de niveau zéro est alors en mesure d'exécuter un programme prenant en charge le parcours des différentes branches de l'arbre pour accéder aux périphériques, par l'intermédiaire des programmes du coprocesseur 28 qui accèdent au registre"MER"27. The zero level processor is then able to execute a program that supports the traversing of the different branches of the tree to access the peripherals, through the programs of the coprocessor 28 which access the register "MER" 27.

En niveau zéro, les blocs "TREE" 29 sont transmis sur commande par le

Figure img00520002

cartographe/énumerateur 25, par l'intermédiaire du registre"MER"27. L'ensemble de ces blocs ZD contient toutes les indications nécessaires pour pouvoir reconstruire un arbre des périphériques complet comme décrit au paragraphe 9. 3. 3. Les blocs "LINK" 26 sont installés dans la mémoire ZD de la machine support 23 par le cartographe/énumerateur 25, qui les appelle selon les"espaces" de périphériques utilisés. Les blocs"FEXT"sont chargés explicitement par un programme écrit en niveau 0.4 et viennent enrichir les descriptions des blocs "TREE" 29. In level zero, the blocks "TREE" 29 are transmitted on command by the
Figure img00520002

cartographer / enumerator 25, through the register "MER" 27. The set of these blocks ZD contains all the indications necessary to be able to reconstruct a complete peripheral tree as described in section 9. 3. 3. The "LINK" blocks 26 are installed in the memory ZD of the support machine 23 by the cartographer / enumerator 25, which calls them according to the "spaces" of peripherals used. The "FEXT" blocks are explicitly loaded by a program written in level 0.4 and enrich the descriptions of the blocks "TREE" 29.

1 0. 2. 2-Le coprocesseur de périphériques 28 La simple analyse des blocs"TREE"29 permet d'évaluer l'environnement du processeur virtuel, sans y accéder. Pour accéder aux périphériques il faut exécuter des programmes de parcours inclus dans les noeuds des blocs "TREE" 29. Ces programmes calculent les données d'exploitation et de configuration adéquates pour pouvoir utiliser le périphérique, compte tenu de la branche de l'arbre parcourue. La plupart du temps, seuls les programmes situé dans certains noeuds (notamment les noeuds d"'intensités") sont chargés de réaliser l'accès aux périphériques, en fonction des données calculées par les programmes d'autres noeuds. En outre, le programme de parcours d'un noeud d'"espace"doit activer le périphérique correspondant, en particulier son mécanisme d'interruption.  1 0. 2. 2-The device coprocessor 28 The simple analysis of the "TREE" blocks 29 makes it possible to evaluate the environment of the virtual processor, without having access to it. To access the devices, run programs must be run in the nodes of the "TREE" blocks. 29. These programs calculate the operating and configuration data needed to use the device, given the branch of the tree traveled. . Most of the time, only the programs located in some nodes (especially the "intensity nodes") are responsible for realizing the access to the peripherals, according to the data computed by the programs of other nodes. In addition, the browse program of a "space" node must activate the corresponding device, in particular its interrupt mechanism.

L'exécution d'un programme de parcours est conditionnée par le résultat de l'exécution du programme d'autorisation situé dans le même noeud. The execution of a program of course is conditioned by the result of the execution of the authorization program located in the same node.

Certains périphériques sont capables de déclencher une interruption, c'est-à-dire de demander un traitement particulier immédiat par le programme de niveau zéro. Dans ce cas, un programme d'interruption doit être exécuté par le coprocesseur de périphériques 28, afin de tenir à jour certains paramètres. Some devices are capable of triggering an interrupt, that is, requesting immediate special processing by the zero level program. In this case, an interrupt program must be executed by the device coprocessor 28, in order to maintain certain parameters.

Seuls les noeuds de l'arbre appartenant à un espace de périphérique ("espace","dimension", "coordonnée","intensité") peuvent contenir des programmes de parcours et d'autorisation. Pour fonctionner, ces programmes utilisent un environnement de programmation restreint nommé Only nodes in the tree belonging to a device space ("space", "dimension", "coordinate", "intensity") can contain path and authorization programs. To work, these programs use a restricted programming environment named

<Desc/Clms Page number 53> <Desc / Clms Page number 53>

Figure img00530001

coprocesseur de périphériques 28, disposant de 25 types d'instructions, de 8 registres de données à usage général, et de quatre indicateurs binaires d'état. z 10.2. 2. 1-Organisation de l'environnement de programmation L'environnement de programmation du coprocesseur 28 s'apparente à une machine virtuelle constituée d'un processeur virtuel n'ayant accès qu'à une unique mémoire réinscriptible, appelée
Figure img00530002

mémoire données. Le programme à exécuter par le processeur est situé dans une mémoire ZD programmes séparée. Le contenu de cette mémoire est inaccessible au processeur, mais ce dernier peut se positionner à l'intérieur de la séquence des instructions, par rapport à la dernière instruction délivrée (saut relatif).
Figure img00530001

device coprocessor 28, having 25 types of instructions, 8 general-purpose data registers, and four state binary indicators. z 10.2. 2. 1-Organization of the programming environment The programming environment of the coprocessor 28 is similar to a virtual machine consisting of a virtual processor having access only to a single rewritable memory, called
Figure img00530002

memory data. The program to be executed by the processor is located in a separate program memory ZD. The content of this memory is inaccessible to the processor, but the latter can be positioned within the sequence of instructions, compared to the last instruction issued (relative jump).

Le processeur dispose de huit registres internes, d'une largeur de 16 bits chacun, nommés RO à R7. Il est capable d'exécuter 25 types d'instructions, et peut conserver certains résultats caractéristiques de la dernière opération dans des indicateurs d'état (signe : N, nullité : Z, débordement : 0, retenue : C). The processor has eight internal registers, each 16 bits wide, named RO to R7. It is able to execute 25 types of instructions, and can keep some results characteristic of the last operation in status indicators (sign: N, nullity: Z, overflow: 0, restraint: C).

Les opérations sont encodées sous la forme de mots de 16 bits. On distingue trois grands groupes d'opérations : chargement, sauvegarde, terminaison opérations arithmétiques et logiques sauts conditionnels La mémoire réinscriptible à laquelle le processeur a accès peut contenir 65536 mots distincts au maximum. La taille de cette mémoire est définie statiquement à 0 ou par une puissance de 2 pour l'ensemble des programmes d'un bloc"TREE"29. Cette mémoire peut donc être absente, ou avoir une capacité allant de 20 = 1 mot de mémoire données à i6 = 65536 mots de mémoire données au maximum. Lors de l'exécution d'une instruction coprocesseur faisant appel à une mémoire données de taille inférieure à la taille adressable maximale de l'instruction considérée, les bits d'adressage inutilisés sont ignorés. The operations are encoded as 16-bit words. There are three main groups of operations: loading, saving, terminating arithmetic operations and logical jumps conditional The rewritable memory to which the processor has access can contain 65536 distinct words at most. The size of this memory is statically set to 0 or by a power of 2 for all the programs of a "TREE" block 29. This memory can therefore be absent, or have a capacity ranging from 20 = 1 given memory word to i6 = 65536 memory words given at most. When executing a coprocessor instruction using a data memory smaller than the maximum addressable size of the instruction in question, the unused address bits are ignored.

Un programme coprocesseur est constitué d'une succession d'instructions qui sont exécutées séquentiellement, à l'exception des sauts qui constituent des ruptures de séquence. Le nombre d'instructions qu'il peut contenir n'est pas limité. Ce programme ne peut en aucun cas accéder à la mémoire programmes contenant les instructions le constituant, que ce soit en lecture ou en écriture. Il ne peut donc pas se modifier. A coprocessor program consists of a succession of instructions that are executed sequentially, except for breaks that constitute sequence breaks. The number of instructions that it can contain is not limited. This program can not in any case access the program memory containing the instructions constituting it, whether in reading or writing. It can not be modified.

Tous les programmes coprocesseurs concernant un même périphérique (donc situés dans un même"espace"de périphérique) accèdent exclusivement à une seule et même mémoire réinscriptible, dont la capacité est fixée lors de l'installation de l'arbre. Ils devront donc être prévus pour utiliser cette mémoire sans conflits entre eux. All the coprocessor programs concerning the same device (thus located in the same "space" of device) access exclusively to one and the same rewritable memory, whose capacity is fixed during the installation of the tree. They will have to be planned to use this memory without conflicts between them.

10.2. 2. 2-Description du jeu d'instructions 10.2. 2. 2-Description of the instruction set

<Desc/Clms Page number 54><Desc / Clms Page number 54>

Le coprocesseur de périphériques 28 dispose de vingt-cinq types d'instructions décrits dans les tableaux ci-dessous.  The device coprocessor 28 has twenty-five types of instructions described in the tables below.

Les conventions suivantes sont communes à la description de l'ensemble des instructions. un bit de valeur 1 est dit levé et un bit de valeur 0 est dit baissé,

Figure img00540001

les bits d'un mot 16 bits sont numérotés de 0 à 15. Le bit 0 étant le bit de plus faible poids, le bit
15 celui de plus fort poids. The following conventions are common to the description of all instructions. a bit of value 1 is said to be raised and a bit of value 0 is said to be lowered,
Figure img00540001

the bits of a 16-bit word are numbered from 0 to 15. The bit 0 is the least significant bit, the bit
15 the one with the highest weight.

Dans le codage d'une instruction : "r"désigne un bit de codage du numéro de registre. In the coding of an instruction: "r" denotes a coding bit of the register number.

"a"désigne un bit de codage de l'adresse mémoire. "a" denotes a coding bit of the memory address.

"i"désigne un bit de codage de la valeur immédiate. "i" denotes a coding bit of the immediate value.

" ?" désigne un bit réservé, devant être systématiquement baissé pour garantir une compatibilité ascendante avec d'éventuelles version ultérieures.  "?" designates a reserved bit, which has to be systematically lowered to ensure backwards compatibility with any later versions.

"z","o","n"et"c"désignent tes bits de mise à jour des indicateurs Z, 0, N et C respectivement : s'ils sont levés, les indicateurs correspondants sont mis à jour en fonction du résultat de l'opération.  "z", "o", "n" and "c" denote the update bits of the indicators Z, 0, N and C respectively: if they are raised, the corresponding indicators are updated according to the result of the operation.

"s" désigne un bit de codage du numéro de registre source.  "s" means a bit of coding of the source register number.

"d"désigne un bit de codage du numéro de registre destination.

Figure img00540002
"d" denotes a coding bit of the destination register number.
Figure img00540002

<tb>
<tb>
<Tb>
<Tb>

Syntaxe <SEP> de <SEP> Codage <SEP> de <SEP> Description <SEP> du <SEP> fonctionnement <SEP> de <SEP> l'instruction
<tb> l'instruction <SEP> l'instruction <SEP> en
<tb> binaire
<tb> Instructions <SEP> de <SEP> chargement, <SEP> de <SEP> sauvegarde, <SEP> et <SEP> de <SEP> terminaison.
<tb>
Syntax <SEP> of <SEP> Encoding <SEP> of <SEP> Description <SEP> of <SEP> Operation <SEP> of <SEP> Statement
<tb> the <SEP> statement the <SEP> statement in
<tb> binary
<tb><SEP> Instructions <SEP> Load, <SEP> of <SEP> Backup, <SEP>, and <SEP> of <SEP> Termination.
<Tb>

LD <SEP> Rd, <SEP> mem <SEP> 000rrraaaaaaaaaa <SEP> Rd <SEP> < -contenu <SEP> de <SEP> la <SEP> mémoire <SEP> pointée <SEP> par <SEP> mem <SEP> (modulo
<tb> la <SEP> taille <SEP> de <SEP> la <SEP> mémoire <SEP> données).
<tb>
LD <SEP> Rd, <SEP> mem <SEP> 000rrraaaaaaaaaa <SEP> Rd <SEP><-content<SEP> of <SEP> The <SEP> memory <SEP> pointed <SEP> by <SEP> mem <SEP > (modulo
<tb> the <SEP> size <SEP> of <SEP> the <SEP> memory <SEP> data).
<Tb>

ST <SEP> mem, <SEP> Rs <SEP> 00 <SEP> J <SEP> rrraaaaaaaaaa <SEP> Mémoire <SEP> pointée <SEP> par <SEP> mem <SEP> (modulo <SEP> la <SEP> taille <SEP> de <SEP> la
<tb> mémoire <SEP> données) <SEP> v <SEP> Rs.
<tb>
ST <SEP> mem, <SEP> Rs <SEP> 00 <SEP> J <SEP> rrraaaaaaaaaa <SEP> Memory <SEP> pointed <SEP> by <SEP> mem <SEP> (modulo <SEP> the <SEP> size <SEP> of <SEP> the
<tb> memory <SEP> data) <SEP> v <SEP> Rs.
<Tb>

LD <SEP> Rd, <SEP> &num;imm <SEP> 01 <SEP> Orrriiiiiiiiii <SEP> Rd <SEP> < -valeur <SEP> immédiate <SEP> imm <SEP> étendue <SEP> par <SEP> le <SEP> signe <SEP> à <SEP> 16
<tb> bits.
<tb>
LD <SEP> Rd, <SEP>&num; imm <SEP> 01 <SEP> Orrriiiiiiiiii <SEP> Rd <SEP><-value<SEP> immediate <SEP> imm <SEP> extended <SEP> by <SEP><SEP> sign <SEP> to <SEP> 16
<tb> bits.
<Tb>

Les <SEP> 10 <SEP> bits <SEP> de <SEP> poids <SEP> faible <SEP> du <SEP> mot <SEP> de <SEP> l'instruction <SEP> sont
<tb> copiés <SEP> dans <SEP> les <SEP> 10 <SEP> bits <SEP> de <SEP> poids <SEP> faible <SEP> de <SEP> Rd. <SEP> Le <SEP> bit <SEP> de
<tb> poids <SEP> fort <SEP> de <SEP> la <SEP> valeur <SEP> immédiate <SEP> (bit <SEP> 9) <SEP> est <SEP> copié <SEP> dans
<tb> chacun <SEP> des <SEP> bits <SEP> 10 <SEP> à <SEP> 15 <SEP> de <SEP> Rd.
<tb>
The <SEP> 10 <SEP> bits <SEP> of <SEP><SEP> weight <SEP> of the <SEP><SEP><SEP><SEP> statement are
<tb> copied <SEP> in <SEP><SEP> 10 <SEP> bits <SEP> of <SEP> weight <SEP> low <SEP> of <SEP> Rd. <SEP> The <SEP> bit <SEP> de
<tb> weight <SEP> strong <SEP> of <SEP> the <SEP> value <SEP> immediate <SEP> (bit <SEP> 9) <SEP> is <SEP> copied <SEP> in
<tb> each <SEP> of <SEP> bits <SEP> 10 <SEP> to <SEP> 15 <SEP> of <SEP> Rd.
<Tb>

EOP <SEP> 0110 <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> Termine <SEP> l'exécution <SEP> du <SEP> programme. <SEP> R7 <SEP> doit <SEP> contenir <SEP> un
<tb> code <SEP> de <SEP> terminaison) <SEP> 16 <SEP> bits. <SEP> Les <SEP> autres <SEP> registres <SEP> peuvent
<tb> contenir <SEP> une <SEP> extension <SEP> de <SEP> ce <SEP> code.
<tb>
EOP <SEP> 0110 <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP> Ends <SEP> the <SEP> execution of the <SEP> program. <SEP> R7 <SEP> must <SEP> contain <SEP> one
<tb><SEP> code of <SEP> termination <SEP> 16 <SEP> bits. <SEP><SEP> other <SEP> registers <SEP> can
<tb> hold <SEP> a <SEP> extension <SEP> of <SEP> this <SEP> code.
<Tb>

LD <SEP> Rd,LINK <SEP> 01110rrr <SEP> ? <SEP> ? <SEP> ? <SEP> < -vateur <SEP> renvoyée <SEP> par <SEP> le <SEP> sous-programme <SEP> de <SEP> lecture
<tb>
LD <SEP> Rd, LINK <SEP> 01110rrr <SEP>? <SEP>? <SEP>? <SEP><-vitter<SEP> returned <SEP> with <SEP><SEP> subprogram <SEP> of <SEP> read
<Tb>

<Desc/Clms Page number 55> <Desc / Clms Page number 55>

Figure img00550001
Figure img00550001

<tb>
<tb> dubloc"LlNK"26.
<tb>
<Tb>
<tb> dubloc "LlNK" 26.
<Tb>

ST <SEP> LINK,Rs <SEP> 01111rrr <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> ? <SEP> Sous-programme <SEP> d'écriture <SEP> du <SEP> bloc <SEP> "LINK" <SEP> 26 <SEP> # <SEP> Rs.
<tb>
ST <SEP> LINK, Rs <SEP> 01111rrr <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP>? <SEP><SEP> Write <SEP><SEP> block <SEP>"LINK"<SEP> 26 <SEP>#<SEP> Rs.
<Tb>

Les instructions d'accès à"MER"27 sont restreintes par rapport à l'accès à ce registre directement depuis le niveau 0.4. C'est pourquoi seules les fonctions de lecture et d'écriture sur le bloc"LINK"26 correspondant à f'espace"de périphérique auquel appartient le programme sont autorisées. Le numéro de la commande de lecture ou d'écriture sur le bloc "LlNK" 26 est automatiquement envoyé à"MER"27 par l'émulateur 33 du coprocesseur de périphériques 28. The instructions for accessing "MER" 27 are restricted with respect to accessing this register directly from level 0.4. This is why only the read and write functions on the "LINK" block 26 corresponding to the "space" of the device to which the program belongs are allowed.The number of the read or write command on the block " LlNK "26 is automatically sent to" MER "27 by the peripheral coprocessor emulator 28.

De façon générale, pour les instructions arithmétiques et logiques : l'indicateur N est une copie du bit 15 du résultat de l'instruction l'indicateur Z est levé si tous les bits du résultat sont baissés ; l'indicateur 0 est levé si l'instruction génère un débordement en logique signée ; et l'indicateur C est levé si une retenue ou un emprunt est généré par l'instruction.

Figure img00550002
In general, for the arithmetic and logic instructions: the indicator N is a copy of the bit 15 of the result of the instruction the indicator Z is raised if all the bits of the result are lowered; the flag 0 is raised if the instruction generates an overflow in signed logic; and the indicator C is raised if a deduction or a loan is generated by the instruction.
Figure img00550002

<tb>
<tb>
<Tb>
<Tb>

Instructions <SEP> arithmétiques, <SEP> logiques, <SEP> et <SEP> de <SEP> déplacement
<tb> ADD <SEP> Rd, <SEP> Rs, <SEP> ZONC) <SEP> 00000zoncsssddd <SEP> Rd <SEP> Rd <SEP> + <SEP> Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à
<tb> jour.
<tb>
<SEP> arithmetic, <SEP> logical, <SEP>, and <SEP> instructions of <SEP> moving
<tb> ADD <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 00000zoncsssddd <SEP> Rd <SEP> Rd <SEP> + <SEP> Rs. <SEP> The <SEP> Indicators <SEP > selected <SEP> are <SEP> set <SEP> to
<tb> day.
<Tb>

ADC <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 10000 <SEP> 1 <SEP> zoncsssddd <SEP> Rd <SEP> < -Rd <SEP> + <SEP> Rs <SEP> + <SEP> c. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis
<tb> àjour.
<tb>
ADC <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 10000 <SEP> 1 <SEP> zoncsssddd <SEP> Rd <SEP><-Rd<SEP> + <SEP> Rs <SEP> + <SEP> c. <SEP><SEP><SEP> selected <SEP> indicators are <SEP> set
<tb> up to date.
<Tb>

SUB <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 000 <SEP> ! <SEP> 0zoncsssddd <SEP> Rd <SEP> < -Rd-Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à
<tb> jour.
<tb>
SUB <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 000 <SEP>! <SEP> 0zoncsssddd <SEP> Rd <SEP><-Rd-Rs.<SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to
<tb> day.
<Tb>

SBB <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 10001 <SEP> 1 <SEP> zoncsssddd <SEP> Rd <SEP> < -Rd-Rs-c. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis
<tb> àjour.
<tb>
SBB <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 10001 <SEP> 1 <SEP> zoncsssddd <SEP> Rd <SEP><-Rd-Rs-c.<SEP><SEP><SEP> selected <SEP> indicators are <SEP> set
<tb> up to date.
<Tb>

MUL <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 100100zoncsssddd <SEP> Rd <SEP> < -Rd <SEP> * <SEP> Rs. <SEP> La <SEP> multiplication <SEP> est <SEP> effectuée <SEP> sur <SEP> des
<tb> opérandes <SEP> non <SEP> signés. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont
<tb> mis <SEP> àjour <SEP> :
<tb> 0 <SEP> est <SEP> levé <SEP> si <SEP> le <SEP> produit <SEP> ne <SEP> peut <SEP> pas <SEP> être <SEP> exprimé <SEP> sur <SEP> 16
<tb> bits. <SEP> Dans <SEP> ce <SEP> cas, <SEP> Rd <SEP> contient <SEP> les <SEP> 16 <SEP> bits <SEP> de <SEP> poids <SEP> faible
<tb> du <SEP> produit.
<tb>
MUL <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 100100zoncsssddd <SEP> Rd <SEP><-Rd<SEP> * <SEP> Rs. <SEP> The <SEP> multiplication <SEP> is <SEP> performed <SEP> on <SEP> of
<tb> signed operands <SEP> no <SEP>. <SEP> The <SEP><SEP> selected <SEP> indicators are
<tb> put <SEP> up to the day <SEP>:
<tb> 0 <SEP> is <SEP> raised <SEP> if <SEP> the <SEP> product <SEP><SEP> can <SEP> not <SEP> be <SEP> expressed <SEP> on <SEP > 16
<tb> bits. <SEP> In <SEP> this <SEP> case, <SEP> Rd <SEP> contains <SEP><SEP> 16 <SEP> bits <SEP> of <SEP><SEP> weight low
<tb> of the <SEP> product.
<Tb>

Z <SEP> est <SEP> levé <SEP> si <SEP> l'un <SEP> des <SEP> deux <SEP> multiplicandes <SEP> est <SEP> nul.
<tb>
Z <SEP> is <SEP> raised <SEP> if <SEP> one <SEP> of <SEP> two <SEP> multiplicands <SEP> is <SEP> null.
<Tb>

N <SEP> contient <SEP> le <SEP> bit <SEP> numéro <SEP> 17 <SEP> du <SEP> produit.
<tb>
N <SEP> contains <SEP> the <SEP> bit <SEP> number <SEP> 17 <SEP> of the <SEP> product.
<Tb>

C <SEP> contient <SEP> le <SEP> bit <SEP> numéro <SEP> 6 <SEP> du <SEP> produit.
<tb>
C <SEP> contains <SEP> the <SEP> bit <SEP> number <SEP> 6 <SEP> of the <SEP> product.
<Tb>

DIV <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 00 <SEP> ! <SEP> 01 <SEP> zoncsssddd <SEP> Rd <SEP> < -Rd <SEP> div <SEP> Rs. <SEP> Rs <SEP> < -Rd <SEP> mod <SEP> Rs. <SEP> La <SEP> division <SEP> est
<tb> effectuée <SEP> sur <SEP> des <SEP> opérandes <SEP> non <SEP> signés. <SEP> En <SEP> cas <SEP> de
<tb> division <SEP> par <SEP> 0, <SEP> Rd <SEP> et <SEP> Rs <SEP> sont <SEP> inchangés. <SEP> Les <SEP> indicateurs
<tb> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour <SEP> :
<tb> O <SEP> est <SEP> levé <SEP> en <SEP> cas <SEP> de <SEP> division <SEP> par <SEP> 0.
<tb>
DIV <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 00 <SEP>! <SEP> 01 <SEP> zoncsssddd <SEP> Rd <SEP><-Rd<SEP> div <SEP> Rs. <SEP> Rs <SEP><-Rd<SEP> mod <SEP> Rs. <SEP> The <SEP> division <SEP> is
<tb> performed <SEP> on <SEP> signed <SEP> operands <SEP> no <SEP>. <SEP> In <SEP> cases <SEP> of
<tb> division <SEP> by <SEP> 0, <SEP> Rd <SEP> and <SEP> Rs <SEP> are <SEP> unchanged. <SEP> The <SEP> indicators
<tb> selected <SEP> are <SEP> set <SEP> to <SEP> day <SEP>:
<tb> O <SEP> is <SEP> raised <SEP> in <SEP> case <SEP> of <SEP> division <SEP> by <SEP> 0.
<Tb>

<Desc/Clms Page number 56> <Desc / Clms Page number 56>

Figure img00560001
Figure img00560001

<tb>
<tb>
<Tb>
<Tb>

Z <SEP> est <SEP> levé <SEP> si <SEP> le <SEP> quotient <SEP> est <SEP> nul.
<tb>
Z <SEP> is <SEP> raised <SEP> if <SEP> the <SEP> quotient <SEP> is <SEP> zero.
<Tb>

N <SEP> est <SEP> la <SEP> copie <SEP> du <SEP> bit <SEP> de <SEP> poids <SEP> fort <SEP> du <SEP> quotient.
<tb>
N <SEP> is <SEP> the <SEP><SEP> copy of the <SEP><SEP> bit of <SEP><SEP> strong <SEP> weight of the <SEP> quotient.
<Tb>

C <SEP> est <SEP> levé <SEP> si <SEP> le <SEP> reste <SEP> n'est <SEP> pas <SEP> nul.
<tb>
C <SEP> is <SEP> raised <SEP> if <SEP> the <SEP> remains <SEP> is <SEP> not <SEP> null.
<Tb>

MOVE <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> 1001 <SEP> fOzOn <SEP> ? <SEP> sssddd <SEP> Rd <SEP> < -Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour.
<tb>
MOVE <SEP> Rd, <SE> Rs, <SEP> ZN <SEP> 1001 <SEP> fOzOn <SEP>? <SEP> sssddd <SEP> Rd <SEP><-Rs.<SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to <SEP> days.
<Tb>

Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne <SEP> sont <SEP> jamais <SEP> affectés.
<tb>
The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> ne <SEP> are <SEP> never <SEP> assigned.
<Tb>

MOVE <SEP> Rd, <SEP> [Rs], <SEP> ZN <SEP> 100 <SEP> 11 <SEP> Oz <SEP> 1 <SEP> nosssddd <SEP> Rd <SEP> < -mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> Rs <SEP> (modulo <SEP> la <SEP> taille <SEP> de <SEP> la
<tb> mémoire <SEP> données). <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis
<tb> à <SEP> jour. <SEP> Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne <SEP> sont <SEP> jamais <SEP> affectés.
<tb>
MOVE <SEP> Rd, <SEP> [Rs], <SEP> ZN <SEP> 100 <SEP> 11 <SEP> Oz <SEP> 1 <SEP> nosssddd <SEP> Rd <SEP><-mot<SEP> located <SEP> to <SEP> the address <SEP> Rs <SEP> (modulo <SEP> the <SEP> size <SEP> of <SEP>
<tb> memory <SEP> data). <SEP><SEP><SEP> selected <SEP> indicators are <SEP> set
<tb> to <SEP> day. <SEP> The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> ne <SEP> are <SEP> never <SEP> assigned.
<Tb>

MOVE <SEP> [Rd], <SEP> Rs, <SEP> ZN <SEP> 00110zlnlsssddd <SEP> Mot <SEP> situé <SEP> à <SEP> l'adresse <SEP> Rd <SEP> (modulo <SEP> la <SEP> taille <SEP> de <SEP> la <SEP> mémoire
<tb> données) <SEP> < -Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à
<tb> jour. <SEP> Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne <SEP> sont <SEP> jamais <SEP> affectés.
<tb>
MOVE <SEP> [Rd], <SEP> Rs, <SEP> ZN <SEP> 00110zlnlsssddd <SEP> Word <SEP> located <SEP> to <SEP> address <SEP> Rd <SEP> (modulo <SEP ><SEP> size <SEP> of <SEP> the <SEP> memory
<tb> data) <SEP><-Rs.<SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to
<tb> day. <SEP> The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> ne <SEP> are <SEP> never <SEP> assigned.
<Tb>

AND <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> 100 <SEP> 111 <SEP> z <SEP> ? <SEP> n <SEP> ? <SEP> sssddd <SEP> Rd <SEP> # <SEP> Rd <SEP> ET <SEP> logique <SEP> Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés
<tb> sont <SEP> mis <SEP> à <SEP> jour. <SEP> Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne <SEP> sont <SEP> jamais
<tb> affectés.
<tb>
AND <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> 100 <SEP> 111 <SEP> z <SEP>? <SEP> n <SEP>? <SEP> sssddd <SEP> Rd <SEP>#<SEP> Rd <SEP> AND <SEP> Logic <SEP> Rs. <SEP> The <SEP> Selected <SEP> Indicators
<tb> are <SEP> set <SEP> to <SEP> day. <SEP> The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> ne <SEP> are <SEP> never
<tb> affected.
<Tb>

OR <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> \ <SEP> 0 <SEP> \ <SEP> OOOz <SEP> ? <SEP> n <SEP> ? <SEP> sssdddRd <SEP> < -Rd <SEP> OU <SEP> logique <SEP> Rs. <SEP> Les <SEP> indicateurs <SEP> sélectionnés
<tb> sont <SEP> mis <SEP> à <SEP> jour. <SEP> Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne <SEP> sont <SEP> jamais
<tb> affectés.
<tb>
OR <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> \ <SEP> 0 <SEP> \ <SEP> OOOz <SEP>? <SEP> n <SEP>? <SEP> sssdddRd <SEP><-Rd<SEP> OR <SEP> Logic <SEP> Rs. <SEP> The <SEP> Selected <SEP> Indicators
<tb> are <SEP> set <SEP> to <SEP> day. <SEP> The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> ne <SEP> are <SEP> never
<tb> affected.
<Tb>

XOR <SEP> Rd, <SEP> Rs, <SEP> ZN <SEP> 01001 <SEP> z <SEP> ? <SEP> n <SEP> ? <SEP> sssdddRd <SEP> < -Rd <SEP> OU <SEP> logique <SEP> exclusif <SEP> Rs. <SEP> Les <SEP> indicateurs
<tb> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour. <SEP> Les <SEP> indicateurs <SEP> 0 <SEP> et <SEP> C <SEP> ne
<tb> sont <SEP> jamais <SEP> affectés.
<tb>
XOR <SEP> Rd <SEP> Rs <SEP> ZN <SEP> 01001 <SEP> z <SEP>? <SEP> n <SEP>? <SEP> sssdddRd <SEP><-Rd<SEP> OR <SEP> logical <SEP> exclusive <SEP> Rs. <SEP> The <SEP> flags
<tb> selected <SEP> are <SEP> set <SEP> to <SEP> day. <SEP> The <SEP> flags <SEP> 0 <SEP> and <SEP> C <SEP> do not
<tb> are <SEP> never <SEP> assigned.
<Tb>

ASR <SEP> Rd, <SEP> Rs, <SEP> ZNC <SEP> 01010z <SEP> ? <SEP> ncsssddd <SEP> Décalage <SEP> arithmétique <SEP> de <SEP> Rs <SEP> bits <SEP> (modulo <SEP> 16) <SEP> vers <SEP> la
<tb> droite <SEP> du <SEP> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont
<tb> mis <SEP> à <SEP> jour. <SEP> L'indicateur <SEP> 0 <SEP> n'est <SEP> jamais <SEP> affecté.
<tb>
ASR <SEP> Rd, <SE> Rs, <SEP> ZNC <SEP> 01010z <SEP>? <SEP> ncsssddd <SEP> Offset <SEP> arithmetic <SEP> of <SEP> Rs <SEP> bits <SEP> (modulo <SEP> 16) <SEP> to <SEP>
<tb> Right <SEP> of the <SEP> registry <SEP> Rd. <SEP> The <SEP><SEP> selected <SEP> flags are
<tb> set <SEP> to <SEP> day. <SEP> The <SEP> 0 <SEP> flag is <SEP> never <SEP> assigned.
<Tb>

L'indicateur <SEP> C <SEP> correspond <SEP> au <SEP> dernier <SEP> bit <SEP> sorti.
<tb>
The <SEP> C <SEP> flag is <SEP> to the last <SEP> last <SEP> bit <SEP>.
<Tb>

ASR <SEP> Rd, <SEP> &num;imm, <SEP> ZNC <SEP> 101011 <SEP> z <SEP> ? <SEP> nciiiddd <SEP> Décalage <SEP> arithmétique <SEP> de <SEP> (imm+1) <SEP> bits <SEP> vers <SEP> la <SEP> droite <SEP> du
<tb> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour.
<tb>
ASR <SEP> Rd, <SEP>&num; imm, <SEP> ZNC <SEP> 101011 <SEP> z <SEP>? <SEP> nciiiddd <SEP> Offset <SEP> arithmetic <SEP> of <SEP> (imm + 1) <SEP> bits <SEP> to <SEP> the <SEP><SEP> of the
<tb> register <SEP> Rd. <SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to <SEP> days.
<Tb>

L'indicateur <SEP> 0 <SEP> n'est <SEP> jamais <SEP> affecté. <SEP> L'indicateur <SEP> C
<tb> correspond <SEP> au <SEP> dernier <SEP> bit <SEP> sorti.
<tb>
The <SEP> 0 <SEP> flag is <SEP> never <SEP> assigned. <SEP> The <SEP> C indicator
<tb> matches <SEP> at the last <SEP> last <SEP> bit <SEP>.
<Tb>

LSL <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 01 <SEP> 100zoncsssddd <SEP> Décalage <SEP> logique <SEP> de <SEP> Rs <SEP> bits <SEP> (modulo <SEP> 16) <SEP> vers <SEP> la <SEP> gauche
<tb> du <SEP> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à
<tb> jour. <SEP> L'indicateur <SEP> C <SEP> correspond <SEP> au <SEP> dernier <SEP> bit <SEP> sorti.
<tb>
LSL <SEP> Rd, <SEP> Rs, <SEP> ZONC <SEP> 01 <SEP> 100zoncsssddd <SEP> Offset <SEP> Logic <SEP> of <SEP> Rs <SEP> Bit <SEP> (modulo <SEP > 16) <SEP> to <SEP> the <SEP> left
<tb> of <SEP> registry <SEP> Rd. <SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to
<tb> day. <SEP> The <SEP> C <SEP> flag is <SEP> to the last <SEP><SEP> bit <SEP>.
<Tb>

LSL <SEP> 10 <SEP> 1 <SEP> 10 <SEP> 1 <SEP> zonciliddd <SEP> Décalage <SEP> logique <SEP> de <SEP> (imm+ <SEP> 1) <SEP> bits <SEP> vers <SEP> la <SEP> gauche <SEP> du
<tb> Rd, <SEP> &num;imm, <SEP> ZONC <SEP> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour
<tb> L'mdlcateur <SEP> C <SEP> correspond <SEP> au <SEP> denller <SEP> btt <SEP> sorti
<tb>
LSL <SEP> 10 <SEP> 1 <SEP> 10 <SEP> 1 <SEP> zonciliddd <SEP> Offset <SEP> logical <SEP> of <SEP> (imm + <SEP> 1) <SEP> bits <SEP> to <SEP> the <SEP> left <SEP> of
<tb> Rd, <SEP>&num; imm, <SEP> ZONC <SEP> register <SEP> Rd. <SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to <SEP> day
<tb> The <SEP> C <SEP> Maker <SEP> is the <SEP> denver <SEP> btt <SEP> output
<Tb>

<Desc/Clms Page number 57> <Desc / Clms Page number 57>

Figure img00570001
Figure img00570001

<tb>
<tb> LSR <SEP> Rd,Rs,ZONC <SEP> 101110zoncsssddd <SEP> Décalage <SEP> logique <SEP> de <SEP> Rs <SEP> bits <SEP> (modulo <SEP> 16) <SEP> vers <SEP> la <SEP> droite
<tb> du <SEP> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à
<tb> jour. <SEP> L'indicateur <SEP> C <SEP> correspond <SEP> au <SEP> dernier <SEP> bit <SEP> sorti
<tb> LSR <SEP> 101111zonciiiddd <SEP> Décalage <SEP> logique <SEP> de <SEP> (imm+1) <SEP> bits <SEP> vers <SEP> la <SEP> droite <SEP> du
<tb> Rd,&num;imm,ZONC <SEP> registre <SEP> Rd. <SEP> Les <SEP> indicateurs <SEP> sélectionnés <SEP> sont <SEP> mis <SEP> à <SEP> jour.
<tb>
<Tb>
<tb> LSR <SEP> Rd, Rs, ZONC <SEP> 101110zoncsssddd <SEP> Offset <SEP> Logic <SEP> From <SEP> Rs <SEP> Bit <SEP> (modulo <SEP> 16) <SEP> To <SEP> the <SEP> right
<tb> of <SEP> registry <SEP> Rd. <SEP> The <SEP><SEP> selected <SEP> indicators are <SEP> set <SEP> to
<tb> day. <SEP> The <SEP> C <SEP> flag equals <SEP> at the <SEP> last <SEP> bit <SEP> output
<tb> LSR <SEP> 101111zonciiiddd <SEP> Logical <SEP> Offset <SEP> of <SEP> (imm + 1) <SEP> bits <SEP> to <SEP> The <SEP><SEP><SEP>
<tb> Rd, &num; imm, ZONC <SEP> register <SEP> Rd. <SEP> The <SEP> selected <SEP><SEP> indicators are <SEP> set <SEP> to <SEP> days.
<Tb>

L'indicateur <SEP> C <SEP> correspond <SEP> au <SEP> dernier <SEP> bit <SEP> sorti.
<tb>
Dans le codage d'une instruction de saut : 'j" désigne un bit de codage de la condition de saut, et "p"désigne un bit de codage de l'adresse relative du saut dans le programme.

Figure img00570002
The <SEP> C <SEP> flag is <SEP> to the last <SEP> last <SEP> bit <SEP>.
<Tb>
In the encoding of a jump instruction: 'j' designates an encoding bit of the jump condition, and 'p' denotes a coding bit of the relative jump address in the program.
Figure img00570002

<tb>
<tb>
<Tb>
<Tb>

Instructions <SEP> de <SEP> rupture <SEP> de <SEP> séquence
<tb> Jcc <SEP> déplacement <SEP> 11jjjjppppppppp <SEP> Saut, <SEP> relatif <SEP> à <SEP> l'instruction <SEP> suivante, <SEP> vers <SEP> un <SEP> mot <SEP> du
<tb> programme. <SEP> Le <SEP> déplacement <SEP> autorisé <SEP> va <SEP> de-512 <SEP> à <SEP> +511
<tb> mots <SEP> d'instructions.
<tb>
<SEP><SEP><SEP><SEP> Separation Instructions
<tb> Jcc <SEP> move <SEP> 11jjjjppppppppp <SEP> Jump, <SEP> Relative <SEP> to <SEP> the following <SEP> statement, <SEP> to <SEP> a <SEP> word <SEP > from
<tb> program. <SEP> The <SEP> move <SEP> allowed <SEP> is <SEP> from -512 <SEP> to <SEP> +511
<tb> words <SEP> of instructions.
<Tb>

Les <SEP> conditions <SEP> de <SEP> saut <SEP> peuvent <SEP> être <SEP> les <SEP> suivantes <SEP> :
<tb> Condition <SEP> Codage <SEP> Détail <SEP> de <SEP> la <SEP> condition <SEP> de <SEP> saut
<tb> (cc) <SEP> (ÜÜ)
<tb> AC <SEP> 0000 <SEP> Z=0
<tb> ZS <SEP> 0001 <SEP> Z=1
<tb> CC <SEP> 0010 <SEP> C=O
<tb> Ceci
<tb> NC <SEP> 0100 <SEP> N=0
<tb> NS <SEP> 0101 <SEP> N=l
<tb> OC <SEP> 0110 <SEP> 0=0
<tb> OS <SEP> 0111 <SEP> 0=1
<tb> UG <SEP> 1000 <SEP> > <SEP> (non <SEP> signé) <SEP> : <SEP> C=0 <SEP> et <SEP> 2=0
<tb> ULE <SEP> 1001 <SEP> < <SEP> (non <SEP> signé) <SEP> : <SEP> C= <SEP> ou <SEP> 2=1
<tb> SG <SEP> 1010 <SEP> > <SEP> (signé) <SEP> : <SEP> 2=0 <SEP> et <SEP> N=O
<tb> SGE <SEP> 1011 <SEP> (signé) <SEP> : <SEP> N=O
<tb> SL <SEP> 1100 <SEP> < <SEP> (signé) <SEP> : <SEP> N <SEP> ; <SEP> toO
<tb> SLE <SEP> 1101 <SEP> < <SEP> (signé) <SEP> : <SEP> Z=1 <SEP> ou <SEP> N#O
<tb> NCS <SEP> 1110 <SEP> N=I <SEP> et <SEP> C=I
<tb> MP <SEP> 1111 <SEP> Toujours
<tb>
10.2.2.3 - Déroulement de l'exécution d'un programme coprocesseur
The <SEP><SEP><SEP><SEP> conditions can <SEP> be <SEP> the following <SEP><SEP>:
<tb> Condition <SEP> Encoding <SEP> Details <SEP> of <SEP> The <SEP><SEP><SEP> condition
<tb> (cc) <SEP> (ÜÜ)
<tb> AC <SEP> 0000 <SEP> Z = 0
<tb> ZS <SEP> 0001 <SEP> Z = 1
<tb> CC <SEP> 0010 <SEP> C = O
<tb> This
<tb> NC <SEP> 0100 <SEP> N = 0
<tb> NS <SEP> 0101 <SEP> N = l
<tb> OC <SEP> 0110 <SEP> 0 = 0
<tb> OS <SEP> 0111 <SEP> 0 = 1
<tb> UG <SEP> 1000 <SEP>><SEP> (no <SEP> Signed) <SEP>: <SEP> C = 0 <SEP> and <SEP> 2 = 0
<tb> ULE <SEP> 1001 <SEP><SEP> (no <SEP> Signed) <SEP>: <SEP> C = <SEP> or <SEP> 2 = 1
<tb> SG <SEP> 1010 <SEP>><SEP> (signed) <SEP>: <SEP> 2 = 0 <SEP> and <SEP> N = O
<tb> SGE <SEP> 1011 <SEP> (signed) <SEP>: <SEP> N = O
<tb> SL <SEP> 1100 <SEP><<SEP> (signed) <SEP>: <SEP> N <SEP>;<SEP> toO
<tb> SLE <SEP> 1101 <SEP><<SEP> (signed) <SEP>: <SEP> Z = 1 <SEP> or <SEP> N # O
<tb> NCS <SEP> 1110 <SEP> N = I <SEP> and <SEP> C = I
<tb> MP <SEP> 1111 <SEP> Always
<Tb>
10.2.2.3 - How to run a coprocessor program

<Desc/Clms Page number 58><Desc / Clms Page number 58>

Au démarrage de la machine de niveau zéro, chaque bloc "TREE" 29 est installé en mémoire.  When starting the zero level machine, each "TREE" block 29 is installed in memory.

L'espace mémoire données requis pour les programmes coprocesseurs de chaque bloc"TREE" 29 est alloué, et les mots de cet espace sont initialisés avec la valeur 0. The data memory space required for the coprocessor programs of each "TREE" block 29 is allocated, and the words of this space are initialized with the value 0.

L'ensemble des programmes coprocesseurs d'un même bloc "TREE" 29 sont considérés comme étant mis bout à bout, de sorte qu'ils peuvent, si besoin, sauter vers des portions de code de programmes coprocesseurs n'appartenant pas à leur branche. Ils partagent donc le même espace mémoire programmes. The set of coprocessor programs of the same block "TREE" 29 are considered to be put end to end, so that they can, if necessary, jump to portions of code coprocessors programs not belonging to their branch . They therefore share the same memory space programs.

Lorsqu'un programme de niveau 0.4 parcours l'arbre pour accéder à un périphérique, il doit d'abord exécuter le programme d'autorisation du noeud courant pour vérifier si le parcours est valide. Si c'est le cas, alors le programme de parcours peut être exécuté avec éventuellement un paramètre transmis par l'intermédiaire des registres RO à R7. La branche est alors considérée comme parcourue. Le processus peut se répéter sur les noeuds suivants jusqu'à atteindre une feuille de l'arbre.

Figure img00580001
When a level 0.4 program traverses the tree to access a device, it must first run the authorization program of the current node to check if the path is valid. If this is the case, then the route program can be executed with possibly a parameter transmitted via the registers RO to R7. The branch is then considered as traveled. The process can be repeated on the following nodes until reaching a leaf of the tree.
Figure img00580001

Pour exécuter un programme coprocesseur, le programme de niveau 0. 4 fait appel à l'émulateur t > ZD 33 du coprocesseur de périphériques 28 en lui fournissant la localisation exacte des mémoires programmes et données du programme coprocesseur. Avant passage d'un éventuel paramètre, les registres RO à R7 ainsi que les indicateurs d'état sont dans un état indéterminé à chaque nouveau démarrage d'un programme coprocesseur. To execute a coprocessor program, the program of level 0. 4 uses the emulator t> ZD 33 of the coprocessor of peripherals 28 by supplying it the exact location of the program and data memories of the coprocessor program. Before passing a possible parameter, the registers RO to R7 and the status indicators are in an indeterminate state each time a new coprocessor program is started.

Lorsque le programme coprocesseur est terminé (par rencontre de l'instruction EOP), le programme de niveau 0.4 récupère un code de terminaison dans le registre R7 (et éventuellement d'autres paramètres dans les autres registres). When the coprocessor program is terminated (by encountering the EOP instruction), the program of level 0.4 retrieves a termination code in the register R7 (and possibly other parameters in the other registers).

S'il s'agit d'un programme d'autorisation, les valeurs du code de terminaison ont la signification conventionnelle suivante : "0"signifie l'interdiction d'accès au noeud, "$FFFF"signifie une autorisation inconditionnelle, les valeurs"I"à"$FFFD"indiquent une directive d'élagage, c'est-à-dire que l'accès n'est autorisé que pour le nombre de fois spécifié, et

Figure img00580002

la valeur"$FFFE"indique une directive d'élagage dont le nombre d'autorisations d'accès restant est supérieur ou égal à"$FFFE". If it is an authorization program, the values of the termination code have the following conventional meaning: "0" means the prohibition of access to the node, "$ FFFF" means an unconditional authorization, the values "I" to "$ FFFD" indicates a pruning directive, that access is only allowed for the specified number of times, and
Figure img00580002

the value "$ FFFE" indicates a pruning directive whose number of access permissions remaining is greater than or equal to "$ FFFE".

S'il s'agit d'un programme de parcours, la valeur 0 indique un succès du parcours. Toute autre valeur indique un numéro d'erreur mis à la disposition du niveau 0.4. If it is a course program, the value 0 indicates a success of the course. Any other value indicates an error number made available at level 0.4.

10. 2.2. 4-Insertion des programmes coprocesseurs dans l'arbre Chaque programme coprocesseur est inséré dans la description binaire du noeud pour lequel il est conçu. Un programme coprocesseur ne peut être inséré que dans les noeuds de l'arbre des périphériques appartenant à un"espace"de périphérique ("espace","dimension","coordonnée" ou "intensité"). rI ne peut y avoir qu'un programme de parcours et qu'un programme 10. 2.2. 4-Insert coprocessor programs in the tree Each coprocessor program is inserted into the binary description of the node for which it is designed. A coprocessor program can be inserted only in the nodes of the device tree belonging to a device "space" ("space", "dimension", "coordinate" or "intensity"). There can only be one course program and one program

<Desc/Clms Page number 59><Desc / Clms Page number 59>

d'autorisation par noeud, et chaque noeud d'un"espace"de périphérique peut contenir aucun, l'un, l'autre ou les deux programmes. L'absence d'un programme d'autorisation indique que le parcours du noeud concerné est toujours autorisé. Le noeud représentant f'espace"peut contenir en plus le programme d'interruption. Il ne peut y avoir qu'un seul programme d'interruption pour un"espace"de périphérique. L'absence d'un programme d'interruption signifie que le périphérique n'est pas capable de déclencher une interruption.  per node, and each node of a device "space" may contain none, either, or both programs. The absence of an authorization program indicates that the path of the node concerned is still authorized. The node representing space can additionally contain the interrupt program, there can only be one interrupt program for a device "space." The absence of an interrupt program means that the device is not able to trigger an interrupt.

1 0. 2, 3 - Les blocs "LINK" 26 Un bloc "LINK" 26 est spécifique d'une machine supports 23 et du périphérique pour lequel il est conçu. Il est constitué de quatre sous-programmes prévus pour s'interface avec le cartographe/énumérateur 25 : un d'initialisation, un de lecture, un d'écriture et un de détection d'interruption. Les trois premiers sous-programmes doivent pouvoir être appelés depuis le cartographe/énumérateur 25, avec transmission éventuelle de paramètres lors de leur appel ou à leur retour.  1 0. 2, 3 - "LINK" blocks 26 A "LINK" block 26 is specific to a support machine 23 and the device for which it is designed. It consists of four subroutines provided for interfacing with the mapping / enumerator 25: an initialization, a read, a write and an interrupt detection. The first three subprograms must be able to be called from the cartographer / enumerator 25, with possible transmission of parameters during their call or on their return.

Le premier est chargé d'initialiser le périphérique dont il a le contrôle afin de le placer dans un état connu permettant son utilisation. Dans cet état, le périphérique est prêt à être exploité, mais ne doit en aucun cas déclencher une interruption de la machine de niveau zéro. The first is responsible for initializing the device that it has control in order to place it in a known state for its use. In this state, the device is ready for operation, but should not trigger a zero level machine interrupt.

Le second et le troisième sont chargés d'établir le lien entre le périphérique de la machine support 23 et la machine de niveau zéro. Le second renvoie une donnée provenant directement ou indirectement du périphérique à la machine de niveau zéro par l'intermédiaire du cartographe/énumérateur 25. Le troisième récupère une donnée en provenance de la machine de niveau zéro par l'intermédiaire du cartographe/énumérateur 25, et l'envoie directement ou indirectement au périphérique. The second and the third are responsible for establishing the link between the device of the support machine 23 and the zero level machine. The second returns data directly or indirectly from the device to the zero level machine via the mapmaker / enumerator 25. The third retrieves data from the zero level machine via the mapmaker / enumerator 25. and send it directly or indirectly to the device.

Le quatrième sous-programme est installé mais désactivé par le sous-programme d'initialisation, et appelle le cartographe/énumérateur 25 en cas de déclenchement d'une interruption par le périphérique afin qu'elle soit prise en compte. Il est activé par le programme coprocesseur de parcours du noeud représentant f'espace". The fourth routine is installed but disabled by the initialization routine, and calls the mapping / enumerator 25 if an interrupt is triggered by the device to be taken into account. It is activated by the path coprocessor program of the node representing "space".

Un bloc "LINK" 26 doit disposer d'un protocole d'échange de données avec ses sousprogrammes, compatible avec le protocole des programmes coprocesseurs du bloc"TREE"29 associé. A "LINK" block 26 must have a data exchange protocol with its sub-programs, compatible with the protocol of the coprocessor programs of the associated "TREE" block 29.

Tous les blocs "LINK" 26 correspondant à une machine support 23 particulière doivent suivre les même conventions d'interface avec le cartographe/énumérateur 25 (exemple : localisation et appel des quatre sous-programmes, passage des paramètres, etc.). All the "LINK" blocks 26 corresponding to a particular support machine 23 must follow the same conventions of interface with the cartographer / enumerator 25 (example: locating and calling the four subroutines, passing parameters, etc.).

10.2. 4-Les blocs"TREE"29 Un"espace"de périphérique est encodé dans un bloc "TREE" 29 sous la forme d'une suite de mots 16 bits dont l'organisation reflète la hiérarchie des noeuds dans f'espace". Pour décrire cette organisation, certaines notions sont indispensables. 10.2. 4-The "TREE" blocks 29 A device "space" is encoded in a "TREE" block 29 in the form of a sequence of 16-bit words whose organization reflects the hierarchy of the nodes in "space". describe this organization, certain notions are essential.

<Desc/Clms Page number 60> <Desc / Clms Page number 60>

10. 2.4. 1 - Notions préalables à l'encodage des blocs"TREE"29 Un bloc "TREE" 29 est une succession de"champs"de données. Un champ est un groupe de mots participant à l'expression d'une même information. Tout champ de données est organisé selon un format particulier. 10. 2.4. 1 - Notions prior to the encoding of the "TREE" blocks 29 A "TREE" block 29 is a succession of "fields" of data. A field is a group of words participating in the expression of the same information. Any data field is organized in a particular format.

Un mot de 16 bits seul ne permet d'exprimer que des valeurs d'amplitude limitée. Certaines valeurs incluses dans la description d'un bloc "TREE" 29 ne peuvent pas être exprimées sur 16 bits seulement. Un champ de données de taille fixe pour l'expression des valeurs n'est pas adapté car il peut s'avérer trop petit dans certains cas, ou occuper une place inutile pour représenter des valeurs faibles. Ainsi, pour concilier une occupation mémoire minimale avec une largeur de codage pouvant être importante, certaines valeurs sont encodées sous la forme d'un champ de taille variable. On parle de"codage graduel".

Figure img00600001
A 16-bit word alone can only express limited amplitude values. Some values included in the description of a "TREE" block 29 can not be expressed in 16 bits only. A fixed-size data field for the expression of values is not suitable because it may be too small in some cases, or take up a useless place to represent low values. Thus, to reconcile a minimum memory occupation with a coding width that may be important, certain values are encoded as a variable size field. We speak of "gradual coding".
Figure img00600001

Chaque caractéristique élémentaire correspond à une"coordonnée". Certaines caractéristiques élémentaires peuvent être classées dans des grands types physiques ou symboliques. Le type d'une caractéristique élémentaire est encodé dans le champ représentant le noeud"coordonnée" correspondant. Each elemental characteristic corresponds to a "coordinate". Some basic features can be classified into large physical or symbolic types. The type of an elementary characteristic is encoded in the field representing the corresponding "coordinate" node.

La modélisation des périphériques conduit souvent à des ensembles de noeuds de même niveau hiérarchique (exemple :"intensités") et de même type. Plutôt que d'encoder chaque noeud individuellement, on utilise un encodage factorisant, afin d'économiser de la mémoire. On parle de"répétition de noeud". Device modeling often leads to sets of nodes of the same hierarchical level (example: "intensities") and of the same type. Rather than encode each node individually, we use factorizing encoding, in order to save memory. We are talking about "node repetition".

Dans certains cas, des périphériques différents modélisés séparément ont un fonctionnement interdépendant : on parle de"périphériques interdépendants". Il y a donc nécessité de présenter ces périphériques dans un même bloc "TREE" 29 pour que les programmes coprocesseurs puissent partager la même mémoire données et ainsi gérer cette interdépendance. In some cases, different devices modeled separately have interdependent operation: we speak of "interdependent peripherals". It is therefore necessary to present these devices in a single "TREE" block 29 so that the coprocessor programs can share the same data memory and thus manage this interdependence.

10.2. 4. 2-Formats des champs de base Ces champs sont fréquemment utilisés dans la description des noeuds des blocs"TREE"29. 10.2. 4. 2-Formats of the basic fields These fields are frequently used in the description of the nodes of the "TREE" blocks 29.

Nombres Nous distinguons deux catégories de nombres : les nombres simples et les nombres"graduels". Numbers We distinguish two categories of numbers: simple numbers and "gradual" numbers.

Un nombre graduel peut prendre deux valeurs spéciales : l'infini et le nombre inconnu. A gradual number can take two special values: the infinite and the unknown number.

Un nombre simple est une valeur positive comprise entre 0 et 65535. Il est directement encodé dans un champ SIMP d'une taille de un mot.

Figure img00600002
A simple number is a positive value between 0 and 65535. It is directly encoded in a SIMP field of a size of a word.
Figure img00600002

| Valeur Champ SIMP

Figure img00600003

Une valeur positive susceptible de ne pas pouvoir être encodée par un nombre simple est représentée par un nombre graduel, encodé dans un champ"GRAD"occupant plusieurs mots. Ce champ est composé d'un mot indiquant le nombre de fenêtres (i. e. le nombre de mots de 16 bits) | SIMP field value
Figure img00600003

A positive value that may not be encoded by a simple number is represented by a gradual number, encoded in a "GRAD" field occupying several words. This field consists of a word indicating the number of windows (ie the number of 16-bit words)

<Desc/Clms Page number 61><Desc / Clms Page number 61>

sur lesquelles est encodée la valeur. Les mots représentant cette valeur suivent du mot de plus fort poids au mot de plus faible poids.  on which is encoded the value. The words representing this value follow from the word of greatest weight to the word of least weight.

Si le mot représentant le nombre de fenêtres vaut $FFFF, alors le nombre est considéré comme infini. De même, si ce mot vaut 0, alors le nombre est considéré comme inconnu : sa valeur est variable et peut être éventuellement déterminée par un autre moyen. Dans ces deux cas, le champ GRAD ne comporte que ce mot.

Figure img00610001
If the word representing the number of windows is $ FFFF, then the number is considered infinite. Similarly, if this word is 0, then the number is considered unknown: its value is variable and may be determined by some other means. In both cases, the GRAD field contains only this word.
Figure img00610001

Nombre de Fenêtre de Fenêtre de fenêtres poids fort poids faible Champ GRAD Programmes coprocesseurs Un programme coprocesseur est encodé dans un champ appelé"PCP". Ce champ est la

Figure img00610002

succession des mots constituant le programme coprocesseur. Le mot suivant le dernier mot du programme prend la valeur réservée $6FFF, indiquant la fin du champ.
Figure img00610003
Number of Window Window Wt Wt Low GRAD Field Coprocessor Programs A coprocessor program is encoded in a field called "PCP". This field is the
Figure img00610002

succession of words constituting the coprocessor program. The word following the last word of the program takes the reserved value $ 6FFF, indicating the end of the field.
Figure img00610003

11er 2"""'mot... Dernier mot $6FFF Champ PCP'--

Figure img00610004

Le champ PCPA représente un programme d autonsatton, te champ PCPP représente un programme de parcours, et le champ"PCPI"représente un programme d'interruption. 11er 2 """'word ... Last word $ 6FFF PCP field' -
Figure img00610004

The PCPA field represents a program of autonsatton, the field PCPP represents a program of course, and the field "PCPI" represents an interrupt program.

Types physiques ou symboliques Les noeuds"coordonnées"indiquent le type physique ou symbolique de la caractéristique élémentaire qu'ils représentent. Un type est encodé par une valeur conventionnelle stockée dans

Figure img00610005

un champ appelé"TYP"occupant un mot de 16 bits. Les 8 bits de poids fort du mot indiquent la grande catégorie du type, les 8 bits de poids faible précisent cette catégorie. Physical or symbolic types The "coordinate" nodes indicate the physical or symbolic type of the elementary characteristic that they represent. A type is encoded by a conventional value stored in
Figure img00610005

a field called "TYP" occupying a 16-bit word. The 8 most significant bits of the word indicate the big category of the type, the 8 bits of low weight specify this category.

Le tableau ci-après présente le codage des catégories et sous-catégories principales. The table below shows the coding of the main categories and subcategories.

La catégorie de code 0 indique un type inconnu. Une sous-catégorie de code 0 indique que seule la catégorie est connue.

Figure img00610006
Code category 0 indicates an unknown type. A subcategory of code 0 indicates that only the category is known.
Figure img00610006

<tb>
<tb>
<Tb>
<Tb>

Catégorie <SEP> physique <SEP> ou <SEP> Sous-catégorie <SEP> Codage
<tb> symbolique
<tb> Temps <SEP> $0101
<tb> Espace <SEP> X <SEP> : <SEP> horizontalement <SEP> par <SEP> rapport <SEP> à <SEP> l'observateur <SEP> $0201
<tb> Y <SEP> : <SEP> verticalement <SEP> par <SEP> rapport <SEP> à <SEP> l'observateur <SEP> $0202
<tb> Z <SEP> : <SEP> perpendiculaire <SEP> au <SEP> plan <SEP> défini <SEP> par <SEP> X <SEP> et <SEP> Y <SEP> $0203
<tb> AX <SEP> : <SEP> variation <SEP> de <SEP> position <SEP> selon <SEP> X <SEP> $0211
<tb> AY <SEP> : <SEP> variation <SEP> de <SEP> position <SEP> selon <SEP> Y <SEP> $0212
<tb> #Z <SEP> variation <SEP> de <SEP> position <SEP> selon <SEP> Z <SEP> $0213
<tb> Information <SEP> digitale <SEP> Stockage <SEP> en <SEP> lecture <SEP> $0301
<tb>
Physical <SEP> Category <SEP> or <SEP> Subcategory <SEP> Encoding
<tb> symbolic
<tb> Time <SEP> $ 0101
<tb> Space <SEP> X <SEP>: <SEP> horizontally <SEP> by <SEP> report <SEP> to <SEP> the observer <SEP> $ 0201
<tb> Y <SEP>: <SEP> vertically <SEP> by <SEP> report <SEP> to <SEP> the observer <SEP> $ 0202
<tb> Z <SEP>: <SEP> perpendicular <SEP> to <SEP> plan <SEP> set <SEP> with <SEP> X <SEP> and <SEP> Y <SEP> $ 0203
<tb> AX <SEP>: <SEP> variation <SEP> of <SEP> position <SEP> according to <SEP> X <SEP> $ 0211
<tb> AY <SEP>: <SEP> variation <SEP> of <SEP> position <SEP> according to <SEP> Y <SEP> $ 0212
<tb>#Z<SEP> variation <SEP> of <SEP> position <SEP> according to <SEP> Z <SEP> $ 0213
<tb> Information <SEP> digital <SEP> Storage <SEP> in <SEP> read <SEP> $ 0301
<Tb>

<Desc/Clms Page number 62> <Desc / Clms Page number 62>

Figure img00620001
Figure img00620001

<tb>
<tb> Stockage <SEP> volatil <SEP> en <SEP> lecture/écriture <SEP> $0302
<tb> Stockage <SEP> non <SEP> volatil <SEP> en <SEP> lecutre/écriture <SEP> $0303
<tb> Transfert <SEP> en <SEP> lecture <SEP> $0310
<tb> Transfert <SEP> en <SEP> écriture <SEP> $0311
<tb> Onde <SEP> électro-magnétique <SEP> Ajout <SEP> d'un <SEP> spectre <SEP> lumineux <SEP> $0401
<tb> Filtrage <SEP> d'un <SEP> spectre <SEP> lumineux <SEP> $0440
<tb> Émission <SEP> de <SEP> rouge <SEP> $0402
<tb> Émission <SEP> de <SEP> vert <SEP> $0403
<tb> Émission <SEP> de <SEP> bleu <SEP> $0404
<tb> Filtrage <SEP> cyan <SEP> $0441
<tb> Filtrage <SEP> magenta <SEP> $0442
<tb> Filtrage <SEP> jaune <SEP> $0443
<tb> Filtrage <SEP> noir <SEP> $0444
<tb> Vibration <SEP> dans <SEP> un <SEP> milieu <SEP> Son <SEP> $0501
<tb> matériel
<tb> Manipulation <SEP> de <SEP> matériau <SEP> Ajout <SEP> de <SEP> matière <SEP> $0601
<tb> Retrait <SEP> de <SEP> matière <SEP> $0602
<tb> Caractère <SEP> cu <SEP> ! <SEP> ture <SEP> ! <SEP> ou <SEP> ASCH <SEP> 7 <SEP> bits <SEP> $0701
<tb> symbolique <SEP> UNICODE <SEP> $0702
<tb> Caractéristique <SEP> symbolique <SEP> Code <SEP> d'erreur <SEP> $0801
<tb> Touches <SEP> de <SEP> clavier <SEP> $0802
<tb> Bouton <SEP> $0901
<tb>
<Tb>
<tb> Storage <SEP> volatile <SEP> in <SEP> read / write <SEP> $ 0302
<tb> Storage <SEP> no <SEP> volatile <SEP> in <SEP> lecrease / write <SEP> $ 0303
<tb> Transfer <SEP> in <SEP> read <SEP> $ 0310
<tb> Transfer <SEP> to <SEP> Write <SEP> $ 0311
<tb> Electro-Magnetic <SEP> Wave <SEP> Adding <SEP> a <SEP> Spectrum <SEP> Luminous <SEP> $ 0401
<tb><SEP> Filtering of a <SEP> Spectrum <SEP> Bright <SEP> $ 0440
<tb> Issuing <SEP> of <SEP> Red <SEP> $ 0402
<tb><SEP> Issue of <SEP> Green <SEP> $ 0403
<tb> Issuing <SEP> of <SEP> blue <SEP> $ 0404
<tb> Filtering <SEP> cyan <SEP> $ 0441
<tb> Filtering <SEP> magenta <SEP> $ 0442
<tb> Filtering <SEP> yellow <SEP> $ 0443
<tb> Filtering <SEP> Black <SEP> $ 0444
<tb> Vibration <SEP> in <SEP> a <SEP> Medium <SEP> Sound <SEP> $ 0501
<tb> hardware
<tb> Manipulation <SEP> of <SEP> material <SEP> Adding <SEP> of <SEP> material <SEP> $ 0601
<tb> Remove <SEP> from <SEP> Matter <SEP> $ 0602
<tb> Character <SEP> cu <SEP>! <SEP> ture <SEP>! <SEP> or <SEP> ASCH <SEP> 7 <SEP> bits <SEP> $ 0701
<tb> symbolic <SEP> UNICODE <SEP> $ 0702
<tb> Characteristic <SEP> symbolic <SEP> Code <SEP> of error <SEP> $ 0801
<tb><SEP> keys of <SEP> keyboard <SEP> $ 0802
<tb><SEP> button $ 0901
<Tb>

Figure img00620002

Type Champ TYP dz
Figure img00620003

Identificateur d"'hyperespace" Le numéro identifiant l "'hyperespace" auquel appartient un"espace"est encodé par un champ "HYP"d'une taille de un mot. Un champ HYP prend la valeur : "$FFFF"pour f'hyperespace"des périphériques d'échange en sortie.
Figure img00620002

Type Field TYP dz
Figure img00620003

Hyperspace identifier The number identifying the "hyperspace" to which a "space" belongs is encoded by a "HYP" field of a size of a word. A HYP field takes the value: "$ FFFF" for the "hyperspace" of the output exchange devices.

"$8000"pour f'hyperespace"des périphériques d'échange en entrée. "$ 8000" for hyperspace "input exchange devices.

"0" pour l "'hyperespace" des périphériques de conservation non adressables. "0" for the "hyperspace" of non-addressable storage devices.

"I"pour l"'hyperespace"des peripheriques de conservation adressables.

Figure img00620004
"I" for the "hyperspace" of addressable preservation devices.
Figure img00620004

? d"'hyperespace" Champ HYP yperespace"

Figure img00620005

Fin de descnption d'''espace''de périphérique ? d "hyperspace" Field HYP yperespace "
Figure img00620005

End of 'peripheral' space clearance

<Desc/Clms Page number 63><Desc / Clms Page number 63>

Le champ"FEP", d'une taille de un mot, indique la fin d'une succession de descriptions de noeuds (fin d'un champ EP).

Figure img00630001
The field "FEP", of a size of a word, indicates the end of a succession of descriptions of nodes (end of a field EP).
Figure img00630001

$FFFF Champ FEP / Somme de contrôle

Figure img00630002

Le champ"CRC", d'une taille de un mot, représente une somme de contrôle permettant de vérifier l'intégrité d'un bloc "TREE" 29.
Figure img00630003
$ FFFF Field FEP / Checksum
Figure img00630002

The field "CRC", of a size of a word, represents a checksum making it possible to check the integrity of a block "TREE" 29.
Figure img00630003

Somme de contrôle Champ CRC---Y-i

Figure img00630004

10. 2. 4. 3-Formats des champs encodant les noeuds Les noeuds représentant un"espace", une"dimension", une"coordonnée", ou une"intensité"sont encodés dans des champs spécifiques. Checksum CRC Field --- Yi
Figure img00630004

10. 2. 4. 3-Formats of the fields encoding the nodes The nodes representing a "space", a "dimension", a "coordinate", or an "intensity" are encoded in specific fields.

Chaque champ représentant un noeud débute par un champ"ENT". Un tel champ inclus un mot "RNH", suivi éventuellement d'un champ GRAD. Les trois bits de poids faible du mot RNH, appelés"NH", identifient le niveau hiérarchique du noeud. Si le bit de poids fort"R"du mot RNH est levé, alors le noeud décrit est répété. Les autres bits du mot RNH doivent être baissés. Le champ GRAD n'apparaît que si le noeud est répété. Il correspond au nombre de répétitions du champ représentant le noeud répété.

Figure img00630005
Each field representing a node starts with an "ENT" field. Such a field includes a word "RNH", possibly followed by a GRAD field. The three least significant bits of the word RNH, called "NH", identify the hierarchical level of the node. If the most significant bit "R" of the word RNH is raised, then the described node is repeated. The other bits of the word RNH must be dropped. The GRAD field appears only if the node is repeated. It corresponds to the number of repetitions of the field representing the repeating node.
Figure img00630005

OOOOOOOOOOOOONH Champ ENT représentant un noeud nonet IOOOOOOOOOOOONH GRAD 1 Champ ENT représentant un necu,,, "intensité"

Figure img00630006

Format du champ NI représentant un noeud"intensité". OOOOOOOOOOOOONH Field ENT representing a node nonet IOOOOOOOOOOOONH GRAD 1 Field ENT representing a necu ,,, "intensity"
Figure img00630006

NI field format representing an "intensity" node.

NH = 0 dans le champ ENT.

Figure img00630007
NH = 0 in the ENT field.
Figure img00630007

ENT PCPA PCPP Champ NI "V" "coordonnée" Format du champ NC représentant un noeud"coordonnée". ENT PCPA PCPP NI Field "V" "coordinate" Format of the NC field representing a "coordinated" node.

NH = 1 dans le champ ENT.

Figure img00630008
NH = 1 in the ENT field.
Figure img00630008

ENT ITYP IPCPA PCPP Champ NC "dimension"

Figure img00630009

Format du champ ND représentant un noeud"dimension". ENT ITYP IPCPA PCPP NC field "dimension"
Figure img00630009

Format of the ND field representing a "dimension" node.

NH = 2 dans le champ ENT. NH = 2 in the ENT field.

<Desc/Clms Page number 64> <Desc / Clms Page number 64>

Figure img00640001
Figure img00640001

ENT PCPA PCPP Champ ND "espace"

Figure img00640002

Format du champ NE représentant un noeud"espace". ENT PCPA PCPP ND field "space"
Figure img00640002

Format of the NE field representing a "space" node.

*NH = 3 dans le champ ENT.

Figure img00640003
* NH = 3 in the ENT field.
Figure img00640003

ENT HYP PCP ! PCPA PCPP Champ NE 10. 2. 4. 4-Encodage del'ensemble de '"'espace"de périphérique Les noeuds de '"'espace"de périphérique sont décrits les uns à la suite des autres, dans l'ordre de parcours de l'arbre communément appelé" en profondeur d'abord". La figure 16 présente le parcours en profondeur d'abord d'un exemple d"'espace"de périphérique. Les numéros indiquent l'ordre dans lequel les noeuds sont rencontrés. ENT HYP PCP! PCPA PCPP Field NE 10. 2. 4. 4-Encoding Device Set "" "Space" Peripheral "" device "nodes are described one after the other in order of routing of the tree commonly called "deep first". Figure 16 shows the first step in depth of an example device "space". The numbers indicate the order in which the nodes are encountered.

Les noeuds de"dimensions", de"coordonnées"et d'"intensités"doivent si possible être présentés selon un ordre conventionnel. The nodes of "dimensions", "coordinates" and "intensities" should if possible be presented in a conventional order.

La description ordonnée de l'ensemble des noeuds d'un"espace"de périphérique est un champ nommé"EP", terminé par un champ"FEP".

Figure img00640004
The ordered description of all the nodes of a device "space" is a field named "EP", terminated by a "FEP" field.
Figure img00640004

NE (1) ND (2) NC (3) NI (4) NI (5) NI (6) NC (7) NI (8) NI (9) ND (IO) NC (II) NC (12) NC (1 3) FEP BRamp EP correspondant à l'exemple de la fig. 16 10. 2. 4. 5-Encodage d'un bloc TREE 29

Figure img00640005

Un bloc "TREE" 29 comporte un en-tête"EBT", un champ NS indiquant le nombre d''espaces" de périphériques, la description du ou des "espace (s) " de périphérique (s) interdépendant (s) EP, et enfin une somme de contrôle CRC calculée sur l'ensemble du bloc "TREE" 29, et permettant de vérifier l'intégrité des données du bloc. NE (1) ND (2) NC (3) NI (4) NI (5) NI (6) NC (7) NI (8) NI (9) ND (IO) NC (II) NC (12) NC 1 3) FEP BRamp EP corresponding to the example of FIG. 16 10. 2. 4. 5-Encoding a TREE Block 29
Figure img00640005

A "TREE" block 29 comprises an "EBT" header, an NS field indicating the number of "spaces" of peripherals, the description of the "space (s)" of the interdependent peripheral device (s). , and finally a CRC checksum calculated over the entire block "TREE" 29, and to verify the integrity of the block data.

L'entête EBT est un champ d'une taille de un mot dont les ! bits de poids fort sont initialisés avec la valeur standard binaire 1010 1011001, permettant d'identifier un bloc "TREE" 29. Les 5

Figure img00640006

bits de poids faible contiennent l'exposant P de la puissance de 2 indiquant la taille de la mémoire données qui doit être réservée pour l'exécution des programmes coprocesseurs du bloc. Ces 5 bits peuvent prendre les valeurs 0 à $10. La valeur $1 F signifie que la mémoire données est absente.
Figure img00640007
The EBT header is a field of a size of a word whose! most significant bits are initialized with the binary standard value 1010 1011001, making it possible to identify a block "TREE" 29. The 5
Figure img00640006

bits of low weight contain the exponent P of the power of 2 indicating the size of the data memory which must be reserved for the execution of the coprocessor programs of the block. These 5 bits can take the values 0 to $ 10. The value $ 1 F means that the given memory is missing.
Figure img00640007

I lool lp : 1 Champ EBT < V

Figure img00640008

Le champ NS vaut ! a ptupart du temps 1 car les périphériques interdépendants sont très peu fréquents. La valeur 0 est interdite pour NS. Le format d'un bloc "TREE" 29 est le suivant. I lool lp: 1 EBT field <V
Figure img00640008

The NS field is worth! over time 1 because interdependent devices are very infrequent. The value 0 is forbidden for NS. The format of a "TREE" block 29 is as follows.

<Desc/Clms Page number 65> <Desc / Clms Page number 65>

Figure img00650001
Figure img00650001

&verbar;EBT l NS &verbar; EP &verbar;-&verbar; EP &verbar; CRC IEBT INS EP... EP CRC Bloc ! 0. 2. 5-Le cartographe/énumérateur 25

Figure img00650002

Le cartographe/énumérateur 25 fait partie, avec l'émulateur du processeur de niveau zéro et les blocs "LINK" 26, des trois modules que l'on doit obligatoirement programmer pour la machine support 23 afin d'obtenir une machine de niveau zéro fonctionnelle. La création des blocs "TREE"29 correspondant (et éventuellement des blocs"FEXT") est également à faire si les périphériques de la machine support 23 n'ont jamais été modélisés. &verbar; EBT l NS &verbar; EP &verbar; - &verbar; EP &verbar; CRC IEBT INS EP ... EP CRC Block! 0. 2. 5-The cartographer / enumerator 25
Figure img00650002

The cartographer / enumerator 25 is, together with the emulator of the zero level processor and the "LINK" blocks 26, of the three modules that must be programmed for the support machine 23 in order to obtain a functional level zero machine. . The creation of corresponding "TREE" blocks 29 (and possibly "FEXT" blocks) is also to be done if the peripherals of the support machine 23 have never been modeled.

10. 2.5. 1-Principe de fonctionnement Le cartographe/énumérateur 25 est la base du système de gestion des périphériques de la Machine

Figure img00650003

Universelle. Il établi le lien entre le registre "MER" 27 (et l'interruption de la machine 21 de niveau 0.4) d'une part et les blocs "LINK" 26 et "TREE" 29 d'autre part. 10. 2.5. 1-Principle of operation Cartographer / Enumerator 25 is the basis of the Machine's Device Management System
Figure img00650003

Universal. It establishes the link between the register "MER" 27 (and the interruption of the machine 21 level 0.4) on the one hand and the blocks "LINK" 26 and "TREE" 29 on the other hand.

Le cartographe/énumérateur 25 assure plusieurs fonctions : il installe les blocs "LINK" 26 sur la machine support 23, y compris son propre bloc "LINK" 26 permettant sa réinitialisation (par appel du sous-programme d'initialisation). Il appelle les sousprogrammes d'initialisation de ces blocs ; il met à disposition des programmes de niveau zéro quatre commandes permettant l'accès aux blocs "LINK" 26, plus une commande qui transmet le contenu des blocs "TREE" 29 disponibles sur la machine support 23 à la machine de niveau zéro ; il gère les demandes d'interruptions émises par les périphériques par l'intermédiaire des blocs "LINK"26 et les transmet à la machine de niveau zéro sur requête de cette dernière. The cartographer / enumerator 25 performs several functions: it installs the "LINK" blocks 26 on the support machine 23, including its own "LINK" block 26 allowing it to be reset (by calling the initialization routine). It calls the initialization subprograms of these blocks; it provides level zero programs with four commands allowing access to the "LINK" blocks 26, plus a command that transmits the contents of the "TREE" blocks 29 available on the support machine 23 to the zero level machine; it manages the requests for interrupts sent by the peripherals via the "LINK" blocks 26 and transmits them to the zero level machine at the request of the latter.

10.2. 5. 2 - Fonctionnement détaillé La machine de niveau zéro et le cartographe/énumérateur 25 dialoguent exclusivement par l'intermédiaire du registre"MER"27 (et du mécanisme d'interruption en niveau 0. 4). Un programme de niveau zéro doit respecter les protocoles d'utilisation des commandes, sous peine de déclencher l'exception. 10.2. 5. 2 - Detailed Operation The zero level machine and the mapmaker / enumerator 25 interact exclusively through the "MER" register 27 (and the interrupt mechanism at level 0. 4). A zero-level program must adhere to the command usage protocols, otherwise the exception will be thrown.

Lorsqu'une commande du cartographe/énumérateur 25 est en cours, elle doit d'abord être terminée pour pouvoir exécuter une autre commande. Seule l'exception peut interrompre une commande à tout moment. Lorsque le cartographe/énumérateur 25 n'exécute pas une commande, il attend un numéro de commande à exécuter et peut transmettre sur requête du programme de niveau zéro le numéro d'un périphérique ayant demandé une interruption. When a command from the cartographer / enumerator 25 is in progress, it must first be terminated in order to execute another command. Only the exception can interrupt an order at any time. When the cartographer / enumerator 25 does not execute a command, he waits for a command number to be executed and can transmit on request of the zero level program the number of a device having requested an interruption.

Lorsque le cartographe/énumérateur 25 transmet le numéro du périphérique à l'origine d'une interruption par le registre"MER"27, une interruption est déclenchée en niveau 0.4. Lorsque aucune interruption n'est en attente, le numéro transmis a pour valeur $FFFF (et aucune interruption n'est déclenchée en niveau 0.4). When the cartographer / enumerator 25 transmits the number of the device causing an interruption by the "MER" register 27, an interrupt is triggered at level 0.4. When no interrupt is pending, the transmitted number is $ FFFF (and no interrupt is triggered at level 0.4).

Les cinq commandes accessibles sont : The five accessible commands are:

<Desc/Clms Page number 66><Desc / Clms Page number 66>

l'initialisation du bloc "LINK" 26 sélectionné (commande 0), la sélection d'un bloc "LINK" 26 (commande 1), l'écriture d'un mot vers le bloc "LINK" 26 sélectionné (commande 2), la lecture d'un mot depuis le bloc"LINK"26 sélectionné (commande 3), et la lecture des blocs "TREE" 29 (commande 4).  the initialization of the "LINK" block 26 selected (command 0), the selection of a "LINK" block 26 (command 1), the writing of a word to the selected "LINK" block 26 (command 2), the reading of a word from the block "LINK" 26 selected (command 3), and reading blocks "TREE" 29 (command 4).

Sur exécution de la commande de lecture des blocs "TREE" 29, le cartographe/énumérateur 25 présente alors les blocs "TREE" 29 les uns à la suite des autres, découpés en tranches de 128 mots. Chaque tranche débute par un mot indiquant si la tranche est la première d'un bloc"TREE" 29 (code $DEBE) ou non (code $CEAB), ou bien si la dernière tranche du dernier bloc"TREE" 29 a été renvoyée (code $FEDB). Toute autre valeur pour ce mot est interdite. Le

Figure img00660001

cartographe/énumérateur 25 numérote chaque bloc "TREE" 29 envoyé en partant de 1 et en z ajoutant 1 à chaque nouveau bloc "TREE" 29 envoyé. La valeur 0 désigne systématiquement le cartographe/énumérateur 25 lui-même. On execution of the read command of the blocks "TREE" 29, the cartographer / enumerator 25 then presents the blocks "TREE" 29 one after the other, cut into slices of 128 words. Each slice begins with a word indicating whether the slice is the first of a "TREE" block 29 ($ DEBE code) or not ($ CEAB code), or if the last slice of the last "TREE" block 29 has been returned (code $ FEDB). Any other value for this word is prohibited. The
Figure img00660001

Cartographer / Enumerator 25 numbers each "TREE" block 29 sent starting from 1 and adding 1 to each new "TREE" block 29 sent. The value 0 consistently designates the cartographer / enumerator 25 itself.

Au démarrage de la machine de niveau zéro, le périphérique zéro (cartographe/énumérateur 25) est sélectionné par défaut. When starting the zero level machine, the zero device (cartographer / enumerator 25) is selected by default.

10. 2. 5. 3-Algorithme de fonctionnement Le cartographe/énumérateur 25 se compose de cinq sous-programmes, appelés par l'émulateur du processeur de niveau zéro ou par les blocs "LINK" 26. 10. 2. 5. 3-Algorithm of operation The cartographer / enumerator 25 is composed of five subroutines, called by the emulator of the processor of level zero or by the blocks "LINK" 26.

Initialisation : MAXPERIPH < -0 Attribution d'une première adresse de base dans la mémoire de la machine support 23.

Figure img00660002
Initialization: MAXPERIPH <-0 Assignment of a first base address in the memory of the support machine 23.
Figure img00660002

Pour chaque bloc LINK détecté (dans la limite de 32767 blocs LINK) MAXPERIPH < -MAXPERIPH + 1 A partir de l'adresse de base d'installation du bloc LINK dans la mémoire de la machine support 23 : Sauvegarde MAXPERIPH Sauvegarde l'adresse du sous-programme du Cartographe/Enumérateur que le bloc LINK doit appeler en cas d'interruption (mise dans la file d'attente). For each detected LINK block (up to 32767 LINK blocks) MAXPERIPH <-MAXPERIPH + 1 From the LINK block base installation address in the memory of the support machine 23: MAXPERIPH Backup Saves the address of the LINK block subprogram of the Cartographer / Enumerator that the LINK block must call in the event of an interruption (queuing).

Lis le bloc LINK Appelle le sous-programme d'initialisation du bloc LINK Si l'initialisation a échoué MAXPERIPH f- MAXPERIPH - 1 Sinon Sauvegarde l'adresse de base dans la liste des blocs LINK (située dans l'espace d'adressage de la machine support 23). Read the LINK block Call the LINK block initialization subroutine If the initialization failed MAXPERIPH f- MAXPERIPH - 1 Otherwise Save the base address in the LINK block list (located in the address space of the LINK block the support machine 23).

<Desc/Clms Page number 67><Desc / Clms Page number 67>

Sauvegarde l'identificateur dans la liste des blocs LINK (exemple : le nom du fichier contenant le bloc LINK).  Save the identifier in the list of LINK blocks (example: the name of the file containing the LINK block).

Attribution d'une nouvelle adresse de base dans la mémoire de la machine support 23. Assignment of a new base address in the memory of the support machine 23.

NUMPERIPH < -0 (Retour de sous-programme)

Figure img00670001

Réinitialisation : ETAPE < -0 {Etat par défaut : attente de commande} Ferme un éventuel bloc "TREE" 29 ouvert par la commande 4. NUMPERIPH <-0 (Return of subroutine)
Figure img00670001

Reset: STEP <-0 {Default state: wait for command} Closes any "TREE" block 29 opened by command 4.

(Retour de sous-programme) Sauvegarde d'interruption en attente {Sous-programme appelé par les "LINK" 26 sur interrupt.} Ajout du numéro d'interruption dans la file des interruptions en attente. (Subroutine return) Pending interrupt backup {Subroutine called by "LINK" 26 on interrupt.} Addition of the interrupt number in the queue of pending interrupts.

(Retour de sous-programme) Lecture : Si ETAPE = 0 {Attente de commande} Si une interruption est présente dans la file d'attente MER e Numéro du premier périphérique de la file d'attente des interruptions. (Return of subroutine) Reading: If STEP = 0 {Waiting for command} If an interrupt is present in the queue MER e Number of the first device of the interrupt queue.

Retirer l'interruption traitée de la file d'attente.  Remove the processed interrupt from the queue.

Dans le cas d'un processeur de niveau 0.4 : saut à l'interruption
Sinon
MER # $FFFF Si ETAPE = 1
Si COMMANDE < 3
Saut à l'exception Si COMMANDE = 3 "MER" 27 reçoit la valeur renvoyée par le sous-programme d'entrée du"LINK"26 n NUMPERIPH ETAPE < -0
Si COMMANDE = 4
Si PREMIERE = 1
Si NUMLINK > MAXPERIPH
MER # $FEDB
ETAPE 0
Sinon Ouvrir le bloc "TREE" 29 associé au bloc "LINK" 26 nONUMLINK (par son identificateur)
TREEOFFSET < -1
In the case of a level 0.4 processor: interrupt jump
If not
SEA # $ FFFF If STEP = 1
If COMMAND <3
Jump to Exception If COMMAND = 3 "MER" 27 receives the value returned by the input subroutine of "LINK" 26 n NUMPERIPH STEP <-0
If COMMAND = 4
If PREMIERE = 1
If NUMLINK> MAXPERIPH
SEA # $ FEDB
STEP 0
Otherwise Open the "TREE" block 29 associated with the "LINK" block 26 nONUMLINK (by its identifier)
TREEOFFSET <-1

<Desc/Clms Page number 68> <Desc / Clms Page number 68>

PREMIERE # 0 MER # $DEBE Sinon si TREEOFFSET = 0
TREEOFFSET # 1 MER # $CEAB Sinon
MER < -Prochain mot dans le bloc "TREE" 29 ouvert
Si TREEOFFSET < 128
TREEOFFSET e TREEOFFSET + 1
Sinon
Si Fin de bloc TREE
Fermer le bloc TREE

Figure img00680001

NUMLINK -NUMLINK + 1
PREMIERE ex
Sinon TREEOFFSET 0 (retour de sous-programme) Ecriture : Si ETAPE = 0 {Attente de commande}
COMMANDE # MER {Méorise le numéro de commande}
Si COMMANDE > 4 {Commande inexistante}
Saut à l'exception Si COMMANDE = 0
Appel au sous-programme d'initialisation du "LINK" 26 n NUMPERIPH
Si COMMANDE = 4 NUMLINK # 1 {Numéro du bloc "LINK" 26 dont le bloc "TREE" 29 associé est en cours d'envoi} PREMIERE # 1 {Première tranche du bloc "TREE" 29 à envoyer}
Si COMMANDE > 0
ETAPE # 1 Si ETAPE = 1
Si COMMANDE > 2 Saut à l'exception Si COMMANDE = 1 {Changer de numéro de périphérique courant}
Si MER > MAXPERIPH
Saut à l'exception FIRST # 0 SEA # $ DEBE Else if TREEOFFSET = 0
TREEOFFSET # 1 SEA # $ CEAB Otherwise
MER <-Next word in the block "TREE" 29 open
If TREEOFFSET <128
TREEOFFSET e TREEOFFSET + 1
If not
If End of block TREE
Close the TREE block
Figure img00680001

NUMLINK -NUMLINK + 1
FIRST ex
Otherwise TREEOFFSET 0 (subroutine return) Write: If STEP = 0 {Waiting for command}
COMMAND # MER {Crates the order number}
If ORDER> 4 {Non-existent order}
Jump to the exception if COMMAND = 0
Calling the LINK initialization subroutine 26 n NUMPERIPH
If COMMAND = 4 NUMLINK # 1 {Number of the "LINK" block 26 whose associated "TREE" block is being sent} FIRST # 1 {First block of the "TREE" block 29 to be sent}
If ORDER> 0
STEP # 1 If STEP = 1
If COMMAND> 2 Exceeds if COMMAND = 1 {Change current device number}
If MER> MAXPERIPH
Jumping except

<Desc/Clms Page number 69><Desc / Clms Page number 69>

Sinon NUMPERIPH e MER ETAPE 0
Si COMMANDE = 2 Envoi de la valeur contenue dans"MER"27 au sous-programme de sortie du "LINK" 26 nO NUMPERIPH ETAPE < -0

Figure img00690001

(retour de sous-programme) ZD 10. 3 - Fonctions évoluées sur les périphériques 10.3. !-Méthode générale d'accès aux périphériques en niveau zéro via l'arbre Pour gérer un périphérique, il faut d'abord charger en mémoire le bloc "TREE" 29 qui le représente en utilisant la commande de lecture des blocs "TREE" 29 du cartographe/énumérateur 25. On sauvegarde alors le numéro d'identification qui a été attribué au bloc par le cartographe/énumérateur 25.
Figure img00690002
Otherwise NUMPERIPH e SEA STEP 0
If COMMAND = 2 Sending the value contained in "MER" 27 to the output subroutine of "LINK" 26 nO NUMPERIPH STEP <-0
Figure img00690001

(subroutine return) ZD 10. 3 - Advanced Features on Devices 10.3. ! -General method for accessing devices at zero level via the tree To manage a device, it is first necessary to load in memory the "TREE" block 29 that represents it using the "TREE" block reading command. From the cartographer / enumerator 25. The identification number assigned to the block by the cartographer / enumerator 25 is then saved.
Figure img00690002

Il est ensuite possible d'analyser la structure du ou des arbres inclus dans le bloc "TREE" 29 ou encore de se reporter au bloc"FEXT"pour déterminer le type de fonction que réalise le périphérique. It is then possible to analyze the structure of the tree (s) included in the "TREE" block 29 or to refer to the "FEXT" block to determine the type of function performed by the device.

Lorsqu'on a identifié le périphérique réalisant la fonction souhaitée, on peut alors l'utiliser. Selon f'hyperespace"auquel appartient f'espace"décrivant le périphérique, les opérations permises sont différentes : dans le cas d'un"hyperespace"d'échange en sortie, on ne peut qu'envoyer des données au périphérique, dans le cas d'un"hyperespace"d'échange en entrée, on ne peut que recevoir des données depuis le périphérique, dans le cas d'un"hyperespace"de conservation adressable, aucune opération n'est permise puisque le périphérique est directement accessible par t'espace d'adressage de la machine ; Dans ce cas, f'espace"de ce périphérique n'est là que pour indiquer les caractéristiques du périphérique, et dans le cas d'un"hyperespace"de conservation non adressable, les opérations permises peuvent être l'envoi et/ou la réception de données. When the device performing the desired function has been identified, it can then be used. According to the hyperspace "to which belongs the space" describing the device, the permitted operations are different: in the case of a "hyperspace" of exchange output, one can only send data to the device, in the case of a "hyperspace" exchange input, we can only receive data from the device, in the case of an "hyperspace" addressable conservation, no operation is allowed since the device is directly accessible by t address space of the machine; In this case, the "space" of this device is only there to indicate the characteristics of the device, and in the case of a non-addressable "hyperspace" of conservation, the permitted operations can be the sending and / or the receiving data.

10.3. 1. 1-Envoi de données vers un périphérique par parcours de l'arbre L'envoi de données est réalisé par parcours de l'arbre selon les données que le programmeur souhaite transmettre au périphérique. Les programmes coprocesseurs de chaque noeud sont chargés de convertir chaque étape du parcours en données de configuration et d'exploitation correctes transmises au périphérique. 10.3. 1. 1-Sending data to a device by route of the tree The sending of data is performed by traversing the tree according to the data that the programmer wishes to transmit to the device. The coprocessor programs of each node are responsible for converting each step of the path to correct configuration and operating data transmitted to the device.

<Desc/Clms Page number 70> <Desc / Clms Page number 70>

Le processus d'envoi consiste d'abord à repérer le noeud d"'espace"à la base de l'arbre. Le programme coprocesseur d'autorisation doit être exécuté. Si l'autorisation est donnée, alors on exécute le programme de parcours du noeud. On cherche ensuite les noeuds de"dimension" rattachés à ce noeud d"'espace", et on applique la même procédure au noeud de"dimension" choisi. Le processus se poursuit, et se termine lorsque le programme coprocesseur d'un noeud d'''intensité''a été exécuté : faction correspondante au parcours de l'arbre a été effectuée. The sending process consists firstly of locating the "space" node at the base of the tree. The authorization coprocessor program must be run. If the authorization is given, then we execute the path program of the node. We then look for the "dimension" nodes attached to this "space" node, and we apply the same procedure to the chosen "dimension" node. The process continues, and ends when the coprocessor program of a node of 'intensity' has been executed: faction corresponding to the path of the tree has been made.

10. 3. 1. 2 - Réception de données depuis un périphérique par parcours de l'arbre La réception des données est réalisée par parcours de l'arbre selon les directives retournées par les programmes coprocesseurs de chaque noeud. Certains noeuds contiennent des programmes chargés de demander au périphérique les données d'exploitation : ils les convertissent en un parcours cohérent de l'arborescence aboutissant à un noeud d'"intensité" représentant la valeur reçue. Le parcours d'autres noeuds permet de mémoriser d'éventuels paramètres afin de sélectionner une donnée d'exploitation lorsque plusieurs sont proposées (exemple : choisir un pixel particulier dans une image provenant d'une caméra vidéo numérique). 10. 3. 1. 2 - Receiving data from a device by tree path Data reception is performed by traversing the tree according to the instructions returned by the coprocessor programs of each node. Some nodes contain programs that ask the device for the operating data: they convert it into a coherent path of the tree resulting in an "intensity" node representing the received value. The course of other nodes makes it possible to memorize possible parameters in order to select operating data when several are proposed (example: to choose a particular pixel in an image coming from a digital video camera).

Le processus de réception consiste d'abord à repérer le noeud d'''espace''à la base de l'arbre. Le programme coprocesseur d'autorisation doit être exécuté. Si l'autorisation est accordée, on lit une donnée renvoyée par ce programme, identifiant le rôle du noeud. The reception process consists firstly of locating the 'space' node at the base of the tree. The authorization coprocessor program must be run. If the authorization is granted, one reads data returned by this program, identifying the role of the node.

Si t'en souhaite lire une donnée parmi un ensemble, on parcourt d'abord les noeuds permettant de mémoriser les paramètres de localisation de cette donnée (exemple : choisir les positions horizontale et verticale d'un pixel). Une fois l'éventuelle localisation effectuée, on parcourt les noeuds permettant d'être guidé vers le noeud d''intensité"correspondant à la valeur reçue depuis ! e périphérique. If you want to read a given one of a set, we first browse the nodes to store the location parameters of this data (example: choose the horizontal and vertical positions of a pixel). Once the possible location has been completed, the nodes are scanned to be guided to the "intensity" node corresponding to the value received from the device.

10. 3. 2-Exemples de séquences d'instructions 0.4 émulant les instructions du coprocesseur 28 Le processeur de niveau 0.4 est chargé d'émuler les instructions du coprocesseur de périphériques 28. Cette émulation est réalisée par un programme complet, dont on ne présente ici que quelques séquences reproduisant certaines opérations. 10. 3. 2-Examples of instruction sequences 0.4 emulating the instructions of the coprocessor 28 The processor of level 0.4 is responsible for emulating the instructions of the coprocessor of peripherals 28. This emulation is carried out by a complete program, which is not shown. here only a few sequences reproducing certain operations.

Pour les séquences d'instructions suivantes, on considère que : les plages d'adresses $100 à $IFF contiennent les valeurs allant de $FFOO à $FFFF, les plages d'adresses $200 à $2FF contiennent les valeurs allant de $0000 à $OOFF, les plages d'adresses $300 à $3FF contiennent les valeurs allant de $OOFF à $FFFF, par incréments de $100, Rd et Rs sont des adresses contenant les opérandes Rd et Rs tels qu'ils ont été décrits pour les instructions du coprocesseur 28, et tmp et tmp2 sont deux adresses de mémoire réinscriptible quelconques. For the following instruction sequences, we consider that: the address ranges $ 100 to $ IFF contain values ranging from $ FFOO to $ FFFF, the address ranges $ 200 to $ 2FF contain values ranging from $ 0000 to $ OOFF , the address ranges $ 300 to $ 3FF contain values ranging from $ OOFF to $ FFFF, in increments of $ 100, Rd and Rs are addresses containing the operands Rd and Rs as described for the coprocessor instructions 28, and tmp and tmp2 are any two rewritable memory addresses.

10.3. 2. 1-Séquence reproduisant le OU logique AND $200 10.3. 2. 1-Sequence reproducing the logical OR AND $ 200

<Desc/Clms Page number 71><Desc / Clms Page number 71>

SBB Rd ST tmp ANDR SBB $201 AND Rs SBBtmp ST Rd (A ce stade la retenue est indéfinie. Une instruction"AND R"peut être insérée pour l'effacer) 10.3. 2. 2-Séquence reproduisant le OU logique exclusif AND $200 SBB Rd STmtp

Figure img00710001

AND R SBB AND Rs SBBtmp ST tmp LD Rd AND Rs ST tmp2 LD $1 FF SBB tmp2 AND tmp ST Rd (A ce stade la retenue est annulée) 10.3. 2. 3-Séquence reproduisant le chargement d'une valeur immédiate dans un registre On considère le chargement d'une valeur immédiate positive $0ijk (j et k étant des chiffres hexadécimaux quelconques, i étant un chiffre hexadécimal valant 0 ou 1). SBB Rd ST tmp SBB SBR $ 201 AND Rs SBBtmp ST Rd (At this point the hold is undefined, an "AND R" statement can be inserted to clear it) 10.3. 2. 2-Sequence reproducing the exclusive logical OR AND $ 200 SBB Rd STmtp
Figure img00710001

AND R SBB AND Rs SBBtmp ST tmp LD Rd AND Rs ST tmp2 LD $ 1 FF SBB tmp2 AND tmp ST Rd (At this point the holdback is canceled) 10.3. 2. 3-Sequence reproducing the loading of an immediate value in a register One considers the loading of a positive immediate value $ 0ijk (j and k being any hexadecimal digits, i being a hexadecimal digit worth 0 or 1).

LD $30i AND$ ! jk ST Rd (A ce stade la retenue est annulée) 10. 3. 2. 4-Séquence reproduisant la sauvegarde d'un registre vers la mémoire On considère une adresse mémoire quelconque de valeur binaire % abcdefghij. On considère que le registre MP contient l'adresse du dernier mot de t'espace d'adressage du coprocesseur 28, et que cet espace d'adressage est aligné sur une page de 8 Kmots en mémoire de niveau zéro. LD $ 30i AND $! jk ST Rd (At this stage the hold is canceled) 10. 3. 2. 4-Sequence reproducing the backup of a register to the memory We consider any memory address of binary value% abcdefghij. It is considered that the register MP contains the address of the last word of the address space of the coprocessor 28, and that this address space is aligned on a page of 8 Kb in zero-level memory.

<Desc/Clms Page number 72> <Desc / Clms Page number 72>

LD Rs ST & % 000abcdefghij (La retenue reste inchangée)
10.3. 2. 5-Séquence reproduisant l'addition sans retenue AND $200 SBB Rd ST tmp AND R LD Rs SBBtmp ST Rd (A ce stade la retenue est indéterminée) 10. 3. 2. 6-Séquence reproduisant la soustraction sans retenue AND R LD Rd SBB Rs ST Rd (A ce stade la retenue est positionnée selon le résultat de la soustraction) 10.3. 2. 7-Séquences reproduisant la mise à jour des indicateurs d'état (N, Z, 0 et C) Chaque indicateur est sauvegardé en mémoire de niveau zéro dans un mot dont la valeur 0 signifie que l'indicateur est baissé, et dont la valeur $FFFF signifie qu'il est levé.
LD Rs ST &% 000abcdefghij (Holdback remains unchanged)
10.3. 2. 5-Sequence Reproducing the Unrestrained Addition AND $ 200 SBB Rd Tmp AND R LD Rs SBBtmp ST Rd (At this point the holdback is undetermined) 10. 3. 2. 6-Sequence Reproducing Unrestrained Subtraction AND R LD Rd SBB Rs ST Rd (At this stage the restraint is positioned according to the result of the subtraction) 10.3. 2. 7-Sequences reproducing the update of the status indicators (N, Z, 0 and C) Each indicator is saved in zero-level memory in a word whose value 0 means that the indicator is lowered, and of which the value $ FFFF means that it is raised.

Les adresses contenant les indicateurs N, Z, 0 et C sont nommées NCOP, ZCOP, OCOP, et CCOP respectivement. The addresses containing the N, Z, 0 and C indicators are named NCOP, ZCOP, OCOP, and CCOP respectively.

On nomme"res"l'adresse contenant le résultat de la dernière opération. We call "res" the address containing the result of the last operation.

En sortie la retenue est positionnée selon la valeur de l'indicateur qui a été calculée. At the output the restraint is positioned according to the value of the indicator that has been calculated.

Mise à jour de l'indicateur N (Si la retenue n'est pas annulée : AND R) LD $37F SBB res SBB R ST NCOP Mise à jour de l'indicateur Z AND $200 SBB res SBB R SBB $l FE Indicator N Update (If the holdback is not canceled: AND R) LD $ 37F SBB SBB R R ST NCOP Update Z Indicator AND $ 200 SBB SBB R SBB $ l FE

<Desc/Clms Page number 73><Desc / Clms Page number 73>

SBB R ST ZCOP Mise à jour de l'indicateur 0 L'algorithme de mise à jour de l'indicateur 0 est différent selon les instructions. On donne ici l'exemple de la mise à jour de l'indicateur 0 dans l'instruction de soustraction sans retenue.  SBB R ST ZCOP Update indicator 0 The algorithm for updating indicator 0 is different according to the instructions. Here we give the example of the update of the indicator 0 in the unrestrained subtraction instruction.

LDRs AND $37F ST tmp LD Rd AND $37F SBB tmp SBB R ST tmp AND R LD Rd SBB Rs ST Rd SBB R (ST CCOP si l'indicateur C doit être également mis à jour) AND R SBB tmp ST tmp AND $200 SBB tmp SBB R ST OCOP Mise à jour de l'indicateur C L'algorithme de mise à jour de l'indicateur C est différent selon les instructions. On donne ici deux exemples. LDRs AND $ 37F ST LD SB tmp and $ 37F SBB tmp SBB R ST tmp R AND Rd SBB Rd Rs ST SBB Rd R (ST CCOP if the C indicator must also be updated) AND R SBB ST tmp tmp AND $ 200 SBB tmp SBB R ST OCOP Updating indicator C The algorithm for updating the indicator C differs according to the instructions. Two examples are given here.

Exemple de la mise à jour au cours de l'instruction de soustraction sans retenue : AND R LD Rd SBB Rs STRd SBB R ST CCOP Example of the update during the unrestrained subtraction instruction: AND R LD Rd SBB Rs STRd SBB R ST CCOP

<Desc/Clms Page number 74><Desc / Clms Page number 74>

Exemple de la mise à jour au cours de l'instruction d'addition sans retenue : AND $200 SBB Rd ST tmp SBB R SBB $200 ST tmp2 LD Rs SBBtmp ST Rd SBB R SBB tmp2 SBB R ST CCOP 10. 3. 3-Contenu des blocs"FEXT" Un bloc"FEXT"contient un ensemble d'informations optionnelles qui viennent compléter celles fournies par le bloc "TREE" 29 associé.  Example of the update during the unrestrained addition statement: AND $ 200 SBB Rd ST SBB R SBB R $ 200 ST tmp2 LD Rs SBBtmp ST Rd SBB R SBB tmp2 SBB R ST CCOP 10. 3. 3-Contents "FEXT" blocks A "FEXT" block contains a set of optional information that supplements that provided by the associated "TREE" block 29.

Un bloc"FEXT"peut contenir un ou plusieurs des éléments suivants : les données de modélisation réelle fournissent des équations ou d'autres types d'informations définissant précisément les relations physiques, symboliques et logiques que les branches de l'arbre des périphériques entretiennent entre elles et avec le monde réel, des données dites"de modélisation perceptive", fournissant des équations ou d'autres types d'informations définissant précisément les relations physiques entre la limite physique d'interaction du périphérique avec le monde extérieur et l'émetteur/destinataire de l'information. A "FEXT" block may contain one or more of the following: the actual modeling data provides equations or other types of information that accurately define the physical, symbolic, and logical relationships that the branches of the device tree maintain between they and the real world, so-called "perceptual modeling" data, providing equations or other types of information precisely defining the physical relationships between the physical limit of interaction of the device with the outside world and the transmitter / recipient of the information.

Par exemple, on peut souhaiter modéliser la façon dont un être humain valide, ou au contraire ayant des problèmes oculaires, perçoit les couleurs produites par un écran, et un programme coprocesseur spécifique, nommé"programme de parcours rapide", venant remplacer les programmes coprocesseurs de certains noeuds du bloc "TREE" 29 associé. Ce programme permet d'accéder au périphérique de manière optimisée en termes de vitesse selon un parcours de l'arbre prédéfini et invariable qui doit être explicité dans le bloc"FEXT". For example, one may wish to model how a valid human being, or on the contrary having eye problems, perceives the colors produced by a screen, and a specific coprocessor program, called "rapid traverse program", replacing the coprocessor programs. some nodes of the associated "TREE" block 29. This program makes it possible to access the device in an optimized manner in terms of speed according to a predefined and invariable tree path which must be explained in the "FEXT" block.

10.3. 4-Auto-adaptation des périphériques 10. 3.4. !-Définition et utilisations Pour un périphérique"A"donné, non disponible sur la machine support 23, l'auto-adaptation de la Machine Universelle est un mécanisme logiciel qui permet : d'une part de trouver le périphérique"B"disponible sur la machine support 23 et remplissant la fonction la plus proche possible de celle du périphérique A, 10.3. 4-Self-adaptation of devices 10. 3.4. -Definition and uses For a device "A" given, not available on the machine support 23, the self-adaptation of the Universal Machine is a software mechanism that allows: firstly to find the device "B" available on the support machine 23 and fulfilling the function as close as possible to that of the device A,

<Desc/Clms Page number 75><Desc / Clms Page number 75>

d'autre part d'adapter le flux de données initialement traité par le périphérique A en un flux de données différent, traité par le périphérique B, et qui donnera un résultat le plus proche possible de ce qu'il aurait été s'il avait été directement traité par le périphérique A.  on the other hand to adapt the data stream initially processed by the device A in a different data stream, processed by the device B, and which will give a result as close as possible to what it would have been if it had been directly processed by the A device.

Le procédé d'auto-adaptation repose sur une philosophie contraire à celle usuellement retenue pour la gestion des périphériques : c'est la machine qui se plie aux exigences du programmeur. Ce dernier propose un type de périphérique avec un format précis de données d'exploitation et la machine lui donne accès au périphérique le plus proche possible de sa demande, si besoin en adaptant" à la volée" les flux de données échangés. En cas de changement imprévu de l'état d'un périphérique (panne, arrêt) la machine peut rechercher automatiquement un moyen de rediriger l'information vers ou depuis le périphérique le plus proche. Il y a donc adaptation automatique de la machine virtuelle à l'environnement matériel. The process of self-adaptation is based on a philosophy contrary to that usually adopted for the management of peripherals: it is the machine that complies with the requirements of the programmer. The latter offers a type of device with a precise operating data format and the machine gives it access to the device as close as possible to its request, if necessary by adapting "on the fly" the data flows exchanged. In the event of an unexpected change in the state of a device (failure, shutdown) the machine can automatically search for a way to redirect information to or from the nearest device. There is therefore automatic adaptation of the virtual machine to the hardware environment.

10.3. 4. 2-Principe de fonctionnement On commence par analyser la structure de f'espace"décrivant le périphérique A, notamment f'hyperespace"auquel il est rattaché, ainsi que le nombre et le type des noeuds de"dimension", de"coordonnée"et d"'intensité". 10.3. 4. 2-Principle of operation One begins by analyzing the structure of space "describing the device A, in particular the hyperspace" to which it is attached, as well as the number and the type of the nodes of "dimension", of "coordinate "and" intensity ".

On parcours alors tous les "espaces" de périphériques disponibles et on cherche celui ayant la structure arborescente la plus proche. L'évaluation de la proximité de deux structures arborescentes repose sur des algorithmes de comparaison d'abord très sélectifs (une structure strictement identique est recherchée) avec attribution d'un ou plusieurs coefficients exprimant la similarité entre chaque"espace"de périphérique analysé et f'espace"du périphérique A. La tolérance de ces algorithmes est ensuite modulée en établissant une priorité de certains paramètres sur d'autres, et en permettant de regrouper ou d'ignorer certains paramètres considérés comme contribuant peu à la fonction du périphérique. Au final, f'espace"du périphérique B présentant les coefficients de similarité les plus forts avec l'l'espace" du périphérique A est retenu. We then browse all the "spaces" of available devices and we look for the one with the closest tree structure. The evaluation of the proximity of two tree structures is based on very selective comparison algorithms (a strictly identical structure is sought) with allocation of one or more coefficients expressing the similarity between each device "space" analyzed and The tolerance of these algorithms is then modulated by prioritizing some parameters over others, and by grouping or ignoring certain parameters that are considered to contribute little to the function of the device. The "space of device B with the strongest similarity coefficients with the space" of device A is retained.

Lorsque l"'espace"A (source) et 1"'espacez (destination) sont connus, un algorithme de conversion est généré, afin de prendre les directives de parcours de l'arbre de 1"'espacez et de les convertir au mieux en directives de parcours de l'arbre de f'espace"B. Cet algorithme est élaboré à partir du nombre et du type des noeuds de chaque"espace", et des regroupements ou priorités établis lors de la recherche de similitude. Il se base aussi sur les blocs"FEXT"ainsi que sur une base de données répertoriant des algorithmes standards permettant les conversions entre différents types physiques et symboliques. When the "space" A (source) and 1 "space (destination) are known, a conversion algorithm is generated, in order to take the directions of the tree of 1" space and convert them at best The algorithm is based on the number and type of nodes in each "space", and groupings or priorities established in the search for similarity. also on the "FEXT" blocks as well as on a database listing standard algorithms allowing conversions between different physical and symbolic types.

10. 3.4. 3-Programme chargé de ces opérations Le mécanisme d'auto-adaptation est mis en oeuvre par un programme chargé d'effectuer les opérations de comparaison et de conversion entre périphériques. Ce programme est appelé " éclaireur" (ou" pathfinder "), Il est écrit pour un niveau donné de la Machine Universelle et ne 10. 3.4. 3-Program responsible for these operations The self-adaptation mechanism is implemented by a program responsible for performing the operations of comparison and conversion between peripherals. This program is called "scout" (or "pathfinder"), it is written for a given level of the Universal Machine and does not

<Desc/Clms Page number 76><Desc / Clms Page number 76>

fonctionne pas de façon autonome pour ce niveau : ce sont les autres programmes du niveau qui devront y faire appel en cas de besoin. Les programmes écrits pour un niveau supérieur utiliseront ces fonctionnalités de façon transparente, si l'émulateur de ce niveau supérieur utilise l'éclaireur pour la gestion des périphériques.  does not operate autonomously for this level: it is the other programs of the level that will have to use them if needed. Programs written for a higher level will use these features transparently, if the emulator at that higher level uses scout for device management.

Ce programme est la partie la plus complexe de la gestion des périphériques, mais sa présence n'est absolument pas indispensable pour pouvoir exploiter les périphériques. Toutes les applications n'ont en effet pas besoin d'une auto-adaptation des périphériques.  This program is the most complex part of the device management, but its presence is absolutely not essential to exploit the devices. All applications do not need a self-adaptation of devices.

Lorsqu'une application a besoin d'un périphérique remplissant une fonction particulière et qu'elle ne souhaite pas le rechercher par elle même (ou bien qu'elle ne trouve pas de périphérique correspondant à ses besoins), elle peut alors appeler l'éclaireur en lui transmettant le profil du périphérique recherché. L'éclaireur se charge de trouver le meilleur périphérique et devient l'interlocuteur exclusif de l'application pour toutes ses transmissions avec le périphérique. When an application needs a device that performs a particular function and does not want to search for it by itself (or it can not find a device that matches its needs), it can call the scout by transmitting the profile of the searched device. The scout takes care of finding the best device and becomes the exclusive interlocutor of the application for all transmissions with the device.

10. 3. 5-Définition des zones réservées de l'espace d'adressage de niveau 0.4 Le tableau suivant présente les champs de données associés aux plages d'adresses qui leur sont réservées.

Figure img00760001
10. 3. 5-Definition of reserved zones of the address space of level 0.4 The following table presents the data fields associated with the address ranges reserved for them.
Figure img00760001

<tb>
<tb>
<Tb>
<Tb>

Plages <SEP> d'adresses <SEP> réservées <SEP> Champs <SEP> de <SEP> données
<tb> (notées <SEP> en <SEP> hexadécimal)
<tb> 0000 <SEP> Fenêtre <SEP> 0 <SEP> de <SEP> l'adresse <SEP> de <SEP> retour <SEP> d'interruption <SEP> ou <SEP> d'exception
<tb> 0001 <SEP> - <SEP> 003F <SEP> Programme <SEP> de <SEP> gestion <SEP> de <SEP> l'interruption
<tb> 0040-007F <SEP> Variables
<tb> 0080-008F <SEP> Adresse <SEP> maximale <SEP> adressable <SEP> (au <SEP> format"big <SEP> endian"), <SEP> dans <SEP> la
<tb> limite <SEP> de <SEP> 16 <SEP> fenêtres
<tb> 0090-009F <SEP> Adresse <SEP> de <SEP> retour <SEP> d'interruption <SEP> ou <SEP> éventuellement <SEP> d'exception <SEP> (au
<tb> format <SEP> Il <SEP> big <SEP> endian <SEP> "), <SEP> dans <SEP> la <SEP> limite <SEP> de <SEP> 16 <SEP> fenêtres
<tb> 00A0 <SEP> Valeur <SEP> maximale <SEP> autorisée <SEP> pour <SEP> MPS <SEP> et <SEP> IPS
<tb> OOA)-OOBFRéservé
<tb> OOCO-OOFF <SEP> Indicateurs <SEP> d'état <SEP> du <SEP> système
<tb> 0100 <SEP> - <SEP> 01 <SEP> FF <SEP> Valeurs <SEP> $FF00 <SEP> à <SEP> $FFFF <SEP> par <SEP> incréments <SEP> de <SEP> 1
<tb> 0200 <SEP> - <SEP> 02FF <SEP> Valeurs <SEP> $0000 <SEP> à <SEP> $00FF <SEP> par <SEP> incréments <SEP> de <SEP> 1
<tb> 0300 <SEP> - <SEP> 03FF <SEP> Valeurs <SEP> $00FF <SEP> à <SEP> $FFFF <SEP> par <SEP> incréments <SEP> de <SEP> $100
<tb>
Les innovations apportées par la Machine Universelle permettent d'envisager de multiples applications industrielles. Ce document en présente quelques unes.
<SEP> Ranges of Reserved <SEP> Addresses <SEP><SEP><SEP> Data Fields
<tb> (denoted <SEP> in <SEP> hexadecimal)
<tb> 0000 <SEP><SEP> 0 <SEP> Window of <SEP><SEP><SEP><SEP> Return Address of <SEP> or <SEP> Exception of Exception
<tb> 0001 <SEP> - <SEP> 003F <SEP> Program <SEP> of <SEP> Management <SEP> of <SEP> Interrupt
<tb> 0040-007E <SEP> Variables
<tb> 0080-008F <SEP> Address <SEP> Maximum <SEP> Addressable <SEP> (at <SEP> format "big <SEP>endian"),<SEP> in <SEP>
<tb> limit <SEP> of <SEP> 16 <SEP> windows
<tb> 0090-009E <SEP><SEP><SEP> Return <SEP> Address of <SEP> or <SEP> Interrupt possibly <SEP> of Exception <SEP> (at
<tb> format <SEP> It <SEP> big <SEP> endian <SEP>"),<SEP> in <SEP> the <SEP> limit <SEP> of <SEP> 16 <SEP> windows
<tb> 00A0 <SEP> Maximum <SEP> Maximum <SEP> Allowed <SEP> for <SEP> MPS <SEP> and <SEP> IPS
<tb> OOA) -OOBFReserved
<tb> OOCO-OOFF <SEP><SEP> State <SEP> Status Indicators <SEP>
<tb> 0100 <SEP> - <SEP> 01 <SEP> FF <SEP> Values <SEP> $ FF00 <SEP> to <SEP> $ FFFF <SEP> by <SEP> increments <SEP> of <SEP> 1
<tb> 0200 <SEP> - <SEP> 02FF <SEP> Values <SEP> $ 0000 <SEP> to <SEP> $ 00FF <SEP> by <SEP> Increments <SEP> of <SEP> 1
<tb> 0300 <SEP> - <SEP> 03FF <SEP> Values <SEP> $ 00FF <SEP> to <SEP> $ FFFF <SEP> by <SEP> increments <SEP> of <SEP> $ 100
<Tb>
The innovations brought by the Universal Machine make it possible to envisage multiple industrial applications. This document presents some of them.

!)-Exemptes d'applications de la Machine Universelle dans son ensemble L'architecture de la Machine Universelle repose sur une base très simple. Elle permet d'élaborer des programmes d'une complexité quelconque qui pourront fonctionner sur n'importe quelle

Figure img00760002

machine support 23, moyennant un effort de programmation minimal. Les programmes peuvent c !) - Free from applications of the Universal Machine as a whole The architecture of the Universal Machine is based on a very simple basis. It allows you to develop programs of any complexity that will work on any
Figure img00760002

support machine 23, with a minimum programming effort. Programs can c

<Desc/Clms Page number 77><Desc / Clms Page number 77>

donc être considérés comme réalisés une fois pour toutes. Ainsi, un logiciel de jeu ou un système d'exploitation n'est programmé qu'une seule fois, et sera converti en quelques jours sur tout type de machine support 23. La rapidité et la facilité de conversion sont particulièrement utiles pour des groupes de machines qui ne sont pas encore totalement standardisées et uniformisées. On peut citer notamment les assistants personnels numériques (en anglais"PDA"pour"personal digital assistant"), les téléphones mobiles, ou encore les cartes à puce.  therefore be considered as realized once and for all. Thus, a game software or an operating system is programmed only once, and will be converted in a few days on any type of support machine 23. The speed and ease of conversion are particularly useful for groups of users. machines that are not yet fully standardized and standardized. These include digital personal assistants (PDAs) for personal digital assistants, mobile phones, and smart cards.

12-Exemples d'applications de certains niveaux de la Machine Universelle, directement exploités (sans se baser sur les niveaux inférieurs) 12. 1-Niveau 0.2 Grâce à son extrême simplicité, le processeur de niveau 0.2 peut être fondu sous la forme d'un microprocesseur de taille très réduite. Dans ce cas, il peut convenir à des applications nécessitant une miniaturisation extrême, une bonne fiabilité du fonctionnement électronique, une faible consommation d'énergie et n'ayant pas besoin de beaucoup de puissance de calcul. 12-Examples of applications of certain levels of the Universal Machine, directly exploited (without relying on the lower levels) 12. 1-Level 0.2 Thanks to its extreme simplicity, the level 0.2 processor can be melted in the form of a microprocessor of very small size. In this case, it may be suitable for applications requiring extreme miniaturization, good reliability of electronic operation, low power consumption and not requiring much computing power.

C'est par exemple le cas de certaines applications médicales : on pourrait imaginer faire tenir un

Figure img00770001

processeur 0. 2 accompagné d'un ou plusieurs dispositifs mécaniques miniaturisés (capteur, ZD pompe avec réservoir, électrodes,...) dans un volume suffisamment réduit pour être implanté dans le corps humain. Par exemple, chez des malades, ces machines miniatures pourraient libérer des substances pharmaceutiques selon la teneur dans le sang d'un composé quelconque. This is for example the case of certain medical applications: one could imagine to hold a
Figure img00770001

processor 0. 2 accompanied by one or more miniaturized mechanical devices (sensor, ZD pump with reservoir, electrodes, ...) in a sufficiently small volume to be implanted in the human body. For example, in patients, these miniature machines could release pharmaceutical substances according to the content in the blood of any compound.

Une autre application serait la création de neurones artificiels, implantés dans le cerveau, palliant à certaines déficiences neurologiques : un processeur 0.2 peut simuler un ensemble de neurones. Another application would be the creation of artificial neurons implanted in the brain, compensating for certain neurological deficiencies: a 0.2 processor can simulate a set of neurons.

Dans d'autres domaines l'intérêt d'un processeur 0.2 est différent. C'est le cas des applications en milieu extrême : au lieu de privilégier la miniaturisation, la simplicité du niveau 0.2 permet de le fondre sous la forme d'un"macro"processeur, c'est-à-dire un processeur disposant de circuits électriques très grossiers. Ce processeur, tout en restant de taille raisonnable (de l'ordre de la taille d'un processeur actuel très complexe) serait très tolérant aux perturbations induites par les rayons cosmiques, les variations extrêmes de températures ou les contraintes mécaniques. In other areas the interest of a 0.2 processor is different. This is the case of applications in extreme environments: instead of favoring miniaturization, the simplicity of level 0.2 allows to melt it in the form of a "macro" processor, that is to say a processor with circuits very coarse electric. This processor, while remaining of reasonable size (of the order of the size of a very complex current processor) would be very tolerant to cosmic ray induced disturbances, extreme temperature variations or mechanical stresses.

L'aérospatiale et l'aéronautique sont des exemples de domaines d'applications. Aerospace and aeronautics are examples of application fields.

D'autres applications sont possibles dans le domaine des"ordinateurs vestimentaires" (wearable computers, c'est à dire des ordinateurs incorporés dans des vêtements pour mieux s'intégrer dans la vie quotidienne de l'utilisateur). Un processeur 0.2 fondu sur une base isolante souple pourrait être intégré à faible coût aux vêtements, et résister à une utilisation courante (déformation, froid, humidité, chocs, etc.). Other applications are possible in the field of "computers of clothing" (wearable computers, ie computers incorporated in clothes to better integrate into the daily life of the user). A 0.2 processor melted on a flexible insulating base could be integrated at low cost clothing, and withstand common use (deformation, cold, humidity, shock, etc.).

Enfin, la miniaturisation extrême d'un processeur de niveau 0. 2 permettrait de libérer de la place sur les surfaces de silicium pour d'autres composants électroniques, notamment pour de la mémoire. Cela serait intéressant pour les cartes à puce dont la mémoire peut être limitée par la taille du processeur. Finally, the extreme miniaturization of a level 0. 2 processor would free up space on the silicon surfaces for other electronic components, especially for memory. This would be interesting for smart cards whose memory can be limited by the size of the processor.

<Desc/Clms Page number 78> <Desc / Clms Page number 78>

12. 2-Niveau 0.4 La simplicité du niveau 0.2 a pour conséquence une lenteur d'exécution des programmes qui peut rendre quasi-inutilisable les applications complexes à cause des temps de calculs inappropriés. Le niveau 0.4 se présente comme un meilleur compromis entre la rapidité et la simplicité. Le supplément de complexité est minime par rapport au niveau 0.2 de sorte que les applications industrielles envisageables sont très proches. La vitesse d'exécution des programmes est cependant environ 100 fois plus rapide. Ainsi des programmes très complexes sont exécutés dans des délais raisonnables. 12. 2-Level 0.4 The simplicity of the 0.2 level results in a slow execution of the programs which can make the complex applications quasi-unusable because of the inappropriate computation times. Level 0.4 is a better compromise between speed and simplicity. The extra complexity is minimal compared to level 0.2 so that the industrial applications that can be envisaged are very close. The execution speed of the programs is however about 100 times faster. Thus very complex programs are executed within a reasonable time.

12. 3 - Niveau 1 La simplicité des niveaux 0.2 et 0.4 rend leur utilisation directe difficile. D'autre part le niveau 0.4 reste d'une lenteur relative qui peut être inadaptée à certaines applications. Le niveau 1 est d'un niveau de complexité intermédiaire. Il est capable d'exécuter des applications de haut niveau avec une faible perte d'efficacité par rapport à leur exécution directe sur la machine support 23. Ce niveau convient donc à la plupart des applications courantes d'un micro-

Figure img00780001

ordinateur (applications graphiques, sonores, bureautiques, etc.). z : l Le niveau 1 représente le meilleur compromis entre simplicité de conception et rapidité d'exécution. 11 requiert cependant une machine support 23 ayant des capacités suffisantes pour l'accueillir, et n'est donc pas toujours adapté à certaines machines support aux capacités très limitées. De plus, le temps nécessaire pour réaliser une machine matérielle ou logicielle de niveau 1 peut être relativement long comparé à l'utilisation que t'en va en faire. C'est pourquoi ce niveau convient pour des machines largement diffusées et qui ne seront pas obsolètes trop rapidement. 12. 3 - Level 1 The simplicity of the 0.2 and 0.4 levels makes their direct use difficult. On the other hand the level 0.4 remains relatively slow which may be unsuitable for certain applications. Level 1 is of an intermediate level of complexity. It is capable of executing high level applications with a low loss of efficiency compared to their direct execution on the support machine 23. This level is therefore suitable for most common applications of a micro-machine.
Figure img00780001

computer (graphics, sound, office applications, etc.). z: l Level 1 represents the best compromise between simplicity of design and speed of execution. However, it requires a support machine 23 having sufficient capacity to accommodate it, and is therefore not always suitable for some support machines with very limited capabilities. In addition, the time required to make a hardware or software machine level 1 may be relatively long compared to the use that you will make. This is why this level is suitable for widely distributed machines that will not be obsolete too quickly.

12. 4-Machine 31 de niveau 2 La plupart du temps, il n'est pas utile de réaliser directement une implémentation de ce niveau. 12. 4-Machine 31 Level 2 Most of the time, it is not necessary to directly implement an implementation of this level.

En effet, la réalisation d'une machine matérielle ou logicielle de niveau 2 demande un investissement de travail conséquent, alors que son émulation par le niveau 1 n'entraîne qu'une perte négligeable d'efficacité. Indeed, the realization of a hardware or software level 2 requires a significant investment of work, while its emulation by level 1 leads to a negligible loss of efficiency.

Cependant, l'utilisation directe de ce niveau peut s'avérer intéressante, par exemple pour le calcul intensif. En effet, la masse de calculs nécessaires démultiplie le nombre d'opérations à exécuter. However, the direct use of this level can be interesting, for example for intensive computing. Indeed, the mass of necessary calculations multiplies the number of operations to be executed.

La perte de temps, négligeable lors de l'émulation de ce niveau par le niveau 1, peut alors devenir importante. On peut citer comme exemple le calcul scientifique, le calcul d'images de synthèse, l'intelligence artificielle, ou la compression en temps réel de données vidéo.The loss of time, negligible during the emulation of this level by the level 1, can then become important. Examples include scientific computing, computer graphics calculation, artificial intelligence, or real-time compression of video data.

Claims (10)

REVENDICATIONS 1. Dispositif de traitement d'information, caractérisé par : des machines virtuelles imbriquées (20, 21, 30, 31), c'est-à-dire qu'une machine est émulée par une autre, hiérarchiquement de la plus simple à la plus complexe, c'est-à-dire qu'une machine donnée émule totalement une autre machine plus compliquée et élaborée, chaque machine virtuelle ayant une architecture originale, c'est-à-dire se différenciant de l'architecture des autres machines de la hiérarchie de machines virtuelles, chaque machine virtuelle étant adaptée à exécuter un programme d'émulation ou de compilation dynamique simulant l'architecture virtuelle plus complexe de niveau immédiatement supérieur, une machine virtuelle d'un niveau donné dans la hiérarchie possédant donc une architecture plus simple que celles de toutes les machines virtuelles de niveau supérieur ; les langages machines des deux niveaux de machines virtuelles les plus bas de la hiérarchie (20,21) sont spécifiquement conçus pour permettre l'exécution de toutes les opérations du niveau supérieur ; un niveau de la hiérarchie, constituant le sommet de la hiérarchie, n'émule aucun autre niveau de la hiérarchie ; et tout niveau de la hiérarchie peut être lié à une machine réelle généraliste (la machine support 23) au moyen d'un programme exécutable d'émulation ou de compilation dynamique spécifique à cette machine réelle. An information processing device, characterized by: interleaved virtual machines (20, 21, 30, 31), i.e. one machine is emulated by another, hierarchically from the simplest to the more complex, that is to say that a given machine fully emulates another more complicated and elaborate machine, each virtual machine having an original architecture, that is to say, differentiating itself from the architecture of the other machines of the hierarchy of virtual machines, each virtual machine being adapted to execute an emulation or dynamic compilation program simulating the more complex virtual architecture of next higher level, a virtual machine of a given level in the hierarchy thus having a higher architecture simple as those of all higher-level virtual machines; the machine languages of the two lowest levels of virtual machines in the hierarchy (20,21) are specifically designed to allow all top-level operations to be performed; a level in the hierarchy, constituting the top of the hierarchy, emulates no other level of the hierarchy; and any level of the hierarchy can be linked to a real general-purpose machine (the support machine 23) by means of an executable program of emulation or dynamic compilation specific to this real machine. 2. Dispositif selon la revendication I, caractérisé en ce que le langage machine de la machine virtuelle à la base de toute la hiérarchie (20) ne comporte que deux opérations élémentaires.  2. Device according to claim I, characterized in that the machine language of the virtual machine at the base of the entire hierarchy (20) comprises only two elementary operations. 3. Dispositif selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que les deux instructions de la machine virtuelle de plus bas niveau sont une soustraction et une sauvegarde en mémoire.  3. Device according to any one of claims 1 or 2, characterized in that the two instructions of the lowest level virtual machine are a subtraction and a memory backup. 4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le langage machine de la machine virtuelle de niveau immédiatement supérieur (21) à la machine virtuelle à la base de toute la hiérarchie comporte quatre opérations élémentaires.  4. Device according to any one of claims 1 to 3, characterized in that the machine language of the virtual machine immediately higher level (21) to the virtual machine at the base of the entire hierarchy comprises four elementary operations. 5. Dispositif selon la revendication I, caractérisé en ce que le langage machine de la machine virtuelle à la base de toute la hiérarchie (21) ne comporte que quatre opérations élémentaires.  5. Device according to claim I, characterized in that the machine language of the virtual machine at the base of the entire hierarchy (21) comprises only four elementary operations. <Desc/Clms Page number 80> <Desc / Clms Page number 80> 6. Dispositif selon l'une quelconque des revendications 4 ou 5, caractérisé en ce que lesdites quatre instructions sont une soustraction, une sauvegarde en mémoire, une fonction logique booléenne et un chargement depuis la mémoire.  6. Device according to any one of claims 4 or 5, characterized in that said four instructions are a subtraction, a memory backup, a Boolean logic function and a loading from the memory. 7. Dispositif selon la revendication 6, caractérisé en ce que la fonction logique booléenne est l'une des fonctions"et"ou"ou".  7. Device according to claim 6, characterized in that the Boolean logic function is one of the functions "and" or "or". 8. Dispositif selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il met en oeuvre une arborescence de représentations de périphériques, arborescence dans laquelle un périphérique est appréhendé en suivant un cheminement partant de la racine de l'arborescence et passant par au moins une feuille, l'information nécessaire pour commander ledit périphérique étant collectée au cours dudit cheminement, au moins à chaque feuille de l'arborescence rencontrée.  8. Device according to any one of claims 1 to 7, characterized in that it implements a tree of device representations, tree in which a device is apprehended following a path from the root of the tree and passing through at least one sheet, the information necessary to control said device being collected during said path, at least each leaf of the tree encountered. 9. Dispositif selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'un espace mémoire infini est géré en utilisant des adresses comportant une information de longueur de l'adresse et une information de valeur de ladite adresse.  9. Device according to any one of claims 1 to 8, characterized in that an infinite memory space is managed using addresses comprising information of length of the address and a value information of said address. 10. Dispositif selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il met en oeuvre au moins trois machines virtuelles imbriquées hiérarchiquement de la plus simple à la plus complexe. 10. Device according to any one of claims 1 to 9, characterized in that it implements at least three virtual machines nested hierarchically from the simplest to the most complex.
FR0116237A 2001-12-14 2001-12-14 Universal machine, for the simulation of various types of computer architectures, from the simple to the complex Pending FR2833728A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR0116237A FR2833728A1 (en) 2001-12-14 2001-12-14 Universal machine, for the simulation of various types of computer architectures, from the simple to the complex
FR0203260A FR2833729A1 (en) 2001-12-14 2002-03-15 Universal computer simulating other computers uses hierarchy of complexity levels in which low level machine emulates higher level machine
AU2002364652A AU2002364652A1 (en) 2001-12-14 2002-12-13 Data processing method and device
PCT/FR2002/004359 WO2003052542A2 (en) 2001-12-14 2002-12-13 Data processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0116237A FR2833728A1 (en) 2001-12-14 2001-12-14 Universal machine, for the simulation of various types of computer architectures, from the simple to the complex

Publications (1)

Publication Number Publication Date
FR2833728A1 true FR2833728A1 (en) 2003-06-20

Family

ID=8870527

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0116237A Pending FR2833728A1 (en) 2001-12-14 2001-12-14 Universal machine, for the simulation of various types of computer architectures, from the simple to the complex

Country Status (1)

Country Link
FR (1) FR2833728A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003052542A2 (en) * 2001-12-14 2003-06-26 David Carrere Data processing method and device
WO2011137558A1 (en) * 2010-05-04 2011-11-10 Liu Wenxiang Network finance device and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630076A (en) * 1995-05-05 1997-05-13 Apple Computer, Inc. Dynamic device matching using driver candidate lists

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630076A (en) * 1995-05-05 1997-05-13 Apple Computer, Inc. Dynamic device matching using driver candidate lists

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HART J ET AL.: "Minimalism in Computer Architecture: Doing more with less", WESCON PROCEEDINGS SAN FRANCISCO, vol. 29, 19 November 1985 (1985-11-19) - 22 November 1985 (1985-11-22), New York, USA, XP002225822 *
TANENBAUM ANDREW S: "Structured Computer Organization", 1976, ISBN: 0-13-854505-7, XP002225824 *
WEEGENAAR H J: "Virtuality and other things like that", PROCEEDINGS OF COMPCON FALL '78, COMPUTER COMMUNICATIONS NETWORKS, WASHINGTON, DC, USA, 5 September 1978 (1978-09-05) - 8 September 1978 (1978-09-08), New York, NY, USA, IEEE, USA, pages 287 - 293, XP002225823 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003052542A2 (en) * 2001-12-14 2003-06-26 David Carrere Data processing method and device
WO2003052542A3 (en) * 2001-12-14 2004-06-17 David Carrere Data processing method and device
WO2011137558A1 (en) * 2010-05-04 2011-11-10 Liu Wenxiang Network finance device and method thereof

Similar Documents

Publication Publication Date Title
EP1527387A2 (en) Application software generation and language for software description
EP1290554B1 (en) Modular computer system and related method
US20050065937A1 (en) Virtual resources method, system, and service
CN114791797A (en) Application development method, system, device and storage medium based on service middlebox
Heilmann Beginning JavaScript with DOM scripting and Ajax: from novice to professional
Idris NumPy Cookbook
Braunstein et al. ActionScript 3.0 Bible
FR2833728A1 (en) Universal machine, for the simulation of various types of computer architectures, from the simple to the complex
Samaan et al. Task models and interaction models in a multiple user interfaces generation process
Smyth IOS 8 App Development Essentials
FR2833731A1 (en) Universal machine for simulation of a general computing architecture, uses tree of peripheral descriptions which are in terms of language processed by hierarchically linked virtual machines
WO2003052542A2 (en) Data processing method and device
Ali Advanced IOS 4 Programming: Developing Mobile Applications for Apple IPhone, IPad, and IPod Touch
Knight et al. Mediating diverse visualisations for comprehension
Singer Practical C++ Design
Guo The first line of code
CN106445487B (en) Processing unit, software and method for controlling an interactive component
Patrick Programming Visual Basic 2008: Build. NET 3.5 Applications with Microsoft's RAD Tool for Business
Nathan . NET and COM: The Complete Interoperability Guide
Morrissey “How Can We Know the Dancer from the Dance?” Intention and the Preservation of Digital Objects
Roynard Generic programming in modern C++ for Image Processing
Evjen et al. Visual Basic. Net bible
Antsypov et al. Electronic instructional materials and course requirements" Computer science" for specialty: 1-53 01 01 «Automation of technological processes and production»
Beres Sams teach yourself visual studio. NET 2003 in 21 days
Lee SwiftUI For Dummies