Top Banner
Adam Korzeniewski [email protected] p. 732 - Katedra Systemów Multimedialnych
34

Procesor sygnałowy i różne architektury PS

Jan 11, 2017

Download

Documents

hoangnguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Procesor sygnałowy i różne architektury PS

Adam Korzeniewski [email protected] p. 732 - Katedra Systemów Multimedialnych

Page 2: Procesor sygnałowy i różne architektury PS

Komputer (elektroniczna maszyna cyfrowa) jest to maszyna programowalna. Maszyna programowalna ma dwie cechy: Reaguje w ściśle określony sposób na każdą z instrukcji (dla

każdego komputera istnieje zbiór instrukcji) Jest w stanie wykonać program, czyli wykonać instrukcje w

zadanej kolejności

Zakres zastosowań komputerów jest bardzo duży. Najbardziej ogólnie zastosowania komputerów to dwa obszary: manipulacja danymi obliczenia matematyczne

Page 3: Procesor sygnałowy i różne architektury PS

Manipulacja

danymi

Obliczenia

matematyczne

Typowe

zastosowania

Główne

operacje

przenoszenie danych BA

testowanie wartości thenBAif

głównie operacje logiczne głównie operacje arytmetyczne

mnożenie CBA

dodawanie CBA

Edytory tekstu,

zarządzanie bazami danych,

arkusze kalkulacyjne,

itd.

Obliczenia naukowe,

symulacje inżynierskie,

cyfrowe przetwarzanie sygnałów,

itd.

Page 4: Procesor sygnałowy i różne architektury PS

Komputer ogólnego przeznaczenia składa się z: Jednostki centralnej (CPU – Central Processor Unit). Jest to zasadnicza

część komputera, jego serce, w którym są wykonywane instrukcje Pamięci, która pozwala komputerowi przynajmniej na pewien czas

magazynować dane i programy. Pamięci masowej, która pozwala komputerowi przechowywać w sposób

trwały ogromną liczbę danych. W szczególności są to tzw. dyski twarde. Urządzeń wejściowych. W szczególności jest to klawiatura i mysz

elektroniczna, które pozwalają wprowadzać dane i instrukcje do komputera.

Urządzenia wyjściowe. W szczególności jest to monitor ekranowy i drukarka, które pozwalają wyprowadzać wyniki obliczeń.

Page 5: Procesor sygnałowy i różne architektury PS

Mikroprocesor (w skrócie μP) jest synonimem (zwłaszcza dla komputera PC) jednostki centralnej (CPU – Central Processor Unit) wykonanej w postaci krzemowego chipu (monolitycznego układu scalonego) o powierzchni od do w cenie od 3$ do 300$. Już zakres podanych wartości wskazuje jak różne mogą być mikroprocesory, np. 32-bitowe lub 64-bitowe. Każdy komputer zawiera najmniej jeden mikroprocesor. Trzy właściwości charakteryzują mikroprocesor: Zbiór instrukcji, które mikroprocesor może wykonać Liczba bitów przetwarzanych w jednej instrukcji Częstotliwość zegara w MHZ decydująca o tym ile instrukcji na

sekundę może wykonać mikroprocesor

Page 6: Procesor sygnałowy i różne architektury PS

CPU Np. pamięć

Np. I/O porty

Mikroprocesor

Page 7: Procesor sygnałowy i różne architektury PS

Mikrokontroler jest krzemowym chipem (monolitycznym układem scalonym o dużej skali integracji) zawierającym oprócz CPU inne składniki, zwłaszcza kontrolery, składające się na miniaturowy komputer. Kontrolerem nazywamy urządzenie, które steruje transmisją danych z komputera do lub z urządzenia peryferyjnego. Mikrokontroler składa się zazwyczaj z CPU, RAM, ROM, I/O portów, zegara.

Page 8: Procesor sygnałowy i różne architektury PS

CPU

Pamięć

I/O porty

Mikrokontroler

Page 9: Procesor sygnałowy i różne architektury PS

Procesor sygnałowy (ang. Digital Signal Processor) jest mikroprocesorem zoptymalizowanym do cyfrowego przetwarzania sygnałów, ich detekcji i generowania. Cechy charakterystyczne: zdolność do przetwarzania sygnałów w czasie

rzeczywistym oddzielne pamięci programu i danych (architektura

harwardzka) możliwość jednoczesnego odczytu instrukcji i danych

Page 10: Procesor sygnałowy i różne architektury PS

