cwfletcher / stt

BSD 3-Clause "New" or "Revised" License
34 stars 11 forks source link

Whether readyToExpose is still effective in STT to control delaying TLB lookup? #7

Closed morning21 closed 3 years ago

morning21 commented 3 years ago

I'm reading the implementation about how to control delaying TLB lookup. According to current implementation, STT does not use readyToExpose in InvisiSpec anymore before TLB lookup. That's to say, the status of isSPEC() in request is not set if the isInvisibleSpec flag is not enabled. Then, the TLB lookup is not delayed.

If I want to enable delaying TLB lookup, is it necessary to enable the isInvisibleSpec flag during simulation?

Waiting for your response. Thank you very much!

jiyongyu commented 3 years ago

Yes. https://github.com/cwfletcher/stt/blob/master/src/cpu/o3/iew_impl.hh#L1260 Loads cannot be issued (certainly not be able to perform TLB lookups) if "fenceDelay" is set.

morning21 commented 3 years ago

I see. Thank you very much!

morning21 commented 3 years ago

Current STT delays execution for fence delayed loads, instead of handling them with InvisiSpec.