12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.1. ESTEREL 172.1.4.1 Interface <strong><strong>de</strong>s</strong> circuitsSur le schéma 2.5, les broches <strong>de</strong> gauche représentent les entrées <strong>de</strong> l’interface et les broches<strong>de</strong> droite sont les sorties. La signification <strong>de</strong> chaque broche est la suivante :– L’entrée GO est utilisée pour lancer l’exécution d’une instruction. Une instruction s’exécutedès que GO vaut 1.– L’entrée RES est utilisée pour reprendre l’exécution d’une instruction après son démarrage.L’instruction continue son exécution après une pause tant que ce fil est à 1. Cette brocheest plus particulièrement utilisée par les instructions abort et suspend.– L’entrée SUSP est utilisée pour suspendre l’exécution d’une instruction. Lorsque ce fil està 1, tous les registres <strong>de</strong> l’instruction conservent leur valeur à moins que le signal d’arrêtKILL ne soit reçu (voir ci-<strong><strong>de</strong>s</strong>sous).– L’entrée KILL permet <strong>de</strong> tuer l’exécution d’une instruction. Cette broche permet <strong>de</strong> mettrela valeur <strong>de</strong> tous les registres <strong>de</strong> l’instruction à 0. Ce signal passe à 1 lorsqu’une exceptionest lancée. Dans ce cas, le signal KILL est propagé par toutes les instructions vers lesinstructions pause.– La sortie SEL permet d’indiquer que l’instruction est toujours active après une pause etdoit être relancée au moyen du signal RES. Ce signal vaut 1 dès qu’une pause <strong>de</strong> l’instructionest active. Ce signal est donc la disjonction <strong>de</strong> tous les registres <strong>de</strong> l’instruction.– Les sorties K0, K1, etc. correspon<strong>de</strong>nt aux co<strong><strong>de</strong>s</strong> <strong>de</strong> complétion (terminaison, pause, levéed’exception, voir [11]). Si n représente le nombre d’instructions trap qui entourent l’instruction,alors ces broches sont au nombre <strong>de</strong> n + 2. Lorsqu’une instruction est démarréeou bien relancée, la sortie correspondant au co<strong>de</strong> <strong>de</strong> complétion <strong>de</strong> l’instruction est miseà 1. Si l’instruction n’est pas exécutée, toutes ces sorties sont à 0.– Les broches E et E’ correspon<strong>de</strong>nt à l’interface <strong><strong>de</strong>s</strong> signaux <strong>de</strong> l’instruction. E et E’ nesont pas <strong>de</strong> simples broches. Ce sont en réalités <strong><strong>de</strong>s</strong> vecteurs <strong>de</strong> signaux contenant un filpar signal. Les broches E et E’ correspon<strong>de</strong>nt respectivement aux signaux d’entrée et <strong><strong>de</strong>s</strong>ortie.2.1.4.2 Exécution <strong><strong>de</strong>s</strong> circuitsLe schéma d’exécution <strong><strong>de</strong>s</strong> circuits consiste tout d’abord à émettre le signal GO afin <strong>de</strong>démarrer l’exécution. Ensuite, à chaque cycle d’horloge, le signal RES est émis. A chaque cycle,le contrôle se propage par toutes les portes combinatoires du circuit. Les fils correspondants auxco<strong><strong>de</strong>s</strong> <strong>de</strong> complétion sont calculés et les registres correspondants aux instructions pause activessont recalculés à chaque instant en fonction <strong>de</strong> leur valeur à l’instant précé<strong>de</strong>nt. Les signauxsont reçus et émis par les broches E et E’.2.1.4.3 Traduction circuitLa traduction structurelle complète <strong><strong>de</strong>s</strong> instructions <strong>Esterel</strong> est donné dans [11]. Cettetraduction produit exactement un registre booléen par instruction pause. La figure 2.6 montre

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!