di  -  giovedì 25 dicembre 2008

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).

10 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    michele
     scrive: 

    ha avuto poca gloria?nell’amiga cosa c’era scusa?

  • # 2
    MCMXC
     scrive: 

    …ehmmm…Michele…guarda che si parla del 6800 e non del 68000^________^;;;;;;;;

    (…pero’ all’inizio ho fatto anche io lo stesso errore leggendo frettolosamente il titolo;))

  • # 3
    Marco
     scrive: 

    Amiga 1000,500 e 2000 senza schede “acceleratrici” (che venivano prodotte anche in Italia ma con scarsa qualità…sigh né ho una XC68020/XC68881 a 12Mhz nel mio A500) erano dotati “di serie” di un Motorola MC68000 funzionante a 7.16MHz (frequenza connessa con lo standard televisivo P.A.L; negli U.S.A era diversa) (contro gli 8 di una famosa serie Atari che non mi piaceva all’epoca).
    Grazie.

    Marco71.

  • # 4
    Marco
     scrive: 

    Piccola correzione sulla frequenza usata per l’MC68000 che da noi era di 7.09MHz contro i 7.16MHz utilizzati altrove.
    Grazie.

    Marco71.

  • # 5
    andrea
     scrive: 

    Su Amiga la serie 68k è arrivata fino al 68060,
    nella seconda metà degli anni novanta (il Mac si fermò
    invece allo 040, per passare poi al PPC).
    Un team tedesco indipendente sta da tempo lavorando
    alla creazione di quello che loro definiscono “68070” da usare in un sistema AmigaOS 3.x compatibile.
    (www.natami.net per info)

  • # 6
    Fairlight CMI: il computer entra nelle sale di registrazione - Appunti Digitali
     scrive: 

    […] questo miracolo della tecnologia, era per l’epoca mirabolante: un doppio processore Motorola 6800, una memoria di sistema pari a 64KB più 16KB per ciascuna delle 8 voci in polifonia. Il […]

  • # 7
    Quando Commodore stava per comprare Apple - Appunti Digitali
     scrive: 

    […] albori dell’informatica: Chuck Peddle. Da dipendente Motorola e addetto allo sviluppo del processore 6800, Peddle riteneva che il più grande muro verso l’adozione di massa del microprocessore, fosse […]

  • # 8
    flameman
     scrive: 

    il 6800 e’ stato sfortunato, ma stiamo dimenticando la fortuna che invece ebbero le sue vesti, riveste e corrette, in salsa microcontroller: ovvero mc68hc11, un microcontrollore geniale!

    me ne occupo, per hobby, in piccoli progetti su piccole board, fra cui una board davvero comoda per lo sviluppo http://www.elinux.org/Flameman/fingerboard

    che altro dire ? che, grazie allo sforzo di appassionati, da qualche tempo 68hc11 e’ supportato da gcc

  • # 9
    flameman
     scrive: 

    68hc11 e’ geniale, a mio avviso, per la modalita’ serial bootstrap che permette di caricare in ram 255byte esatti da UART (solitamente RS232) e di lanciare successivamene l’eseguzione

    peccato per per il protocollo, peccato usi un break (0x00) per segnare questa modalita’ di funzionamento e peccato che non mostri nessuna robustezza o controllo di errore

    che dire ? di tools per lo scopo ne esistono fondamentalmente 2: DL.exe per dos e PCBUG11 per windows

    beh, dopo un po’ di lavoro si e’ riusciti a confezionare (scritto in C, usando la doc di “linux serial programming”) un buon client unix per caricare nei 255 byte +1 nella ram del 68hc11 niente poco di meno che un second stage bootloader che parla, sta volta, S-REC protocol (che gia’ di suo prevede controllo d’errore a livelli di linea)

    adesso finalmente si ragiona, e anche io posso apprezzare questo fantasti micro, figlio del 6800

  • # 10
    Cesare Di Mauro
     scrive: 

    Non conoscevo cosa interessantissima caratteristica del 68HC11 (d’altra parte l’articolo parla del capostipite della famiglia :D): grazie per le informazioni! :)

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.