COME migliori offerte,
nessuna coda attaccata
RISC (computer con set di istruzioni ridotto) e CISC (set di istruzioni complesso Computer) sono i due tipi principali di architetture di processori. Determinano il numero e la complessità delle istruzioni supportate da un chip.
Snapdragon 820, un processore con architettura Arm, di tipo RISC (Immagine: Paulo Higa/)
RISC utilizza un set di istruzioni ridotto ed è più comune su architetture di processori mobili come Arm. Le architetture di tipo CISC, come x86, sono più comuni nelle CPU per PC e server. Successivamente, scopri le principali differenze tra le due filosofie architettoniche.
Quali sono le differenze tra le architetture RISC e CISC?
Architettura |
RISC (computer con set di istruzioni ridotto) |
CISC (set di istruzioni complesso Computer) |
quantità di istruzioni |
Più piccola |
Più grande |
tipi di istruzioni |
Semplice e ottimizzato |
Complesso e specializzato |
insiemi di architetture |
Arm, PowerPC e RISC-V |
x86, IA-64 e IBM Z |
marche di processori |
Qualcomm, Apple, MediaTek e Samsung |
Intel e AMD |
Esempi di utilizzo |
Cellulari, tablet, smartwatch, router, stampanti e tastiere |
Desktop, notebook e server |
Cos’è l’architettura RISC?
RISC (computer con set di istruzioni ridotto) È un tipo di architettura del processore che utilizza un semplice set di istruzioni, in quantità ridotta e molto ottimizzato.
Architetture simili a RISC come Arm sono progettate per eseguire più istruzioni in meno tempo. Pertanto, il software compilato per RISC di solito ha più righe di codice in un linguaggio di programmazione di basso livello, come Assembly.
Poiché le istruzioni in RISC sono più semplici, possono essere caricate in modo più efficiente in memoria ed eseguite in modo più prevedibile. L’obiettivo di RISC è eseguire ogni istruzione in un singolo ciclo di clock.
In generale, le architetture di tipo CISC si traducono in processori più efficienti dal punto di vista energetico, ma a scapito di prestazioni inferiori nelle operazioni complesse.
Quali architetture sono di tipo RISC?
- Braccio: Creato da Acorn Computers nel 1983 e ora di proprietà di Arm Ltd., è più popolare nei dispositivi mobili, nei dispositivi indossabili e nei sistemi integrati. È noto per la sua efficienza energetica e versatilità per funzionare su apparecchiature di tutte le dimensioni, dalle cuffie ai server di grandi dimensioni;
- RISC-V: è un’architettura open source emersa nel 2010 presso l’Università della California, Berkeley. Utilizzato in una varietà di applicazioni, dai microcontrollori ai supercomputer, è esente da royalty e altamente flessibile;
- PowerPC: sviluppato dall’alleanza AIM (Apple, IBM, Motorola) nel 1991. Originariamente utilizzato negli Apple Mac, è stato successivamente adottato nei sistemi embedded e nelle console per videogiochi come Xbox 360 e Nintendo Wii;
- MIPS: è stato creato da MIPS Technologies nel 1985 ed è utilizzato in una varietà di sistemi, inclusi videogiochi, router e sistemi embedded. È noto per la sua efficienza, il design modulare e l’uso nell’istruzione e nella ricerca;
- SPARC: Sviluppato da Sun Microsystems nel 1987, è stato utilizzato in server e workstation grazie alla sua elevata scalabilità.
Le architetture di tipo RISC sono le più comuni nei dispositivi mobili (Immagine: Darlan Helder/)
Cos’è l’architettura CISC?
CISC (set di istruzioni complesso Computer) è un tipo di architettura del processore che utilizza un insieme di istruzioni complesse, in quantità elevata e molto specializzate.
Architetture simili a CISC come x86 sono progettate per eseguire più operazioni con meno righe di codice di basso livello. Cioè, mentre RISC può richiedere più istruzioni per una determinata attività, CISC può svolgere lo stesso lavoro con una singola istruzione.
Poiché le istruzioni in CISC sono più complesse, possono eseguire diverse operazioni di basso livello, come l’accesso alla memoria, l’esecuzione di un calcolo e l’elaborazione della logica, tutto in una volta. Tuttavia, il completamento di un’istruzione può richiedere diversi cicli di clock.
In generale, le architetture di tipo CISC si traducono in processori con prestazioni grezze più elevate, ma a scapito di un maggiore consumo energetico.
Quali architetture sono di tipo CISC?
- x86: creato da Intel nel 1978, sul processore Intel 8086 a 16 bit, viene utilizzato in desktop, notebook e server. È l’architettura più popolare nei PC domestici e si è evoluta nel corso dei decenni per supportare istruzioni sia a 32 bit che a 64 bit;
- x86-64: noto anche come amd64, è stato creato da AMD nel 1999. È un’estensione dell’architettura x86 che supporta l’elaborazione a 64 bit, consentendo maggiori prestazioni e capacità di memoria, pur mantenendo la compatibilità con il software legacy. L’implementazione di Intel è nota anche come Intel 64;
- IA-64 (itanio): è stato creato da HP e Intel nel 2001 per essere utilizzato in server ad alte prestazioni. Si basa sul concetto di Explicit Parallel Execution (EPIC), che aumenta l’efficienza dell’esecuzione delle istruzioni. Poiché non è retrocompatibile con x86, non è diventato popolare sui PC;
- IBM Z: creato da IBM, viene utilizzato principalmente su mainframe. La sua caratteristica principale è l’elevata affidabilità e disponibilità, con la Z riferita a “zero downtime” (time down);
- Sistema/360: è stata la prima famiglia di architetture IBM a coprire un’ampia gamma di applicazioni, creata nel 1964. L’architettura IBM Z è compatibile con le versioni precedenti con i programmi System/360 fino ad oggi;
- Motorola 68000: architettura creata da Motorola nel 1979 e utilizzata in una serie di computer, tra cui il primo Apple Macintosh (Macintosh 128K) e il videogioco Sega Mega Drive.
I processori Intel hanno un’architettura x86, di tipo CISC (Immagine: Everton Favretto/)
CISC è più complesso di RISC?
Le architetture CISC sono generalmente più complesse delle architetture RISC perché hanno un set di istruzioni più specializzato e una quantità maggiore. RISC, d’altra parte, tende ad avere istruzioni più semplici, che possono essere eseguite in un singolo ciclo di clock.
Tuttavia, al giorno d’oggi la differenza di complessità tra CISC e RISC è più teorica che pratica, poiché le architetture di entrambi i tipi si sono evolute in modo significativo per soddisfare esigenze specifiche.
L’architettura Arm, che una volta era chiamata Advanced RISC Machines, ha ottenuto una serie di estensioni per migliorare le prestazioni in attività specifiche, come l’elaborazione multimediale, la crittografia e la virtualizzazione. Pertanto, non è possibile affermare categoricamente che sia “più semplice” delle architetture di tipo CISC.
RISC consuma meno energia di CISC?
Le architetture RISC sono spesso più efficienti dal punto di vista energetico rispetto a CISC perché le loro operazioni consumano meno energia per istruzione.
Poiché un’architettura di tipo RISC parte da un set di istruzioni più semplice, è possibile progettare chip che consumano meno energia per dispositivi più piccoli alimentati a batteria, come telefoni cellulari e notebook. Le CPU del server, d’altra parte, possono avere estensioni architetturali per migliorare le prestazioni su attività specifiche.
È anche possibile progettare CPU di tipo CISC con un TDP inferiore, cioè che generano meno calore e consumano meno energia. Intel, ad esempio, ha persino prodotto processori Atom con architettura x86 per smartphone Android. Tuttavia, questo tipo di applicazione tende ad essere meno comune in CISC.
RISC è più lento di CISC?
Non necessariamente, perché le prestazioni di un processore sono determinate da fattori quali la frequenza (clock), l’efficienza della pipeline, la quantità di cache e il processo di produzione (nm). Pertanto, un processore RISC può essere più veloce di un CISC e viceversa.
In generale, i processori di tipo RISC vengono utilizzati in dispositivi più piccoli, che consumano poca energia e hanno prestazioni inferiori. Tuttavia, alcuni chip RISC hanno superato i loro rivali CISC, come l’Apple Silicon. In una prova di un Apple M1 era migliore del 18,7% rispetto a un Intel Core i9.
Esistono altri tipi oltre a RISC e CISC?
Sebbene poco utilizzate, esistono altre classificazioni per definire il set di istruzioni di un’architettura:
- VLIW (parola di istruzione molto lunga): è un’architettura che permette l’esecuzione di più operazioni in parallelo, raggruppandole in un’unica lunghissima istruzione. Ogni operazione all’interno dell’istruzione VLIW può essere eseguita contemporaneamente, migliorando le prestazioni. Viene utilizzato in alcune architetture DSP (Digital Signal Processor) e anche nell’IA-64, di Itanium;
- MISC (computer con set di istruzioni minimo): ha un set di istruzioni minimo ed è più semplice di RISC. L’obiettivo è ridurre al minimo la complessità dell’hardware del processore, che può ridurre i costi e il consumo energetico. Un esempio di MISC è picoJava, un progetto di chip che esegue codice Java in modo nativo;
- OISC (un computer con set di istruzioni): è un’architettura del processore che contiene una sola istruzione. Di solito viene utilizzato per scopi didattici, poiché non è molto efficiente. Il subleq è l’esempio più famoso di computer a singola istruzione;
- ZISC (computer con set di istruzioni zero): questo è un tipo di architettura che non ha istruzioni e funziona in base al riconoscimento di pattern. Viene utilizzato nei chip neuromorfici, ispirati alla struttura dei neuroni nel cervello umano.