Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 02.11.2010, 02:05  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от testerplus Посмотреть сообщение
Я не говорю о подтасовках при тестах, просто тестеры с ixbt.com денежку зарабатывают, и их интересы по сравнению с интересами треплющегося на форумах народа - это небо и земля.
Их интерес - чтоб журнал у них покупали. Не более того. Читатели жаждут крови и они ее получают
Сообщение от testerplus Посмотреть сообщение
Тем более я считаю, что сравнение МК с различными архитектурами тоже не поддается таким оценкам (между пиками и авээрами победителя так и не определили). Ладно, не буду спорить.
Есть и тут стандартные количественные оценки - типа стандартных тестов. А между PIC и АВР победитель давно известен. Правда микрочип тут же все перемешал выпустив недорогие PIC24 Но здесь речь все же о STM8. Я вот считаю что радиолюбителям это просто подарок. Тут главное начать. Минус с радиолюбительской точки зрения один - нет ДИП корпусов. Но народ сейчас уже не тот, чо раньше, лазерники имеют. А некоторые и фоторезист. Так что это не такая и проблема.
Сообщение от testerplus Посмотреть сообщение
если задача решается на МК одного семейства, то она наверняка так же эффективно может быть решена на равноресурсном МК другого семейства.
Заменить "наверняка" на "возможно" и соглашусь.
Реклама:

Последний раз редактировалось Falconist; 13.04.2011 в 23:22.
kison вне форума  
Непрочитано 02.11.2010, 02:13  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Есть и тут стандартные количественные оценки - типа стандартных тестов.
Что-то не слышал раньше об этих тестах. Есть ссылка какая-нибудь? (Раз есть стандартные тесты, почему на них и не погонять АВР с СТМом?)

Последний раз редактировалось Falconist; 13.04.2011 в 23:22.
testerplus вне форума  
Непрочитано 02.11.2010, 02:19  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Тесты то не контроллерные, а для любого вычислительного ядра.
Вот например - http://en.wikipedia.org/wiki/Dhrystone
Там и на другие ссылки есть. Но в контроллерном мире применимость их как бы не очень - кроме самого ядра они и компилятор заодно протестируют. В результате чистого результата не будет.
kison вне форума  
Непрочитано 02.11.2010, 03:05  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Ну для тех кто все еще сомневается в быстродействии STM8 еще небольшой пример.
Один из распостраненных приемов построения программ - вечный цикл с вызовом действий по флажкам. Флажки соответственно удобно делать в виде битовых полей структуры. Ес-но с квалификатором volatile, ведь они устанавливаются вне основного цикла.
В результате на архитектурах с организацией ReadModifyWrite, а именно такая у АВР, изменять состояние этих флажков приходится при запрещенных прерываниях. Типичный листинг:
Код:
cli
LDS R16,adress
andi R16,mask
sts adress,R16
sei
STM8 справляется с этим без запрета прерываний, причем одной однотактовой командой - bres. Выходит аж в 7 раз быстрее Реально то это конечно не так важно, обычно при такой организации запасы по времени большие. Но все же.

Последний раз редактировалось Falconist; 13.04.2011 в 23:22.
kison вне форума  
Эти 2 пользователя(ей) сказали Спасибо kison за это сообщение:
alexgap (02.11.2010), Highlander (18.01.2011)
Непрочитано 02.11.2010, 06:07  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Что то под АВР у меня больше 26 тактов выходит
Это не у вас выходит, а у вашего компилятора. Который не умеет работать с регистрами. Переменную можно ведь хранить в регистрах. Тогда начальная загрузка - вместо 1+2 цикла равна 1 цикл, и само сложение - вместо 2+2+1+2 равна 1 цикл. Итого 18/19 циклов...
Сообщение от kison Посмотреть сообщение
В результате на архитектурах с организацией ReadModifyWrite, а именно такая у АВР, изменять состояние этих флажков приходится при запрещенных прерываниях.
Необязательно, если вспомнить о существовании регистров и GPIOR0. У них есть доступ к индивидуальным битам. Если компилятор слабо заточен под чип - это не значит что чип плохой... Вы то ли передергиваете "АВР плохой", то ли в самом деле всегда так бессмысленно раздуваете свой код...

Последний раз редактировалось Falconist; 13.04.2011 в 23:24.
niXto вне форума  
Непрочитано 02.11.2010, 06:31  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Я не учитывал такт на эту команду.
ldi rA,$ff

извиняюсь, перемудрил, ведь она тоже работает на настройку порта на выход.
Вместе с ней будет 27 тактов.

