Например TDA7294

Форум РадиоКот • Просмотр темы - Flash vs SRAM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 12:23:31

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 83 ]  1, , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 18:16:12 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Доброго времени суток друзья.
Предлагаю пофилософствовать по поводу скорости выполнения кода из флеш и озу.

В этом топике, опытным путем я опровергнул свои рассуждения от том, что код в STM32 выполняется быстрее из флеш, чем из ОЗУ.

Тов. Reflector, провел свой эксперимент и он считает что код выполнится быстрее из флеш.

Я попробовал повторить эксперимент Reflectorа. Но слегка изменил его код.
Код:
   volatile uint64_t a = -1;
    while(1)
    { 
       GPIOA->ODR^=1;//Инвертируем выход A0   
       a /= 7;
       a=-1;
    }
Частоту так же смотрел осциллом на порте, переменную а каждый раз переинициализировал, чтобы частота на выходе не скакала.

Тут уже и у меня из флеш стал код быстрее выполнятся.

Из флеш частота на порте 133кГц.
Изображение

Из ОЗУ 126кГц, т.е. чуток медленнее.
Изображение

В обоих случаях у меня МК stm32f103, оптимизация выключена.

На данный момент я делаю следующий вывод. Технически код выполняется из ОЗУ все же быстрее чем из флеш. Но если исполняемые команды активно оперируют данными из ОЗУ, то системная шина перегружается, что приводит к задержкам выборок инструкций. И можно сделать вывод (или предположить) что один код может выполняться быстрее во флеш, а другой в ОЗУ.

Кто что думает?


Вложения:
ОЗУ.jpg [53.67 KiB]
Скачиваний: 1801
из флеш.gif [53.07 KiB]
Скачиваний: 1463

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 19:16:52 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Еще одна проверка, на этот раз замерял скорость вывода строки текста(~150 символов)на LCD экран. Для F103 получил 1'845'419 / 1'892'254, для F429 - 444'147 / 651'920 тактов, все в пользу флеша.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 19:21:36 
Друг Кота
Аватар пользователя

Карма: 123
Рейтинг сообщений: 7955
Зарегистрирован: Сб сен 13, 2014 16:27:32
Сообщений: 39199
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
а что философствовать берем 2 штта и смотрим время доступа к конкретной ячейке даных там и там...
зря штоли в мобиле делают совмещеные RAM+Flashв обшем корпусе-много ног и места на плате экономим при паралелном доступе...про последователный говорить смысла нет это чисто внешний фэйс- для ввода выврода инфэрно

_________________
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 19:24:33 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
musor писал(а):
а что философствовать берем
А не так все просто. Я ж говорю, один код у меня выполняется быстрее в ОЗУ, другой во флеш.

Добавлено after 1 minute 20 seconds:
Кроме того есть акселераторы и буфер предвыборки (забыл как он там правильно называется).

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 20:01:15 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Ага, для F103 у меня тайминги для экрана ненормально большие стояли, видимо тестил и не поменял. Теперь стало 559'919 / 796'601, т.е. разница уже существенная и сравнима с F4.

Добавлено after 36 minutes 13 seconds:
В обоих случаях у меня МК stm32f103, оптимизация выключена.

А смысл выключать оптимизацию при проверке скорости? Я прогнал несколько тестов без оптимизации и действительно получил обратные результаты, в частности модификация твоего теста из RAM работала на ~1/5 быстрее, но с оптимизацией уже на 1/4 медленнее...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 20:04:03 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А какая разница включена она или нет? Лишь бы код был один и тот же и в ОЗУ и во Флеш.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 20:23:10 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
А какая разница включена она или нет?

Если посмотреть на тему из которой мы пришли и на тему в который ты первоначально проводил измерения, то там и там все крутилось вокруг получения максимального быстродействия, т.е. обычно изначально людей интересует можно ли выполнять код из RAM и что-то с этого поиметь. Отладочный код может быть медленнее в десятки и сотни раз, тот факт, что он при этом чуть быстрее при выполнении из RAM, может быть и несколько неожиданный, но достаточно бесполезный с точки зрения практического применения. Окончательный вариант будет оптимизирован, следовательно такой код и нужно сравнивать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 20:31:53 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Если обсуждать конкретную задачу то да. Если обсуждать возможности МК в целом, то без разницы. Тут может даже нужно ближе к ассемблеру быть, что бы видеть что МК делает.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 21:05:45 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2057
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18024
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Я, конечно, в ARM-ах понимаю меньше, чем свинья в апельсинах, но всеж-таки своим мнением поделюсь... Чисто умозрительно: RAM разделяется между различными периферийными устройствами, да хоть тем же DMA, и поэтому шина доступа к ней должна как-то арбитрироваться... flash, как я понимаю, использует только CPU для считывания опкодов, и поэтому арбитраж не требуется... Следовательно, априори из RAM будет медленнее исполняться... особенно при активном использовании периферийных устройств, работающих с RAM в обход CPU.

Глупость сморозил?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

