Etude et r�alisation d'un microprocesseur g�n�ral

Fabrice Bellard et Sylvain Delas

1 Cahier des charges

2 Solutions envisag�es

2.1 Taille des mots

2.2 Architecture

2.3 Jeu d'instruction

Un format homog�ne simplifie beaucoup le d�codeur d'instruction. Des instructions sur 1 octet simplifient le s�quenceur, mais un probl�me se pose pour le chargement de constantes de grande taille ( 8 ou 16 bits ).

D'un autre c�t�, si on inclut un champ d'adresse dans les instructions, la taille moyenne des programmes sera plus faible.

2.4 Les p�riph�riques

Une gestion hardware (notamment des afficheurs) rend le d�bogage plus facile, mais occupe beaucoup de CLB. Une gestion totalement software complique sensiblement le logiciel, mais donne plus de souplesse.

3 Solution retenue

3.1 Architecture g�n�rale

3.2 Jeu d'instruction retenu

3.3 Les outils de d�veloppement

Nous avons r�alis� un macro-assembleur pour g�n�rer facilement les s�quences de code les plus courantes. Un simulateur complet (incluant la simulation du hardware) a �t� r�alis� sous XWindows et sur Macintosh.

4 Bilan

4.1 Retour au cahier des charges

Le microprocesseur fonctionne. Il utilise 190 CLB. Nous avons programm� une calculatrice 4 op�rations avec affichage en d�cimal et un jeu de labyrinthe. Cela suffit � d�montrer que notre microprocesseur est g�n�ral.

La version test�e atteint une vitesse de 0.3 MIPS, et peut �tre acc�l�r�e jusqu'� 1 MIPS.

La gestion par logiciel des p�riph�riques permet d'avoir une grande souplesse d'utilisation.

4.2 Regrets et am�liorations possibles



Tue Oct 15 03:37:32 MET 1996
Fabrice Bellard (fabrice.bellard at free.fr)