Procesory wielordzeniowe w systemach pomiarowych

Do niedawna innowacje w zakresie procesorów dotyczyły w zasadzie tyko komputerów PC i polegały na taktowaniu ich z coraz większą częstotliwością. Potem, po osiągnięciu granicznych wartości taktowania dla technologii półprzewodnikowej, producenci zaczęli wypuszczać na rynek układy wielordzeniowe, zdolne do pracy równoległej. Znajdują one zastosowanie w wielu urządzeniach, w tym automatycznych aplikacjach testujących (ATE), gdzie zapewniają wysoką wydajność, przy wykorzystaniu oprogramowania działającego równolegle w kilku wątkach.

Dodaj do ulubionych źródeł w Google
Posłuchaj
00:00

Rys. 1. W miarę jak ilość danych do obróbki FFT rośnie, różnica czasu pracy algorytmu sekwencyjnego i równoległego staje się coraz bardziej widoczna

Zapewnienie wysokiej wydajności aplikacji, w oparciu o programy działające równolegle na takich układach nie jest proste, gdyż pojawia się wiele problemów związanych z współbieżną pracą wątków, np. konkurowanie o zasoby. Możliwości procesorów wielordzeniowych wykorzystywane są m.in. w środowisku LabVIEW, które udostępnia API, pozwalające na tworzenie działających równolegle algorytmów dla aplikacji testujących.

Wysoką wydajność, od strony sprzętowej, gwarantuje platforma PXI, bazująca na modułowych przyrządach pomiarowych, z magistralą komunikacyjną PCI Express, która zapewnia dużą przepustowość. Taka funkcjonalność jest najbardziej potrzebna przy wielokanałowej analizie sygnałów oraz w aplikacjach czasu rzeczywistego pracujących w trybie ciągłym.

Implementacja algorytmów działających równolegle

Rys. 2. Dla akwizycji realizowanej w paczkach przekraczających 1 mln próbek (rozdzielczość 100 Hz analizy), praca równoległa zapewnia wzrost wydajności powyżej 80%

Jedną z najbardziej popularnych aplikacji, która wykorzystuje możliwości programowania równoległego, jest wielokanałowa analiza sygnałów, realizowana w domenie częstotliwości. Zadanie to jest złożone obliczeniowo, stąd rozdzielenie jej pomiędzy kilka rdzeni procesora zapewnia wyraźny wzrost wydajności działania.

Z punktu widzenia programisty LabVIEW osiągnięcie tego celu wiąże się z niewielką zmianą algorytmu wykorzystywanego w testach. Efekty zastosowania takiego podejścia można ocenić przyglądając się działaniu dwóch algorytmów FFT, przetwarzających dane z szybkiego (100 MS/s), 14-bitowego, dwukanałowego oscyloskopu NI PXIe-5122.

W pierwszym przypadku analiza FFT jest realizowana sekwencyjnie, w drugim równolegle, w oparciu o dwa rdzenie procesora. W pierwszym podejściu analiza danych trwa dłużej niż czas akwizycji z przetwornika pomiędzy próbkami, co prowadzi do opóźnień. W przypadku przetwarzania równoległego wydajność jest na tyle duża, że program jest w stanie wykonać FFT pomiędzy kolejnymi akwizycjami danych.

Różnice są tym większe im szybciej działa przetwornik (rys. 1 i 2). LabVIEW pozwala na dynamiczne alokowanie wątków na poszczególne rdzenie procesora i uniknięcie modyfikacji istniejącej aplikacji. W programie tworzona jest wewnętrzna kopia każdej procedury programu, dla której alokowana jest pamięć programu (reentrant execution).

Optymalizacja aplikacji ze sprzętową pętlą sterowania

Rys. 3. Konfiguracja typowej aplikacji HIL

Drugim rodzajem aplikacji, które są w stanie czerpać korzyści z przetwarzania równoległego, są systemy wykorzystujące wiele przyrządów do równoległych zadań akwizycji i generacji. Najczęściej ta aplikacje nazywane są hardware-in-the-loop (HIL) lub in-line. Przykładowa aplikacja może polegać na akwizycji sygnału przy wykorzystaniu szybkiego oscyloskopu, analizie zebranych danych oraz generacji sygnału wynikowego przy pomocy innego urządzenia. (rys. 3).

