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
multiplexor 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.
A invenção atual é um método para executar duas arquiteturas em uma única microplaqueta. O método usa um motor buscar recuperar instruções. Se as instruções forem macroinstructions, então descodifica os macroinstructions em microinstructions, e empacota então aqueles microinstructions usando um bundler, dentro de um motor da emulation. Os pacotes são emitidos na paralela e despachados ao motor da execução e contêm pre-descodificam bocados de modo que o motor da execução os trate como microinstructions. Antes de ser transferido ao motor da execução, as instruções podem ser prendidas em um amortecedor. O método seleciona também entre microinstructions empacotados do motor da emulation e os microinstructions nativos que vêm diretamente do motor buscar, usando um multiplexor ou outros meios. os microinstructions nativos e os microinstructions empacotados podem ser prendidos no amortecedor. O método emite também a informação adicional ao motor da execução.