Skip to content

Implement software prefetching instructions #234

Open
pavelkryukov opened this issue Nov 22, 2017 · 3 comments
Open

Implement software prefetching instructions #234

pavelkryukov opened this issue Nov 22, 2017 · 3 comments
Labels
3 Features of medium complexity or infrastructure enhancements enhancement Adds a new feature to simulation. S2 — Caches To solve the issue, you NEED knowledge about caches. OOO hierarchy etc.

Comments

@pavelkryukov
Copy link
Member

MIPS IV introduces pref instruction which prefetches data from memory.

The 1st difficulty is encoding: pref instruction has a hint field which defines it behavior. We may think about prefetch instruction as a set of instructions (like REGIMM instructions):

Secondly, prefetching is not a data read: it generates no traps.

Finally, prefetching may have different outcome depending on hints

@pavelkryukov pavelkryukov added 3 Features of medium complexity or infrastructure enhancements enhancement Adds a new feature to simulation. S2 — Caches To solve the issue, you NEED knowledge about caches. OOO hierarchy etc. labels Nov 22, 2017
@pavelkryukov pavelkryukov added this to the 64-bit MIPS milestone Nov 22, 2017
@AndreiZoltan AndreiZoltan self-assigned this Apr 1, 2018
@AndreiZoltan
Copy link
Contributor

What OperationType value should we use in pref instruction?

@pavelkryukov
Copy link
Member Author

You need to add a new type, as you have to set dst = mips_zero somewhere.

@pavelkryukov
Copy link
Member Author

Actually I advise you to start with #17.
It does not make sense to do prefetches if there is no data cache.

@AndreiZoltan AndreiZoltan removed their assignment Apr 7, 2018
@pavelkryukov pavelkryukov removed this from the Enhanced MIPS milestone Oct 10, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
3 Features of medium complexity or infrastructure enhancements enhancement Adds a new feature to simulation. S2 — Caches To solve the issue, you NEED knowledge about caches. OOO hierarchy etc.
Projects
None yet
Development

No branches or pull requests

2 participants