Wykład 7: Zmiennoprzecinkowe mikroprocesory sygnałowe firmy Analog Devices: zastosowania i rodziny architektura podstawowe operacje ALU.

1 Wykład 7: Zmiennoprzecinkowe mikroprocesory sygnałowe ...
Author: Jarosław Matus
0 downloads 0 Views

1 Wykład 7: Zmiennoprzecinkowe mikroprocesory sygnałowe firmy Analog Devices: zastosowania i rodziny architektura podstawowe operacje ALU

2 Rodziny procesorów sygnałowych firmy Analog Devicesstałoprzecinkowe 16-bitowe: ADSP21xx zmiennoprzecinkowe 32-bitowe: ADSP21xxx dedykowane: ADMCx01, ADMC2199x

3 Architektura procesorów sygnałowychArchitektura jednego z modeli serii ADSP21xx (procesor stałoprzecinkowy)

4 Architektura procesorów sygnałowychArchitektura jednego z modeli serii 210xx (Sharc) (procesor zmiennoprzecinkowy)

5 Architektura procesorów sygnałowychArchitektura modelu serii 211xx (Sharc)

6 Jednostka obliczeniowa procesora Sharc

7 Flagi operacji arytmetyczno logicznych:rejestr ASTATx/y

8 Flagi operacji arytmetyczno logicznych:rejestr ASTATx/y • ALU result zero or floating-point underflow. Bit 0 (AZ) • ALU overflow. Bit 1 (AV) • ALU result negative. Bit 2 (AN) • ALU fixed-point carry. Bit 3 (AC) • ALU X input sign for ABS, Mant operations. Bit 4 (AS) • ALU floating-point invalid operation. Bit 5 (AI) • Last ALU operation was a floating-point operation. Bit 10 (AF) • Compare Accumulation register results of last 8 compare operations. Bits (CACC)

9 Flagi operacji arytmetyczno-logicznych:rejestr STKx/y

10 Flagi operacji arytmetyczno logicznych:rejestr STKx/y Flagi, które mogą zostać tylko ustawione przez ALU (kasowane przez program) • ALU floating-point underflow. Bit 0 (AUS) • ALU floating-point overflow. Bit 1 (AVS) • ALU fixed-point overflow. Bit 2 (AOS) • ALU floating-point invalid operation. Bit 5 (AIS)

11 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

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

13 Operacje FPU jednostki ALU:„0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana; „-” - bez zmian

14 Operacje FPU jednostki ALU - c.d.

15 Operacje stałoprzecinkowe jednostki MACC – wynik mnożenia.

16 Tryby pracy jednostki ALU/MACC(rejestr MODE1) • Bit 16 (RND32) directs the computational units to round floating-point data to 32 bits (if 1) or round to 40 bits (if 0) • Rounding mode. Bit 15 (TRUNC) directs the computational units to round results with round-to-zero (if 1) or round-to-nearest (if 0) • ALU saturation. Bit 13 (ALUSAT) directs the computational units to saturate results on positive or negative fixed-point overflows (if 1) or return unsaturated results (if 0)

17 Typy stałoprzecinkowe „operandów”jednostki ALU/MACC

18 Zakresy wyników mnożenia stałoprzecinkowego ALU

19 Operacje stałoprzecinkowe jednostki 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)

20 Operacje stałoprzecinkowe jednostki MACC – c.d.

21 Operacje zmiennoprzecinkowe jednostki MACC- wynik zawsze w rejestrze uniwersalnym

22 Barrel-Shifter - podstawowe funkcje - przesuwanie bitów w lewo/prawo- modyfikacja wartości bitów: ustawianie, kasowanie zmiana i testowanie

23 Barrel-Shifter - instrukcje

24 Barrel-Shifter - instrukcje, c.d.

25 Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU

26 Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU

27 Generator adresu danych (Data Addres Generator) DAG

28 Generator adresu danych (Data Addres Generator) DAG

29 Generator adresu danych Podstawowe operacje - post-modify

30 Generator adresu danych Podstawowe operacje - pre-modify