7.7 DSP ASE instruction timing
Programming the MIPS32® 74K™ Core Family, Revision 02.14
100
7.7 DSP ASE instruction timing
Most DSP ASE operations are pipelined, and instructions can often be issued at the maximum CPU rate, but getting
results back into the general-purpose register file takes a few clocks. The timings are generally fairly similar to those
for the standard multiply instructions, and are listed - together with delays for the standard instruction set - in
6.6.2, "Data dependency delays classified"
shll.ph rd, rt, sa
2
×
SIMD (paired-half) shift left. The “
v
” versions take the shift amount from a register,
and the “
_s
” versions saturate the result to a signed 16-bit range.
shllv.ph rd, rt, rs
shll_s.ph rd, rt, sa
shllv_s.ph rd, rt, rs
shll.qb rd, rt, sa
4
×
SIMD quad-byte shift left, with shift-amount-in-register and saturating (to an
unsigned 8-bit result) versions.
shllv.qb rd, rt, rs
shll_s.w rd, rt, sa
Signed 32-bit shift left with saturation, with shift-amount-in-register
shllv_s
option.
shllv_s.w rd, rt, rs
shra.ph rd, rt, sa
2
×
SIMD paired-half shift-right arithmetic (“arithmetic” because the vacated high bits of
the value are replaced by copies of the input bit 16, the sign bit) - thus performing a cor-
rect division by a power of two of a signed number.
As usual the
shra_v
variant has the shift amount specified in a register.
The
_r
versions round the result first (see
above).
shra_r.ph rd, rt, sa
shrav.ph rd, rt, rs
shrav_r.ph rd, rt, rs
shra_r.w rd, rt, sa
32-bit signed/arithmetic shift right with rounding, see
.
shrav_r.w rd, rt, rs
shrl.qb rd, rt, sa
4
×
SIMD shift right logical (“logical” means that the vacated high bits are filled with
zero, appropriate since the byte quantities in a quad-byte are usually treated as
unsigned.)
shrlv.qb rd, rt, rs
subq.ph rd,rs,rt
2
×
SIMD subtraction.
subq_s.ph
saturates its results to a signed 16-bit range.
subq_s.ph rd,rs,rt
subq_s.w rd,rs,rt
32-bit saturating subtraction.
subu.qb rd,rs,rt
4
×
SIMD quad-byte subtraction. Since quad-bytes are treated as unsigned, the saturating
variant
subu_s.qb
works to an unsigned byte range.
subu_s.qb rd,rs,rt
wrdsp rt,mask
Write the
DSPControl
register with data from
rt
, but leaving unchanged any fields for
which the appropriate mask bit is zeroed, see
above.
Table 7.2 DSP instructions in alphabetical order
Instruction
Description
Содержание MIPS32 74K Series
Страница 1: ...Document Number MD00541 Revision 02 14 March 30 2011 Programming the MIPS32 74K Core Family...
Страница 10: ...Programming the MIPS32 74K Core Family Revision 02 14 10...
Страница 20: ...1 4 A brief guide to the 74K core implementation Programming the MIPS32 74K Core Family Revision 02 14 20...
Страница 28: ...2 2 PRId register identifying your CPU type Programming the MIPS32 74K Core Family Revision 02 14 28...
Страница 54: ...3 8 The TLB and translation Programming the MIPS32 74K Core Family Revision 02 14 54...
Страница 83: ......
Страница 86: ...6 5 FPU pipeline and instruction timing Programming the MIPS32 74K Core Family Revision 02 14 86...
Страница 101: ...The MIPS32 DSP ASE 101 Programming the MIPS32 74K Core Family Revision 02 14...
Страница 134: ...8 4 Performance counters Programming the MIPS32 74K Core Family Revision 02 14 134...
Страница 154: ...C 3 FPU changes in Release 2 of the MIPS32 Architecture Programming the MIPS32 74K Core Family Revision 02 14 154...