Każdy jest innym i nikt sobą samym.

Szybszy zegar to ponadto intensywniejsze wydzielanie ciepła, które trzeba skutecznie odprowadzać.
Dobre wyniki daje zwiększanie liczby rdzeni PPE, zwłaszcza w organizacji li-
niowej. Pomocne może okazać się także wydłużenie potoku, lecz tylko w tych zada-
niach, które wyrazić można jako sekwencję prostych etapów.
Wydajność zyskuje generalnie wskutek przerzucania rozmaitych operacji z opro-
gramowania na specjalizowany sprzęt (na przykład układu ASIC), zwłaszcza w przy-
padku prostych, lecz często wykonywanych operacji jak przeglądanie tablic, obliczanie sum kontrolnych, szyfrowanie itp.
Wreszcie, potencjalna rezerwa tkwi w samych magistralach wewnętrznych —
dodawanie nowych magistral i poszerzanie istniejących skutkuje szybszym przepły-
wem pakietów. Wymiana części pamięci SDRAM na szybszą pamięć SRAM też jest
krokiem w kierunku zwiększenia wydajności — oczywiście krokiem dość kosztownym.
Ograniczyliśmy się z konieczności do wybranych zagadnień związanych z proceso-
rami sieciowymi; spośród bogatej literatury uzupełniającej możemy polecić Czytelnikom prace (Comer, 2005), (Crowley i in., 2002), (Lekkas, 2003) i (Papaefstathiou i in., 2004).
8.2.2. Procesory multimedialne
Drugim ważnym obszarem zastosowań koprocesorów są aplikacje przetwarzające
grafikę wysokiej rozdzielczości oraz strumienie audio i wideo. W chwili obecnej procesory uniwersalne nie są w stanie w pełni sprostać wymogom efektywności, z jaką przetwarzanie to musi się odbywać, wskutek czego większość obecnych komputerów
(i zapewne wszystkie komputery w przyszłości) wyposażana będzie w procesory
multimedialne przejmujące na siebie znaczną część pracy, która bez ich obecności musiałaby być wykonywana w całości przez programowanie.
Wieloprocesor multimedialny Nexperia
Przyjrzyjmy się nieco bliżej konkretnemu przedstawicielowi coraz popularniejszej platformy procesorów multimedialnych, produkowanych dla różnych szybkości zegara
— wieloprocesorowi Nexperia. Jest on jednoukładowym procesorem heterogenicznym, w sensie architektury przedstawionej na rysunku 8.9. Zawiera wiele rdzeni, z których
618
ROZDZIAŁ 8. z ARCHITEKTURY KOMPUTERÓW RÓWNOLEGŁYCH
jednym jest — co ciekawe — procesor VLIW TriMedia, pełniący rolę procesora ste-
rującego; towarzyszą mu liczne rdzenie przeznaczone do obróbki obrazów, audio, wideo i przetwarzania sieciowego. Nexperia może pełnić rolę samodzielnego procesora w odtwarzaczu (nagrywarce) CD, DVD lub MP3, telewizorze, kamerze wideo itp.,
lecz może być także elementem komputera PC jako koprocesor zajmujący się prze-
twarzaniem grafiki i strumieni multimedialnych. W obydwu przypadkach sterowany
jest własnym systemem operacyjnym czasu rzeczywistego.
Wieloprocesor Nexperia wykonywać może zadania trojakiego rodzaju: prze-
chwytywanie strumieni multimedialnych i konwertowanie ich do postaci struktur danych zapisywanych w pamięci operacyjnej, przetwarzanie tych struktur oraz tworzenie odpowiadających tym strukturom strumieni zdatnych do odtworzenia lub przetworze-nia w rozmaitych urządzeniach. I tak na przykład, gdy komputer PC wykorzystywany jest w roli odtwarzacza DVD, Nexperia może być zaprogramowany do odczytu skom-presowanego strumienia z dysku DVD, jego deszyfracji i dekompresji, i wreszcie przekształcenia do postaci umożliwiającej wyświetlenie w oknie aplikacji odtwarzającej.
Wszystkie te czynności mogą być wykonywane w tle, bez angażowania procesora
centralnego od momentu, gdy procesor centralny dokona odpowiedniego zaprogra-
mowania swego koprocesora Nexperia.
Wszystkie nadchodzące dane magazynowane są w pamięci w celu dalszego prze-
twarzania — nie ma bezpośredniego połączenia urządzeń wejściowych z urządzeniami wyjściowymi. Przechwytywanie strumieni wejściowych polega na ich dekodowaniu
z rozmaitych formatów i rozmiarów wideo (m.in. MPEG-1, MPEG-2 i MPEG-4) oraz
formatów audio (m.in. AAC, Dolby i MP3) i konwertowaniu ich w struktury stano-
wiące materiał wyjściowy do dalszego przetwarzania. Owe strumienie wejściowe
mogą pochodzić z magistrali PCI, Ethernetu lub dedykowanych kanałów, na przykład mikrofonu czy też kompletnego zestawu stereo przyłączonego do komputera, a do-kładniej — bezpośrednio do koprocesora. Układ Nexperia posiada 456 wyprowadzeń
(„nóżek” — pins) — niektóre z nich przeznaczone są do bezpośredniego przyłączania do źródeł strumieni multimedialnych.
Przetwarzanie danych sterowane jest przez centralny procesor TriMedia, który
zaprogramować można właściwie dowolnie. Najczęściej wykonywanymi zadaniami
są usuwanie przeplotu ( deinterlacing) w celu poprawienia czystości i wyrazistości obrazu, korekcja jasności, kontrastu i kolorów, skalowanie rozmiarów obrazu, konwersja między różnymi formatami wideo i redukowanie szumów. Procesor centralny działa
zwykle jako centralny koordynator, rozdzielający większość pracy pomiędzy specjalizowane rdzenie.
Funkcjonalność układu Nexperia jako procesora wyjściowego obejmuje m.in.
kodowanie struktur danych do postaci odpowiedniej dla określonych urządzeń ze-
wnętrznych, łączenie danych z kilku źródeł (wideo, audio, obrazy, grafika 2D) i sterowanie urządzeniami zewnętrznymi. Podobnie jak w przypadku strumieni wejściowych, dane wyjściowe mogą być kierowane na magistralę PCI, do Ethernetu lub na dedykowane linie wyjściowe (na przykład do głośników lub wzmacniaczy).