Burner 0 7 мая, 2016 Опубликовано 7 мая, 2016 · Жалоба Hi, All! Как-то я прикидывал, у меня получалось порядка 1,5 MIPS на 16 МГц. Поэтому я был уверен, что максимальное быстродействие STM8 сильно ниже такового у AVR. Потом мне кто-то сказал, что STM8 намного быстрее 1,5 MIPS. Кто проверял, тестировал или хотя бы считал время исполнения программ на сабже? Сколько примерно команд он выполняет в секунду, ассемблерных или хотя бы сишных? Что время исполнения команд разное, и что разные компиляторы с разными опциями дают разное быстродействие - в курсе. Интересуют среднее быстродействия в реальных программах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
agregat 0 7 мая, 2016 Опубликовано 7 мая, 2016 · Жалоба http://www.digikey.com/en/product-highligh...8bit-mcu-family Пишут до 20MIPS на 24MHz. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burner 0 7 мая, 2016 Опубликовано 7 мая, 2016 · Жалоба Т. е. при этом соотношении можно рассчитывать, что напр. STM8S003 даст 13 MIPS на 16 МГц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav_S 0 7 мая, 2016 Опубликовано 7 мая, 2016 · Жалоба Т. е. при этом соотношении можно рассчитывать, что напр. STM8S003 даст 13 MIPS на 16 МГц? Наверно, примерно так и есть. Я когда переносил с АВР на СТ8 программу замерял выполнение некоторых функций (вычисления) получалось примерно замедление на 25 - 30% (увы точные данные канули в лету), замечу, что программа переносилась "как есть", компилятор ИАР - для АВР и СТ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burner 0 8 мая, 2016 Опубликовано 8 мая, 2016 · Жалоба Спасибо! Получается, IAR компилит STM8 еще лучше, чем AVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kv_addr 0 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба Спасибо! Получается, IAR компилит STM8 еще лучше, чем AVR. Вобщем-то неплохо компилит. Но очень сильно зависит от сишного исходника. Поскольку у STM8 акумулятор один (в отличие от целой кучи РОН у AVR), экономить байты (и время) можно, правильно аккумулятором распорядившись. Например следующий фрагмент будет короче и выполнится быстрее ( char n - глобальная переменная): ............... char c = n; ++c; n = c; if(c < 20) ............... чем ............... ++n; if(n < 20) ............... А также биты регистров лучше напрямую устанавливать, сбрасывать, проверять, без задействования аккумулятора. Короче и быстрее. Можно проверять ассемблерный листинг необходимых фрагментов, чтобы выбрать оптимальный вариант. Вывод листинга можно включить в опциях настройки компилятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться