Wykład 7:
description
Transcript of Wykład 7:
Wykład 7:Zmiennoprzecinkowe mikroprocesory sygnałowe firmy Analog Devices:
zastosowania i rodzinyarchitekturapodstawowe operacje ALU
Rodziny procesorów sygnałowych firmy Analog Devices
- stałoprzecinkowe 16-bitowe: ADSP21xx
- zmiennoprzecinkowe 32-bitowe:
ADSP21xxx
- dedykowane: ADMCx01, ADMC2199x
Architektura procesorów sygnałowych
-Architektura jednego z modeli serii ADSP21xx (procesor stałoprzecinkowy)
Architektura procesorów sygnałowych
-Architektura jednego z modeli serii 210xx (Sharc) (procesor zmiennoprzecinkowy)
Architektura procesorów sygnałowych
-Architektura modelu serii 211xx (Sharc)
Jednostka obliczeniowa procesora Sharc
Flagi operacji arytmetyczno logicznych:rejestr ASTATx/y
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 31-24 (CACC)
Flagi operacji arytmetyczno-logicznych:rejestr STKx/y
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)
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
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
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
Operacje FPU jednostki ALU - c.d.
Operacje stałoprzecinkowe jednostki MACC – wynik mnożenia.
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)
Typy stałoprzecinkowe „operandów” jednostki ALU/MACC
Zakresy wyników mnożenia stałoprzecinkowego ALU
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)
Operacje stałoprzecinkowe jednostki MACC – c.d.
Operacje zmiennoprzecinkowejednostki MACC
- wynik zawsze w rejestrze uniwersalnym
Barrel-Shifter - podstawowe funkcje
- przesuwanie bitów w lewo/prawo
- modyfikacja wartości bitów:
ustawianie, kasowanie zmiana i testowanie
Barrel-Shifter - instrukcje
Barrel-Shifter - instrukcje, c.d.
Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU
Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU
Generator adresu danych(Data Addres Generator) DAG
Generator adresu danych(Data Addres Generator) DAG
Generator adresu danychPodstawowe operacje - post-modify
Generator adresu danychPodstawowe operacje - pre-modify