Brevet FR2365162A1 — publié le 19780414

La présente invention a pour objet un dispositif permettant à llutilisa- teur diun matériel informatique de continuer l'exécution de ses programmes et le traitement de ses fichiers sur un matériel informatique différent de celui pour lequel ils ont été destinés. L'utilisateur de système informatique réalise des investissements en programmes dtapplication dont le montant cumulé croit d'année en année. Ces investissements réalisés sous la forme de programmes diapplication, doivent pouvoir Entre amortis sur de nombreuses années En d'autres termes, les programmes d'application, quel que soit le contexte de leur réalisation doivent être exécutables pendant de nombreuses années, indépendamment du Système Informatique qui les exécute. En effet, les Systèmes Informatiques évoluent rapidement sous llinflu- ence de plusieurs facteurs 1/ le rapport performance - prix des composants électroniques augmente régulièrement dans des proportions importantes, corrélativement la durée de compétitivité diun composant ne dépasse pas quelques années. 2/ Irarchitecture des Systèmes Informatiques évolue également à un pas relativement rapide, la réalisation en matériel ou micrologiciel de fonctions antérieurement réalisées en logiciel en est un exemple. 3/ Enfin, l'invention de nouvelles possibilités fonctionnelles mises à la disposition de l'utilisateur conduit à une évolution des Systèmes Informatiques par extension fonctionnelle (ta possibilité de programme indépendant des données est un exemple d'influence de ce troisièmefacteur). Pour assurer l'évolution dlun Système Informatique deux procédés sont utilisés 1) l'évolution du Système existant, 2) la réalisation d'un nouveau système. Dans le cas de réalisation dun nouveau système, la question se pose de savoir si ce dernier peut exécuter les programmes d'applications écrits antérieurement, et traiter leurs fichiers. Ce problème est identifié ici comme problème de protection des investissementsen logiciel d'application simultanément aux bénéfices résultant de liinnovation technologique en systèmes. Une solution au problème de protection des investissements en logiciel d'application consiste à écrire les programmes dans un langage indépendant du matériel, dit langage de haut niveau, COBOL est un de ces langages. A l'occasion du changement de Système Informatique, l'utilisateur recompile ses programmes. Cette protection rencontre cependant trois limites 1/ elle oblige l'utilisateur à appliquer systématiquement ce choix de type de langage de programmation, 2/ elle ne s'applique qu'aux possibilités fonctionnelles offertes par les compilateurs de ces langages-(exemple, tous les compilateurs COBOL ne permettent pas d'écrire des programmes gérant des bases de données), 3/ elle est obtenue au prix dune certaine perte de performance. Bien que la solution d'un langage indépendant du matériel soit de plus en plus utilisées, il est nécessaire de disposer vis-à-vis de ce problème de solutions complètes, clest-à-dire, indépendantes du choix du langage de programmation diapplication. Une bonne solution au problème de protection des investissements en logiciel d'application, qui soit indépendante du langage de programmation d'application doit satisfaire plusieurs critères. Critère 1 Elle doit s'appliquer à tous les programmes et à tous les fichiers du matériel de départ, tous doivent pouvoir être traités sur le matériel d'arrivée et donner des résultats d'exécution identiques aux résultats obtenus sur le matériel de départ. Critère 2 Le transfert de logiciel d'application doit pouvoir être effectué sans la présence simultanée des deux matériels ; en effet une telle simultanéité nient pas toujours possible, de plus un tel critère élimine toutes les solutions initialement compliquées avec aller et retour entre les deux matériels. Critère 3 Le rapport performance/prix du matériel d'arrivée traitant les programmes et fichiers du matériel de départ, doit se comparer favorablement au rapport performance/prix du matériel de départ ; ce critère permet diéli- miner les solutions peu performantes ou très onéreuses. Critère 4 La mise au point et le traitement du nouveau logiciel d'application doivent se faire aisément sur le matériel d'arrivée, simultanément au traitement du logiciel d'application originellement développé sur le matériel de départ ; ce critère d'intégration des traitements sur le Système d'arrivée est essentiel à la facilité d'exploitation d'un Centre Informatique, et diévolu- tion vers un nouveau logiciel d'application. Critère 5 Les quatre critères ci-dessus doivent être satisfaits pour plusieurs matériels de départ aboutissant sur un même matériel d'arrivée ; ce critère permet d'éliminer les solutions trop particulières liées à un seul matériel de départ ; la solution proposée est d'autant meilleure qu'elle s'applique avec efficacité à davantage de matériels de départ. Le problème de protection des investissements en logiciel d'application niest pas nouveau. Les solutions répondant à ce problème et satisfaisant le critère 1 ont en commun de reproduire de manière compatible sur le matériel dssarrivée les traitements du matériel de départ. Ces solutions sont baséessur l'existence dlorganesdlexécutiorscompatibles.Ces sol ut ions diffèrent selon l'architecture de l'organe correspondant. On rencontre habituellement deux types de solution à ce problème.La première solution consiste en la réalisation de simulateurs, l'organe d'exécution compatible est obtenu par ltintroduc- tion dans la machine d'arrivée du logiciel adéquat à la résolution du problème sans aucune modification des circuits électroniques ou de modification au vea des microprogrammes. La deuxième solutiondcons/iste en la réalisation un ans mulateur, sa réalisation est obtenue en réunissant ####### centrale du maté- riel d'arrivée des circuits électroniques de microprogrammes à un logiciel particulier. L'utilisation de ces deux techniques si elle résoud bien le problème de la compatibilité souhaitée a pour principal inconvénient celui de réduire considérablement les vitesses de traitement. Aussi l'invention se propose-t-elle de créer une nouvelle répartition judicieuse des composants électroniques des microprogrammes et du logiciel sur l'ensemble des éléments constituant un système de traitement, à savoir unité centrale de traitement et les unités d'entrée sortie de façon à accrof- tre la vitesse de traitement de l'organe d'exécution compatible ainsi réalisé. L'invention sera mieux comprise à l'aide de la description faite au regard des dessins qui va suivre. La Figure la représente des divers cas de distribution possibles des élé ments nécessaires à la réalisation de organe d'exécution compatible. La Figure lb représente une distribution des éléments dans la réalisation diun simulateur. La Figure lc représente une distribution des éléments dans la réalisation d'un simulateur. La Figure 1d représente une distribution des éléments dans la réalisation diun organe compatible qui sera par la suite appelée un décor. La Figure le représente une distribution des éléments dans la réalisation d'un organe compatible-qui sera par la suite appelée un multidécor. La Figure 2 représente la structure des éléments distribués d'un décor. La Figure 3 représente un système selon llinvention dans lequel on a omis de représenter l'unité de commande des périphériques. La Figure 3a représente une partie de la mémoire centrale. La Figure 3b est une représentation d'un bloc de commande de processus. La Figure 3c est une représentation simplifiée des liaisons entre l'unité arithmétique et logique les unités ACU, DMU et IFU. La Figure 4a est une représentation de l'adaptation d'interface de la mémoire de commande CIA et de Unité de mémoire de commande CSU. Les Figures 4b, c, d représentent l'unité arithmétique et logique. La Figure 4d représente unité de mémoire locale. La Figure 4e représente unité de commande d'adresse. La Figure 5 montre une disposition de la mémoire bloc note adressable. La Figure 6 représente les informations pouvant être stockées dans un registre GRO. La Figure 7 représente le format d'un mot de la mémoire de commande. Les Figures 81 et 82 représentent les tables d'entrée sortie. La Figure 9a représente un codage d'une entrée de la table lecture écriture. La Figure 9b représente un codage des entrées de tables des secteurs. La Figure 9c représente le format de la table des PCU. La Figure 9d représente le format de la table d'extension diunité de commande périphérique. La Figure 9e représente le format général d'une entrée de la table des dis positifs. La Figure 9f représente un format spécifique pour une entrée de table de dispositifs à mémoire de grande capacité. La Figure 9g montre le type des entrées dans un type de table diextf!nsion correspondant à la table d'extension de la mémoire de grande capacité de la figure La Figure 9h représente le contenu de la table de terminaison. La Figure 10 représente un contrôleur de périphérique. La Figure 11 représente la structure d'un adaptateur de porte. La Figure 12 représente le micrologiciel nécessaire à l'exécution de llins- truction EXDE, DEXT, 1. La Figure 13 représente le micrologiciel nécessaire à l'exécution de truction EXDE, DEXT, 2. La Figure 14 représente le micrologiciel nécessaire à l'exécution de l'Ainsi truction EXDE, DEXT, 3. Les Figures 15 et suivantes représentent sous forme détaillée le micrologic#iel des figures 12, 13 et 14. La dimension horizontale est constituée par la topologie du placemerwt des éléments dans le système d'arrivée~ ; selon cette dimension Organe peut prendre deux configurations non exclusives. 1) l'organe comprend des élements appartenant à l'unité centrale 2) l'organe contient des éléments appartenant à une ou plusieurs unités d'entrées sorties. Les unités d'entrées sorties contiennent les coupleurs ou controleurs d'entrées sorties, les canaux, les coupleurs ou contrôleurs drappareils périphériques. Chaque organe est caractérisé par sa matrice booléenne de 3 lignes et 2 colonnes ou chaque chiffre binaire représente lléxistence (=1) ou l'absence (=0) d'élément dans l'organe réalisé selon la technique de réalisation de la ligne correspondante, et située selon le lieu de la colonne correspondante. E., j = 1 implique que l'organe d'exécution compatible contient des éléments qui appartiennent topologiquement à la colonne j et qui sont réalisées selon la technique de la ligne i. E., j = 0 implique la négation de Eij = 1. On appaellera cette caractéristique la matrice de distribution des éléments de l'organe d'exécution compatible. Selon cette caractérisation un simulateur cf fig. lb est défini par un seul 1 à l'intersection de réalisation en logiciel et de localisation en unité centrale. Les premiers organes d'exécution compatibles ont été des simulateurs, ces organes présentent lsintérêt d'une réalisation à coût minimal. Pour améliorer le rapport performance/prix d'un simulateur, la simulation des instructions du processeur central est réalisée en micrologiciel voir en matériel, cela donne lieu à l'émulation (cf fig. 1c). Dans l'émulation les entrées et sorties sont simulées, généralement par logiciel, comme dans le simulateur. Le décor et le multidécoOpbjet de l'invention sont caractérisés par une plus grande distribution de ses éléments que dans l'émulateur. La distribution des éléments est représentée fig. Id et le. Certains éléments sont réalisés dans les unités d'entrées sorties. Ceci permet d'améliorer le rapport performance/prix de l'organe d'exécution compatible en améliorant les performances d'entrée sorties et de faciliter la compatibilité des de données. Le multidécor est défini comme la possibilité de plusieurs décors réalisés sur le m#me matériel d'arrivée et exploitables simultanément. La figure 2 représente la structure des éléments distribués d'un décor. L'utilisateur du décor doit définir les correspondances entre les éléments du matériel de départ (mémoires et appareils) utilisés par le logiciel d'application et les éléments équivalents dans le décor utilisé dans le matériel d'arrivée. La mémoire centrale d'un matériel de départ a pour équivalent un segment de mémoire virtuelle dans le matériel diarrivée. Le lecteur de carte d'un matériel de départ a pour équivalent un lecteur de carte ou bien un fichier du matériel d'arrivée. Le perforateur de cartes, l'imprimante diun matériel de départ ont respectivement pour équivalent un perforateur de carte une imprimante ou bien un fichier du matériel d'arrivée etc... Les éléments 201 à 208 représentés sur la figure 2 représentent les éléments constitutifs d'un matériel de départ alors que les éléments 209 à 221 représentent les éléments constitutifs d'un matériel d'arrivée nécessaire à l'établissement de la correspondance rendant compatible les deux matériels. Les éléments constitutifs du matériel de départ comprennent le programme d'application 201, le système d'exploitation 202, la mémoire centrale 203, l'unité centrale 204 et son unité d'entrée sortie 205 associée, elle même est reliée par le câble de liaison 206 à une unité d'entrée sortie et ses appareils périphériques associés. Les éléments constitutifs du matériel d'arrivée comprennent le programme d'application 209 qui est identique au programme d'application du matériel de départ, le système d'exploitation 210 qui est identique au système dXexploi- tation du matériel de départ ces deux éléments étant contenus dans un segment de mémoire virtuelle 211 du matériel d'arrivée L'unité centrale 212 est connectée à des éléments matériels 213 appelés matériel central du décor et est commandéeàpartir des microinstructions du micrologiciel 214 encore appelée micrologiciel central du décor. L'unité entrée sortie 215 est commandée à partir des microinstructions du micrologiciel 216 encore appelée micrologiciel d'entrée sortie du décor lui-même commandé à partir des instructions du logiciel 217 encore appelée logiciel du décor.L'unité d'entrée sortie 215 est reliée par le canal 218 à l'unité d'entrée sortie 219 commandée par le micrologiciel d'entrée sortie 220 du décor elle-même reliée aux appareils périphériques 221. Les éléments 209 à 214 montrent la structure diun décor nécessaire à l'exécution des instructions dans l'unité centrale, par contre les élénents 215 à 221 montrent la structure dun décor nécessaire à l'exécution des instructions d'entrée sortie. La figure 3 représente un système selon l'invention qui comporte plusieurs sous-systèmes 300-1 à 300-4. Les sous-systèmes correspondent de la façon représentée au sous-système d'unité centrale de traitement CPU 300-1, un sous-système de commande dXentrée-sortie 300-2, un soussystème périphérique 300-5, un sous-système de mémoire centrale 300-4 et un sous-système d'unité d'interface de la mémoire 300-3.Le sous-système de l'unité centrale de traitement des données 300-1 comporte une unité de gestion des données (DMU) 301-1, une unité d'extraction des#instructions(lFU) 301-3, une unité arithmétique et logique (ALU) 301-6, un adaptateur dlinter- face de mémoire de commande (CIA) 301-4 et une unité de mémoire de comman de (CSU) 301-5, tous disposés de la façon représentée sur la figure 3. Le sous-système CPU effectue les opérations de calcul pour le système et ces opérations se déroulent sous la commande de microinstructions stockées dans la mémoire de commande 301-5.Suivant un mode de réalisation préféré, ces instructions sont chargées dans la mémoire de commande 301-5 par un chargeur de mémoire de commande d'un type courant, extérieur au sous-système d'unité centrale de traitement 300-1. L'adaptateur CIA 301-4 comporte les circuits logiques nécessaires pour diriger la séquence de la mémoire de commande 301-5 nécessaire pour les opérations de traitement. Par exemple, le CIA 301-4 assure de la façon requise la modification des adresses, la production des adresses, les essais ou tests et les branchements d'après les signaux représentant les conditions intérieures ainsi que les conditions extérieures. Les différentes opérations du genre calcul, sont effectuées par l'unité ALU 301-6 qui comporte des unités de traitement des données à la fois pour les mots et les multiplets. De plus, une mémoire locale (LSU) 301-7 est associée à l'unité ALU et clest une mémoire bloc-notes avec des circuits logiques associés, de forme classique, qui opère pour le stockage de lXinfor- mation de commande ainsi que des opérandes et des résultats partiels produits pendant les différentes opérations de calcul et de manipulation des données. L'unité de commande d'adresse ACU 301-2 couplée à ltunité ALU 301-6 est un dispositif pour engendrer des adresses pour désigner les informations stockées dans le sous-système de mémoire. De plus, l lunité ACU 301-2 est couplée à l'unité IFU 301-3 qui comporte des circuits pour extraire des instructions en avance afin de maintenir des instructions disponibles avant la fin de l'exécution d'une instruction en cours d'exécution. L'unité DMU 301-1 constitue une interface entre le sous-système CPU et/ou une mémoire tampon 303-2, de la façon représentée. L'unité DMU comporte des circuits qui spécifient quelle partie de la mémoire du soussystème de mémoire central e contient l'information devant 8tre extrait e pendant les cycles consécutifs de la mémoire, et elle opère pour transférer l'information au sous-sytème CPU au moment voulu. Le sous-système d'unité d'interface de la mémoire centrale 300-3 comporte une mémoire tampon 303-2, un répertoire de mémoire tampon 303-3 et un séquenceur pour la mémoire centrale 303-1. La mémoire tampon 303-2 assure le stockage temporaire de l'information devant être utilisée ensuite par llunité CPU ainsi que pour le stockage temporaire de llinformation devant être utilisée fréquemment au cours des opérations de traitement des données. Le répertoire de la mémoire tampon 303-3 comporte des circuits pour produire une adresse quand l'information demandée par une opération est contenue dans la mémoire tampon 303-2. Le séquenceur 303-1 pour la mémoire centrale constitue une interface entre les différents modules de la mémoire centrale 300-4 et les différents sous-systèmes représentés (ciest-à-dire le i0C 300-2 et le CPU 300-1). Le sous-système de mémoire centrale 300-4 connecté au circuit de séquence du sous-système d'interface est constitué selon un mode de mise en oeuvre préféré par quatre modules de mémoire 304-1 à 304-4. Ces modules fonctionnent sous la commande du séquenceur de mémoire centrale suivant plusieurs modes différents parmi lesquels un mode imbriqué de fonctionnement. Ces modules assurent le stockage de l'information nécessité par les compo -santes de traitement du système pendant l1exécution des taches courantes. D'autres détails concernant le séquenceur pour la mémoire centrale peuvent être trouvés dans la demande de brevet français NO 73 35 442 déposée le 4 Octobre 1973 et intitulée: "Dispositif de génération de séquence de mémoire". Comme le montre la figure 3 > l'unité de commande dientrée-sortie IOC 300-2 est couplée au sous-système périphérique 300-5. Ce sous-système comporte plusieurs processeurs périphériques" qui commandent les opérations d'un certain nombre de dispositifs périphériques connectés à ce sous-système (par exemple des systèmes d'entralnement de bandes magnétiques, des mémoires de grande capacité telles que des disques, et des équipement d'enregistrement tels que des imprimantes, des lecteurs de cartes et des perforatrices de cartes). Le IOC commande les transferts de l'information entre les soussystèmes périphériques et le sous-système de mémoire centrale.Par exemple, il peut desservir jusqulà 16 sous-système pé: iphériques, chacun, comme il a été indiqué ci-dessus, gérant un groupe de dispositifs à bandes magnétiques, de disques magnétiques, de lecteurs de cartes, de perforatrices, dlimprimantes, etc. Le IOC est couplé au système de mémoire centrale pour transférer les informations entre la mémoire centrale et les sous-systèmes périphériques pour extraire des groupes d'instructions appelées "programmes de canaux" à partir de la mémoire centrale et pour exécuter ces instructions sans interrompre le fonctionnement du sous-système d'unité centrale de traitement. De plus, le IOC est couplé au sous-système de traitement central des données pour envoyer Irinformation d'état des sous-systèmes périphériques au CPU pour l'évaluation et/ou l'action et pour répondre aux demandes du CPU pour débuter I inexécution des "programmes de canaux et pour informer le CPU que l'exécution diun programme de canal est terminée. D'une façon générale, suivant le mode de mise en oeuvre préféré de l'invention, les opérations dientrée-sortie sont effectuées sous la commande d'un programme de canal qui comporte un jeu complet d'instructions et d'informations diadressage pour effectuer une opération particulière dientrée-sortie. Le IOC contient ainsi les programmes fixes et les chaises de micro-instructions nécessaires pour l'exécution diun programme de canal. L'exécution diun programme par le 10C est assurée à travers plusieurs canaux.Un ttcanalt est une voie d'accès entre le CPU et le dispositif périphérique pour l'exécution d'une opération dientrée-sortie (î/o). Le canal comporte des unités de commande dientrée-sortie IOC, un canal physique ou matériel entre le IOC et le soussystème périphérique et un canal logique qui comporte les moyens du soussystème périphérique nécessaires pour exécuter une opération dientréesortie donnée. Suivant un mode de réalisation préféré, l'unité de traitement périphérique peut desservir jusqu'à 256 canaux logiques. Comme le montre la figure 3, le sous-système IOC 300-2 comporte une unité de gestion de mémoire 302-1, une unité de code de service 302-2 et plusieurs unités de commande des canaux 302-3 .. 302-4. Comme le IOC peut desservir jusqu'à 16 sous-systèmes périphériques, il comporte un nombre correspondant d'unités de commande des canaux. Comme il a été indiqué ci-dessus, les opérations d'entrée-sortie i/Osont spécifiées par les programmes de canaux. Les programmes de canaux sont lancés par les unités périphériques de traitement sur des "canaux logiques" associés aux dispositifs périphériques. Le IOC maintient toutes les informations concernant l'état de chacun des canaux logiques et des programmes de canaux associés. Les programmes de canaux sont exécutés simultanément aux opérations de traitement de l'unité centrale pour permettre des ressources de multitraitement et de multiprogrammation. Pour les besoins de la présente invention, l'agencement pour exécuter les opérations dientrée-sortie peut être considéré comme étant d'un type classique. Pour les informations supplémentaires, par exemple indiquant comme nt les canaux sont utilisés pour effectuer les opérations drentrée-sortie, il est fait référence au texte intitulé "Computer Organization and the System/370" par Harry Katzan, Jr, publié en 1971 par Van Nostrand Rinehold Company. Avant la description des différents constituants de la figure 1, llorga- nisation de la mémoire centrale 300-4 est d'abord expliquée ci-après en considérant la figure 1 a. Mémoire centrale (figure 3a) Une zone correspondant à l'extrémité inférieure de l'espace d'adresse de la mémoire centrale est réservée pour l'utilisation par le matériel et la microprogrammation ou chaises de micro-instructions du système. La limite supérieure de cette zone est spécifiée par le contenu d'un "registre d'adresse de limite" (BAR) qui est accessible au logiciel du système. D'une façon générale, le contenu du BAR est conditionné à une valeur prédéterminée au moment de l'initialisation du système. La zone ou espace en dessous de l'adresse spécifiée dans le contenu du BAR contient normalement des tables utilisées par le IOC, et qui définissent la configuration des instructions de la micro-programmation des sous-systèmes périphériques particuliers pour la commande du fonctionnement du CPU.Comme le montre la figure 3a, la mémoire est divisée en plusieurs segments qui sont accessibles pour un traitement donné défini par le logiciel des systèmes d'exploitation. La mémoire centrale peut être considéréecomme une mémoire virtuelle segmentée dans laquelle les adresses des programmes sont des données représentées par le même segment dans lequel elles se trouvent et par un déplacement dans ce segment. Des "anneaux" de protection sont assocjés aux segments et protègent le contenu du segment contre les accès/ De même, les anneaux de protection auxquels appartiennent les segments font partie des données associées au segment. Pour une information supplémentaire concernant la mise en oeuvre de la mémoire virtuelle et de la protection des programmes, il est fait référence à la publication "The Multics Virtual Memory publiée par Honeywell Informations Systems Inc., Copyright 1972. L'information de l'émulateur de la mémoire centrale ou du décor et les structures des données indiquées sur la figure la comprennent plusieurs segments (A à D). Le segment A est codé pour contenir une image de la mémoire de commande du système d'exécution. De ce fait, il contient les registres de traitement (par exemple des compteurs de lecture-écriture dinitialisation et en cours d'exécution, des registres scientifiques, des registres de travail, etc). Le segment A est identifié au système par le contenu du registre d'adresses de base 3 (BR3). Le segment B comporte les tables dientrée-sortie organisées selon la présente invention. L'accès à ce segment est obtenu par le contenu du registre d'adresses de base 4 (BR4). La mémoire centrale du système d'exécution est affectée au segment C et ce segment est identifié au système d'émulation ou décor par le contenu du registre d'adresses de base 2 (BR2). La capacité du segment est choisie pour être égale à la capacité de la mémoire du système d'exécution émulé ou du décor. Etant donné une adresse absolue M ou un caractère, ce caractère sera localisé en indexant le contenu de BR2 par M. Suivant le mode de réalisation préféré, le format de l'information contenue dans la mémoire centrale correspond au format de l'information utilisée par le système d'exécution. Autrement dit, les deux systèmes utilisent un caractère" qui contient 8 bits, clest-à- dire 6 bits de donnée et 2 bits de ponctuation (un bit de drapeau mot, le bit 1 et un bit de drapeau article, le bit 0).La seule différence avec la façon suivant laquelle l'information est représentée dans le système principal est la numérotation des bits de gauche à droite en tant que 0 à 7 au lieu de droite à gauche en tant que 1 à 8. Le segment D contient les tables et les sous-programmes ou routine pour la manipulation des fonctions non manipulées par le programme fixe ou la microprogrammation ou chaise de micro-instructions du système. Par exemple la partie logicielle, ou d'ensemble de programmes d'émulation (ESP) ou du décor opère pour traduire et pour exécuter les ordres dientrée-sortie du système d'exécution. De plus, elle peut simuler différentes parties matérielles des systèmes d'exécution ainsi que certaines opérations exécutées jusqu'ici par les système d'exécution. Bien entendu, il sera observé que l'exécution réelle des opérations dientrée-sortie ont lieu à travers la structure l/O du système central. Les tables contenues dans le segment D, par exemple, contiennent I es adresses périphériques utilisées par les systèmes dtexécution et qui correspon dent au système pour une configuration particulière sous émulation. D'autres tables sont utilisées pour enregistrer Ilétat d'un transfert ou pour un décor particu lier, liadresse de son dispositif de commande et IItétat de tous les canaux de lecture/écriture du système d'exécution. Bien que cela ne soit pas montré sur la figure 3a, il existe dans la mémoire centrale un segment ou une partie de segment qui contient le bloc de commande du traitement (PCB). Le PCB contient I information en rapport nécessaire pour le déroulement d'un traitement donné. Le type d'information contenue dans un PCB est montré sur la figure 3b. Ainsi qu'il apparaît sur la figure 3b, cette information est la seule condition nécessaire pour permettre au système de la figure 3 d'émuler ou d'exécuter un décor des machines diexécution particulières. Le contenu du PCB sera décrit conjointement avec la présente -invention. Description détaillée du sous-système CPU Les différentes parties du sous-système CPU de la figure utilisées pour l'émulation ou dans un décor, sont décrites ci-après plus en datail. Adaptateur d'interface de la mémoire de commande (CIA) et unité de mémoire de commande (CSU). Figure 4a La matrice de la mémoire de commande 405-1 de l'unité CSU suivant le mode de réalisation préféré comporte à la fois des sections fixes et des sections qui peuvent être modifiées ou altérables. La section fixe peut entre construite en utilisant une mémoire programmable à lecture seulement (PROM) et la partie altérable de la mémoire à lecture/écriture en circuits intégrés. L'ensemble de la mémoire est adressable par l'intermédiaire d'un registre d'adresse KS et sa partie supérieure peut être modifiée pour obtenir la possibilité de commande du système suivant un certain nombre de modes différents. L'un de ces modes est celui utilisé pour l'émulation ou le décor du fonctionnement d'un certain nombre de systèmes d'exécution différents. Un autre comporte la possibilité de diagnostic pour diagnostiquer si une partie ou des parties du système sont en dérangement. Suivant le mode de réalisation considéré, la matrice de mémoire de commande a une dimension de 7K ( K= 1024 bits) et la largeur de chaque mot de la mémoire de commande est de 84 bits. La matrice de mémoire de commande est divisée en sections suivantes : 1K pour des microdiagnostics, 2K pour l'émulation ou le décor et 4K pour ltopération sur le mode natif ou naturel.Il est évident que les emplacements de la mémoire de commande contenant une section donnée, peuvent être contigües ou non conti gües. Le 1K utilisé pour le microdiagnostic peut être modifié dynamiquement, ainsi que les parties utilisées pour l'émulation ou le décor et pour l'opération sur les modes natifs. Les autres emplacements de la mémoire de commande sont non altérables ou fixes. Il sera remarqué que la structure de la martice de la mémoire de commande peut chan ger en fonction du prix, de la vitesse et de la souplesse ainsi que d'autres considérations. Pour d'autres détails relatifs aux mémoires à lecture seulement, il est fait référence à un article intitulé "Universal Logic Modules Implemented Using LSI Techniques" de Kenneth J.Thurber et Robert O. Berg publié dans Fall Joint Computer Conference, I 971. Chaque mot de la mémoire de commande a une longueure de 24 bits ainsi qu'il a été indiqué, et il est divisé en plusieurs zones (6) de la façon montrée sur la figure 7. Une première zone appelée zone "E1, est une zone de commande de branchement identifiant le branchement devant être pris. Comme le montre la figure 4a, il existe jusqu'à 8 types différents de codes désignés E0 à E7. Les circuits de sélection 404-1 à 404-7 du CIA utilisent les zones A, B, C, D et L diun mot de micro-instruction pour engendrer les adresses des branchements. Par exemple quand ira zone E est codée entièrement avec des zéros, cela spécifie urpgcondrtionnei (ou inconditionnel si aucun essai nient spécifié) d'une opération de branchement à 1 à 4 voies en utilisant C et D comme zones dressai, Le branchement est effectué à une adresse de base égale à la valeur des zones A et B. Cette valeur est modifiée d'après les résultats produits par les circuits 404-1 et 404-3 à partir du test des conditions spécifiées par les zones C et D. Chaque zone diessai à une longueur de 6 bits permettant 64 essais ou tests différents par zone.Les résultats de l'essai des conditions spécifiées par les zones C et D provoquent le positionnement avec des 1 binaires par les circuits 04-1 et 04-3 des bits 11 et 12 du registre d'adresses de commande. Le bit 13 de l'adresse de la mémoire de commande est rendu égal à l'état du bit L. Quand la zone de commande de branchement E est positionnée au code "1", cela permet un brahcnement jusqu'à 64 voies en utilisant les zones B, C et D comme fonctions d'essai. La zone B est utilisée comme masque dressai pour l'essai des fonctions d'essai (cest-à-dire que les fonctions d'essai sont combinées avec la zone d'essai B dans une opération ET). Quand la zone E est codée pour contenir un code "2", cela spécifie une opération de retour d'interruption qui ne concerne pas la présente invention et nta pas besoin d'être décrite plus en détail.Quand la zone E est codée pour contenir "3', cela déclenche un retour à partie d'une opération de sous-routine à un microprogramme, suivi par une opération supplémentaire de branchement pour compléter le retour. Dans cette opération, IAdresse contenue dans un regis- tre de retour KR 404-12 est utilisée comme adresse de commande suivante. Le registre de retour 404-12 est normalement chargé d'une valeur correspondant au contenu de l'adresse dans le registre adresses de la mémoire de com mande KS plus 1 par des circuits d'acrroiseement représentés.Quand la zone E est codée comme 4, cela permet au circuit drincrémentation 404-11 diaugmen- terde 1 le contenu du registre KS 404-9. Cela a eu lieu uniquement par une opération de branchement conditionnel, ou de branchement de retour. De même, des dispositifs, non représentés existent pour forcer le registre KS à une valeur prédéterminée en réponse à certaines conditions extérieures. Comme le montre la figure 7 le mot de la mémoire de commande comporte une zone supplémentaire K. Cette zone est une zone de 14 bits dont 6 sont utilisés pour spécifier une constante et 4 pour spécifier une autre constante ou zone de direction, les 4 derniers bits étant utilisés comme zone de direc tion pour une constante. Une zone QA-QB comporte 8 bits dont 4 spécifiant l'information devant être envoyée à un premier canal omnibus appelé par abréviation bus (ctest-à-dire le bus QA), les 4 bits suivants assurant la commande de l'information appliquée à un autre bus (clest-à-dire le bus QB). Les deux bus sont bidirectionnels et couplent les différentes unités du CPU pour la transmission et la réception des données et des informations de com mande. En liabsence d'une opération de branchement pendant un cycle de fonc tionnement, la mémoire de commande est adressée par le contenu du registre adresses KS 404-9 et le contenu de l'emplacement adressé est sorti dans plusieurs verrous de données 405-2. Ensuite, une partie des signaux sortant (clest-à-dire les bits 26-79) de ces verrous est distribuée ou est transférée à des registres de stockage (non représentés) contenus dans chacune des unités du sous-système CPU. Chacune de ces unités contient des circuits logiques de décodage (non représentés) qui ont la forme de mémoires programmables à lecture seulement (PROM) qui produisent les signaux de commande des sous-commandes requises pour leut unité respective.De cette façon, chaque unité peut combiner les signaux fournis par sa mémoire PROM et diviser ces signaux en groupes pour la combinaison avec autres signaux générés dans cette unité de la façon requise pour effectuer différentes opérations. Les circuits décodeurs 405-4 décodent certaines ozones (par exemple les zones de branchement) et génèrent les signaux nécessaires pour établir les séquences d'opération. De même, ainsi qulil apparat sur la figure 4a, l'uni té de mémoire de commande comporte un registre local KN 405-6 qui est couplé à travers un registre FW 405-8 à la matrice de mémoire de commande 405-1. Cet arrangement permet la réinscription dans un emplacement adressé de l'information sortie pendant un cycle de la mémoire. En raison de la dimension du registre, l'information sortie est réinscrite, dans la matrice de mémoire de commande, 12 bits à la fois. Unité arithmétique et logique (figure 4b-4d) Cette unité représentée sous la forme dun schéma fonctionnel sur la figure 3c effectue toutes les opérations arithmétiques et logiques pour le sous-système CPU. Cette unité comporte un additionneur de mots 406-1 représenté sur la figure 4b qui effectue les opérations arithmétiques et logiques sur une paire d'opérandes ayant une longueur de 4 multiplets qui sont stockés dans une paire de registres dtopérandes 406-3 et 406-5. Les contenus des registres diopérandes 406-3 et 406-5 sont envoyés à travers des circuits sélecteurs 406-7 et 406-9 de forme classique. Les signaux sortants résultants générés par l'additionneur de mots 406-1 sont envoyés au registre 406-3 et au registre LY. Un circuit décodeur 406-2 teste le registre AC pour la présence de zéros. Deux registres 406-11 et 406-12 servent comme registres auxiliaires et sont couplés aux éléments et aux canaux omnibus indiqués. Le registre AF 406-12 reçoit aussi les signaux de données dun registre AG 406-88 par l'intermédiaire d'un circuit sélecteur SFS 406-14 en réponse à des signaux de commande d'un compteur à trois étages 406-16. Le compteur SE 406-16 est incrémenté ou décrémenté par un circuit dlincrémentation/décrémentation 406-18. Ce compteur est chargé à partir de registres #ompris dans itaddition- neur de multiplets et l'unité CIA. Unité ALU comporte aussi un registre AI 406-20 de code d'opération ou OP-CODE, des circuits décodeurs 406-22 et un registre de commande et de mode 406-24 combinés de la façon représentée. Le contenu du registre 406-24 conditionne l'additionneur pour effectuer l'opération désignée par le code d'opération d'une instruction. Le ALU comporte aussi un circuit à décalage à 64 bits 406-30 qui peut avoir la forme de circuits logiques tels que ceux décrits dans la demande de brevet des Etats-Unis dlAmérique Sériai n0 320.011 du 2 Janvier 1973. Le circuit à décalage 406-30 est couplé aux registres AC et AE 406-3 et 406-11, et il est commandé par un registre de commande à 8 bits 406-32.Le registre 406-32 est chargé directement à partir des sources représentées ou indirectement à travers un circuit sélecteur 406-34. Comme le montre la figure 3c, l'unité ALU comporte un additionneur à 8 bits (multiplet ou octet) 406-50 représenté plus en détail sur la figure 4c. Pour les besoins de la présente invention, l'additionneur 406-50 peut être considéré dtune forme classique? L'additionneur 406-50 opère sur les opérandes un multiplet ou octet à la fois et il comporte des circuits logiques décodeurs qui effectuent les opérations requises par les systèmes d'exécution. De plus, l'additionneur comporte des circuits de correction décimale 406-72, des circuits décodeurs de résultat zéro 406-74, une bascule de sortie 406-75 et des circuits sélecteurs de sortie 406-76. L'additionneur 406-50 comporte aussi plusieurs registres de mémoires qui sont couplés aux bus communs QA et QB et l'un à l'autre de la façon représentée sur la figure 4c. Il apparaît aucun registre 406-58 est couplé au bus commun de données/commande QB et aux sources désignées LSM, AA et ARB par des circuits 405-78. La source LMS correspond à la mémoire bloc-notes de la figure 4d qui est comprise dans la mémoire 301-7 de la figure 3.Comme il a été indiqué ci-dessus, cette mémoire assure le stockage temporaire pour unité ALU ainsi que le stockage temporaire pour l'information de commande et l'information d'adresse correspondant au traitement d'une instruction particulière. Les utilisations de cer tains emplacements de stockage local sont représentées sur les figures 5 et 6. Les sources AA et ARB correspondent respectivement au registre 406-52 et l'additionneur de multiplets 406-50. Le registre 406-52 est couplé aux canaux omnibus QA et QB et au registre AC 406-3 à travers le circuit sélecteur 406-65. Ainsi que le montre la figure 4b, les registres AA et AB 406-52 et 406-54 servent principalement comme registres d'opérandes A et B qui sont couplés à i tadditionneur de multiplets 406-50 par les circuits sélecteurs AAS et ABS 406-56 et 406-58. Un registre de commande de mode 406-57 est couplé directement à l'additionneur 406-50 et le contenu du registre conditionne l'additionneur pour qu'il exécute l'addition spécifiée par une constante chargée dans le registre. Le registre AA 406-52 reçoit un multiplet désigné parmi 4 multiplets contenus dans le registre AD de I tadditionneur de mots.Le multiplet particulier sélectionné est défini par le contenu dtun compteur SD 406-60 qui comporte un circuit dlincrémention/décrémention. Les contenus du compteur servent comme un indicateur désignant celui des multiplets devant être chargé ensuite dans le registre AB 406-58. De façon similaire, le compteur SC 406-62 comportant un circuit dlincrémentionZdécrémention 406-63 sert comme indicateur pour désigner celui des multiplets devant être chargé dans le registre AA 406-52 à partir du registre AC 406-3 de l'additionneur de mots. Autrement dit, les compteurs SD et SC conditionnent les circuits sélecteurs 406-65 et 406-66 respectivement pour charger les registres diopé- randes AA et AB à partir des registres AC et AD.De même, les registres AB et AA 406-58 et 406-52 peuvent être chargés à travers les circuits portes 406-78 et 406-80. Les circuits sélecteurs 406-65 et 406-66 peuvent charger une paire de registres de commandes 406-82 et 406-84. Ces registres assurent le stockage temporaire de certains caractères de commande variables d'une instruction traitée (par exemple, les caractères de codes OP et Cl). Un circuit décodeur 406-86 est couplé au registre 406-84 pour décodeur les bits du caractère Cl. Les registres mémoires comprennent un registre supplémentaire 406-88 qui est utilisé pour effectuer certaines opérations de masquage par lesquelles des signaux sont chargés dans le registre à travers un circuit sélecteur 406-90 et dont le signal est à son tour appliqué à l'additionneur de multiplets 406-50 à travers le circuit sélecteur 406-54. Le registre 406-88 est aussi utilisé pour charger un compteur décroissant à trois étages 406-92. Ce compteur est utilisé pour conserver la trace du nombre de caractères de commande traités par llémulateur ou le décor. Le compteur comporte aussi un circuit décodeur 406-94 qui signale à quel moment le compteur est descendu à zéro. De plus, l'additionneur de multiplets 406-50 comporte plusieurs bascules utilisées par le système central dans des buts de commande et de stockage. L'une de ces bascules est une bascule de mode émulation 406-80 qui est positionnée et remis à l'état initial ou au repos par la microprogrammation. Diautres bascules comportent plusieurs bascules de commande CFO à CF7 qui sont couplées au circuit d'essai de la mémoire de commande de la figure 4a. Unité de mémoire locale (figure 4d) La figure 4d représente plus en détail l'unité de mémoire locale de unité ALU des figures 3 et 3c. Comme le montre la figure 4d, cette unité comporte une mémoire bloc-notes addressable 407-1 d'une largeur de 32 bits. La mémoire contient jusqu'à 256 emplacements de stockage de la façon représentée. Cette mémoire est adressable par un registre LR 207-2 qui reçoit des signaux du canal omnibus ou bus QA ainsi que du registre EW 406-84, à travers un registre 407-4 et des circuits portes 407-3, de la façon représentée. Le registre LR 407-2 comporte aussi un circuit dincrémention/décré- mention 407-5. Pendant un cycle de fonctionnement, le contenu dun emplacement adressé est sorti dans un registre de sortie 407-9 et il est appliqué-au deuxième registre et aux canaux omnibus indiqués. La figure 5 montre la disposition de la mémoire 407-1. Cette figure montre que les premiers 16 emplacements de la mémoire sont affectés pour stocker les informations correspondant aux registres généraux GRO à GR15 du PCB. Ainsi qu'il est expliqué, ces emplacements sont utilisés pour appeler le ESP quand ils sont codés pour contenir une information arrangée dans le format tel que celui représenté sur la figure 6. Un autre groupe d'emplacements 30 à 3F sert comme emplacements de travail qui stockent l'information obtenue à partir des tables de 1/O de la façon décrite. Les autres emplacements ne concernent pas l'invention et ne sont pas décrits plus en détail. Unité de commande d'adresse (figure 4e) La figure 4e montre les circuits qui engendrent les adresses effectives et absolues d'un segment de la mémoire centrale utilisant un associateur diurne largeur de 16 bits ou mémoire associative 402-1. La mémoire 402-2 est couplée à un codeur 402-3 qui à son tour est utilisé pour indiquer l'un desempla cements parmi les 16 emplacements d'une mémoire tampon diassociateur d'une largeur de 64 bits. L'information est écrite dans la mémoire tampon à travers un registre 402-4. De même, liassociateur UAS 402-1 est couplé à un registre d'entrée 402-7 qui reçoit l'information de numéro de segment diun registre UT 402-9.Comme cela est expliqué, l'agencement ci-dessus est utilisé pour engendrer l'information adresse absolue pour la référence à la mémoire principale. Ce dernier agencement fait l'objet de la demande de brevet fran cais Na 73.30 625 déposée le 23 Août- 1973 et intitulée "Système de traitement de données à mémoire adressable". D'une façon plus détaillée Itassociateur d'adresses 402-1 contient les numéros de segments "STN/STE" pouvant être au nombre de 16 descripteurs de segments stockés dans la mémoire tampon 402-5 de liassociateur. Chacun des 16 emplacements de liassociateur comporte 16 bits de données plus 4 bits de contre et de commande. Pendant le développement d'une adresse absolue le numéro d'un segment désiré est chargé dans un registre US 402-7. Ce registre sert comme registre d'adresses dont le contenu est appliqué aux 16 emplacements de I tassociateur 402-1.Quand une comparaison vérifiée ou comparaison vraie est détectée, le codeur 402-4 est conditionné par la sortie de l'associateur 402-1 pour générer un code de 4 bits qui à son tour sélectionne celui des 16 emplacements contenant le descripteur de segment associé à ce numéro particulier. Stil nty a pas de comparaison vérifiée, le descrip teur de ce numéro de segment doit être extrait de la mémoire centrale à travers le canal omnibus QA. Quand le descripteur a été extrait, il est écrit dans la mémoire tampon 402-5 à travers le registre 402-4 et un bit de réponse obtenue est positionné à 1. La figure 4e montre que le ACU 301-2 contient aussi un fichier de registres d'unités (URF) 402-20 qui comporte plusieurs emplacements de registres d'adresses de base de 32 bits BRO-BR7 en plus d'emplacements de registres de travail UW4 à UW7, tous étant adressés à travers un circuit sélecteur 402-22 par les contenus des registres 402-24, 402-26 et 402-30. Certains de ces registres contiennent normalement des adresses de registres de base dérivées d'une instruction, d'une micro-instruction, etc.. appliquéestva travers les canaux omnibus QA et QB de la façon représentée. Le URFI truit.en utilisant des circuits logiques et il est- stucturé pour permettre la sortie du contenu de plus dtun registre à la fois.Le registre 402-24 comporte un circuit d'incrément 402-28. Pendant une écriture d'un cycle d'opération, le circuit sélecteur 402-22 est conditionné par des signaux de commande générés par la mémoire de commande pour sélectionner les contenus des registres 402-24, 402-26 et 402-30 pour désigner l'emplacement dans lequel l'information doit être écrite. Spécifiquement, les adresses contenues dans les registres 402-24 et 402-26 sont utilisées pour sélectionner l'un des premiers emplacements. Le contenu du registre 402-30 est utilisé pour sélectionner l'un des 12 emplacements de registres.En l'absence de signaux de commande de la mémoire de commande le registre 402-30 est sélectionné comme source des signaux d'adresse. Le registre 402-24 et le registre 402-26 sont sélectionnés en réponse à certains signaux de commande. Pendant un cycle de lecture, un circuit sélecteur 402-32 opère pour appliquer l'adresse contenue dans l'un des registres 402-24 et 402-26 ou une constante dsun registre non représenté à un circuit sélecteur de sortie 402-40 pour sélectionner l'un des 8 premiers emplacements pour la sortie. De même, des signaux de commande désignent le registre particulier devant être sélectionné par le circuit sélecteur 402-32. La donnée appliquée à travers le canal omnibus QA, le canal omnibus QB, le circuit sélecteur 402-36, le registre d'adresses des multiplets 402-48 ou à travers les circuits dtincrémention/décrémention 402-46 est décrit dans un emplacement adressé par le circuit sélecteur de donnée 402-34. Les circuits à portes de l'unité de commande des sélecteurs 402-47, en réponse à des signaux de la mémoire de commande et d'une bascule de mode émulateur ou décor (UEMU) 402-49 génèrent des signaux qui conditionnent les circuits sélecteurs 402-34 pour combiner des bits sélectionnés du canal omnibus QB avec des bits d'une source appropriées pour obtenir le format correct corres pondant au mode de caractère spécifié.La bascule de mode émulateur ou décor ACU conditionne la commande du circuit sélecteur pour générer des signaux pour un mode caractère spécifié par les instructions des systèmes d'exécution. Cette bascule est d'abord commutée par la microprogrammation de la façon expliquée. L'état d'une bascule dlincrémention/décrémention de commande (UID) 402-45 établit si les circuits 402-46 doivent subir un incré I ment ou un décrément. De plus, les circuits dlincrément/décrément 402-46 reçoivent des signaux d'un emplacement adressé à travers un circuit sélecteur 402-36 et à partir d'un registre 402-48. Les circuits 402-46 peuvent être construits avec des circuits additionneurs-soustracteurs classiques. Quand les registres 402-42 et 402-44 sont chargés directement à partir des circuits de verrouillage de la mémoire de commande, ils canditionnent les circuits sélecteurs 402-36 et 402-38 pour sélectionner l'un des 8 derniers emplacements du registre pour la lecture de sortie. Le circuit sélecteur 402-36 envoie des signaux aux canaux omnibus QA et QB en plus des signaux envoyés aux circuits dlincrément/décrément 402-46. Le circuit sélecteur 402-38 envoie les signaux à un circuit additionneur 402-50 qui est couplé à un registre de sortie 402-52 et au circuit sélecteur 402-34 et le circuit sélecteur 402-40 est connecté à un registre de décalage de base 402-54 qui reçoit les autres signaux entrants représentés. Pendant l'établissement d'une adresse absolue, le numéro de segment "SEG" de l'adresse du registre de base est chargé dans le registre US 402-7 à travers le circuit sélecteur UBS 402-40 tandis que la valeur "DECALAGE" de adresse du registre de base est chargée dans un registre UN 402-54. Le contenu du registre UN 402-54 est appliqué à l'additionneur UBD 402-50 qui additionne le contenu à une valeur de déplacement obtenue à partir de la partie d'adresse d'une instruction traitée.La somme produite par l laddi- tionneur 402-50 est chargée dans l'un des registres de travail (par exemple UW2) par l'intermédiaire du circuit sélecteur de données UWB 402-34 pour une référence supplémentaire. Ltassociateur 402-1 est interrogé pour déterminer si adresse du segment contenu dans le registre US 402-7 est stockée dans la mémoire tampon 402-5. Quand c'est le cas, Adresse de base du segment contenue dans la mémoire tampon 402-5 est chargée dans le registre UN 402-54.Le contenu de l'emplacement de mémoire du registre de travail contient la valeur de décalage et de déplacement pour le segment, est appliqué à l'additionneur 402-50 à travers le circuit sélecteur 402-38-et il est additionné à l'adresse de base du segment. La somme constitue une adresse absolue qui est chargée dans le registre UA 402-52 pour adresser la mémoire centrale. Adresse absolue peut aussi être -stockée dans un emplacement de registre de travail du fichier de registres d'unités pour une référence suppl#- mentaire (par exemple UW2). Pour des renseignements supplémentaires concernant la façon suivant laquelle certains des éléments décrits ci-dessus peuvent être construits (par exemple des circuits sélecteurs, des circuits additionneurs, des circuits dt incrément/décrément, des mémoires bloc-notes, etc) il est fait référence à la publication intitulée "The lntegrated Circuits Catalog for Design Engineersi' de Texas Instruments Inc., imprimée en 1972. Il sera remarqué que les circuits additionneurs décrits peuvent être utilisés pour effectuer les opérations du type incrément/décrément nécessaires. Tables l/O (figure 8) Avant la description du fonctionnement d'un système selon l'invention, il sera d'abord considéré la figure 8 qui décrit l'organisation des tables 1JO selon l'invention. Suivant le mode de réalisation considéré, ainsi que le montre la figure 8, il existe six classes générales de tables qui sont une table de canaux de lecture/écriture, une table de secteurs, une table de terminaison, des tables d'unités de commande périphériques, des tables diexten sion des PCU, des tables des dispositifs et des tables d'extension des dispositifs. Table des canaux lecture/écriture La table des canaux de lecture/écriture (RWC) est organisée sur la base des système d'exécution émulés ou des décors. Autrement dit il existe une de ces tables pour chaque système émulé ou chaque décor. Le contenu du registre d'adresse de base 4 (BR4) désigne le début ou la base de la table RWC. Chaque table comporte un espace d'adresses de 256 multiplets. Ces multiplets sont groupés en 64 entrées, cest-à-dire une entrée pour chaque code possible de canal de lecture/écriture pouvant être spécifié par un prograille diun système d'exécution. Chaque entrée est codée de la façon représentée sur la figure 9a, sur laquelle il apparaît que chaque entrée contient une zone de masquage d'une tranche de temps de 6 bits, une zone de code de compteur de 6 bits, un bit de I/O augmenté unique (EXT), une zone de code de secteur de 3 bits et une zone de masquage d'occupation RWC de 16 bits. La figure 9a montre aussi un exemple d'une entrée de zone RWC spécifiée pour un système d'exécution particulier. Comme le montre la figure 9a, un maximum de six tranches de temps peut être représenté dans un système d'exécution émulé (clest-à-dire les tranches de temps 1 et 1 a à 3a. Suivant cet exemple, deux tranches de temps sont demandées par le code RWC et elles correspondent à une vitesse de transfert des données de 167 caractères par secon de (CPS) dans le système d'exécution. Cependant, cette zone n'indique pas à quel moment les tranches de temps sont occupées. Le code de compteur correspond à liadresse en octal du compteur d'emplacement en cours utilisé pour le stockage de l'adresse par l'instruction de transfert des données désignée par le code RWC. Suivant cet exemple, l'adresse du code de compteur est 22 (OCTAL). Le code a normalement une valeur comprise entre 00 OCTAL et 27 OCTAL. N'importe quel code de canal de lecture /écriture interdit pour la configuration émulée ou le décor est désigné comme tel par entrée du code de compteur. Pour l'entrée RWC correspondant à un code OO OCTAL et pour toutes les entrées RWC correspondant à des codes RWC interdits dans les systèmes d'exécution, la zone du code de compteur est codée avec un bit UN de rang supérieur (c'est à dire lXXXXX) Ce code de compteur est traité d'une façon spéciale. Quand llémulateur détecte un code de compteur ayant un bit UN de rang supérieur détecté pendant le traitement d'une instruction d'entrée/sortie de transfert de donnée, il engendre un message de spécification de la façon expliquée ci-après. Le bit "EXT" est zéro, ce qui signifie que l'unité i/O n'est pas utilisée et que l'entrée extraite est utilisée pour le traitement de Itins- truction. Quand ce bit est positionné à un UN binaire, il indique qu'il peut être nécessaire d'utiliser un code "RWC effectif à la place du code RWC spécifié d'après l'état de l'indicateur du système d'exécution Wx l/O étendu. Si ltindicateur est un UN binaire, l'information de l'entrée en cours est utilisée. Si l'indicateur est un ZERO binaire, l'information d'une autre entrée est extraite et utilisée. Pour les systèmes d'éxécution n'ayant pas de possibilités de ce type, ce bit sera toujours un ZERO binaire. La possibilité permise par cette caractéristique est décrite en détail dans le manuel de programmation cité ci-dessus. Le secteur matériel associé au code RWC est le secteur 2 de la façon indiquée par les bits 13 à t5 de la zone de secteur. Dans le cas de types de commande d'instructions I/o ne nécessite aucun transfert de donnée et contenant seulement un caractère de commande Cl, des bits 13 à 15 du code de secteur sont utilisés pour extraire une entrée d'état de tranche de temps correct de la façon expliquée. Dans un tel cas, un essai dZun canal de lecture/écriture indique un essai de tranche de temps des secteurs. La raison est qu'il existe une relation fixe entre le secteur, la tranche de temps et le RWC sélectionné dans les systèmes d'exécution. Cependant, dans le cas d'une instruction nécessitant un transfert de donnée (par exemple une instruction PDT) les bits du code de secteur ne sont pas utilisés. La zone de masquage d'occupation RWC de 16 bits est utilisée pour indiquer lesquels des canaux de lecture/écriture doivent être rendus occupés (c'est à dire qu'il doit être disponible pour une inscription de transfert de données) et qu'ils ne doivent pas être testés (c'est à dire par une instruction de commande). Comme le montre la figure 7a un système d'exécution peut avoir un maximum de 16 canaux de lecture/écriture désignés de la façon représentée . La lettre "A" définit un canal auxiliaire par opposition à un canal primaire. Dans certains systèmes dexécution il existe une relation fixe entre les canaux de lecture/écriture et les tranches de temps.Pour atteindre les vitesses supérieures de transfert demandant plus d'une tranche de temps, les canaux de lecture/écriture sont "verrouillés" ce qui signifie que plus d'un canal et par suite plus d'un compteur sont nécessaires pour éxécuter l'instruction. Dans l'exemple donné, comme deux tranches de temps sont nécessaires pour la vitesse de 167 CPS, deux canaux de lecture/écriture aussi sont nécessaires. La zone de masquage d'occupation RWC est ainsi codée pour spécifier les canaux 5 et Sa de lecture/écriture : Entrées spéciales Il existe deux entrées pour la table RWC qui sont codées d'une façon prédéterminée. Elles correspondent aux entrées stockées dans des emplacements désignés par l'adresse OO OCTAL et 77 OCTAL.L'entrée de la table RWC à l'emplacement (00)8 a toujours une zone de code de compteur (IXXXXX). Comme il a été expliqué ci-dessus , ce code est traité comme interdit par lémulateur dans le cas d'une inscription de transfert de donnée. Cependant, dans le cas d'une inscription de commande I/o lémulateur saute certaines opérations d'essai de la façon expliquée et complète le traitement de l'instruction. L'entrée de la table RWC à l'emplacement (77)8 a aussi une zone de code de comptuer IXXXXX qui provoque la production par l'émula- teur dtun message de spécification dans le traitement d'une instruction de transfert de donnée, comme il a été mentionnée ci-dessus. Cependant, dans le cas d'une instruction l/O de commande, Iémulateur force un branchement de la façon expliquée. La zone de masquage d'occupation RWC dans cette entrée de la table est utilisée pour indiquer lesquels des canaux de lecture/ écriture du sytème d'exécution émulé sont affectés à ce moment (c'est à dire occupés). Cette zone est mise à jour par le ESP quand une instruction de transfert de donnée est déclenchée cu terminée.Comme il est expliqué, llémulateur adresse mais n'altère jamais le contenu de cette zone quand il effectue un "essai d'occupation RWC" avec un code RWC autorisé autre que (oxo)8 ou (77)8 pour une instruction de transfert de donnée ou une instruction de commande. Table des secteurs. Un autre type de table repésenté sur la figure 8 est une table des secteurs. Une table des secteurs est présente de la façon représentée pour chaque système d'éxécution émulé ou pour chaque décor. La table des secteurs comporte un espace d'adresse de 32 multiplets qui, ainsi que le montre la figure 8, suit le dernier multiplet affecté à une table RWC. Les entrées de la table des secteurs sont codées de la façon représentée sur la figure 7b.Comme le montre la figure 7b; Entrée pour la table des secteurs comporte une zone d'état de tranche de temps (bits 0-5) qui est codée pour indiquer lesquelles des tranches de temps du secteur sont en cours tion (c'est à dire l'état ttoccupewde toutes les tranches de temps du secteur) Une zone de 7 bits (bits 6-12) est réservée pour l'utilisation par le logiciel de l'émulateur ou du décor (ESP) . L'entrée de la table des secteurs comporte aussi une zone d'état de 3 bits (bits 13-15) dans laquelle le bit 13, quand il est un UN binaire indique que le secteur n'existe pas pour le système d'éxécution particulier (non existant). Les bits 14 et 15 de la zone d'état sont réservés pour uneùtilisation future.La dernière zone (bits 16-31) de l'entrée de secteur est une zone de déplacement de 16 bits qui définit llem- placement de base de la table de l'unité de commande périphérique (PCU) pour le secteur par rapport à ltemplacement spécifié ou indiqué par le contenu du registre de base 4. Une entrée unique dans la table des secteurs est définie par addition au contenu du registre d'adresse de base 4 d'une valeur de 25610 plus une valeur de quatre fois le code du secteur, le code de secteur corres pondant à une zone de 3 bits formée de la façon suivante a) si le premier caractère variant Cl est le seul caractère variant présent dans l'instruction, le code de secteur est pris de l'entrée RWC désignée par le caractère Cl instructions d'entrée/sortie de commande seulement -PCB) , b) si des caractères variants Ci et C2 sont présents dans l'instruction, le code de secteur est formé en prenant les trois bits d'ordres supérieurs du carac.è- re variant C2 et en conditionnant le bit d'ordre supérieur à ZERO binaire c) si l'instruction comporte un caractère variant Cl et un caractère de chan gement de code avec ou sans le caractère variant C2, le code de secteur est formé en prenant trois bits d'ordres inféri eurs du caractère CE, Cela est expliqué plus en détail en considérant la figure 11. Table des unités de commande périphériques. L'unité de commande périphérique (PCU) est un troisième type de table contenue dans la figure 8. II existe une table PCU pour chaque secteur du système dexécution émulé. De même, il existe une entrée plans la table pour chaque adresse PCU possible pouvant être spécifiée par un programme de système d'exécution. Il existe ainsi 16 entrées dans la table, chacune ayant quatre multiplets. Le format de la table des PCU est représenté sur la figure 9c. Comme le montre la figure Dc, I'entrée comporte une information relative au type du PCU, à llexistence du PCU et à son état occupé/ interruption. Plus spécifiquement, un code 0 indique qu'une unité de commande périphérique n'existe pas pour ce code d'adresse de POU. Quand les quatre premiers bits sont codés 0001 cette valeur indique qu'une unité de commande d'imprimante du système d'exécution est émulée. Quand ces bits sont 001 0, cette valeur indique qu'un dispositif de rythme ou horloge du système d'exécution est émulé.De façon similaire, quand ces bits sont codés 0111, cette valeur indique qu'une unité de commande de brande magnétique du systè-me d'exécution est émulée, et pour des codes 1000 et 1111, ces valeurs sont utilisées pour indiquer que unité de commande périphérique émulée doit être traitée en unité spéciale. Comme il est expliqué quand un code d'unité spéciale est détecté, l'émulateur interrompt immédiatement l'instruction pour le ESP pour tout traitement supplémentaire. Quand le bit 4 est colnditionné à 1 binaire, il indique que l'unité de commande périphérique ntest temporairement pas disponible ou adressable. Quand ce bit est un 1 binaire , le bi. d'occupation de PCU (CB) correspondant au bit 7 est aussi conditionné à 1 binaire. Le bit 5 est un bit d'absence d'état, qui quand il est conditionné à 1 binaire, indique qu'aucun état n'est présent dans les bits 4 et 7 à 15 de cette entrée et que les bits 10-15 contiennent un code C2 de remplacement qui indique l'entrée de la table des PCU dans laquelle l'information désirée est située (sur le même secteur). Dans ce cas, les bits 4 et 7-11 sont réservés au logiciel. Quand le bit 5 est positionné à 0 binaire, les bits 4 et 7-15 contiennent l'état . Dans tous les cas, la valeur du déplacement de la zone de la table des dispositifs es de la zone du type de PCU sont valables et le bit 6 positionné à 1 binaire. Quand le bit 7 est positionné à 1 binaire, il indique que le PCU du système d'exécution émulé est occupé. Les bi's 8 et 9 sont réservés pour l'utilisation du logiciel et les bits 10 à 15 spécifient un PCU de remplacement ou un état d'interruption selon llétat du bit 5. Plus particulièrement, quand le bit NS5 est un 1 binaire, cette zone contient un autre code C2 ou code de remplacement pour le secteur spécifié pour l'instruction. Ce code de remplacement C2 est traité de la même façon que le code C2 de ltinstruction pour obtenir lladresse de l'entrée de la table contenant l'information d'état ayant une signification Le but de cet arrangement est de permettre l'émulation d'unités de commande périphériques du système d'exécution utilisant plus d'une adresse de PCU parce qu'elles ont plus d'un dispositif mais ne peuvent commander ou assurer qu'une seule opération l/Q à la fois (par exemple des dispositifs de commande de bandes magnétiques non simultanées, des dispositifs de commande de lecteur-perforateur de cartes).Il existe ainsi deux entrées dans la table des PCU qui sont adressées par un seul code PCU et qui partagent un bit d'état d'occupation commun verrouillant des opérations associées aux deux entrées de la façon expliquée plus en détail ci-après. Si le bit 5 est 0 binaire, la zone contient un état dtinterruption défini de la façon suivante : les bits 10 et 11 sont réservés à lfutilisation du logiciel, le bit 12 est un bit d'interruption de l'unité de commande qui, quand il est positionné à 1 binaire, indique que la fonction d'interruption de l'unité de commande est positionné pour le PCU du système d'exécution considéré, le bit 13 est un bit d'autorisation de l'unité de commande qui, quand il est positionné à 1 binaire; indique que la fonction d'autorisation d'interruption du PCU pour le PCU du système d'exécution est positionné à 1 clest-à-dire que des interruptions sont autorisées), le bit 14 est un bit d'interruption de dispositif qui, quand il est positionné à 1 binaire, indique que la fonction d'interruption du dispositif pour le PCU du système d'exécution est positionné à 1 (clest-à- dire que l'interruption du dispositif est autorisée), le bit 15 est un bit diautorisation d'interruption du dispositif qui, quand il est positionné à 1 binaire indique que la fonction d'autorisation d'interruption du dispositif est positionné à 1 dans llunité de commande émulée (clest-à-dire que les interruptions du dispositif sont autorisées), et les bits 16 à 31 sont des bits de déplacement qui définissent l'emplacement de base de la table des dispositifs pour le PCU par rapport à l'emplacement spécifié par le contenu dans le registre d'adresse de base 4. Table d'extension de l'unité de commande périphérique Comme le montre ia figure 8, une autre table correspondant à une table d'extension de l'unité de commande périphérique peut se trouver immédiatement au-dessus d'une table de dispositifs de la façon décrite ci-après. il existe deux types de tables diextension des unités de commande périphériques, une pour les unités de commande périphériques à mémoires de grande capacité des systèmes d'exécution et une pour les unités de commande périphériques à bandes magnétiques émulées. En général, les tables assurent la mise en mémoire de l'information drétat pour llutilisation par le système principal sans contre-partie directe dans le système d'exécution ou la mémoire pour llinfor- mation existant dans le système dlexécution et sans contre-partie directe dans le système principal. La figure 9d montre le format de la table d'extension unité de commande périphérique à mémoires de grande capacité. Il existe une de ces tables pour chaque unité de commande périphérique à mémoire de grande capacité d'un système d'exécution. Comme le montre la figure 9d, chaque table comporte quatre mots contigus et occupe quatre mots de la mémoire centrale précédant et touchant le mot tzéro de la table associée des dispositifs comme le montre la figure 8. Contrairement aux autres tables, les dimensions des tables diex- tension varient en fonction du type de dispositif de commande.Il sera noté sur la figure 8 que ces tables débutent à la base de la partie fixe de la table et que les adresses vont en sens opposé aussi loin que cela est nécessaire pour permettre les dimensions désirées. Chaque table d'extension de PCU à mémoire de grande capacité diun système d'exécution comporte un registre d'adresses à 10 caractères qui contient l'information spécifiant les adresses des enregistrements et les indicateurs d'états. Cette information stockée dans le registre d'adresses est relevée dans 10 multiplets contigus, les 6 bits d'ordres inférieures de chaque multiplet étant seuls utilisés dans ce but. Le logiciel de lémulateur ESP charge cette zone en réponse à une instruction spéciale appelée instruction d'entrée de l'adresse dans le registre PDT.Le logiciel de llémulateur transfère ensuite l'information ayant le format représenté sur la figure 9d à l'unité de traitement à mémoire de grande capacité en tant que partie de llins- truction d!entrée/sortie. Ainsi que le montre la figure 9d, la zone comporte l'information suivante : (a) une zone de six bits spécifiant l'adresse logique du dispositif du système d'exécution auquel l'accès doit être obtenu par une instruction PDT de lecture-écriture consécutive, identifié comme une zone de dispositif, (b) une zone magasin de six bits qui spécifie un groupe de dispositifs auxquels l'accès doit être obtenu par une instruction PDT de lecture/écriture consécutive (une adresse de dispositif se réfère à un dispositif dans le magasin adressé), (c) une zone de cylindre de douze bits qui spécifie l'adresse binaire sur le dispositif spécifié par les zones du dispositif et du magasin, (d) une zone de piste de douze bits qui spécifie l'adresse binaire de la piste à laquelle l'accès doit être obtenu par une instruction PDT de lecture/écriture consécutive, et une zone d'enregistrement d'article de 12 bits qui spécifie l'adresse binaire d'un enregistrement devant être recherché par une instruction PDT du type recherche consécutive. En plus, ainsi qu'il apparaît sur la figure 9d, l'information comporte deux zones d'états Si et 52, chacune contenant 12 bits spécifiés pour contenir l'information d!état suivant. Le bit 2 est un bit de dispositif non utilisable qui, quand il est positionné à 1 binaire, indique que le dispositif spécifié par le registre d'adresses ne peut pas être utilisé. Les conditions qui provoquent le positionnement de ce bit à 1 binaire sont que le dispositif est décroché, qu'un dérangement du matériel a été détecté dans le dispositif ou que le dispositif a été spécifié incorrectement. Le bit 3 est un bit d'erreur de disposi tif qui, quand il est positionné à 1 binaire, indique qu'une condition d'erreur du dispositif existe pour le dispositif spécifié par le registre diadresses.Une condition d'erreur diun dispositif existe quand une instruction de commande telle qu'une opération de recherche essaye de positionner les têtes de lecture/écriture du dispositif à mémoire de grande capacité sur une adresse de cylindre à l'extérieur des limites d'adressage des cylindres pour le dispositif considéré. Le bit 4 est un bit de violation de protection qui, quand il est positionné à 1 binaire, indique qu'une instruction de recherche et d'écriture a été détectée et a violé les conditions de permission écriture accordée par les commutateurs de protection du fichier de l'unité de commande et/ou le caractère drapeau ou de signal isation de I 1en-tête de l'enregistrement auquel l'accès est recherché.Le bit 5 est un bit d'erreur de lecture qui, quand il est positionné par 1 binaire, indique qu'une erreur de lecture a été détectée sur la dernière instruction de lecture exécutée sur ce dispositif particulier. Le bit 6 est un bit dtinstruction incomplète qui, quand il est positionné à 1 binaire, indique qu'une instruction nta pas été complétée pour certaines raisons spécifiées. Le bit 7 est un bit d'enregistrement drenchaînement de pistes (TLR) qui, quand il est positionné à 1 binaire, indique que le dernier enregistrement désigné par une instruction de recherche et de lecture/écriture a été un enregistrement d'enchainement de pistes. Le bit 10 est un bit de violation de format qui, quand il a été positionné à 1 binaire, indique certaines conditions interdites de format.Le bit 11 est un bit de débordement ou dépassement de capacité de piste qui, quand il est positionné à 1 binaire, indique que l'instruction de lecture/écriture a essayé de désigner une partie drindex- dtune piste, et les bits 12 à 15 sont des bits de protection des fichiers spécifiant les articles indiqués sur la figure 9d. De plus, la table d'extension des PCU comporte 16 bits généraux diétat qui sont utilisés par le logiciel de lxémulateur pour simuler certains commutateurs de commande présents sur le système d'exécution émulé (commutateurs d'utilisation d'écriture) et pour stocker différents indicateurs des systèmes d'exécution. Table de dispositifs Une autre table représentée sur la figure 8 est une table de dispositifs par système d'exécution PCU dans le systèmé émulé. Chaque entrée dans la table de dispositifs comporte quatre multiplets d'information et il existe une entrée dans la table pour chaque adresse de dispositif logique possible pouvant être spécifié par le programme du système d'exécution au type particulier de PCU. Le format général d'une entrée de la table de dispositifs est représentée sur la figure 9e.Comme le montre la figure 9e, l'entrée de la table de dispositifs comporte une zone d'état de 16 bits dans lequel la microprogramma tion et le logiciel de llémulateur ont accès aux bits 0 à 7, et les bits 8 à 15 sont réservés pour llutilisation par le logiciel de ilémulateur et sont spécifiques au dispositif. Plus particulièrement, le bit 0 est un bit d'occupation d'un dispositif du système dicxécution qui, quand il est positionné à 1 binaire, indique que le dispositif en question est occupé.Autrement dit, il signifie que le dispositif est temporairement indisponible pour déclencher une nouvelle opération périphérique parce qu'il est à ce moment en cours dlexécution d'une opération. De même, quand ce bit est positionné à 1 binaire, il peut indiquer une condition d'erreur du dispositif. Les bits 1 à 6 sont des bits d'essai "d'exception" (XT1 à XT6) qui sont affectés et utilisés d'une façon spécifique au dispositif. Le bit 7 est un bit dtinterruption de dispositif qui, quand il est positionné à 1 binaire, indique que la microprogrammation de llémulateur doit brancher les ordres adressés à ce dispositif au logiciel de llémulateur pour un traitement supplémentaire.Autrement dit, un appel de branchement est effectué pour le programme d'utilisation de ilémulateur (ESP). Les bits 8 à 15 sont des bits d'états particuliers du dispositif et les bits 16 à 31 constituent une zone de déplacement qui définit l'emplacement de la table d'extension des dispositifs pour le dispositif relatif au contenu de l'adresse du registre d'adresses de base 4. La figure 9f représente un format spécifique pour une entrée de table de dispositifs à mémoire de grande capacité. L'entrée est définie de la façon suivante. Le bit 0, quand il est positionné à 1 binaire, indique que le dispositif est occupé en raison dBun transfert de donnée, d'une opération de recherche ou parce qu'il ntest pas dispenible. Le bit 1 n'est pas utilisé et le bit 2 est le bit de dispositif non utilisable qui, quand il est positionné à 1 binaire, indique que le dispositif spécifié par le registre d'adresse n'est pas utilisable. Le dispositif à mémoire de grande capacité du système d'exécution est considéré non utilisable dans les cas suivants, le dispositif est autonome, un dérangement du matériel a été détecté dans le dispositif ou le dispositif a été incorrectement connecté ou appelé par cadran dans le système. Le bit 3 est le bit d'erreur du dispositif qui, quand il a été positionné à 1 binaire, indique qu'il existe une condition d'erreur du dispositif pour le dispositif spécifié par le registre d'adresse. Comme il a été indiqué, une condition d'erreur de dispositif existe dans un dispositif à mémoire de grande capacité quand une instruction de recherche tente de positionner les têtes de lecture/écriture à une adresse de cylindre extérieure aux limites de l'adresse de cylindre. Le bit 4 est un bit d'interruption de variant qui, quand il est positionné à 1 binaire, indique que des variants interdits ou non spécifiés de certaines instructions de commande I/o des systèmes d'exécution (instruction de commande et de branchement périphériques) doivent être interrompues par la microprogrammation de Itémulateur et qu'un appel doit être fait au logiciel de ltémulateur. Le bit 5 est un bit d'exception générale, quand il est positionné à 1 binaire, indique qu'une condition d'exception (par exemple celle définie par les bits Dl, DE, Il, etc..) a été détectée pendant la dernière instruction de transfert de donnée dirigée au dispositif spécifié par le registre d'adresse. Le bit 6 est un bit d'enregistrement t'dgenchaiFhement de pistes" qui, quand il a été positionné à 1 binaire, indique que le dernier enregistrement recherché et lu/écrit avec succès peut être un enregistrement d'enchaîhement de pistes. Le bit 7 est un bit d'interruption qui est toujours positionné à 0 binaire dans le cas d'un dispositif à mémoire de grande capacité. Le bit 8 est un bit émis au cadran qui, quand il est positionné à 1 binaire, indique que le dispositif nia pas été sélectionné sur un commutateur de panneau de commande du système d'exécution. Le bit 9; est un bit d'indisponibilité qui est utilisé par le logiciel de l'émulateur pour déterminer si le dispositif en question est en cours d'exécution d'une opération périphérique ou s'il est occupé parce qulil est inutilisable ( les bits 0 et 9 sont utilisés pour établir cette détermination). Les bits 10 à 15 sont réservés pour l'utilisation par le logiciel, et les bits 16 à 31 constituent une zone de déplacement par rapport au contenu du registre d'adresse de base 4 de la table d'extension du dispositif associé. Tables de terminaison et d'extension des dispositifs Les deux types de tables de la figure 8 sont une table de terminaison et une table dwextensiDn de dispositif. L'accès à la table de terminaison a lieu par l'intermédiaire d'une table d'indicateur d'entrée de terminaison (TEPT). La table TEP comporte 128 entrées à deux multiplets représentant les numéros des dispositifs logiques (LDNS) 0 à 127.Chaque entrée est soit nulle, correspondant à un LDN inexistant, soit une entrée correspondant à un dispositif non affecté à llémulateur ou contenant une valeur d'index qui, quand il est additionné à la valeur du registre de base 4, indique le commencement de l'entrée de la table de terminaison associée à ce LDN. Le numéro de dispositif logique (nom) est un nombre binaire de 16 bits affecté à chaque dispositif attaché au système principal. Ce numéro est ensuite chargé par le logiciel de llémulateur dans un "bloc de commande I/O quand un 'programme de canal" a été construit pour le dispositif en question. Le contenu de l'entrée de la table de terminaison est représenté sur la figure 9h. Cette entrée comporte ainsi une zone de 16 bits qui sert comme indicateur RWC. La valeur enregistrée dans cette zone, quand elle est additionnée au registre de base 4, indique l'entrée RWC de la table RWC/PCU associée à l'instruction en cours. Cette zone est mise à jour par le "traitement" du système d'exécution pour ntimporte quel ordre I/o impliquant un RWC ayant été rendu "occupé". Une seconde zone contenue dans l'entrée de la table de terminaison est une zone d'indicateur de CPU de 16 bits. La valeur contenue dans cette zone, quand elle est additionnée au contenu du registre diadresse de base 4, forme adresse de l'entrée du CPU pour ce dispositif. Une autre zone incluse en tant que partie du mot 1 est une zone indicatrice d'extension de PCU à 16 bits. La valeur contenue dans cette zone, quand elle est additionnée au contenu du registre d'adresse de base 4, donne l'adresse de l'entrée d'extension du PCU pour ce dispositif. Une autre zone du mot 1 est un indicateur de table de dispositif. La valeur contenue dans cette zone indique que entrée de la table de dispositif contient l'état des systèmes d'exécution pour ce dispositif. La première zone du mot 2 est une zone de nom logique du système d'exécution à 16 bits. Cette zone est le nom du système d'exécution exprimé sous la forme IIXNII dans laquelle X est un caractère alphabétique représentant le secteur et PCU, etN est un code numérique représentant le dispositif. Les mots 3 et 4 de l'entrée comportent des zones de type de dispositif, de sous-type de dispositif et de numéro de dispositif.Ces zones ont une longueur de trois caractères et représentent le nom extérieur émulé. De même, le mot 4 comporte une zone de code de secteur à trois bits qui identifie le code de secteur du système d'exécution. Enfin, le mot 4 comporte un bit de dispositif prêt qui représente l'état du dispositif émulé. La figure 9g montre le type des entrées dans un type de table diextension correspondant à la table diextension de la mémoire de grande capacité de la figure 9. D'une façon générale, les tables d'extension des dispositifs servent dans des buts similaires à ceux décrits pour des tables d'extension des PCU. Ainsi que le montre la figure 99, la table d'extension de mémoire de grande capacité comporte 23 mots qui contiennent différents types dlinforma- tions prenant la forme d'informations d'adresse, d'information de commande, d'information d'état détaillé de dispositif et d'information de message IOC. Cette table sera expliquée dans la mesure nécessaire pour la présente invention, et elle est incorporé uniquement pour un exposé complet. Bien entendu, le type de l'information stockée dans une table diextension de dispositif variera en fonction du dispositif. Les éléments de conversion dépendent de la structure du matériel de départ. Par exemple, tout fichier sur disque peut être ou 6 ou 8 bits. La mémoire et le CPU ne voient que l'octet comme unité d'information. La conversion 6 - 8 bits est assurée par le contrôleur de disque, La reconnaissance d'un fichier ou 6 ou 8 bits est assurée à l'aide d'une microinstruction FILE comprenant 8 caractères ayant chacun une longueur de 8 bits.Le premier caractère désigne l'unité sélectionnée le deuxième désigne le type de lZins- truction et le troisième désigne le mode d'exécution, les autres caractères désignent ltadresse. Le premier bit du troisième caractère spécifie le format du fichier, slil a la valeur 0 binaire le format est de 6 bits, s'il a la valeur 1 binaire le format est de 8 bits. Cette conversion 6 - 8 bits peut se faire strictement avec des élements matériels comme elle peut se faire à laide d'un micrologiciel particulier. Si la conversion 6 - 8 bits est assurée par l'unité de commande de périphérique les outils de conversion doivent être définis à partir de chaque type de format. Dans un format de 6 bits la structure d'un caractère est la suivante; 1 7 b6 b5 S2 b4 b3 b2 b 1 S1 etS2 étant les bits de synchronisation, b7 étant le bit de parité, b6 b5 b4 b3 b2 b1 étant les bits d'information placés dans l'ordre de signification décroissant, par contre dans un format de 8 bits la structure du caractère est la suivante S1 b3 b8 b7 S2 b6 b5 b4 S3 b3 b2 b1 S1 S2 S3 étant des bits de synchronisation b3 b7 b6 b5 b4 b3 b2 b1 étant des bits d'information donnés dans I Xordre de singification décroissante. La figure 10 représente un contrôleur de périphérique muni d'éléments de conversion. Le contrôleur de périphérique comprend un panneau de maintenance 1001 commandé par le circuit de commande 1003 des éléments dientrée-sortie (registre tampon 1004) du controleur reliés à l'unité centrale de traitement par le câble PSI. Les registres tampons 1004 étant en liaison d'une part avec la mémoire vive 1005 et d'autre part avec l'unité arithmétique et logique 1009 ainsi qutavec un adaptateur de liaison aux différentes portes de connections des périphériques 1015. Le dit adaptateur de liaison étant relié par ailleurs à des portes de liaison de périphériques étrangers. L'unité arithmétique et logique communique d'autre part avec une mémoire morte 1006 ainsi qu'avec des registres généraux 1007. Le contrôle des caractères reçus se fait à l'aide diun circuit de contrôle de code cylindrique 1012 placé entre l'adaptateur 1013 et les registres tampons 1004. La conversion 6 - 8 bits se fait dans l'adaptateur de porte 1013 de la façon indi quéefigure 11. Sur la figure 11 les bits provenant diun périphérique par exemple d'une unité de disque, arrivent sous une forme série sur rentrée E et sont poussés dans les registres à décalage 1102, 1103 i 1104 et 1105 montés en série. Chaque registre a la capacité de 9 bits pouvant recevoir un mot de 6 bits plus 2 bits de synchronisation et 1 bit de parité comme il a été déjà vu plus haut. La Sème et la 9ème position de bit du registre a décalage 1102 sont reliées aux entrées e1 et e2 d'un oscillateur asservi en fréquence 1101. Les sorties parallèles des registres à décalage 1102, 1103 , 1104 et 1105 sont reliées aux entrées parallèles des registres 1105, 1106 et 1107 par l'intermédiaire des latches 1108. L'entrées de latches 1108 étant commandée par la sortie dun diviseur de fréquence 1109 de 1/36 dont l'entrée est reliée à la sortie de 'oscillateur asservi 1101.Lorsque les latches 1108 sont commandés les bits b1 b2 b3 b4 b5 b6 du registre 1102 sont transférés dans les positions correspondantes du registre 1105, les bits b1 b b b b b du registre 1103 sont transférés respectivement dans les positions de bit b7 b du registre 1105 et b1 b b b du registre 1106, les bits bl à b6 du registre 1104 sont transférés respectivement dans les positions de bit b b b7 b du registre 1106 et b l b 2 du registre 1107 etc... Si la conversion 6 - 8 bits ou 8 - 6 bits n jest pas assurée par le contrôleur de périphérique unité centrale de traitement assure elle-même cette conversion à liaide dun micrologiciel particulier qui est décrit ci-après dans les figures 12 et suivantes.Le micrologiciel fait appel aux principaux registres de l'unité arithmétique et logique (ALU) précédemment décrite et qui comprend le registre accumulateur (AC) O : 32 pour ranger un premier opérande ou un résultat diopération, des registres (SP u ) D : 32 qui sont des registres de travail, les registres AH et AR qui sont res registres de manoeuvre, le registre (M Q) 2: 30 qui est principalement utilisé pour mémoriser un multiplicateur ou un quotient, le compteur d'instruction (IC) 2 : 30 dans lequel se trouve rangé liadresse-de l'instruction en cours d'exécution, les registres ST u qui mémorisent les statuts le registre (OP) 0 :32 qui mémorise le deuxième opérande et le registre RS qui contient les numéros dianneaux et de segment. Pour rendre compatible la machine d'arrivée avec la machine de départ il est alors nécessaire de faire appel à un logiciel particulier qui est appelé par des instructions particulières. Les instructions ont pour particularité qu'elles utilisent deux opérandes, un se trouve dans le segment de la mémoire virtuelle de la machine d'arrivée l'autre se trouve alors un autre segment de la mémoire du matériel diarrivée. La compatibilité est alors assurée par l'exécution d'une instruction EXDE, DEXT, 1, 2 ou 3. Les paramètres transitent au travers des registres GRO, GRI et GR2 dont les contenus peuvent être modifiés en cours de traitement. Toutefois le premier opérande n'est jamais changé. Après exécution la commande est redonnée au logiciel à l'adresse EXDE + 4.L'instruction EXDE, DEXT a pour fonction llenregis- trement de deux octets du registre OP1 et un octet du registre OP2 du segment de mémoire virtuelle. Le micrologiciel appelé pour cette instruction est représenté figure 12. Les paramètres entrée sont placés dans les registres GR0, GR et GR2. GR0 contient le nombre de bits devant être enregistrées à partir du registre OP1 (GRO) 0: 16 n'a pas de signification. (GRO) 16 16 représente le nombre dioctets dans OP. Le registre GR contient les informations TAG, RING et lgadresse des données à enregistrer (GR1) 0:4=0, (GR1) 4 : 28 contient l'adresse du registre OP1. (GR2)0:4=0 et (GR2) 4: 28 contiennent TAG, RING et l'adresse du registre OP2 ou les données doivent être enregistrées. A la fin de l'enregistrement llexécution est donnée à l'instruction dont l'adresse est trouvée en incrémentant de + 4 le compteur dlinstructions IC. L'instruction EXDE, DEXT 2 a pour fonction de transformer une donnée en 6 bits obtenue à partir du registre Cpi en 8 bits dans le regis tre OP2 du segment de mémoire virtuelle. Le micrologiciel appelé par cette instruction est représenté figure 13 Les paramètres entrées sont placés dans les registres GRo, GR GR 2 Le registre GR contient le nombre de bytes à 6 bits (sixtets des données contenues dans le registre OPI (GRO) 04: 16 n'a pas de signification. Le champ (GR-o) 16 : 16 représente le compte N cEest-à-dire le nombre de bits contenus dans le registre OP.Le champ (GRo) 4= . Le registre GR contient les informations TAG, RING et l'adresse des données à 6 bits définits par STN et STE - (GR1)4:28 désigne l'adresse du registre OP1. Le registre GR2 contient les informations TAG, RING et l'adresse des données à 8 bits définis par 3TN et STE avec le nom du matériel de départ. Le champ (GR2) o: 4 = 0 le champ (GR2) 4 : 28 désigne l'adresse du registre OP2. A la fin du transfert le logiciel passe à l'instruction suivante obtenu en incrémentant de 4 le contenu du compteur d'instruction IC. L'instruction EXDE, DEXT, 3 a pour fonction de transformer un octet du registre P1 de la mémoire virtuelle en un sixtet dans le registre OP2 en supprimant les 2 bits d'ordre les plus élevés. Comme précédemment les paramètres d'entrée sont placés dans les registres GRO, GR et GR 2 Le micrologiciel appelé par cette instruction est représenté figure 14. Le registre GRO contient le nombre de bits (octets) de données à 8 bits (GRO) O : 16 n'a pas de signification le champ (GRo) 16 : 16 représente le compte 11 clest-à-dire le nombre d'octets contenus dans le registre OP1. Le registre GR contient les informations TAG, RING et l'adresse des données à 8 bits obtenu par STN et STE et le nom de champ (GRI) O : 1 = O du matériel de départ. Le champs (GR) 4: 24 désigne l'adresse du registre OP Le registre GR2 contient les informations TAG, RING et Adresse des données à 6 bits désigné par le numéro du registre OP2 et par le numéro des entrées de table respectives STN et STE. Le champ (GR2) O : 4 = 0, le champs (GR2) 4: 28 désigne l'adresse du registre OP2. Les figures 15 et suivantes représentent le micrologiciel utilisé lors des trois opérations précédentes. Le décor est appelé figure 15 au point d'entrée In00. Le test des 2 bits de plus faible poids figure 16 contenu dans le champ (AR) 14: 2 du registre AR donne lieu à la suite de microprogrammes T400 T600 et T800 des figures 19, 23 et 27. Le microprogramme T400 exécute les opérations d'enregistrement, les deux octets du registre OP sont enregistrés en un octet dans le registre OP2. Le microprogramme T600 exécute les opérations nécessaires à la transformation 6 - 8 octets enfin le microprogramme T800 exécute les opérations nécessaires à la transformation inverse 8 - 6 bits. Ltexemple qui vient d'être donné d'une réalisation préférée de l'inven- tion niest qu'un des modes possibles de réalisation, il est bien évident que Iihomme de lXart bien au fait de la technique des systèmes de traitement de données pourra imaginer d'autres modes possibles de réalisation sans pour autant sortir du cadre de llinvention. REVENDICATIONS 1/ Dispositif permettant de rendre compatible un système de traitement de l'information dit système dgarrivée avec un autre système de traitement de l'information dit système de départ, le dit système d'arrivée comprenant au moins une unité centrale de traitement et une unité de commande de périphérique, le dit dispositif étant caractérisé par le fait qu'il comprend des moyens de mémorisation des programmes d'application et du système d'exploitation développés sur le système de départ, associés à des moyens de conversion de l'unité d'information utilisée dans la création des fichiers sur le dit système diarrivée. 2/ Dispositif selon la revendication 1 caractérisé par le fait que les moyens de conversion de l'unité d'information situé dans unité de commande de périphérique comprennent les systèmes de mémorisation des bytes transférés par les unités périphériques, associées à des moyens de transfert de ces bytes vers l'unité centrale de traitement, la mémorisation des bytes dans les dits registres de mémorisation étant controlé par un générateur de signaux asservi à la vitesse de transfert des bits entre l'unité de contrôle de périphérique et l'unité périphérique émettrice. 3/ Système selon la revendication 1 caractérisé par le fait que les moyens de conversion de l'unité diinformation situés dans l'unité centrale de traitement comprennent des premiers moyens pour transformer le nombre d'octets d'un tampon de mémoire de alunite centrale de traitement en un nombre octet différent dans un autre tampon de ladite mémoire et correspondant aux dimensions dun tampon défini dans la mémoire du système de départ, des deuxièmes moyens pour transformer le nombre de bits composant une donnée binaire défini dans le système de départ en un nombre de bits plus grand dans le système d'arrivée et des trojisèmes moyens pour transformer le nombre de bits composant une donnée binaire définie dans le système d'arrivée en un nombre de bits plus petit dans le système de départ. 4/ Système selon les revendications 1 et 3 caractérisé par le fait que le premier moyen comprend un premier registre pour mémoriser le nombre de bytes caractérisant une donnée dans le système d'arrivée, un deuxième registre contenant l'adresse diun tampon de données dans le système diarrivée et un troisième registre contenant l'adresse du segment de données dans la mémoire du matériel d'arrivée correspondant au tampon de donnée initialement affectée dans le matériel de départ. 5/ Système selon la revendication 3 caractérisé en ce que les deuxièmes moyens comprennent un premier registre pour enregistrer le nombre de bytes compris dans le tampon de la mémoire centrale contenant les données à transformer, un deuxième registre contenant l ladresse en mémoire centrale du tampon contenant les données à transformer et un troisième registre contenant l'adresse en mémoire centrale du tampon devant recevoir les données transformées. 6/ Système selon la revendication 3 caractérisé en ce que les troisièmes moyens comprennent un premier registre pour l lenregistrement du nombre de bytes compris dans le tampon de la mémoire centrale contenant les données à transformer, un deuxième registre contenant liadresse du tampon en mémoire centrale réservé aux données écrites dans le format correspondant au matériel de départ et un troisième registre contenant adresse du tampon en mémoire centrale réservé aux données écrites dans un format correspondant à celui du matériel d'arrivée.