Procesory sygnałowe 3

background image

Procesory sygnałowe

Wykład 3

Architektura procesora

ADSP-21065L

Dr inż. Robert
Wielgat

background image

Podstawowe parametry

techniczne procesora ADSP-

21065L

ADSP 21065L

Częstotliwość zegara

systemowego

66 MHz

Długość cyklu maszynowego

15 ns

Szybkość wykonywania

operacji

zmiennoprzecinkowych

132 MFLOPS, Max 198 MFLOPS

Czas wykonywania
1024 punktowej FFT

279 μs

Czas mnożenia macierzy
[3x3]*[3x1], [4x4]*[4x1]

136 ns, 242 ns

Czas wykonywania dzielenia

91 ns

Rozmiar wewnętrznej pamięci

RAM

544 Kbit

background image

Cechy procesora ADSP-21065L

• Konfigurowalna

dwu-portowa pamięć wewnętrzna 544 Kbit

• Możliwość zaadresowania 256 MB pamięci zewnętrznej w
organizacji 32-bitowej

• Moc obliczeniowa 198 MFLOPS (operacje zmiennoprzecinkowe
na słowach 32-bitowych) i 198 MOPS (operacje
stałoprzecinkowe na słowach 32-bitowych)

• Zintegrowany interfejs SDRAM

• Dwa dwukierunkowe porty szeregowe

• 16 kanałowy tryb przesyłu I2S

• Dwa timery z opcjami PWM oraz przechwytywania zdarzeń

• 12 programowalnych Wejść/Wyjść

• 10 kanałów DMA

• Bezpośrednie podłączenie do innych procesorów ADSP-
21065L

• Asembler kompatybilny z wszystkimi procesorami typu SHARC

• Napięcie zasilania 3.3 V, Obudowa MQFP 208-końcówek,

background image

Architektura super Harward

Port

zewnętrz

ny

Port

zewnętrz

ny

Jądro

procesor

a

Jądro

procesor

a

Dwuportowa

pamięć

wielodostępna

Dwuportowa

pamięć

wielodostępna

Procesor urządeń

we/wy

oraz

kontroler DMA

Procesor urządeń

we/wy

oraz

kontroler DMA

System

magistrali

System

magistrali

background image

Schemat blokowy ADSP-

21065L

background image

Charakterystyka

architektury procesora

ADSP-21065L

1. Jądro procesora DSP,

2. Dwu-portowy dostęp do pamięci (rozkazy, dane)

3. Zewnętrzny port do dołączenia pamięci zewnętrznej

oraz urządzeń WE/WY. Rozmiar 64Mx32 bity (24 bitowy
adres)

4. Procesor WE/WY oraz kontroler DMA

Procesor WE/WY zawierający układ sterujący oraz
dwa porty szeregowe mogące pracować z pełną
częstotliwością procesora (maksymalny transfer
danych 30 Mbit/s). Porty mogą pracować w jednym z
trzech trybów pracy: standardowym, I

2

S, TDM.

10-kanałowy kontroler DMA. Transfer DMA
obejmujący zarówno dane jak i kody instrukcji jest
możliwy pomiędzy pamięcią wewnętrzną RAM,
zewnętrzną pamięcią RAM, portem szeregowym i
urządzeniami peryferyjnymi

background image

Jądro procesora ADSP-

21065L

background image

Jądro procesora ADSP-

21065L

Timer 1

Timer 1

Timer 2

Timer 2

Pamięć

podręczna

(cache)

instrukcji

32 x 48 bitów

Pamięć

podręczna

(cache)

instrukcji

32 x 48 bitów

Generator

adresu 1 (DAG

1)

8 x 4 x 32

Generator

adresu 1 (DAG

1)

8 x 4 x 32

Generator

adresu 2 (DAG

2)

8 x 4 x 32

Generator

adresu 2 (DAG

2)

8 x 4 x 32

Sekwenter

programowy

Sekwenter

programowy

Rejestr

Magistral

(PX)

Rejestr

Magistral

(PX)

Mnożarka

Mnożarka

Zbiór

rejestrów

16 x 40 bitów

Zbiór

rejestrów

16 x 40 bitów

Shifter

Shifter

ALU

ALU

Jednostki obliczeniowe

32

24

40

48

DMA Bus

PMA Bus

DMD Bus

PMD Bus

background image

Jednostki obliczeniowe

Mnożarka

