The present invention is a method for implementing two architectures on a
single chip. The method uses a fetch engine to retrieve instructions. If
the instructions are macroinstructions, then it decodes the
macroinstructions into microinstructions, and then bundles those
microinstructions using a bundler, within an emulation engine. The
bundles are issued in parallel and dispatched to the execution engine and
contain pre-decode bits so that the execution engine treats them as
microinstructions. Before being transferred to the execution engine, the
instructions may be held in a buffer. The method also selects between
bundled microinstructions from the emulation engine and native
microinstructions coming directly from the fetch engine, by using a
multiplexer or other means. Both native microinstructions and bundled
microinstructions may be held in the buffer. The method also sends
additional information to the execution engine.