Le
sigle significano:
- RISC =
Reduced Instruction
Set Computer cioè computer con numero di istruzioni ridotto.
- CISC =
Complex Instruction Set Computer
cioè computer con un insieme complesso di istruzioni
Si tratta di due precisi
indirizzi architetturali hardware. Il computer opera dietro istruzioni ma
questo non vuol dire che il numero e la tipologia di tali istruzioni siano fisse. Il
progettista decide quante metterne e può scegliere, in
linea di principio, un menù ricco oppure uno ridotto all'osso.
Ad esempio, premesso che
l'istruzione di moltiplicazione è necessaria, nella macchina RISC c'è una
sola operazione, mentre in quella CISC ci sono fino a venti circuiti di
moltiplicazione e relative istruzioni specializzate per tipo di dato (a
virgola fissa e mobile), per ampiezza dell'operando (ad esempio 2, 4 o 8
bytes), per il suo supporto (memoria Ram oppure un registro), per la base di
codifica del dato (binaria, ottale o decimale) ecc.
Le operazioni CISC sono più
numerose ed anche ovviamente più sofisticate di quelle RISC che svolgono
funzioni essenziali di calcolo e di controllo. La macchina RISC estrema è un
prototipo costruito alcuni anni fa in Israele con una sola istruzione: un
movimento condizionato.
La scelta delle istruzioni
riguarda la tecnologia hardware ma influenza anche il software. In
particolare le architetture CISC e RISC incidono sui linguaggi di
programmazione, ma lo fanno in modo completamente diverso su:
- i programmi
Assembler,
- i programmi simbolici
(es.
Pascal, Cobol).
L'impatto dell'architettura al punto 1 è
diretto. Il programmatore Assembler deve conoscere ed usare
correttamente le operazioni hardware della macchina una ad una, per cui la programmazione
Assembler è completamente diversa su Risc e su CISC.
L'impatto al
punto 2 non viene percepito dal programmatore usuale
che ad esempio lavora in Pascal. Egli non vede le
istruzioni macchina ma quelle simboliche del suo linguaggio che restano le
stesse nelle due architetture.
CISC e RISC non influenzano i programmatori ma la preparazione dei
compilatori.
Ricordiamo che il compilatore
traduce una istruzione simbolica mediante un certo numero di istruzioni
macchina. Ad esempio il compilatore sviluppa LOG(X) (= istruz. simbolica)
con una routine che comprende svariate istruzioni macchina. La routine che
calcola il logaritmo è breve in ambito CISC perché la macchina possiede le
istruzioni specializzate per lo scopo, invece in ambito RISC la routine
comprende molte istruzioni per sopperire al rudimentale menu a
disposizione.
I computer degli anni
cinquanta a causa della primitiva tecnologia elettronica erano RISC. A partire dagli
anni sessanta crebbero come CISC, e macchine di qualunque classe: mainframe, mini, personal, ed altri ancora, si arricchirono di centinaia di istruzioni
hardware. Negli anni ottanta si cominciò a valutare la loro effettiva
utilità e
si scoprì che moltissime istruzioni non venivano mai adoperate. Perciò negli anni novanta
tornarono a diffondersi i RISC, più compatti ed adatti a semplici elaborati. Oggi abbiamo
il seguente orientamento: le macchine dedicate a certi compiti, come i server, sono
RISC. I nostri
normali sistemi sono rimasti CISC al fine di rispondere alle più diverse
necessità con una ampia gamma di istruzioni.
Indietro
|