jms@close.columbia.edu (Jonathan M. Smith) (07/05/88)
comp.arch readers: I need a reference on bifurcated pipelines (I don't know whether this is trivial knowledge or not, I'm a software person and I heard about these in an architecture class in 1982. The basic idea is to avoid draining the pipe on a branch instruction by fetching stuff for *both* directions of the branch into *two* pipelines, and selecting the right stream upon evaluation of the conditional. Supposedly, one or more models in the IBM 370 Architecture did this). In particular, the reference should describe the assumptions made by the designers, e.g. pipeline drain time vs. increased memory traffic, interleaved storage, cacheing, side-effects, branch frequency, etc. That is, I'd like to know the engineering tradeoffs which affect use of such a design. If you are not aware of a reference, but have design experience which includes such schemes, I'd appreciate hearing about it. Thanks for any help, -Jonathan