1 / 50

Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG

Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG. PG – Katedra Systemów Mikroelektronicznych ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH Marek Wroński. Architektura SHARC’a 211xx. ADSP-21161: Grupy Rejestrów. Rejestry I/O procesora. Rejestry komplementarne.

ryann
Download Presentation

Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG

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 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG PG – Katedra Systemów Mikroelektronicznych ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH Marek Wroński

  2. Architektura SHARC’a 211xx

  3. ADSP-21161: Grupy Rejestrów

  4. Rejestry I/O procesora. Rejestry komplementarne

  5. Ustawianie trybów DAGów

  6. Plik rejestru danych: cechy

  7. Jednostka obliczeniowa Sharc’a

  8. Cechy ALU

  9. Instrukcje ALU: stałoprzecinkowe (Fixed Point)

  10. Instrukcje ALU: zmiennoprzecinkowe (Floating Point)

  11. Flagi statusu ALU

  12. ALU: kody warunkowego wykonania. Przykład warunków

  13. Cechy MAC. Przykładowe instrukcje

  14. Multiplier/ MAC Instrukcje

  15. Instrukcje stałoprzecinkowe i zmiennoprzecinkowe MAC’a

  16. Umiejscowienie wyniku mnożenia

  17. Mnożenie zmiennoprzecinkowe

  18. Flagi statusu MAC’a

  19. Multiplier/MAC: warunkowo wykonywane kody

  20. SHIFTER (przesuwnik): cechy +Status Flags, warunk.wykonanie

  21. Instrukcje Shifter’a

  22. Przykładowe instrukcje

  23. Przesuwanie logiczne i arytmetyczne

  24. Przenoszenie pola bitowego

  25. Wydobycie pola bitowego

  26. Operacje bitowe

  27. Operacje bitowe – c.d.

  28. Flagi ALU: rejestr ASTATx/y

  29. Flagi ALU: rejestr STKx/y

  30. „0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana; „-” - bez zmian Podstawowe operacje stałoprzecinkowe ALU

  31. c.d.

  32. Operacje zmiennoprzecinkowe „0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana; „-” - bez zmian

  33. c.d.

  34. Operacje stałoprzecinkowe MACC – wynik mnożenia i tryby pracy • Bit 16 (RND32) round floating-point data to 32 bits (if 1) or round to 40 bits (if 0) • Rounding mode. Bit 15 (TRUNC) round results with round-to-zero (if 1) or round-to-nearest (if 0) • ALU saturation. Bit 13 (ALUSAT) saturate results on positive or negative fixed-point overflows (if 1) or return unsaturated results (if 0)

  35. Typy stałoprzecinkowe „operandów” jednostki MACC i zakresy wyników

  36. Operacje stałoprzecinkowe MACC • Multiplier result negative. Bit 6 (MN) • Multiplier overflow. Bit 7 (MV) • Multiplier underflow. Bit 8 (MU) • Multiplier floating-point invalid operation. Bit 9 (MI) • Multiplier fixed-point overflow. Bit 6 (MOS) • Multiplier floating-point overflow. Bit 7 (MVS) • Multiplier underflow. Bit 8 (MUS) • Multiplier floating-point invalid operation. Bit 9 (MIS)

  37. c.d. stałoprzecinkowych i zmiennoprzecinkowe - dla operacji zmiennoprzecinkowych wynik zawsze w rejestrze uniwersalnym

  38. Barrel – Shifter (przesuwanie i modyfikacja wartości bitów)

  39. c.d.

  40. Operacje wielofunkcyjne Jednocześnie wykonywane operacje: ALU MACC Shifter Pobranie danej z PM Pobranie danej z DM Warunkowe operacje ALU/ MACC/ Shifter: IF warunek instrukcja

  41. Mnożenie stałoprzecinkowe z jednoczesnymi operacjami ALU

  42. Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU MRF=MRF-R5*R0, R6=DM(I1,M2); Ra = Rx + Ry, Rs = Rx – Ry Fa = Fx + Fy, Fs = Fx – Fy R5=MR1F, R6=DM(I1,M2);

  43. Przykład procedury: filtr FIR

  44. Przykład procedury: sinus

  45. Operacje SIMD To support SIMD, the DSP performs the following parallel operations: •Dispatches a single instruction to both processing element’s computation units •Loads two sets of data from memory, one for each processing element •Executes the same instruction simultaneously in both processing elements •Stores data results from the dual executions to memory The transfer direction and data bus usage depend on the following conditions: •Computational mode: – Is PEy enabled—PEYEN bit=1 in MODE1 register – Is the data register file in PEx (R0-R15, F0-F15) or PEy (S0-S15) – Is the instruction a data register swap between the processing elements •Data addressing mode: – What is the state of the Internal Memory Data Width (IMDW) bits in the System Configuration (SYSCON) register – Is Broadcast write enabled—BDCST1,9 bits in MODE1 register – What is the type of address—long, normal, or short word – Is Long Word override (LW) specified in the instruction – What are the states of instruction fields for DAG1 or DAG2 •Program sequencing (conditional logic): –What is the outcome of the instruction’s condition comparison on each processing element

  46. Register-To-Register Move Summary (SISD Versus SIMD)

  47. Generator adresu danych DAG

  48. Rejestry DAG’ów

  49. Podstawowe operacje DAG’ów - post-modify

  50. Podstawowe operacje DAG’ów - pre-modify

More Related