Si cela respecte "correctement la cohérence des caches, et en s'arrangeant pour respecter les mappings de la MMU." ce n'est pas simple du tout.
Je propose simplement de rajouter un bloc de calcul à coté de l'ALU qui soit un FPGA. L'intéret est que l'état (les donnés, les registres) sont géré par le CPU, ce qui enlève 90% de la complexité. Par contre, cela met une contrainte énorme sur la vitesse du bloc et sur ce qui l'est possible de faire (pas de stoquage d'information, sauf pipeline)
En gros, ton ALU simple prend 2 entrées en provenance de la mémoire ou des registres et une sortie qui sera redirigé. Le FPGA a les mêmes IOs, mais il est programmable ainsi le cpu peut avoir une instruction spécialisée (cf les 4 instructions AES d'intel, etc...).
[^] # Re: chip de test
Posté par Nicolas Boulay (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre.... Évalué à 2.
Si cela respecte "correctement la cohérence des caches, et en s'arrangeant pour respecter les mappings de la MMU." ce n'est pas simple du tout.
Je propose simplement de rajouter un bloc de calcul à coté de l'ALU qui soit un FPGA. L'intéret est que l'état (les donnés, les registres) sont géré par le CPU, ce qui enlève 90% de la complexité. Par contre, cela met une contrainte énorme sur la vitesse du bloc et sur ce qui l'est possible de faire (pas de stoquage d'information, sauf pipeline)
En gros, ton ALU simple prend 2 entrées en provenance de la mémoire ou des registres et une sortie qui sera redirigé. Le FPGA a les mêmes IOs, mais il est programmable ainsi le cpu peut avoir une instruction spécialisée (cf les 4 instructions AES d'intel, etc...).
"La première sécurité est la liberté"