Przetwarzanie sygnałów zwykle obejmuje filtrację, interpolację, symulację sensorów i emulację różnych bloków sprzętowych. W aplikacjach HIL korzysta się z dwóch podstawowych technik programistycznych: pojedynczej pętli i struktury potokowej z wieloma pętlami, korzystającej z kolejek. Pierwsza technika zapewnia niskie opóźnienia dla niewielkich paczek danych, natomiast wersja z wieloma pętlami zapewnia większą przepustowość i pozwala czerpać korzyści z możliwości oferowanych przez procesory wielordzeniowe.

Rys. 4. Wydajność przetwarzania równoległych algorytmów wielopętlowych jest wyższa od rozwiązań z pojedynczą pętlą

W pojedynczej pętli akwizycja, obróbka i generacja danych wykonywane są sekwencyjnie, co jest źródłem wielu ograniczeń. Niemożliwe jest jednoczesne wykonanie tych zadań, przez co rozwiązanie to sprawdza się, gdy sygnały w badanym układzie zmieniają się stosunkowo wolno. W architekturze z wieloma pętlami do transferu danych wykorzystywane są kolejki FIFO, do których przetwornik wejściowy (wykonujący ciągłą akwizycję danych) zapisuje kolejne informacje.

Zgromadzone w ten sposób dane są wysyłane kolejno do drugiej pętli. Podejście takie zapewnia większą wydajność, pełne wykorzystanie zasobów sprzętowych procesora i sprawdza się z szybkimi przetwornikami oraz magistralami komunikacyjnymi. Na rysunku 4, na przykładzie filtracji 16-bitowych próbek przy wykorzystaniu filtru Butterwortha, pokazano różnice w wydajności między dwiema omawianymi architekturami.

Oczywiście przy czterech pętlach wzrost wydajności mógłby być jeszcze większy, o ile przetwornik wejściowy i wyjściowy byłyby w stanie dostarczyć dostatecznie dużą ilość danych. Potokowe przetwarzanie danych w aplikacjach HIL wprowadza opóźnienie pomiędzy sygnałem wejściowym a wyjściowym, którego wartość zależy między innymi od szybkości próbkowania i rozmiaru przetwarzanych bloków danych.

Podsumowanie

Modułowy sprzęt pomiarowy, bazujący na standardzie PXI i PXI Express jest w stanie wykorzystać zalety stosowania procesorów wielordzeniowych. Możliwe staje się to tylko wtedy, gdy dysponujemy oprogramowaniem zdolnym w prosty sposób z nich skorzystać. LabVIEW dynamicznie rozdziela zadania między dostępne rdzenie procesora powodując znaczny wzrost wydajności.

David Hall
National Instruments

poland.ni.com

Chcesz częściej widzieć nasze artykuły w Google? Dodaj ElektronikaB2B do ulubionych źródeł
Powiązane treści
Debugowanie procesorów wielordzeniowych
Procesory wielordzeniowe wymagają oprogramowania równoległego
IBM dostarcza najszybszy procesor wielordzeniowy na rynku
Intel wprowadza wielordzeniowe procesory wykonane w technologii 32nm
Wielowątkowość a wielordzeniowość
Intel uhonorował firmę Kontron za rozwój platform wielordzeniowych
Zobacz więcej w kategorii: Technika
Projektowanie i badania
Symulacje elektromagnetyczne w projektowaniu urządzeń elektronicznych
Pomiary
Zobaczyć obiekt oczami radaru, czyli dlaczego potrzebujemy laboratorium do pomiarów RCS?
Projektowanie i badania
Kompatybilność elektromagnetyczna
Elektromechanika
Ewolucja aparatury modułowej - jak nowoczesne przekaźniki odpowiadają na współczesne wyzwania automatyki?
Mikrokontrolery i IoT
Arm Keil MDK v6: ewolucja narzędzi dla programistów systemów wbudowanych
Optoelektronika
Trzy poziomy inteligencji w wyświetlaczach - który wybrać do projektu?
Zobacz więcej z tagiem: Artykuły
Magazyn
Sierpień 2026
Targi zagraniczne
Electronica 2026 - targi i konferencja producentów elektroniki
Targi zagraniczne
Elmässan Stockholm 2026

Kompatybilność elektromagnetyczna

Historia EMC (electromagnetic compatibility) zaczyna się od potrzeby opanowania problemu: co zrobić, gdy jedno urządzenie zaczyna zakłócać pracę drugiego. Miała swój początek wraz z pojawianiem się coraz większej liczby urządzeń elektrycznych wykonujących bardziej złożone zadania. Początkowo problem ten miał charakter niemal przypadkowy, a przybrał rolę istotnego wyzwania technicznego wymagającego systematycznego podejścia. Aktualnie jest to obowiązkowy punkt w produkcji urządzeń elektrycznych oraz elektronicznych.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów