FR 2611396 A1 19880902 FR 8702659 A 19870227 2 6113 96 DISPOSITIF POUR PERMETTRE A DEUX SYSTEMES DE TRAITEMENT D'IN- FORMATIONS L'ACCES A UN CIRCUIT COMMUN. La présente invention concerne un dispositif pour permettre à deux systèmes de traitement d'informations l'accès à un circuit commun, dispositif comportant un circuit d'ai- guillage coopérant avec un organe de commande pour effectuer soit une mise en relation prioritaire du circuit commun avec l'un des systèmes de traitement qui est dit prioritaire et qui fonctionne en cycles rapides soit la mise en relation de ce circuit avec l'autre système. De tels dispositifs sont bien connus. On pourra à ce sujet consulter notamment la demande de brevet européenne O 021 287. Dans cette référence, on décrit un dispositif o le circuit commun est une mémoire susceptible d'être adressée par deux systèmes de traitement d'informations. Ces systèmes sont constitués de façon usuelle à partir de microprocesseurs. Le dispositif décrit dans la demande de brevet précitée permet d'éviter des conflits dus à une demande simultanée des deux microprocesseurs concernant cette mémoire commune. Le dispositif connu n'est pas très adapté au cas o l'un des systèmes doit vraiment avoir une priorité d'utilisa- tion de cette mémoire sur l'autre système. Cela survient lors- que l'un des systèmes comporte un microprocesseur de traite- ment de signaux fonctionnant suivant des cycles rapides et qu'il convient de retarder le moins possible son fonctionne- ment. L'autre système ayant des fonctions de gestion peut ac- céder à ce circuit commun avec un rythme moins soutenu. La présente invention propose un dispositif qui ré- sout dans une large mesure ce problème d'accès prioritaire à un circuit commun pour un système de traitement d'informations fonctionnant selon des cycles rapides. - 2 - Pour cela un tel dispositif est remarquable en ce qu'il est prévu au niveau du système de traitement d'informa- tions prioritaires des moyens pour engendrer un signal de pré- paration en direction de l'organe de commande pour que celui- ci accorde l'accès du circuit commun pour le système priori- taire pendant un cycle suivant. Une caractéristique de l'invention selon laquelle les moyens pour engendrer le signal de préparation sont cons- titués à partir des organes de commande d'entrées sorties du système prioritaire formé d'un microprocesseur de structure Harward (par exemple le microprocesseur PCB 5010) est particu- lièrement avantageuse. En effet, ces structures Harward impli- quant une pluralité de lignes de données communes fonctionnant en pipeline, il est donc possible d'en connecter une vers l'extérieur et donc de provoquer l'émission du signal de pré- paration alors que l'autre ligne est utilisée pour la poursui- te du traitement. Il s'ensuit que cette émission ne ralentira que très peu la rapidité du traitement effectué par le système prioritaire. La descriptionsuivante accompagnée des dessins an- nexés, le tout donné à titre d'exemple non limitatif fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente un schéma du dispositif con- forme à l'invention. La figure 2 représente un schéma de l'organe de commande. La figure 3 représente un diagramme-temps destiné à expliquer le fonctionnement du dispositif de l'invention dans le cas o il n'y a pas de conflit. La figure 4 représente un diagramme-temps destiné à expliquer le fonctionnement du dispositif dans un premier cas de conflit. La figure 5 représente un diagramme-temps destiné à expliquer le fonctionnement du dispositif dans un deuxième cas de conflit. -3- A la figure 1, la référence 1 indique un micropro- cesseur de traitement de signal faisant partie d'un système de traitement de signal prioritaire. Ce microprocesseur, dans le cadre de l'exemple décrit, est celui fabriqué par PHILIPS sous l'immatriculation PCB 5010. Ce microprocesseur fonctionne se- lon des cycles de fonctionnement dont le rythme d'apparition est fixé par des signaux CLK fournis par une horloge 5. Ce mi- croprocesseur 1 fournit des codes d'adresses sur une ligne commune 10 et peut recevoir ou émettre des données sur une li- gne commune 12. De ce microprocesseur 1, on considère les si- gnaux DSSN et WSN utilisés pour signaler respectivement que la ligne 12 est reliée à l'une des lignes internes communes du microprocesseur (ligne X et ligne Y indiquées dans les spéci- fications du microprocesseur envisagé) et que les données vé- hiculées par la ligne 12 doivent être écrites ou lues à l'ex- térieur. La référence 20 à la figure 1 indique le micropro- cesseur (par exemple le 68000) faisant partie du second systè- me de traitement d'informations. Ce microprocesseur émet sur une ligne commune 21 des codes d'adresses. Une ligne 22 commu- ne de transmission de données est utilisée pour l'échange d'informations entre le microprocesseur 20 et son environne- ment. Ce microprocesseur engendre assi différents signaux no- tamment les signaux DSON et DS1N pour signifier la taille des données. En effet, le microprocesseur utilisé dans cet exemple accepte des mots de 8 éléments binaires ou des mots de 16 élé- ments binaires. Il fournit aussi les signaux ASN pour indiquer la validation d'un code d'adresse présent sur la ligne 22 et les signaux WGN pour indiquer que les données véhiculées par la ligne 21 doivent être lues ou inscrites. La lecture ou l'inscription se termine par un signal DTACKN provenant du circuit o a lieu la lecture ou l'inscription. Le circuit commun est une mémoire 30.Cette mémoire est organisée en deux blocs 30a et 30b correspondant à la taille des mots traités par le microprocesseur 20, chacun de -4 ces blocs étant sélectionné au moyen de signaux CSON et CS1N. Un signal WEN doit être appliqué à la mémoire 30 pour comman- der l'écriture ou la lecture de données présentes à son accès de données 32. La mémoire est aussi pourvue d'une entrée 35 pour recevoir des codes d'adresses. Pour aiguiller cette mémoire 30 sur l'un des micro- processeurs 1 ou 20 on utilise tout d'abord un circuit d'ai- guillage de code d'adresses 40 de sorte que l'entrée 35 peut être connectée à la ligne 10 du microprocesseur 1 ou à la li- gne 21 du microprocesseur 20 en fonction d'un signal de com- mande DSPE. Pour la lecture des données emmagasinées dans la mémoire 30 par le microprocesseur 20 on a prévu une succession de composants formée d'un registre 42 et d'un banc d'amplifi- cateurs à trois états 44 qui interconnecte l'accès de données 32 à la ligne 22. La commande d'enregistrement du registre 42 reçoit le signal DTACKN et la commande à l'état passant du banc d'amplificateurs un signal RPN. Pour l'écriture des données provenant du micropro- cesseur 20 dans la mémoire 30 on utilise un banc d'amplifica- teurs à trois états 46 interconnectant la ligne 22 avec l'ac- cès de données 32. La commande à l'état passant de ce banc re- çoit un signal WPN. La connexion de l'accès 32 avec la ligne de données BUSX et BUSY internes au microprocesseur 1 s'effectue aussi à l'intérieur de ce microprocesseur sous la commande de l'organe 48 destiné à gérer sous la commande du programme de fonction- nement du microprocesseur l'accès de ces bus X et Y à la ligne de données externes 12. Un circuit de remise à zéro 50, que l'on a repré- senté sur la figure sous la forme d'un bouton-poussoir, four- nit un signal de remise à zéro RSN. Un organe de commande 60 montré plus en détail à la figure 2 fournit les différents signaux CSON, CS1N, DTACKN, WEN, WPN, RPN et DSPE à partir des signaux DSON, DS1N, ASN, WGN, WSN, DSSN, CLK et RSN. - 5 - Cet organe est composé d'un circuit logique combi- natoire 62 et de trois bascules 64, 65 et 66 de type D. Toutes ces bascules reçoivent le signal CLK à leur entrée d'horloge. La bascule 64 fournit à sa sortie Q le signal VAQ alors qu'el- le reçoit à son entrée D le signal VAD. La bascule 65 fournit à sa sortie Q le signal DTQ, reçoit à son entrée D un signal DTD et à son entrée d'initialisation un signal DTR. La bascule 66 fournit à sa sortie Q le signal DSPE et reçoit à son entrée D un signal DSP et à son entrée d'initialisation le signal RSN. Le circuit combinatoire 62 recevant lés signaux DSON, DS1N, ASN, WGN, WSN, DSSN, CLK, RSN, VAQ, DTQ et DSPE fournit les signaux VAD, CSON, CS1N, DTD, DTRN, WEN, WPN, RPN et DSP en effectuant les opérations suivantes: (1) VAD = /ASN.(/DSON+/DS1N).RSN.(/VAQ + DSPE) (2) CSON = DSON.IDSPE (3) CS1N = DS1N./DSPE (4) DTD = /VAD.VAQ./ASN.(/DSON+/DS1N).RSN+DTD./ASN.RSN (5) DTRN= /ASN (6) WEN = (WSN+/DSPE).(DSPE+/DTD+DTQ+ASN+DSON.DS1N+WGN) (7) WPN = DSPE+ASN+/DTD+DTQ+WGN+DSON.DS1N (8) RPN = /WGN+ASN+DSON.DS1N (9) DSP = /DSPE./DSSN.RSN On notera la relation DTACKN = /DTQ. Pour écrire ces différentes formules, on a utilisé le formalisme suivant: /: complément du signal qui suit, : opération ET logique, +: opération OU logique. Les tableaux I et II ci-dessous donnent la signification des différents signaux. - 6 - -6- TABLEAU I 1) SIGNAUX PROVENANT DU PROCESSEUR pP G20 Signal Valeur Commentaires logique active DSON O Pour sélectionner 8 bits de poids faible présents sur la ligne 22. DS1N O Pour sélectionner 8 bits de poids fort présents sur la ligne 22. ASN O Pour indiquer que la mémoire 30 est solli- citée. WGN O Pour indiquer qu'une inscription dans la mémoire 30 est requise. 2) SIGNAUX PROVENANT DU PROCESSEUR pP S1 WSN O Pour indiquer qu'une inscription dans la mémoire 30 est requise. DSSN O Pour d'une part faire office de signal de préparation et pour d'autre part indiquer qu'une inscription de lecture ou d'écriture dans la mémoire 30 est requise. CLK t Le front montant des signaux règle le ca- dencement du fonctionnement du dispositif. 3) SIGNAL RS RSN O Met les bascules 64, 65 et 66 à zéro au front montant suivant du signal CLK. -7 TABLEAU II SIGNAUX FOURNIS PAR L'ORGANE DE COMMANDE 60 Signal Valeur Commentaires logique active CSON O Pour sélectionner le bloc 30a de la mémoi- re 30. CS1N O Pour sélectionner le bloc 30b de la mémoi- re 30. DTACKN O a) Pour indiquer au processeur PG20 qu'une inscription ou lecture concernant la mémoi- re 30 a été exécutée. 1 b) Pour rendre transparent le registre 42. WEN O Pour mettre la mémoire 30 en position d'écriture. WPN O Pour mettre l'ensemble 46 à l'état passant. RPN 0 Pour mettre l'ensemble 44 à l'état passant. DSPE 1 a) Pour connecter l'entrée 35 sur la ligne 10. 0 b) Pour connecter l'entrée 35 sur la ligne 21. Il est possible maintenant d'expliquer le fonction- nement du dispositif de l'invention. On explique tout d'abord comment s'effectuent une lecture et une écriture de la mémoire 30 lorsque ces opérations sont requises par le processeur PG20 (donc DSSN = 1). - On se reporte à la figure 3 o l'on considère l'instant tO; c'est à cet instant que le signal ASN devient actif et l'on admet que DSON ou DS1N le devienne aussi. Avant cet instant, les bascules sont considérées être à zéro, c'est-à-dire que: VAQ = 0, DTQ = 0 et DSPE = 0, ce qui en- 2 6 113 96 8 - traine VAD = O. Dès que ASN a la valeur '0' la bascule 65 est libérée et VAD prend la valeur '1". Puis survient, à l'instant tl, un front montant du signal CLK. On rappelle que chacun de ces fronts définit un cycle de fonctionnement CF. A cet ins- tant tl, comme le signal VAD est égal à 1, le signal VAQ prend cette valeur 'l", ce qui entraîne que DTD = 1 et que VAD = O. A l'instant t2 survient le front suivant du signal CLK, ce qui fait que VAQ prend la valeur de VAD et DTQ la valeur de DTD. VAD garde sa valeur "0'O car DTQ devient égal à "1". A l'ins- tant t3 o survient le front montant du signal CLK, les va- leurs des signaux resten. inchangées. Puis, enfin, à l'instant t4 le signal ASN prend la valeur "1', ce qui remet à zéro la bascule 65, donc DTQ revient à 'O' et l'on se retrouve à l'état décrit-antérieurement à tO. Une donnée provenant du microprocesseur 20 est écrite (WGN = O) pendant le temps o VAQ = 1 (entre tl et t2) c'est-à-dire juste avant que le signal DTQ (ou DTACKN) devien- ne actif, signalant ainsi que l'écriture a été effectuée. En lecture (WGN = 1) le signal RPN est actif, pratiquement tant que le signal ASN l'est, ce qui est sans inconvénient car les données issues de la mémoire 30 sont mémorisées pendant le temps o le signal DTQ (DTACKN) est actif et c'est pendant ce laps de temps, repéré par ZR à cette figure 3 (et aussi aux figures 4 et 5) que la donnée à la sortie de l'ensemble 44 se- ra considérée par le processeur 20. On explique ci-dessous comment s'effectuent une lecture et une écriture de la mémoire 30 lorsque ceci est re- quis par le processeur 1. On se place à l'instant tlO o le signal DSSN prend la valeur "0' constituant ainsi le signal préparatoire indiqué par SPr. Il est supposé, conformément aux spécifications du processeur de signal envisagé, que ceci ne peut survenir que lorsque le signal CLK a la valeur "0". La valeur "0" de DSSN entraîne que le signal DSP prend la valeur "1"l, de sorte qu'à l'instant tll o surgit un front montant de CLK, le signal DSPE prend la valeur "1" commutant la mémoire 30 sur le pro- 2 6 1 139 6 -9- cesseur 1 de sorte que pendant le cycle de fonctionnement CF situé entre tll et t12 (instants o apparaissent des fronts montants du signal CLK) le processeur doit effectuer une opé- ration sur la mémoire 30; après l'instant t12 le signal DSPE reprend la valeur "0". A la figure 4 on examine le cas o les microproces- seurs 1 et 20 demandent, dans des laps de temps communs, l'ac- cès à la mémoire 30 et l'on examine plus particulièrement le cas o le signal ASN devient actif (à l'instant t20), avant que n'apparaisse le signal préparatoire DSSN (à l'instant t21). Le fait que le signal ASN devienne actif provoque le passage à "1" du signal VAD. Le signal DSP prend la valeur "1" sous l'influence du signal préparatoire SPr surgissant à l'instant t21. Au front montant du signal CLK survenant à l'instant t22 d'une part, le signal VAQ va prendre le signal *1' et d'autre part, le signal DSPE va aussi prendre cette va- leur pour mettre en relation la mémoire 30 avec le processeur 1. Entre les instants t22 et t23 (déterminés par des fronts montants de CLK) le signal DSPE va garder la valeur "1", ce qui fait que le signal VAD va garder aussi la valeur '1", ceci étant dû au terme (/VAQ+DSPE) de l'équation (1). A l'instant t23, le signal DSPE prend la valeur "0" de sorte que cette fois le signal VAD prend la valeur '0", le signal VAQ garde la valeur '1" et le signal DTD prend la valeur "1" juste après le front montant de cet instant t23. Puis survient un second signal préparatoire SPr à l'instant t24. On remarque que ce signal se produit pendant que le signal DSPE a la valeur "0", impliquant que la mémoire est en relation avec le microprocesseur 20 d'une manière qui sera expliquée un peu plus loin. Ce dernier signal prépa- ratoire SPr aura pour effet de faire mettre à "1" le signal DSPE à l'instant t25 correspondant à un front montant du si- gnal CLK. Mais ce front montant de l'instant t25 provoque le passage à "1" du signal DTQ. Ce signal ne passera à "0" que lorsque le signal ASN prendra la valeur "1" (à l'instant t26), - 10 - signifiant ainsi que les relations entre le microprocesseur 20 et la mémoire 30 sont terminées. Ainsi, comme le signal a pris la valeur '1" entre d'une part les instants t22 et t23 et d'autre part après l'instant t25 pour une durée de cycle de fonctionnement, les relations entre le microprocesseur prioritaire 1 et la mémoire ont été assurées. En ce qui concerne les relations du mi- croprocesseur 20 et de la mémoire 30, il convient de noter que l'écriture de la mémoire 30 a pu avoir lieu pendant que le si- gnal WPN avait la valeur '0", c'est-à-dire entre les instants t23 et t25, tandis que la lecture a pu avoir lieu pendant que le signal DTQ avait la valeur "1" et quelle que soit la valeur DSPE, ceci grace aux registre et ensemble 42 et 44. A la figure 5 on examine le cas o le signal ASSN prend la valeur "0" à l'instant t30 avant un front montant (à l'instant t31) suivi par un signal préparatoire SPr survenant à l'instant t32. Le processus se déroule de la manière déjà décrite relativement à la figure 3. Il convient de noter que lorsque le signal DSPE prend la valeur *1" à l'instant t33 mettant en relation le microprocesseur 1 avec la mémoire 30, le signal DTQ prend la valeur "1", ce qui permet au micropro- cesseur 20 de pouvoir lire les données par le truchement des ensemble et registre 42 et 44, l'écriture ayant eu lieu si de- mandée avant l'instant t33. A l'instant t35 le signal ASN prend la valeur "1", ce qui termine l'échange. - 11 - REVENDICATIONS: 1. Dispositif pour permettre à deux systèmes de trai- tement d'informations l'accès à un circuit commun, dispositif comportant un circuit d'aiguillage coopérant avec un organe de commande pour effectuer soit une mise en relation prioritaire du circuit commun avec l'un des systèmes de traitement qui est dit prioritaire et qui fonctionne en cycles rapides soit la mise en relation de ce circuit avec l'autre système, caracté- risé en ce qu'il est prévu au niveau du système de traitement d'informations prioritaires des moyens pour engendrer un si- gnal de préparation en direction de l'organe de commande pour que celuici accorde l'accès du circuit commun pour le système prioritaire pendant un cycle suivant. 2. Dispositif selon la revendication 1, pour lequel le système prioritaire est constitué à partir d'un microproces- seur de structure Harward fournissant un signal actif pour toute connexion vers l'extérieur, caractérisé en ce que ce si- gnal actif est utilisé une première fois comme signal prépara- toire et une deuxième fois pour la mise en relation du circuit commun avec le système prioritaire. 3. Dispositif selon la revendication 1 ou 2, caracté- risé en ce qu'il est prévu un ensemble de registres et d'am- plificateurs à trois états pour enregistrer des données prove- nant du circuit commun et pour les restituer au système non prioritaire pendant que ce système prioritaire peut être en relation avec le circuit commun.