Cechy charakterystyczne: zdolność wykonywania operacji superskalarnych, głównie

sprzętowym dostosowaniem do obliczania sumy iloczynów, jako operacji najczęściej wykonywanej w cyfrowym przetwarzaniu sygnałów ( filtry FIR, IIR, transformacja FFT, korelacja, autokorelacja)

potokowe przetwarzanie instrukcji (ang. pipelining)

Page 11: Procesor sygnałowy i różne architektury PS

Pierwszym procesorem sygnałowym był Intel 2920 wyprodukowany w 1979 r. Obecnie powszechnie stosowane, znajdują się np. w każdym telefonie komórkowym, każdym odtwarzaczu MP3. Rynek procesorów sygnałowych w przybliżeniu podwaja się co 2-3 lata.

Stale rosnąca powszechność procesorów sygnałowych jest ściśle związana z wypieraniem analogowego przetwarzania sygnałów na rzecz cyfrowego przetwarzania sygnałów.

Page 12: Procesor sygnałowy i różne architektury PS

Duża precyzja, stąd duża przewidywalność systemów cyfrowych

Stałość w funkcji temperatury i starzenia się Kontrolowane akumulowanie się szumów Koszt hardwaru mało zależny od stopnia

złożoności Łatwa modyfikacja systemu (poprzez zmianę

programu)

Page 13: Procesor sygnałowy i różne architektury PS

Łatwa symulacja systemu Łatwiejsze znalezienie błędów, stąd krótki

czas stworzenia systemu Prostsze urządzenia (mniejszy koszt i większa

niezawodność) Możliwość wykonywania takich operacji na

sygnale, które są niemożliwe lub niepraktyczne w systemie analogowym

Page 14: Procesor sygnałowy i różne architektury PS

Konieczność spełnienia założeń twierdzenia o próbkowaniu

Niedogodny kształt widma sygnałów cyfrowych

Ograniczony zakres dynamiczny Szum kwantowania Błędy zaokrągleń

Page 15: Procesor sygnałowy i różne architektury PS

Filtry cyfrowe Splot Korelacja Przekształcenie Hilberta Szybka transformata Fouriera Filtry adaptacyjne Okienkowanie Generowanie sygnałów

Page 16: Procesor sygnałowy i różne architektury PS

Obrót 3D Transmisja obrazów Kompresja obrazów Sztuczny wzrok, widzenie robotów Rozpoznawanie wzorców (ang. pattern

recognition) Homomorficzne przetwarzanie Mapy cyfrowe Animacja

Page 17: Procesor sygnałowy i różne architektury PS

Analiza widmowa Generowanie funkcji Przetwarzanie sygnałów sejsmicznych Analiza stanów przejściowych Pętle fazowe PLL

Page 18: Procesor sygnałowy i różne architektury PS

Poczta głosowa Wokodery (ang. vocoding), kodowanie mowy Rozpoznawanie głosu Weryfikacja rozmówcy Wzbogacanie mowy i dźwięku Synteza mowy Mówienie tekstu

Page 19: Procesor sygnałowy i różne architektury PS

Sterowanie dyskiem Sterowanie serwomechanizmem Sterowanie robotem Sterowanie drukarką laserową Sterowanie silnikiem

Page 20: Procesor sygnałowy i różne architektury PS

Utajnienie połączeń telekomunikacyjnych Radar Sonar Przetwarzanie obrazów Nawigacja Naprowadzanie pocisków

Page 21: Procesor sygnałowy i różne architektury PS

Sterowanie silnikiem Analiza wibracji Hamulce antypoślizgowe Adaptacyjne sterowanie jazdą Nawigacja GPS Komendy głosowe

Page 22: Procesor sygnałowy i różne architektury PS

Wykrywacze radaru Sprzęt cyfrowy audio/TV Syntezatory muzyczne Zabawki edukacyjne Modele zdalnie sterowane

Page 23: Procesor sygnałowy i różne architektury PS

Robotyka Sterowanie numeryczne Monitorowanie linii wysokiego napięcia Zabezpieczenia dostępu

Page 24: Procesor sygnałowy i różne architektury PS

Aparaty słuchowe Monitorowanie pacjenta Ultrasonografia Tomografia Narzędzia diagnostyczne Protetyka Monitorowanie zanieczyszczeń, zapachów

Page 25: Procesor sygnałowy i różne architektury PS

