-
211. Data: 2014-04-08 23:38:09
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> A czego oczekujesz od kogos kto ma wszytko napisane w asm na PICa ? :-)
> To wlasnie najwieksza "zaleta" asmeblera ktora go IMHO calkowicie
> dyskwalifikuje w komercyjnym uzyciu - nie zmienisz rodziny
> mikrokontrolero chyba ze napiszesz sobie wszystko od nowa.
Szanowny Kolego!
Twoja wiedza na temat mojej osoby powiedzmy delikatnie,
jest mało precyzyjna.
Ja pisałem w C 20 lat temu, jak Twoi koledzy na PW nie umieli
sklecić prostego kodu w ASM na laborce, który działa szybciej niż kod w C.
Jest to o tyle zastanawiające, że źródła C można było podglądnąć po
przekompilowaniu.
Jeśli, jak piszesz, to była grupa osób i wszystkie stwierdziły, że nie da
się zrobić tego co zrobił kompilator,
to coś w tej historii się nie klei.
Nie wiem jak to wygląda w tej chwili z rankingiem uczelni wyższych
technicznych, ale
jeśli jest tak jak piszesz, to znaczy, że przynajmniej ta grupa robiła złą
robotę.
Oprócz tego napisałem trochę kodu na uC innych firm niż Microchip.
Poza tym, nie wiem, czy wiesz, ale Microchip ma uC 16-bitowe oraz 32-bitowe.
32MX są z rdzeniem MIPS.
O ile 12F, 16F, 18F stanowią pewną wspólna grupę,
to z pewnością nie można tego powiedzieć o dsPIC30/33,
którego budowa jest zupełnie inna.
Z MX32 jest jeszcze inaczej, gdyż montują rdzeń kupiony od firmy na literkę
N, H, S lub innej.
Więc jak widzę, kiedy ludzie mówią:
"ten to co pisze na te PICi", to wzrusza mnie prostota myślenia.
Pamiętam, jak kiedyś pewna osoba zapytała:
"A te PICi mają już przerwania?"
Znam takie sformułowania i mnie nie bawią, bo świadczą tylko o pokazaniu,
kto chce być górą.
W szczególności śmieszne się wydaje, kiedy ktoś ma doświadczenia w A, B i C,
F, H, I, P, M, Z,
a drugi liznął tylko a i C i śmieje się z doświadczeń z literki A.
Przy czym jego C polega na korzystaniu z H.
Konkretnie ".h" i to cudzych :-)
W nauce liczy się prawda, a nie rodzaj procka.
Żaden uC nie nadrobi umiejętności kodera-programisty,
mimo, że da się wybrać taki, który wykona kiepski kod x razy szybciej.
S.
-
212. Data: 2014-04-08 23:50:15
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> > Równie dobrze mógłbyś spojrzeć na temperaturę za oknem i jak ci wyjdzie
1,
> > to oznacza, że
> > nie warto pisać w ASM, bo to to samo co w C.
> >
> A warto ? Pytam powaznie bo mimo ze lubie assembler to nijak mi nie
> wychodzi ze warto.
Zależy czym się zajmujesz.
Ja lubię w ASM, dlatego, że podziwiam pracę inżynierów, któzy projektują
takie skomplikowane rdzenie.
Traktuje to jako swego rodzaju wyzwanie.
Jeżeli trzeba dodatkowo zrobić coś szybko, to cieszę się, że mogę
wykorzystać swoje umiejętności.
Lubię też w C, ale to głównie dlatego, że fajnie się pisze i wygodnie.
Ale realizacji wyzwań tam nie widzę.
Chyba w walce, aby zmieścić się w zasobach i prędkościach.
Np. teraz.
Zastanawiam się, w jakich przypadkach kompilator C używa takiego rozkazu z
dsPIC30:
np.
MAC W4*W5, A, W4, [W8]+=2, W5, [W10]+=2, [W13]+=2
1) pomnożyć 2 rejestry 16-bitowe
2) dodać je do 40-bitowego akumulatora
3) pobrać komórkę (16-bitów ma się rozumieć) z pamięci do rejestru
4) i jeszcze jedną - tak samo
5) zaokrąglić do 16-bitów i zapisać drugi akumulator B do rejestru lub
pamięci
6) zwiększyć wskaźnik na pobieraną z pamięci daną
7) i drugiego wskaźnika także.
8) zwiększyć też i ten wskaźnik zapisywania B do pamięci
To wszystko w 1 instrukcji. dla 30F4011@ fcy=30MHz trwa 33 ns.
S.
-
213. Data: 2014-04-09 00:13:05
Temat: Re: PIC vs AVR
Od: "Pszemol" <P...@P...com>
"Sylwester Łazar" <i...@a...pl> wrote in message
news:li1r2c$vua$1@mx1.internetia.pl...
> W nauce liczy się prawda, a nie rodzaj procka.
W jakiej nauce?
> Żaden uC nie nadrobi umiejętności kodera-programisty,
> mimo, że da się wybrać taki, który wykona kiepski kod x razy szybciej.
I wykonanie kiepskiego kodu x razy szybciej to jest właśnie
sposób na nadrobienie braku umiejętności kodera-programisty.
Niestety.
Ale - najważniejsze "w nauce" są założenia projektowe...
Jeśli projekt masz ukończyć w zadanym czasie za zadaną
kwotę kosztów przy zadanej efektywności/wydajności
końcowego programu to czasem trzeba użyć C/C++
a czasem trzeba użyć assemblera i warto znac oba aby
nie mieć ograniczonego wyboru.
Nie jest prawdą że ZAWSZE opłaca się dopieszczać kod
z dokładnością do każdej instrukcji assemblera. Tym bardziej
jeśli konsekwencją jest np. wyjście poza budżet pieniężny
lub czasowy całego projektu.
A więc można tą długą dyskusję podsumować twierdzeniem
że nie należy podchodzić do tego zbyt fanatycznie i stosować
takie narzędzia aby osiągnąć zamierzony cel w zamierzonym czasie.
-
214. Data: 2014-04-09 00:23:22
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> > W nauce liczy się prawda, a nie rodzaj procka.
>
> W jakiej nauce?
>
> > Żaden uC nie nadrobi umiejętności kodera-programisty,
> > mimo, że da się wybrać taki, który wykona kiepski kod x razy szybciej.
>
> I wykonanie kiepskiego kodu x razy szybciej to jest właśnie
> sposób na nadrobienie braku umiejętności kodera-programisty.
> Niestety.
>
> Ale - najważniejsze "w nauce" są założenia projektowe...
> Jeśli projekt masz ukończyć w zadanym czasie za zadaną
> kwotę kosztów przy zadanej efektywności/wydajności
> końcowego programu to czasem trzeba użyć C/C++
> a czasem trzeba użyć assemblera i warto znac oba aby
> nie mieć ograniczonego wyboru.
> Nie jest prawdą że ZAWSZE opłaca się dopieszczać kod
> z dokładnością do każdej instrukcji assemblera. Tym bardziej
> jeśli konsekwencją jest np. wyjście poza budżet pieniężny
> lub czasowy całego projektu.
> A więc można tą długą dyskusję podsumować twierdzeniem
> że nie należy podchodzić do tego zbyt fanatycznie i stosować
> takie narzędzia aby osiągnąć zamierzony cel w zamierzonym czasie.
Tym razem zgadzam się w 100%.
Co do pytania o naukę.
Mi się wydaję, że wiedza typu Know-how, jest jak najbardziej nauką.
Nie wyobrażam sobie programisty-kodera, któremu zada się pracę:
Napisz kod od 20 do 300 linijki kody,
a ten robi po kolei:20, 21, 23 itp.
To nie kopanie rowu, choć lubię czasem jakiś rów wykopać :-)
Nie trzeba myśleć zbyt wiele.
S.
-
215. Data: 2014-04-09 01:21:02
Temat: Re: PIC vs AVR
Od: "Pszemol" <P...@P...com>
"Sylwester Łazar" <i...@a...pl> wrote in message
news:li1tn5$8vs$1@mx1.internetia.pl...
>> Ale - najważniejsze "w nauce" są założenia projektowe...
>> Jeśli projekt masz ukończyć w zadanym czasie za zadaną
>> kwotę kosztów przy zadanej efektywności/wydajności
>> końcowego programu to czasem trzeba użyć C/C++
>> a czasem trzeba użyć assemblera i warto znac oba aby
>> nie mieć ograniczonego wyboru.
>> Nie jest prawdą że ZAWSZE opłaca się dopieszczać kod
>> z dokładnością do każdej instrukcji assemblera. Tym bardziej
>> jeśli konsekwencją jest np. wyjście poza budżet pieniężny
>> lub czasowy całego projektu.
>> A więc można tą długą dyskusję podsumować twierdzeniem
>> że nie należy podchodzić do tego zbyt fanatycznie i stosować
>> takie narzędzia aby osiągnąć zamierzony cel w zamierzonym czasie.
>
> Tym razem zgadzam się w 100%.
No to fajnie.
> Co do pytania o naukę.
> Mi się wydaję, że wiedza typu Know-how, jest jak najbardziej nauką.
> Nie wyobrażam sobie programisty-kodera, któremu zada się pracę:
> Napisz kod od 20 do 300 linijki kody,
> a ten robi po kolei:20, 21, 23 itp.
> To nie kopanie rowu, choć lubię czasem jakiś rów wykopać :-)
> Nie trzeba myśleć zbyt wiele.
A mi się wydaje, że pisanie kodu (tworzenie programów) to rodzaj
rzemiosła. Dobry programista to tak jak dobry szewc lub spawacz.
Do naukowca to mu jednak trochę brakuje, choć przyznaję że nauka
i inżynieria często sobie nawzajem pomaga i idzie w parze...
-
216. Data: 2014-04-09 01:35:02
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> A mi się wydaje, że pisanie kodu (tworzenie programów) to rodzaj
> rzemiosła. Dobry programista to tak jak dobry szewc lub spawacz.
> Do naukowca to mu jednak trochę brakuje, choć przyznaję że nauka
> i inżynieria często sobie nawzajem pomaga i idzie w parze...
Tym razem zgadzam się w 50%.
Just swap it!
Łatwo to sprawdzisz, jak każesz szewcowi czy spawaczowi napisać prosty kod w
C.
W drugą stronę:
Ja nie mam problemu z prostym szyciem buta czy pospawaniem palnikiem
acetylenowo-tlenowym
prostej konstrukcji.
S.
-
217. Data: 2014-04-09 02:49:51
Temat: Re: PIC vs AVR
Od: "Pszemol" <P...@P...com>
"Sylwester Łazar" <i...@a...pl> wrote in message
news:li21th$ms3$1@mx1.internetia.pl...
>> A mi się wydaje, że pisanie kodu (tworzenie programów) to rodzaj
>> rzemiosła. Dobry programista to tak jak dobry szewc lub spawacz.
>> Do naukowca to mu jednak trochę brakuje, choć przyznaję że nauka
>> i inżynieria często sobie nawzajem pomaga i idzie w parze...
> Tym razem zgadzam się w 50%.
> Just swap it!
> Łatwo to sprawdzisz, jak każesz szewcowi czy spawaczowi napisać
> prosty kod w C.
> W drugą stronę:
> Ja nie mam problemu z prostym szyciem buta czy pospawaniem
> palnikiem acetylenowo-tlenowym prostej konstrukcji.
Napisać prosty kod w C lub pospawać prostą konstrukcję potrafi amator.
Dobry rzemieślnik, naprawdę dobry specjalista, tym różni się od amatora
że potrafi DOBRZE i niezawodnie zrobić nawet najtrudniejsze zadania,
projekty w swym fachu...
Jestem pewny, że nie każdy dobry programista-fachowiec będzie umiał
pospawać nawet prostą konstrukcję stalową, bo do tego trzeba znać
choć podstawy, czyli być hobbystą-spawaczem, spawaczem amatorem.
Jestem też pewny, że znajdziesz takiego dobrego spawacza-fachowca,
który będzie umiał napisać prosty kod w C, bo jest akurat hobbystą,
programistą-amatorem.
Wyczuwam w Twoim tonie sugestię o jakiejś wyższości programistów
nad spawaczami czy szewcami, jakbyś nie doceniał kunsztu z jakim pracę
wykonuje DOBRY rzemieślnik. Ja się z tym tonem nie zgadzam nawet w 1%.
-
218. Data: 2014-04-09 03:11:14
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> Wyczuwam w Twoim tonie sugestię o jakiejś wyższości programistów
> nad spawaczami czy szewcami, jakbyś nie doceniał kunsztu z jakim pracę
> wykonuje DOBRY rzemieślnik. Ja się z tym tonem nie zgadzam nawet w 1%.
Cenię każdego dobrego spawacza (wiem, jak trudno jest pospawać, bo robiłem).
Cenię każdego dobrego szewca (wiem, bo mój dziadek był szewcem, budowlańcem,
nauczycielem, cukiernikiem, pracował w hucie szkła i był super dziadkiem).
Jednak, wiesz chyba co to jest drabina społeczna i dlaczego istnieje?
S.
-
219. Data: 2014-04-09 03:21:34
Temat: Re: PIC vs AVR
Od: "Pszemol" <P...@P...com>
"Sylwester Łazar" <i...@a...pl> wrote in message
news:li27ht$a7q$1@mx1.internetia.pl...
>> Wyczuwam w Twoim tonie sugestię o jakiejś wyższości programistów
>> nad spawaczami czy szewcami, jakbyś nie doceniał kunsztu z jakim pracę
>> wykonuje DOBRY rzemieślnik. Ja się z tym tonem nie zgadzam nawet w 1%.
> Cenię każdego dobrego spawacza (wiem, jak trudno jest pospawać, bo
> robiłem).
> Cenię każdego dobrego szewca (wiem, bo mój dziadek był szewcem,
> budowlańcem,
> nauczycielem, cukiernikiem, pracował w hucie szkła i był super dziadkiem).
> Jednak, wiesz chyba co to jest drabina społeczna i dlaczego istnieje?
Ale ja nie o drabinie społecznej mówię...
Ja postawiłem tezę, że programista jest rzemieślnikiem a nie naukowcem.
I próbuję tą tezę Ci objaśnić na przykładzie innych rzemieślników.
Naukowcem być to jednak coś dużo więcej niż tylko wytworzyć kolejną
parę butów albo kolejny program do sortowania tablicy danych...
Abstrahując już od tego ile czasu trzeba i ile nauki trzeba aby stać się
dobrym szewcem czy dobrym spawaczem czy dobrym programistą
i gdzie na drabinie społecznej się te zawody znajdują żaden z nich nie
jest naukowcem jeśli tylko implementuje znane już i stosowane
rozwiązania (w swojej branży). Wybacz jeśli Cię rozczaruję, ale nie ma
tu nic naukowego w tym że ktoś napisze sortowanie bąbelkowe w C++
czy nawet w ASM - to tylko implementacja znanej i szeroko-stosowanej
technologii i w istocie swojej niczym nie różni się w zaimplementowaniu
metody spawania w osłonie argonu. Tu rzemiosło i tam rzemiosło.
Różnica między C++ a ASM może być porównana do różnicy w szyciu
butów ręcznie czy na maszynie do szycie... Albo spawaniu iskrowym
czy w płomieniu...
Co innego gdy spawacz-naukowiec zacznie eksperymentować i w toku
swoich poszukiwań opracuje nowe metody, nowe technologie, nowe
materiały do spawania, wtedy otrze się o naukę tak samo jak taki koder
rzemieślnik, który zacznie wymyślać nowe, nieznane wcześniej algorytmy
sortowania danych czy też nowe nieznane wcześniej algorytmy szyfrowania.
Czujesz teraz lepiej moją tezę?
-
220. Data: 2014-04-09 03:39:05
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl>
> Co innego gdy spawacz-naukowiec zacznie eksperymentować i w toku
> swoich poszukiwań opracuje nowe metody, nowe technologie, nowe
> materiały do spawania, wtedy otrze się o naukę tak samo jak taki koder
> rzemieślnik, który zacznie wymyślać nowe, nieznane wcześniej algorytmy
> sortowania danych czy też nowe nieznane wcześniej algorytmy szyfrowania.
> Czujesz teraz lepiej moją tezę?
Teraz tak.
Ale weżmy takiego pana, co się nazywał Henry Ford.
On to bowiem napisał, że:
"In short, the result is this: by the aid of
SCIENTIFIC STUDY one man is now able to do somewhat more than four did
only a comparatively few years ago. That line established the efficiency
of the method and we now use it everywhere. The assembling of the motor,
formerly done by one man, is now divided into eighty-four
operations--those men do the work that three times their number formerly
did."
Co się tłumaczy, że dzięki badaniom naukowym pewne algorytmy wykonywane są
szybciej.
Jednak wszystkie czynności, które były wykonywane wcześniej przez tych
czterech,
były znane. Problem był tylko jak te same czynności wykonać miał jeden.
S.