History log of /XiangShan/src/main/scala/xiangshan/backend/rename/freelist/StdFreeList.scala (Results 1 – 25 of 26)
Revision Date Author Comments
# 3dfb64bd 25-Nov-2024 Zehao Liu <[email protected]>

fix(HPM): fix PTW perfevent print error, organize the code format of some perfevents (#3890)

`getperfevent` retrieves both the `name` and `value` fields, whereas
`getperf` only retrieves the `value

fix(HPM): fix PTW perfevent print error, organize the code format of some perfevents (#3890)

`getperfevent` retrieves both the `name` and `value` fields, whereas
`getperf` only retrieves the `value` port. The original implementation
caused all perf event information for PTW to be printed as
`perfEventsPTW`, making them indistinguishable.

show more ...


# d1e473c9 30-May-2024 xiaofeibao <[email protected]>

Rename: fix debug_v0_rat debug_vl_rat connection


# 368cbcec 28-May-2024 xiaofeibao <[email protected]>

Rename: v0 vl split


# 4eebf274 25-Apr-2024 sinsanction <[email protected]>

Rename: split fp and vec FreeList


# 780712aa 19-Mar-2024 xiaofeibao-xjtu <[email protected]>

backend: new rob 8 banks read and 8 commit width


# 5f8b6c9e 07-Mar-2024 sinceforYy <[email protected]>

Backend: add clock gating to valid singal


# 4b0d80d8 11-Oct-2023 Xuan Hu <[email protected]>

Merge upstream/master into tmp-backend-merge-master


# 8891a219 08-Oct-2023 Yinan Xu <[email protected]>

Bump rocket-chip (#2353)


# e986c5de 18-Sep-2023 Xuan Hu <[email protected]>

backend,perf: add more PMC


# c61abc0c 06-Aug-2023 Xuan Hu <[email protected]>

merge master into new-backend

Todo: fix error


# fa7f2c26 20-Jul-2023 Tang Haojin <[email protected]>

CtrlBlock: implement rename snapshot (#2191)

* CtrlBlock: new ME method for better timing and area

* ctrlblock: implement snapshot recovery

* rename: enlarge distance between snapshots

* sn

CtrlBlock: implement rename snapshot (#2191)

* CtrlBlock: new ME method for better timing and area

* ctrlblock: implement snapshot recovery

* rename: enlarge distance between snapshots

* snapshot: add rename snapshot switch

* CtrlBlock: add snapshotGen API

* snapshot: optimize timing

* snapshot: put snapshot logic in a module

show more ...


# dcf3a679 12-Jul-2023 Tang Haojin <[email protected]>

CtrlBlock: new ME method for better timing and area (#2161)

new move elimination method:

1. get old_pdest from arch-rat when commit;
2. get ready-for-free from comparing old-pdest with arch-rat

CtrlBlock: new ME method for better timing and area (#2161)

new move elimination method:

1. get old_pdest from arch-rat when commit;
2. get ready-for-free from comparing old-pdest with arch-rat after commit;

show more ...


# d91483a6 28-Apr-2023 fdy <[email protected]>

add vset support

Co-authored-by: zhanglyGit <[email protected]>
Co-authored-by: Xuan Hu <[email protected]>


# b6c99e8e 29-Dec-2022 ZhangZifei <[email protected]>

Merge remote-tracking branch 'origin/master' into rf-after-issue


# 3c02ee8f 25-Dec-2022 wakafa <[email protected]>

Separate Utility submodule from XiangShan (#1861)

* misc: add utility submodule

* misc: adjust to new utility framework

* bump utility: revert resetgen

* bump huancun


# 4bc8d977 25-Dec-2022 ZhangZifei <[email protected]>

rename: fix bug of freelist number cause by mixed v/f reg


# ccfddc82 01-Nov-2022 Haojin Tang <[email protected]>

rename: Re-rename instead of walking back after redirect (#1768)

* freelist & refcounter: implement arch states

* walk: restore and walk again when redirecting

* ROB: optimize invalidation of

rename: Re-rename instead of walking back after redirect (#1768)

* freelist & refcounter: implement arch states

* walk: restore and walk again when redirecting

* ROB: optimize invalidation of `valid`

show more ...


# 66b2c4a4 12-Jul-2022 Yinan Xu <[email protected]>

ctrl: optimize freelist timing (#1633)

* rat: map all arch registers to zero when init

* freelist: fix stepBack width

* freelist: fix timing of free offset


# 5ef86c38 25-Jun-2022 Yinan Xu <[email protected]>

freelist: optimize timing of read and writing (#1593)

This commit optimizes the timing of freelist by changing the updating
function of headPtr and tailPtr.

We maintains an one-hot representatio

freelist: optimize timing of read and writing (#1593)

This commit optimizes the timing of freelist by changing the updating
function of headPtr and tailPtr.

We maintains an one-hot representation of headPtr and further uses it to
read the free registers from the list, which should be better than the
previous implementation where headPtr is used to indexed into the queue.

The update of tailPtr and the freelist is delayed by one cycle to
optimize the timing. Because freelist allocates new registers in the
next cycle iff there are more than RenameWidth free registers in this
cycle. The freed registers in this cycle will never be used in the next
cycle. Thus, we can delay the updating of queue data to the next cycle.
We also move the update of tailPtr to the next cycle, since PopCount
takes a long timing and we move the last adder to the next cycle. Now
the adder works parallely with PopCount. That is, the updating of
tailPtr is pipelined.

show more ...


# 1ca0e4f3 10-Dec-2021 Yinan Xu <[email protected]>

core: refactor hardware performance counters (#1335)

This commit optimizes the coding style and timing for hardware
performance counters.

By default, performance counters are RegNext(RegNext(_)).


# 459d1cae 26-Nov-2021 Yinan Xu <[email protected]>

refCounter: optimize timing for freeRegs (#1255)

This commit changes how isFreed is calculated. Instead of using
refCounter in the next, we compute it at this cycle and RegNext it.


# cd365d4c 23-Oct-2021 rvcoresjw <[email protected]>

add performance counters at core and hauncun (#1156)

* Add perf counters
* add reg from hpm counter source
* add print perfcounter enable


# 70224bf6 16-Oct-2021 Yinan Xu <[email protected]>

rename: support full-featured move elimination (#1123)

This commit optimizes the move elimination implementation.

Reference counting for every physical register is recorded. Originally
0-31 regi

rename: support full-featured move elimination (#1123)

This commit optimizes the move elimination implementation.

Reference counting for every physical register is recorded. Originally
0-31 registers have counters of ones. Every time the physical register
is allocated or deallocated, the counter is increased or decreased by
one. When the counter becomes zero from a non-zero value, the register
is freed and released to freelist.

show more ...


# f4b2089a 16-Oct-2021 Yinan Xu <[email protected]>

core: use redirect ports for flush (#1121)

This commit removes flush IO for every module. Flush now re-uses
redirect ports to flush the instructions.


# 2824417d 23-Aug-2021 YikeZhou <[email protected]>

rename: [refactoring] remove useless file + comment added


12