Eliminowanie echa Transkodery ADPCM (Adaptive Differential

Pulse Code Modulation) Stacje przekaźnikowe Zwielokrotnienie kanałów Adaptacyjne korektory DTMF (Dual-Tone Multi-Frequency), tonowe

wybieranie numerów telefonicznych Szyfrowanie FAX Telefonia komórkowa Wideokonferencje

Page 26: Procesor sygnałowy i różne architektury PS

Architektura von Neumanna to pierwszy rodzaj architektury komputera, opracowanej w 1945 roku. Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z instrukcjami, co sprawia, że są kodowane w ten sam sposób. Cechy charakterystyczne: pamięć komputerowa przechowuje dane programu oraz

instrukcje programu, każda komórka pamięci ma unikatowy identyfikator nazywany jej adresem

jednostka centralna jest odpowiedzialna za pobieranie danych i instrukcji z pamięci oraz ich sekwencyjne przetwarzanie, a także za wykonywanie podstawowych operacji arytmetycznych.

Page 27: Procesor sygnałowy i różne architektury PS

Super Harvard Architecture (dual memory, instruction cache, I/O controller)

Harvard Architecture (dual memory)

Von Neumann Architecture (single memory)

Program

Memory

instructions

and

secondary

data

CPU Data

Memory

data only Instruction

Cache

I/O

Controller

data

PM address bus DM address bus

PM data bus DM data bus

Program

Memory

instructions

only

CPU

Data

Memory

data only

PM address bus DM address bus

PM data bus DM data bus

Memory

data and

instructions

CPU

address bus

data bus

Page 28: Procesor sygnałowy i różne architektury PS

Wykonanie programu komputerowego, to wykonanie sekwencji instrukcji. Instrukcję można przedstawić jako 5 bloków (stopni), każdy wykonywany w 1 cyklu zegara. Bloki oznaczymy literami F, D, E, A, S (pierwsze litery nazw w języku angielskim).

Page 29: Procesor sygnałowy i różne architektury PS

pobranie

instrukcji

z pamięci

(ang. instruction

fetch)

dekodowanie

instrukcji

(ang. instruction

decode)

wykonanie

instrukcji

(ang. instruction

execute)

otwarcie

dostępu

do pamięci

(ang. memory

access)

zapisanie

wyniku

wykonania

instrukcji

(ang. store,

write back)

ALUF D

E

SA

Page 30: Procesor sygnałowy i różne architektury PS

W zwykłym (niepotokowym) przetwarzaniu najpierw wykonuje się bloki pierwszej instrukcji, następnie drugiej instrukcji, itd. Wyniki wykonania kolejnych instrukcji są zapisywane co 5 cykli zegara.

Przetwarzanie niepotokowe

Clock cycle

Instr. 1

1 2 3 4 5 6 7 8 9

1F

2F

1D

2D

1S1E

2E

1A

Instr. 2 2A 2S

10

Page 31: Procesor sygnałowy i różne architektury PS

Procesor sygnałowy ma logikę przystosowaną do wykonywania wszystkich bloków jednocześnie, dzięki czemu jest możliwe przetwarzanie potokowe. Począwszy od 5-go cyklu zegara wykonywanych jest 5 bloków jednocześnie, każdy dla innej, kolejnej instrukcji. Wyniki S1, S2, ... są dostępne w kolejnych cyklach zegara (5-tym, 6-tym, itd.), a nie po co 5-tym cyklu zegara, jak to było w przetwarzaniu niepotokowym.

Page 32: Procesor sygnałowy i różne architektury PS

Potencjalnie jest możliwe 5-cio krotne zwiększenie prędkości obliczeń. Niestety trzeba z góry przewidzieć sytuacje konfliktowe, hazard (w literaturze naukowej wymienia się kilkadziesiąt takich sytuacji). Na przykład w przypadku instrukcji skoku, w najgorszym przypadku trzeba wycofać instrukcje, które następowały po instrukcji skoku i rozpocząć zapełnianie potoku od adresu, do którego nastąpił skok.

Page 33: Procesor sygnałowy i różne architektury PS

Przetwarzanie potokowe

Clock cycle

Instr. 1

1 2 3 4 5 6 7 8 9

1F

2F

3F

1D

2D

3D

1E

2E

3E

4E

5E

4D

5D

4F

5F

10

Instr. 2

Instr. 3

Instr. 5

Instr. 4

1A 1S

2A

3A

4A

5A

2S

3S

4S

5S

Instr. 6

6F 6D 6E 6A 6S

Page 34: Procesor sygnałowy i różne architektury PS

KONIEC