78
Procesori

Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Procesori

Page 2: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Princip ekvivalentnosti

hardvera i softvera

• Moguće je isti algoritam implementirati na različitim platformama (procesor računara, signal procesor, digitalna logička kola, programabilni FPGA čipovi)

• Sve što može da se uradi hardverommože da se uradi i softverom

• Sve što može da se uradi softverom može da se uradi i hardverom

• Poznavanje arhitekture procesora ili FPGA čipova pomaže da se napravi bolji algoritamkoji radi brže, tačnije i pouzdanije

Page 3: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Implementacija

hardverom ili softverom?

• Softverska implementacija odlikuje se

velikom fleksibilnošću, malom brzinom rada,

nije pogodna za primene u realnom vremenu

• Hardverska implementacija se

odlikuje vrlo velikom brzinom rada i malom

fleksibilnošću realizacije,

jer se za svaku izmenu u algoritmu

zahteva izmena hardvera

• Savremeni sistemi za obradu signala najčešće

kombinuju i jedan i drugi način

Page 4: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

I hardver i softver

Page 5: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FPGA ili DSP?

Page 6: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Fon Nojmanova (John Von

Neumann) arhitektura

• Arhitektura “klasičnih” procesora opšte namene

Procesor

Adresna magistrala

Magistrala podataka

Memorija

Page 7: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Arhitektura DSP procesora –

organizacija memorije• Harvard arhitektura

• Različiti proizvođačina različite načinerealizuju Harvardkoncept

• Višefunkcionalnenaredbe

• Integrisani množač

• Množenje i akumuliranje

tipična instrukcija

Procesor

Adresna magistrala 1

Magistrala podataka 1

Magistrala podataka 2

Adresna magistrala 2

Memorija 1 Memorija 2

XYRR

Page 8: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Arhitektura memorije

Page 9: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Pristup eksternoj memoriji

• Ako bi se na savremenom

mikroprocesoru striktno primenila

Harvard arhitektura, broj

magistrala, a time i kontakata

DSP mikroprocesora, postao bi

jako veliki

• Zbog toga se izvestan deo

memorije integriše u okviru

samog procesorskog čipa, a

ostatak memorije je organizovan

kao spoljašnja (eksterna)

memorija

• Potrebna je dodatna kontrolna

jedinica koja reguliše prenos

podataka do eksterne memorije

kontrolna

logika

eksterne

memorije

Adresna magistrala 1

Magistrala podataka 2

Magistrala podataka 1

Adresna magistrala 2 ekesterna

adresna

magistrala

ekesterna

magistrala

podataka

readwrite

programdata

ready

Page 10: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Pristup eksternoj memoriji

• Algoritmi obrade signala su najčešće takvi da podrazumevaju da se niz istih instrukcija ponavlja na velikom broju ulaznih podataka.

• Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja procesora.

• Da bi se izbeglo često učitavanje iz memorije jedne iste instrukcije ili bloka instrukcija, u procesor se uvodi keš (cache) memorija u koju se smešta tekući segment programa pri njegovom prvom učitavanju.

• Broj i tip instrukcija koje će biti smeštene u ovu memoriju prilagođen je arhitekturi samog procesora.

Page 11: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Pristup eksternoj memoriji

• Na primer, kod određenog broja procesora koji se baziraju na modifikovanoj Harvard arhitekturi u kojoj je jedan od dva memorijska bloka zajednički za instrukcije i podatke, u keš se po pravilu upisuju samo instrukcije koje zahtevaju pristup podacima koji se nalaze u programskom bloku. Na taj način se prevazilazi potreba da se tom memorijskom bloku pristupa dva puta u toku jednog instrukcionog intervala.

Page 12: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Adresiranje

• Različiti procesori podržavaju razne tipove

adresiranja. Direktno adresiranje podrazumeva

da je adresa operanda kome se želi pristupiti

upisana u samu instrukciju

• direktno adresiranje zahteva nepraktično

dugačke zapise pojedinih instrukcija.

• Zbog toga se u DSP procesorima češće koriste

razne vrste indirektnog adresiranja.

Page 13: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Adresiranje

• Na primer, ADSP-2181 ima dva adresna

generatora, DAG1 i DAG2.

• Adresni generatori su međusobno nezavisni,

mogu da generišu adrese simultano i na taj

način se omogućava istovremeni pristup i

programskoj memoriji i memoriji za smeštanje

podataka.

• DAG1 podržava bit-inverzno adresiranje, koje

se koristi u pregrupisavanju podataka u FFT

(Fast Furier Transform) algoritmu.

Page 14: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Adresiranje

• Oba adresna generatora imaju po četiri seta registara.

Svaki set se sastoji od I registra, L registra i M registra.

• U I registar se smešta izračunata adresa operanda

kome treba pristupiti.

• U M registru se čuva vrednost kojom se ažurira I

registar.

• L registar obezbeđuje pravilno pomeranje kroz bafer.

• Baferi mogu biti linearni i kružni.

• Postavljanjem odgovarajuće vrednosti u L registar

omogućava se jednostavna manipulacija sa nizovima

podataka kojima treba pristupati u sukcesivnim

instrukcijama.

Page 15: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Adresiranje

• Na primer, kod implementacije FIR filtra,

• Pogodno je definisati dva kružna bafera, u

svakom memorijskom bloku po jedan, od kojih

bi jedan sadržao koeficijente impulsnog odziva

filtra a drugi bi predstavljao liniju za kašnjenje.

• Kružnom baferu u kome se čuvaju odbirci

ulaznog signala se pridružuju dva pokazivača

od kojih se jedan koristi u fazi upisivanja

trenutnog odbirka a drugi u fazi računanja

izlaznog odbirka.

Page 16: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Adresiranje

• Prvi pokazivač se pomera za jedno mesto kada se noviodbirak upisuje u bafer pa se odbirak x(n) upisuje nmesto odbirka x(n-N-1) koji više ne figuriše u izrazu zaračunanje izlaznog odbirka.

• Drugi pokazivač se, za svaki odbirak ulaznog signalapomera, član po član, kroz ceo bafer počevši od mestakoje odgovara odbirku x(n).

b0 b1 bi-1 bi bi+1 bN-2 bN-1

pokazivač za upis

pokazivač za čitanje

Page 17: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Sekcija za kontrolu toka

programa

• Ova sekcija se sastoji od instrukcijskog registra

(Instruction Register) i kontrolne jedinice (Program

Sequencer) koja računa adresu sledeće instrukcije koju

treba učitati iz programske memorije u instrukcijski

registar.

• Program sequencer je složeno logičko kolo koje

omogućava korektno izvršavanje programskih celina a

da se pri tome ne gubi dodatno vreme na računanje

adrese sledeće instrukcije koju treba izvršiti.

Page 18: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Instrukcije

• računske instrukcije (aritmetičke ili logičke)

• instrukcije koje premeštaju podatke

• instrukcije za kontrolu toka

• višefunkcionalne instrukcije

Page 19: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Protočnost instrukcija

• Protočnost instrukcija (pipelining) je kada se simultano izvršavaju faze- učitavanja instrukcije- dekodovanje instrukcije- učitavanja operanda - izvršavanja instrukcije

• Moguće je ako se ne odnose na istu instrukciju jer angažuju različite funkcionalne blokove

Page 20: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Metode rešavanja konflikta

protočnosti

• Konflikti nastaju usled simultanog

izvršavanja delova više instrukcija

• Rešenja:

1. Blokiranje

2. Vremenski stacionarno kodovanje

3. Kodovanje sa stacionarnim podacima

Page 21: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Vremenski stacionarno

kodovanje• Time stationary coding

• Eksplicitno se specificiraju sve operacije koje treba da se simultano izvrše tokom jednog instrukcijskog ciklusa

• Instrukcija specificira simultane a ne sekvencijalne operacije učitavanja operanda i izvršenja instrukcije

• Protočnost je u stvari paralelizam

MAC X0,Y0,A X:(R0)+,X0 Y:(R4)-,Y0

P MEM

X MEM

Y MEM

ARITHM

ciklusInstrukcijskiaritmetička

instrukcija operandi za sledeću instrukciju

Page 22: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Kodovanje sa stacionarnim

podacima

• U jednoj instrukciji se specificiraju sve operacije koje treba uraditi sa operandima iz memorije

• Instrukcija specificira šta se događa sa podacima, a ne šta se dešava u određenom vremenskom trenutku

1. Kada se akumulator koristi kao operand množača, vrednost akumulatora mora biti poznata tri instrukcije ranije

2. Kada se rezultat upisuje u memoriju, nova vrednost memorijske lokacije ne sme se koristiti naredna četiri instrukcijska ciklusa

Page 23: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Višefunkcijske instrukcije

• ALU/MAC/SHIFT sa učitavanjem iz memorije

• ALU/MAC/SHIFT sa premeštanjem operanda iz

registra u registar

• ALU/MAC/SHIFT sa upisivanjem u memoriju

• učitavanje iz programske memorije i memorije

za podatke

• ALU/MAC sa učitavanjem iz programske

memorije i memorije za podatke

Page 24: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

ADSP-2181(1)

• 33 MIPS

• Aritmetika fiksne tačke, 16-to bitni podaci

• U procesoru su integrisani:

– aritmetičko-logička jedinica,

– množač/akumulator,

– šifter.

• Memorija

– 80 K bita -16 K reči (24-bit) programskog

RAM-a

– 16 K reči (16-bit) RAM-a data RAM-a.

Page 25: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

ADSP-2181(2)

DAG1 DAG2

INSTRUCTION

REGISTER

PROGRAM

SEQUENCER

BUS

exchangeMUX

MUX

PROGRAM

SRAM

16k x 24

DATA

SRAM

16K x 16

internal

DMA

port

companding

circuitry

FLAGS

programmable

I/OBYTE

DMA

CONTROLLER

TIMER

power

down

control

logic

INTERRUPTS

ALU

output regs

SHIFTMAC

input regs

output regs output regs

input regsinput regs

transmit reg

SERIAL

PORT 1

receive reg

transmit reg

SERIAL

PORT 0

receive reg

14

14

24

16

16

2

8

3

14

16

455

24

PMA

BUS

DMA

BUS

PMD

BUS

DMD

BUS

PMA

BUS

DMA

BUS

PMD

BUS

DMD

BUS

EXTERNAL

ADDRESS

BUS

EXTERNAL

DATA

BUS

Page 26: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

ADSP-2181(3)

• U svakom ciklusu procesor može da:

– generiše sledeću programsku adresu,

– “dovuče” sledeću instrukciju,

– premesti jedan ili dva podatka,

– ažurira jedan ili dva adresna pokazivača,

– izvrši jednu od računskih operacija.

MAC ALU ŠIFTER

PMD

DMD

R

16

24

1616

1616 16

16 16 16

16

Page 27: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

MAC

MUX

MXREGISTERS 2x16

MYREGISTERS 2x16

MUX

MUX

MUX

MULTIPLIER

1616 (upper)

16 16

16 R-BUS

24PMD BUS

DMD BUS

MFREGISTER

ADD/SUBTRACT

MUX MUX

MR0REGISTER

MR1REGISTER

MR2REGISTER

M

U

X

X Y

P

R2 R1 R0MV

16 16

16

8

3240

Page 28: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

ALU

MUX

AXREGISTERS 2x16

AFREGISTER

ARREGISTER

AYREGISTERS 2x16

MUX

MUX

MUX

ALU

AZAN

ACAV

ASAQ

CI

R

X Y

1616 (upper)

16 16

1616

16 R-BUS

24PMD BUS

DMD BUS

Page 29: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Pomerač

MUX

MUX

MUX

MUX

MUX

MUX MUX

SBREGISTER

SR1REGISTER

SIREGISTER

SEREGISTER

SR0REGISTER

COMPARE

NEGATE

EXPONENT

DETECTOR

SHIFTER

ARRAY

OR/PASS

HI/LO

SS

From

INSTRUCTION

I XR

CO

DMD BUS

R - BUS 16

16 16

16 16

16

3232

8

X

8

Page 30: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

TMS320C25

Page 31: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

TMS320C30

Page 32: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

TMS320C30

Page 33: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Blackfin

Page 34: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Blackfin

Page 35: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Programiranje ADSP-2181

procesora

• računske instrukcije (aritmetičke ili logičke)

• instrukcije koje premeštaju podatke

• instrukcije za kontrolu toka

• višefunkcionalne instrukcije

Page 36: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Višefunkcijske instrukcije

• ALU/MAC/SHIFT sa učitavanjem iz memorije

• ALU/MAC/SHIFT sa premeštanjem operanda iz

registra u registar

• ALU/MAC/SHIFT sa upisivanjem u memoriju

• učitavanje iz programske memorije i memorije

za podatke

• ALU/MAC sa učitavanjem iz programske

memorije i memorije za podatke

Page 37: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Razvoj softvera i hardvera

Page 38: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Razvoj softvera i hardvera

• Svi proizvođači procesora za obradu signala u

većoj ili manjoj meri obezbeđuju alate koji

olakšavaju razvoj softvera i hardvera koji se

zasniva na nekom konkretnom procesoru.

• Pored podrške za programiranje u višim

programskim jezicima, koja podrazumeva i

postojanje biblioteka sa gotovim programima za

tipične algoritme obrade signala, razvoj

ozbiljnijih sistema baziranih na procesoru za

obradu signala zahteva čitav niz pomoćnih alata.

Page 39: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Simulator

• Simulator je programski paket koji omogućava da se korisnički program koji je asembliran i linkovan testira pre puštanja na konkretnom sistemu.

• Simulator omogućava da se program izvršava korak po korak, da se prate i menjaju stanja svih registara i sadržaja memorije i ostale informacije koje bi ukazale na neregularnosti u programu.

• Bolji simulatori imaju i dobro urađene grafičke interfejse koji omogućavaju bolji uvid u sadržaj memorije i registara. Pomoću simulatora je ipak teško sagledati probleme do kojih bi moglo da dođe u sistemima koji rade u realnom vremenu.

Page 40: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Evaluacioni modul

• Evaluacioni moduli su dizajnirani od strane proizvođača prema zahtevima tipičnih algoritama obrade signala.

• Prave se kao nezavisne jedinice koje se mogu povezati sa računarom opšte namene ili nekim drugim uređajem.

• Pomoću jednostavnog monitorskog programa kontroliše se rad jednog ovakvog modula.

• Iz tog koncepta su se razvili razni moduli za razvoj softvera. To su ploče koje na sebi najčešće pored procesora, imaju integrisane standardne periferijske jedinice. Na taj način se dobija jednostavan kompletan sistem koji se lako povezuje sa računarom opšte namene. Takav pristup omogućava da se program testira u uslovima rada u realnom vremenu a da se pri tome ne vodi računa o dizajnu hardvera.

Page 41: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Emulator

• Emulator omogućava potpuno testiranje

kompletnog dizajniranog hardvera i

odgovarajućeg softvera.

• Slično kao kod simulatora moguć je uvid u

sadržaj memorije i registar i unošenje novih

vrednosti. Program se izvršava iz memorije

projektovanog sistema, testiranje se obavlja u

uslovima rada u realnom vremenu. Kod

