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