I am trying to implement the axi outstanding feature in CPP, i tried to search if there is already a model in CPP, did not find alot. Is there such model ? If not, Is there any diff in terms of READ and WRITE when it comes to outstanding ?
In additional, what is the expectation to performance degregation when having memory latency 10 with oustatnding of 16 aginst memory with 200 as first access latency and the secong access latency is 1, assuming b2b transactions.
I'm not sure what CPP is here, so I can't answer that part. If CPP = C++, then I'm still not sure what the answer is.
For the second part, you won't get bandwidth degradation until the length of your transactions * the number of outstanding transaction is less than the latency. Of course, there may be other factors in your system that influence this, but it works as a rough rule.
Performance degradation more generally is harder to measure, as the impact of the initial latency may be significant in your system. Equally, your system may not require the full bandwidth of the AXI interface, and so decreasing the available bandwidth may not affect overall performance.
Hi, Thanks for you answer.
I will make it more clear, if we are haveing a memory with 200 cycle latency for the data and outstanding Q of 16, the read and the write will be symmetrical ? or the write will be shorter than the read ?
It depends on your system whether the read and write latency is symmetrical. Many systems allow posted writes to return an early write response which means the write latency is shorter than the read latency.
View all questions in SoC Design forum