La prima scelta che ho dovuto fare è stata quella della CPU (Central Processing Unit), l’unità di elaborazione e cuore del computer. La scelta si è concentrata fra 3 modelli: MOS 6502, Motorola 6809 e Zilog Z80, tutti processori ad 8 bit facilmente reperibili ancora oggi nel mercato dell’usato. Ho analizzato pro e contro di ognuno di essi ed alla fine ho selezionato la CPU più indicata.
Il 6502 di MOS Technology è un processore famosissimo, messo in commercio alla fine degli anni ’70 del XX secolo: ha riscosso un notevole successo grazie al fatto di essere economico (all’epoca costava 25$) per cui è stato usato su un elevato numero di computer, tra cui possiamo ricordare la serie degli Apple II ed il Commodore VIC-20. I suoi derivati hanno avuto altrettanta fortuna: l’Atari 2600, il Nintendo Entertainment System (NES) ed il Commodore 64 sono solo alcuni dei computer e delle console giochi costruiti intorno ad una CPU derivata dal 6502. È facile da programmare, perché non ha un numero elevato di istruzioni, ed ha un buon seguito anche oggi grazie a molti gruppi di appassionati che continuano ad usare questa CPU. Uno dei limiti del 6502 è la scarsità di registri interni: ne ha solo 3, l’Accumulatore e 2 registri indice X e Y, non proprio il massimo per scrivere software molto complesso come ad esempio cicli di elaborazione di matrici, dove è necessario iterare su un elenco di dati.
Il 6809 di Motorola è un derivato del 6800: meno famoso di quest’ultimo, non è stato molto usato per via del fatto che non era economico. Si ricorda principalmente per essere stato il processore del TSR-80 Color Computer. Nonostante la sua architettura interna più avanzata lo ponga un gradino sopra al 6502, la sua scarsa diffusione all’epoca si riflette anche oggi dato che non si trova molto supporto per questa CPU: è difficile già trovare degli assembler, figurarsi compilatori per altri tipi di linguaggio (volevo programmare anche in C, sul mio computer). A livello di architettura interna offre anch’esso pochi registri: rispetto al 6502, però, ha 2 accumulatori ad 8 bit che possono essere combinati insieme per formare un unico registro a 16 bit.
Infine, lo Z80 di Zilog. Progettato da Federico Faggin e messo in commercio come alternativa all’Intel 8080, ha avuto molta più fortuna di questo dominando, insieme al 6502, il mercato degli 8 bit fino alla prima metà degli anni ’80: è stato usato infatti in numerosissimi sistemi domestici come i computer di Sinclair (ZX80, ZX81, Spectrum) nonché nei computer MSX ed in tantissimi giochi arcade sia come CPU principale che come coprocessore. La sua fortuna deriva anche dalla sua compatibilità a livello di software con l’Intel 8080: fu per questo processore che Digital Research rilasciò inizialmente il suo sistema operativo CP/M che, fino all’avvento dei PC IBM e dell’MS-DOS, è stato il sistema operativo più diffuso al mondo. Grazie a questa compatibilità è stato usato come alternativa economica all’8080 per costruire computer capaci di far girare il software scritto per il CP/M: anche il Commodore 128, ad esempio, montava uno Z80. La sua diffusione e la sua ricca libreria di programmi nonché la sua architettura interna ricca di registri ad 8/16 bit ha fatto ricadere la scelta su questo processore.