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

 
 
6 страниц V  « < 3 4 5 6 >  
Closed TopicStart new topic
> AVR - любительский конроллер?, Хотелось бы услышать мотивированные высказывания об обратном
Stanislav
сообщение Dec 27 2005, 14:08
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(defunct @ Dec 27 2005, 16:00) *
Зачем так коверкать русский язык? "Глаза режет".
Поддерживаю. К уважаемым гуру. Имейте хотя бы уважение к автору темы. Или сливайте ваш "русиш" на почтовые ящики друг другу, пощадите Великий и Могучий, а также наши глаза.

По теме. Сам факт столь бурного обсуждения достоинств и недостатков АВР микроконтроллеров вышеупомянутыми гуру есть ответ на поставленный вопрос: если эти МК активно применяются в работе даже столь заслуженными людьми, то, следовательно, назвав их "любительскими", можно "профессионально" получить по шапке со всех сторон сразу (после чего дискуссия, несомненно, будет продолжена).


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 27 2005, 14:43
Сообщение #62


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(defunct @ Dec 27 2005, 15:00) *
Зачем так коверкать русский язык? "Глаза режет".

А вот я сейчас всем непослушным деткам подарочек под Новый Год устрою santa2.gif в виде предупреждений twak.gif smile3046.gif smile3009.gif , а там, глядишь, и говорить научатся.

А что касается темы разговора.
Кто-нибудь когда-нибудь слышал, чтобы фирма позиционировала свой продукт как любительский?
Кто-нибудь видел любительский дивайс industrial и automotive исполнения?
Теперь о сроке жизни изделия.
Забудьте, уважаемые господа (кроме тех, у кого есть корпоративный пожизненный заказчик), о таких сроках как 10 - 20 - 30 лет. Сейтас реалии таковы, что если дивайс не обновляет элементной базы (и всего прочего) за 2 - 3 года, то конкуренты обходят и оглянуться не успеешь.
Что касается сложности этого мероприятия, то это уж кто как работу ставит. Мы, например, уже на четвёртую платформу переходим (51-430-AVR-ARM) - и ничего, никаких истерик в течение нескольких лет - в худшим случае, пару месяцев на переход.
Хотя и сертификацию прохотим и аттестацию и любую другую ...ацию и изделия идут десятками тысяч. Всецело поддерживаю мысль, что отсутствие дивайса на рынке это просчёт не разработчика, а снабженца. Т. к. по долгосрочным программам поставки работают практически ВСЕ фирмы и милионные партии товара на складе замораживать не нужно.
Всё!
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Dec 27 2005, 16:17
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(IgorKossak @ Dec 27 2005, 17:43) *
.................
Всецело поддерживаю мысль, что отсутствие дивайса на рынке это просчёт не разработчика, а снабженца. Т. к. по долгосрочным программам поставки работают практически ВСЕ фирмы и милионные партии товара на складе замораживать не нужно.
Всё!
Согласен. В одной из разработок Вашего покорного слуги используется чип, который уже лет 6-7 нельзя нигде купить и нечем безболезненно заменить. Поставки же по контракту (весьма, надо сказать, небольшому по объёму), тем не менее, производятся регулярно.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 28 2005, 05:54
Сообщение #64


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(m16 @ Dec 27 2005, 15:00) *
Цитата(dxp @ Dec 27 2005, 11:32) *

А на AVR канкретна я спицально залочивал 12 регисторов (r4-r15) и совершенно никакой потери производительности не заметил. Перед этим провел небольшое исследование - типо, насколько эти регистры востребованы/юзабельны - перелопатил кучу файлов листингов компилятора из своих и чужых праэктов - там что-то окло процента или полутора было. Самым нипийятным пабочным эффектом залочивания аказалось то, што арифметика с 64-битными даблами у IAR'а юзает то ли два, то ли четыре младшых ригистра (r4-r7). Фсе, в астальном все клёво было.

уважаемый , разве это недостаток AVR?? имхо компилятора

