[PTLsim-devel] Internal Loads / Stores (LDP / STP) vs. cache hierarchy

Stephan Diestelhorst
Thu Jul 5 10:15:32 EDT 2007


Hi again,
  thanks for the quick reply!
> Yes, you're right - this was an oversight on our part. ldp/stp should hit
> the private microcode scratch space (mostly the Context structure) with 2
> cycle latency and should not go through the cache.
>
> You could add this to the end of issueload():



Thanks, I tried to incorporate that (for ooocore aswell), see the attached 
internal_load.diff.

> Similar code could be added to commit() for stp stores.

Well, that wasn't quite so straightforward (at least with my minimal insight), 
as stores are actually just processed in the commit phase.

AFAICS, there are two possibilities to handle the internal store: Either store 
already in issuestore, and do nothing in the commit-phase or (as I've tried) 
in the cache's commitstore method.

I'm not quite sure, whether my idea is okay, as (again) I'm not too confidend 
about treatment of the forwarding buffers and such.

If someone could please have a look at the patch and comment on its sanity?

Additionally, I was wondering about ordering of accesses to the internal 
fields. Once we try to circumvent the dependencies, forwarding queues, etc. 
Is there any chance of evil reordering of reads and writes to internal 
storage because of the out-of-order execution?

Thanks for hints and comments!

Yours,
  Stephan
-- 
Stephan Diestelhorst, AMD Operating System Research Center
stephan.diestelhorst at amd.com, Tel.   (AMD: 8-4903)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: internal_load.diff
Type: text/x-diff
Size: 1887 bytes
Desc: not available
Url : https://ptlsim.org/pipermail/ptlsim-devel/attachments/20070705/b32f5e02/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: internal_store.diff
Type: text/x-diff
Size: 2582 bytes
Desc: not available
Url : https://ptlsim.org/pipermail/ptlsim-devel/attachments/20070705/b32f5e02/attachment-0001.bin 


More information about the PTLsim-devel mailing list