Выбор архитектуры ЦП для LLVM / CLANG

Я проектирую компьютер с последовательным интерфейсом TTL, и я изо всех сил пытаюсь выбрать архитектуру, более подходящую для серверной части компилятора LLVM (я хочу иметь возможность запускать на нем любое программное обеспечение C ++). Не будет ни MMU, ни умножения / деления, ни аппаратного стека, ни прерываний.

У меня есть 2 основных варианта:

1) 8-битная память, 8-битный ALU, 8-битные регистры (~ 12-16). Ширина адреса памяти 24 бита. Поэтому мне нужно будет использовать 3 регистра в качестве IP и 3 регистра для любой ячейки памяти.

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

2) 24-битная память, 24-битный ALU, 24-битные регистры (~ 6-8). Плоская память, приятно. Недостатки заключаются в том, что из-за последовательного характера дизайна каждая операция будет занимать в 3 раза больше тактов, даже если мы работаем с некоторыми логическими значениями. 24-битная ширина данных в памяти стоит дорого. Да и вообще аппаратно это реализовать сложнее.


Вопрос: как вы думаете, возможна ли реализация всех функций C ++ на этом 8-битном аппаратном обеспечении без стека, или мне нужно иметь более сложное оборудование, чтобы генерировать код разумного качества и скорости?

15
задан Dan Cecile 25 September 2011 в 02:35
поделиться