Wykład 5: Mikroprocesory sygnałowe -wstęp: zastosowania i rodziny architektura podstawowe operacje ALU
Zastosowania procesorów sygnałowych - dźwięk obróbka dźwięku: korektory efekty specjalne (echo, pogłos, dodawanie głębi), filtracja usuwanie echa (ang.echo cancellation) (telefony komórkowe, łączność cyfrowa) przetwarzanie dźwięku: zniekształcanie kodowanie (CD, MP3, telefon i radio cyfrowe) rozpoznawanie mowy synteza mowy systemy aktywnego wyciszania (słuchawki obsługi technicznej lotnisk, dźwięk transformatora energetycznego, hałas wentylatora w komputerze PC, ...) echolokacja i lokalizacja bierna: sonary ultradźwiękowe, wykrywanie, lokalizacja i identyfikacja obiektów (przykład „szyk mikrofonów”)
Zastosowania procesorów sygnałowych - obraz obróbka obrazu: regulacja parametrów (barwa, nasycenie,kontrast) „obraz w obrazie” korektory przechwytywanie i zatrzymywanie przetwarzanie obrazu: kodowanie/kompresja (JPG, DIVX) rozpoznawanie obrazów (medycyna, „oczy” robotów) synteza obrazu (w prostszych systemach graficznych) zmiana rozdzielczości, interpolacja
Zastosowania procesorów sygnałowych - sterowanie sterowanie maszyn elektrycznych: wieloosiowe frezarki i tokarki numeryczne nowoczesny napęd pojazdów elektrycznych roboty przemysłowe inne: układy sztucznej inteligencji autopilot układy sterowania ruchu robotów aparatura medyczna kontrola poprawności działania procesów przemysłowych itp. *materiał ze strony http://www.itee.uq.edu.au/~damien/GuRoo/photos.html
frezarka CNC (Computer Numerical Control)
Rodziny procesorów sygnałowych Texas Instruments: stałoprzecinkowe 16-bitowe: TMSC32-2xx zmiennoprzecinkowe 32-bitowe: TMSC320-6xx dedykowane: TMS24xx, TMS28xx Analog Devices: stałoprzecinkowe 16-bitowe: ADSP21xx zmiennoprzecinkowe 32-bitowe: ADSP21xxx dedykowane: ADMCx01, ADMC2199x Motorola: stałoprzecinkowe 24-bitowe: DSP56xxx mikroprocesory z dodatkową jednostką DSP: jednostka MACC, architektura Harvard
Rodziny procesorów sygnałowych Elementy procesora sygnałowego: układy arytmetyczno-logiczne ALU dostosowane do szybkiego wykonywania działań typu mnożenie i dodawanie (jednostka Multiple and Accumulate MACC) operowanie na sygnałach rzeczywistych (stało lub zmiennoprzecinkowych) mechanizmy nasycania wyniku, zaokrąglania mechanizmy do szybkiego indeksowania wektorów (tablic) i macierzy szybka jednostka przesuwająca bity (Shifter) głównie procesory stałoprzecinkowe elementy wejścia i wyjścia (I/O): przetworniki analogowo/cyfrowe i cyfrowo/analogowe, szybkie interfejsy szeregowe, szybka pamięć typu Harvard sprawna jednostka przetwarzająca (CPU) - często zwielokrotnione jednostki ALU
Architektura procesorów sygnałowych Architektura jednego z modeli serii ADSP21xx
Architektura procesorów sygnałowych Rozwój serii 21xx
Architektura procesorów sygnałowych 10 Architektura dedykowanego procesora ADMC-21991
Architektura procesorów sygnałowych Rozwój serii 21xxx
Architektura procesorów sygnałowych Architektura jednego z modeli serii 210xx (Sharc)
Architektura procesorów sygnałowych Architektura modelu serii 211xx (Sharc)
Jednostki obliczeniowe Jednostka ALU (21xx) R = X + Y Add X and Y operands R = X + Y + CI Add X and Y operands and carry-in bit R = X – Y Subtract Y from X operand R = X – Y + CI - 1 Subtract Y from X operand with “borrow” R = Y – X Subtract X from Y operand R = Y – X + CI - 1 Subtract X from Y operand with “borrow” R = – X Negate X operand (twos-complement) R = – Y Negate Y operand (twos-complement) R = Y + 1 Increment Y operand R = Y – 1 Decrement Y operand R = PASS X Pass X operand to result unchanged R = PASS Y Pass Y operand to result unchanged R = 0 (PASS 0) Clear result to zero R = ABS X Absolute value of X operand R = X AND Y Logical AND of X and Y operands R = X OR Y Logical OR of X and Y operands R = X XOR Y Logical Exclusive OR of X and Y operands R = NOT X Logical NOT of X operand (ones-complement) R = NOT Y Logical NOT of Y operand (ones-complement)
Jednostki obliczeniowe Jednostka MAC (21xx) MR=X*Y Multiply X and Y operands. MR=MR+X*Y Multiply X and Y operands and add result to MR register. MR=MR–X*Y Multiply X and Y operands and subtract result from MR register. MR=0 Clear result (MR) to zero.
Jednostki obliczeniowe SHIFTER (21xx) • Arithmetic Shift (ASHIFT) • Logical Shift (LSHIFT) • Normalize (NORM) • Derive Exponent (EXP) • Block Exponent Adjust (EXPADJ)
Warunkowe operacje ALU/ MAC/ Shifter Instrukcje wykonywane warunkowo: IF warunek instrukcja Jednoczesnie wykonywane operacje: ALU, MAC, Shifter, pobranie danej z pamięci programu, pobranie danej z pamięci danych Np.: AR=ABS X0, MR=MR+MX*MY, SR=LSHIFT SI BY -1 MR=MR+MX0*MY0, X0=DM(I1,M1), MX=PM(I0,M0)
Przykład programu
Inne operacje arytmetyczne