2011-01-27 15 views
14

En términos de conjunto de instrucciones y simplicidad de la emulación. Me gustaría implementar una CPU virtual y pensé por qué no emular una existente, para poder compilar código C en ella.¿Cuál es la CPU más pequeña y simple para la que GCC puede compilar?

+0

Otra ruta es buscar backends en arquitecturas de conjunto de instrucciones individuales: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program parece haber hecho un backend clang para subleq: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program/38523869#38523869 –

Respuesta

17

Moxie es un gran objetivo, ya que fue diseñado específicamente para ser un objetivo ideal para GCC. Soy el autor y me complacerá responder cualquier pregunta. verde en moxielogic punto com

+0

¿Hay documentación de referencia sobre la arquitectura y el conjunto de instrucciones? –

+0

Lo que existe en http://moxielogic.org/wiki ... aunque me llevará un poco deshacer el daño de los vándalos wiki. Vuelve a consultar pronto. –

+1

Gracias, se ve exactamente como algo que tenía en mente. –

1

Tal vez algo de la serie Ti MSP430.

3

ZPU (un procesador de 32 bits dirigido FPGA) es muy pequeño.

5

GCC admite Moxie (originalmente ggx), una pequeña arquitectura inventada por Anthony Green para la experimentación.

Usted también puede seguir los pasos que dio para inventar su pequeña CPU simple y puerto GCC.

1

Esto probablemente no es una pregunta infrecuente; Espero que la mayoría de los kits de herramientas de simulación de CPU/máquina incluyan una simple implementación de ejemplo, pero otros no.

No he trabajado con él, pero Knuth's MMIX architecture (wikipedia) parece interesante. Al igual que Moxie, fue creado para "ilustrar aspectos de la programación a nivel de máquina" y es más simple que las máquinas reales. Es compatible con GCC y parece haber múltiples simuladores existentes que podrían usarse como referencia en sus esfuerzos.

Cuestiones relacionadas