Не понял вопроса. Про какой недостаток идет речь? Если имеется в виду то, что при 64-битных даблах потребовались несколько младших регистров, то тут дело и не в AVR, и не в компиляторе - а в библиотечной реализации этих самых функций дабловой арифметики. Если переписать эти функции (а они на асме написаны, компилятором они никак не затрагиваются), то и без этих младших регистров можно было бы обойтись... Я все же остаюсь при своем мнении, что 16 младших регистров в AVR бестолковы и почти бесполезны, и заложенный на них ресурс в виде пространства в опкоде и площади кристалла лучше было бы использовать на развитие функциональности старшей половины - хотя бы пусть не все регистровые пары могли бы образовывать указатели, хотя бы еще один или два - уже было бы намного легче. А так порой на сгенеренный код смотреть без слез нельзя.

Цитата(Stanislav @ Dec 27 2005, 20:08) *
Цитата(defunct @ Dec 27 2005, 16:00) *
Зачем так коверкать русский язык? "Глаза режет".

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

Прошу прощения, не ожидал, что возникнет такая реакция неприятия. cranky.gif Стараюсь всегда разговарить с людьми на понятном и приятном им языке, чем и было вызвнано использование легкого "албанского" акцента. smile.gif Еще раз прошу прощения.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
=AK=
сообщение Dec 28 2005, 06:33
Сообщение #65


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(dxp @ Dec 28 2005, 15:24) *
Я все же остаюсь при своем мнении, что 16 младших регистров в AVR бестолковы и почти бесполезны, и заложенный на них ресурс в виде пространства в опкоде и площади кристалла лучше было бы использовать на развитие функциональности старшей половины - хотя бы пусть не все регистровые пары могли бы образовывать указатели, хотя бы еще один или два - уже было бы намного легче. А так порой на сгенеренный код смотреть без слез нельзя.


Полностью согласен. Избыточное кол-во регистров не просто бесполезно, а довольно вредно, как всякая лишняя сущность. Уважаемый оратор выше упоминал про переключение контекста, там чем больше регистров - тем хуже. Впрочем, архитектура AVR студентами сделана, что уж с них взять...

Цитата(IgorKossak @ Dec 28 2005, 00:13) *
Кто-нибудь видел любительский дивайс industrial и automotive исполнения?

Сколько угодно. Скажем, многие китайские поделия до недавнего времени разрабатывались и изготавливались любителями, бо профессиналами их назвать язык не поворачивается. Может, сейчас что-то стало меняться в лучшую сторону, а несколько лет назад если внутрь заглянуть - просто страх божий blink.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 28 2005, 06:58
Сообщение #66


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

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



Цитата(=AK= @ Dec 28 2005, 08:33) *
Цитата(dxp @ Dec 28 2005, 15:24) *

Я все же остаюсь при своем мнении, что 16 младших регистров в AVR бестолковы и почти бесполезны, и заложенный на них ресурс в виде пространства в опкоде и площади кристалла лучше было бы использовать на развитие функциональности старшей половины - хотя бы пусть не все регистровые пары могли бы образовывать указатели, хотя бы еще один или два - уже было бы намного легче. А так порой на сгенеренный код смотреть без слез нельзя.


Полностью согласен. Избыточное кол-во регистров не просто бесполезно, а довольно вредно, как всякая лишняя сущность. Уважаемый оратор выше упоминал про переключение контекста, там чем больше регистров - тем хуже. Впрочем, архитектура AVR студентами сделана, что уж с них взять...


Все равно не пойму, почему вы считаете R0-R15 бесполезными? Потому что с непосредственными операндами не работают? Покажите какой нибудь алгоритм обработки, который только с иммедитейтом работает - думаю, не бывает таких. Всегда есть и промежуточные результаты, накопители и т.д. - все вполне ложится в нижние регистры. Другое дело, что грамотный компилятор должен оптимизировать код под их использование - это да.

Нехватка индексных регистров - действительно серьезная неприятность, но уж очень сильно она сказывается при C++. Вывод - не пишите на цпп для AVR.

На месте Atmel я бы вставил в новое ядро комманды для работы со стеком например в таком виде:

DECSP VAL - sp-=val
INCSP VAL - sp+=val
LDSP Rx,DISP - rx=sp[disp]
STSP Rx,DISP - sp[disp]=rx

где val и disp - небольшие иммедитейты. Очень бы помогло сишному компилятору.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
m16
сообщение Dec 28 2005, 07:18
Сообщение #67


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Цитата(dxp @ Dec 28 2005, 08:54) *
Цитата(m16 @ Dec 27 2005, 15:00) *

Цитата(dxp @ Dec 27 2005, 11:32) *

А на AVR канкретна я спицально залочивал 12 регисторов (r4-r15) и совершенно никакой потери производительности не заметил. Перед этим провел небольшое исследование - типо, насколько эти регистры востребованы/юзабельны - перелопатил кучу файлов листингов компилятора из своих и чужых праэктов - там что-то окло процента или полутора было................

уважаемый , разве это недостаток AVR?? имхо компилятора

Не понял вопроса. Про какой недостаток идет речь? ..............

я говорю о том , что мягко говоря глупо вминять в недостаток авру то , что компилятор не умеет (а программист не хочет) на 100% использовать регистровый файл процессора. а младшую половину с ее "недостатками"удобно использовать как для хранения переменных так и для сохранения регистров в обработчике прерываний не пользуя для этого раму что я и делаю в своих проектах.
Go to the top of the page
 
+Quote Post
mse
сообщение Dec 28 2005, 07:24
Сообщение #68


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Вот интересно, как же реализовать 8-байтную арифметику без 16 нижних регистров? Например 64Х64(8х8)... 64/64(8/8)? В ОЗУ нырять за операндами? Толково. И чо, ИАР пользует тока 4 нижних для этого? Мой им респект. А то я всё удивлялся, как это они умудрились whetstone оттарабанить аж за 73е6 цыклов? ;О) А они, оказываецца, регистры экономили. Малацца. А если не экономить, то 28е6 цыклов. Почуствуй разниццу. Это экономика должна быть экономной, ваще-то, пацаны перепутали, ну да ланно. ;О)
Контекст переключать долго? А тут выбирать надо - либо контекст, либо арифметика. Уже упоминал Моторолий MC9S08. Тормоз неописуемый. Зато какое удовольствие контекст переключать. ;О) Только этим бы и занимался. Наверное, для того и придуман.
Ну а что "студенты" проектировали, дык не важен метод, важен результат. В умелых руках АВРа оттянет почти любого 8-битника, особенно в арифметике. Да и 16-битник не всякий отбицца смогёт. Такое вот моё ИМХО на сегодня. ;О)
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 28 2005, 07:58
Сообщение #69


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(m16 @ Dec 28 2005, 13:18) *
я говорю о том , что мягко говоря глупо вминять в недостаток авру то , что компилятор не умеет (а программист не хочет) на 100% использовать регистровый файл процессора.

Смею Вас заверить, что в IAR'е тоже не дураки сидят. Случаев, когда не хватает 16 регистров можно по пальцам пересчитать.

Цитата(m16 @ Dec 28 2005, 13:18) *
а младшую половину с ее "недостатками"удобно использовать как для хранения переменных так и для сохранения регистров в обработчике прерываний не пользуя для этого раму что я и делаю в своих проектах.

Это второй недостаток, про котоый я упоминал - медленная работа с памятью. Будь она нормальной, однотактовой, все бы прекрасно сохранялось в стеке. И не надо говорить, что это сделать было нельзя. PIC18 - живой пример того, что можно. А ФАПЧ там или на линиях задержки внутренние фазы формируются - это дело пятнадцатое, меня, как пользователя, это колышет в полседнюю очередь. А вот когда обыкновенный инкремент переменной в памяти занимает 2+1+2=5 тактов, из которых 4 - 80% (!) - накладные расходы на пересылку, это, пардон, красотой не назовешь ну никак!


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
=AK=
сообщение Dec 28 2005, 08:02
Сообщение #70


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(mse @ Dec 28 2005, 16:54) *
Вот интересно, как же реализовать 8-байтную арифметику без 16 нижних регистров? Например 64Х64(8х8)... 64/64(8/8)? В ОЗУ нырять за операндами? Толково.

