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

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

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

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

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

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


 
Опции темы
Непрочитано 01.11.2010, 14:54  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Stanislav_S Посмотреть сообщение
а смысл, сравнивать производительность на голом асме, ИМХО нет смысла, поскольку все равно прийдется писать на С (с вероятностью 99% ), поэтому от компиляторов особо никуда не денешся, да и не такие уж страшные задачи решаются на 8 - ми битках, чтобы выжимать все соки из камня, не те сейчас времена. Сравнивать надо по другим критериям, ИМХО конечно.
Асм только ради того чтобы исключить особенности компилятора и оставить голые возможности ядра. Например, в AVR я теоретически могу разместить две переменные в РОН и делать арифметику с ними, в STM8 это возможно только, если одну из переменных разместить в аккумуляторе другую в SRAM. Хотя любой компилятор Си поместит обе переменные в SRAM без разговоров, но могут быть наверное варианты с повышенной оптимизацией, когда он поступит более изощрённо.
Вот чтобы за всем этим не заморачиваться можно в асме руками разместить обе переменные в SRAM и пусть AVR и STM покажут, кто быстрее лазит в ОЗУ.
Писать программы в асме в наш век вряд ли кому-то вздумается, тут я с Вами полностью согласен.
Реклама:

Последний раз редактировалось Falconist; 13.04.2011 в 23:17.
EugVor вне форума  
Непрочитано 01.11.2010, 15:22  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
Асм только ради того чтобы исключить особенности компилятора и оставить голые возможности ядра. Например, в AVR я теоретически могу разместить две переменные в РОН и делать арифметику с ними, в STM8 это возможно только, если одну из переменных разместить в аккумуляторе другую в SRAM. Хотя любой компилятор Си поместит обе переменные в SRAM без разговоров, но могут быть наверное варианты с повышенной оптимизацией, когда он поступит более изощрённо.
Вот чтобы за всем этим не заморачиваться можно в асме руками разместить обе переменные в SRAM и пусть AVR и STM покажут, кто быстрее лазит в ОЗУ.
Писать программы в асме в наш век вряд ли кому-то вздумается, тут я с Вами полностью согласен.
Я думаю на объективных примерах соотношение быстродействий будет равно соотношению частот, с поправкой на кол-во инструкций за такт.
В ОЗУ они лазят думаю одинаково.

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

С трудом вспоминал AVR ассемблер, но в итоге:

Несложное задание для STM8:
Исходные условия: Три восьмиразрядные переменные A, B и C разместить в SRAM.
Задание: Как можно быстрее:
1. Установить весь PORTA на выход;
2. Установить бит 0 в PORTA;
3. Проинициализировать переменную A = 1;
4. Проинициализировать переменную B = 2;
5. Уйти в подпрограмму;
В подпрограмме:
6. Сложить переменные A и B, результат поместить в C;
7. Вернуться из подпрограммы.
8. Если установлен бит 0 в PORTA, сбросить его.

Исходный код для AVR:
Код:
**************************************************  *************************
.include "m16def.inc"

.equ 		A=	$70     ;Адрес переменной A в SRAM.
.equ 		B=	$71     ;Адрес переменной B в SRAM.
.equ 		C=	$72     ;Адрес переменной C в SRAM.
.def		rA=	r16     ;РОН для переменной A.	
.def		rB=	r17     ;РОН для переменной B.
.def		rC=	r18     ;РОН для переменной C.	

;_________________________________________________  ____________________________

.org 0		;Вектор сброса
		rjmp     reset
;_________________________________________________  ____________________________

reset:		;Инициализация програмного стека.
		ldi  	RA,low(ramend)
		out  	spl,rA
		ldi  	RA,high(ramend)
		out  	sph,rA

		ldi  	rA,$ff		;НАЧАЛО ОТСЧЁТА ЦИКЛОВ			
        	out  	ddra,rA			;PortA на выход.
		sbi	porta,0		;Установить PortA.0
		ldi  	rA,$01			
		sts 	A,rA		;Переменная A=1;
		ldi  	rA,$02
		sts 	B,rA		;Переменная B=2;
		rcall	SubRoutine	;Уход в подпрограмму.
		sbic	pina,0		;Пропустить следующую команду, если PortA.0 сброшен. 
		cbi	porta,0		;Сбросить PortA.0 - КОНЕЦ ОТСЧЁТА	ЦИКЛОВ


SubRoutine:	lds 	rA,A		;Загрузить переменную A в РОН rA.
		lds 	rB,B		;Загрузить переменную B в РОН rB.
		add	rA,rB		;Сложить  rB+rA, результат в rA.
		sts	C,rA		;Сохранить результат сложения в переменную С в SRAM.	
		ret			;Возврат из подпрограммы.
ATmega16 справился за 26 тактов.
Начало замера - PortA физически установился на выход (сброс счётчика циклов в ноль перед командой out ddra,rA).
Окончание - PortA.0 сбросился в единицу.
Применены инструкции непосредственного сброcа, установки и проверки бита в порту, которых у STM8 возможно нет. Тогда это будет не очень честно. Просьба повторить для STM8.
Можно тоже самое или что-то посложнее написать на Си для IAR
Вложения:
Тип файла: rar AVRvsSTM8.rar (6.0 Кб, 50 просмотров)

Последний раз редактировалось Falconist; 13.04.2011 в 23:17.
EugVor вне форума  
Непрочитано 01.11.2010, 17:04  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

EugVor, Может без HollyWar обойдемся ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 01.11.2010, 17:13  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

А это, что такое, если не секрет?
EugVor вне форума  
Непрочитано 01.11.2010, 17:21  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
А это, что такое, если не секрет?
Священные войны
Это то чем обычно заканчиваются подобные сравнения .
И топик раздувается до немыслимых пределов , после чего в нем трудно найти чтолибо кроме ругани...
__________________
Осторожно , злой кот

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

Ясно, но... раз уж начали. Будем надеяться, что войны не будет
Вроде в личном плане не должно быть так уж важно кто круче AVR или STM8. Пусть Atmel беспокоиться, а мы просто выберем, что вкуснее.
EugVor вне форума  
Непрочитано 01.11.2010, 17:28  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
А это, что такое, если не секрет?
Вот что

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

Сообщение от dosikus Посмотреть сообщение
EugVor, Может без HollyWar обойдемся ?
Это не холивар. Холивар это когда без цифр, все чисто на эмоциях. Вечером напишу аналог под STM8. Может даже на ассемблере попробую

Сообщение от EugVor Посмотреть сообщение
Применены инструкции непосредственного сброcа, установки и проверки бита в порту, которых у STM8 возможно нет. Тогда это будет не очень честно. Просьба повторить для STM8.
Ветку Вы явно не читали. У STM8 таких инструкций нет, ему все равно - порт это или ОЗУ. Есть например команда установки/сброса бита и она работает с адресом, а уж что там по этому адресу ей неважно. Может быть вообще еепром
ЗЫ. В общем у меня новая мать, проц и память, так что продолжение скоро последует. Как только софт весь установлю.

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

Сообщение от kison Посмотреть сообщение
Это не холивар. Холивар это когда без цифр, все чисто на эмоциях. Вечером напишу аналог под STM8. Может даже на ассемблере попробую
Холивар, холивар
Как раз когда начинаются цифры, холивар переходит в стадию "необратимый". Тем более, что как и положено в холиварах, тестовый пример взят ни о чем.

Последний раз редактировалось Falconist; 13.04.2011 в 23:16.
testerplus вне форума  
Сказали "Спасибо" testerplus
dosikus (01.11.2010)
 

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

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

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, время: 13:45.


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