Mnożarka

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Shifte

r

Shifte

r

ALU

ALU

40

48

DMD Bus

PMD Bus

MR

2

MR

2

MR

1

MR

1

MR

0

MR

0

background image

Jednostki obliczeniowe

w ADSP-21065L

Jednostka arytmetyczno-logiczna (ALU).

Realizuje

stadardowe operacje arytmetczne i logiczne na
liczbach stało- i zmienno-przecinkowych.

Mnożarka (ang. Multiplier).

Realizuje operacje

mnożenia stało- i zmienno- przecinkowego oraz
podwójne operacje typu mnożenie/dodawanie i
mnożenie/odejmowanie.

Shifter.

Realizuje wszelkiego rodzaju operacje na

bitach (przesuwanie, rotacja, ekstrakcja itp.)

Jednostki obliczeniowe przechowują operandy

wejściowe i wyniki obliczeń w 10- portowym
zbiorze rejestrów.

background image

Jednostki obliczeniowe –

zbiór rejestrów

Mnożarka

Mnożarka

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Shifte

r

Shifte

r

ALU

ALU

40

48

DMD Bus

PMD Bus

MR

2

MR

2

MR

1

MR

1

MR

0

MR

0

background image

Jednostki obliczeniowe – zbiór

rejestrów

Zawiera dwie grupy 16 rejestrów: pierwotnych i wtórnych.

Szerokość danych w każdym z rejestrów jest równa 40 bitów.

32-bitowe dane zawsze są wyrównywane do lewej. W trakcie
odczytu danej procesor ignoruje osiem mniej znaczących
bitów. Podczas zapisu ustawia natomiast osiem zer.

Dostęp do zbioru rejestrów przez magistrale danych: PM i DM
odbywa się w jednym cyklu.

Dane przesyłane pomiędzy zbiorem rejestrów a magistralami
danych: PM i DM są zawsze 40-bitowe.

Transfer danych pomiędzy zbiorem rejestrów a 48-bitową
magistralą danych PM uwzględnia 40 bardziej znaczących
bitów. Osiem mniej znaczących bitów jest ustawianych na
zero.

Jeżeli na operand i wynik operacji przeznaczy się ten sam
rejestr odczyt następuje w pierwszej połowie cyklu, natomiast
zapis w drugiej.

Jeżeli w tym samym cyklu występuje kilka żądań zapisu do
jednego rejestru, to realizowany jest zapis danej ze źródła o
najwyższym priorytecie (DM lub rejestry uniwersalne, PM,
ALU, Mnożarka, Shifter).

background image

Jednostki obliczeniowe –

jednostka arytmetyczno-

logiczna

Mnożarka

Mnożarka

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Shifte

r

Shifte

r

ALU

ALU

40

48

DMD Bus

PMD Bus

MR

2

MR

2

MR

1

MR

1

MR

0

MR

0

background image

Jednostki obliczeniowe –

jednostka arytmetyczno-

logiczna

Jednostka arytmetyczno-logiczna (ALU) realizuje następujące

operacje:

Stało- i zmiennoprzecikowe:

dodawanie, odejmowanie,

podwójne dodawanie/odejmowanie, średnia.

Zmienno-przecinkowe:

binarny logarytm, skalowanie,

mantysa.

Stało-przecinkowe:

dodawanie z przeniesieniem, odejmowanie

z pożyczką, inkrementacja, dekrementacja

Logiczne:

AND, OR, XOR, NOT

Funkcje:

ABS, przejścia, Min, Max, Clip, porównanie

Konwersja danych

Odwrotność, odwrotność pierwiastka kwadratowego.

Wszystkie operacje realizowane przez ALU zwracają

jeden wynik

z

wyjątkiem:

1. Operacji podwójnego dodawania/odejmowania: zwraca

dwa

wyniki

2. Operacji porównania:

nie zwraca wyniku

, a jedynie modyfikuje

flagi.

background image

Jednostki obliczeniowe –

mnożarka

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Shifte

r

Shifte

r

ALU

ALU

40

48

DMD Bus

PMD Bus

Mnożarka

Mnożarka

MR

2

MR

2

MR

1

MR

1

MR

0

MR

0

background image

Jednostki obliczeniowe –

mnożarka

Mnożarka wykonuje operacje mnożenia na liczbach

stało- i zmienno przecinkowych oraz operacje
mnożenia z akumulacją

