version : 2009-07-21
Retour à la page d'accueil
version anglaise :

Les différentes variétés de YASEP

L'architecture YASEP définit deux versions du processeur, selon que le chemin de données est sur 16 ou 32 bits : ce sont respectivement les versions YASEP16 et YASEP32. Elles partagent approximativement 90% du comportement et on essaie de garder un maximum de points communs entre les deux. Nous parlerons donc surtout des différences ici.

 
  • La première différence évidente est la taille des mots, qui destine chaque version à des usages différents.
  •  
  • La seconde différence évidente est la taille du circuit intégré : YASEP16 utilise environ deux fois moins de portes logiques que YASEP32. Comme il est plus compact, YASEP16 laissera plus de place pour des circuits périphériques que YASEP32 dans un FPGA. De plus, à technologie identique, YASEP16 tourne à peu près 15% plus vite puisque sa taille plus petite raccourcit les fils et les chemins critiques.
  •  
     
  • Une troisième différence existe au niveau de la mémoire. La taille d'un programme est presque identique (puisque les instructions sont les mêmes) mais on ne peut pas accéder à la mémoire tout à fait de la même manière.  
  • La quatrième différence notable est dans le jeu d'instructions. Celles qui peuvent travailler avec des mots entiers n'ont pas d'utilité dans YASEP16, qui utilise des demi-mots (16-bit) pour tout. Les instructions LSH, LZH, SH et SHH sont spécifiques à YASEP32 et peuvent déclencher une erreur quand elles sont exécutées par YASEP16. Pour réduire les erreurs de programmation, les pseudo-instructions YASEP32 et YASEP16 ont été définies. Elles envoient un avertissement quand une instruction assemblée est invalide pour le coeur utilisé.
  •  

    La plupart des mécanismes internes restent inchangés. Par exemple, les registres spéciaux ont les mêmes fonctions dans les premiers 65536 registres, le code peut donc être porté facilement. Le mécanisme d'interruption (gestion des événements externes) et d'exception (traitement des erreurs logicielles) a la même structure : ces mécanismes sont configurés via les premiers registres spéciaux.