1 / 28

Wykład 6:

Wykład 6:. Stałoprzecinkowe mikroprocesory sygnałowe: architektura podstawowe operacje. Rodziny procesorów sygnałowych. stałoprzecinkowe (16-bitowe): ADSP21xx zmiennoprzecinkowe (32-bitowe): ADSP21xxx dedykowane (stałoprzecinkowe, 16-bitowe): ADMCx01, ADMC2199x

kiora
Download Presentation

Wykład 6:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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) Możliwe źródła dla wejść X i Y oraz podłączenie wyjscia XYR 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) Ż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 15..0 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 = 0x0000 - 0x3FFF X0=0x1234 dana = 0x0000 - 0xFFFF

  14. Operation Codes (OPCODES) MR = MR - MX0*MY0 (RND), MX0=MY1

  15. 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.

More Related