Skip to content

Release v3.0a

Compare
Choose a tag to compare
@gktrk gktrk released this 05 May 23:17
· 116 commits to master since this release
v3.0a
  • Added
    • Support for separate RISC-V Bios and Kernel
    • Command line option flush-sim-mem to flush simulator memory hierarchy on every fresh simulation run
    • Command line option sim-trace to generate instruction commit trace during simulation
    • Distinct configurable read-hit and write-hit latency for all the caches
    • Return address stack (RAS)
    • Branch prediction and speculative execution support for out of order core
    • Print performance counters on terminal when the simulation completes
    • More performance counters:
      • Instruction types
      • ecall
      • page walks for loads, stores and instructions
      • memory controller delay for data and instructions
      • hardware interrupts
  • Changed
    • Port to TinyEMU version 2019-12-21
    • For bimodal branch predictor, store prediction bits in a separate Branch history table (BHT)
    • For in-order core, non-memory instructions can forward their result from MEM stage in addition to EX stage
    • For in-order core, relaxed interlocking on WAW data hazard
    • Simplified out of order core design, ROB slots are now used as physical registers along with a single rename table and a single global issue queue
  • Fixed
    • Correctly calculated the rounding mode for floating pointing instruction decoding
    • Converted c.addiw result buffer into int32_t on 64-bit simulation
    • Set the data type to unint64_t for 64-bit simulation, for the buffer which holds the memory address for atomic instructions
    • Issue #13 and #14 (thanks to Okhotnikov Grigory)