Differenza tra Architettura RISC e CISC in informatica

Differenza tra Architettura RISC e CISC in informatica

In informatica esistono due tipi popolari di architetture basate sul set di istruzioni. Si tratta di CISC (Complex Instruction Set Computing) e RISC (Reduced Instruction Set Computing). Cerchiamo di discutere le differenze, i vantaggi, gli svantaggi e le somiglianze sottostanti tra queste due architetture.

RISC (Reduced Instruction Set Computing)

RISC (computer con set di istruzioni ridotto) è un computer che utilizza un’unità di elaborazione centrale (CPU) che implementa il principio di progettazione del processore delle istruzioni semplificate. Il design dell’architettura RISC semplifica e accelera notevolmente l’elaborazione dei dati riducendo al minimo il numero di istruzioni memorizzate in modo permanente nel microprocessore e si basa maggiormente su istruzioni non residenti, ad esempio codice o programmi software. RISC è probabilmente la tecnologia a microprocessore più veloce ed efficiente disponibile oggi.

I chip o microprocessori RISC sfruttano il fatto che la maggior parte delle istruzioni per i processi informatici sono relativamente semplici e di conseguenza i computer sono progettati per gestire rapidamente quelle semplici istruzioni. L’architettura RISC è un miglioramento dell’architettura CISC (complex Instruction Set Computing) utilizzata nei chip Intel Pentium originali. Sebbene Intel abbia lentamente integrato la tecnologia RISC nei suoi chip, sono ancora per lo più basati su CISC.

C’è ancora molta controversia tra gli esperti sul valore finale delle architetture RISC. Gli scettici sostengono che rendendo l’hardware più semplice, le architetture RISC gravano maggiormente sul software. Pertanto concludono che questo non vale la pena perché i microprocessori convenzionali stanno diventando sempre più economici e veloci. I sostenitori, d’altra parte, sostengono che le macchine RISC sono sia più economiche che più veloci e sono quindi le macchine del futuro.

Vantaggi di RISC

  • RISC è più un approccio generale all’elaborazione che un insieme specifico di regole, pertanto, diversi processori e sistemi basati su RISC funzionano in modi differente.
  • Grazie alla sua semplicità, dà la possibilità di utilizzare lo spazio sui microprocessori.
  • La velocità dell’operazione può essere massimizzata e il tempo di esecuzione può essere ridotto al minimo.
  • Può essere facilmente progettato rispetto al CISC.
  • Le prestazioni sono migliori grazie al set di istruzioni semplificato.
  • Le istruzioni RISC eseguono un’istruzione per ciclo di clock.
  • Ha un’unità separata per la memoria e quindi è possibile risparmiare spazio su disco.

CISC (Complex Instruction Set Computing)

CISC è un tipo di design a microprocessore. L’architettura CISC contiene un ampio set di istruzioni per computer che vanno da molto semplici a molto complesse e specializzate. Sebbene il progetto calcoli istruzioni complesse nel modo più efficiente, si è successivamente scoperto che molte istruzioni piccole e brevi potevano calcolare istruzioni complesse in modo più efficiente.

Il microprocessore PowerPC, utilizzato nella workstation RISC system / 6000 di IBM e nei computer Macintosh è un microprocessore RISC. I microprocessori Pentium di Intel sono microprocessori CISC. RISC prende ciascuna delle istruzioni più lunghe e complesse da un progetto CISC e la riduce a più istruzioni che sono più brevi e più veloci da elaborare.

Vantaggi del CISC

  • È facile aggiungere nuovi comandi nel chip senza modificare la struttura del set di istruzioni poiché l’architettura utilizza un hardware generico per eseguire i comandi.
  • In genere è più facile scrivere codice assembly CISC rispetto al codice assembly RISC.
  • CISC supporta la microprogrammazione.
  • Gli operandi in memoria vengono manipolati dalle istruzioni.
  • I CISC hanno un gran numero di istruzioni ben definite, un fattore che rende i linguaggi di alto livello facili da progettare e implementare.
  • Ha più numero di codici di indirizzamento e meno numero di registri.

