Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32 скорость работы во флеш
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
paskal
Есть положим STM32F103, у него максимальная тактовая 72 МГц. Будет ли процессор реально работать на этой частоте если программа выполняется из внутренней флеш памяти? Или там будут какие то задержки при выборке команд? Ведь флеш считается медленной памятью.
Lagman
Как у STM32 не знаю, а если интересно по Renesas, то они говорят что в rx600 флеш работает на частоте процессора.
adnega
Цитата(paskal @ Sep 15 2013, 16:58) *
Есть положим STM32F103, у него максимальная тактовая 72 МГц. Будет ли процессор реально работать на этой частоте если программа выполняется из внутренней флеш памяти? Или там будут какие то задержки при выборке команд? Ведь флеш считается медленной памятью.

Тут над архитектурой постарались не только ST, но и ARM.
Буфер предвыборки и отдельная ICode-шина делают все возможное, чтобы медленная Flash не влияла на производительность.
В случае линейно исполниемого кода работа идет на частоте ядра. Простые условные операции хорошо выполняются IT-блоками.
Нужно еще постараться, чтобы код из ОЗУ выполнялся быстрее, чем из Flash.
paskal
Цитата(adnega @ Sep 15 2013, 17:23) *
В случае линейно исполниемого кода работа идет на частоте ядра.

Но зачем тогда на частоту 72 МГц настраиваются задержки в регистре FLASH_ACR? В документе pm0042 расписано что до 24 МГц поле LATENCY записывается без тактов ожидания, до 56 МГц - 1 такт ожидания, а выше 2 такта.
adnega
Цитата(paskal @ Sep 15 2013, 18:43) *
Но зачем тогда на частоту 72 МГц настраиваются задержки в регистре FLASH_ACR? В документе pm0042 расписано что до 24 МГц поле LATENCY записывается без тактов ожидания, до 56 МГц - 1 такт ожидания, а выше 2 такта.

Flash память медленная и выборки с частотой 24Мгц для нее потолок.
При работе на частоте 72МГц при включенном буфере предвыборки из Flash читается не одно слово, а сразу четыре (128 бит).
Следующие четыре слова читаются с двумя тактами ожидания. Но пока Flash ожидает, ядро выбирает инструкции из тех четырех слов,
которые были перед этим считаны и находятся в буфере предвыборки.
Lagman
Цитата(adnega @ Sep 15 2013, 18:57) *
Flash память медленная и выборки с частотой 24Мгц для нее потолок.
При работе на частоте 72МГц при включенном буфере предвыборки из Flash читается не одно слово, а сразу четыре (128 бит).
Следующие четыре слова читаются с двумя тактами ожидания. Но пока Flash ожидает, ядро выбирает инструкции из тех четырех слов,
которые были перед этим считаны и находятся в буфере предвыборки.

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