RISC vs CISC, quale oggi la differenza?

0
589

Fig1_1Le barriere tra le due categorie di microprocessori sembrano cadute, e il fatto che un’architettura sia CISC o RISC è irrilevante per l’attuale maturo contesto della progettazione di sistemi a microprocessore.

Il termine ”architettura” è usato per riferirsi a molte situazioni nel mondo dei computer. Nello contesto della «microprocessor architecture», gli elementi base sono: set di istruzioni; modello di programmazione (register set e convenzioni inerenti la memoria); modello delle eccezioni (interrupt). La porzione instruction set, denominata ISA, Instruction Set Architecture, specifica la funzionalità delle istruzioni, i formati delle stesse e i metodi di indirizzamento. All’inizio i microprocessori erano solo di tipo CISC o Complete Instruction Set Computing e il riferimento emblematico è ai chip della famiglia x86 Intel. Poi sono arrivati i RISC o Reduced Instruction Set Computing ed è iniziato un dibattito su cosa fosse meglio usare per ottenere prestazioni migliori. SI ricorda che la sigla RISC indica processori le cui istruzioni riducono le operazioni in attività le più semplici possibili, in modo che la maggior parte delle stesse abbia praticamente lo stesso tempo di esecuzione, tipicamente molto breve. Le istruzioni hanno poi una lunghezza fissa in bit e usano metodi di indirizzamento non complessi, semplificando la decodifica delle istruzioni da parte del processore, con conseguente incremento di velocità. I vantaggi dei RISC sembrano quindi evidenti, ma le cose sono cambiate.

Le priorità attuali

La conflittualità tra i nuovi microprocessori RISC e i più tradizionali CISC nasce negli anni ‘80, ma allora i vincoli principali erano la chip area e la complessità del design del processore, con i PC desktop e i server che dominavano il panorama del computing, mentre oggi l’aspetto energetico è la priorità, e il panorama è cambiato. La crescita di tablet e smartphone basati su chip ARM (RISC ISA) supera quella di desktop e laptop con microprocessori x86 (CISC ISA), e inoltre low power ARM stanno entrando nel mercato dei server a elevate prestazioni, così come chip x86 si stanno diffondendo nei dispositivi mobile. Da cui la domanda: il tipo di ISA gioca ancora un ruolo importante in performance ed efficienza energetica? Per rispondere, ricercatori dell’università del Wisconsin hanno realizzato uno studio (ISA Wars: Understanding the Relevance of ISA being CISC or RISC), di cui sottoponiamo ai letturi le risultanze.

ISA è irrilevante, conta la microarchitettura

La ricerca è stata condotta su hardware reali, su cui girano applicazioni reali, analizzando sette piattaforme appartenenti a tre architetture ISA (MIPS, ARM e x86), con computing workload tipici di applicazioni mobile, desktop e server. Alla fine è stato trovato, e questo è abbastanza stupefacente, che processori ARM, MIPS o x86 sono semplicemente il risultato di progetti ingegneristici ottimizzati per differenti livelli di performance, senza evidenza alcuna che una classe ISA sia più efficiente rispetto a un’altra. Detto diversamente, pensare che una Instruction Set Architecture ridotta (RISC) o complessa (CISC) abbia un qualche effetto significativo su power, energy e performance, è completamente sbagliato, e quello che davvero conta è la microarchitettura del processore. Il motivo di questa omogeneizzazione, che nel passato non c’era, è da ricercarsi nel fatto che laddove una ISA è carente, si ha una compensazione da parte di una microarchitettura potenziata, ottenuta grazie ai continui sviluppi della microelettronica. Per esempio i chip x86 erano originariamente basati su un design CISC puro, ma negli anni hanno assunto una struttura più RISC-like, mentre un’architettura RISC come quella dei chip ARM ha integrato più caratteristiche tipiche dei CISC.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here