Każdy jest innym i nikt sobą samym.

Sygnał pochodzący z głowicy jest sygnałem analogowym, który w celu jakiejkolwiek obróbki przekształcony musi zostać na postać cyfrową. Po uzyskaniu formy cyfrowej sygnał ten staje się przedmiotem intensywnej korekcji błędów — których
multum pojawia się podczas wytłaczania płyt DVD i które korygowane muszą być
przez oprogramowanie. Sygnał wideo jest sygnałem skompresowanym według stan-
dardu MPEG-2, którego dekompresja wymaga złożonej obróbki (m.in. wyliczania trans-format Fouriera) i koniecznej do tego dużej mocy obliczeniowej. Podobnie sygnał audio skompresowany jest przy użyciu modelu psychoakustycznego i jego dekompresja
wymaga równie skomplikowanych obliczeń. Zdekompresowanie sygnałów audio i wideo
to dopiero połowa roboty, muszą one być bowiem następnie zakodowane w sposób
umożliwiający ich odtworzenie w odbiorniku telewizyjnym działającym w określonym standardzie — NTSC, PAL lub SECAM, zależnie od kraju, w którym odtwarzacz
DVD jest sprzedawany. Powinno być oczywiste, iż wykonanie tych wszystkich funk-
cji w czasie rzeczywistym, przez oprogramowanie pracujące na tanim, uniwersalnym procesorze, jest po prostu niemożliwe. Potrzebne są niejednorodne (heterogeniczne) wieloprocesory zawierające kilka rdzeni wyspecjalizowanych w konkretnych zada-niach. Schemat funkcjonalny przykładowego odtwarzacza DVD przedstawiliśmy na
rysunku 8.9.
Poszczególne rdzenie wieloprocesora użytego w tym odtwarzaczu zaprojekto-
wane zostały do spełniania swych funkcji szczególnie starannie i przy możliwie najniższym koszcie. Przykładowo, strumień wideo DVD kompresowany jest według al-
gorytmu oznaczanego akronimem MPEG-2, od nazwy wynalazców — Motion
Picture Expert Group. Ogólnie rzecz biorąc, algorytm ten dokonuje podziału każdej ramki na bloki pikseli i każdy z tych bloków poddaje skomplikowanym transformacjom5.
5 Bardziej szczegółowy opis algorytmu MPEG znajduje się w książce A.S. Tanenbauma Sieci komputerowe, wyd. Helion, 2004 ( http://helion.pl/ksiazki/siecik.htm) — przyp. tłum.
606
ROZDZIAŁ 8. z ARCHITEKTURY KOMPUTERÓW RÓWNOLEGŁYCH
RYSUNEK 8.9. Struktura logiczna prostego odtwarzacza DVD zawierającego heterogeniczny wieloprocesor wielordzeniowy
Każdą ramkę można następnie wyrazić w postaci sekwencji tak przetransformowa-
nych bloków; zamiast oryginalnego bloku może się jednak pojawić w sekwencji in-
formacja, że bieżący blok jest niemal identyczny (z wyjątkiem niewielkiej liczby pikseli) z blokiem w innej ramce, zajmującym (w tej ramce) pozycję przesuniętą o wektor (Δ x, Δ y) w stosunku do pozycji bieżąco analizowanej (i takie właśnie sytuacje w największym stopniu wpływają na efektywność kompresji). Dekompresja tak zakodowa-
nego strumienia (nie mówiąc już o kompresji) w sposób programowy byłaby niesa-
mowicie powolna6, można jednak skonstruować dekoder sprzętowy wykonujący tę
dekompresję znacznie szybciej. Podobnie ma się rzecz z dekodowaniem sygnału audio i kodowaniem sygnału kompozytowego przeznaczonego do odtworzenia w zwykłym
telewizorze, zgodnie z jednym z przyjętych standardów. Przesłanki te odprowadziły do skonstruowania heterogenicznych, wielordzeniowych wieloprocesorów, z myślą
o ich zastosowaniu głownie w aplikacjach przeznaczonych do obróbki materiałów au-diowizualnych. Ponieważ jednak procesor sterujący takiego wieloprocesora jest zwy-kłym procesorem ogólnego przeznaczenia, można ów wieloprocesor zastosować także
w podobnych warunkach, na przykład w odtwarzaczu DVD.
Innym urządzeniem powszechnego użytku, w którym znalazł zastosowanie wie-
loprocesor, jest telefon komórkowy. Dzisiejsze telefony komórkowe nie są li tylko telefonami sensu stricte, rozszerzane są bowiem o dodatkowe funkcje aparatów cyfrowych, kamer wideo, gier, przeglądarek WWW, klientów poczty elektronicznej, a nawet GPS, wykorzystując jako środek łączności bądź to rodzime technologie telefonii ko-mórkowej (CDMA lub MSG), bądź też bezprzewodowy internet (IEEE 802.11, bar-
dziej znany pod nazwą WiFi). Sprawna realizacja wszystkich tych funkcji, przy za-chowaniu niewielkich gabarytów i niewielkiego ciężaru (jak na urządzenia mobilne przystało), kwalifikuje je w sam raz do realizacji przez specjalizowane rdzenie heterogenicznych wieloprocesorów.
Współczesne układy scalone składają się z kilkuset milionów tranzystorów. Tak
wielka ich liczba eliminuje a priori możliwość projektowania takiego układu metodą
„bramka po bramce, ścieżka po ścieżce”: czasochłonność takiego projektowania
6 Faktycznie, jeszcze dziesięć lat temu można było napisać, że „wymogi dekompresji strumienia MPEG-2 potrafią rzucić na kolana każdy odtwarzacz programowy” (to cytat z jednej z książek wydanej niegdyś przez Helion), dziś jednak programowe odtwarzacze płyt DVD są powszechnie spotykane we wszystkich (niemal) komputerach — przyp. tłum.
8.1. ZRÓWNOLEGLENIE NA POZIOMIE UKŁADU SCALONEGO
607
sprawiałaby, że w momencie ukończenia projekt ten byłby już projektem przestarza-
łym. Jedyną alternatywą jest wykorzystanie gotowych rdzeni, które w analogii do
oprogramowania mogą być uważane jako coś na kształt gotowych bibliotek. Główne

Tematy