Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Быстродействие STM8S
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Burner
Hi, All!
Как-то я прикидывал, у меня получалось порядка 1,5 MIPS на 16 МГц. Поэтому я был уверен, что максимальное быстродействие STM8 сильно ниже такового у AVR. Потом мне кто-то сказал, что STM8 намного быстрее 1,5 MIPS.

Кто проверял, тестировал или хотя бы считал время исполнения программ на сабже?
Сколько примерно команд он выполняет в секунду, ассемблерных или хотя бы сишных?
Что время исполнения команд разное, и что разные компиляторы с разными опциями дают разное быстродействие - в курсе. Интересуют среднее быстродействия в реальных программах.
agregat
http://www.digikey.com/en/product-highligh...8bit-mcu-family
Пишут до 20MIPS на 24MHz.
Burner
Т. е. при этом соотношении можно рассчитывать, что напр. STM8S003 даст 13 MIPS на 16 МГц?
Stanislav_S
Цитата(Burner @ May 7 2016, 16:39) *
Т. е. при этом соотношении можно рассчитывать, что напр. STM8S003 даст 13 MIPS на 16 МГц?

Наверно, примерно так и есть. Я когда переносил с АВР на СТ8 программу замерял выполнение некоторых функций (вычисления) получалось примерно замедление на 25 - 30% (увы точные данные канули в лету), замечу, что программа переносилась "как есть", компилятор ИАР - для АВР и СТ.
Burner
Спасибо! Получается, IAR компилит STM8 еще лучше, чем AVR.
kv_addr
Цитата(Burner @ May 8 2016, 03:57) *
Спасибо! Получается, IAR компилит STM8 еще лучше, чем AVR.

Вобщем-то неплохо компилит. Но очень сильно зависит от сишного исходника. Поскольку у STM8 акумулятор один (в отличие от целой кучи РОН у AVR), экономить байты (и время) можно, правильно аккумулятором распорядившись.
Например следующий фрагмент будет короче и выполнится быстрее ( char n - глобальная переменная):
...............
char c = n;
++c;
n = c;
if(c < 20)
...............

чем
...............
++n;
if(n < 20)
...............

А также биты регистров лучше напрямую устанавливать, сбрасывать, проверять, без задействования аккумулятора. Короче и быстрее.
Можно проверять ассемблерный листинг необходимых фрагментов, чтобы выбрать оптимальный вариант. Вывод листинга можно включить в опциях настройки компилятора.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.