When I used the word "simulate" I simply meant that 1 big processor core can do the job of 2 half as fast ones by switching between two threads at a sufficiently rapid pace. On the other hand the 2 half as fast ones will simply be half as fast as the big processor core when only a single thread is available to run (because 1 of the 2 will be idle.)The complexity of multicore machines is that it can be tough to divide up certain tasks. Some things depend on the result of another operation, as a result, you may not see a speedup from having multiple cores/cpus. There are other issues as well.
Overall, my point would be that neither is acting or simulating the other.
And yes, it's the complexity, and sometimes impossibility, of writing such multi-threaded code that leads to the second situation, fewer threads than cores, being quite common.