Processeurs à noyau souple VS Processeurs à noyau dur

19

Je fais une étude sur l'interfaçage FPGA avec un microprocesseur comme ARM9.

Je suis tombé sur le concept des processeurs soft core et hard core dans mon étude. Puis-je savoir quelle est la comparaison entre ces 2 types; similitude ou différences dans la mise en œuvre?

Comment Xing Quan
la source

Réponses:

19

Le noyau souple est implémenté dans la structure FPGA tandis que Hard est implémenté de la même manière que tout circuit intégré tout en étant connecté à la structure FPGA. La comparaison se résume généralement à:

Processeurs Hard Core - 100 MHz à 1 GHz + de vitesse

  • Peut atteindre des vitesses de traitement beaucoup plus rapides car elles sont optimisées et non limitées par la vitesse du tissu
  • Fixe et ne peut pas être modifié (bien qu'il puisse tirer parti de la logique personnalisée dans la structure FPGA pour le traitement

Processeurs à noyau souple - 250 MHz et moins (généralement moins de 200 MHz)

  • Peut être facilement modifié et réglé selon des exigences spécifiques, plus de fonctionnalités, des instructions personnalisées, etc.
  • Plusieurs cœurs peuvent être utilisés (au détriment des ressources)
  • Limité par la vitesse du tissu.

Ces dernières années, il y a eu un grand mouvement vers le processeur dur, principalement en raison de la nécessité d'un traitement plus rapide que les noyaux souples ne peuvent pas fournir. Lorsque vous installez un processeur noyau dur avec la structure FPGA, vous pouvez généralement activer le traitement d'un grand nombre de données, ce qui est nécessaire pour les applications d'infrastructure de communication (de nombreux Go de données par exemple).

Gustavo Litovsky
la source
11

Un processeur soft-core est un processeur implémenté à l'aide de la structure FPGA.

Un processeur à noyau dur est un processeur qui est en fait physiquement implémenté en tant que structure dans le silicium.

Fondamentalement, vous pouvez ajouter un processeur soft-core à un système basé sur FPGA une fois qu'il est déjà conçu. Cependant, l'ajout d'un processeur hard-core nécessite soit un FPGA différent, soit une puce supplémentaire sur la carte.


Les processeurs hard-core sont préférés lorsque cela est possible car le rapport prix / puissance de calcul d'un CPU matériel est bien meilleur. L'implémentation d'un CPU dans une structure FPGA nécessite beaucoup de ressources, en particulier si vous voulez beaucoup de puissance de calcul. Le processeur matériel équivalent est probablement beaucoup moins cher.


Non seulement le processeur matériel est beaucoup moins cher, mais il est également susceptible d'être beaucoup plus économe en énergie. Dans les plates-formes fonctionnant sur batterie, l'efficacité est cruciale pour une longue durée de vie de la batterie. Les portes non utilisées dans un FPGA peuvent parfois être désactivées, mais il y a généralement beaucoup plus de circuits actifs dans un processeur à noyau souple que dans un processeur matériel conçu à cet effet. Tout ce silicium FPGA potentiel consomme de l'énergie.

Connor Wolf
la source
«Hard» et «soft» peuvent également faire référence à la description matérielle utilisée et pas seulement à la mise en œuvre du noyau dans la structure (voir «Hard Macro Processors» d' ARM ). Cette page de Western Design Center, Inc., en fournit un exemple. utiliser: "ASIC (noyau dur GDSII optimisé manuellement et noyau souple Verilog RTL), et FPGA (noyau souple Verilog RTL)". Le contexte FPGA pourrait exclure cette utilisation des termes (bien que les valeurs d'initialisation bob blob / LUT vs RTL semblent analogues).
Paul A. Clayton du
Donc, fondamentalement, soft-core = FPGA, hard-core = ASIC?
nalzok
@nalzok - Ouais. Je pouvais voir un argument pour appeler l'émulation d'un CPU sur un autre CPU un "soft" core, mais les gens appellent simplement cette émulation dans mon expérience.
Connor Wolf