val io = new Bundle {
val requestor = Vec(n, new TLBPTWIO).flip
val mem = new HellaCacheIO
val dpath = new DatapathPTWIO
}
Hello to everybody,currently I try to understand how the translation lookaside buffer and the page table walker are connected to each other in the rocket-chip project and how virtual addresses are resolved to physical addresses.I already have some guesses and it would be great if someone could say one or two words about them :).As it can be seen here https://www.lowrisc.org/docs/tagged-memory-v0.1/rocket-core/ the instruction cache contains one TLB block which can trigger a refill.1. Is this refill operation performed by the PTW?
The file src/main/Scala/rocket/PTW.scala in the rocket-chip repo defines the followingval io = new Bundle {
val requestor = Vec(n, new TLBPTWIO).flip
val mem = new HellaCacheIO
val dpath = new DatapathPTWIO
}
2. Does this mean the part are connected like this?rocket core -> L1 instruction cache -> TLB(in every icache) -> PTW
3. Is there another TLB element in the L2 cache?
4. Does the L1 and/or L2 data cache have the same kind of TLB element? (Works the same?)
4. Does the PTW on its own have some kind of cache?
Greetings from Munich,Aaron Dietz
--
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 post to this group, send email to hw-...@groups.riscv.org.
Visit this group at https://groups.google.com/a/groups.riscv.org/group/hw-dev/.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/hw-dev/ff2cf85b-e253-4859-bd18-6fb95863d705%40groups.riscv.org.
To unsubscribe from this group and stop receiving emails from it, send an email to hw-...@groups.riscv.org.
I'm also looking at how these two modules interact and have a couple of questions regarding superpage management.I see the L1 TLB module used inside the caches have specific entries to hold superpages. When looking at the L2 TLB embedded in the PTW module, I can't find differentiation between superpage of leaf page entries. Am I right in concluding that all translations are cached in the L2 TLB as 4K pages?
Also, it seems the TLB module uses the level signal in the PTWResp field of the TLBPTWIO bundle to figure out if the translation resulted in a superpage or not. Is this correct? What I'm failing to grasp is, if my previous assumption regarding the granularity of the L2 TLB entries is correct, how is the superpage information correctly forward to the L1 TLB when there is an L2 hit.
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/ed633e8f-e9c1-4655-85f0-b4694e9ce7af%40groups.riscv.org.
To unsubscribe from this group and stop receiving emails from it, send an email to hw-...@groups.riscv.org.
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/18eb29e9-8c82-4e32-a8e9-c8925db1d018%40groups.riscv.org.
--
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/CAJ4GwD%2BPbX2J%3Dk8419pXr3815bhr5h4H8-ndFw66cY4uMkd6xA%40mail.gmail.com.