Пропустить следующую команду, если PortA.0 сброшен.
Эта ветка пойдёт по «нет», чтобы попасть на сброс PA.0, ведь мы предварительно его установили.
Вобщем – 27 тактов для AVR.
EugVor вне форума  
Непрочитано 02.11.2010, 06:35  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от niXto Посмотреть сообщение
Это не у вас выходит, а у вашего компилятора. Который не умеет работать с регистрами. Переменную можно ведь хранить в регистрах. Тогда начальная загрузка - вместо 1+2 цикла равна 1 цикл, и само сложение - вместо 2+2+1+2 равна 1 цикл. Итого 18/19 циклов...
Можно. Вот только регистров всего 32, а переменных обычно больше. Кроме того использование регистров под переменные, с доступом к ним из прерывания, потенциально чревато серьезными багами. Либо потерей быстродействия.

Сообщение от niXto Посмотреть сообщение
Необязательно, если вспомнить о существовании регистров и GPIOR0
По поводу регистров выше, а вот с GPIO непонятно. Хранить в них флаги? Но ведь ножки тоже нужны, причем по прямому назначению. Кроме того доступ по sbi/cbi имеется к очень небольшому числу регистров.

Сообщение от niXto Посмотреть сообщение
Вы то ли передергиваете "АВР плохой", то ли в самом деле всегда так бессмысленно раздуваете свой код...
Я не говорил - плохой. Все же много лет я им пользовался и альтернативы не видел. А говорил я всего лишь, что STM8 оказался лучше. Нда, прямо рекламный слоган просится - и лучше и дешевле

Последний раз редактировалось Falconist; 13.04.2011 в 23:23.
kison вне форума  
Непрочитано 02.11.2010, 06:38  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
Эта ветка пойдёт по «нет», чтобы попасть на сброс PA.0, ведь мы предварительно его установили.
Не обязательно. Нагрузите вывод или вообще к земле притяните и все станет наоборот.
Сообщение от EugVor Посмотреть сообщение
Вобщем – 27 тактов для AVR.
Ну раз хотите считать по минимуму - у STM8 соответственно 20.
Все же три регистра не мешают работать быстро
Да и код из под компилятора вышел вполне приличный. Это значит что асмовые вставки будут практически никогда не нужны. Впрочем это еще предстоит проверить на серьезных алгоритмах.

Последний раз редактировалось Falconist; 13.04.2011 в 23:23.
kison вне форума  
Непрочитано 02.11.2010, 06:50  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Цитата:
Ну раз хотите считать по минимуму - у STM8 соответственно 20.
Нет не потому, что я хочу, а для того, чтобы банально попасть на конец теста, на сброс PA.0

В итоге имеем 20/27 = 74%/100%, а с учётом способностей STM20X работать на 24МГц, против предельных 16МГц для AVR:
0,74*(16/24) = 50%.

Если бы тест был строго о железе, то AVR мог бы это сделать быстрее в РОНах, а STM8 быстрее уже не сможет сработать (непосредственная работа АЛУ c ячейками SRAM уже задействован). Но чисто ассемблерный тест оторван от реальности, ибо любой компилятор под AVR разместит пользовательские переменные именно в SRAM, как в тесте, потому что РОН-ы быстро закончатся и придётся для работы с АЛУ бекапить их в тот же SRAM.
Так, что тест вполне себе хороший – задействует особенности, реально используемые компиляторами.
IAR сгенерил точно такой ассемблерный же код:

Последний раз редактировалось Falconist; 13.04.2011 в 23:24.
EugVor вне форума  
Непрочитано 02.11.2010, 07:42  
EugenyAM
Временная регистрация
 
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
EugenyAM на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
В общем на асме было лень, так что во втором углу ринга будет листинг из под сишного компилятора.
А какой компилятор это был?
Весьма оптимально для си... если писать на асме, я бы написал аналогично...

набор инструкций просто радует...
Сообщение от kison Посмотреть сообщение
btjf 20481,#0,L713 // if PINA.0 2/3 t
bres 20480,#0 // PORTA.0 = 0 1t
Это сильно... сложить аккумулятор с непосредственно адресованной ячейкой...
Сообщение от kison Посмотреть сообщение
add a,_b 1t
Вот вам и три регистра... в примере вообще на одном все сделано...
Если бы в "то" время такие возможности были на z80...
Видимо остальные регистры проявляют себя при работе с массивами

Последний раз редактировалось Falconist; 13.04.2011 в 23:23.
EugenyAM вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KiCAD-объявления и впечатления al_dan KiCAD 32 03.10.2016 17:02
Народ, посмотрите quasm, Как ваши впечатления? suri Proteus, KiCAD и другие ECAD 5 14.10.2009 11:57


Часовой пояс GMT +4, время: 07:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot