eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVR › Re: PIC vs AVR
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.task
    .gda.pl!not-for-mail
    From: Marek Borowski <m...@b...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: PIC vs AVR
    Date: Tue, 08 Apr 2014 21:15:45 +0200
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 66
    Message-ID: <li1hte$13t$1@news.task.gda.pl>
    References: <533ddbbb$0$2158$65785112@news.neostrada.pl> <lhpavu$914$1@dont-email.me>
    <lhpeqj$ct4$1@speranza.aioe.org> <lhpgfo$kjn$1@dont-email.me>
    <lhpluc$v7a$1@speranza.aioe.org> <lhpr39$4rf$1@dont-email.me>
    <lhq0sf$7gn$1@speranza.aioe.org> <lhrd9u$agv$1@dont-email.me>
    <lhrhae$j9a$1@speranza.aioe.org> <lhrk97$6kg$1@mx1.internetia.pl>
    <lhs0th$qtp$1@speranza.aioe.org> <lhs583$vhh$1@mx1.internetia.pl>
    <lhs5nm$1fo$1@mx1.internetia.pl> <lhubnd$amu$1@mx1.internetia.pl>
    <lhueie$klk$1@mx1.internetia.pl> <lhut4e$4dn$1@mx1.internetia.pl>
    <lhuvs6$f3a$1@mx1.internetia.pl> <lhv567$142$1@mx1.internetia.pl>
    <lhv6h3$5kv$1@mx1.internetia.pl> <lhv8es$c0h$1@mx1.internetia.pl>
    <lhvbcv$lmq$1@mx1.internetia.pl>
    NNTP-Posting-Host: 89-66-7-52.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1396984558 1149 89.66.7.52 (8 Apr 2014 19:15:58 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Tue, 8 Apr 2014 19:15:58 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.4.0
    In-Reply-To: <lhvbcv$lmq$1@mx1.internetia.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662693
    [ ukryj nagłówki ]

    On 08/04/2014 00:58, Sylwester Łazar wrote:
    >> Twoje rozważania na temat efektów kompilacji na PICach zostały
    >> uzupełnione przez Janusza, który podał efekt kompilacji na AVR (1.6). Z
    >> tego wynika, że mogą być kompilatory dające wydajniejszy kod niż te dla
    >> PICów.
    > Naprawdę ciężko z Tobą się rozmawia:
    > Przecież masz tam specjalnie naznaczone, że porównuję do PIC18F
    > Jak można wyciągnąć wniosek, że można porównywać kod C z jednego uC
    > z kodem ASM z drugiego.
    >
    Zgrubsza ? Dlaczego nie. Nowoczene procesory, nawet male, sa
    superscalarne i wykonuja instrukcje w pojedyncze cykle (to nie x51
    gdzie byle g* zajmowala 50 cykli).

    Upraszczajac przy dostatecznie duzej ilosci kodu mozna przyja, ze
    ilosc instrukcji i taktowanie CPU determinuje czas wykonania programu.
    ARM musialby miec srednio 10 cykli (a PIC 1) na instrukcje aby Twoje
    przesuniecie przecinka mialo sens. A tak nie jest- zobacz sobie
    ARM cycles per instruction.


    > Poza tym masz JASNO i WPROST napisane, że chodzi o CYKLE,
    > a nie instrukcje.
    > czyli to jest porównanie czasowe jednego uC z zupełnie innym.
    >
    > No nie wiem jak musi pracować umysł człowieka, aby wyciągnąć wniosek,
    > że w takim razie kod w C dla TEGO SAMEGO uC jest tylko 1,6x wolniejszy.
    >
    wyzej masz wyjasnienie.

    > Przecież w tamtej dyskusji porównywane były zupełnie inne uC.
    >
    > Nie da sie z Tobą rozmawiać, bo wybrałeś sobie losowy współczynnik z
    > dyskusji i usiłujesz wyciągnąć wniosek,
    > że jak sobie napiszesz w C i skompilujesz to tylko 1,6x wolniej Ci to
    > chodzi, niż napisałbyś
    > na tym samym uC w ASM.
    >
    > Toż to bzdura.
    >
    Roznie bywa. Na zajeciach na PW juz nascie lat temu najszybszy okazal
    sie program napisany w C(!). Powiedzmy ze na sparca sie trudno recznie
    optymalizuje co nie nie zmienia sytuacji, iz w grupie 20 osob z ktorych
    czesc implementowala algorytm w asm a czesc w C wygral ten napisany w C.
    Fakt ze pisany byl "assemblerowo" z bardzo duzym uzycie niskopomziowych
    operatorow ale nikt z reszty w asmemblerze nie napisal lepiej.
    Naprawde pewne optymalizacje kompilatora wzbudzaly muj szacunek do
    niego. Takze na malych uC mozna dlubac recznie i bedzie lepiej, na
    duzych procesorach, sorry nie widze tego. Zbyt duzo mechanizow.
    Czlowiek tego nie ogarnie. Sam fakt posiadania 32 128bitowych rejestrow
    powoduje iz sie mozna pogubic. A cache i przewidywaniu skokow nie
    bede nawet wspominal.


    > 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.


    Pozdrawiam

    Marek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: