Skip to main content

Co to jest przetwarzanie strumienia?

Przetwarzanie strumieni to koncepcja programowania komputerowego i inżynierii komputerowej, której można użyć do projektowania aplikacji i systemów sprzętowych.Po użyciu przetwarzania strumienia dane są uporządkowane do strumieni, które są następnie podawane węzłom lub procesorom, które manipulują danymi w strumieniu, po czym dane kontynuują ścieżkę, aby inne węzły mogły je manipulować.Na końcu strumienia dane są umieszczane w pamięci lub przekazywane do aplikacji użytkownika końcowego do użycia.System lub aplikacja, która wykorzystuje przetwarzanie strumieni, działa najskuteczniej, gdy informacje o strumieniu są konsekwentnie generowane przez jedno lub więcej źródeł, co czyni go skutecznym w zakresie przetwarzania sygnałów cyfrowych (DSP), obrazowania i grafiki lub ruchu sieciowego o wysokiej pasma.Najbardziej rozpowszechnionym praktycznym zastosowaniem przetwarzania strumienia jest produkcja komputerowych kart graficznych, w których procesory strumieniowe są wbudowane w sprzęt graficzny, aby pomóc w wykonywaniu wielu operacji przychodzących danych graficznych, takich jak tablice Vertex.koncepcja danych jako strumienia.Zamiast czerpać informacje z różnych źródeł lub przechwytywanie komunikatów z mechanizmu przerwania, strumień danych powstaje, gdy informacje są zestawiane przez pewien proces w pojedynczym wierszu o nazwie Stream.Elementy danych mogą się różnić, ale strumień ogólnie składa się z bloków tych samych rodzajów elementów, które można przetwarzać sekwencyjnie.

Procesory lub węzły używane w przetwarzaniu strumienia akceptują strumień i wykonaj daną operację danych, po czym po czymDane mogą być przekazywane do innego węzła, aby uzyskać więcej przetwarzania.Aby uzyskać maksymalną wydajność, węzły mają być małymi funkcjami, które są ładowane i wykonywane bezpośrednio na środkowej jednostce przetwarzania (CPU), przy użyciu rejestrów i bezpośredniego dostępu do pamięci (DMA) dla prędkości.Jeśli informacje w strumieniu mogą być samodzielnie i nie są zależne od wyniku operacji jednego węzła, wówczas można wykonywać wiele operacji jednocześnie w strumieniu, jednocześnie dostarczając kompilatora programu z wskazówkami, które mogą pozwolić na bardzo skuteczne optymalizacje.

Przetwarzanie strumienia jest ogólnie dobrym rozwiązaniem dla sytuacji, w których dane są konsekwentnie generowane i wciśnięte do strumienia przez aplikację lub urządzenie, takie jak aparat, czujnik zewnętrzny lub połączenie sieciowe.Wiele kart graficznych używa procesorów strumieniowych do szybkiego przekształcenia danych przez rurociąg graficzny w renderowany, rasteryzowany obraz.Niektóre karty graficzne mają wiele procesorów lub węzłów wbudowanych w sprzęt karty, więc przetwarzanie strumienia może nastąpić szybko i czasem jednocześnie, ponieważ często jest pożądane, gdy sodniki są używane do grafiki trójwymiarowej (3D).