500 likes | 631 Views
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.
E N D
Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG PG – Katedra Systemów Mikroelektronicznych ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH Marek Wroński
„0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana; „-” - bez zmian Podstawowe operacje stałoprzecinkowe ALU
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
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
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 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);
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