Punto informatico Network

Canali
20080829214213

CISC vs RISC

17/04/2005
- A cura di
Hardware & Periferiche - Lo scontro tra due filosofie di progettazione dei microprocessori..

Tag

Passa qui con il mouse e visualizza le istruzioni per utilizzare i tag!

cisc (1) , risc (1) .

Valutazione

  •  
Voto complessivo 5 calcolato su 329 voti
Il pezzo che stai leggendo è stato pubblicato oltre un anno fa. AvvisoLa trattazione seguente è piuttosto datata. Sebbene questo non implichi automaticamente che quanto descritto abbia perso di validità, non è da escludere che la situazione si sia evoluta nel frattempo. Raccomandiamo quantomeno di proseguire la lettura contestualizzando il tutto nel periodo in cui è stato proposto.

Introduzione

A chi è appasionato di tecnologia, ed è ingordo di informazioni sugli ultimi ritrovati tecnologici, spesso capita di leggere termini come Out of order execution, pipeline, architettura superscalare, branch prediction, sugli articoli che riportano informazioni tecniche sulle CPU moderne.

Per dare la possibilità a chi non conosce bene l'inglese di leggere qualcosa di più approfondito, e per sfatare alcuni miti, ho scritto questo articoletto, in cui parlerò della differenza tra i processori CISC e RISC, e introdurrò alcuni concetti che poi serviranno per una serie di articoli futuri sui processori più interessanti.

SiGenFab2.jpg

L'evoluzione

Chiariamo tanto per cominciare una cosa, l'evoluzione dei processori moderni, è legata a tanti fattori, fra cui compilatori buoni, tecniche di costruzione sempre più raffinate, ma il punto fondamentale è il costo!

Non è importante se un progetto, sulla carta, è decisamente migliore di tutti gli altri, se esso ha costi troppo elevati, e/o il mercato è troppo di nicchia per poter coprire le spese di progettazione e produzione, esso non avrà successo.

I primi passi

Per capire meglio come si sono sviluppate le CPU in questi anni, e il perché alcune hanno avuto successo, mentre altre sono state relegate a mercati di nicchia, dobbiamo partire da lontano:

Negli anni 70, furono introdotti i primi calcolatori basati su transistor integrati, e la situazione era la seguente:

1) le memorie erano lente, grosse e molto costose (erano a nucleo magnetico - vedi foto sotto)

2) i compilatori producevano codice "sporco", e poco ottimizzato, in parole povere erano talmente inefficienti, che era conveniente lavorare in "assembler", il codice scritto però era difficile da correggere (essendo un linguaggio di basso livello).

3) la memoria secondaria, anch'essa magnetica, era ancora più lenta ed era anch'essa costosa. Questo obbligava a scrivere programmi molto compatti e il più possibile ottimizzati, dato che dovevano poi risiedere in una memoria da pochi KBytes.

Memorie.jpg

L'avvento delle memorie a semiconduttore

La situazione migliorò un poco con l'avvento delle memorie dinamiche a semiconduttore a metà degli anni ‘70, ma lo stato di integrazione era di poche migliaia di transistor, e per ottenere un dispositivo completo, era necessario collegare più chip.

Ogni chip ovviamente, assolveva a funzioni differenti, ed erano tutti collegati alla medesima scheda madre.

Il problema di avere molti chip con diverse mansioni, è che le interconnessioni tra di essi (non sono altro che le piste di rame sulla scheda madre, che vengono chiamate anche BUS) hanno una banda limitata, e questo introduceva ulteriori ritardi nel trasferimento dei segnali digitali da una parte all'altra (il problema della banda limitata nasce dal fatto che tra le piste adiacenti c'è un effetto di diafonia, che si accentua quanto più elevata è la frequenza).

Anche oggi alcune componenti sono interessate da problemi simili, in particolare stò parlando del collo di bottiglia costituito dall'interfaccia memoria-chipset e chipset-processore.

Il primo microprocessore General-purpose

DSCF1297.jpg

La soluzione all'epoca fù quella di costruire un singolo chip con tutta la logica necessaria, fù Intel nel 1971 a introdurre il primo processore general-purpose (per applicazioni generali), si chiamava 4004, era composto da 2300 transistor, ed era a tutti gli effetti un "mini-computer".

Esso poteva decodificare al massimo 45 istruzioni, aveva dei registri da 4 bit, e aveva una frequenza di circa 1 Khz (KiloHertz, il prefisso Kilo sta a indicare le migliaia).

Pagine
  1. CISC vs RISC
  2. Pagina 2
  3. Pagina 3

 

Segnala ad un amico

Tuo nome Tuo indirizzo e-mail (opzionale)
Invia a:
    Aggiungi indirizzo email
    Testo

    megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2017 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising

    • Gen. pagina: 1.67 sec.
    •  | Utenti conn.: 58
    •  | Revisione 2.0.1
    •  | Numero query: 20
    •  | Tempo totale query: 1.52