-
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.
Następne wpisy z tego wątku
- 10.11.09 20:42 SM
- 10.11.09 22:36 Jerry1111
- 11.11.09 08:38 SM
- 11.11.09 10:53 Zbych
- 11.11.09 11:29 SM
- 11.11.09 12:59 Zbych
- 11.11.09 17:35 SM
- 11.11.09 17:47 SM
- 11.11.09 17:45 Zbych
- 11.11.09 18:03 Zbych
- 11.11.09 18:26 SM
- 13.11.09 07:35 SM
- 19.11.09 07:41 SM
- 20.11.09 22:42 Adam Dybkowski
- 21.11.09 03:55 SM
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=