È molto difficile calcolare l'utilizzo della larghezza di banda della memoria. Ci sono molti problemi di cache e MMU non banali da affrontare. L'unico vero modo per farlo è attraverso l'uso di simulazioni o misurazioni del mondo reale.
È possibile ottenere un'idea "approssimativa" eseguendo il debug del codice e contando il numero di carichi di memoria e le operazioni di memorizzazione eseguite. Tuttavia, sapere se si tratta di un cache hit/miss è un altro problema.
Dipende dal tuo scopo. Se si desidera ottenere una stima approssimativa, è possibile utilizzare la regola generale che circa il 30% del codice di uso generale è carico di memoria e negozi. Se stai cercando di ottenere il caso peggiore, puoi supporre che i cache perdano tutto il tempo e risolvono il problema.
Una potenziale cosa che potresti fare è guardare alla virtualizzazione. Ci sono diverse opzioni open source (mi viene in mente QEMU). Potrebbe essere possibile esportare determinate misure hardware da loro.
Perché è codificato come C#, C++ e c? – unwind