STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Аватара пользователя
AZM.SU
Сообщения: 136
Зарегистрирован: 17 окт 2019, 21:00
Город: Новосибирск
Благодарил (а): 29 раз
Поблагодарили: 34 раза

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение AZM.SU » 19 окт 2019, 02:40

Собственно вопрос в теме.
Причём именно в простых задачах, не в вычислении числа пи до 64к знака после запятой с передачей результата по USB и получением сигнала "начали" с CAN, а скажем если это бегущие огни, то есть просто сдвиг битиков в 8-ми битном регистре или счётчик от 0 до FF или до FFFF.
То есть насколько "реальна" реальная частота в 72МГц?

И второй вопрос: в каких случаях вы выбираете STM32?

Вопросы не праздные, так как конфигурация той же ATmega328/ATmega8 это минута, сообразить какие ноги будут входы, какие выходы, а вот конфигурация STM32F103 это уже более долгий процесс.

zeta
Сообщения: 26
Зарегистрирован: 14 окт 2019, 23:42
Благодарил (а): 9 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение zeta » 20 окт 2019, 23:43

Если нужно просто программить, то можно ардуиной прошивать и то и другой


Аватара пользователя
AZM.SU
Сообщения: 136
Зарегистрирован: 17 окт 2019, 21:00
Город: Новосибирск
Благодарил (а): 29 раз
Поблагодарили: 34 раза

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение AZM.SU » 21 окт 2019, 03:35

zeta, ардуино это конечно хорошо, но какой-то не тот метод. Точнее это метод сильно замедлить всё и сильно уменьшить объём алгоритма, который возможно вкорячить в память контроллера. Опять же, как давать гарантию (хотя бы самому себе и в первую очеред самому себе) лет на 20, на устройство которое работает на коде ардуино, если сам код такой, что в нём чёрт ногу сломит. А вдруг зависнет через год непрерывной работы по невыясняемым причинам?

Аватара пользователя
Chipmaster
Сообщения: 267
Зарегистрирован: 15 окт 2019, 05:18
Позывной: R9WBZ
Город: Уфа
Благодарил (а): 121 раз
Поблагодарили: 67 раз
Контактная информация:

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Chipmaster » 21 окт 2019, 08:14

Каждый МК выбирается под задачу. И огульно сравнивать два принципиально разных контроллера - бессмысленно. Это как сравнивать электровоз и спорткар - у электровоза дури то побольше будет, но вряд ли он обгонит Феррари (к примеру). :D И вот тут как раз нужно себя спросить - а электровозу вообще надо обгонять спорткар? Или у него совсем другие задачи. Надеюсь, аналогия понятна. ;)

Vладимир
Сообщения: 218
Зарегистрирован: 14 окт 2019, 00:26
Благодарил (а): 16 раз
Поблагодарили: 30 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Vладимир » 21 окт 2019, 08:16

для бегущих огней точно без разницы чем биты двигать . а вот как часто мк будет зависать больше зависит от программиста нежели от самого контроллера.

Аватара пользователя
Chipmaster
Сообщения: 267
Зарегистрирован: 15 окт 2019, 05:18
Позывной: R9WBZ
Город: Уфа
Благодарил (а): 121 раз
Поблагодарили: 67 раз
Контактная информация:

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Chipmaster » 21 окт 2019, 08:18

Vладимир писал(а):
21 окт 2019, 08:16
для бегущих огней точно без разницы чем биты двигать . а вот как часто мк будет зависать больше зависит от программиста нежели от самого контроллера.
Абсолютно точно!

Аватара пользователя
AZM.SU
Сообщения: 136
Зарегистрирован: 17 окт 2019, 21:00
Город: Новосибирск
Благодарил (а): 29 раз
Поблагодарили: 34 раза

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение AZM.SU » 21 окт 2019, 14:41

Vладимир писал(а):
21 окт 2019, 08:16
для бегущих огней точно без разницы чем биты двигать
Даже если бегущие огни должны бежать с частотой 5Мгц?
Chipmaster писал(а):
21 окт 2019, 08:14
И огульно сравнивать два принципиально разных контроллера - бессмысленно.
Мне интересно скорее не сравнение контроллеров, а сравнение архитектур при их работе с элементарными командами.
Вот например Z80 имеет разрядность 8 бит и ATmega8 имеет 8 бит, вот только Z80 выполняет NOP за 4 такта, а ATmega за 1 такт. Так и получается, что частота тактовая может быть одинаковой или даже ниже, а бегущие огни собранные из аналичных наборов команд, будут бежать с разной скоростью, а может и быстрее там, где тактовая частота ниже.

Но тут даже дело не в сравнении тактов затрачиваемых на выполнение команды "в лоб", а в совокупности сравнения набора команд, числа тактов нужных для их выполнения. Те же бегущие они можно построить на совершенно разных командах даже в рамках одного набора.

Аватара пользователя
Chipmaster
Сообщения: 267
Зарегистрирован: 15 окт 2019, 05:18
Позывной: R9WBZ
Город: Уфа
Благодарил (а): 121 раз
Поблагодарили: 67 раз
Контактная информация:

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Chipmaster » 21 окт 2019, 14:47

AZM.SU писал(а):
21 окт 2019, 14:41
Вот например Z80 имеет разрядность 8 бит и ATmega8 имеет 8 бит, вот только Z80 выполняет NOP за 4 такта, а ATmega за 1 такт. Так и получается, что частота тактовая может быть одинаковой или даже ниже, а бегущие огни собранные из аналичных наборов команд, будут бежать с разной скоростью, а может и быстрее там, где тактовая частота ниже.
Совершенно верно. Если подходить к решению этой примитивной задачи именно так. Количество циклов на простую операцию в данном случае решает многое.

Аватара пользователя
RadioKot
Сообщения: 155
Зарегистрирован: 15 окт 2019, 16:38
Откуда: ДНР
Благодарил (а): 45 раз
Поблагодарили: 25 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение RadioKot » 21 окт 2019, 14:55

От количества циклов всегда многое зависит.
Дело пахнет... канифолью!

Vладимир
Сообщения: 218
Зарегистрирован: 14 окт 2019, 00:26
Благодарил (а): 16 раз
Поблагодарили: 30 раз

STM32 и AVR - (например STM32F103x8 vs ATmega328) насколько производительнее в простых задачах?

Сообщение Vладимир » 21 окт 2019, 14:59

AZM.SU писал(а):
21 окт 2019, 14:41
Мне интересно скорее не сравнение контроллеров, а сравнение архитектур при их работе с элементарными командами.
ну 5 мгц это для 328 перебор, хотя если 16мгц и в порт писать одной командой все регистры разом- возможно и справится .
значит надо и там и там попробовать )))

Ответить

Вернуться в «Микроконтроллеры и программирование»