9.2. PROCESORY I UKŁADY LOGICZNE
Klasyczne procesory
nie są zasadniczo dostosowane do wymogów cyfrowej obróbki sygnałów - różnią się od
procesorów sygnałowych architekturą, wyposażeniem w rejestry i zbiorami rozkazów.
Konstrukcja procesorów sygnałowych jest dostosowana do wykonywania tej ściśle
określonej grupy zadań dzięki czemu osiągają one znacznie wyższe szybkości
przetwarzania.
W odróżnieniu od rozpowszechnionej architektury Von Neumanna
(charakteryzującej się wspólnym obszarem adresowym programu i danych), procesory
sygnałowe wyposażone są w oddzielne szyny danych i rozkazów (a co za tym idzie
oddzielne obszary adresowe), najczęściej 16- lub 32-bitowe a nieraz nawet szersze.
Architektura ta znana jest pod nazwą architektury Harvard. W zależności od konstrukcji
procesora sygnałowego rozróżnianych jest kilka wariantów architektury Harvard.
W najprostszym przypadku oddzielne szyny służą do komunikacji jedynie z pamięcią
wewnętrzną, a na zewnątrz wyprowadzona jest szyna kombinowana - jest to tzw.
ograniczona archtektura Harvard. W najnowszych generacjach procesorów stosowana
bywa także rozszerzona architektura Harvard: ze względu na to, że większość
operacji wymaga wprowadzenia dwóch operandów, procesory wyposażone są nie w
jedną, a w dwie niezależne szyny danych. Procesory sygnałowe zawierają dodatkowo
wewnętrzne układy sumatorów, przesuwników i mnożące. Układy te zastępują
mikroprogram odpowiedzialny za dekodowanie i wykonywanie rozkazów w zwykłych
układach mikroprocesorów. Dzięki temu większość rozkazów może być wykonana w
trakcie pojedyńczego cyklu sygnału zegarowego.
Struktura wewnętrzna procesorów sygnałowych jest bardziej
skomplikowana, a rozmiary obszarów adresowych - mniejsze niż w przypadku zwykłych
procesorów. W wielu przypadkach pamięć robocza ma pojemność tylko kilku tysięcy słów.
Dla zwiększenia szybkości pracy i zmniejszenia liczby połączeń zewnętrznych pamięć
RAM, a także pamięć stała ROM (lub EPROM) jest scalona we wspólnym obwodzie z
jednostką centralną CPU. W przypadku konieczności dołączenia pamięci zewnętrznej
czasy dostępu do niej są dłuższe niż czasy dostępu do pamięci wewnętrznej nawet
jeżeli na zewnątrz wyprowadzone są obie szyny występujące w architekturze Harvard.
Z tego też powodu stosuje się często ładowanie programu (lub jego części) z
zewnętrznej pamięci stałej EPROM do pamięci wewnętrznej. W wielu układach konieczne
jest też użycie dodatkowego zwykłego mikroprocesora sterującego pracą procesora
sygnałowego i obsługującego wskaźniki i elementy regulacyjne (klawiaturę,
przełączniki).
Mała (w porównaniu ze zwykłymi mikroprocesorami) pojemność
pamięci nie powinna dziwić ponieważ większość algorytmów COS daje się przedstawić w
stosunkowo prostej postaci. Jest to zresztą konieczne ze względu na ich dużą
częstotliwość powtarzania. Algorytmy COS muszą być wykonywane cyklicznie dla
każdej próbki.
Dla przyspieszenia pracy jednostki centralne (ang. arithmetic
logic unit - ALU) wyposażone są w większe ilości rejestrów, które mogą pełnić funkcje
akumulatorów - tzn. zawierać zarówno dane wyjściowe jak i wyniki przeprowadzonych na
nich operacji. Oprócz tego jednostki centralne zawierają dłuższe lub krótsze bufory
dla rozkazów (bufory FIFO), pamięci buforowe (ang. cache) i przełącznikowe rejestry
przesuwne (ang. barrel shifter). W przeciwieństwie do sposobu przesuwu danych
spotykanym w klasycznych mikroprocesorach czy układach logicznych i polegającym na
cyklicznym przesuwaniu o jeden bit stosowane tu jest łączenie pożądanych komórek
(pozycji) przez przełącznik elektroniczny i przeładowanie wartości w trakcie
pojedyńczego cyklu zegarowego. Często w skład wyposażenia jednostki centralnej
wchodzą specjalne układy mnożące - operacje mnożenia i dzielenia są najbardziej
czasochłonne i przyspieszenie ich daje zauważalne różnice w wypadkowej szybkości
przetwarzania.
Szybkości przetwarzania procesorów sygnałowych wynoszą od
kilkudziesięciu do kilkuset milionów operacji na sekundę. Początkowo były to głównie
procesory stałoprzecinkowe, obecnie przeważają procesory zmiennoprzecinkowe.
Wiele typów procesorów wyposażonych jest w większą liczbę
złączy pozwalających na łączenie ich w systemy wieloprocesorowe o strukturach dwu-
i trójwymiarowych w postaci pierścieni, siatek czy komórek. Oddzielne złącza
przeznaczone są do komunikacji ze sterującymi pracą systemu
mikroprocesorami.
Niektóre typy procesorów wyposażone są w przetworniki
analogowo-cyfrowe i cyfrowo-analogowe CODEC lub specjalne złącza do komunikacji
z przetwornikami zewnętrznymi. Czasami spotyka się też wewnętrzne układy cyfrowych
pętli synchronizacji fazy - PLL.
Do najbardziej znanych producentów procesorów sygnałowych
należą Analog Devices, Texas Instruments, Motorola, NEC i Philipps.