# Nx586

L'Nx586 rappresentava per NexGen la prima e ultima generazione tecnologica dei suoi processori.

## Esecuzione Superscalare

La generazione precedente di processori x86 forniva solo una unità di esecuzione che eseguiva le istruzioni. I processori superscalari Nx586 e Pentium avevano entrambi due unità di esecuzione che permettevano alte prestazioni nei calcoli. La microarchitettura RISC86 dei processori Nx586 provvedeva implementazioni molto efficienti per alte prestazioni e future estendibilità.

## Codice di Architettura Harvard della Cache L1

Migliori prestazioni della classe 586 erano dovute anche all'uso separato di codice di Architettura Harvard sul chip e data cache per la memoria cache L1. Per prendere vantaggio dalla cache L1, i processori Nx586 includevano 16k di cache istruzioni e 16k di cache dati separati a differenza degli 8k (8k cache istruzioni e 8k cache dati) per i Pentium. Queste cache mantenevano le chiavi di istruzioni e dati vicino al motore di calcolo per incrementare le prestazioni globali del sistema.

## Branch Prediction

Se il processore può prevedere l'esito di un'istruzione di salto condizionato, l'esecuzione può procedere più velocemente. I processori di classe 586 includevano così circuiteria di branch prediction. I processori Nx586 brevettati con la logica di branch prediction prevedevano con accuratezza queste decisioni nella maggior parte dei casi, migliorando così le prestazioni.

## Bus a 64-bit

I processori di classe 586 impiegavano bus a 64bit, il doppio del bus della precedente generazione di processori. Questo bus più ampio muove i dati più velocemente e quindi migliora le prestazioni. Il processore Nx586 impiegava i bus a 64bit tra il sistema incluso quelli tra il processore Nx586 e il coprocessore Nx587, tra il processore Nx586 e tra il chipset logico di sistema NxVL o NxPCI.

## Microarchitettura RISC86

Il processore Nx586 implementava pienamente il set di istruzioni x86 per essere in grado di far girare più di 50.000 applicazioni. Questa implementazione è portata a termine grazie all'uso della microarchitettura RISC86 brevettata per i processori NexGen. L'approccio innovativo del RISC86 traduce dinamicamente le istruzioni x86 in istruzioni RISC86. Queste istruzioni RISC86 furono progettate specificatamente con supporto diretto per l'architettura x86 mentre rispettano i principi delle prestazioni RISC. Queste sono così più semplici e più facili da eseguire che le complesse istruzioni x86.
Da notare che questo approccio era fondamentalmente differente dai processori RISC, che non avevano nessun supporto qualsiasi per il set di istruzioni x86. La microarchitettura RISC86 contiene anche molte tecniche di scienza allo stato dell'arte per realizzare le più alte prestazioni.
I benefici di questo approccio erano diversi:
* i vantaggi prestazionali della progettazione RISC erano applicati al set di istruzioni x86
* l'unità di esecuzione poteva essere più piccola e più compatta
* le unità di esecuzione potevano essere più specializzate per dare miglioramenti specifici nelle prestazioni
* sarebbe stato più facile aggiungere altre unità di esecuzione nelle progettazioni future
La microarchitettura RISC86 non solo permetteva al processore Nx586 le più alte prestazioni, ma anche avrebbe permesso in futuro prestazioni ancora più alte.

## Controller Cache L2 sul chip

A differenza dei Pentium, il processore Nx586 incorporava il suo controller della cache L2 direttamente sul chip. Questo assicurava che la cache L2 avrebbe sempre girato a piena velocità e abbassava il costo del PC perché permetteva al processore Nx586 di girare a piena velocità con una più lenta - e più economica - memoria cache.