eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR32 - jak ruszyc z tym prockiemRe: AVR32 - jak ruszyc z tym prockiem
  • Data: 2009-11-10 16:31:15
    Temat: Re: AVR32 - jak ruszyc z tym prockiem
    Od: cepu69 <c...@t...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: