some questions about pulpissimo L1 memory - Printable Version +- PULP Community (https://pulp-platform.org/community) +-- Forum: PULP's Community forum (https://pulp-platform.org/community/forumdisplay.php?fid=1) +--- Forum: PULP General questions (https://pulp-platform.org/community/forumdisplay.php?fid=2) +--- Thread: some questions about pulpissimo L1 memory (/showthread.php?tid=363) |
some questions about pulpissimo L1 memory - jsen_che11 - 11-25-2024 Hello, this is my first time working with PULPissimo for my research group’s project, and I’ve encountered some questions during its use:
RE: some questions about pulpissimo L1 memory - kgf - 11-26-2024 I think the naming might be a bit confusing. Our main research projects do not use traditional data cache. We use a local (smaller) memory that is able to respond within a cycle. The higher level hierarchies are then managed differently (either through a DMA, i.e. software controlled). In short L1 refers to the level1 memory, and is not necessarily interpreted as L1 cache. Note that the instruction cache in these systems works in a traditional way. Conflict between instruction and data memory reads in such systems are handled by multiple physical banks (the logarithmic or tcdm interconnect would allow the system to access two parallel reads from different memory banks) The conflicts are reduced by placing the code and data to physically distinct memory blocks. In some systems where there are also acceleerators this leads to more elaborate banking designs. They differ from application to application so it is not a generic method, we have some projects where we are more or less aggressive with these tricks. Our Ariane/CVA6 based systems use traditional L1 data caches. Hope that clarifies some questions RE: some questions about pulpissimo L1 memory - jsen_che11 - 11-27-2024 (11-26-2024, 06:44 PM)kgf Wrote: I think the naming might be a bit confusing. Our main research projects do not use traditional data cache. We use a local (smaller) memory that is able to respond within a cycle. The higher level hierarchies are then managed differently (either through a DMA, i.e. software controlled). In short L1 refers to the level1 memory, and is not necessarily interpreted as L1 cache. Note that the instruction cache in these systems works in a traditional way. Thank you for your reply! I’ve understood that "the conflicts are reduced by placing the code and data into physically distinct memory blocks." However, I still have a few questions that I’d like to confirm with you:
RE: some questions about pulpissimo L1 memory - jsen_che11 - 11-28-2024
|