-
Notifications
You must be signed in to change notification settings - Fork 390
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
May 2023 Release Candidate #353
Conversation
Added support for Apple devices
Hi, just when downloading it and doing: ./config.sh champsim_config.json Some warnings appear: WARNING: key "ptw_mshr_size" in PTW cpu0_PTW is deprecated. Use "mshr_size" instead. Should champsim_config.json be updated with the WARNING suggestion? |
Fixed. |
This pull request includes two fixes: The first one is that BRANCH_OTHER considered conditional branches in ChampSim. Among other effects, the most important current "bug" is that the BTB considers them as "always_taken" which is not right. The second ones is considering that conditional branches can also read from other registers, and not just from flag registers. In general, I think we should avoid to have a BRANCH_OTHER type as it may be confusing. But for now, this patch fixes some current problems.
Fixed cache miss count in case of an MSHR full. The miss should only be counted once rather than in every cycle until an MSHR becomes available. --------- Co-authored-by: Nathan Gober <ngober@protonmail.com>
Fixes #359. There was a bug in the tag lookup where cascading misses in the PTW might cause the L1D to deadlock. This patch allows the `inflight_tag_check` member to drain to the `translation_stash`, allowing bandwidth for translated packets (from the PTW) to be looked up.
This patch fixes a bug where a MSHR merge in the TLB would discard the translation, resulting in occasionally failed `packet.address != 0` assertions.
Resolves #364 This patch fixes a bug where an MSHR merge could destroy the event cycle, causing a deadlock.
May 2023 Release Candidate
The next release of ChampSim is here. This is the result of months of work from multiple contributors to improve the simulator. Please migrate your work to this release candidate and provide feedback here. I expect this release candidate will be merged in a month or so.
Features
./config.sh A.json B.json
will work the same as if you had specified their union. In this way, you can keep common parts of a configuration in a file that doesn't change and replace only the parts that do change.make
.champsim::msl
namespace):fwcounter
andsfwcounter
: (signed) fixed-width saturating counters. These can transparently perform arithmetic, saturating their values at their maximum and minimum according to the number of bits supplied in the template parameter. These are famously used in the bimodal branch predictor, but show up in a variety of other contexts as well.lru_table
: A simple table with LRU replacement, useable with any value type.lg2()
: a constexpr function to calculate the base-2 logarithmbitmask()
: a function to create a bitmask for selecting certain bits out of a valuesplice_bits()
: a function to select the upper bits from one value and the lower bits from anotherImprovements
basic_btb
module (thanks @alberto-ros)Breaking Changes