FR 2003061 A1 19691107 FR 6905557 A 19690228 69 05557 -i- 2003061 La présente invention concerne un procédé pour réduire le temps de transition entre des parties d'un programme en cours de traitement dans un ordre prédéterminé au niveau de priorité le plus bas dans un ordinateur, comprenant une mémoire de données et 5 des programmes de traitement à différents niveaux de priorité • avec des interruptions périodiques pour revenir au niveau de priorité le plus élevé. Dans un ordinateur pour la conduite de processus, par exemple pour commander un système de télécommunications, les diffé-10 rentes fonctions sont exécutées à un certain nombre de niveaux de priorité. Certaines fonctions, par exemple la détection d'un signal de numérotation, présentant une haute priorité. Par contre, il existe un certain nombre de fonctions qui ne doivent pas être effectuées tant que les fonctions absolument nécessaires 15 n'ont pas été exécutées ou bien des fonctions qui peuvent même attendre que le nombre des appels simultanés soit très faible. Pour garantir que les fonctions de haute priorité soient exécutées, une interruption commandée par le rythme d'impulsions d'horloge est provoquée pour interrompre périodiquement le pro-20 gramme. Ceci signifie qu'à des instants déterminés, par exemple tous les dixièmes de milliseconde, le programme est interrompu, et le programme de plus grande priorité est exécuté. Seule" la partie restante de l'intervalle principal, c'est-à-dire le temps compris entre deux interruptions consécutives au rythme d'im-' 25 pulsions d'horloge, est utilisée pour des programmas de traité-méat de priorité moindre. La détection d'appels .d'abonnés, les vérifications systématiques, la détermination de surtaxes, etc., sont des exemples de programmes de priorité moindre. Ces fonctions peuvent nécessiter un temps plus long ou moins long, et en 30 particulier, lorsque le nombre des appels simultanés est élevé, il faut plus de temps pour l'exécution de toutes les parties du programme appartenant au plus bas niveau de priorité. Le retard pour certaines fonctions risque d'être si long que le fonctionnement du système global devienne incorrect. . 35 Selon 1-e "Bell System Technical Journal", septembre 1964, en particulier aux pages 194-3 et 1944, on sait comment traiter des parties de programme au niveau de priorité le plus bas dans un ordre fixe prédéterminé. Après chaque interruption au rythme d'impulsions d'horloge, lorsque l'ordinateur a recommencé le . 40 traitement au niveau de priorité le plus bas, le partie du pro- 69 05557 -2- 2003061 ■ granne interrompue par l'interruption au rythme des impulsions d'horloge est terminée, et ensuite, 1g partie venant confoménont à l'ordre établi est traitée. Ceci implique qu'après une interruption au rythme des impulsions d'horloge, il n'est pas néces-5 saire que la première partie du programme, dans l'ordre de traitement établi au plus bas niveau de priorité, soit traitée, mais le traitement se poursuit dans l'ordre fixé. Pour faire face aux besoins du trafic, il est avantageux de commencer le traitement de la première partie dans l'ordre de traitement aussi tôt que 10 possible après l'interruption au rythme des impulsions d'horloge» Au lieu de continuer avec la partie ultérieure du prograpiae suivant l'ordre établi après une interruption au rythme des impulsions d'horloge, il est possible que l'ordinateur commence à traiter la partie qui est la première dans l'ordre établi, et 15 poursuive ensuite le traitement conformément à cet ordre. Ceci peut être effectué par exemple en vérifiant, après chaque partie de programme au plus bas niveau de priorité, si une interruption, au rythme des impulsions d'horloge s'est produite après le début du traitement de la partie respective. Si une interruption est 20 détectée, la première partie conformément à l'ordre établi est traitée. Si une interruption au rythme des impulsions d'horloge n'est pas détectée, après une partie de programme dans un intervalle principal, le traitement des parties se poursuit conformément à l'ordre établi. Ceci signifie que la partie qui est la 25 première conformément à l'ordre établi au plus bas niveau de! priorité a déjà été traitée au cours de l'intervalle principal. Afin de déterminer s'il s'est produit ou non une interruption au rythme des impulsions d'horloge, un calcul d'adresse et une opération de comparaison sont nécessaires à la fin de chaque partie-30 du programme. Ceci nécessite un certain temps, par exemple 20 ilicro-soconies. Ainsi, au bout d'un certain nombre de courtes parties ultérieures du programme, les calculs d'adresse et les opérations do comparaison entre les parties du programme nécessitent un temps total relativement long en comparaison de la . 35 longueur des parties. La présente invention a pour but de supprimer cet inconvénient et de fournir un procédé par lequel il est possible de dé-*-terminer plus rapidement que par les procédés connus jusqu'ici s'il convient de poursuivre avec la première partie du programme 40 confomènent à l'ordre de traitement établi ou de poursuivre avec bad original 05557 _3_ 2003061 la psrtie ultérieure du programma. D1 autre-s - et caractéristiques d^ l'invention ras sortiront de '.e script ion qui v? suivre fait g- en regard clos dossins annexés .t donnant à titre- explicatif, ,.?.is nulle-mont limitatif, pleeiours ror-.es de réalisation de l1 invention. Sur ces des si;.s : le figure 1 reprisent;.- un diagra.:.nc do torips montrent la façon dont dos programmes de différents niveaux. de priorité sont traités dans un ordinateur ontru doux interruptions consécutives au rythme d'impulsions d'horloge ; la figuro £ montre s cliônat iquciv-nt i^s parties du programme au plus bas niveau do priorité sous 1-- forme de parties de courbe ,sur un cercle ; 1? figure 3 ; .entre un diagramme de tumps du même type que celui représenté sur la figure 1, nais en appliquant le principe de l'invention ; la figure 4- montre un ordinateur traitant des programmes conformément à 11 irvontion ; et la figure 5 montre un diagramme de torips d'un processus dans lequel une variante do l'invention est appliquée. Suivant l'exemple représenté, 1» calculateur est supposé traiter des prograndes à trois r.ivesux de priorité différents A, B et G. La figure 1 -contre un diagramme de temps ou d1échellonne-iCcnt du traitc.xnt les différents niveaux dans un intervalle principal, c'est-d-dire pendant le temps coupris entre deux interruptions comsécutives effectuées au rythme d1 impulsions d'horloge. L^s interruptions au rythme des impulsions d'hc-rloge sont supposées s-c produira -un instants T et T+l, respectiv l'interruption se produisant à l'instant ï, l'ordinateur commence à traiter le programme au niveau a,et ensuite, il continu-: au niveau 3, puis au niveau ae priorité le plus bas C. Le niveau d priorité Le plus bas C comprend un certain nombre départies de programme G^., OB, GC. ... , présentant entre elles des priorités différentes. ïour garantir que la partie CA de plus haute priorité au niveau de priorité le plus bas C soit traitée aussi tôt que possible après une interruption au rythme des impulsions d'horloge, un: vérification est effectuée à la fin de chaque partie do programma au niveau 0 pour déterminer s'il s ! ec-t produit une interruption au rythme des impulsions d'horloge pendant le traitement de la partie respective. Si l'on constate bad original * 05557 2003061 qu'il s'est produit un,- interruption pendant le traitement d'une partie, l'ordinateur co;.:mencc a traiter 1:- portie de plus haute priorité au niveau G conformément'ê. l'ordre établi. P-?r contre, si l'on constate qu'il n„ s'est pas produit d'interruption pendent le traitement d'une partie, cela signifie q.uo la première partie a déjà été traitée conformément à l'ordre établi pendant l'intervalle principal en question, de sorte que le traite-nent .La des autres parties peut être effectué dsns l'ordre approprié./figure 2 montre le-s parties consécutives du programme Gà, CB, GG.. .. CZ, au niveau de priorité le plus bas G sous fom-j de parties de courbe sur un cercle. Afin de déterminer s'il s'est produit ou non une interruption au rythme des impulsions d'horloge pendant le traitement d'une partie, un calcul d'adresse • et une opération de comparaison sont nécessaires. Ceci prend un certain temps, coir-ie indique sur la figure 2 par les intervalles de temps IVÀ, IVB .... IVY. Ghacun de ces intervalles de terips dure environ 20 microsecondes. Si un grand nombre des parties de programme sont traitées au niveau C dans un intervalle principal, le temps total de ces calcule d'adresse et de ces opérations de comparaison est important en comparaison du temps total disponible pendant l'intervalle principal. Ceci est indiqué sur la figure 1 de laquelle il ressort que plus le nombre des parties en cours de traitement au niveau G dans l'intervalle principal est grand, plus la partie du temps disponible utilisée pour les calculs d'adresse et Ijs op. rations de comparaison est importante. Cet inconvénient est encore plus caractéristique lors du traitement de la partie du niveau C où un grand nombre de parties de programme relativement courtes se suivent. Suivant la figure 1, l'ordinateur est supposé traiter la partie GX du programme lorsqu'il se produit une interruption au rythme des impulsions d'horloge à l'instant T. Le traitement se poursuit maintenant au niveau A, puis au niveau B, et ensuite la partie interrompue CX du programme est de nouveau reprise et terminée. L'ordinateur doit vérifier maintenant s'il s'ost produit ou non une interruption au rythme- des impulsions d'horloge pendant le traitement de- la partie GX. Pour cette raison, un calcul d'adres se d'un mot est exécuté dans la mémoire de donnees dans laquelle il est enregistré pour déterminer s'il s'est produit une interruption au rythme des impulsions d'horloge ou non. Ce mot est ensuite comparé avec un mot de comparaison, et par suite de la «AD ORIGINAL^ 69 05557 _5. 2003061 comparaison, un saut est exécute jusqu'à la première partie GA du niveau G, s'il s'est produit une interruption, et si l'on constate qu'il ne s'est pas produit d'interruption pendant la partie, l'adresse concernant la partie ultérieure confornèrent à 5 l'ordre établi, c'ost-à-dire dans ce cas la partie CB, est traitée. Le temps nécessaire pour cette comparaison et pour déterminer la partie qui doit être traitée est d'environ 20 taiorosecoudes comme sus-mentionné et comme indiqué par des parties épaisses sur le diagramie de la figure 1. - 10 Conformément à l'idée fondamentale de l'invention, le temps nécessaire pour détwœiuvjr la partie ultérieure est raccourci en excluant le calcul d'adresse et l'opération de comparaison. Suivant une forme de réalisation de l'invention, le niveau de priorité venant après le niveau le plus bas, c'est-a-dire le ni-15 veau B, est utilisé pour"choisir la première partie au niveau C, corme on va le décrire plus en détail. La figure 3 montre corme la figure 1 un diagramme de temps, du traitement entre deux interruptions consécutives au rythme des impulsions d'horloge. A la fin des programmes au 20 niveau A, ainsi qu'au niveau B, l'ordinateur recommace le traitement de la partie interrompue GX. A la fin de chaque partie du programme, au niveau C, par conséqûent même à la fin de la partie CX,. il y a un rapport avec le niveau B. Si une interruption au rythme dos impulsions d'horloge se produit pendant le trai-25 tement de la partie- de programme, et comme dans le cas de la partie CZ conformément à l'exemple, une adresse, en choisissant « la partie CA du programme, c'est-à-dire la première partie conformément à l'ordre de traitement au niveau G, a été enregistrée dans une cellule de la mémoire de données, en choisissant l'a-30 dresse concernant l'instruction qui doit être traitée la première au niveau B. Par contre, s'il ne s'est pas produit d'interruption au rythme des impulsions d'horloge pendant le traitement d'une partie du programme, comme on peut le constater par exemple à la fin de la partie CA de la figure 3 j le rapport .?,v> c 35 le niveau B reste sans effet, et l'ordinateur continue le traitement de la partie conformément à l'ordre de traitement établi au niveau G, comme on le décrira plus en détail en se référant à la figure 4. Pour le réaliser, on doit pouvoir enregistrer doux mots différents dans la cellule de la mémoire de données dans 40 laquelle l'adresse concernant l'instruction qui doit être trai- BAD ORIGINAL^ 69 05557 2003061 tee la première au niveau B est enregistrée; d'une part, le mot appartenant su traiteront normal au niveau B, et d'autre part le mot concernant la première partie : u programme au niveau C conforlément à l'ordre de traitement. En outre, selon qu'une 5 interruption au rythme des impulsions d'horloge s'est produite ou non, le rapport avec lu niveau B doit être rendu actif ou -inactif respectivement par rapport à la séloction de la première partie au niveau 0. Ges deux conditions peuvent être satisfaites suivant l'invention, et par conséquent, le fonctionnement 10 est sensiblement plus court en comparaison du procédé classique„ La figure 4 montre un schéma synoptique d'un ordinateur„ Seules les parties nécessaires pour expliquer l'idée fondamentale de l'invention sent représentées. L'ordinateur comprend une mémoire d Instructions III, une mémoire de données DM avec un 15 registre d'adresses 7JL et un registre de résultats DR, un ensemble arithmétique AS, un certain nombre de registres indiqués par le rectangle R et également un registre d'ordres OR , et un ensemble de commande SE. L'écriture et la lecture sont effectuées dans une mémoire de données en excitant 20 une entrée d1écriture S et une entrée de lecture L, respective» ment. Dans l'ensemble de comsiande SE, il y a un certain nombre de micro-programmes. Ces micro-prograLiiies sont exécutés par 1'intermédiaire d'un certain nombre de décodeurs AK1-AK3 par les instructions enregistrées dans le registre d'ordres OR. 25 Les ..icro-prograi^es sont avancés pas à pas à l'aide d'un générateur dsimpulsions non représenté, de façon que l'ensemble de commande fournisse des signaux de sortie afin de transférer, par-exemple, une information entre la mémoire de données et les registres ou d'actionner l'ensemble arithmétique. Ceci est exécuté 30 d'une façon connue à l'aide d'un certain nombre de circuits ET AC1-AC10, commandés par des signaux provenant des sorties de l'ensemble de commande" définis par l'instruction contenue dans le registre d'ordres. Le registre d'adresses DA de la mémoire de données présente un certain nombre d'entrées A, B,BBE et CBE 35 qui sélectionnent, lorsqu'elles sont excitées,différentes cellules de la mémoire de données où des adresses concernant les instructions sont enregistrées. L'entrée A sélectionne la cellule À où l'adresse ABEG de la première instruction à traiter au niveau A est enregistrée. L'entrée B sélectionne la cellule B où 40 l'adresse de la première instruction à traiter au niveau B est BAD ORIGINAL" 05557 —y — 2003061 enregistrée, co:~.-3 on Vf !.. décrire. L.-s entrées 33E ot CBS sélectionnent l^s coiluLs 32Z et j3Z,respoctivonGnt, cù les adr„a-ses 33EG et C3EG dos pr.; .ièr^s instructions eux niveaux B et 3 respectivement, sc-nt 3..rjbistrées. des adro-ss-es peuvent etre transférées dans la cellule B, c'est-a-diro la ceilulo dans laquelle 1'adresse ac la -;rc -.ière instruction au niveau B est enregistrée. Suivant une "-r^ .ière fcr.e «e réslisrtion de l'invention, l'adresse de l'instruction a traiter on premier lieu au niveau B est changée pendant l'intervalle principal. Ceci est indiqué sur la figure 4 sur un certain nonbre de lignes dans la cellule B. Ainsi, les contenus dos lignes ultérieures déterminent l'instruction o traiter en pre. ier lieu au niveau B. Lors de chaque interruption au rythme dos impulsions d'horloge, les contenus des registres concernant la partie interrompue sont extraits. Pour cott^ raison, une zone d'ô:v«agasinage, une pour chaque niveau de priorité, -Sst prevue dans la - émoire d, données Seule la zone d ' e-magasinage OUÏT correspondant au niveau C est indiquée; dans la -.er.oiro do tEoLnees, étant donné que conformément a. l'exemple, le niveau 0 est traité lorsqu'il se produit une interruption au rythme des impulsions d'horloge. La zone d1 emmagasinage peut ê-tre adressée par exemple depuis 1 ' ensemble de coiiiifaide en excitant une entrée CUIT du registre d'adresses DA E indique un générateur de signaux d'interruption au rythme des impulsions d'horloge permettant de ramener le traitement au niveau A à des instants déterminés. A l'exception de ces moyens classiques, l'ordinateur comprend trois registres ISR, Il.dR et ILS. Les registres ont pour but de déterminer le niveau de priorité qui doit être traité par l'ordinateur. Suivant l'exemple, chaque registre comprend deux étages, un étage correspondant au niveau a et l'autre au niveau B. Les conditions ultérieures des étages sont indiquées sur les lignes suivantes. S'il existe un appel pour un traitement soit au niveau a, soit au niveau 3, un chiffre binaire "1" est enregistré dans le registre ISR dans l'étage correspondant au niveau de priorité respectif. Le registre ILS. détermine si le traitcmnvt doit s'effectuer au niveau A ou au niveau B en excitant soit l'entrée A du registre d'adresse LA depuis la sortie d'un circuit ET PLA, soit l'entrée B du registre d'adresses BA depuis la sortie d'un circuit ET PL3. Le circuit ET PLA prés nte deux entrées, une reliée à. l'étage A du registre ILS, et l'autre, qui est une entrée inverseuse, reliée- BAD ORJGHMAL1 69 05557 _s_ 2003061 à l'étage B lu registre IIS. Le circuit £2T PL3 présente également "eux outrées, un 3 relie a a. l'étage 3 du r3gistre ILS, ot l'autre, qui g st une entrée inverse use, reliée à l'étage A du registre ILS. Si aucune des sorties dos circuits 22 PLA et PLB n'est ex-5 citée, lv. niveau 3 est traité. Le registre IléR a pour but de coin.cixdor le transfert de l'information enregistrée dans le registre ISR -au registre IMR . Si les deux étages A et B du registre IMR sont a l'état "1", 1^ transfert d'un chiffre binaire "1", enregistré dans le registre ISS à l'étage correspondant du ro-10 gistre ILS, est empêché. Par contre, si l'étage correspondant du registre IMR contient un chiffre binaire "O", un chiffre binaire "1" peut être transféré du registre ISR au registre ILR. La fonction de commande du registre US est indiquée par les deux circuits ET KA et E3. L'une des entrées du circuit ST EA est connoc-15 tés à l'étage A du registre ISR et une entrée inverseuse est connectée à l'étage a. du registre IîiR, tandis que l'une des entrées du circuit Si1 KB est connectée à l'étage B du registre ISR, et une entrée inverseuse est connectée à l'étage B du registre 1ER. Los étages dos registres ISR ot IIIR peuvent être ni s à l'état "1" 20 et à l'état "0", respective:-.ont, depuis l'ensemble de commande en excitant l'une dos entrées SA1, SAO, SB1, SBC, liBl, tlBO de registres indiquées sur la figure 4. Les étages du registre ILR peuvent être ...is à l'état "O" en excitant les entrées LAO et LBO, respectivement. 25 On va supposer qu'à l'instant où le signal d'interruption au ryth-iO des impulsions d'horloge apparaît, 1'ordinateur traite la partie GX du programme au niveau C. Le micro-progranne CX3 en cours de trait ornent dc.it être termine le premier, et l'adresse de l'instruction ultérieur_• au niveau 0 doit être calculée avant que 30 le contenu du registre puisse être extrait. Les différentes séquences sont indiquées par les étages ultérieurs de l'ensemble de commande SE de l'ordinateur. Seuls quelques-uns des étages du registre à d-calage ~t des serties excitées par 1^-s étages respectifs sont indiqu-s. Avant que la fonction déterminée par l'in-35 terruption au rythme des impulsions d'horloge soit exécutée, le micro-programme GX 3 est termine, comme indiqué par les étages n-1 et n du registre à décalage. Au cours de ces phases, l'adressa de l'instruction ultérieure est calculée. Dans l'oxemple donné, 1'«dresse de l'instruction correspondant au ;.icro-pro gramme 40 0X4 est calculée, co:a.o indiqué par 0X4 dans l'ensemble do con- bad original1 a 69 05557 _g_ 2003061 nende SE.Avant que l'interruption au rytlme des impulsions d'horloge se produise,le registre ISR est à l'état OQ,le registre IMR est à l'état 01 et le registre ILR est à l'état 00,comme indiqué par le numéro 1 sur la figure 3 ainsi que sur la figure 4«Dans la 5 cellule B de la mémoire de données où l'adresse de 11 instruction à traiter en premier lieu au niveau B peut être enregistrée, l'adresse GBEG de la prenière instruction au niveau 0 est enregistrée, conne indiqué par le nunéro 1 dans la nénoire de données IM. Le signal d'interruption provoque l'emmagasinage de 11infornation 10 nécessaire pour recommencer le traitenent de la partie interrompue «Dans ce cas,1'information concernant la partie 0X4 du programme est transférée dans la zone d'emmagasinage COÏT, comme indiqué par la référence 1a dans la nénoire de données.Le signal d'interruption enregistre également un chiffre "1" dans l'étage A ainsi 15que dans l'étage B du registre ISR,comme indiqué par le numéro 2 sur les figures 3 et 4.Du fait de l'enregistrement d'un chiffre "1" dans l'étage B du registre IMR,seul l'étage A est mis à l'état "1" dans le registre I3jR,comne indiqué par le numéro de réfé-, rence 2 dans le registre II«R.Dans ce cas,on obtient à la sortie 20 du circuit ES PIA un signal qui excite l'entrée A du registre d'adresse DA,Ainsi,la première instruction au niveau A est sélectionnée, et le traitenent au niveau A est connencé.On va supposer que le programme au niveau A conprend les phases 1,2.«.2, dans le registre à décalage de l'ensemble de commande «Premièrement ,.1'éta-25 ge A du registre ISR est mis à l'état "O" par un signal provenant de l'ensemble de commande appliqué à l'entrée SAO du registre ISR, comme indiqué par le numéro de référence 3 sur les figures 3 et 4. Vers la fin de la séquence au niveau A,l'adresse BBEG-,correspondant à la première instruction au niveau B,est enregistrée dans 3O la cellule B,comme indiqué par B, 3BE,. S aux sorties.Ceci est indiqué par 3a dans la mémoire de données et dans l'ensemble de commande. L*achèvement du traitenent au niveau A met l'étage A du registre ILR à l'état "O" en excitant l'entrée LAO depuis une sortis 4*1'ensemble de commanda, et en mettant égalenent 35 l'étage B du registre IMR à l'état "0 " par un signal provenant de l'ensemble de connande et appliqué à l'entrée MBO. Ceci est indiqué par le nunéro de référence 4 sur les figures 3 e"b 4# Dès que l'étage B du registre UviR est mis à l'état "O" ,l'étage B du registre ILR est mis à l'état "1". 40 Ainsi, on obtient un signal de sortie depuis le circuit ET PLB. BAD ORIGINAL^ \ 69 05557 -10- 2003061 L'entra o 3 du registre d'.virasses DA est excitée, et le traite-:. -:nt au niveau B cou. éeci- ust exécuté par le transfert du contenu 1 r. collul-, B do 1.-:. -c. .cire de données, en sélectionnant i' adresse- de l'instruction qui doit etre trait vie en premier 5 lieu tu niveau 3, d-:.s la . .é ..eir ; d'instructions Ih. L'instruction Sélectionnée est ensuite transférée au registre d'ordres OR et après 1- décodage, le prograniie au niveau B est traite, coree; indiqué par l-„s phases 1,2 ... £ du registre à décalage correspondant au niveau B dans l'ensemble de connande. Prenièro-10 ,cnt, l'étage B du registre ISR est nis a l'état "O" par un signal provenant de 11 ^•.ls,;;..bl- de co: mande et appliqué à„l' entrée SBC, coi_:o indiqua- par lé nunéro de référence 5 sur les figures 3 lit 4. Lorsque lé traita .ont au niveau B est teruiné, l'adresse GBEG de la pre .ièr-.. instruction au niveau C est enregistrée dans 15 la cellule B, en Sélectionnant nor..aie::ent l'adresse de l'instruction qui doit être traitée en premier lieu au niveau B. Ce processus est résuné par B, CBS, S aux sorties du registre à décalage, corme indiqué par ?a dans la nénoire de données et l'ensemble de côn;lande. Oeci signifie que la prochaine fois qu'un 20 trait, n./nt au niveau B sera nécessaire, c'est-à-dire qu'un chiffre "1" sera enregistré d~as l'étage B du registre ISS,'le contenu do la cellulé 3 sera .-ransféré de nouveau dans la nénoire d'instructions. Il existe c-,pendant une différence en ce sens. que dans cette cellule, l'adresse de la prenière instruction concer-25 nant le niveau C est maintenant enregistrée. Afin de ranener le'» traitenent au niveau C, l'étage B du registre ILR est nis à l'état "O" par un signal provenant de l'ens «subie de connande et appliqué à l'entrée LEO du registre ILR, conin indiqué par le nunéro de référence- 5 sur Ijs figures 3. et 4. L' information con™ 30 cernant la partie OX interronpue est naintenant enregistrée. Ensuite, le traitenent au niveau 0 est reconnencé avec le nicro-pregranne 0X4 comprenant les phases 1-rv A la fin du nicro-progranne CX4, l'étape B du registre ISR est actionné, et un chiffre binaire "1" est enregistré dans cet étage, coixie indi-35 que par le nunéro Ce référence 7 sur les figur s 3 et 4. En ce qui concerne le fait que l'etage correspondant, du registre ilott est ,ds a l'état "O", le chiffre ''1" contenu dans l'étage B du registre ISR p^.ut etre transféré au .registre ILR, de façon que l'étage B du registre ILS soit nis à l'état "1". Maintenant, 40 l'entrée B du registre d'adresses DA est excitée par l'interné- 05557 -ii- 2003061 LX X "*"* l'ut ; 710 ' ~ 1 r " ^ • ( 1 1 c; -t: tj 1 * " *%"1 1 ' instr^ctie-n ini ' .:i" "tr-, tr.-it." - ^....i.r 11 . .i " :_iv ~ 3 est s^l..ctic:x^, G«.rond-nt, Cv tt~ collul coir i .. i:v;» : :.r 1' adr-,53. -1« 1? "r^nièr;, ins-cructi'-:. au -ir~-;u 0, cc* - _• ;:>:r:li-••iu- pl:;:ï haut. Ainai, 1:. - rtt. euivant~ du pre^ra:à tr i^r oit 1'- prrtis,- Cx-., e ' e.?t-.-dire la pr-/ .1 l-::-e parti- lu prcgr. correspondant a l'erlre itabli :;u niveau 0. L 05557 -12- 2003061 'Jo. .me on le v. it, conforme:-.ont à l'idée fonde: lontale d« 1'invention, un., tentative eet fait i après ch.aq.uo partie de nrogram .e du niveau C p ur trnnsrfer-.-r lu traitement °u niveau 3, ^pendant, un t..-! transfert n'est possible qu'à la fin d'une p-rti:. -;u ;r:^rn:-.c p.-.-dnnt laquoll. il se produit une interruption au rythme de 3 impulsions d'horloge. Dans la cellule B do la mémoire do demm-^s dans le. quelle l'adresse do l'instruction à traiter en premier lieu au niveau B peut Gtre enregistrée doux sutros adresses sent enregistrées pondant un intervalle principal. la fin du t rc.it e-mcnt au niveau A, l'adresse BBEG do la première instruction au niveau B est enregistrée dans cette cellul-,, ce sort., que- le traitement au niveau B peut etre commencé ians l'ordre normal. ^ la fin du traitement nomal au niv.au B, l'adressa 'JBdG- de la première instruction au niveau C est enregistrée dans Cette cellule, de sorte quo lorsque la partie interrompu-..- du programme au niveau C est terminée, le traitement se poursuit avec la première partie CÂ du programme au niveau G. Selon un. outre forme de réalisation do l'invention, le' niveau B est entièrement utilm-sé pour transférer le traitenent au niveau C en fonction du fait qu'un*, interruption au rythme déS impulsions d'horloge s'est produit*.- ou non pendant une partie -du progreem-u au :.iv . ::u G. Dans ce cas, il est naturellement inutile de modifier l'adresse de l'instruction à traiter en pre ;.ier lieu au niveau B, de sorte que la cellule B de la mémoire de données contient toujours 1'adresse de la première instruction au r„iv;.au C. Le processus est représenté scliénatiqucmont prr 1-.- diagramme échelonné do la figure 5- 3n comparaison do la figure 3, la différence réside dans le fait qu'un traitenent nomal n'est pas exécuté au niveau B, nais que ce niveau est entièrement utilisé pour le transfert du traitement à la première partie Ca du programme au niveau C. D'après ce- qui précédé, il ressort que le procédé suivant 11 inv.rn.tion économise b-_r.uc.-up de temps en comparaison -du procédé connu jusqu'ici. LeS intervalles IVa, IVE... IYY compris entre les parties du programma sur la figure 2 sont réduits jus ju'à un dixième environ,du fait qu'un calcul d'adresse et une opération "de comparaison ne sent pas nécessaires. La différence est particulièrement évidente en considérant le fait que les pa ties de programme -5ont plus courtes vers la fin du niveau C. BAD ORIGINAL 69 05S57 _13_ 2003061 HETOSICAJIOHB 1. Procédé pour réduire le terips de transition entre les parties d'un programme (CA, CB...) en cours de traitenent dans un ordre prédéterminé au niveau de priorité le plus bas (C) dans un ordinateur comprenant une mémoire de données (DM) et des pro-5 grammes do traitement à différents niveaux de priorité (A, B, C) avec des interruptions périodiques pour recommencer le programme au niveau de priorité le plus haut (A)," ledit ordinateur étant amené à traiter le progranme au niveau inférieur ultérieur de priorité à la fin du prcgramne à un niveau par un dispositif de 10 comaande comprenant un premier registre (ILP.) présentant pour chacun desdits niveaux de priorité, avec une exception éventuelle pour le niveau le plus "bas, un étage sélectionnant,à l'état excité, un mot do démarrage dans la mémoire de données de l'ordinateur donnant l'adresse dé la première instruction au niveau de 15 priorité respectif, un second registre (ISS) présentant un étage pour chacun des niveaux de priorité, avec une exception éventuelle pour le niveau le plus bas, indiquant, à l'état actionné, que le programme, au niveau de priorité correspondant,doit être traité, et un moyen de blôcage (Ii-IR) présentant un étagu pour chacun dos 20 niveaux de priorité, avec une exception éventuelle pour le niveau le plus bas, en bloquant à l'état actionné le transfert normal d'une indication, en indiquant un état actionné d'un étage du second registre (ISR) à l'état correspondant du premier registre (ILR), de façon que la sélection normale du mot de démarrage 25 dans la mémoire do données de l'ordinateur, donnant l'adresse do l'instruction correspondante, soit bloquée, procédé caractérisé en ce que dans lo mot de démarrage situé dans l'adresse de données de l'ordinateur appartenant à un niveau de priorité choisi (B) - à l'exception du niveau de priorité le plus b^s - l'adresse 30 (CBEG) de la première instruction de la première partie (CA) du progranme dans l'ordre de traitement au niveau de priorité le pLus bas (C) est enmagasinéc au moins provisoirement, et en ce qu'à la fin de chaque partie du program-e, au niveau de priorité le plus bas, l'étage correspondant au niveau choisi (B) du second 35 registre (ISR) est actionné,afin d'essayer d'actionner l'étage correspondant du premier registre (ILR), de façon à sélectionner le mot de démarrage correspondant dans la mémoire de domiees, et en ce qu'au plus tard à la fin du traitement de la première partie (CA) du programme, conformément à l'ordre prédéterminé au BAD ORIGINAL1 69 05557 -m- 2003061 niveau cle priorité le plus bas (C), l'étage du noyen de blocage (ILS) correspondant au niveau de priorité clioisi (B) soit actionné pour iiiterronpre 11 actiormenent de l'otage correspondant du premier registre (ILR) à la fin de chaque partie ultérieure 5 du programme au niveau de priorité le plus bas, .-t eïL.ce 2. Procédé selon la revendication 1, caractérisé en ce que 15 lo niveau de priorité choisi est un niveau voisin du niveau le plus bas. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'au plus tard à la fin du traitenent du programme au niveau de priorité choisi (B), lo L.ot do dénarrage situé dans la né-20 noire de données cle l'ordinateur appartenant au niveau de priorité choisi (B) est nodifié pour'fournir l'adresse (CBEG) de la prenière instruction au niveau do priorité le plus bas (C), de façon que lors de l'excitation de l'étage du preiiier registre (ILR) correspondant au niveau de priorité choisi, le uot de 25 dénarrage soit sélectionné ot qu'au lieu de comencer le traitenent du programme au niveau choisi (B), l'ordinateur connence à traiter la prûnièrê partie du programme au niveau de priorité le plus bas, et qu'au plus tard à la fin du traitenent du programme au niveau do priorité le plus haut (A), le not de dénar-30 rage situé dans la 'nénoire de données de l'ordinateur correspondant au niveau choisi (B) soit nodifié pour fournir l'adresse (BBEG) de la prenière instruction au niveau choisi (B), de façon que le traitenent nomal au niveau choisi (B) puisse être exécuté. cop>T