The MIPS32® DSP ASE
89
Programming the MIPS32® 74K™ Core Family, Revision 02.14
ouflag
: one of these bits may be set when a result overflows (whether or not the result is saturated depends on the
instruction - the flag is set in either case). The "ou" stands for "overflow/underflow" - "underflow" is used here for a
value which is negative but with excessive absolute value.
Any overflowed/underflowed result produced by any DSP ASE instruction sets a
ouflag
bit, except for
addsc
/
addwc
and
shilo
/
shilov
.
The 6 bits are set according to the destination of the operation which overflowed, and the kind of operation it
was:
EFI
: set by any of the accumulator-to-register bitfield extract instructions
extp
,
extpv
,
extpdp
, or
extpdp
. It’s set
to 1 if and only if the instruction finds there are insufficient bits to extract. That is, if
DSPControl[pos]
- which is
supposed to mark the highest-numbered bit of the field we’re extracting - is less than the size value specified by the
instruction.
c
: Carry bit for 32-bit add/carry instructions
addsc
and
addwc
.
scount, pos
: Fields for use by "variable" bitfield insert and extract instructions, such as
insv
(the normal MIPS32
ins
/
ext
instructions have the field size and position hard-coded in the instruction).
scount
specifies the size of the bit field to be inserted, while
pos
specifies the insert position.
Caution: in all inserts (following the lead of the standard MIPS32 insert/extract instructions)
pos
is set to the
lowest bit number in the field. But in the DSP ASE extract-from-accumulator instructions (
extp
,
extpv
,
ext-
pdp
and
extpdpv
),
pos
identifies the highest-numbered bit in the field.
The latter two (“dp”) instructions post-decrement
pos
(by the bitfield length
size
), to help software which is
unpacking a series of bitfields from a dense data structure.
The
mthlip
instruction will increment the
pos
value by 32 after copying the value of
lo
to
hi
.
7.2.1 DSP accumulators
Whereas a standard MIPS32 architecture CPU has just one 64-bit multiply unit accumulator (accessible as
hi
/
lo
), the
DSP ASE provides three 64-bit accumulators. Instructions accessing the extra accumulators specify a 2-bit field as 0-
3 (0 selects the original accumulator).
7.3 Software detection of the DSP ASE
You can find out if your core supports the DSP ASE by testing the
Config3[DDSP]
bit (see notes to
).
Then you need to enable use of instructions from the MIPS DSP ASE by setting
Status[MX]
to 1.
Bit No
Overflowed destination/instruction
16-19 Destination register is a multiply unit accumulator:
separate bits are respectively for accumulators 0-3.
20
Add/subtract.
21
Multiplication of some kind.
22
Shift left or conversion to smaller type
23
Accumulator shift-then-extract
Содержание 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...