EasyManua.ls Logo

Sun Microsystems UltraSPARC-I - Integer Execution Unit (IEU) Instructions

Sun Microsystems UltraSPARC-I
410 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Sun Microelectronics
284
UltraSPARC User’s Manual
17.5 Integer Execution Unit (IEU) Instructions
IEU instructions can be dispatched only if they are in the first three instruction
slots. A maximum of two IEU instructions can be executed in one cycle. There are
two IEU pipelines: IEU
0
and IEU
1
. The two data paths are slightly different, and
some IEU instructions can be dispatched only to a particular pipeline. The fol-
lowing instructions can dispatched to either IEU pipeline: ADD, AND, ANDN, OR,
ORN, SUB, XOR, XNOR and SETHI. These instructions can be grouped together or
with older IEU
0
or IEU
1
specific instructions.
The IEU
0
data path has dedicated hardware for shift instructions: SLL{X}, SRL{X}.
SRA{X}. Two shift instructions cannot be grouped together. Shift instructions can
be grouped with older IEU
1
specific instructions, but they cannot be grouped
with older non-specific IEU instructions. For example:
The IEU
1
datapath has dedicated hardware for the condition-code-setting instruc-
tions: (TADDcc{TV}, TSUBcc{TV}, ADDcc, ANDcc, ANDNcc, ORcc, ORNcc, SUBcc,
XORcc, XNORcc), EDGE and ARRAY. CALL, JMPL, BPr, PST and FC-
MP{LE,NE,GT,EQ}{16,32}
also require the IEU
1
data path (besides counting as CTI,
store, or floating-point instructions respectively), since they must access the inte-
ger register file. Two instructions requiring the use of IEU
1
cannot be grouped to-
gether; for example, only one instruction that sets the condition codes can be
dispatched per cycle. An IEU
1
instruction can be grouped with older shift in-
structions and non-specific IEU instructions.
Note: For UltraSPARC-II, a valid control transfer instruction (CTI) that was
fetched from the end of a cache line is not dispatched until its delay slot also has
been fetched.
17.5.1 Multi-Cycle IEU Instructions
Some integer instructions execute for several cycles and sometimes prevent the
dispatch of subsequent instructions until they complete.
MULScc inserts one bubble after it is dispatched.
SDIV{cc} inserts 36 bubbles, UDIV{cc} inserts 37 bubbles, and {U,S}DIVX inserts 68
bubbles after they are dispatched.
ADD i1, i2, i6 GECN
1
N
2
N
3
W
SLL i6, 2, i8 GECN
1
N
2
N
3
W
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

Table of Contents