I need to add some hardware to a multicoe x86-64 processor and test it using simulation, so I was thinking of using QEMU. But I want to know the general idea of modeling a CPU in qemu. Any good document on this will be great. If it is too difficult to do, I might think about using just the PIN tool for simplistic simulation.
Also, is it possible to model unconventional hardware with QEMU, like some shared registers between different cores of a processor? And does the current implemented models properly simulate things like cache accesses? Does the qemu simulator measure the elapsed time precisely for simulation?