Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic question about memory access patterns #54

Open
sms821 opened this issue Mar 18, 2022 · 1 comment
Open

Basic question about memory access patterns #54

sms821 opened this issue Mar 18, 2022 · 1 comment
Labels
question Further information is requested

Comments

@sms821
Copy link

sms821 commented Mar 18, 2022

Thank you for creating and releasing this tool. It helped me understand systolic array functionality to a large extent.

I have a basic question: after the simulation ends, the tool produces DRAM and SRAM read and write trace files. In each of these files, each line lists the memory addresses where data are read from/written to, for each computation cycle of the systolic array. These addresses are not consecutive in memory. This may be a basic question, but I wanted to understand how data are accessed from multiple distinct memory locations in the same processor clock cycle or how is this implemented in real hardware.

Additionally, the ISPASS paper associated with this work presents a number of energy consumption graphs based on Scale-Sim simulations. It would be great if you could shed some light on how these energy results were obtained.

Hope you can clarify my doubts. Thank you!

@zishenwan zishenwan added the question Further information is requested label Aug 24, 2023
@Singhabhisheknitp
Copy link

I know it is quite late however while working on the project I jumped to this question so though of answering so that others could get clarity if they come around.

DRAM is suitable for dynamic random access and yes you can access any memory cell from DRAM , not necessarily in accessing block size fashion.

However in Computer architecture, our program exhibits great quotients of temporal/spatial locality and our cache access are made that way to fetch some block size, instead of single memory cell to use this to advantage.
so it is made as general architecture in all the computer system however not all the computer system would follow the same technique. Different custom architectures might have random single acesses and not in block

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants