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

Post on 02-Feb-2016

33 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of 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

Ustawianie trybów DAGów

Plik rejestru danych: cechy

Jednostka obliczeniowa Sharc’a

Cechy ALU

Instrukcje ALU: stałoprzecinkowe (Fixed Point)

Instrukcje ALU: zmiennoprzecinkowe (Floating Point)

Flagi statusu ALU

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

Cechy MAC. Przykładowe instrukcje

Multiplier/ MAC Instrukcje

Instrukcje stałoprzecinkowe i zmiennoprzecinkowe MAC’a

Umiejscowienie wyniku mnożenia

Mnożenie zmiennoprzecinkowe

Flagi statusu MAC’a

Multiplier/MAC: warunkowo wykonywane kody

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

Instrukcje Shifter’a

Przykładowe instrukcje

Przesuwanie logiczne i arytmetyczne

Przenoszenie pola bitowego

Wydobycie pola bitowego

Operacje bitowe

Operacje bitowe – c.d.

Flagi ALU: rejestr ASTATx/y

Flagi ALU: rejestr STKx/y

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

c.d.

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

c.d.

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)

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

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)

c.d. stałoprzecinkowych i zmiennoprzecinkowe

- dla operacji zmiennoprzecinkowych wynik zawsze w rejestrze uniwersalnym

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

c.d.

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

Mnożenie stałoprzecinkowe z jednoczesnymi operacjami ALU

Mnożenie zmiennoprzecinkowe z jednoczesnymi operacjami ALU

Ra = Rx + Ry, Rs = Rx – RyFa = Fx + Fy, Fs = Fx – Fy

MRF=MRF-R5*R0, R6=DM(I1,M2);

R5=MR1F, R6=DM(I1,M2);

Przykład procedury: filtr FIR

Przykład procedury: sinus

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

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

Generator adresu danych DAG

Rejestry DAG’ów

Podstawowe operacje DAG’ów - post-modify

Podstawowe operacje DAG’ów - pre-modify