Каков самый маленький, самый простой процессор, для которого может собираться GCC?

В терминах набора команд и простоты эмуляции. Я хотел бы реализовать виртуальный процессор и понять, почему не эмулировать существующий, чтобы иметь возможность скомпилировать код C.

Ответы

Ответ 1

Moxie - отличная цель, поскольку она была специально разработана для идеальной цели для GCC. Я автор и буду рад ответить на любые вопросы. зеленый в moxielogic dot com

Ответ 2

GCC поддерживает Moxie (первоначально ggx), небольшая архитектура, изобретенная Энтони Грин для экспериментов.

Вы также можете выполнить предпринятые им шаги, чтобы изобрести свой собственный небольшой простой процессор и порт GCC.

Ответ 3

ZPU (32-битный процессор с ПЛИС) очень мал.

Ответ 4

Возможно, AVR ATTiny45 или аналогичный чип AVR.

Ответ 5

Это, вероятно, не является необычным вопросом; Надеюсь, что большинство наборов инструментов для моделирования процессоров и машин будут включать в себя простую примерную реализацию, но некоторые не делают.

Я не работал с ним, но Knuth MMIX architecture (wikipedia) выглядит интересным. Как и Moxie, он был создан, чтобы "проиллюстрировать аспекты программирования на машинах" и проще, чем реальные машины. Он поддерживается GCC и, как представляется, существует несколько существующих симуляторов, которые можно использовать в качестве ссылки в ваших усилиях.

Ответ 6

Возможно, что-то из серии Ti MSP430.

Ответ 7

MIPS я (одна из целей GCC) - удивительно простая для эмуляции 32-битная платформа. Вот короткий и простой эмулятор, который может загружать и запускать статически связанный исполняемый файл Linux MIPS I: https://github.com/pts/pts-mips-emulator