скушно, бабоньки!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 21:33:04 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2687
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да вроде нет, логично.. Я тоже так считал, пока не получил обратное. Теперь имею два разных результата. Все же наверняка практически во всех случаях полезного варианта кода выполнение кода из флеш будет быстрее , хотя Аrm Arm'у рознь с их клубком шин.

Добавлено after 17 minutes 7 seconds:
Цитата:
flash, как я понимаю, использует только CPU
Сложнее там все. Физически гавардская архетиктура, логически неймоновская. Данные можно перегонять хоть куда, выполнять код тоже. Поди еще из перефирии можно :), но скорее всего произойдёт исключение. Я тоже очень далек от просветления дзен по арм. Но я к тому что специальная шина для выборки инструкций может быть задействована и под другое. Данные во Флеше тоже лежат, пишутся туда конечно редко

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 21:51:08 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
Зачем uint64_t используете? Скриншоты ассемблера прикладывайте для оценки.

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 21:58:41 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Зачем uint64_t используете?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 22:13:53 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
Это понятно, просто придется тогда разговаривать о 64 битной арифметике на 32 битной архитектуре.
Интересно посмотреть листинги что получается.

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 22:48:47 
Первый раз сказал Мяу!

Карма: 7
Рейтинг сообщений: 7
Зарегистрирован: Ср ноя 27, 2013 21:28:40
Сообщений: 29
Откуда: Москва
Рейтинг сообщения: 0
Странно, что до сих пор никто не упомянул, что в STM32 есть опция подключения SRAM к более быстрым шинам Ibus и Dbus (так называемый ремаппинг, вместо адресов на 0х20000000 будут адреса на 0х00000000), а еще есть CCMRAM (адреса на 0х10000000)
Скорость выполнения в порядке возрастания:
1. Из RAM
2. Из RAM с ремаппингом (примерно также, как и Flash, плюс-минус такт)
3. Из Flash
4. Из CCMRAM (но эта опция есть только в STM32F3хх и STM32F7xx)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 23:20:36 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
У кортексов память фиксированная. А медленные шины это какие?

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Вт дек 26, 2017 23:53:51 
Первый раз сказал Мяу!

Карма: 7
Рейтинг сообщений: 7
Зарегистрирован: Ср ноя 27, 2013 21:28:40
Сообщений: 29
Откуда: Москва
Рейтинг сообщения: 0
У кортексов память фиксированная. А медленные шины это какие?

Медленная шина - это Sbus, к ней подключена периферия и по-умолчанию подключена SRAM (и только к ней).
В стмках есть регистр SYSCFG->MEMRMP, с помощью которого можно "повесить" SRAM на шины Ibus и Dbus. Обращение к ней будет идти в таком случае по адресам на 0х00000000. Но физически память конечно останется там же, где и была, и по адресам на 0х20000000 к ней тоже можно будет обращаться (например, для DMA)
ИзображениеИзображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 00:27:25 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
Это Cortex M4 процессор. В Cortex M3 этого контроллера конфигурации нет. Я с M4 пока не работал.

Да все верно, там можно подключать внешнюю и внутреннюю память на шину данных. Плюс физическое подключение, например загрузка из внешней памяти (выбор типа памяти доступной по адресу 0x0000 0000)

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 00:47:30 
Первый раз сказал Мяу!

Карма: 7
Рейтинг сообщений: 7
Зарегистрирован: Ср ноя 27, 2013 21:28:40
Сообщений: 29
Откуда: Москва
Рейтинг сообщения: 0
Это Cortex M4 процессор. В Cortex M3 этого контроллера конфигурации нет. Я с M4 пока не работал.

Если не знаете точно, зачем спорить на пустом месте? В некоторых контроллерах на Cortex-M3 такая опция есть. И вообще, это фича конкретно STM32, а не Cortexов в целом.
Пожалуйста, вот на Cortex-M3 вам пример:
Изображение
И вот тут http://we.easyelectronics.ru/STM32/vypo ... v-iar.html например, есть про сравнение скоростей. Как раз на Cortex-M3.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 00:54:24 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
Цитата:
Если не знаете точно, зачем спорить на пустом месте? В некоторых контроллерах на Cortex-M3 такая опция есть. И вообще, это фича конкретно STM32, а не Cortexов в целом.
Пожалуйста, вот на Cortex-M3 вам пример:



Где я спорил? Не знаю точно что именно? В CorteX M3 контроллера конфигурации нет, это я точно знаю. Откройте мануал и покажите мне.
Пример чего приведен на картинке?

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Последний раз редактировалось Oxford Ср дек 27, 2017 01:01:52, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Flash vs SRAM
СообщениеДобавлено: Ср дек 27, 2017 01:01:02 
Первый раз сказал Мяу!

Карма: 7
Рейтинг сообщений: 7
Зарегистрирован: Ср ноя 27, 2013 21:28:40
Сообщений: 29
Откуда: Москва
Рейтинг сообщения: 0
В CorteX M3 контроллера конфигурации нет. Откройте мануал и покажите мне.

Не во всех
http://www.st.com/content/ccc/resource/ ... 240193.pdf страница 219


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 83 ]  1, , , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y