Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałDominika Bakun Został zmieniony 11 lat temu
1
Wykład 6: Stałoprzecinkowe mikroprocesory sygnałowe: architektura
podstawowe operacje
2
Rodziny procesorów sygnałowych
stałoprzecinkowe (16-bitowe): ADSP21xx zmiennoprzecinkowe (32-bitowe): ADSP21xxx dedykowane (stałoprzecinkowe, 16-bitowe): ADMCx01, ADMC2199x Na przykładzie DSP firmy Analog Devices
3
Rozwój serii 21xx
4
Architektura jednego z modeli serii ADSP21xx - elementy składowe:
ALU - operacje arytmetyczno-logiczne MAC - jednostka „mnóż i dodawaj” SHIFTER - przesuwanie bitów (skalowanie -zmiana zakresu liczb) DAG#1/2 - adresowanie pamięci danych i pamięci programu PROGRAM i DATA MEMORY - pamięci 24 i 16 bitowe (arch. Harvard) elementy I/O (wejścia wyjścia) i peryferia : porty szeregowe, flagi I/O, timer, ...
5
Jednostka ALU (21xx) Jednostka ALU jes 16-bitowa z dwoma wejściami X i Y i jednym wyjściem R Rejestry wejściowe X (AX0, AX1), Y(AY0, AY1) oraz wyjściowe R (AR)- mają swoje rejestry cienie W operacjach ALU uwzględniona zostaje wejście CI (AC) - z rejestru ASTAT - możliwość operacji wielokrotnej precyzji W wyniku działania odpowiednio ustawiane są bity w rejestrrze statusowym (ASTAT): zero (AZ), negacja (AN), przeniesienie/pożyczka (AC), przepełnienie (AV), znak wejścia X (AS) i (AQ) status ilorazu Wynik operacji ALU jest zapamiętywany w rejestrach AR (result) lub AF (feedback) Rejestr AF jest rejestrem wewnętrznym umozliwiającym użycie wyniku bezpośrednio jako jedno z wejść (wejście Y) Rejestr AR może zostać przesłany na magistralę R-BUS lub magistralę DMD-BUS oraz załadowany z magistrali DMD-BUS
6
Jednostka ALU (21xx) Zakres liczb w stosowanym zapisie 1.15
Możliwe źródła dla wejść X i Y oraz podłączenie wyjscia X Y R AX0, AX1 AY0, AY1 AR AR AF AF MR0, MR1, MR2 SR0, SR1 Zakres liczb w stosowanym zapisie 1.15 Interpretacja flag AV i AC
7
Jednostka ALU (21xx) - dozwolone operacje
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)
8
Jednostka MAC (21xx) - Dwa 16-bitowe wejścia X,Y
- Wynik mnożenia w postaci 32-bitowej R - Wynik podawany jest na wejście 40-bitowej jednostki dodająco/odejmującej. Gdy wynik wykracza poza zakres 32-bitowy - ustawiany jest bit MV (rejestr ASTAT). Rejestry wejściowe X (AX0, AX1), Y(AY0, AY1) oraz wyjściowe MF, MR oba zestawy mają swoje rejestry cienie - Wynik przechowywany jest w rejestrze 40-bitowym MR== MR2 (8-bitów), MR1(16bitów), MR0(16bitów) - Wynik może być podany na wejście Y (poprzez 16-bitowy rejestr MF) - Wszystkie rejestry mogę być odczytywane lub zapisywane w tym samym czasie (podobnie w ALU)
9
Jednostka MAC (21xx) MAC - przepełnienie i nasycanie się wyniku
Żródła dla wejść i wyjść X Y R MX0, MX1 MY0, MY1 MR (MR2, MR1, MR0) AR MF MF MR0, MR1, MR2 SR0, SR1 MAC - przepełnienie i nasycanie się wyniku Zaokrąglanie wyniku (część ułamkowa - bity zostaje zaokrąglona w górę lub w dół. Różne traktowanie punktu MIDPOINT Różne traktowanie tzw. punktu MIDPOINT
10
Jednostka MAC (21xx) - dozwolone operacje
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.
11
Jednostka SHIFTER (21xx)
• Arithmetic Shift (ASHIFT) • Logical Shift (LSHIFT) • Normalize (NORM) • Derive Exponent (EXP) • Block Exponent Adjust (EXPADJ)
12
Operation Codes (OPCODES) - przykłady
DM(I0,M0)=0x1234 DM(0x5678)=0x1234
13
Operation Codes (OPCODES) - przykłady
DM(0x1234)=X0 Adres = 0x x3FFF X0=0x1234 dana = 0x xFFFF
14
Operation Codes (OPCODES) MR = MR - MX0*MY0 (RND), MX0=MY1
15
IF GE MR = MR - MX0*MY0 (RND)
Instrukcje warunkowe IF GE MR = MR - MX0*MY0 (RND)
16
Operation Codes (OPCODES)
17
Jednostka ALU - podstawowe operacje
y,a,b - liczby całkowite (stałoprzecinkowe) y = a + b - procesor 80x86 MOV AL, [0x1000] ADD AL, [0x1001] MOV [0x1002],AL jednostka ALU (21xx) AX0 = DM(0x1000) AY0 = DM(0x1001) AR = AX0 + AY0 DM(0x1002)=AR jednostka ALU (21xx) I0 = 0x1000 M0 = 0x0001 AX0 = DM(I0,M0) AY0 = DM(I0,M0) AR = AX0 + AY0 DM(I0,M0) = AR
18
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
19
Przykład procedury: filtr FIR
20
Przykład procedury: sinus
21
Architektura procesorów sygnałowych
Rozwój serii 21xxx
22
Architektura procesorów sygnałowych
Architektura jednego z modeli serii 210xx (Sharc)
23
Architektura procesorów sygnałowych
Architektura modelu serii 211xx (Sharc)
24
Jednostka obliczeniowa procesora Tiger Sharc
25
Podstawowe Operacje ALU:
„0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana „-” - bez zmian
26
Operacje ALU - c.d.
27
Operacje FPU jednostki Tiger Sharc
28
Operacje FPU jednostki Tiger Sharc - c.d.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.