Intel 4004: è tutta 'colpa' sua!!! :-)
40 anni fa nasceva il primo microprocessore della storia, l'Intel 4004 opera di uno scienziato italiano: Federico Faggin.
La scorsa settimana, la quasi totalità dei media, ha celebrato il microprocessore e "i suoi primi quarant'anni". Risale in realtà al 15 novembre 1971 la "commercializzazione" del primo processore: la nascita vera e propria, come tiene a ricordare Federico Faggin - suo inventore - è da retro-datare di alcuni mesi, ovvero a quella notte del gennaio dello stesso anno in cui i suoi sforzi si sono concretizzati, tangibilmente, nel laboratorio Intel di cui era a capo. All'inizio l'Intel 4004 era destinato ad essere solo il "motore" di alcune calcolatrici elettroniche dell'azienda giapponese Busicom (fu lei infatti a commissionare il lavoro a Intel) ma presto fu intuito che il nuovo nato, il capostipite di tutti i microprocessori, poteva e doveva essere venduto anche come componente a disposizione di tutti, una volta chiaro il reale potenziale a disposizione di questo "chippettino".
Certo a quei tempi, inizi anni 70, nessuno avrebbe mai osato pensare a cosa sarebbe successo nei decenni a seguire, a quale rivoluzione culturale e sociale saremmo andati incontro. Allo stesso tempo ci chiediamo oggi come potrebbe essere la nostra "vita digitale" tra quarant'anni e più, ma come allora nessuno azzeccò le previsioni, altrettanto ora è del tutto inutile fare troppe ipotesi: sicuramente sbaglieremmo, di grosso, anche questa volta. Tocca vivercelo giorno dopo giorno il nostro "digitale". L'unica cosa certa è che si tratta un biglietto di sola andata: dal mondo dei bit, colorati e non, di certo non torna più indietro. Meglio rassegnarsi o, per meglio dire, godersi comodamente & digitalmente lo spettacolo! :-)
4004: chi era costui?
Cominciamo col dire che il 4004, sebbene il più importante, era uno dei quattro componenti della famiglia Intel 4000. C'era un componente ROM, il 4001, uno RAM, il 4002, uno shitft register atto ad espandere le linee di I/O, il 4003 e, dulcis in fundo, il processore vero e proprio, il 4004. "Viaggiava" ad appena 740 KHz, una velocità di clock che oggi sembrerebbe ridicola. Considerate che un moderno processore "va" anche a 3 GHz che vuol dire (a livello di clock "puro e semplice") un valore circa 4000 volte superiore. Se a questo aggiungiamo, però, i miglioramenti architetturali intercorsi nel frattempo, compreso ad esempio il fatto che i processori moderni sono in realtà in grado di compiere più operazioni nello stesso istante (grazie al parallelismo reale interno), il divario prestazionale si ingigantisce ulteriormente, rendendolo di fatto incalcolabile.
Il povero 4004, viceversa, "consumava" ben 8 cicli di clock per ogni istruzione semplice e addirittura 16 per quelle più complesse. Calcolatrice, anzi foglio Excel, alla mano equivale a un totale di (circa) 50.000 o 100.000 istruzioni al secondo. I MIPS (milioni di istruzioni al secondo) erano ancora ben lontani! Dal punto di vista esterno, il 4004 utilizzava un package a 16 piedini dual in-line, tramite i quali il piccoletto doveva fare tutto: indirizzare la memoria, trasferire bidirezionalmente i dati, ricevere i segnali di clock oltre naturalmente all'alimentazione da ben 12 volt. Nulla a che vedere con i packaging dei moderni microprocessori che dispongono di centinaia di piedini "pronti a tutto"!!!
Piuttosto scarno - ma, si sa, eravamo agli albori - anche il set di istruzioni, che ne comprendeva in tutto 46 tra quelle a 8 bit (41) e a 16 bit (5). Sedici erano i registri interni (a 4 bit!!!), mentre lo stack poteva contare su solo tre livelli: non era granché nemmeno il bus dati interno "largo", come i registri, sempre 4 bit. Non mancava, ovvio, un'unità aritmetico-logica (ALU) e tutta la logica di decodifica delle istruzioni. Lo spazio di indirizzamento era a 12 bit che significava - teoricamente... - poter utilizzare fino a 4 K di memoria: uno spazio pressoché "infinito" per quei tempi.