I. Introduction
La conception d'un micro-processeur impose d'incessants allers-retours entre le niveau
fonctionnel (ce que la machine sera capable de faire), et le niveau matériel, qui spécifie
comment elle le fera. Nous avons choisi de suivre partiellement la même démarche.
D’abord, nous aborderons notre description du microprocesseur par le niveau fonctionnel,
car c'est à ce niveau que seront définies les caractéristiques les plus générales. Il nous sera
cependant impossible de définir totalement ce niveau fonctionnel en l'absence de définition
matérielle. Cette première étape nous permettra de proposer une première ébauche
d'architecture, en particulier en termes de constituants élémentaires. Ce n'est qu'ensuite
que nous pourrons revenir sur le niveau fonctionnel et proposer, par exemple, un jeu
d'instructions précis.
II. Description fonctionnelle d’une pompe à essence.
On désire réaliser un microprocesseur capable de gérer une pompe à essence d’une station
de service (cas de l’EDK). Celui-ci fonctionne comme suit :
Un bouton Volume est activé (v=1) lorsque la commande est en fonction de la quantité(le
nombre de litre). Un bouton Montant est actif (m=1) lorsque la commande est fonction du
Montant.
Pour envoyer une commande on appuie sur Envoyer(e=1), qui se trouve juste derrière le
clavier. On peut aussi annuler une commande en tapant sur Annuler (a=1).
Lors que nous souhaitons commander par volume (par exemple 30 L), la première chose à
faire c’est d’initialiser le système de telle sorte qu’il accepte le nombre de litre, en appuyant
sur la touche Volume du clavier de bord ci-dessus. C’est le même principe si on veut
commander par Montant, il suffit juste de commencer en tapant avant tout sur la touche
Montant et continuer la saisie.
En bref, une fois le mode de commande est choisi, l’utilisateur entre une valeur, puis il
appuie sur le bouton envoyer pour valider la commande ou sur annuler, en cas d’erreur, afin
de pouvoir recommencer l’opération.
Lors d’un envoi, un test est effectué pour savoir l’état du réservoir (r=1 si le réservoir
contient du carburant). Si r=1 un signal est émis pour envoyer le carburant et afficher le
Montant et le volume commandés. Si r=0 un signal indiquant que le réservoir est vide et qu’il
faut réapprovisionner, est alors envoyer.
Lors d’une annulation de commande (a=1)le système est réinitialisé.
III. Les interfaces d’entrées et sorties