4 addressing modes, 1 context-relative addressing mode, Addressing modes 4.1.4.1 – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 173: Context-relative addressing mode, Table 57

Advertising
background image

Hardware Reference Manual

173

Intel

®

IXP2800 Network Processor

Microengines

It is also possible to make use of both or one LM_Addrs as global by setting
CTX_Enable[LM_Addr_0_Global] and/or CTX_Enable[LM_Addr_1_Global]. When used

globally, all Contexts use the working copy of LM_Addr in place of their own Context specific

one; the Context specific ones are unused.

4.1.4

Addressing Modes

GPRs can be accessed in two different addressing modes: Context-Relative and Absolute. Some

instructions can specify either mode; other instructions can specify only Context-Relative mode.

Transfer and Next Neighbor registers can be accessed in Context-Relative and Indexed modes.

Local Memory is accessed in Indexed mode.

The addressing mode in use is encoded directly into each instruction, for each source and
destination specifier.

4.1.4.1

Context-Relative Addressing Mode

The GPRs are logically subdivided into equal regions such that each Context has exclusive access
to one of the regions. The number of regions (four or eight) is configured in the CTX_Enable CSR.

Thus, a Context-Relative register name is actually associated with multiple different physical

registers. The actual register to be accessed is determined by the Context making the access request
(the Context number is concatenated with the register number specified in the instruction — see

Table 57

). Context-Relative addressing is a powerful feature that enables eight different contexts to

share the same microcode, yet maintain separate data.

Table 57

shows how the Context number is used in selecting the register number in relative mode.

The register number in

Table 57

is the Absolute GPR address, or Transfer or Next Neighbor Index

number to use to access the specific Context-Relative register. For example, with eight active

Contexts, Context-Relative Register 0 for Context 2 is Absolute Register Number 32.

Table 57. Registers Used by Contexts in Context-Relative Addressing Mode

Number of

Active

Contexts

Active

Context
Number

GPR

Absolute Register Numbers

S_Transfer or

Neighbor

Index Number

D_Transfer

Index Number

A Port

B Port

8

0

0 – 15

0 – 15

0 – 15

0 – 15

1

16 – 31

16 – 31

16 – 31

16 – 31

2

32 – 47

32 – 47

32 – 47

32 – 47

3

48 – 63

48 – 63

48 – 63

48 – 63

4

64 – 79

64 – 79

64 – 79

64 – 79

5

80 – 95

80 – 95

80 – 95

80 – 95

6

96 – 111

96 – 111

96 – 111

96 – 111

7

112 – 127

112 – 127

112 – 127

112 – 127

4

0

0 – 31

0 – 31

0 – 31

0 – 31

2

32 – 63

32 – 63

32 – 63

32 – 63

4

64 – 95

64 – 95

64 – 95

64 – 95

6

96 – 127

96 – 127

96 – 127

96 – 127

Advertising