> From a quick read it sounds like option 2 would be better, cleaner, > and more extensible. In reality other than Alpha all ISAs have some > microcoded instructions. I don't see a reason not to deal with > microops as first class operations.
I read all of both of your e-mails, and I agree with Ali on making the microcode rom a first class citizen. Many ISAs will have microcode, and Alpha just won't use it (though one could if they wanted to write special instructions to do magic things.) Also, I'd say let's get things right first, then worry about how to cache things properly. If we do the full expansion of microops into StaticInst objects (which sounds like the right plan to me), then we can store them in a decode cache based on PC, and just encode the environment as a tag that is only checked to confirm that you got the correct static inst. If the tag doesn't match, then you replace the StaticInst in the cache for that PC. I'd bet that in the vast majority of cases, a particular microop at a particular PC is only ever seen in one environment, so it would be rare for the cache to hit the PC and miss the environment. Were there any other questions that I should have answered? Steve have any opinions? Nate _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
