Перейти к содержанию
    

Сравнение AVR и 51

Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256).

Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ.

Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС).

Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возраст 51’го ядра подходит, поправьте если ошибаюсь, к 3м десяткам. Ядро AVR значительно моложе, ~10лет. Когда мне с ним пришлось столкнуться в 97м, одним из преимуществ AVR разработчики обещали компактность C кода при компиляции. Могу лишь констатировать, что это факт!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Портировали несколько проектов с C51 на AVR. Объём программы в байтах практически не изменился. Т.е. м128 (ранее м103) уделала в 2 раза по количеству слов T89C51RD2 (ныне AT89C51ED2)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А потом выкинуть нахрен все компиляторы для 8-битников - позорище эдакое - и далее писать для них только на ассемблере :)

Надеюсь Вы пошутили... вроде смайлик вконце стоит.

 

 

Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256).

Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ.

Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС).

Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении?

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... :( На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR....

А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый важный критерий для меня - именно размер кода - рост програмы на перспективу.

Тогда бросьте С и переходите на Форт, размер кода уменьшится раза в два.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... :( На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR....

А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу...

Дык, что АРМов с 512К флэши нет? Или вы в АРМ-моде всё ваяете? Тогда вам в АВР32, там обещают неимоверную плотность кода. ;О) Или ставьте внешний флэш. Хоть гиг. Или SD карту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор:

Прочие "рассуждения" выделены в отдельную ветку. Пока в разделе AVR.

http://electronix.ru/forum/index.php?showtopic=38827&hl=

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...