Gabe Black wrote:
> nathan binkert wrote:
>   
>>>  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
>>   
>>     
> I think your right between those two options. Right now, the microops 
> are cached as part of the macroop they're from. The macroop is cached as 
> the first level instruction from the decoder, and it statically 
> instantiates the microops which get stored away with it. I also agree 
> that, most of the time, or at least for some period of time, the 
> environment for a microop will be -similar-, but not necessarily the 
> same. Some things which could change are the several register indices of 
> the original macroop in the usual case (not interrupts or faults at fetch).
>
>   
I should clarify that by "statically" I mean at construction rather than 
on demand.
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to