Can you stack one cpu on top of another, same cpu?
They are side by side on chip, and tightly integrated with the memory and control interface/datapaths.  

You certainly cannot stack them on top of one another (unless they are specially built for this).

The benefits of multicore are that the individual are so close together (on the same silicon die) and do not have the huge cap of normal input/output pads for internal signals.  This lets the cores communicate very quickly with one another.  



Notice how the memory controller has access to each core.  And the cache (high speed memory, much faster than RAM) is shared among two sets of 3-cores.

Once the cores are physically separated per chip, all of those very close connections get incredibly long.  That requires a lot more drive power.  This in turn slows everything down.

On top of that they are not built for this.  You might be able to run two cores in parallel (with special MOBOs) but it would not be the same as 'dualcore' vs 'quadcore'. (and not as good as if they were integrated on a single chip).  It could handle independent threads well, but if they depended on each other the communication between the cores off-chip would be very slow.  And a lot of internal nodes / caches are not exposed to the CPU's I/O.