Il design di una CPU superscalare crea una forma di calcolo parallelo chiamata parallelismo a livello di istruzione all'interno di una singola CPU, che permette di lavorare di più alla stessa velocità di clock. Ciò significa che la CPU esegue più di un'istruzione durante un ciclo di clock eseguendo più istruzioni contemporaneamente (chiamato dispacciamento delle istruzioni) su unità funzionali duplicate. Ogni unità funzionale è solo una risorsa di esecuzione all'interno del core della CPU, come un'unità logica aritmetica (ALU), un'unità in virgola mobile (FPU), un bit shifter, o un moltiplicatore.
La maggior parte delle CPU superscalari sono anche pipeline, ma è possibile avere una CPU superscalare non pipeline o una CPU non superscalare pipeline.
La tecnica superscalare è supportata da diverse caratteristiche del core della CPU:
- Le istruzioni provengono da una lista di istruzioni ordinate.
- L'hardware della CPU può capire quali istruzioni hanno quali dipendenze di dati.
- Può leggere più istruzioni per ogni ciclo dell'orologio
Ogni istruzione eseguita da un processore scalare cambia uno o due dati alla volta, ma ogni istruzione eseguita da un processore vettoriale gestisce molti dati contemporaneamente. Un processore superscalare è una miscela dei due:
- Ogni istruzione elabora un dato.
- All'interno di ogni core della CPU sono presenti più unità funzionali duplicate, in modo che più istruzioni gestiscono contemporaneamente elementi di dati indipendenti.
In una CPU superscalare un dispatcher di istruzioni legge le istruzioni dalla memoria e decide quali possono essere eseguite in parallelo, inviandole sulle molteplici unità funzionali duplicate disponibili all'interno della CPU.
Il design della CPU Superscalar si preoccupa di migliorare l'accuratezza del dispatcher di istruzioni e di permettere di tenere sempre occupate le unità funzionali multiple. A partire dal 2008, tutte le CPU generiche sono superscalari, una tipica CPU superscalare può includere fino a 4 ALU, 2 FPU e due unità SIMD. Se il dispatcher non riesce a tenere occupate tutte le unità, le prestazioni della CPU saranno inferiori.


