Ten co ma pojęcie się odezwał

))
Mam na biurku jeden z takich projektów rozgrzebany. Dwa zadania o JEDNAKOWO wysokim priorytecie, które muszą pracować z dokładnością czasową na poziomie 1us z maksymalnym błędem 2us, bo powyżej system przestaje działać poprawnie (błędne wyniki pomiarów). Nie są ze sobą zsynchronizowane. Jedno z tych zadań jest wyzwalane sygnałem niezależnym od procesora i jego zegara i ma zmienną częstotliwość w zakresie ok. dekady. Drugie zadanie jest wyzwalane przez zasoby procesora, ale ma zmienność częstotliwości w zakresie 2 dekad. Do tego proces komunikacyjny dwukierunkowy ale bez fifo na wejściu i normalne obliczenia numeryczne, dość złożona trygonometria pomiarowa z dokładnością co najmniej integer, obsługa peryferiów zewnętrznych w tym ekranu graficznego.
Zegar procesora 32MHz, wykorzystanie czasu ALU na poziomie do 90% w szczycie, zależnie od relacji czasowych.
Przy 32MHz zegara mam zastępcze pasmo procesów krytycznych 250kHz*2=500kHz (*2 bo 2 niezależne procesy real time). Iloraz: 64
LinuxCNC na pececie z zegarem 3GHz i procesorem numerycznym oraz nieograniczoną pamięcią uzyskuje pasmo procesów krytycznych... 50kHz. Aż

I to przy pełnej autokontroli nad przebiegiem tego procesu

Iloraz: 60000.
Dedykowane urządzenie jako zarządzające systemem real time jest ~1000 razy wydajniejsze w tym przypadku

I dlatego pecet to NIE JEST metoda na profesjonalny sterownik. W ogólnym przypadku, nie ma żadnych szans w starciu z dedykowanym sprzętem. Po prostu żadnych.
P.S. Nawet jeśli nie ma żadnego procesu zakłócającego i proces krytyczny jest wyzwalany przerwaniem czasowym, to jitter często się pojawia, bo rzadko kiedy program przerwania wykonuje się bez uprzednich warunków, skoków, zawsze identycznie czasowo.