<Desc/Clms Page number 1>
DISPOSITIF D'ARBITRAGE D'ACCES A MEMOIRE DIRECT
DESCRIPTION
Domaine technique La présente invention concerne un système d'ordinateur à accès DMA (Accès memoire direct) disponible pour des unites périphériques qui lui sont associées, dans lequel des dispositifs périphériques ayant leur propre circuit d'arbitrage et des dispositifs périphériques n'ayant pas de circuit d'arbitrage, peuvent tous obtenir un canal DMA.
Arriere plan de l'invention Beaucoup de systèmes d'ordinateur actuels utilisent des canaux DMA pour permettre à des dispositifs périphériques de transférer des données principalement vers et depuis la mémoire principale, sans passer par l'unite CPU (Unité centrale de traitement). Eviter l'unite CPU presente naturellement l'avantage de permettre des vitesses de transfert de donnees accrues et d'ameliorer l'efficacite générale du système puisque l'unite CPU peut assurer d'autres taches pendant le transfert des donnees.
La pratique la plus commune à ce jour a été de prévoir un canal DMA physique pour chaque unité périphérique pouvant bénéficier de l'acces DMA. On peut citer comme exemple d'un tel Systeme d'ordinateur, l'ordinateur IBM
EMI1.1
PC. Cependant, le nombre des dispositifs périphériques qu'un utilisateur peut rattacher à son Systeme d'ordinateur a ete augmenté et l'on peut s'attendre à ce que cela continue ainsi. Par exemple, sont
<Desc/Clms Page number 2>
disponibles depuis peu des lecteurs de disques optiques, des dispositifs de communications
EMI2.1
supplementaires, des fichiers de disques durs, des dispositifs de memoire auxiliaire, etc..., tous ces dispositifs pouvant utiliser avantageusement l'acces DMA.
D'autre part, l'addition d'autres canaux DMA physiques est coûteuse en materiel Systeme, y compris en compte IC et en volume nécessaire aux tableaux de circuits et aux bus. On a etudie le partage des canaux DMA parmi des dispositifs peripheriques avec la restriction d'un fonctionnement mutuellement exclusif. Le partage de canaux DMA est utilise par exemple dans les systemes d'ordinateur IBM XT et AT. Ces Schemas entraînent cependant des modifications importantes du Systeme d'exploitation etant donne que des sous-routines supplémentaires sont requises pour eviter aux dispositifs peripheriques associés à chaque canal DMA de fonctionner simultanement.
Un probleme significatif relatif aux performances est aussi crée lorsque des unités de commande de fichier ne sont pas suffisamment "intelligentes"pour permettre des operations de "recherche" en chevauchement. Le probleme s'arrange dans certains cas, par exemple lorsqu'un element LAN (Reseau local) et une unite de commande de fichier partagent le meme niveau DMA et qu'une routine "Serveur fichier LAN" doit passer d'un dispositif A l'autre.
Pour resoudre ces problemes, on a proposé un système d'ordinateur utilisant des dispositifs peripheriques qui sont chacun prévus avec un circuit d'arbitrage. Les circuits d'arbitrage sont interconnectés les uns avec les autres et avec un circuit d'arbitrage central par l'intermediaire d'un bus d'arbitrage. Lorsque l'une des unites peripheriques désire acceder à un canal DMA, elle place son attribution de priorité de canal sur le
<Desc/Clms Page number 3>
bus d'arbitrage. Si son attribution de priorité de canal a la priorité la plus élevée, un canal DMA disponible est attribué à cette unité périphérique.
De cette manière, des uni tés périphériques peuvent être ajoutées au Systeme sans avoir A prévoir des lignes de requête de canal DMA et des canaux DMA supplémentaires.
Cependant, on peut quelquefois désirer utiliser dans un tel système d'ordinateur une uni té périphérique existante ne comportant pas de circuit d'arbitrage. Une unité périphérique ne comportant pas de circuit d'arbitrage ne peut pas être ajoutée directement à ce système etant donné qu'elle n'aura aucun moyen de demander l'acces A un canal DMA.
Objets de l'invention En conséquence, la presente invention a pour objet de. fournir un système d'ordinateur du type dans lequel des unites périphériques demande l'acces DMA par l'utilisation d'un bus d'arbitrage, mais qui peut aussi etre connecté à des unités périphériques qui ne comportent pas de circuit d'arbitrage propre.
Art antérieur Le brevet des EUA ni3.925.766 de Bardotti et autres, présente un système d'ordinateur dans lequel des niveaux de priorité sont attribuds à des dispositifs périphériques et dans lequel des demandes d'acces pour communiquer avec une mémoire sont sélectionnées selon les niveaux de priorité. Les attributions de niveau de priorité peuvent être modifiees selon les causes de la generation des signaux de demande ou selon les conditions de charge particulières du processeur central. Aucun chemin DMA n'est cependant prevu.
<Desc/Clms Page number 4>
Le brevet des EUA ni4.400.771 de Suzuki et autres présente un système à processeurs multiples dans lequel chacun des processeurs multiples peut accéder à une seule mémoire. Un circuit de registre programmable emmagasine des informations de priorité désignant une priorité de rang d'accès en mémoire pour chacun des processeurs. Les informations de priorite peuvent etre modifiées manuellement par un circuit externe ou par au moins l'un des processeurs. Le brevet de Suzuki et autres n'utilise cependant pas l'accès DMA à une mémoire à partir de plusieurs dispositifs périphériques.
EMI4.1
Les brevets des EUA suivants sont mentionnes ici en raison des enseignements généraux qu'ils apportent dans le domaine des systèmes d'ordinateur utilisant des uni tés de commande DMA. Ce sont les brevets des EUA
EMI4.2
n 4. 371. 932 de Dinwiddie, Jr., et autres, ni4.419.728 de Larson, n 4. 538. 224 de Peterson, n 4. 556. 962 de Brewer et autres et n 4. 584. 703 de Hallberg.
Resume de l'invention Selon la présente invention, des unités périphériques comportant leurs propres circuits d'arbitrage et des unites périphériques ne comportant pas de circuit. d'arbitrage, sont tous connectées au meme bus. Les unites périphériques ayant leur propre circuit d'arbitrage peuvent assurer une fonction d'arbitrage par elles mêmes en ce qui concerne l'acces A des canaux DMA disponibles tandis qu'une unité d'arbitrage de requête logicielle est prévue à l'extérieur des unites périphériques pour assurer une fonction d'arbitrage pour le compte des unités périphériques n'ayant pas de circuit d'arbitrage. La présente invention est aussi utile comme outil de diagnostic pour tester les canaux
<Desc/Clms Page number 5>
DMA pendant les tests sous alimentation et autres opérations similaires.
Brève description des dessins La figure 1 est une représentation schematique d'un Systeme d'ordinateur utilisant la presente invention.
La figure 2 est un Schema logique d'une unite d'arbitrage de requête logicielle utilisée dans le système d'ordinateur de la figure 1.
La figure 3 est un schéma logique d'un circuit d'arbitrage logiciel utilisé dans l'unité d'arbitrage de requête logicielle de la figure 2.
La figure 4 est une représentation de certains des signaux du circuit de la figure 3 et est utilisée pour expliquer le fonctionnement du circuit de la figure 3.
La figure 5 est un organigramme montrant les opérations effectuees par l'unite CPU pour initier une requête d'arbitrage"logiciel".
La figure 6 est un organigramme montrant les diverses étapes d'une routine de diagnostique dans laquelle la presente invention est avantageusement utilisée.
La figure 7 est un schema logique d'une unite d'arbitrage de requête logicielle construite selon une autre realisation possible de la présente invention.
Description détaillée de la realisation préférée de l'invention En se reportant tout d'abord à la figure 1 des dessins, on voit que celle ci est une representation schématique
<Desc/Clms Page number 6>
d'un système d'ordinateur utilisant la présente invention.
Une unité CPU 10 communique par un bus Systeme 26 avec une memoire principale 15 et optionnellement, avec un co-processeur mathématique Diverses autres unités peuvent être connectees au bus système 26 comme necessaire. Un bus "famille" 27 auquel divers dispositifs périphériques (quelquefois simplement appelés "périphériques" ou "unités rattachées") sont connectés, est couplé au bus Systeme 26 par une unite de commande de bus. L'agencement décrit jusqu'ici est bien connu et peut être trouvé, par exemple, dans l'ordinateur IBM AT.
De nombreux types differents d'unités périphériques peuvent être connectées au bus de famille 27, les exemples représentes à la figure 1 étant une mémoire auxiliaire 17, un dispositif de communications 18, un fichier de disques durs 20, un disque optique 21 et deux disques souples 22 et 23. Le bus de famille 27 est aussi connecté à une unité de commande DMA 12 et au circuit d'arbitrage central 11. Comme montré par le schéma de la partie inférieure de la figure 1, le bus de famille comprend un bus de donnees 27-1, un bus d'adresse 27-2, un bus de commande 27-3 et un bus d'arbitrage 27-4.
Dans le système d'ordinateur de la presente invention, certaines des unites périphériques représentées génétiquement par l'unité asservie DMA 25, sont prévues avec leur propre circuit d'arbitrage 2. Comme indiqué brièvement ci dessus et comme expliqué en détails dans
EMI6.1
la demande de brevet dont le cessionnaire est le meme que celui de la présente demande et qui a été citée plus haut, lorsqu'une unité périphérique comportant un circuit d'arbitrage 28 désire utiliser un canal DMA,
<Desc/Clms Page number 7>
l'unite peripherique transmet son attribution de priorité de canal sur le bus d'arbitrage 27-4.
A la fin d'une période d'arbitrage définie, la valeur sur le bus d'arbitrage sera la valeur d'attribution de priorité de canal ayant la priorité la plus élevée parmi les unités peripheriques demandant concurremment l'utilisation d'un canal DMA. Le circuit de commande d'arbitrage central 11 indique alors à l'unite de commande DMA le canal DMA qui doit être attribué à l'unite périphérique gagnante.
Cependant, selon les enseignements de la presente invention, des uni tés périphériques ne comportant pas leur propre circuit d'arbitrage et représentées par l'unite asservie DMA 24, peuvent aussi demander et recevoir l'utilisation d'un canal DMA. Cette opération sera maintenant decrite en details.
Pour permettre l'accès DMA à des unités périphériques ne comportant pas de circuit d'arbitrage 28 propre, on a prévu une unité d'arbitrage "requête logicielle" 29. Cette unité d'arbitrage de requête logicielle 29 a pour fonction d'arbitrer suivant les instructions reçues de l'unite CPU, pour le compte des unites périphériques ne comportant pas de circuit d'arbitrage 28 propre. De cette manière, des périphériques existants peuvent être melanges sur le metne bus à des peripheriques comportant leur propre circuit d'arbitrage 28.
La figure 2 montre les détails du circuit d'arbitrage de requête logicielle 29 et de ses connexions à l'unité de commande DMA 12 et au circuit de commande d'arbitrage central 11. Des entrees à une unité d'arbitrage logicielle 31 et à deux registres 32 et 33 sont délivrées depuis le bus de donnees 27-1. L'unité d'arbitrage logicielle 31 est aussi couplee au bus d'arbitrage 27-4. Certains signaux de commande issus du
<Desc/Clms Page number 8>
bus de commande 27-3 sont aussi appliqués a l'unite d'arbitrage logicielle 31. Deux comparateurs 34 et 35 ont aussi chacun un port d' entrée qui est couplé au bus d'arbitrage. Les seconds ports d'entree des comparateurs 34 et 35 reçoivent les sorties des registres 32 et 33, respectivement.
Les sorties des comparateurs sont connectées aux entrees D des bascules respectives 38 et 39 dont les entrées d'horloge sont délivrées par un signal-SOFTPREEMPT (le signe "-" indiquant un signal vrai faible, c'est à dire un signal ayant comme état actif un "0" logique) issu de l'unité d'arbitrage logiciel 31. Les sorties Q des bascules 38 et 39 sont connectees aux entrées de requête de canal DMA DREQ1 et DREQO d'une unité de commande DMA IC 50.
Les bascules 38 et 39 sont restaurées par des signaux d'accuse de réception respectifs -DACK1 et -DACKO.
L'unite de commande DMA IC 50 genere un signal -TC (Compte terminal) qui indique l'instant de l'achèvement de l'operation de transfert de données finale sur un canal quelconque. Pour restaurer l'unite d'arbitrage logiciel 31 lorsque le nombre requis d'operations de transfert de données est acheve pour les deux canaux, le signal -TC est conditionné par les sorties des comparateurs 34 et 35 en utilisant une porte OU negatif 36 et une porte OU 37 pour produire le signal-TCC.
Ainsi,-TCC devient actif en présence d'une impulsion de-TC lorsqu'il y a une requête DMA active sur l'un ou l'autre des deux canaux auxquels l'unite d'arbitrage logiciel 30 est associee.
On suppose que l'unite de commande DMA IC est une unite de commande DMA programmable Inte 1 Corpora tion, type
EMI8.1
8237. Dans ce cas, l'unité CPU peut être n'importe laquelle des microprocesseurs de la serie iAPX 86 comme le 8088, le 8086 ou le 80286. Pour plus de details concernant les interconnexions entre l'unite de commande DMA IC et l'unitg CPU, on se reportera au
<Desc/Clms Page number 9>
manuel "1985 Intel Microsystem Components Handbook", pages 2-57 à 2-71.
Les signaux-DACKO et-DACK1 sont appliqués au travers d'inverseurs à des entrées de deux portes ET 42 et 43 dont les autres entrées sont alimentées par les signaux -IOR et -IOW (lecture entrée-sortie et écriture entrée-sortie) issus de l'unité de commande DMA IC 50.
Les sorties des portes ET sont connectées aux entrees de conditionnement EN des registres respectifs 45 et 46. Un signal de chronologie STROBE issu de l'unité CPU est applique aux entrées d'horloge des registres 45 et 46. Les ports d'entree des registres 45 et 46 sont connectes au bus de donnees 27-1 et les ports de sortie sont connectes au bus d'adresses 27-2.
Le fonctionnement de 11 uni té d'arbitrage logiciel 29 sera maintenant expliqué en détails en se reportant a l'organigramme de la figure 5.
L'unite CPU attend'la reception d'un signal d'interruption depuis l'une des unités périphériques, indiquant une requête d'utilisation d'un canal DMA. Si la requete est issue de l'une des unités périphériques ayant son propre circuit d'arbitrage 28, l'arbitrage et l'acquisition de canal DMA sont exécutés de la manière decrite dans la demande de brevet citée précédemment.
D'autre part, si la requete est issue de l'une des unites périphériques n'ayant pas de circuit d'arbitrage
EMI9.1
28 propre, c'est A dire si l'unite périphérique faisant la requete est l'une des unités-peripheriques à l'requête logicielle", une attribution de priorite de canal correspondant en fonction aux attributions de priorite de canal pour des unites peripheriques ayant leur propre circuit d'arbitrage 28, est envoyee A l'unite d'arbitrage logiciel 31.
La même valeur d'attribution de priorite de canal est ecrite à l'un
<Desc/Clms Page number 10>
des registres 32 et 33, celui qui est choisi dependant du canal DMA à attribuer A l'unite périphérique dans le cas oü elle "triompherait" à l'arbitrage suivant effectue parmi les unités peripheriques pour une attribution de canal DMA.
Dans le présent exemple, deux registres 32 et 33, deux bascules 38 et 39, deux registres 45 et 46, etc..., sont prevus pour (1) permettre l'execution simultanee d'un arbitrage entre deux unites peripheriques différentes n'ayant pas de circuit d'arbitrage (auquel cas les etapes indiquees ci dessus devraient naturellement être repetees pour la seconde unité peripherique) et (2) permettre un choix d'attribution de canal DMA pour des unites peripheriques à requête logicielle entre deux canaux DMA differents, les canaux 1 et 0, respectivement, (les canaux correspondant à DREQ1 et DREQO sur l'unité de commande DMA IC 50).
Naturellement, on peut utiliser des nombres différents de dispositifs suivant le nombre des unités périphériques à requête logicielle utilisées en même
EMI10.1
temps et le nombre des canaux DMA à rendre disponibles pour les unites peripheriques ä requete logicielle.
En outre, l'adresse de port de l'unite peripherique demanderesse est écrite dans l'un des registres 45 et 46 correspondant au canal DMA sélectionné, (les canaux 1 et 0, respectivement). Un signal +ARB/-GRANT sur le bus de commande d'arbitrage est alors delivre à l'unité d'arbitrage logiciel 31. (Ceci sera explique en details ci dessous en se reportant aux figures 3 et 4.) L'arbitrage entre les unites peripheriques, à la fois pour celles ayant leurs propres circuits d'arbitrage et pour celles n'en ayant pas, se déroule alors sur le bus d'arbitrage 27-4.
<Desc/Clms Page number 11>
Après qu'un temps suffisant se soit écoulé pour permettre l'achèvement de l'execution du procede d'arbitrage, un signal -SOFTPREEMPT issue de l'unite d'arbitrage logiciel 31 subit une transition à l'etat "l". Si une uni té périphérique à requête logicielle a gagne l'arbitrage, un "1" apparaîtra à la sortie de l'un des comparateurs 34 et 35, et un "1"est alors . synchronise dans l'une des bascules 38 et 39. Ceci active l'une des lignes de requete de canal DMA DREQO ou DREQ1 à l'unite de commande DMA IC 50. L'unité de commande DMA IC 50 accusera reception de la requête en conditionnant la ligne correspondantes de ses lignes d'accuse de réception -DACK0 et -DACKl à l'état "0".
Lorsque les signaux -IOR et -IOW sont dans l'état "1" indiquant que l'acces d'entree/sortie DMA est maintenant permis, le registre respectif des registres
46 et 47 est conditionné pour placer l'adresse de port d'unité périphérique qui y est emmagasinée sur le bus d'adresse 27-2. Un transfert de donnees DMA est alors effectue d'une maniere bien connue de l'homme de l'art.
La figure 3 est un schema logique de l'unite d'arbitrage logiciel 31.
L'attribution de priorite de canal est ecrite dans le registre 92 lorsqu'une logique de decodage 61 detecte l'adresse respective. Cette Operation est realisee en utilisant un schema d'adressage de port ordinaire. Le registre 92 étant Charge avec l'attribution de priorite de canal, lorsque l'unité CPU envoie une instruction à la logique de decodage 61 pour indiquer qu'un cycle d'arbitrage de requete logicielle doit se derouler, un signal CONDITIONNEMENT est produit par la logique de décodage 61 qui synchronise une bascule 62, ce qui provoque le conditionnement du signal +SOFTREQUEST à l'etat actif.
(Voir la figure 4.) Lorsqu'une impulsion suivante de la Periode d'arbitrage marquant le siqnal
<Desc/Clms Page number 12>
+ARB/-GRANT, est reçue, une bascule 63 est synchronisée et délivre le signal-SOFTPREEMPT. En outre, la sortie d'une bascule 64 est alors synchronisée au niveau haut, ce qui active le signal APRIO et provoque le placement de l'attribution de priorité de canal par l'unité d'arbitrage de bus 80 sur le bus d'arbitrage.
, L'arbitrage pour le bus d'arbitrage se deroule lorsque le signal +ARB/-GRANT est actif. A la fin de la période d'arbitrage, le signal +ARB/-GRANT revient au niveau bas. Si le bus d'arbitrage a gagné, la sortie d'une porte ET Négatif 85 dans l'unitd d'arbitrage de bus 80 passe au niveau bas, ce qui restaure la bascule 63 (par une porte OU 70 et la porte ET 71), donc ramène le signal -SOFTPREEMPT à son état inactif (niveau haut). Cette transition synchronise les bascules 38 et 39 et provoque l'envoi d'un signal de requête à l'unite de commande DMA IC 50.
Le signal APRIO est maintenu au niveau haut (pour maintenir l'attribution de priorité de canal sur le bus d'arbitrage) etant donne que les deux entrées d'une porte ET 72 sont au niveau haut, ce qui place un niveau haut sur l'entree de la bascule 64. L'adresse de l'unite périphérique est ensuite place sur le bus d'adresses 27-2 de la maniera décrite précédemment. Lorsque le transfert des données est achevé, le signal-TC apparait, ce qui provoque la generation d'une impulsion de-TCC. La bascule 62 est alors restaurée (par l'intermediaire d'un inverseur 67, de la porte OU 69 et de la porte OU Négatif 66), ce qui déconditionne le signal +SOFTREQUEST.
L'unite d'arbitrage de bus 80 qui assure l'Operation d'arbitrage réel sur le bus d'arbitrage 27-4, est un circuit qui est présenté et décrit en details dans dans la revue "American National Standard/IEEE Standard", n ANSI/IEEE Std 696-1983, publié par l'institut "Institute of Electrical and Electronics Engineers
<Desc/Clms Page number 13>
Inc.", 13 juin 1983. En general, chaque dispositif incorporé dans le schema d'arbitrage comporte un tel circuit et les circuits sont connectes ensemble par l'intermediaire d'un bus d'arbitrage. Le bus
EMI13.1
d'arbitrage dans l'exemple représentE, comprend quatre lignes de donnees TMAO-TMA3, ce qui permet 16 niveaux d'arbitrage differents. On peut cependant utiliser n'importe quel nombre desire de lignes.
Pendant une période de temps d'arbitrage designee, tous les dispositifs désirant prendre la commande du bus, transmettent leurs niveaux d'arbitrage sur le bus. Ceci est le cas lorsque le signal APRIO passe à ltétat "1".
C'est à dire que, dans le cas present, la valeur qui est retenue dans le registre 92 (la valeur de priorite d'attribution de canal qui est le niveau d'arbitrage pour le dispositif) est transférée au travers des portes ET 91 à l'unite d'arbitrage de bus 80 et de 1à, sur les lignes de bus d'arbitrage TMAO-TMA3. A la fin de la période d'arbitrage, la valeur sur les lignes TMAO-TMA3 sera la valeur du niveau d'arbitrage du dispositif ayant le niveau le plus élevé.
En dehors de la provision pour le système d'ordinateur d'un moyen permettant la connexion de dispositifs périphériques n'ayant pas de circuit d'arbitrage propre, la presente invention se révèle tout à fait utile comme outil de diagnostique.
Selon cet aspect de la presente invention, pendant l'exécution d'une routine de diagnostique comme celles ordinairement exécutées au moment de la mise sous tension par exemple, chaque canal DMA est testé en sequence. C'est a dire que la routine de requête logicielle DMA expliquée ci dessus, est exécutée en sequence pour chaque canal.
<Desc/Clms Page number 14>
Un exemple d'une telle routine de diagnostique utilisant la presente invention sera expliquee ci dessous en se reportant à l'organigramme de la figure 6.
Afin de tester tous les canaux DMA en sequence, le nombre de canaux est tout d'abord etabli à 0. Etant donné que le nombre de canaux est inférieur au nombre total de canaux DMA prévus dans le Systeme, les registres d'adresses, de compte, de mode et de masque de canaux sont chargés. Puis, le registre de valeurs d'arbitrage, à savoir le registre 92 montre à la figure 3, est Charge du nombre de canaux, un compteur de temps est etabli à 0 et des signaux de commande sont envoyes A la logique de decodage 61 de l'unite d'arbitrage logiciel 31 afin de provoquer le passage du signal +SOFTREQUEST à l'état"l"et de declencher ainsi un cycle d'arbitrage de requete logicielle.
Si le compteur de temps n'a pas dépasse un temps maximal T, le statut courant est lu depuis le registre de statut de l'unite de commande DMA IC. Lorsque le cycle d'arbitrage est achevé, les registres d'adresses, de compte, de mode et de masque de canaux sont lus. S'ils contiennent les valeurs correctes, on determine que le canal fonctionne de manière appropriee et le canal suivant est testé de la même maniere. Si non, un message d'erreur est affiché. Un message d'erreur est aussi affiche si le compteur de temps excede T avant max de pouvoir lire les informations correctes issues des divers registres.
Une autre realisation possible de la presente invention sera decrite en se reportant à la figure 7.
Des unités peripheriques differentes peuvent transférer (recevoir et transmettre) des donnees des vitesses maximales differentes. Si une vitesse maximale de
<Desc/Clms Page number 15>
transfert de donnees des unités périphériques est plus lente que celle que le canal DMA peut supporter, il peut arriver qu'une unité peripherique associee à l'unite d'arbitrage de requête logicielle soit
EMI15.1
surchargee de donnees d'entree. Afin d'eviter cela, selon cette autre réalisation possible de la presente invention, l'intervalle entre les cycles d'arbitrage de requête logicielle permis est commande de telle maniere que l'unite périphérique ne soit jamais surchargee de donnees.
Dans la realisation décri te à 1a figure 7, ceci est assure en reduisant le signal-SOFTPREEMPT de façon que des requêtes DMA ne puissent être générées qu'à une vitesse maximale predeterminee. Dans ce but, un signal d'interruption INT est généré un intervalle correspondant A la vitesse de requête DMA maximale desiree. Lorsque le signal INT est recu, il synchronise une horloge 51. La sortie de la bascule 52 conditionne et deconditionne le signal-SOFTPREEMPT par l'intermédiaire d'une porte OU 52.
Après l'achevement d'un cycle de requête logicielle, la bascule 51 est restauree par l'un des signaux d'accusé de réception - DACKO et-DACK1 par l'intermediaire d'une porte ET 53. Aucun autre cycle de requête logicielle n'est permis tant que le signal INT n'apparaît pas à nouveau.
Bien que des modifications puissent être apportées aux structures et enseignements de la presente invention telle que decrite ci dessus, il est évident que de telles modifications restent dans le cadre et l'esprit de la présente invention telle que definie par les revendications ci jointes.