E’ proprio il caso di dirlo: Motorola non ha avuto molta fortuna con questo microprocessore. Che nell’aria si sentisse forte l’aspettativa di un microprocessore a 8 bit, dopo la realizzazione del primo a 4 bit, l’Intel 4004, era più che un’ipotesi nella prima metà degli anni ’70.
Il 6800 venne presentato, infatti, verso la fine del ’74, ma Intel lo precedette di pochi mesi col suo 8080. Nonostante l’iniziale svantaggio, il 6800 guadagnò presto rilevanza nel mercato grazie ad un’architettura semplice e a una costo più contenuto, almeno finché lo staff che lo progettò decise di abbandonare Motorola e andare a lavorare per MOS Technlogy, realizzando velocemente e rilasciando l’anno successivo l’arcinoto 6502…
Nonostante queste premesse poco confortanti, questa CPU fu comunque impiegata (assieme all’8080) nei primi microcomputer a basso costo dell’epoca. Il basso costo era derivato dal fatto che essa racchiudeva in un unico package molte delle componenti che in precedenza erano divisi in vari chip (come aveva dimostrato appunto l’8080).
Ciò permetteva di semplificare e ridurre i costi di progettazione e produzione delle schede madri. E’ così che la ritroviamo in computer quali il TRS-80 e l’Altair 680, e console come il Vectrex. Realtà sicuramente poco conosciute dalle nostre parti, ma che hanno avuto un discreto successo negli USA.
I punti di forza di quest’architettura sono i seguenti:
- presenza di due accumulatori (una novità, considerato che l’accumulatore è stato sempre uno, eventualmente coadiuvato da registri “di appoggio”);
- registro indice a 16 bit e possibilità di specificare un offset;
- completo set di istruzioni di salto condizionato;
- accesso diretto e veloce ai primi 256 byte di memoria (per sopperire alla carenza di registri);
- modello unico per l’accesso a memoria e dispositivi (non ci sono istruzioni di I/O, ma anche le periferiche vengono mappate in locazioni di memoria).
Ci troviamo di fronte a un’architettura molto semplice, con relativamente poche istruzioni (72 in tutto), e soltanto 4 modalità d’indirizzamento; semplicità (in particolare a livello di ISA) che verrà ripresa sia dal 6502 di MOS che dal successivo 68000, capostipite di una fortunata e gloriosa famiglia (rimasta ancora nel cuore di molti appassionati) che darà non poco lustro a Motorola.
Di sicuro interesse è la presenza del registro indice a 16 bit, a cui è dedicata un’apposita modalità d’indirizzamento che permette di specificare un offset a 8 bit (senza segno; quindi valori interi che vanno da 0 a 255) che risulta estremamente comodo per poter accedere ai dati di strutture complesse (e molto usate nei linguaggi di programmazione).
Un’altra peculiarità del 6800 è rappresentata dalle numerose istruzioni di salto condizionato, che permettono di controllare il verificarsi di tutti i casi di confronto possibili fra numeri interi con o senza segno. Caratteristica, questa, molto apprezzata dai programmatori, e che diventerà standard in tutti i microprocessori seguenti, anche RISC (il 6800, invece, appartiene sempre alla famiglia dei CISC).
Nonostante le buone premesse, il 6800 non ha avuto il successo che meritava. Complice l’introduzione dell’8080 di Intel qualche mese prima, ma soprattutto l’arrivo del 6502 (che era decisamente più economico) e successivamente dell’altrettanto stimato Z80, questa CPU ha avuto poco spazio e gloria, ritagliandosi comunque una discreta fetta nel campo dei microcontrollori, che è sempre stato un settore particolarmente caro a Motorola.
In ogni caso va riconosciuto che ha gettato le basi che ritroveremo nel “fratellastro” 6502, ma soprattutto del già citato 68000 e, incredibile a dirsi, anche di processori RISC quali l’ARM (che hanno a poco a che spartire coi CISC).