CPU Design: l’arte di dare ordini

L’ingegnere sa essere una creatura paradossale. Ama le cose complicate, ma non complicarsi la vita. Più il progetto è complicato e più probabilmente lo troverà interessante, ma la soluzione che fornirà sarà quella che può ottenere con meno complicazioni. Progettare un set di istruzioni, in fin dei conti, porta ad un paradosso simile. Il progetto è complicato, ma è opportuno portarlo a termine nel modo più semplice possibile, altrimenti il progetto dell’hardware che seguirà sarà infernale. Ma del resto, un set di istruzioni poco complicato potrebbe rendere infernale la vita del programmatore (per quanto pochi progettisti hardware abbiano a cuore la salute dei programmatori). Cercheremo, in questo articolo, di spiegarvi come mettere insieme un set di istruzioni minimale ma sufficientemente completo da poter essere (addirittura) usato senza eccessivi problemi.

QUATTRO NERD AL BAR - RELOADED

Quando un gruppo di amici normali si incontra al bar, magari dopo un po’ di tempo dall’ultima volta che si sono visti, per prima cosa inizia a scorrere il caffè (o l’alcool, a seconda di che ore sono, e qualche volta nemmeno), dopodiché si inizia a parlare. Di solito si inizia dai bei vecchi tempi, e si riascolta per la milionesima volta la storia di quello che (incredibile!) ha fatto quella cosa lì esattamente per quel motivo! Poi si passa al presente, al lavoro, alla famiglia chi ce l’ha, e poi ancora si passa al futuro, a quello che si vorrebbe fare con l’aumento di stipendio appena ottenuto, o alla macchina nuova che si vuole comprare appena esce qualche incentivo alla rottamazione. E se invece del caffè è stato versato dell’alcol, dopo il futuro si parla di fantascienza come quella spettacolare isola ai Caraibi in cui ci si vorrebbe trasferire, o magari dell’essere per una volta ascoltati dalla moglie, chi ce l’ha.

Quando un gruppo di amici nerd si incontra al bar, lo scheduling dei processi è grosso modo lo stesso, anche se ognuno ha ben presente la sequenza di eventi sul diagramma di Gantt che si forma spontaneamente in testa man mano che i suddetti eventi avvengono. Come un array di core sincronizzati da un semplice round robin, i nerd rievocano i bei vecchi tempi, e si riascoltano per la milionesima volta i fatti e i fatterelli dei bei tempi dell’università, prima di quella giungla che è il lavoro. Poi si passa ad occupare i time slot con le ultime partite giocate a D&D e con quel pezzo di codice che ti ha fatto tirare giù tutti i santi dal paradiso. E poi si finisce con il presentare i propri progetti rivoluzionari con i quali ognuno intende fare (condizione necessaria) un mucchio di soldi e, come corollario, magari anche salvare il mondo.

Ma quando l’alcool è sufficiente per farti fare il passaggio a velocità luce, nessun nerd parla di sogni irrealizzabili come un’isola dei Caraibi o, peggio ancora, farsi ascoltare da una donna: il fatto che siano cose impossibili è una congettura non dimostrata ma universalmente accettata. No, il nerd coltiva sogni più modesti, come magari costruirsi il proprio computer o, magari, farsi ascoltare dal proprio processore.

PATTI CHIARI E AMICIZIA LUNGA

Come ti ha spiegato il tuo amico nerd l’ultima volta che vi siede seduti a quel tavolino, alla fine farsi ascoltare da un processore non è questa gran tragedia. Basta avere le idee chiare fin dall’inizio e, complice il basso costo della tecnologia odierna, non complicarsi troppo l’esistenza. Come ti è stato detto, parti fissando un po’ di paletti:

  • Tutte le istruzioni devono lavorare solo ed esclusivamente a partire dai registri, il che significa niente modalità di indirizzamento astruse;
  • Sì agli operandi immediati;
  • Poche istruzioni di salto;
  • Niente istruzioni inutili, solo quelle per eseguire le quali ci serve hardware dedicato;
  • Utilizziamo istruzioni di lunghezza fissa.

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 4345 parole ed è riservato agli abbonati PRO. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e PRO inoltre potrai fare il download (PDF) dell'EOS-Book e di FIRMWARE del mese. ABBONATI ORA, è semplice e sicuro.

Abbonati alle riviste di elettronica

Scrivi un commento

EOS-Academy
Abbonati ora!