Stałoprzecinkowe instrukcje mnożarki operują na

danych 32 bitowych i dają rezultat 80 bitowy.
Dotyczy to liczb ułamkowych i naturalnych bez i
ze znakiem.

Zmiennoprzecinkowe instrukcje mnożarki operują na

danych 32 i 40-bitowych i dają rezultat
odpowiednio 32 i 40-bitowy.

background image

Jednostki obliczeniowe –

mnożarka

Do wybranego rejestru ze zbioru rejestrów są zapisywane

bity 63-32 wyniku ułamkowego oraz bity 31-0 wyniku
naturalnego.
8 najstarszych bitów w rejestrze jest wypełnianych
zerami

background image

Jednostki obliczeniowe –

shifter

Mnożarka

Mnożarka

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Zbiór

rejestrów

10-portowy

16 x 40

bitów

Shifte

r

Shifte

r

ALU

ALU

40

48

DMD Bus

PMD Bus

MR

2

MR

2

MR

1

MR

1

MR

0

MR

0

background image

Jednostki obliczeniowe –

shifter

background image

Jednostki obliczeniowe –

shifter

background image

Jednostki obliczeniowe –

shifter

background image

Wyjątki obsługiwane

przez ADSP-21065L

background image

Rejestry ASTAT i STKY

background image

Rejestr ASTAT – flagi

generowane przez ALU

AZ - wynik zerowy lub niedomiar (ang. Underflow) w
operacji zmiennoprzecinkowej

AV - przepełnienie (ang. Overflow)

AN - ujemny wynik operacji

AC - przeniesienie w operacji stałoprzecinkowej

AS - znak operandu X w jednostce ALU (rozkazy ABS,
MANT)

AI - niedozwolona operacja zmiennoprzecinkowa

AF - ostatnią operacją w jednostce ALU była operacja
zmiennoprzecinkowa

CACC (0-7) - Akumulacyjny rejestr porównań ( wyniki 8
ostatnich rozkazów porównań)

background image

Rejestr ASTAT – flagi

generowane przez pozostałe

urządzenia

MN - ujemny wynik operacji z mnożarki

MV - przepełnienie (ang. Overflow) mnożarki

MU - niedomiar (ang. Underflow) w wyniku z mnożarki

MI - niedozwolona operacja zmiennoprzecinkowa w
mnożarce

SV – przepełnienie (ang. overflow) shiftera lub bity po
lewej stronie MSB

SZ - wynik zerowy z shiftera

SS – znak operandu wejściowego w shifterze

BTF – flaga testująca bity rejestrów systemowych (ang.
Bit Test Flag) wykorzystywana np. w operacji XOR

FLG (0-3) – flagi uniwersalne służące do komunikacji z
urządzeniami zewnętrznymi

background image

Rejestr STKY – opis wybranych

flag

AUS – niedomiar z operacji zmiennoprzecinkowej w ALU

AVS – przepełnienie z operacji zmiennoprzecinkowej w
ALU

AOS - przepełnienie z operacji stałoprzecinkowej w ALU

AIS - niedozwolona operacja zmiennoprzecinkowa w ALU

MOS - przepełnienie z operacji stałoprzecinkowej w
mnożarce

MVS – przepełnienie z operacji zmiennoprzecinkowej w
mnożarce

MUS – niedomiar z operacji zmiennoprzecinkowej w
mnożarce

MIS - niedozwolona operacja zmiennoprzecinkowa w
mnożarce

background image

Operacje wielofunkcyjne

background image

Literatura

1. Analog Devices, ADSP-21065L SHARC

®

DSP. User’s

Manual, USA, 2003. (Rozdziały: „Preface”,
„Introduction”, „Computation Units”)

Dokumentację można pobrać ze strony

http://

www.analog.com

2. Jacek Augustyn, „Asemblery μC51, ADSP-21065L

SHARC”, Wydawnictwa Naukowo-Dydaktyczne PWSZ
w Tarnowie, Wyd. IGSMiE PAN, Kraków 2006,
Rozdział 9


Document Outline


Wyszukiwarka

Podobne podstrony:
Lab4 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
lab9 procesory sygnalowe, LABORATORIUM
6 Procesy i sygnaly
16 procesory sygnalowe ADSP21
Procesory sygnałowe 1
Procesory sygnałowe 2
Procesory sygnałowe 6
Procesory sygnałowe 4

więcej podobnych podstron