- Dec 20, 2023
-
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
This PR introduces the following - Allows loads to perform Virtual address to Physical address translation before older loads complete This can be configured using a parameter in the LSU (`allow_speculative_load_exec`) - Allow non blocking cache lookup requests. Depends on #91 for the cache to support this feature - Implements Ready queue - simulator-only structure to speed up instruction lookup in the LSU - Mitigates data hazards introduced by instructions running out of order - The length of the different stages of the LSU pipeline can be configured through the parameters. --------- Co-authored-by:Knute Lingaard <klingaard@gmail.com>
-
- Dec 15, 2023
-
-
Knute authored
-
- Dec 14, 2023
-
-
Knute authored
Unfortunately my editor removed a lot of superfluous white space which makes this PR look big.
-
- Dec 08, 2023
-
-
Knute authored
Signed-off-by:Knute <56927209+klingaard@users.noreply.github.com>
-
Knute authored
Added restrictions on supported programming languages Signed-off-by:Knute <56927209+klingaard@users.noreply.github.com>
-
- Dec 06, 2023
-
-
Kunal-Buch authored
-> L2Cache can accept multiple requests from DCache and IL1. -> Cache functional model used is SimpleDL1. -> Configurable cache hit latency. -> Misses are forwarded to BIU and kept are tracked in the local buffer. -> Miss to the pending cacheline is not sent out to BIU. -> Backpressure handling for BIU credits. -> make regress clean. --------- Signed-off-by:
Kunal-Buch <145377279+Kunal-Buch@users.noreply.github.com> Co-authored-by:
Knute <56927209+klingaard@users.noreply.github.com>
-
Knute authored
Fixed a couple of things: 1. Issue 126: bad character in ALF file generated from missing raw string identifier for python: r"\1" 2. Added dependency in Makefile on the gen_alf.py script 3. Added error message when the MAP ALF generator cannot be found
-
- Dec 05, 2023
-
-
Aaron Chan authored
Fix renaming to skip renaming of x0 outlined in https://github.com/riscv-software-src/riscv-perf-model/issues/118 . Changes: - `renameInstructions_()` now checks if a source is x0, if it is and is a data operand for a LSU operation, we still create a data register for it, as we need to check in LSU for x0 before issuing instruction - Added a boolean `x0` field to `Reg` struct in `RenameData` that tracks if a data register is an `x0` instruction. This helps on reclamation of rename credits in `getAckFromROB_()` to make sure we don't decrement for an x0 data register - Updated logic to handle for destination reclamation in `getAckFromROB_()` to ensure when we reclaim credits/freelist registers/references, we don't process them for x0 destinations - Fixed initial allocation of freelist registers for `RF_INTEGER` to only map registers for x1 - x31, before we were mapping from x0 - x31, so we should technically see a performance improvement as we gained 1 extra freelist register from not renaming x0 --------- Signed-off-by:
Aaron Chan <achn357@gmail.com> Co-authored-by:
Knute <56927209+klingaard@users.noreply.github.com>
-
- Nov 16, 2023
-
-
Suraj Shirvankar authored
-
- Nov 14, 2023
-
-
Suraj Shirvankar authored
-
Knute authored
Removed the old perl generator; uses the new python generator in Sparta. These changes make a few assumptions: 1. The user is using a newer version of sparta map_v2 2. The path to the clone of map is next to the clone of olympia
-
jeffnye-gh authored
improve performance when stf tracing is enabled, issue #55 retain n_cycles=10000 until the stf trace opc is detected. Once the stop opc is detected restore n_cycles=10000 result is better interactivity under linux, improving overall performance and usability when not actively generating a trace. This is a re-implementation of previous draft PR. trace opc trigger detection is done in dromajo_template. trace record creation and handling is done in dromajo_stf.cpp headers gathered into dromajo_stf.h --------- Co-authored-by:jeff <jeffnye-gh@github.com>
-
- Nov 13, 2023
-
-
Knute Lingaard authored
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
-
- Nov 10, 2023
-
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
-
- Nov 09, 2023
-
-
vineethkm authored
Change name of the SimpleDL1 class to a more generic name "SimpleCache3"
-
Suraj Shirvankar authored
-
-
- Nov 08, 2023
-
-
Knute Lingaard authored
First cut of applied Clang format and new build rules for it. We will slowly move each and every file over to the new formats. --------- Co-authored-by:Knute Lingaard <sparcians1@gmail.com>
-
- Nov 03, 2023
-
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
Co-authored-by:
Knute Lingaard <knute.lingaard@sifive.com> Signed-off-by:
Suraj Shirvankar <surajshirvankar@gmail.com>
-
Suraj Shirvankar authored
Co-authored-by:
Knute Lingaard <knute.lingaard@sifive.com> Signed-off-by:
Suraj Shirvankar <surajshirvankar@gmail.com>
-
Suraj Shirvankar authored
-
Suraj Shirvankar authored
-
- Nov 01, 2023
-
-
Suraj Shirvankar authored
-
- Oct 14, 2023
-
-
light2802 authored
Does not work yet. DO NOT MERGE --------- Co-authored-by:Knute Lingaard <Knute.Lingaard@sifive.com>
-
- Oct 13, 2023
-
-
Knute Lingaard authored
-
- Oct 09, 2023
-
-
Knute Lingaard authored
Removed some dead code as well. Added `void onStartingTeardown_() override {}` to the LSU in this PR as an example. This method is called every time just before the unit is destroyed -- either during an exception or a clean teardown.
-
- Oct 06, 2023
-
-
Knute Lingaard authored
Added new pipeline target: `f2i`. Fixed the JSONs to reflect the intended source/dest direction.
-
- Sep 28, 2023
-
-
Suraj Shirvankar authored
Clang-format config based on the style guide in #87 --------- Signed-off-by:Suraj Shirvankar <surajshirvankar@gmail.com>
-
Knute Lingaard authored
Signed-off-by:Knute Lingaard <knute.lingaard@sifive.com>
-
- Sep 08, 2023
-
-
Suraj Shirvankar authored
I kept the logic the same as it was earlier. One of the design considerations was to use the BIU to communicate with the cache and MMU.However it was later decided to keep the communication simple until we design a more robust MMU design. Same as #77 but the branch is in this repo instead of the fork --------- Co-authored-by:
vineethkm <vineethkm.01@gmail.com> Co-authored-by:
Knute Lingaard <Knute.Lingaard@sifive.com>
-
- Aug 30, 2023
-
-
Suraj Shirvankar authored
The goal of the PR is to improve build times. Currently the build steps take around > ~15 mins and most of the time is spent building sparta and the other dependencies. This should bring it down to roughly ~6 mins. CCache is used to cache build files, the cache for each branch is unique to prevent cache invalidation issues between different branches. Conda dependencies are also cached although the time to build is not affected as much roughly ~1 mins but would be higher if the network is slow.Conda spends a lot of time checking the dependencies. Cached action run https://github.com/h0lyalg0rithm/riscv-perf-model/actions/runs/5987171626
-
- Aug 25, 2023
-
-
Aaron Chan authored
Adds separate tracking address/data operands for stores (https://github.com/riscv-software-src/riscv-perf-model/issues/69). Fixes isStore bug (https://github.com/riscv-software-src/riscv-perf-model/issues/78 ). Fixes assertion bug in LSU. --------- Signed-off-by:
Aaron Chan <achn357@gmail.com> Co-authored-by:
Knute Lingaard <knute.lingaard@sifive.com>
-
- Aug 09, 2023
-
-
light2802 authored
This patchset adds documentation for generating coremark trace from scratch.
-
- Aug 01, 2023
-
-
avinash mehta authored
Adding space after the message, as instruction details follow Signed-off-by:avinash mehta <avinashmehtadelhi@gmail.com>
-