🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #2108

Re: Filling branch delay slot with test

#2108
From: John Hascall
Date: Tue, 05 Sep 1989 01:22
38 lines
2064 bytes
In article <26859> mash@mips.COM (John Mashey) writes:
}In article <1432> hascall@atanasoff.cs.iastate.edu.UUCP (John Hascall) writes:
}
}>
}>         AGAIN:   JSUB   FOO_RTN        ; return FOO in R0
}>                  BEQL   AGAIN          ; try again if we
}>		  TEST   R0             ;   get zero back
}>		  JSUB   BAR_RTN        ; turn the FOO into a BAR
 
}>     Although not without complications, it would seem an
}>     excellent way to have a high branch delay slot fill ratio.
 
}The issue is doing the test far enough in advance of the conditional
}branch that the branch can use the results without stalls.

    I was thinking of doing it the other way around.

}Put another way: as much as computer architects would like
}pipestages whose results are available in advance of their execution,
}such things are only found in science-fiction......

     No.  What I was alluding to was "starting down both paths" of the
     branch and then "dumping the loser".

     One (simple minded?) way of doing this would be to have two
     parallel fetch&instruction-decoders in the pipe (perhaps with
     suitable memory interleaving).

     T     EXECUTE        F&I-D 1        F&I-D 2
     I     -------------  -------------  -------------
     M     BEQL AGAIN     TEST R0        -idle-
     E     TEST R0        JSUB BAR_RTN   JSUB FOO_RTN
     |     JSUB ???_RTN   ...            ...
     V


John Hascall
Signature void where prohibited by law.
Technical Details
Message-ID: <1437@atanasoff.cs.iastate.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!deimos.cis.ksu.edu!atanasoff!hascall
References: <1432@atanasoff.cs.iastate.edu> <26859@winchester.mips.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!deimos.cis.ksu.edu!atanasoff!hascall
From: hascall@atanasoff.cs.iastate.edu (John Hascall)
Newsgroups: comp.arch
Subject: Re: Filling branch delay slot with test
Message-ID: <1437@atanasoff.cs.iastate.edu>
Date: 5 Sep 89 01:22:43 GMT
References: <1432@atanasoff.cs.iastate.edu> <26859@winchester.mips.COM>
Reply-To: hascall@atanasoff.cs.iastate.edu.UUCP (John Hascall)
Distribution: na
Organization: Iowa State Univ. Computation Center
Lines: 38