Replies: 5 comments
-
Are there "standard" addresses that are reserved for that we should take into consideration? using the MSB [31:30] might be ok - but I'm not sure if it has other effects and impacts I'm not aware of. |
Beta Was this translation helpful? Give feedback.
-
Not really: the hardware should provide the memory space and it's up to software to partition it. Regarding bits [31:30], I think it's better to use them if there are no problems and not waste precious address bits. One concern I can think of is how it will work with 64 bits, but that's far away. Regarding the actual layout, it may be better to put CORE_ID in the MSBs because it's more intuitive, but on the other hand it may be more difficult to extend when we add more cores. |
Beta Was this translation helpful? Give feedback.
-
This makes me think maybe we should return to the original Address core location. This is my rationale:
Having the core/CR region bits in the MSB - will make a lot of memory interleave which in my opinion will be confusing. |
Beta Was this translation helpful? Give feedback.
-
If we want to add more cores, a layout like this is what I have in mind:
Regarding shared memory, we have two bits of region but only 3 are occupied. Perhaps we can take the reserved region type and use it for shared memory access (let's call it
The |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Memory address space should be defined such that region and CORE_ID will be in the MSBs. This definition fits all possible memory sizes without the need to redefine and it is easier for software to work with a contiguous memory space.
Possible structure:
Notes:
New CRs for software:
Beta Was this translation helpful? Give feedback.
All reactions