Questo lavoro propone un'architettura che introduce una nuova dimensione al parallelismo a livello di istruzioni. Il sistema operativo nelle macchine di oggi prende tutte le decisioni su come le istruzioni di un task possono essere parallelizzate, decidendo quale task viene assegnato a quale core. Il supporto hardware per lo sfruttamento del parallelismo a livello di istruzioni è molto ridotto e ha un potere decisionale molto limitato. Recentemente, lo scheduling dinamico delle istruzioni ha aperto la strada a importanti modifiche dell'hardware e quindi alla condivisione del potere decisionale. Ma il problema persiste. Il sistema operativo non ha un aiuto diretto dall'hardware e deve svolgere la maggior parte del lavoro a livello di software; di conseguenza, il sistema operativo deve essere modificato man mano che il numero di core aumenta e il tipo di core cambia. Il supporto hardware è quindi necessario per mantenere il sistema operativo inalterato, in modo che non debba preoccuparsi dei core. Il concetto che ho proposto prevede di liberare il progettista del sistema operativo da questo onere introducendo un processore virtuale hardware che apparirà come un singolo processore al sistema operativo, ma al suo interno ci saranno più core specializzati che eseguono istruzioni in parallelo.