- Aug 02, 2016
-
-
Christopher Celio authored
-
Megan Wachs authored
-
Megan Wachs authored
-
- Aug 01, 2016
-
-
Andrew Waterman authored
-
Andrew Waterman authored
-
Andrew Waterman authored
-
- Jul 30, 2016
-
-
Andrew Waterman authored
-
Andrew Waterman authored
-
mwachs5 authored
- List things that are no longer submodules as subpackages instead - clean up some formatting issues
-
Andrew Waterman authored
-
Andrew Waterman authored
-
Andrew Waterman authored
-
Andrew Waterman authored
This is necessary to guarantee forward progress with RVC, since if the BTB keeps mispredicting, the processor might never successfully fetch both halves of a misaligned instruction.
-
Andrew Waterman authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
- Jul 29, 2016
-
-
Howard Mao authored
-
Howard Mao authored
-
Andrew Waterman authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
- Jul 28, 2016
-
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
- Jul 27, 2016
-
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
-
Howard Mao authored
It was possible that the result of a store-conditional could get lost if it did not depend on the result of the corresponding load-reserved. This was because the MSHR does not update the client state based on the secondary requests. So the LR would acquire the line in clientExcusiveClean, but then we would fail to update the metadata array to change the state to clientExclusiveDirty. The solution is to track whether a secondary acquire would cause the line to be dirty. If so, use M_XWR instead of the primary command to generate the update coherence state.
-
Howard Mao authored
-
Howard Mao authored
The deadlock condition occurs when the acquire tracker attempts to request a writeback while the writeback unit is still busy and a voluntary release for the block to be written back is coming in. The voluntary release cannot be accepted because it conflicts with the acquire tracker. The acquire tracker can't merge the voluntary release because it is waiting to send the writeback. The writeback can't progress because the release it is waiting on is behind the voluntary release. The solution to this is to break the atomicity guarantee between the acquire tracker and the writeback unit. This allows the voluntary release tracker to take the voluntary release before the writeback unit accepts the conflicting request. This causes a potential race condition for the metadata array. The solution to this is to have the writeback unit re-read the metadata after accepting a request.
-
- Jul 26, 2016
-
-
Howard Mao authored
-
- Jul 23, 2016
-
-
Howard Mao authored
-
Wesley W. Terpstra authored
-