I'm not sure if this can be technically defined as cycle accurate, since cpu instructions are still executed atomically, instead of executing each instruction cycle independently... I guess the end result is what matters and not the actual implementation?
EDIT: I suck at c++