![]() |
|||
![]() |
|||
![]() |
La valeur résultat à transmettre à l'extérieur est
. Elle doit donc
être disponible dans les registres de l'interface à la fin du calcul. C'est dans
ces conditions que nous avons réfléchi pour mettre en adéquation le temps
d'exécution et les coûts3 afin de
respecter le cahier des charges.
Nous avons donc dressé un premier bilan des opérateurs nécessaires:
Dans un souci de clareté, et afin d'éviter une multiplication intempestives de
modules, nous avons regroupé l'additionneur, le soustracteur et l'opérateur
minimum en un seul module: l'Unité Arithmétique et Logique ou
UAL. Au cours du déroulement du programme nous nous sommes rendus compte, pour
des raisons d'implantations qu'un soustracteur inversé4 s'avérait nécessaire. De plus, pour simplifier, nous avons
décidé que, comme au début du calcul
et
sont toujours à zéro, nous
allions intégrer l'opération
5.
Ces deux dernières opérations ont donc aussi été incluses dans l'UAL.
Mais cette implantation exige aussi que l'on n'exécute qu'une opération de l'UAL
à la fois, qu'une multiplication et qu'un seul traitement par racine carrée.
Cela fait apparaître la nécessité de stocker temporairement des données dans des
registres6.
L'étude du graphe-flot fournis dans le sujet, nous permet de dire que les
variables temporaires suivantes devront être stockées: