Hi Shan, In out-of-order simulation (*Flex.OoO), wrong-path execution is fully simulated. That is, we use a 21264-style tournament predictor to direct instruction fetch, and we fetch and execute down speculative paths. Loads execute speculatively, and wrong-path loads will issue to the cache hierarchy.
In in-order simulation, there is no branch predictor, and thus, there is no wrong path. The InorderSimicsFeeder always gets the correct commit instruction stream from Simics. The BPWarm component exists in the in-order simulators solely for the purpose of constructing branch predictor state checkpoints for use in out-of-order simulation. It is probably possible to use the BPWarm component to simulate extra latency for branch mispredictions in the in-order simulator, but we have never tried this. It will not be possible to get wrong-path instructions in the in-order mode. We currently support the out-of-order simulation mode for SPARC v9 only. In this mode, Flexus fully interprets and executes the instruction stream (we only use Simics as a checker to confirm Flexus has executed an instruction correctly). Regards, -Tom Wenisch On Wed, 9 Nov 2005, shan wrote: > Hi Tom, > I have a question about branch misprediction simulation. > How will the branch mis-prediction time be charged? > I guess at each branch instruction, we know whether this one will be > mis-predicted or not. If we know our prediction will be wrong, will the > simulation proceeds along the wrong direction and speculatively fetch data > from cache? > A related question is: will Simics gives flexus speculative executing > instructions? or the 'feeder' actually only gets always correct instructions > from simics? > > Thanks > Shan > > From twenisch at ece.cmu.edu Thu Nov 10 03:24:55 2005 From: twenisch at ece.cmu.edu (Thomas Wenisch) List-Post: [email protected] Date: Thu Nov 10 03:24:07 2005 Subject: [Simflex] SimFlex Tutorial slides available on SimFlex home page Message-ID: <pine.lnx.4.53l-ece.cmu.edu.0511100319310.6...@dalmore.ece.cmu.edu> Hi all, The slides for the SimFlex tutorial we are giving this Saturday at MICRO 2005 in Barcelona have been posted on the SimFlex web site. The tutorial covers: - Simulation sampling background & theory - Measuring commercial applications with Flexus - Developing with Flexus You can download the slides from: http://www.ece.cmu.edu/~simflex Best Regards, -Tom Wenisch
