It uses dynamic branch prediction and speculative execution to let execution continue before it knows the results of a conditional branch. It also uses register renaming and data forwarding to handle data dependencies within the pipelines. The Nx586 uses 14 rename registers as destinations for writes to the 80x86 architectural registers, including the eight general-purpose registers. When it is finally retired, it is allowed to update an architectural register. The Nx586 fetches, decodes, an d translates 80x86 instructions in order and issues RISC86 instructions in order.
Instructions can execute and terminate out of order, but they are retired in order.
The Nx586 is a fascinating design. It demonstrates that the 80x86 chip's microarchitecture hardly needs to resemble Intel's offerings. On a range of common benchmarks, it performed comparably to the Pentium. It might even presage some ideas that Intel has planned for the P6 and P7. As a commercial product, however, the Nx586 has a way to go.