eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR32 - jak ruszyc z tym prockiemRe: AVR32 - jak ruszyc z tym prockiem
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: cepu69 <c...@t...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR32 - jak ruszyc z tym prockiem
    Date: Tue, 10 Nov 2009 17:31:15 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 43
    Message-ID: <hdc4gk$1i5$1@inews.gazeta.pl>
    References: <hd1e7s$hqa$1@nemesis.news.neostrada.pl>
    <hd1hnm$9oo$1@atlantis.news.neostrada.pl>
    <hd3mp5$96h$1@atlantis.news.neostrada.pl> <hd3t48$lle$1@inews.gazeta.pl>
    <hd4ruv$qkg$4@news.onet.pl> <hd5le5$mn6$2@atlantis.news.neostrada.pl>
    <hd78vj$st1$1@news.onet.pl> <hd878m$il3$1@atlantis.news.neostrada.pl>
    <hd9m9a$9qr$1@inews.gazeta.pl> <hdauas$2s4$1@nemesis.news.neostrada.pl>
    NNTP-Posting-Host: 217.153.153.214
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2
    Content-Transfer-Encoding: 8Bit
    X-Trace: inews.gazeta.pl 1257870676 1605 217.153.153.214 (10 Nov 2009 16:31:16 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Tue, 10 Nov 2009 16:31:16 +0000 (UTC)
    X-User: cepu69
    User-Agent: KNode/0.10.9
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:575302
    [ ukryj nagłówki ]

    SM wrote:

    >> Typow implementacja watkow we wlasnym, wycisnietym sofcie ->
    >> Odpytywanie non-stop wszystkich pocedurek czy czasem ktoras nie ma czegos
    >> do zrobienia - jakiez to szybkie i wydajne;)
    >> Wszak przeciez scheduler to diabel wcielony, ktory zzera nasze cene
    >> zasoby a nasza "petla glowna" nie.
    >
    > Zawsze będzie wolniej.
    I to jest wlasnie clue problemu. Kto powiedzial, ze zawsze : zmierzyles,
    sprawdziles czy tylko tak twierdzisz bo tam jest tyle kodu???

    > Nawet pomijając osługę zdarzeń, semaforów,
    > mutexów, czyli robiąc w przerwaniu tylko obsługę przełączania wątków,
    > to sama ta obsługa przełączania zajmuje czas.
    Rescheduling jest wykonywany nie non-stop tylko gdy :
    1. przyjdzie systemowe przerwanie zegarowe np. 10ms
    2. w przerwaniu budzisz watek o wyzszym priorytecie niz biezacy
    Pamietaj, ze przelacznie watkow jest silnie zoptymalizowani i jest napisane
    w asemblerze - trzeba na stos zrzucic kontekst czyli w ARMie 16 rejestrow
    natomiast twoja petla glowna tlucze non-stop.

    Wszelkie elemnty programowania wspolbieznego sa uzyte tylko wtedy gdy ich
    uzyjesz (same z siebie nie obciazaja systemu) a wygoda jest duza. Juz widze
    te wydajna synchronizacje zadan na flagach;)

    > Trzeba do kontekstu zapisać stan bierzącego wątku i odtworzyć stan
    > kolejnego wątku z tablicy.
    Ze stosu i jest to raptem kilkadziesiat instrukcji procesora i jestes w
    nowym watku, procedurki na flagach zuzywaja wiecej czasu procesora -
    pamietaj ze sa wykonywne non-stop

    > Tym bardziej że ja potrzebuję akurat w przerwaniu wywoływanym
    > z częstotliwością kilkuset herzów liczyć trajektorię dla
    > 4 osi silników wraz z zachowaniem trapezowego profilu prędkości.
    A to wyjasnia wszystko - czasochlone obliczenia w procedurze obslugi
    przerwania. Nie twierdze, ze jest to zle w kazdym przypadku tj. gdy masz
    tylko jedno zadanie do wykonania to jest ok - dosc typowa sytuacja na
    kontrolerze.
    Ale w sytuacji bardziej generycznej tj. kilka zadan do obrobienia
    rownoczesnie JEST TO NIEACEPTOWEALNE bezwzgledu czy jest OS czy nie -
    responsywnosc takiego systemu jest mala.

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: