On Mon, Jun 29, 2009 at 7:07 PM, Gabriel Michael Black < gbl...@eecs.umich.edu> wrote:
> Quoting Steve Reinhardt <ste...@gmail.com>: > > > On Mon, Jun 29, 2009 at 6:02 PM, Gabriel Michael Black < > > gbl...@eecs.umich.edu> wrote: > > > >> That is true, but I think what he's talking about is when the CPSR > >> doesn't actually matter at all since the condition is "always". I > >> don't know what the best way to do that would be, but one possibility > >> would be to decode each instruction as two variants, one that's > >> conditional and one that isn't. At this point we'd have four variants > >> of a number of instructions (conditional X branch), but since > >> unconditional is probably the most common form and we'd save the > >> condition check in those versions it's likely worth it from a > >> performance perspective too. > >> > > > > I've only been half-following this thread, but I believe Gabe is right: > you > > need StaticInst objects that claim to be different things > > (branch/non-branch, conditional/unconditional, dependent/independent of > > flags, etc.) based on the details of the encoding. Whether you do this > by > > decoding to different classes (like most ISAs with normal branches do) or > > just having more-complex-than-usual methods on a single class (as I think > > Jack has already suggested) is just a tradeoff of decoder complexity vs. > > runtime performance, as far as I can tell. > > > > Steve > > > > In this case it's also a question of where the decision is made. If > it's in the decoder then it's isolated to that ISA, and if not it's in > the CPU(s) for all ISAs. That wouldn't be horrible, but it would be > really nice to avoid. Yea, I thought we'd agreed to push as much as possible into the decoder. > Have you thought of any way to get the isa_parser to cooperate as far > as the operand reading/writing code? > Not really... haven't put much time into it. I know the issue is that the simplistic regex method of identifying sources and dests will not handle conditional updates; is there a way we can override that in these cases? Steve
_______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev