реклама на сайте
подробности

 
 
> Запрет использования регистров дляя своих нужд, IAR ARM 4.42A
SpiritDance
сообщение Jun 2 2009, 04:49
Сообщение #1


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Подскажите есть ли возможность запрета использования компилятором некоторых регистров процессора? В avr помнится было такое есть ли в арме? Поиском по форуму и в доке не нашел, надеюсь что плохо искал.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jun 2 2009, 08:56
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Очень странно что у IAR нет блокировки регистров! Потому что и у GCC и у RCVT они есть и переменную в заблокированном регистре можно объявить.


Можно. Но не нужно smile.gif Нужно курить про банки регистров в режиме FIQ и крепко думать, зачем нужна переменная в регистре для обычного режима.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 2 2009, 09:22
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Rst7 @ Jun 2 2009, 12:56) *
Можно. Но не нужно smile.gif Нужно курить про банки регистров в режиме FIQ и крепко думать, зачем нужна переменная в регистре для обычного режима.

А причем здесь банки и FIQ?
С FIQ и банками все понятно - убыстряет прерывание за счет того, что не надо регистры в стек пихать и переменные локальные именно для прерывания хранить и то только для FIQ. А в Cortex уже нет никаких банков!

А вот для передачи данных между прерыванием и задачей. Для хранения указателя TCB на текущую задачу как раз и удобно блокировать регистр. Тем более что как раз R9 и можно использользовать как TR (thread register)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 2 2009, 09:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ Jun 2 2009, 12:22) *
А вот для передачи данных между прерыванием и задачей.

В 99,999% Вашей задаче зачем-то быстро-быстро получившей информацию в регистре много полезнее будет иметь "лишний" регистр для быстрой обработки сией информации. Тем более быстро она об изменении этого волшебного региста и не узнает. Но обычно чего-нибудь ускоряя всеми силами гораздо о более суровых вещах "забывают" sad.gif





Цитата(KRS @ Jun 2 2009, 11:07) *
У всех разная статистика. Вот например отсюда:

Разумеется - у продавцов товара всегда другая smile.gif, я уже конкретный писатель конкретных вещей а не попугае и членомеров.


Цитата(KRS @ Jun 2 2009, 12:22) *
А в Cortex уже нет никаких банков!

Так ядро M0/M3 и делалось, как БОЛЕЕ простое и дальше теснящее восьмибитовики, За счет упрощения стало дешевле и попугаистее ( особенно на "попугаемерах" ) - вот и хит сезона.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jun 3 2009, 07:09
Сообщение #5


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(zltigo @ Jun 2 2009, 13:41) *
Но обычно чего-нибудь ускоряя всеми силами гораздо о более суровых вещах "забывают" sad.gif

"...Первое правило оптимизации: не оптимизируйте.
Второе правило оптимизации(только для экспертов): не оптимизируйте ни в коем случае.
Семь раз отмерь, один раз оптимизируй..." biggrin.gif
Саттер, Александреску. Стандарты программирования на С++.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SpiritDance   Запрет использования регистров дляя своих нужд   Jun 2 2009, 04:49
- - MALLOY2   нет такого   Jun 2 2009, 05:22
- - IgorKossak   Цитата(SpiritDance @ Jun 2 2009, 07:49) В...   Jun 2 2009, 06:21
- - Rst7   Вообще-то актуальность отнятия регистров возникает...   Jun 2 2009, 06:50
- - KRS   Вообще очень странно что у IAR для ARM нет блокиро...   Jun 2 2009, 07:21
- - Rst7   ЦитатаВообще очень странно что у IAR для ARM нет б...   Jun 2 2009, 07:43
|- - KRS   Цитата(Rst7 @ Jun 2 2009, 11:43) Очень сп...   Jun 2 2009, 07:57
|- - zltigo   Цитата(Rst7 @ Jun 2 2009, 10:43) Да ничег...   Jun 2 2009, 07:58
|- - KRS   Цитата(zltigo @ Jun 2 2009, 11:58) Только...   Jun 2 2009, 08:07
|- - zltigo   Цитата(KRS @ Jun 2 2009, 11:07) Если брат...   Jun 2 2009, 08:27
- - Rst7   ЦитатаНу, если учесть их 4x ширину, то не очень-то...   Jun 2 2009, 08:22
|- - KRS   Цитата(Rst7 @ Jun 2 2009, 12:22) Причем т...   Jun 2 2009, 08:33
- - Rst7   Цитатаобычный - это, например, не расчет какого ни...   Jun 2 2009, 08:41
- - KRS   Одно радует - THUMB2 решает эти проблемы с выбором...   Jun 2 2009, 08:52
- - Rst7   ЦитатаДля хранения указателя TCB на текущую задачу...   Jun 2 2009, 09:31
- - Rst7   ЦитатаСаттер, Александреску. Стандарты программиро...   Jun 3 2009, 07:14
- - zltigo   Цитата(Rst7 @ Jun 3 2009, 10:14) Очередно...   Jun 3 2009, 08:40


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016