This is a discussion on UltraSPARC III jump target prepare instruction? within the Sun Solaris Hardware forums, part of the Solaris Operating System category; --> While reading the USIII Cu manual (Version 2.2 May 2003), I found this interesting comment in section 3.1.1, page ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| While reading the USIII Cu manual (Version 2.2 May 2003), I found this interesting comment in section 3.1.1, page 3-25: (after describing the RAS' use as indirect branch predictor) "For other indirect branches (branches whose targets are determined by a register value), the software can provide a branch target prediction with a jump target preparation instruction." This is the first I've heard of SPARC having a jump target preparation instruction. The manual doesn't seem to describe it any further. Can anyone sched some light on this? -- Mikael Pettersson (mikpe@csd.uu.se) Computing Science Department, Uppsala University |
| |||
| >>>>> "Mikael" == Mikael Pettersson <mikpe@harpo.csd.uu.se> writes: Mikael> While reading the USIII Cu manual (Version 2.2 May 2003), Mikael> I found this interesting comment in section 3.1.1, page 3-25: Mikael> (after describing the RAS' use as indirect branch predictor) Mikael> "For other indirect branches (branches whose targets are Mikael> determined by a register value), the software can provide Mikael> a branch target prediction with a jump target preparation Mikael> instruction." Mikael> This is the first I've heard of SPARC having a jump target Mikael> preparation instruction. The manual doesn't seem to describe Mikael> it any further. Maybe it's refering to the BPN instruction (branch never with prediction). The Sparc V9 manual says this can be a prefetch for instructions, fetching from the branch target. It can also be just a nop. Maybe the US-III actually makes it a prefetch. Ray |
| ||||
| In article <4nk784sva5.fsf@edgedsp4.rtp.ericsson.se>, Raymond Toy <toy@rtp.ericsson.se> wrote: >>>>>> "Mikael" == Mikael Pettersson <mikpe@harpo.csd.uu.se> writes: > > Mikael> While reading the USIII Cu manual (Version 2.2 May 2003), > Mikael> I found this interesting comment in section 3.1.1, page 3-25: > > Mikael> (after describing the RAS' use as indirect branch predictor) > Mikael> "For other indirect branches (branches whose targets are > Mikael> determined by a register value), the software can provide > Mikael> a branch target prediction with a jump target preparation > Mikael> instruction." > > Mikael> This is the first I've heard of SPARC having a jump target > Mikael> preparation instruction. The manual doesn't seem to describe > Mikael> it any further. > >Maybe it's refering to the BPN instruction (branch never with >prediction). The Sparc V9 manual says this can be a prefetch for >instructions, fetching from the branch target. It can also be just a >nop. Maybe the US-III actually makes it a prefetch. Hmm (checking V9 manual) Nope, I don't think so. BPN is a regular branch with immediate displacement, which makes it useless as a "prepare" instruction for indirect branches. I suspect they added a new instruction. -- Mikael Pettersson (mikpe@csd.uu.se) Computing Science Department, Uppsala University |