C'est quoi exactement une architecture ? C'est directement lié à un jeu d'instructions ? Ou à un "style" de processeur ?
Du coup, un FPGA, ça sert à se "fabriquer" sa propre architecture ?
C'est quoi exactement une architecture ? C'est directement lié à un jeu d'instructions ? Ou à un "style" de processeur ?
Du coup, un FPGA, ça sert à se "fabriquer" sa propre architecture ?
A la louche, une architecture c'est une spécification qui contient notamment les registres, l'encodage et la sémantique des instructions, le modèle mémoire, le modèle d'exécution (séquentiel, parallèle, etc.), et les registre de contrôles/systèmes. On peut aussi trouver d'autres choses comme la mémoire virtuelle (si il y en a), les exceptions (si il y en a), les interruptions, etc.
Le FPGA c'est comme son nom l'indique un ensemble de portes logiques (en vrai des Lookup Tables, LUT, qui émulent n'importe quelle porte logique), qu'on peut relier comme on veut (c'est la partie programmable). C'est plus un moyen d'implémenter une microarchitecture Skylake) qui implémente une architecture (= x86). C'est donc à placer au même niveau que l'ASIC (= gravé en dur) dans la pile du système.
Envoyé par François
Hé ben, plein de mots/concepts inconnus ^^
En fait si je demande des précisions sur le mot c'est suite à cette phrase de Neo_13 : "j'étais convaincu que les ESP8266 comme j'en ai une dizaine dans la maison, étaient des cortex M0 et j'ai donc, en vérifiant découvert une nouvelle architecture".
Comme il disait que les ESP étaient "compatibles Arduino", j'imaginais qu'ils parlaient le même langage (instructions) et donc que c'était plus ou moins la même archi.
Donc, il y a plutôt des familles d'architectures, divisées en micro-architectures ?
Pour le FPGA, c'est plus clair, mais c'est lié à une archi/micro-archi ou pas du tout ?
Car les portes logiques combinées vont créer un peu tout ce que tu veux, non ? Certaines deviendront des registres, d'autres de la mémoire, d'autres des insctructions ?
C'est la définition que je connais. x86 est une architecture et Haswell, Skylake, etc. sont des microarchitectures qui implémentent l'architecture.
Sur le papier oui, le FPGA peut implémenter n'importe quelle microarchitecture donc n'importe quelle architecture. En pratique, je ne suis pas expert, mais il y a peut-être certains aspects qui rendent ça difficile. A noter aussi que les vraies FPGA ont souvent des blocs de logique dédiées type DRAM ou unités fonctionnelles (multiplicateur/diviseur) parce qu'au final ça sert souvent et donc ça serait dommage de gâcher des LUTs pour quelque chose de "standard".
Envoyé par François