F.3.3 tsb organization, F.4.2 tsb pointer formation, Tsb organization 88 tsb pointer formation 88 – FUJITSU Implementation Supplement Fujitsu SPARC64 V User Manual

Page 99: Tsb pointer formation

Advertising
background image

88

SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002

F.3.3

TSB Organization

IMPL. DEP. #227

:

The maximum number of entries in a TSB is implementation

dependent in JPS1. See impl. dep. #228 for the limitation of

TSB_size

in TSB

registers.

SPARC64 V supports a maximum of 16 million lines in the common TSB and a
maximum 32 million lines in the split TSB. The maximum number N in

FIGURE

F-4 of Commonality

is

16 million (16 * 2

20

).

F.4.2

TSB Pointer Formation

IMPL. DEP. #228

:

Whether

TSB_Hash

is supplied from a TSB Extension Register or

from a context-ID register is implementation dependent in JPS1. Only for cases of
direct hash with context-ID can the width of the

TSB_size

field be wider than 3

bits.

On SPARC64 V,

TSB_Hash

is supplied from a context-ID register. The width of

the

TSB_size

field is 4 bits.

IMPL. DEP. #229

:

Whether the implementation generates the TSB Base address by

exclusive-ORing the TSB Base Register and a TSB Extension Register or by taking the

TSB_Base

field directly from the TSB Extension Register is implementation

dependent in JPS1. This implementation dependency is only to maintain
compatibility with the TLB miss handling software of UltraSPARC I/II.

On SPARC64 V, when

ASI_MCNTL.JPS1_TSBP

= 1, the TSB Base address is

generated by taking

TSB_Base

field directly from the TSB Extension Register.

TSB Pointer Formation

On SPARC64 V, the number N in the following equations ranges from 0 to 15; N is
defined to be the

TSB_Size

field of the TSB Base or TSB Extension Register.

SPARC64 V supports the TSB Base from TSB Extension Registers as follows when

ASI_MCNTL.JPS1_TSBP

= 1.

For a shared TSB (TSB Register split field = 0):

8K_POINTER = TSB_Extension[63:13+N]

(VA[21+N:13]

TSB_Hash)

0000

64K_POINTER = TSB_Extension[63:13+N]

(VA[24+N:16]

TSB_Hash)

0000

For a split TSB (TSB Register split field = 1):

Advertising