If you can run with cache disabled, your code is that much more debuggable. Design your code so it can run in some degraded, slower mode. If your training leans towards the software side of the business learn about hardware. You'll never make full use of an emulator without some grounding in hardware issues. As processor speeds creep up, physical aspects of the emulator become more important.
Electrons move at the speed of light.
We just can't push them any faster. It takes a lot of electronics to make an emulator. These ICs and the cable will shift the timing of signals applied to your system. In wire electrons move at around 2 nsec per foot, so even an 18 inch cable will induce a 3 nsec shift in timing. At speeds above 10 Mhz this is a lot of time.