page créée le 27/07/2009 par Yann et Laura

Description générale de YASEP

YASEP est un processeur. Il permet d'éxecuter des programmes à l'intérieur d'un FPGA (un circuit électronique reprogrammable). De par sa puissance modeste il peut par exemple commander des servos, des LEDs, et autres périphériques simples et moins simples (Ethernet, des afficheurs LCDs). Il est donc à cheval entre les microcontrôleurs PIC et les processeurs ARM, beaucoup moins puissant qu'un PC.

YASEP à été conçu pour être simple. La performance n'était pas l'objectif puisque les calculs complexes seraient effectués par d'autres circuits. Ainsi le jeu d'instructions est minimal, tout comme la taille et la consommation. Il est adapté pour les utilisations sur batterie (embarquées).

Pour utiliser YASEP il faut donc un FPGA (avec les outils de développement permettant d'y insérer YASEP), des périphériques d'entrées et de sorties et du code assembleur YASEP, c'est à dire un ensemble d'instructions permettant de communiquer avec YASEP. Ce dernier se chargant de communiquer avec les périphériques.


La structure de YASEP est inspirée des processeurs RISC. Chaque instruction peut utiliser tout les registres indifféremment, contrairement à d'autres processeurs, ce qui facilite la prise en main. (on dit que les instructions sont orthogonales). De plus il n'y a pas beaucoup d'instructions (moins d'une cinquantaine) et la plupart ressemblent à celles qu'on trouve dans les autres processeurs.

Les instructions sont organisées par groupes :

- Il n'y a pas d'instruction de load/store en tant que tel, mais seulement pour les demi mots et les octets. En effet la mémoire est accédée directement au travers des registres.

- Il n'y a pas non plus d'instruction de saut, il faut écrire dans le registre NPC.