savremenih procesora emulacija se obavlja tako

što se rad procesora kontroliše i prati preko za to

predviđenih spoljašnjih kontakata.

Page 42: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Real-time spektralna analiza

signala

ADSP-2181

Page 43: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

DFT i FFT1

Diskretna Furijeova transformacija DFT definiše se kao

gde su:

x(n) odbirci signala,

rotacioni faktori.

Ovako definisana DFT zapravo predstavlja diskretizaciju Furijeove transformacije, pri čemu su dobijeni ekvidistantni odbirci X(k).

1...,1,0,1

0

NkWnxkXN

n

nk

N

Nj

N eW 2

Page 44: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

DFT i FFT2

Odgovarajuća inverzna transformacija je:

i računa se praktično po istom algoritmu kao i DFT.

1...,1,0,1

1

0

NnWkxN

nx

N

k

nkN

Page 45: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

DFT i FFT3

Ako se DFT računa direktno po definiciji, ukupan broj računskih operacija u opštem slučaju je:

N2 kompleksnih množenja i

N2 kompleksnih sabiranja

za ulazni niz dužine N.

Za off-line obrade ovako veliki broj računskih operacija ne predstavlja problem, ali ako se DFT koristi za analizu signala u realnom vremenu onda je potrebno na neki način povećati efikasnost algoritma.

Page 46: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

DFT i FFT4

Zbog izuzetno velikog značaja DFT algoritma u digitalnoj obradi signala razvijali su se i dalje se razvijaju algoritmi za efikasno računanje, sa smanjenim brojem množenja i sabiranja.

Familija algoritama za efikasno računanje DFT-a naziva se brza Furijeova transformacija FFT.

Na osnovu načina na koji se vrši grupisanje elemenata niza u cilju veće efikasnosti, FFT algoritmi se dele na algoritme se decimacijom u vremenu (Decimation in Time FFT – DIT FFT) i decimacijom po frekvenciji (Decimation in Frequency FFT – DIF FFT).

Page 47: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Spektralna analiza1

Diskretna Furijeova transformacija implementirana je kao radix-2 DIT FFT algoritam.

Real-time spektralna analiza signala, zapravo se bazira na algoritmu kratkotrajne Furijeove transformacije (Short Time Fourier Transform STFT) koja je definisana formulom:

gde je:

x ulazni signal,

w prozorska funkcija,

frekvencija za koju se računa Furijeova transformacija,

n mera pomeraja ulaznog signala.

m

m

mjj emwmnxenX ,

Page 48: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Spektralna analiza2

Kratkotrajna Furijeova transformacija (prema definiciji) je kontinualna funkcija učestanosti.

DSP program, zapravo računa DFT (diskretan niz) segmenta signala pomnoženog sa izabranom prozorskom funkcijom.

U ulaznom baferu čuva se poslednjih N odbiraka signala (N– dužina prozora), i posle svakih M prihvaćenih odbiraka ulaznog signala startuje se FFT procedura. N je dužina prozora a M zavisi od izbaranog preklapanja dva sukcesivna prozora. (recimo M=N/2).

M N M NNM

Page 49: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

STFT implementacija1

Izbor dužine prozora je kompromis između željene rezolucije u frekvencijskom domenu i rezolucije u vremenskom domenu.

Što je N veće, rezolucija u frekvencijskom domenu je bolja, ali je utoliko manje moguće izdvojiti kratkotrajnu promenu signala.

Maksimalna dužina prozora Nmax je ograničena raspoloživom memorijom DSP procesora, kao i složenošću samog algoritma u odnosu na takt procesora.

Page 50: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

STFT implementacija2

Parametri od interesa:

•dužina prozora,

•dužina preklapanja dva

sukcesivna prozora,

•vrsta prozorske

funkcije.?

Inicijalizacija

memorijskih

lokacija

RADIX-2 DIT FFT

da

ne

Page 51: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

STFT implementacija3

DFT sam po sebi na izlazu daje odbirke koji u opštem slučaju nisu ograničeni na opseg

[-1,1).

Pravilno skaliranje je uslov da se dobije korektan rezultat.

Pitanje je na kom mestu treba vršiti skaliranje i kojim faktorom da bi se dobio korektan rezultat a da bi se u što je moguće većoj meri sačuvao raspoloživi dinamički opseg.

Page 52: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Skaliranje1

Moguće strategije skaliranja su:

•skaliranje ulaznog signala,

•bezuslovno skaliranje na kraju svake etape

algoritma,

•skaliranje u slučajevima kada se registruje

prekoračenje.

Page 53: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Skaliranje2

U slučaju skaliranja ulaznog signala, pre samog FFT-a, signal se deli s N+1, gde je N dužina prozora u odnosu na koji se računa FFT.

Ovo rešenje je najjednostavnije i ne produžava se vreme računanja FFT-a. Skaliranjem ulaznog signala se već u startu ograničava dinamički opseg ulaznog signala.

S jedne strane, zbog bolje rezolucije u frekvencijskom domenu poželjno je da N bude što veće, dok je s druge strane, sa stanovišta dinamičkog opsega poželjno da Nbude što manje.

N 128 256 1024 2048

Dinamički

opseg [dB]42 36 30 24

Page 54: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Skaliranje3

U slučaju bezuslovnog skaliranja, na kraju svake etape FFT algoritma vrši se skaliranje s određenim, uvek istim faktorom.

Ako se kao faktor skaliranja izabere 2 može se doći do prekoračenja u nekoj tački algoritma, pa se dobija nekorektan rezultat.

Skaliranje s faktorom 4 je, najčešće, nepotrebno strogo.

Page 55: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Skaliranje4

U slučaju uslovnog skaliranja, na kraju svake etape proverava se da li je došlo do prekoračenja i ukoliko jeste skaliraju se svi izlazi te etape.

Skaliranje se vrši sa 2 ili 4, prema potrebi.

Ovo je najsloženiji način skaliranja.

Prednost je što je za svaki prozor pojedinačno postignut maksimalna dinamički opseg.

Page 56: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Skaliranje5

Nedostatak je, pored povećane složenosti algoritma, činjenica da je konačan rezultat, u opštem slučaju, skaliran nepoznatim faktorom.

Dodatno, ako se radi o analizi u realnom vremenu, gde se signal posmatra prozor po prozor, ukupan faktor skaliranja se razlikuje od prozora do prozora.

Ovo praktično znači da se uslovno skaliranje može koristiti kada je bitan samo relativan odnos spektralnih komponenti u okviru istog prozora.

Page 57: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija –

struktura1

Page 58: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija –

struktura2

Page 59: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija –

struktura3

Page 60: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija – primer1

1024,0,80

2sin*05.032

2cos*4.0

NNnn

Nn

Nnx

0 100 200 300 400 500

-0.05

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

skaliranje ulaznog signala

skaliranje sa 2 posle svakog stepena

skaliranje sa 4 posle svakog stepena

uslovno skaliranje sa 2 ili 4

Re [X

(k)]

k

30 31 32 33 34 35 36

-0.05

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

skaliranje ulaznog signala

skaliranje sa 2 posle svakog stepena

skaliranje sa 4 posle svakog stepena

uslovno skaliranje sa 2 ili 4

Re [X

(k)]

k

Page 61: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija – primer2

1024,0,80

2sin*05.032

2cos*4.0

NNnn

Nn

Nnx

0 100 200 300 400 500

-0.050

-0.045

-0.040

-0.035

-0.030

-0.025

-0.020

-0.015

-0.010

-0.005

0.000

0.005

skaliranje ulaznog signala

skaliranje sa 2 posle svakog stepena

skaliranje sa 4 posle svakog stepena

uslovno skaliranje sa 2 ili 4

Im [X

(k)]

k 78 79 80 81 82 83 84 85

-0.050

-0.045

-0.040

-0.035

-0.030

-0.025

-0.020

-0.015

-0.010

-0.005

0.000

0.005

skaliranje ulaznog signala

skaliranje sa 2 posle svakog stepena

skaliranje sa 4 posle svakog stepena

uslovno skaliranje sa 2 ili 4

Im [X

(k)]

k

Page 62: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Vreme1

FFT je, sam po sebi relativno složen algoritam (recimo, u odnosu na filtriranje).

Za dužinu prozora N=1024 mogu se odrediti približne vrednosti trajanja računanja FFT-a jednog prozora za ADSP-2181.

Način skaliranja Broj ciklusa trajanje

Skaliranje ulaznog signala 120000 3.6 ms

Uslovno skaliranje 200000 6 ms

Page 63: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FFT implementacija

Ako se analiza sprovodi brzom Furijeovom transformacijom prozori ulaznog signala mogu i ne moraju da se međusobno preklapaju.

U uslovima rada u realnom vremenu bitan je i odnos dužine prozora i frekvencije odabiranja ulaznog signala jer on određuje Vreme između dva pokretanja FFT algoritma.

U zavisnosti od stepena preklapanja, na raspolaganju je manje ili veće vreme za proračuna FFT-a svakog prozora.

Frekvencija odabiranjaN=1024, bez

preklapanja

N=1024, preklapanje

N/4

5.5125 kHz 186 ms 46.5 ms

8 kHz 128 ms 32 ms

48 kHz 21 ms 5.25 ms

Page 64: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

STFT - primer(1)

• Diskretizovan signal govora (fs=44100 Hz),

• 20 sukcesivnih prozora, bez preklapanja,

• širina prozora 1024.

0 4x1024 8x1024 12x1024 16x1024 20x1024

-1.0

-0.5

0.0

0.5

1.0

x(n

)

n

Page 65: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

STFT – primer(2)

0t 2t 4t 6t 8t 10t 12t 14t 16t 18t

0.5000

0.4375

0.3750

0.3125

0.2500

0.1875

0.1250

0.0625

0

t, t=N/44100 s, N=1024

/(2)

0t 2t 4t 6t 8t 10t 12t 14t 16t 18t

0.5000

0.4375

0.3750

0.3125

0.2500

0.1875

0.1250

0.0625

0

t, t=N/44100 s, N=1024

/(2)

Uslovno skaliranje

Bezuslovno skaliranje

Page 66: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Obrada signala II

DSP implementacija

Page 67: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Filtri

“Resursi ok?” zapravo

znači da je potrebno

proveriti da li

projektovan filtar

može da zadovolji

zahteve rada u

realnom vremenu na

izabranom procesoru

Ok?

Projektivanje filtra (u

MATLAB-u)

Specifikacija

filtra

Analiza efekata

konačne dužine reči

Korekcija

Implementacija

Resursi

Ok?

Da

Da

Ne

Ne

Page 68: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR

• Primer

– Projektovanje metodom prozora, red filtra se bira na osnovu zahteva za širinu prelazne zone, prozorska funkcija se bira na osnovu zahtevanog slabljenja u nepropusnom opsegu.

– Najjednostavnija za implementaciju je direktna realizacija.

N

k

k knxhny

0

nxz-1 z-1z-1z-1

ny

0h 1h 2h 1Nh Nh

Page 69: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primer

h=fir1(32,0.2);

n=[0:32];

figure,stem(n,h),xlabel('n'),ylabel('h(n)'),title('Impulsni odziv, MATLAB');

[H,w]=freqz(h,1,1000);

figure,plot(w,20*log10(abs(H))),xlabel('\omega'),...

ylabel('|H(e^j^\omega)|'), title('Amplitudska karakteristika, MATLAB');

figure,plot(w,unwrap(angle(H))),xlabel('\omega'),...

ylabel('arg(H(e^j^\omega))'),title('Fazna karakteristika, MATLAB');

Page 70: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primer

0 5 10 15 20 25 30 35-0.05

0

0.05

0.1

0.15

0.2

n

h(n

)

Impulsni odziv, MATLAB

0 0.5 1 1.5 2 2.5 3 3.5-120

-100

-80

-60

-40

-20

0

20

|H(e

j )|

Amplitudska karakteristika, MATLAB

Page 71: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primer

• U MATLAB-u mogu da se razviju

procedure koje simuliraju efekte

kvantizacije, tj. računaju impulsni i

frekvencijski odziv pod pretpostavkom da

su koeficijenti filtra svedeni na određenu

dužinu kodne reči.

Page 72: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primerfiltar:

ena sec_reg;

i4=^coeff;

l4=%coeff;

m4=1;

m3=1;

mr=0, mx0=dm(i3,m3), my0=pm(i4,m4);

cntr=koef_duzina-1;

do suma until ce;

suma: mr=mr+mx0*my0(ss), mx0=dm(i3,m3), my0=pm(i4,m4);

mr=mr+mx0*my0(rnd);

dm(ulaz)=mr1;

dis sec_reg;

rts;

Page 73: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primer

0 0.5 1 1.5 2 2.5 3 3.5-140

-120

-100

-80

-60

-40

-20

0

20

|H(e

j )|

Amplitudska karakteristika

bez kv.

16 bita - MATLAB

procesor

Page 74: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

FIR - primer

• N+k

• (N+k)*33 ns < 45 * 33 ns = 1.485 s

• dt = 1/fs = 20.83 s

• za fs = 48 kHz max N ~ 600

Page 75: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Trigonometrijske funkcije

• Primer sin(x) – razvoj u red

• sin(x)=3.140625x+0.02026367x2-

5.325196x3+0.5446778x4+1.800293x5

• Važi pod uslovom da je x skalirano tako da

je -180o “preslikano” u -1

Page 76: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Trigonometrijske funkcije

Page 77: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Primer – sin(x).const sampling=0xc850;

.include <pocetak.dsp>; {initializations and DSP macros}

.var/dm sin_coeff[5];

.var/dm/ram/abs=0x2000 izlaz[1024];

.var/dm/ram/abs=0x2400 ulaz[1024];

.init sin_coeff: 0x3240, 0x0053, 0xAACC, 0x08B7, 0x1CCE;

.init ulaz:<za_sinus.hex>;

Page 78: Procesori - University of Belgradetelekomunikacije.etf.bg.ac.rs/lab54/os2/cas_05_05.pdf · • Zbog toga se osnovna Harvard arhitektura dalje proširuje u cilju još boljeg iskorišćenja

Primer – sin(x)sinus:

ena sec_reg;

{toggle fl1;}

AX0=DM(i3,m3);

I5=^sin_coeff;

m5=1;

l5=0;

AY0=0x4000;

AR=AX0, AF=AX0 AND AY0;

IF NE AR=-AX0;

AY0=0x7FFF;

AR=AR AND AY0;

MY1=AR;

MF=AR*MY1 (RND), MX1=DM(I5,M5);

MR=MX1*MY1 (SS), MX1=DM(I5,M5);

CNTR=3;

DO approx UNTIL CE;

MR=MR+MX1*MF (SS);

approx: MF=AR*MF (RND), MX1=DM(I5,M5);

MR=MR+MX1*MF (SS);

sr1=0;

sr0=0;

SR=ASHIFT MR1 BY 2 (HI);

SR=SR OR LSHIFT MR0 BY 2 (LO);

AR=PASS SR1;

IF LT AR=PASS AY0;

AF=PASS AX0;

IF LT AR=-AR;

dm(tx_buf+1)=ar;

dm(tx_buf+2)=ar;

dm(i7,m7)=ar;

RTI;