А чё, AVR для 8-байтной арифметики, оказывается, предназначен? И задач таких кругом немеряно, чтоб именно 8-битником это щелкать? Тады звиняйте, не знал... Я-то грешным делом думал, что "всякому овощу свой фрукт" (с), и сапоги должон тачать сапожник...

А если серьёзно, то такой перевес в сторону числомолотилки должен засчитывться не как достоинство, а как недостаток. Бо ежели некоем создании какой-то орган переразвит - это не красота, а уродство, имхо. Гармония должна быть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 28 2005, 08:15
Сообщение #71


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

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



Цитата(dxp @ Dec 28 2005, 09:58) *
Это второй недостаток, про котоый я упоминал - медленная работа с памятью. Будь она нормальной, однотактовой, все бы прекрасно сохранялось в стеке. И не надо говорить, что это сделать было нельзя. PIC18 - живой пример того, что можно. А ФАПЧ там или на линиях задержки внутренние фазы формируются - это дело пятнадцатое, меня, как пользователя, это колышет в полседнюю очередь. А вот когда обыкновенный инкремент переменной в памяти занимает 2+1+2=5 тактов, из которых 4 - 80% (!) - накладные расходы на пересылку, это, пардон, красотой не назовешь ну никак!


О да, пик - суперпроцессор. Не помню, помоему в 18 уже сделана арифметика с переносом, а давайте про любимую 16 серию. Надо выполнить простую вещь, например сложить два массива 16-битных чисел (напомню - указатели на int)

for(..)
{
(*d)+=*s;
s++;d++
}

И смотрим в код. Во-первых - в пичке один индексный регистр, копирований значений - как грязи.
Во-вторых - а нет же нормального сложения с переносом, надо так извращаться, просто дофига комманд на такую простую операцию, как +=.

А теперь - серия 18 - массив переходит через границу странички и п...ц.

Но вобщем я не о том, что пик - лайно, авр - вещь. Я про то, что есть некоторый набор требований, которые надо выполнять при программировании на AVR.

Первое и самое главное - как можно меньше статических переменных. Если без них никак, тогда в начале процедуры нагрузить все в регистры, перед выходом - слить. То-есть так

static char a;
static char b;
static char c;

void foo(void)
{
char wa=a;
char wb=b;
char wc=c;

//Теперь делаем чего надо wa...wc


a=wa;
b=wb;
c=wc;
}

Нормально живет.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
m16
сообщение Dec 28 2005, 08:28
Сообщение #72


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Цитата(dxp @ Dec 28 2005, 10:58) *
Смею Вас заверить, что в IAR'е тоже не дураки сидят. Случаев, когда не хватает 16 регистров можно по пальцам пересчитать................

.................А вот когда обыкновенный инкремент переменной в памяти занимает 2+1+2=5 тактов, из которых 4 - 80% (!) - накладные расходы на пересылку, это, пардон, красотой не назовешь ну никак!

16-ть регистров хватает с головой а вот переменную засунуть в свободный и огулять ее инкрементом за один такт гордость за IAR не позволяет. дык эту "красоту" Вам иар и устраивает ведь его не дураки писали


=AK=
Цитата
А чё, AVR для 8-байтной арифметики, оказывается, предназначен? И задач таких кругом немеряно, чтоб именно 8-битником это щелкать? Тады звиняйте, не знал... Я-то грешным делом думал, что "всякому овощу свой фрукт" (с), и сапоги должон тачать сапожник...

вот нужно мне было в 2313 64-битную замутить. ресурсов хватало тк вычислений не много было . или мне нуно было сразу арм за хобот брать дабы 2к во флеш залить???
вообщем коллеги дискуссия приобретает не профессиональный характер. лично я умываю руки и в ""этом "" процессе боле не учавствую
Go to the top of the page
 
+Quote Post
=AK=
сообщение Dec 28 2005, 08:29
Сообщение #73


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Rst7 @ Dec 28 2005, 17:45) *
О да, пик - суперпроцессор.

