# Tyche-Artifact **Repository Path**: lasimu/Tyche-Artifact ## Basic Information - **Project Name**: Tyche-Artifact - **Description**: No description available - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## What's Tyche? [Tyche](https://dl.acm.org/doi/10.1145/3641853) is a hardware prefetcher designed to improve the performance of indirect memory access(IMAs) patterns. It utilizes a bilateral propagation mechanism to accurately uncover the instruction dependencies in simple chains with moderate length (rather than complex graphs). Based on the exact instruction dependencies, Tyche can effectively recognize a variety of IMAs patterns, including nonlinear ones, and generate accurate prefetching requests continuously. ## About The Framework Tyche is integrated within the [ChampSim](https://github.com/ChampSim/ChampSim) simulator. Since the ChampSim does not maintain the operand values, decoding information, or the execution unit, we have made several modifications. These modifications entail: 1. expanding the original Champsim trace format to encompass both the instruction code and execution result. 2. introducing two structures, the register file and the memory, to maintain the architectural-level state during execution. 3. incorporating decode logic and execution unit to traverse instructions in the dependency chain. ## Compile ChampSim takes a JSON configuration script. Examine `champsim_config.json` for a fully-specified example. All options described in this file are optional and will be replaced with defaults if not specified. The configuration scrip can also be run without input, in which case an empty file is assumed. ``` $ ./config.sh