Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałFriderich Cygal Został zmieniony 11 lat temu
1
Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG
PG – Katedra Systemów Mikroelektronicznych ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH Marek Wroński Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG
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
Podstawowe operacje stałoprzecinkowe ALU
„0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana; „-” - bez zmian
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
To support SIMD, the DSP performs the following parallel operations:
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.