Это чё-то из серии "ежли вы обижаете лордов нам - мы вам тоже написаем в щи" (с). Детский сад какой-то, право-слово... wink.gif

Про ПИКи особо и речи-то не было. В треде только я их упоминал, и то всего лишь как еще более говеную чем АВР архитектуру. Вы хоть в курсе истории мелкопроцессоров, и знаете ли как ПИК расшифровывается? Периферийный Интерфейсный Контроллер, только-то и всего.

А ежели в AVR какашками кидать, то, помимо упомянутых выше недостатков, отмечу еще один. Это RISC процессор. Сама идея РИСК-ов изначально довольно гнилая. Поскольку всем РИСК-ам присущи такие недостатки:
1) Программная память расходуется неэффективно.
2) Как следствие, доступ к программной памяти является узким местом.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 28 2005, 08:39
Сообщение #74


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

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



Цитата(=AK= @ Dec 28 2005, 10:29) *
Цитата(Rst7 @ Dec 28 2005, 17:45) *

О да, пик - суперпроцессор.

Это чё-то из серии "ежли вы обижаете лордов нам - мы вам тоже написаем в щи" (с). Детский сад какой-то, право-слово... wink.gif

Про ПИКи особо и речи-то не было. В треде только я их упоминал, и то всего лишь как еще более говеную чем АВР архитектуру. Вы хоть в курсе истории мелкопроцессоров, и знаете ли как ПИК расшифровывается? Периферийный Интерфейсный Контроллер, только-то и всего.


Мне кажется слово еще более говеную прозвучало только сейчас. А я уж было подумал, что Вы сторонник... smile.gif Я не хотел тут разводить по поводу того "какой проц лучше" и т.д. Просто так прозвучал Ваш пост "А вот на ПИК18 ....". Еще раз не хотел.

Флейм мы тут действительно развели. Хотя сама постановка вопроса (первый пост) к этому и вела.
Можно резюмировать.

1. На С++ не писать, писать на С
2. Глобальных переменных поменьше
3. Все грузить в регистры, потом сливать обратно
4. А вот если Atmel еще и комманды добавит - все будет нормально.

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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
mse
сообщение Dec 28 2005, 08:42
Сообщение #75


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата
А чё, AVR для 8-байтной арифметики, оказывается, предназначен? И задач таких кругом немеряно, чтоб именно 8-битником это щелкать? Тады звиняйте, не знал...

А почему бы и нет? ;О) У меня, например, встречается, ну не сказать, чтобы немеряно, но, как назло, в самых быстрых местах. А уж 32бит, так почитай везде. Имею право! Мона, конешно САМ или ЛПЦ поставить, даже по деньгам ничё, дык, ведь, он пол-платы съёст и пол-питания. ИМХО, если регистры "лишние", то их можно просто не пользовать, а если нехватает, то ниоткуда не возьмёшь.
В конце концов, критические переменные, из серии
Цитата
инкремент переменной в памяти занимает 2+1+2=5 тактов

можно легко хранить в регистре. И инкрементировать за 1 такт. Критические по доступу флаги - аналогично.
Единственно необъяснимая кривизна АВРа, которая не может быть оправдана, это бит- и порт-мап. Это пестня!!! ;О) Мужики оттянулись за всё. Генераторы и вообще узел синхронизаццыи, тоже атас. МСП здесь руль, бесспорно. Хотя терпимо.
А всё остальное - это фичи. Кому-то по душе, кому-то нет. Но появились они неспроста, бо, опять повторюсь, соблюсти все приличия по производственно-коммерческим причинам - невозможно. Мы ведь тоже не делаем всё на 6-слойках, в конце концов. И девайсы наши не всегда от пальчиковой бабарейки 10 лет двигателем управляют. И ведь неспроста-же. Каждый моет сказать немало в своё оправдание. ;О) Прально замечено
Цитата
"всякому овощу свой фрукт" (с)
;О) Не нравицца - не ешь!!!
Go to the top of the page
 
+Quote Post

6 страниц V  « < 3 4 5 6 >
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:31
Рейтинг@Mail.ru


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