Differenza tra Architettura RISC e CISC

BASE DI CONFRONTO  RISC CISC
Numero di modalità di indirizzamento RISC ha meno modalità di indirizzamento e la maggior parte delle istruzioni nel set di istruzioni ha un registro per registrare la modalità di indirizzamento. CISC ha molte diverse modalità di indirizzamento e può quindi essere utilizzato per rappresentare in modo più efficiente le dichiarazioni del linguaggio di programmazione di livello superiore.
Unità di microprogrammazione È un’unità di programmazione cablata. Dispone di un’unità di microprogrammazione.
Esempi System / 360, PDP-11, VAX, AMD, Motorola 68000 e PC desktop su CPU Intel x86. DEC Alpha, AMD 29000, ARC, Atmel AVR, Blackfin, Intel i860 e i960, MIPS, Motorola 88000, PA-RISC, power (incluso PowerPC), SuperH, SPARC e ARM.
Codifica delle istruzioni Vengono utilizzate le codifiche a lunghezza fissa delle istruzioni. Esempio: in IA32, generalmente tutte le istruzioni sono codificate come 4 byte. Vengono utilizzate codifiche a lunghezza variabile delle istruzioni. Esempio: la dimensione dell’istruzione IA32 può variare da 1 a 15 byte.
Operazioni aritmetiche e logiche Le operazioni aritmetiche e logiche utilizzano solo operandi di registro. Le operazioni aritmetiche e logiche possono essere applicate sia alla memoria che agli operandi del registro.
Il set di istruzioni Il set di istruzioni è ridotto, cioè ha solo poche istruzioni nel set di istruzioni. Molte di queste istruzioni sono molto primitive. Il set di istruzioni ha una varietà di istruzioni differenti che possono essere utilizzate per operazioni complesse.
Applicazione Viene utilizzato in applicazioni di fascia alta come elaborazione video, telecomunicazioni ed elaborazione di immagini. Viene utilizzato in applicazioni di fascia bassa come sistemi di sicurezza, automazione domestica ecc.
Processore  I suoi processori hanno semplici istruzioni che richiedono circa un ciclo di clock. Il suo processore ha istruzioni complesse che richiedono più clock per l’esecuzione.
Pipelining del processore I suoi processori sono altamente pipeline. I processori sono normalmente poco pipeline oppure non pipeline.
Programmi di attuazione I programmi di implementazione sono esposti ai programmi a livello di macchina. I programmi di implementazione sono nascosti dai programmi a livello di macchina.
Modalità di indirizzamento complesse Le modalità di indirizzamento complesse vengono sintetizzate utilizzando il software. Supporta già modalità di indirizzamento complesse.
Complessità La complessità sta nel micro programma. La complessità di RISC risiede nel compilatore che esegue il programma.
Prestazione Le prestazioni sono ottimizzate con maggiore attenzione al software. Le prestazioni sono ottimizzate con maggiore attenzione all’hardware.
Memoria esterna Non richiede memoria esterna per i calcoli. Richiede una memoria esterna per i calcoli.
Decodifica delle istruzioni La decodifica delle istruzioni è semplice. La decodifica delle istruzioni è complessa.
Espansione del codice L’espansione del codice può essere un problema. L’espansione del codice non è un problema.
Tempo di esecuzione Il tempo di esecuzione è molto inferiore. Il tempo di esecuzione è molto alto.
Registri Sono presenti più set di registri. È presente un solo set di registri.
Unità di memoria Non ha unità di memoria e utilizza un hardware separato per implementare le istruzioni. Ha un’unità di memoria per implementare istruzioni complesse.
Dimensione del programma RISC ha una grande dimensione del programma. I CISC hanno un programma di piccole dimensioni.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *