Newsgroup: it.comp.hardware.cpu
Titolo: RISC vs CISC.

Salve.
Vorrei sapere quali sarebbero le differenze piu' evidenti tra processori
RISC e processori CISC.
Differenti set di istruzioni o differente tecnologia?
Grazie.
--
Posted from 
mta01-acc.tin.it
 [212.216.176.32]
via Mailgate.ORG Server - 
http://www.mailgate.org

 Differenti set di istruzioni o differente tecnologia?
La prima piu` importante differenza e` che, a parita`
di prestazioni, i RISC costano molto meno.
RISC == Reduced Instruction Set Computer (*)
CISC == Complex     "        "     "
(Il termine CISC e` nato dopo, per distinguere).
Alle volte:
RISC == Reduced Instruction Set Cycle (+)
In pratica i RISC (*) dovrebbero avere poche istruzioni,
eseguibili rapidamente (evidentemente), con poche variazioni
(i.e. pochi tipi di indirizzamento).
Le conseguenze sono essenzialmente:
1) Maggiore dimensione del codice
2) Possibili di migliore ottimizzazione da parte dei
compilatori (C, C++, etc.)
Il secondo punto e` interessante: avendo poche istruzioni
il compilatore non ha molto da scegliere per ottimizzare
il codice.
I processori CISC hanno molte instruzioni, spesso specializzate,
spesso hanno molti tipi di indirizzamento. Ovviamente eseguire
queste istruzioni complesse richiede piu` tempo.
Le conseguenze sono le opposte dei RISC: codice piu` compatto,
difficolta` di ottimizzazione.
I RISC (+) sono, a mio intendere, dei CISC in cui le
istruzioni vengono eseguite rapidamente, 1 o 2 cicli
macchina, contro i 10 o 20 (o 100) dei vecchi CISC.
Come scritto all'inizio e RISC (*) costano meno
perche` si usa meno silicio, inoltre, essendo
semplici, e` piu` facile aumentare il clock.
I RISC (+) sono piu` costosi, ma le prestazioni
sono indubbiamente superiori.
Si e` stimato che un Alpha (RISC (?)) 400MHz abbia
le stesse prestazioni di un P-200 (CISC o RISC(+)).
Ovviamente l'Alpha 400MHz era disponibile quando i
piu` veloci Pentium erano i 200MHz.
(Dopo Intel ha comprato la parte semiconductor di Digital
ed ha sfornato i PII a 266, 300, 333, 350, 400, 450 MHz).
bye,
--
  Piergiorgio Sartor
  Sony International (Europe) GmbH
  European R&D Stuttgart
  Advanced TV Group              Tel.: 
++49-(0)711-5858-525
  Stuttgart Technology Center    FAX: 
++49-(0)711-5858-199
  Stuttgarter Strasse 106        e-mail: 
sar...@sony.de
  D-70736 Fellbach, Germany

Grazie.
l'idea RISC è nata dalla constatazione che, nello svolgimento di un
programma, un computer passa il 95% del tempo di elaborazione con il 5%
dell'insieme delle istruzioni.
Un pò come avere una officina attrezzatissima ma utilizzare per la maggior
parte del tempo 2 chiavi ed 1 cacciavite.
Ma tutte le istruzioni sono costruite allo stesso modo, cioè, nell'esempio
precedente tutti gli attrezzi sono di identica qualità.
Allora l'idea è stata di fare una CPU con solo le istruzioni utilizzate con
grande frequenza e di ottenere il risultato di istruzioni complesse
attraverso algoritmi software che impiegassero il set (l'insieme) ridotto di
istruzioni.
Questa è una CPU con solo un insieme ridotto di istruzioni : RISC Reduced
Instruction Set Computer, cioè una CPU RISC pura.
La nascita della sigla RISC ha fatto si che i normali processori
diventassero tutti CISC, cioè Complex.
La scelta ottimale consiste nel realizzare  CPU miste, con parte RISC e
parte CISC.
In questo modo le istruzioni utilizzate più frequentemente vengono
realizzate in formato RISC e pertanto sono più veloci (diciamo attrezzi di
alta qualità, nell'esempio dell'officina) le altre istruzioni utilizzano
codice CISC.
Per capire più approfonditamente queste tecniche bisognerebbe parlare di
micro-codice e di algoritmi con base software o hardware.
Però a grandi linee spero di essere stato di aiuto.
ciao da Giò

Grazie.
I Risc vanno forte con i numeri in virgola mobile (grafica, 3D, ecc.),
mentre sono simili ai Cisc con gli interi. I Risc inoltre hanno molto più
spazio nel chip per includere grosse cache L1, che aumentano di molto le
prestazioni; per inserire cache più grosse nei Cisc hanno dovuto costruire
le cartucce (P II, Mendocino...) al posto dei chip.
Infatti i processori Cisc hanno di solito 8, 16 o 32 Kb di cache L1, mentre
i Risc ne hanno di solito il doppio o il quadruplo (ad es. il K6 ne ha 64
Kb, il K6-3 ne avrà 256+64 Kb= ben 320 Kb !!!); il Pentium II ne ha 32 Kb,
cioè un decimo !!!
I Risc costano meno e possono essere overcloccati più facilmente.
Bye bye