Components for a cycle-accurate ARM-like processor simulator in C++