1. 17 9月, 2021 1 次提交
    • Y
      regfile: manually reset every registers (#1038) · 93b61a80
      Yinan Xu 提交于
      This commit adds manual reset for every register in Regfile. Previously
      the reset is done by add reset values to the registers. However,
      physically general-purpose register file does not have reset values.
      
      Since all the regfile always has the same writeback data, we don't need
      to explicitly assign reset data.
      93b61a80
  2. 02 9月, 2021 1 次提交
    • Y
      rs,mem: support fast load-to-load wakeup and issue (#984) · 718f8a60
      Yinan Xu 提交于
      This PR adds support for fast load-to-load wakeup and issue. In load-to-load fast wakeup and issue, load-to-load latency is reduced to 2 cycles.
      
      Now a load instruction can wakeup another load instruction at LOAD stage 1. When the producer load instruction arrives at stage 2, the consumer load instruction is issued to load stage 0 and using data from the producer to generate load address.
      
      In reservation station, load can be dequeued from staged 1 when stage 2 does not have a valid instruction. If the fast load is not accepted, from the next cycle on, the load will dequeue as normal.
      
      Timing in reservation station (for imm read) and load unit (for writeback data selection) to be optimized later.
      
      * backend,rs: issue load one cycle earlier when possible
      
      This commit adds support for issuing load instructions one cycle
      earlier if the load instruction is wakeup by another load. An extra
      2-bit UInt is added to IO.
      
      * mem: add load to load addr fastpath framework
      
      * mem: enable load to load forward
      
      * mem: add load-load forward counter
      Co-authored-by: NWilliam Wang <zeweiwang@outlook.com>
      718f8a60
  3. 25 8月, 2021 1 次提交
  4. 22 8月, 2021 1 次提交
  5. 21 8月, 2021 1 次提交
    • Y
      backend: separate store address and data (#921) · 85b4cd54
      Yinan Xu 提交于
      This commit separates store address and store data in backend, including both reservation stations and function units. This commit also changes how stIssuePtr is updated. stIssuePtr should only be updated when both store data and address issue. 
      85b4cd54
  6. 04 8月, 2021 1 次提交
  7. 25 7月, 2021 1 次提交
  8. 24 7月, 2021 1 次提交
  9. 17 7月, 2021 3 次提交
  10. 16 7月, 2021 2 次提交
  11. 14 7月, 2021 1 次提交
    • Y
      backend: wrap all RS into a larger scheduler module (#880) · 66220144
      Yinan Xu 提交于
      This commit adds an non-parameterized scheduler containing all reservation stations.
      Now IntegerBlock, FloatBlock, MemBlock contain only function units.
      The Schduler connects dispatch with all function units.
      Parameterization to be added later.
      66220144