Какой самый маленький и самый простой процессор, который GCC может скомпилировать? - PullRequest
16 голосов
/ 27 января 2011

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

Ответы [ 7 ]

19 голосов
/ 02 февраля 2011

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

6 голосов
/ 28 января 2011

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

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

4 голосов
/ 28 января 2011

ZPU (32-битный процессор с целевой FPGA) очень маленький.

2 голосов
/ 13 апреля 2013

Это, вероятно, не редкий вопрос; Я надеюсь, что большинство инструментальных средств моделирования ЦП / машины будут включать простой пример реализации, но некоторые этого не делают.

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

2 голосов
/ 27 января 2011

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

1 голос
/ 23 января 2019

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

1 голос
/ 27 января 2011

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

...