Рассматривая набор 8-битных команд AVR atmel (http://www.atmel.com/Images/doc0856.pdf), я нашел формат инструкции довольно сложным. Многие инструкции имеют разные битовые поля, где бит операнда/код операции находятся в разных местах инструкции: почему это так? Разве не сложнее для декодирующего блока фактически декодировать код операции и операнды в этом формате?Почему формат инструкции AVR настолько сложный?
0
A
ответ
0
Я думаю, что это в значительной степени может быть связано с соображениями совместимости. На каком-то этапе одна команда становится более мощной, а дополнительная опция кодируется в битах, которые являются бесплатными, так что старое командное слово все еще вызывает старое поведение.
Это как раз то, как они решили что-то делать, на самом деле довольно редко бывает, что битполы хорошо организованы, люди и люди, которые имитируют mips, делают это, но многие другие наборы инструкций даже старые cisc, где вы думаете, что каждый подсчет ворот , не сделал. –
Этот вопрос не соответствует теме, потому что речь идет не о программировании. – UncleO
Получение 8-битного микроконтроллера для обеспечения надежной ISA, которая хорошо отображает разумную среду C, была проблемой, которая хорошо окупилась. Посмотрите на порт AVR GCC - он будет настолько же прост в использовании, как и инструментарий C для встроенной цели. * AVR не может позволить себе щедрую фиксированную 4-байтную инструкцию с фиксированными полями, такими как ранняя архитектура RISC. * Я должен не соглашаться с вашей предпосылкой. –