LR/SC: Multi-Core Implementation in Rocket

100 views
Skip to first unread message

胡博涵

unread,
Mar 5, 2021, 12:19:17 PM3/5/21
to RISC-V HW Dev

I'm studying the source code of Rocket-chip, interested in the implementation of the reservation set for LR/SC mentioned in the spec. Unfortunately, I only found the reservation set register exists in local D$ (NBDCache.scala, DCache.scala). I didn't found ports for interactions between different harts.

I'm eager to know the mechanism for a hart to observe the store to the registered address from other hart, and how it is implemented in Rocket or Boom.

Thanks a lot!
Bohan

Andrew Waterman

unread,
Mar 5, 2021, 5:57:20 PM3/5/21
to 胡博涵, RISC-V HW Dev
The coherence protocol between the cores’ caches is responsible for the inter-core interactions. (And there’s only one hart per core.) So the D$ code contains all of the details.

--


You received this message because you are subscribed to the Google Groups "RISC-V HW Dev" group.


To unsubscribe from this group and stop receiving emails from it, send an email to hw-dev+un...@groups.riscv.org.


To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/hw-dev/6fc7fa75-110f-45ab-80e1-310a6384b755n%40groups.riscv.org.


Reply all
Reply to author
Forward
0 new messages