Goto page Previous 1, 2, 3, 4, 5 Next
Jarosław Sokołowski
Guest
Sat Jul 07, 2012 4:46 pm
Pan J.F. napisał:
Quote:
W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
(i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
w podobnych zastosowaniach, to już nie jest zły pomysł.
A nie odwrotnie ?
Praktyka pokazuje, że nie.
Quote:
CP/M ma podobna zalete jak MS-DOS - nie przeszkadza
Tylko to po prostu kompletnie oplacalne wstawiac naped dyskietek zamiast
(EP)ROM z programem.
A teraz (wiele lat po pogrzebie CP/M) opłacalne jest wstawianie tylu
zasobów, że korzysta się z jakichś 2%.
Quote:
Natomiast linux ... a po cholere on w sterowniku do windy ?
Można powiedzieć, że po nic -- tak jak CP/M i MS-DOS, Linux również nie
przeszkadza. Ale jednak po coś -- zostało to opisane niżej.
Quote:
W miare rozwoju powstaja i male systemy na typowe uC.
Co to jest ten "typowy uC"?
Na tyle popularny i o duzych mozliwosciach, zeby sie oplacilo sie system
wymyslac i tworzyc.
Tak, to chyba dość rzadko. Nikomu się nie chce wymyślać i tworzyć systemu
od podstaw. A tam gdzie się da, wstawia się gotowy, który jest za darmo.
Czyli coś uniksowatego, przeważnie linux, czasem bsd.
Quote:
Jeśli jest nim np. ARM czy coś równie mocnego, to podejście
"bezsystemowe" w ogóle schodzi na margines.
Ale to z innych powodow IMHO - sterownik do windy, a jak ma miec USB na
pokladzie do diagnostyki, i BT zeby serwis nie musial chodzic po drabinie,
i ethernet zeby pracowac w sieci z innymi sterownikami, i podlaczony ma byc
do systemu inteligentnego budynku, i miec webserver dla zarzadcy, i
oczywiscie TCP/IP do tego potrzebne , i jeszcze gniazdo na karty SD - to
niestety oprogramowanie tego wszystkiego kosztuje, a w systemie w cenie..
Nie tyle "ma mieć", co "może mieć za śmieszne pieniądze". Jak może mieć,
to się robi -- żeby było wygodniej. A z systemem zawsze jest wygodniej
niż bez systemu. Nawet jeśli nie chcę mieć USB, BT itd.
--
Jarek
Michoo
Guest
Sat Jul 07, 2012 4:57 pm
On 07.07.2012 12:38, Mario wrote:
Quote:
W dniu 2012-07-06 17:50, Michoo pisze:
On 06.07.2012 17:22, janusz_kk1 wrote:
Dnia 06-07-2012 o 13:39:15 Michoo <michoo_news@vp.pl> napisał(a):
AVR - bo ma niezłą wartość dydaktyczną a jednocześnie nie odrzuca,
dużo przykładów w sieci, dostępne w DIPie
Koszmarny asembler, z tego powodu polecam 51 albo jeszcze lepiej Z80
Brrr. Po co na początku uczyć assemblera?
Przy okazji zaznajamiania z listą rozkazów. Trudno uczyć budowy i zasady
działania mikroprocesora/mikrokontrolera bez stosowania rozkazów
procesora.
Po co inżynier potrafiący zaprojektować/zaimplementować system
mikroprocesorowy ma znać "bebechy procesora"? To jest broszka
projektanta procesorów - nauki mechanika samochodowego nie zaczynamy
przecież od górnictwa i przetwórstwa stali i ropy.
Rozumiem jeszcze kogoś zaawansowanego[1], kto potrzebuje znać
architekturę, sposób działania użytej magistrali, peryferia w
procesorze, bo coś robi na FPGA z microblaze/openrisc/etc.
Nie rozumiem po co ktoś, kto się uczy podstaw uC ma wiedzieć jaki jest
dokładnie pipeline w procesorze, skoro tego nie widzi a interesująca i
potrzebna jest informacja np.:
- najszybszy na te architekturze typ zmiennej to (u)int16_t
- 2 cykle na rozkaz
- nie używać floating-point jeżeli nie jest to _konieczne_
- nie używać busy-wait jeżeli można to zrobić inaczej (automaty
skończone + zegar)
- wykorzystywać przerwania gdzie się da
- dokumentować przebieg algorytmu
- przy częstotliwościach zegara powyżej xxx MHz krytyczne czasowo
funkcje oznaczać yyy przy czym należy skontrolować czy to za bardzo nie
uszczupla ramu.
[1] Raczej na studiach magisterskich, albo bardzo specyficznym kierunku
inżynierskich.
Quote:
A assembler to po prostu bardziej czytelny zapis kodu
maszynowego.
Ale zaczynanie od kodu maszynowego prowadzi do "liczenia cykli" i
przesadnego komplikowania programu. Optymalizację należy przeprowadzać
gdy jest to potrzebne, a nie od początku tworzyć "unmaintainable code".
--
Pozdrawiam
Michoo
Mario
Guest
Sat Jul 07, 2012 7:16 pm
W dniu 2012-07-07 14:26, Jarosław Sokołowski pisze:
Quote:
Pan Mario napisał:
W dniu 2012-07-06 14:08, Jarosław Sokołowski pisze:
Pan roman rumian napisał:
Wydaje się, ze obecnie przyszłość procesorów należy do ARM (cortex)!
Niewątpliwie, ale z kolei wątpię, czy to jest dobry start dla świeżego
absolwenta liceum czy gimnazjum.
Pytanie trzeba uściślić. Czy chodzi o popularność mikrokontrolerów, czy
mikroprocesorów? Subtelną różnicę zdefiniowałbym na lokalny użytek w ten
sposób: do mikrokontrolera pisze się "wsad", a mikroprocesora używa się
z jakimś systemem operacyjnym, do którego dodaje się swoje programy
użytkowe. Kości ARM zdecydowanie częściej wykorzystuje się jako
mikroprocesory.
Skoro chcesz trzymać się tego klasycznego podziału to weź pod uwagę że
mikrokontroler to mikroprocesor wyposażony w zegar, timer, kontroler
przerwań porty I-O, porty komunikacyjne. Mikrokontrolerem jest bez
wątpienia 51, a ARMy posiadają dużo innych peryferiów, więc bardziej
zasługują na miano mikrokontrolera. To że ktoś do nich dokłada pamięć
RAM i kontroler grafiki to jest raczej kaprys a nie konieczność. Może
pełnić rolę wyspecjalizowanego komputera bez tych dodatków.
Czy ja wiem, czy ja się trzymam klasyki -- wyżej wymieniony podział
opiera się o kryteria organizacji hardware, mój jest software'owy.
W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
(i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
w podobnych zastosowaniach, to już nie jest zły pomysł.
Ale nie wiem po co wprowadzać własną definicję gdy jest już powszechnie
przyjęta. Poza tym twoja definicja jest nieprecyzyjna. Według niej to
ARM w Raspberry Pi jest mikroprocesorem. A jeśli ten sam procek wlutuję
w swoją płytkę i wszystkie potrzebne funkcje wrzucę w main to będzie to
mikrokontroler. A co jak zastosuję Freertosa? Czy to nadal będzie
mikrokontroler czy już mikroprocesor. Tak wiec stosując twoją definicję
nie wiem czy kupując ten mikroukład w sklepie to kupuję mikrokontroler
czy mikroprocesor.
Jarosław Sokołowski
Guest
Sat Jul 07, 2012 10:11 pm
Pan Mario napisał:
Quote:
Wydaje się, ze obecnie przyszłość procesorów należy do ARM (cortex)!
Niewątpliwie, ale z kolei wątpię, czy to jest dobry start dla świeżego
absolwenta liceum czy gimnazjum.
Pytanie trzeba uściślić. Czy chodzi o popularność mikrokontrolerów, czy
mikroprocesorów? Subtelną różnicę zdefiniowałbym na lokalny użytek w ten
sposób: do mikrokontrolera pisze się "wsad", a mikroprocesora używa się
z jakimś systemem operacyjnym, do którego dodaje się swoje programy
użytkowe. Kości ARM zdecydowanie częściej wykorzystuje się jako
mikroprocesory.
Skoro chcesz trzymać się tego klasycznego podziału to weź pod uwagę że
mikrokontroler to mikroprocesor wyposażony w zegar, timer, kontroler
przerwań porty I-O, porty komunikacyjne. Mikrokontrolerem jest bez
wątpienia 51, a ARMy posiadają dużo innych peryferiów, więc bardziej
zasługują na miano mikrokontrolera. To że ktoś do nich dokłada pamięć
RAM i kontroler grafiki to jest raczej kaprys a nie konieczność. Może
pełnić rolę wyspecjalizowanego komputera bez tych dodatków.
Czy ja wiem, czy ja się trzymam klasyki -- wyżej wymieniony podział
opiera się o kryteria organizacji hardware, mój jest software'owy.
W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
(i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
w podobnych zastosowaniach, to już nie jest zły pomysł.
Ale nie wiem po co wprowadzać własną definicję gdy jest już powszechnie
przyjęta.
Ponieważ nie wiedziałem jaka jest ogólnie przyjęta, podałem taką, która
jest pomocna przy odpowiedzi na pytanie o wybór chipa w kontekscie jego
popularności.
Quote:
Poza tym twoja definicja jest nieprecyzyjna.
Ależ skąd! Niezwykle ostro dzieli dziedzinę na dwie klasy abstrakcji.
Quote:
Według niej to ARM w Raspberry Pi jest mikroprocesorem.
Prawda.
Quote:
A jeśli ten sam procek wlutuję w swoją płytkę i wszystkie potrzebne
funkcje wrzucę w main to będzie to mikrokontroler.
Święta prawda.
Quote:
A co jak zastosuję Freertosa? Czy to nadal będzie mikrokontroler czy
już mikroprocesor.
Łatwo się domyśleć, że mikroprocesor.
Quote:
Tak wiec stosując twoją definicję nie wiem czy kupując ten mikroukład
w sklepie to kupuję mikrokontroler czy mikroprocesor.
Jak kupuję mikroukład celem wlutowania jej samodzielnie zaprojektowaną
płytkę i załadowanie kodu ze wszystkimi funkcjami wrzuconymi w main,
to mikrokontroler. A jeśli kupuje płytkę Rapsberry Pi (z tym samym
mikroukładem), to jest to mikrokomputer. W mikrokomputerach są
mikroprocesory.
--
Jarek
Kernel Panic
Guest
Sat Jul 07, 2012 10:18 pm
W dniu 2012-07-07 16:58, Marek Borowski pisze:
Quote:
On 07-07-2012 16:16, Sebastian Biały wrote:
On 2012-07-07 11:28, Marek Borowski wrote:
To bardziej informatyka niż elektronika. Szczególnie te większe.
Jeszcze nie spotkalem nikogo kto ma pojecie o programowaniu
niskopoziomowmym a nie poznal asemblera w dosc wczesnej fazie nauki.
Ja natoamist spotkalem w życiu 2 osoby które programując mikrokontrolery
miały pojęcie o programowaniu w ogóle (od asm po języki funkcyjne). Z
tego taki wniosek że albo marny programista albo marny elektronik.
Bo malo kto po skonczeniu pozadnej uczelni laczacej elektronike z
informatyka programuje uC.
Możesz rozwinąć tą myśl?
Pozdrawiam!
Mario
Guest
Sat Jul 07, 2012 10:36 pm
W dniu 2012-07-08 00:11, Jarosław Sokołowski pisze:
Quote:
Pan Mario napisał:
Wydaje się, ze obecnie przyszłość procesorów należy do ARM (cortex)!
Niewątpliwie, ale z kolei wątpię, czy to jest dobry start dla świeżego
absolwenta liceum czy gimnazjum.
Pytanie trzeba uściślić. Czy chodzi o popularność mikrokontrolerów, czy
mikroprocesorów? Subtelną różnicę zdefiniowałbym na lokalny użytek w ten
sposób: do mikrokontrolera pisze się "wsad", a mikroprocesora używa się
z jakimś systemem operacyjnym, do którego dodaje się swoje programy
użytkowe. Kości ARM zdecydowanie częściej wykorzystuje się jako
mikroprocesory.
Skoro chcesz trzymać się tego klasycznego podziału to weź pod uwagę że
mikrokontroler to mikroprocesor wyposażony w zegar, timer, kontroler
przerwań porty I-O, porty komunikacyjne. Mikrokontrolerem jest bez
wątpienia 51, a ARMy posiadają dużo innych peryferiów, więc bardziej
zasługują na miano mikrokontrolera. To że ktoś do nich dokłada pamięć
RAM i kontroler grafiki to jest raczej kaprys a nie konieczność. Może
pełnić rolę wyspecjalizowanego komputera bez tych dodatków.
Czy ja wiem, czy ja się trzymam klasyki -- wyżej wymieniony podział
opiera się o kryteria organizacji hardware, mój jest software'owy.
W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
(i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
w podobnych zastosowaniach, to już nie jest zły pomysł.
Ale nie wiem po co wprowadzać własną definicję gdy jest już powszechnie
przyjęta.
Ponieważ nie wiedziałem jaka jest ogólnie przyjęta, podałem taką, która
jest pomocna przy odpowiedzi na pytanie o wybór chipa w kontekscie jego
popularności.
Poza tym twoja definicja jest nieprecyzyjna.
Ależ skąd! Niezwykle ostro dzieli dziedzinę na dwie klasy abstrakcji.
Według niej to ARM w Raspberry Pi jest mikroprocesorem.
Prawda.
A jeśli ten sam procek wlutuję w swoją płytkę i wszystkie potrzebne
funkcje wrzucę w main to będzie to mikrokontroler.
Święta prawda.
A co jak zastosuję Freertosa? Czy to nadal będzie mikrokontroler czy
już mikroprocesor.
Łatwo się domyśleć, że mikroprocesor.
Tak wiec stosując twoją definicję nie wiem czy kupując ten mikroukład
w sklepie to kupuję mikrokontroler czy mikroprocesor.
Jak kupuję mikroukład celem wlutowania jej samodzielnie zaprojektowaną
płytkę i załadowanie kodu ze wszystkimi funkcjami wrzuconymi w main,
to mikrokontroler.
Czyli aby określić czy ten kupowany element jest mikrokontrolerem czy
mikroprocesorem, konieczna jest znajomość mojej intencji. Biedni
producenci i sprzedawcy nie wiedzą jaki produkt oferują. To widać jest
jakiś mikroukład Schroedingera, o którym do ostatniej chwili nie wiadomo
w jakim jest stanie kwantowym. Wybacz, dla mnie to dosyć kretyńska
definicja, nie dająca żadnych informacji o przedmiocie tylko o sposobie
użycia go.
Quote:
A jeśli kupuje płytkę Rapsberry Pi (z tym samym
mikroukładem), to jest to mikrokomputer. W mikrokomputerach są
mikroprocesory.
Według twojej kolejnej definicji.
Mario
Guest
Sat Jul 07, 2012 10:53 pm
W dniu 2012-07-07 18:57, Michoo pisze:
Quote:
On 07.07.2012 12:38, Mario wrote:
W dniu 2012-07-06 17:50, Michoo pisze:
On 06.07.2012 17:22, janusz_kk1 wrote:
Dnia 06-07-2012 o 13:39:15 Michoo <michoo_news@vp.pl> napisał(a):
AVR - bo ma niezłą wartość dydaktyczną a jednocześnie nie odrzuca,
dużo przykładów w sieci, dostępne w DIPie
Koszmarny asembler, z tego powodu polecam 51 albo jeszcze lepiej Z80
Brrr. Po co na początku uczyć assemblera?
Przy okazji zaznajamiania z listą rozkazów. Trudno uczyć budowy i zasady
działania mikroprocesora/mikrokontrolera bez stosowania rozkazów
procesora.
Po co inżynier potrafiący zaprojektować/zaimplementować system
mikroprocesorowy ma znać "bebechy procesora"? To jest broszka
projektanta procesorów - nauki mechanika samochodowego nie zaczynamy
przecież od górnictwa i przetwórstwa stali i ropy.
A przerysowując w drugą stronę można powiedzieć, że student mechaniki
pojazdowej nie powinien znać budowy silnika tylko zestaw jego
charakterystyk pozwalających na wyliczenie dynamiki pojazdu.
Tak samo można powiedzieć, że student elektroniki nie musie wiedzieć
jak jest zbudowany tranzystor bipolarny a jak polowy, tylko znać ich
modele zastępcze.
Quote:
Rozumiem jeszcze kogoś zaawansowanego[1], kto potrzebuje znać
architekturę, sposób działania użytej magistrali, peryferia w
procesorze, bo coś robi na FPGA z microblaze/openrisc/etc.
A to powinien znać moim zdaniem każdy student elektroniki o kierunkach
cyfrowych.
Quote:
Nie rozumiem po co ktoś, kto się uczy podstaw uC ma wiedzieć jaki jest
dokładnie pipeline w procesorze, skoro tego nie widzi a interesująca i
potrzebna jest informacja np.:
- najszybszy na te architekturze typ zmiennej to (u)int16_t
- 2 cykle na rozkaz
- nie używać floating-point jeżeli nie jest to _konieczne_
- nie używać busy-wait jeżeli można to zrobić inaczej (automaty
skończone + zegar)
- wykorzystywać przerwania gdzie się da
- dokumentować przebieg algorytmu
- przy częstotliwościach zegara powyżej xxx MHz krytyczne czasowo
funkcje oznaczać yyy przy czym należy skontrolować czy to za bardzo nie
uszczupla ramu.
[1] Raczej na studiach magisterskich, albo bardzo specyficznym kierunku
inżynierskich.
A assembler to po prostu bardziej czytelny zapis kodu
maszynowego.
Ale zaczynanie od kodu maszynowego prowadzi do "liczenia cykli" i
przesadnego komplikowania programu. Optymalizację należy przeprowadzać
gdy jest to potrzebne, a nie od początku tworzyć "unmaintainable code".
Można pominąć poznawanie kodu maszynowego a także wszelkich rejestrów
wewnętrznych. Można ukryć całą architekturę za warstwą sterowników, a
student będzie tylko musiał dodać odpowiednie include w kodzie. Tylko
po co wogóle programowania od tej strony (oderwanej od hardware) mają
się uczyć studenci elektroniki skoro lepiej to wyjdzie studentom
informatyki.
Jarosław Sokołowski
Guest
Sat Jul 07, 2012 11:13 pm
Pan Mario napisał:
Quote:
Tak wiec stosując twoją definicję nie wiem czy kupując ten mikroukład
w sklepie to kupuję mikrokontroler czy mikroprocesor.
Jak kupuję mikroukład celem wlutowania jej samodzielnie zaprojektowaną
płytkę i załadowanie kodu ze wszystkimi funkcjami wrzuconymi w main,
to mikrokontroler.
Czyli aby określić czy ten kupowany element jest mikrokontrolerem czy
mikroprocesorem, konieczna jest znajomość mojej intencji. Biedni
producenci i sprzedawcy nie wiedzą jaki produkt oferują.
Nie tacy oni biedni. Na sprzedaży dobrych procesorów dobrze się zarabia.
Quote:
To widać jest jakiś mikroukład Schroedingera, o którym do ostatniej
chwili nie wiadomo w jakim jest stanie kwantowym. Wybacz, dla mnie to
dosyć kretyńska definicja, nie dająca żadnych informacji o przedmiocie
tylko o sposobie użycia go.
Putina też nie interesuje, czy ktoś kupuje gaz jako paliwo, czy jako
surowiec do syntezy chemicznej. Takie "kretyńskie definicje" dobrze
się mają między rynkami surowcowymi. A umasowione rynki zaawansowanych
technologii mają wiele wspólnego z tymi surowcowymi.
Quote:
A jeśli kupuje płytkę Rapsberry Pi (z tym samym mikroukładem), to
jest to mikrokomputer. W mikrokomputerach są mikroprocesory.
Według twojej kolejnej definicji.
Nie kolejnej, a wciąż tej samej, konsekwentnie użytej.
--
Jarek
Michoo
Guest
Sun Jul 08, 2012 12:00 am
On 08.07.2012 00:53, Mario wrote:
Quote:
W dniu 2012-07-07 18:57, Michoo pisze:
On 07.07.2012 12:38, Mario wrote:
W dniu 2012-07-06 17:50, Michoo pisze:
On 06.07.2012 17:22, janusz_kk1 wrote:
Dnia 06-07-2012 o 13:39:15 Michoo <michoo_news@vp.pl> napisał(a):
AVR - bo ma niezłą wartość dydaktyczną a jednocześnie nie odrzuca,
dużo przykładów w sieci, dostępne w DIPie
Koszmarny asembler, z tego powodu polecam 51 albo jeszcze lepiej
Z80
Brrr. Po co na początku uczyć assemblera?
Przy okazji zaznajamiania z listą rozkazów. Trudno uczyć budowy i zasady
działania mikroprocesora/mikrokontrolera bez stosowania rozkazów
procesora.
Po co inżynier potrafiący zaprojektować/zaimplementować system
mikroprocesorowy ma znać "bebechy procesora"? To jest broszka
projektanta procesorów - nauki mechanika samochodowego nie zaczynamy
przecież od górnictwa i przetwórstwa stali i ropy.
A przerysowując w drugą stronę można powiedzieć, że student mechaniki
pojazdowej nie powinien znać budowy silnika tylko zestaw jego
charakterystyk pozwalających na wyliczenie dynamiki pojazdu.
Tylko takie szczegóły jak to ilustopniowe jest dekodowanie instrukcji,
czy jak szybkie jest połączenie rdzenia z daną pamięcią nie ma _żadnego_
znaczenia o ile nie projektujesz procesora. Dla "użytkownika" liczy się
czas wykonania instrukcji i ewentualnie ilość wait-state (+ może
konieczność dodania jakiejś odmiany lock w systemie równoległym).
Quote:
Tak samo można powiedzieć, że student elektroniki nie musie wiedzieć jak
jest zbudowany tranzystor bipolarny a jak polowy, tylko znać ich modele
zastępcze.
Uczyłem się równań opisujących tranzystor, czy bramki, lustra prądowe,
wzmacniacze, etc (i na egzamin mgr musiałem je sobie odświeżyć). Imo
była to sztuka dla sztuki, bo nawet jak projektowaliśmy na którymś
przedmiocie layout to dane tranzystorów szacowało się wzorami przybliżonymi.
Quote:
Rozumiem jeszcze kogoś zaawansowanego[1], kto potrzebuje znać
architekturę, sposób działania użytej magistrali, peryferia w
procesorze, bo coś robi na FPGA z microblaze/openrisc/etc.
A to powinien znać moim zdaniem każdy student elektroniki o kierunkach
cyfrowych.
No i ok - są sytuacje, gdzie jest to na miejscu, ale tak w ogólnym
programie dla elektroniki?
Quote:
Można pominąć poznawanie kodu maszynowego a także wszelkich rejestrów
wewnętrznych. Można ukryć całą architekturę za warstwą sterowników, a
student będzie tylko musiał dodać odpowiednie include w kodzie. Tylko po
co wogóle programowania od tej strony (oderwanej od hardware) mają się
uczyć studenci elektroniki skoro lepiej to wyjdzie studentom informatyki.
Bo studenci informatyki nie kwapią się bawić ze sprzętem, po tym jak
przeszli:
- programowanie na kartce w czystych opkodach a potem wklepywanie tego w
sprzęt
- użeranie się z centronixem pod DOSem
- uczenie assemblera 16 bit na x86
U mnie z ~150 osób z informatyki na Inżynierię Komputerową poszło nas
sześciu, po doliczeniu osób z innych uczelni i innego kierunku inż
wyszło całe dziesięcioro. Końcowo będzie 5-6 magistrów po informatyce
znających się na programowaniu I znających sprzęt.
A elektronicy jak na razie robią koszmarny kod, więc gdzieś się muszą
nauczyć.
--
Pozdrawiam
Michoo
J.F.
Guest
Sun Jul 08, 2012 5:44 am
Dnia Sun, 08 Jul 2012 00:53:21 +0200, Mario napisał(a):
Quote:
A przerysowując w drugą stronę można powiedzieć, że student mechaniki
pojazdowej nie powinien znać budowy silnika tylko zestaw jego
charakterystyk pozwalających na wyliczenie dynamiki pojazdu.
No, ale sa jeszcze studenci transportu samochodowego, gdzie w zasadzie to
nie potrzebne. I sa jeszcze termodynamiczne podstawy dzialania silnika.
Quote:
Tak samo można powiedzieć, że student elektroniki nie musie wiedzieć
jak jest zbudowany tranzystor bipolarny a jak polowy, tylko znać ich
modele zastępcze.
Jak jest zbudowany to mozna w ksiazkach wyczytac. Ale na studiach sie
dowiedzialem jak to naprawde dziala, no powiedzmy - przeszedlem na kolejny
etap wtajemniczenia, w ktorym sporo machania rekami bylo. Wiedza w zasadzie
nieprzydatna, ale zawsze mnie to intrygowalo :-)
Jak sa zbudowane nowoczesne tranzystory mosfet nie mam pojecia, co nie
przeszkadza uzywac
Podobnie jak nie wiem jak sa zrobione pamieci eeprom, flash, nowoczesne
dram - i tez mi to nie przeszkadza.
J.
Mario
Guest
Sun Jul 08, 2012 7:46 am
W dniu 2012-07-08 02:00, Michoo pisze:
Quote:
On 08.07.2012 00:53, Mario wrote:
W dniu 2012-07-07 18:57, Michoo pisze:
On 07.07.2012 12:38, Mario wrote:
W dniu 2012-07-06 17:50, Michoo pisze:
On 06.07.2012 17:22, janusz_kk1 wrote:
Dnia 06-07-2012 o 13:39:15 Michoo <michoo_news@vp.pl> napisał(a):
AVR - bo ma niezłą wartość dydaktyczną a jednocześnie nie odrzuca,
dużo przykładów w sieci, dostępne w DIPie
Koszmarny asembler, z tego powodu polecam 51 albo jeszcze lepiej
Z80
Brrr. Po co na początku uczyć assemblera?
Przy okazji zaznajamiania z listą rozkazów. Trudno uczyć budowy i
zasady
działania mikroprocesora/mikrokontrolera bez stosowania rozkazów
procesora.
Po co inżynier potrafiący zaprojektować/zaimplementować system
mikroprocesorowy ma znać "bebechy procesora"? To jest broszka
projektanta procesorów - nauki mechanika samochodowego nie zaczynamy
przecież od górnictwa i przetwórstwa stali i ropy.
A przerysowując w drugą stronę można powiedzieć, że student mechaniki
pojazdowej nie powinien znać budowy silnika tylko zestaw jego
charakterystyk pozwalających na wyliczenie dynamiki pojazdu.
Tylko takie szczegóły jak to ilustopniowe jest dekodowanie instrukcji,
czy jak szybkie jest połączenie rdzenia z daną pamięcią nie ma _żadnego_
znaczenia o ile nie projektujesz procesora. Dla "użytkownika" liczy się
czas wykonania instrukcji i ewentualnie ilość wait-state (+ może
konieczność dodania jakiejś odmiany lock w systemie równoległym).
Ale nie można ograniczyć studiów tylko do nauki jak "używać" procka bez
znajomości jak jest zbudowany. Przydałoby się żeby student znał
architekturę procka trochę dokładniej niż jest w artykułach w PCWorld. A
co do znajomości assemblera (i świadomości ze istnieje kod maszynowy),
to przydaje się ona choćby przy analizie wyników kompilacji jeśli coś
jest nie tak.
Quote:
Tak samo można powiedzieć, że student elektroniki nie musie wiedzieć jak
jest zbudowany tranzystor bipolarny a jak polowy, tylko znać ich modele
zastępcze.
Uczyłem się równań opisujących tranzystor, czy bramki, lustra prądowe,
wzmacniacze, etc (i na egzamin mgr musiałem je sobie odświeżyć). Imo
była to sztuka dla sztuki, bo nawet jak projektowaliśmy na którymś
przedmiocie layout to dane tranzystorów szacowało się wzorami
przybliżonymi.
Rozumiem jeszcze kogoś zaawansowanego[1], kto potrzebuje znać
architekturę, sposób działania użytej magistrali, peryferia w
procesorze, bo coś robi na FPGA z microblaze/openrisc/etc.
A to powinien znać moim zdaniem każdy student elektroniki o kierunkach
cyfrowych.
No i ok - są sytuacje, gdzie jest to na miejscu, ale tak w ogólnym
programie dla elektroniki?
Mówimy o kierunkach cyfrowych, to moim zdaniem w ogólnym programie jest
miejsce i na mikrokontrolery/mikrprocesory i na układy programowalne.
Quote:
Można pominąć poznawanie kodu maszynowego a także wszelkich rejestrów
wewnętrznych. Można ukryć całą architekturę za warstwą sterowników, a
student będzie tylko musiał dodać odpowiednie include w kodzie. Tylko po
co wogóle programowania od tej strony (oderwanej od hardware) mają się
uczyć studenci elektroniki skoro lepiej to wyjdzie studentom informatyki.
Bo studenci informatyki nie kwapią się bawić ze sprzętem, po tym jak
przeszli:
- programowanie na kartce w czystych opkodach a potem wklepywanie tego w
sprzęt
- użeranie się z centronixem pod DOSem
- uczenie assemblera 16 bit na x86
U mnie z ~150 osób z informatyki na Inżynierię Komputerową poszło nas
sześciu, po doliczeniu osób z innych uczelni i innego kierunku inż
wyszło całe dziesięcioro. Końcowo będzie 5-6 magistrów po informatyce
znających się na programowaniu I znających sprzęt.
A elektronicy jak na razie robią koszmarny kod, więc gdzieś się muszą
nauczyć.
Bezsprzecznie powinni mieć więcej informatyki, ale nie oznacza to, że
nie powinni poznawać budowy procka na jakimś elementarnym poziomie.
Marek Borowski
Guest
Sun Jul 08, 2012 8:15 am
On 08-07-2012 00:18, Kernel Panic wrote:
Quote:
W dniu 2012-07-07 16:58, Marek Borowski pisze:
On 07-07-2012 16:16, Sebastian Biały wrote:
On 2012-07-07 11:28, Marek Borowski wrote:
To bardziej informatyka niż elektronika. Szczególnie te większe.
Jeszcze nie spotkalem nikogo kto ma pojecie o programowaniu
niskopoziomowmym a nie poznal asemblera w dosc wczesnej fazie nauki.
Ja natoamist spotkalem w życiu 2 osoby które programując mikrokontrolery
miały pojęcie o programowaniu w ogóle (od asm po języki funkcyjne). Z
tego taki wniosek że albo marny programista albo marny elektronik.
Bo malo kto po skonczeniu pozadnej uczelni laczacej elektronike z
informatyka programuje uC.
Możesz rozwinąć tą myśl?
Jasne. Zdecydowana wiekszosc idacych na kierunki informatyczne (nawet te
powiazana z elektronika) nie lubi sprzetu. Po drugie nawej jesli lubi to
bez tzw. doswiadczenia zdecydowanie szybciej znajda prace jako
programista Java dla businessu.
Pozdrawiam
Marek
Pszemol
Guest
Sun Jul 08, 2012 12:18 pm
"roman rumian" <romanrumian@gmail.com> wrote in message
news:jt6jrr$gcs$1@node1.news.atman.pl...
Quote:
w tym świetne wykłady wprowadzające, tyle, że po angielsku.
To akurat dla przyszłego profesjonalisty w tej branży nie
powinno być żadną przeszkodą a wręcz zaletą: uczy się
od razu poprawnych, na codzień używanych w branży pojęć.
Bez jakichś koślawo przetłumaczonych polskich potworków
Pszemol
Guest
Sun Jul 08, 2012 12:22 pm
"Andrzej Ekiert" <dspicant@tlen.pl> wrote in message
news:op.wg1ch5tuf6rg9m@jabba.jedi...
Quote:
Dnia 06-07-2012 o 13:05:45 roman rumian <romanrumian@gmail.com
napisał(a):
Inaczej pisząc, jakiej architektury i narzędzi powinien być uczony w
pierwszym rzędzie uczeń/student o profilu
elektronika/automatyka/informatyka ?
Moim zdaniem jest to zupełnie bez znaczenia, pod warunkiem że tych
architektur będzie kilka i to możliwie różnych. Tak, żeby student
przyzwyczaił się do myśli, że nowe architektury można po prostu z marszu
poznawać, gdy trzeba na nich projekt zrobić.
Za dużo spotykam inżynierów, którzy kiedyś coś poznali i potem koniecznie
do wszystkiego próbują zastosować, czy się nadaje, czy nie. Szczególnie
silna wciąż jest grupa tych od '51. Myśl o uczeniu się chyba im aktywuje w
mózgach obszar odpowiedzialny za odczuwanie bólu.

)))
Jest w tym trochę prawdy, ale sam wiesz że nowy producent procków
potrafi zaskoczyć czasem taką niespodzianką że projekt leży i kwiczy
parę tygodni zanim znajdziesz rozwiązanie. Tym bardziej zupełnie
nowa dla kogoś architektura procesorów z całym lokalnym folklorem :-)
W naszej firmie wreszcie w tym roku odbiliśmy się od rodziny klonów
8051 i pierwszy projekt robimy na ARMie Cortex M3. Mam nadzieję
że do 8051 już nie wrócimy, mimo iż były to fajne procki firmy SiLabs,
i nawet do najprostszych rzeczy znajdziemy coś małego/taniego z ARM.
Sebastian Biały
Guest
Sun Jul 08, 2012 6:21 pm
On 2012-07-07 18:20, J.F. wrote:
Quote:
Nie. Jak ktoś zrozumie '51 to mu już tak zostanie. Czyli: bedzie pisał w
asm (bo tak jest nawygodniej)
Na ARM tez jes asm
I niewielu w nim pisze. Bo i po co skoro są normalne kompiltory.
Quote:
Te army to tez sa, sa, tysiace, tylko kupic je trudno
Army akurat łatwo kupić prawie dowolne.
Quote:
Przeoczy: debugowanie w systemie,
Na maszynie debugowac moze byc trudno. Moze wymagac odpowiednio szybkiej
obslugi.
Debugowanie w systemie ma kilka ograniczeń, ale lepsze to niż
debugowanie poprzez "tu k.... musi gdzieś być jakiś bład" popularne na
'51 i okolicznych trupach.
Quote:
nowoczesne kompilatory,
gcc sprzed 30 lat ?
gcc "z przed 30 lat" supportuje C++11 z zeszłego roku. Pewno piszesz o
jakimś innym gcc.
Quote:
RISC
A to jakas istotna roznica ? Moze sie tylko wscieknie ze paru przydanych
rozkazow brakuje.
Jesli do tego sprawdzasz, to faktycznie. Programator '51 będzie klnął.
Quote:
i rdzen projektowany dla programistów a nie dla programatorow w asm.
Zdaje sie ze na poczatku zarzucales pisanie w asm - o co cie teraz
architektura obchodzi ? Piszesz w C, i nie masz pojecia czy jest RISC czy
CISC, czy rdzen jest dla programistow czy programatorow
Kompilator obchodzi czy jest CISC czy RISC. Kompilator w ogóle obchodzi
architektura. Zgadnij czemu do dzisiaj nie ma gcc na stare PICe.
Quote:
Czasem tylko bedziesz sie dziwil po co jakies dziwnie instrukcje, albo
czemu nowoczesny kompilator taki niewydajny
Może zły kompilator albo zły programista.
Goto page Previous 1, 2, 3, 4, 5 Next