AVR ужасно популярны. Никакими сотнями мегагерц там не пахнет, как и мегабайтами флеша. Пихать везде одноплатники до сих пор не всегда рентабельно (микроконтроллеры могут стоит меньше доллара за штуку, а на миллионных партиях это очень заметно).
Какой бы не был компилилятор оптимизирующий, а memory mapped io никто нормально оптимизировать кроме человека не сможет, ибо в си для него есть только одно слово volatile, которое полностью отключает оптимизации. В ядре Linux тоже много ассемблерных вставок, а на МК вся программа сразу и прикладной софт, и ядро, и драйвера.
Наконец, риал тайм. Иногда важно не быстрее/медленнее, а ровно за указанное количество тактов. Простые МК не имеют конвейеров и кешей, так что время исполнения каждой инструкции отлично предсказуемо, а часто вообще указано в даташите. В свою очередь во что превратиться сишный код зависит от опций компиляции, целевого микроконтроллера, версии компилятора и фазы луны. Зачем нужен риал тайм? Да хотя бы для реализации интерфейсов, которые не реализованы аппаратно. Например, посмотри v-usb. Но одним этим применения риал тайма не ограничивается, конечно.
По этой причине иногда даже при наличии одноплатника рядом ставят МК - Linux это не RTOS, а слишком умные процессоры имеют непредсказуемое время исполнения инструкций.
Кажется мне, что 8086 был первым процессором с системой команд x86, и уже в 8086 были сегментные регистры. Не слышал, чтобы он мог хоть как-то исполнять программы для 8080. Там же другая система команд.
Бинарной совместимости не было, но асм для 8080 можно однозначно транслировать для 86(когда дело не касается различий железа, системных вызовов итп, конечно).
недавно писал для аналога 8080, там памяти было меньше 30Кб, по ком-порту загружалась программа, что-то делала, потом на ее место грузилась другая и т.д., надо было подправить и дополнить наборчик не изучая аналоговую часть аппаратуры (секреты блин).
А 32Kb RAM + 128Kb Flash слабо? С тактовой частотой 80 MHz.
скажи мне реальное коммерческое/фактическое применение в 2010+, где ТЫ под ткое писал
я писал под 250мгц и 32мб минимум, начиная с 2012 все уже по 500мгц(и пара ядер) с 512мб
если ты про «типы памяти» в девайсе-так это дело девайса(минимальной ОС если есть) или порта ГЦЦ(и либ) как перекидывать память от процессора в другие уровни