|
Cortex M3, M4 - разрядность переменных. |
|
|
|
Jul 11 2014, 11:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Какую разрядность переменных, лучше выбирать в случае когда "а пофиг" ? Например флаг, который может быть 0 или1, максимум -1, или считающий до 10 счетчик, и тому подобное, когда можно и u8, и s8, и u32б и s32. Памяти-то в Кортексах обычно более чем достаточно, и экономить нужно не всегда, но влияет-ли это на быстродействие программы? Есть ли разница для локальных и глобальных переменных, и для volatile?
Спасибо.
|
|
|
|
|
 |
Ответов
|
Jul 13 2014, 05:08
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Уточню, есть ли он в однокристаллках all-in-one, типа STM32F405 . Внешние памяти ,как ни крути, вешают на более серьезное, А9 и выше Цитата(jcxz @ Jul 13 2014, 08:55)  PPS: А интересно, уважаемый DASM, у вас не возникала мысль "зачем вообще нужны команды типа DMB/DSB если кеша нет"? Не возникло, наличие команды еще не означает наличие соответствующего железа. These ARM and 32-bit Thumb instructions are available in ARMv7 ( http://infocenter.arm.com/help/index.jsp?t...c/CIHGHHIE.html ), а про Кортексы М3 пишут, что у них вообще нет кеш-контроллера Хотя с другой стороны про M3 написано "The processor implements the ARMv7E-M architecture profile." Короче непонятно мне.
|
|
|
|
|
Jul 13 2014, 06:35
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(jcxz @ Jul 13 2014, 09:04)  Вообще-то топик не про какой-то конкретный проц, а про M3/M4 вообще. И советы соответственно - касабельно всех M3/M4. В M3 и M4 кэша нет. Цитата из книги Ю: PLD Pre-load data. This is a hint instruction typically use for cache memory to accelerate data accesses. However, since there is no cache inside the Cortex-M3 and Cortex-M4 processors, this instruction behaves as NOP. Цитата(jcxz @ Jul 13 2014, 07:29)  Тогда сильно сомневаюсь, что заполнение массива uint_fast8_t в цикле будет быстрее, чем массива u8. Скорее - наоборот. Так как по размеру/кол-ву команд - одинаково, но кэш обратной записи предпочтёт u8. Да и на чтение - аналогично. Если просто заполнение, то байтами, сгруппированными по 4, заполнить будет почти в 4 раза быстрее, чем словами. Но если еще что-то делать с байтами, то вряд ли. Впрочем, для массивов важнее экономить память, чем скорость, так что и выбора-то в данном случае не может быть.
|
|
|
|
Сообщений в этой теме
Allregia Cortex M3, M4 - разрядность переменных. Jul 11 2014, 11:47 ViKo Есть. Задавайте всё int, если ОЗУ у вас с избытком... Jul 11 2014, 12:03 jcxz Цитата(Allregia @ Jul 11 2014, 17:47) Ест... Jul 11 2014, 16:10 Сергей Борщ На любом совершенно процессоре подключить к програ... Jul 12 2014, 06:33 ViKo И еще stdbool.h, и использовать bool тип. Jul 12 2014, 07:06 demiurg_spb Цитата(ViKo @ Jul 12 2014, 11:06) И еще s... Jul 12 2014, 08:41  ViKo Цитата(demiurg_spb @ Jul 12 2014, 11:41) ... Jul 12 2014, 09:03   demiurg_spb Цитата(ViKo @ Jul 12 2014, 13:03) Тогда -... Jul 12 2014, 09:56    ViKo Цитата(demiurg_spb @ Jul 12 2014, 12:56) ... Jul 12 2014, 10:33    Allregia Цитата(demiurg_spb @ Jul 12 2014, 11:56)1... Jul 12 2014, 10:42     ViKo Цитата(Allregia @ Jul 12 2014, 13:42) Спа... Jul 12 2014, 10:49      jcxz Цитата(ViKo @ Jul 12 2014, 16:49) Первое ... Jul 13 2014, 04:29 skripach Разница конечно есть, но она ничтожна, нужно испол... Jul 12 2014, 09:42 Allregia Еще пара вопросов про плавающую точку:
1) как я ... Jul 12 2014, 22:03 ms1 Цитата(Allregia @ Jul 13 2014, 01:03) Отк... Jul 12 2014, 22:22 DASM Дайте пожалуйста, ссылку, где вы усмотрели write-... Jul 13 2014, 04:40 jcxz Если Вы потрудитесь открыть например "Cortex-... Jul 13 2014, 04:55 DASM Может и ошибаюсь. Jul 13 2014, 06:06 DASM Не очень понимаю смысл кеша, расположенного на вне... Jul 13 2014, 07:15 demiurg_spb Цитата(DASM @ Jul 13 2014, 11:15) Не очен... Jul 13 2014, 08:42 adnega Все поняли вопрос?
ЦитатаКакую разрядность перемен... Jul 13 2014, 07:43 A. Fig Lee Цитата(adnega @ Jul 13 2014, 03:43) Все п... Jul 13 2014, 13:09  adnega Цитата(A. Fig Lee @ Jul 13 2014, 17:09) i... Jul 13 2014, 15:46   A. Fig Lee Цитата(adnega @ Jul 13 2014, 11:46) Я вез... Jul 13 2014, 17:42    adnega Цитата(A. Fig Lee @ Jul 13 2014, 21:42) Т... Jul 13 2014, 18:37 Allregia Цитата(adnega @ Jul 13 2014, 09:43) Все п... Jul 13 2014, 21:00  AHTOXA Цитата(Allregia @ Jul 14 2014, 03:00) В о... Jul 14 2014, 05:40 andrewlekar АНТОХА, +1.
Не используйте u32, s32 и подобную ере... Jul 14 2014, 06:40 Сергей Борщ Цитата(andrewlekar @ Jul 14 2014, 09:40) ... Jul 14 2014, 07:23 andrewlekar Будет не меньше байта: для счётчиков, флагов хвати... Jul 14 2014, 07:27
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|