Where is the "get started" documentation?
(01-17-2019, 02:04 PM)kgf Wrote: Hello,

The memory system is not that exciting actually. The drawing on the GitHub page is actually pretty accurate. There is no real 'memory hierarchy' it is assumed that all the memory in the PULPissimo system is (relatively) small. A multi banked memory (Tightly Coupled Data Memory == TCDM) is connected to the requesting systems cores (one for data one for instruction), accelerators, DMA engine and JTAG through the logarithmic interconnect that does arbitration of the requests. In most cases accesses will be to different banks and all requests can be handled in parallel. So all devices that access memory should be stallable (in case they do not get access to the memory) and in the best case (no conflicts) all memory accesses will be handled with single cycle latency. 

In Arnold for example the TCDM is 512 kByte and there are 16 banks of memory cuts. The core has a tiny buffer (typically 1 word) for the instructions (to handle compressed instructions) if really needed an instruction cache could be connected to it as well, we do not use it, and it is not part of the PULPissimo distribution.

Does that answer the question?

Yes, well it sort of does. 
I specifically wanted to see the implementation of memory system in hardware description language. 
I am working on making my own system based on the instructions given on the github page and I will investigate a bit more. And then perhaps phrase the question in a better way.


Messages In This Thread
RE: Where is the "get started" documentation? - by Athena - 01-21-2019, 09:44 AM

Forum Jump: