OOO cores domains
I noticed that OOO cores (OOO core recorders to be specific) ar statically assigned domain zero as compared to timing cores which have dynamically assigned domains as specified in the init.cpp file.
Do OOO cores have to be assigned the same domain? If not, why are they statically assigned to domain 0?
Thank you very much in advance.
I haven't tried OOO core recorders in particular, but for OOO cores, my understanding is that the domain is assigned based on the number of banks in the shared last-level cache. For example, if your sim has 32 cores with an LLC that has 8 banks, then cores 0-3 will be in domain 0, cores 4-7 will be in domain 1, etc.
Thank you very much for your reply. But the OOOCoreRecorder has a domain field which is only set in the constructor which is called from the OOOCore constructor with the domain field set to zero.
My guess is that this is a minor typo. Maybe the author started with a single-domain design for the OoO core since it was easy, but later forgot to change that. You are welcome to try multiple domains. Not sure if the code is well tested in that case, but please post any issues you find, or contribute a patch :)
I will give it a try and see what happens. Thanks for your help