gem5.prebuilt.riscvmatched.riscvmatched_core.html
gem5.prebuilt.riscvmatched.riscvmatched_core module¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74BP(**kwargs)¶
Bases:
TournamentBP
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74CPU(**kwargs)¶
Bases:
RiscvMinorCPU
The fetch, decode, and execute stage parameters from the ARM HPI CPU This information about the CPU can be found on page 15 of gem5_rsk_gem5-21.2.pdf at https://github.com/arm-university/arm-gem5-rsk
The parameters that are changed are: - threadPolicy:
This is initialized to “SingleThreaded”.
- decodeToExecuteForwardDelay:
This is changed from 1 to 2 to avoid a PMC address fault.
- fetch1ToFetch2BackwardDelay:
This is changed from 1 to 0 to better match hardware performance.
- fetch2InputBufferSize:
This is changed from 2 to 1 to better match hardware performance.
- decodeInputBufferSize:
This is changed from 3 to 2 to better match hardware performance.
- decodeToExecuteForwardDelay:
This is changed from 2 to 1 to better match hardware performance.
- executeInputBufferSize:
This is changed from 7 to 4 to better match hardware performance.
- executeMaxAccessesInMemory:
This is changed from 2 to 1 to better match hardware performance.
- executeLSQStoreBufferSize:
This is changed from 5 to 3 to better match hardware performance.
- executeBranchDelay:
This is changed from 1 to 2 to better match hardware performance.
- enableIdling:
This is changed to False to better match hardware performance.
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74Core(core_id)¶
Bases:
BaseCPUCore
U74Core models the core of the HiFive Unmatched board. The core has a single thread. The latencies of the functional units are set to values found in Table 8 on page 40.
IntFU: 1 cycle
IntMulFU: 3 cycles
IntDivFU: 6 cycles (NOTE: latency is variable, but is set to 6 cycles)
MemReadFU: 2 cycles
MemWriteFU: 2 cycles
- The branch predictor is a TournamentBP, based on Section 4.2.5 on page 38.
BTBEntries: 32 entries
RASSize: 12 entries
IndirectSets: 16 sets
localPredictorSize: 16384
globalPredictorSize: 16384
choicePredictorSize: 16384
localCtrBits: 4
globalCtrBits: 4
choiceCtrBits: 4
localHistoryTableSize: 4096 B
Note
The TournamentBP deviates from the actual BP. This configuration performs the best in relation to the hardware.
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74FUPool(**kwargs)¶
Bases:
MinorFUPool
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74FloatSimdFU(**kwargs)¶
Bases:
MinorDefaultFloatSimdFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74IntDivFU(**kwargs)¶
Bases:
MinorDefaultIntDivFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74IntFU(**kwargs)¶
Bases:
MinorDefaultIntFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74IntMulFU(**kwargs)¶
Bases:
MinorDefaultIntMulFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74MemReadFU(**kwargs)¶
Bases:
MinorDefaultMemFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶
- class gem5.prebuilt.riscvmatched.riscvmatched_core.U74MemWriteFU(**kwargs)¶
Bases:
MinorDefaultMemFU
- abstract = False¶
- cxx_exports = []¶
- cxx_extra_bases = []¶
- cxx_param_exports = []¶
- cxx_template_params = []¶