• [^] # Re: chip de test

    Posté par (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre.... Évalué à 3.

    Bref, tu perds tout l'intérêt des FPGA : I/O nombreuses, calcul parallélisé, etc. Je ne comprends pas l'intérêt de ton modèle.

    J'ai travaillé sur des SoC. Il y avait un accélérateur de crypto. Il était bien plus rapide le CPU arm... la plupart du temps. Comme c'est un élément externe, avant de lancer un calcul il faut le programmer, si le paquet à chiffrer est petit, autant le faire directement sur le cpu, c'est plus rapide. Ainsi le code en fonction de la taille du paquet utilise l'accélérateur ou non. Ensuite, c'est pratique un accélérateur AES, mais il existe une pléthore de mode d'utilisation qui n'était pas tous inclus.

    De l'autre côté, Intel a ajouté 4 instructions et des registres 256 bits à ces cpu, elle correspond au cœur de calcul AES, les "modes" étaient faits avec les instructions classiques. Ainsi, intel a multiplié par 10 ses performances AES, dans tous les cas !

    Les instructions spécialisées sont aussi bien plus simples à utiliser qu'un core externe : il suffit d'avoir un compilateur pour générer le bon code.

    Pour utiliser un core spécialisé, il faut écrire un driver pour l'OS, il faut modifier la façon de travailler de certaine librairie pour transmettre et récupérer les blocs traités. Les temps de mise en route ne sont pas nuls, la gestion d'énergie peut être complexe. Il faut aussi trouver un moyen de partager l'accès à la ressource entre 2 logiciels utilisant la fonctionnalité.

    Le problème évident des instructions spécialisées, c'est que l'on ne peut pas toutes les faire. Il faut choisir. Plusieurs instructions FPGA permettrait de faire certain traitement dédié rapidement. On peut imaginer plusieurs multiplieurs dans ce bloc.

    Oui, les IOs ici ne rentrent pas en compte. Pour la puissance de calcul d'un FPGA, on peut en général utiliser des centaines de multiplieurs 16 bits (on est loin de float64), mais la complexité va être dans l'accès à la RAM et/ou à un autre CPU pour des besoins de communication sur IP ou sans fils par exemple.

    On parle beaucoup de FPGA dans des applications de traitement du signal, mais finalement on utilise beaucoup de DSP pour ça, car c'est plus simple à utiliser.C'est plus flexible et des fréquences plus hautes, surtout si le problème est l'accès mémoire bien plus complet sur un cpu. Aujourd'hui, on peut même utiliser des cpu classique pour avoir un support d'OS plus aboutit (cas typique du lecteur MP3 ou l'on est passé de DSP spécialisé à des minuscules ARM)

    "La première sécurité est la liberté"