Complex instruction set computer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 76763424 di 93.41.4.203 (discussione)
fix Voci correlate
 
(24 versioni intermedie di 17 utenti non mostrate)
Riga 1:
{{F|computer|marzo 2013|Nessuna fonte}}
Con '''Complex Instruction Set Computer''' ('''CISC''') si indica un'architettura per [[microprocessore|microprocessori]] formata da un [[set di istruzioni]] contenente istruzioni in grado di eseguire operazioni complesse come la lettura di un dato in memoria, la sua modifica e il suo salvataggio direttamente in memoria tramite una singola istruzione. Il termine è nato per distinguere l'altro paradigma dominante nei microprocessori, il paradigma [[Reduced Instruction Set Computer]] (RISC).
 
Con '''Complex Instruction Set Computer''' ('''CISC'''), siin [[elettronica digitale]], indica un'architettura per [[microprocessore|microprocessori]] formata da un [[set di istruzioni]] contenente istruzioni in grado di eseguire operazioni complesse come la lettura di un dato in memoria, la sua modifica e il suo salvataggio direttamente in memoria tramite una singola istruzione. Il termine è nato per distinguere l'altro paradigma dominante nei microprocessori, il paradigma [[Reduced Instruction Set Computer]] (RISC).
==Descrizione==
 
Esempi di sistemi basati su architettura CISC sono [[IBM System/360|System/360]], [[VAX]], [[PDP-11]], la famiglia [[Motorola 68000]], l'architettura [[x86]] di [[Intel]] e [[Advanced Micro Devices|AMD]].
Prima dello sviluppo dei primi processori CISC, molte architetture per [[computer]] cercarono di colmare il ''buco semantico'' che esisteva tra i comandi ad alto livello messi a disposizione dai [[linguaggio di programmazione|linguaggi di programmazione]] ed i veri e propri comandi accettati dagli elaboratori. Questi calcolatori offrivano comandi per la gestione delle procedure, per la gestione dei loop e dei salti, per la gestione di strutture dati in memoria e per altri compiti comuni. Inoltre le istruzioni complesse fornite dai CISC permettevano la realizzazione di programmi compatti che richiedevano poca memoria, una risorsa molto costosa negli [[Anni 1960|anni sessanta]].
 
== Storia ==
A vantaggio delle architetture CISC c'è la riduzione del divario esistente fra il [[linguaggio macchina]] e il linguaggio ad alto livello; in alcuni casi si possono avere istruzioni addirittura più potenti di quelle esprimibili con un linguaggio ad alto livello.
Prima dello sviluppo dei primi processori CISC, molte architetture per [[computer]] cercarono di colmare il ''bucovuoto semantico'' che esisteva tra i comandi ad alto livello messi a disposizione dai [[linguaggio di programmazione|linguaggi di programmazione]] ed i veri e propri comandi accettati dagli elaboratori. Questi calcolatori offrivano comandi per la gestione delle procedure, per la gestione dei loop e dei salti, per la gestione di strutture dati in memoria e per altri compiti comuni. Inoltre le istruzioni complesse fornite dai CISC permettevano la realizzazione di programmi compatti che richiedevano poca memoria, una risorsa molto costosa negli [[Annianni 1960|anni sessanta]].
Sebbene i processori CISC abbiano effettivamente permesso la realizzazione di linguaggi ad alto livello con l'uso di poche istruzioni, non sempre questa tipologia di processori ha prodotto un reale incremento delle prestazioni. Per esempio si è scoperto come in un processore fosse più efficiente utilizzare una serie di istruzioni semplici piuttosto che utilizzare l'istruzione apposita per gestire le chiamate di sistema. Inoltre un set di istruzioni complesso richiede l'utilizzo di molto [[silicio]] nonché tempi maggiori di decodifica e di esecuzione anche per le istruzioni più semplici. Un set di istruzioni ampio richiede anche molti progettisti e [[transistor]] che non possono quindi essere utilizzati per incrementare le prestazioni.
Spesso le [[CPU]] CISC sono microprogrammate, cioè la fase di decodifica dell'istruzione nella CPU avviene attraverso un programma che risiede nella CPU stessa.
 
Il termine CISC e RISC con il passare degli anni è diventato meno importante per comprendere l'architettura interna dei processori moderni. Il primo processore CISC dotato di [[Pipeline dati|pipeline]] è stato [[Intel 80486]] che implementava le istruzioni più comuni in modo nativo mentre le istruzioni meno utilizzate venivano tradotte in istruzioni più semplici. Le istruzioni più semplici invece erano implementate con un'architettura a tipologia RISC. I processori moderni basati su architetture x86 traducono le istruzioni CISC in [[micro operazioni]] che poi elaborano come fossero processori RISC.
Esempi di sistemi basati su architettura CISC sono [[IBM System/360|System/360]], [[VAX]], [[PDP-11]], la famiglia [[Motorola 68000]], l'architettura [[x86]] di [[Intel]] e [[Advanced Micro Devices|AMD]].
 
== Descrizione ==
Il termine CISC e RISC con il passare degli anni è diventato meno importante per comprendere l'architettura interna dei processori moderni. Il primo processore CISC dotato di [[Pipeline dati|pipeline]] è stato [[Intel 80486]] che implementava le istruzioni più comuni in modo nativo mentre le istruzioni meno utilizzate venivano tradotte in istruzioni più semplici. Le istruzioni più semplici invece erano implementate con un'architettura a tipologia RISC. I processori moderni basati su architetture x86 traducono le istruzioni CISC in [[micro operazioni]] che poi elaborano come fossero processori RISC.
A vantaggio delle architetture CISC c'è la riduzione del divario esistente fra il [[linguaggio macchina]] e il linguaggio ad alto livello; in alcuni casi si possono avere istruzioni addirittura più potenti di quelle esprimibili con un linguaggio ad alto livello. Sebbene i processori CISC abbiano effettivamente permesso la realizzazione di linguaggi ad alto livello con l'uso di poche istruzioni, non sempre questa tipologia di processori ha prodotto un reale incremento delle prestazioni. Per esempio si è scoperto come in un processore fosse più efficiente utilizzare una serie di istruzioni semplici piuttosto che utilizzare l'istruzione apposita per gestire le chiamate di sistema. Inoltre un set di istruzioni complesso richiede l'utilizzo di molto [[silicio]] nonché tempi maggiori di decodifica e di esecuzione anche per le istruzioni più semplici. Un set di istruzioni ampio richiede anche molti progettisti e [[transistor]] che non possono quindi essere utilizzati per incrementare le prestazioni. Spesso le [[CPU]] CISC sono microprogrammate, cioè la fase di decodifica dell'istruzione nella CPU avviene attraverso un programma che risiede nella CPU stessa.
 
== Voci correlate ==
* [[RISCMicroprocessore]]
* [[Minimal instruction set computer]]
*[[Microprocessore]]
* [[MinimalReduced instruction set computer]]
* [[Zero instruction set computer]]
*[[VLIW]]
* [[ZISCVLIW]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
 
{{Controllo di autorità}}