Hello
Here is the result of printing in logic.h, the class is AssociativeArray:
V* probe(T addr)
    {
     float addrInGB = (float)addr/(float)(1024*1024*1024);
     if (isL2 )
        {

     std::cout<<" addr = "<<addr<<" addr in GB "<<addrInGB<<"GB  "<<"\n";
    }

.....
    }

I have added isL2 variable, to print the addresses for only L2 cache.

addr = 16785400 addr in GB 0.0156326GB
* addr = 4808179704 addr in GB 4.47797GB
............
 addr = 4808179704 addr in GB 4.47797GB*
 addr = 16793584 addr in GB 0.0156402GB
...
 addr = 4808177792 addr in GB 4.47796GB
 addr = 51168 addr in GB 4.76539e-05GB
  addr = 16804352 addr in GB 0.0156503GB
 addr = 16902064 addr in GB 0.0157413GB

 addr = 16902088 addr in GB 0.0157413GB
 addr = 4824080080 addr in GB 4.49277GB

I did -m 4G. I am compiling with c=4.
I am surprised, that the addr goes more than 4GB, although I have never seen
any error of 'address out of bounds'.

Do you know how it is possible?


Thanks and Regards
Sparsh Mittal
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to