Il MOS 6502 è un microprocessore a 8 bit presentato da MOS Technology nel settembre del 1975.

Assieme allo Zilog Z80 del luglio 1976 venne usato in molti prodotti commercializzati tra la fine degli anni settanta e gli anni ottanta, come giochi arcade e console domestiche, personal ed home computer, quali l'Apple II ed il Commodore VIC-20.. Venne prodotto su licenza da molte ditte, fra cui Rockwell International e Synertek. Dal MOS 6502 derivano diversi processori, tra cui si annoverano il MOS 6507, usato nella console Atari 2600, il MOS 6509, usato nella linea di computer Commodore CBM, ed il MOS 6510, utilizzato come CPU del Commodore 64.

Storia Le origini e il progetto in Motorola

Il chip fu progettato dallo stesso gruppo che aveva sviluppato il MOS 6501 e che comprendeva diversi degli ingegneri che avevano lavorato dal 1971 sul Motorola 6800, tra cui Chuck Peddle e Bill Mensch, usciti in massa da Motorola nel 1974.

Peddle aveva promosso commercialmente il 6800 ed aveva visitato molti potenziali clienti per presentare il microprocessore, pensato per un impiego in sistemi embedded. Nonostante le favorevoli impressioni, il processore non vendeva come previsto perché il prezzo di lancio di 360$ era considerato eccessivamente alto: molti clienti consideravano equo un prezzo di $ 25 a chip. Peddle propose perciò a Motorola di sviluppare una versione depotenziata del 6800 da poter vendere a quel prezzo, ma la dirigenza non accolse il suo suggerimento.

Nonostante il disinteresse dei vertici societari, Peddle iniziò per proprio conto a lavorare a quell'idea. Il nuovo processore era simile al 6800: come questo usava pochi registri ma aveva un solo accumulatore (il 6800 ne aveva 2: registri A e B). Rispetto al 6800, il 6502 introduceva diversi nuovi modi di indirizzamento, permettendo di utilizzare i suoi registri indice e lo stack in maniera molto efficiente: ad esempio, con lo stack era possibile accedere alle celle di memoria poste nell'intervallo di indirizzo 256-511 (esadecimale: $100-$1FF), mentre alcune istruzioni potevano accedere direttamente alle celle di memoria nell'intervallo 0-255 (esadecimale: $00-$FF), la cosiddetta "pagina zero", utilizzando un solo byte come indirizzo. Il nuovo chip era inoltre capace di eseguire calcoli in aritmetica BCD (Binary-coded decimal) ed aveva un generatore di clock interno.

Nonostante la disapprovazione dei vertici di Motorola, il gruppo guidato da Peddle continuava a lavorare sul progetto, cominciando a maturare nel contempo malcontento per l'assenza di supporto che ricevevano. Alla fine, la dirigenza decise di fermare lo sviluppo del nuovo chip: come risposta, Peddle e molti dei suoi colleghi lasciarono Motorola alla ricerca di una società che fosse stata interessata a produrre tale chip.

Gli sviluppatori del 6800 passano in MOS Technology Peddle prese contatti con MOS Technology, all'epoca una piccola azienda produttrice di circuiti integrati, fondata da Allen-Bradley per produrre processori per calcolatrici elettroniche per conto di Texas Instruments, ma che si era poi dedicata anche alla produzione di altri tipi di chip quando quest'ultima, per ridurre i costi dei suoi prodotti, aveva iniziato a prodursi in proprio gli integrati. Uno dei prodotti più diffusi di MOS Technology era una replica su un singolo chip del popolare gioco Pong. Nel mese di agosto del 1974 Peddle ed altri 7 ingegneri Motorola entrarono a lavorare presso MOS Technology: Bill Mensch, Harry Bawcum, Ray Hirt, Terry Holdt, Mike James, Will Mathis e Rod Orgill.

Peddle ed il suo gruppo terminarono lo sviluppo della loro idea che prese corpo in 2 nuovi microprocessori che erano compatibili con i chip periferici di Motorola: il MOS 6501, progettato da Rod Orgill, che poteva essere inserito negli zoccoli del 6800 perché compatibile a livello di piedinatura con quest'ultimo, ed il MOS 6502, progettato da Bill Mensch, simile al precedente ma con una piedinatura differente ed un circuito generatore di clock integrato. Questi chip non potevano eseguire i programmi scritti per il 6800 perché avevano un'architettura ed un insieme di istruzioni differenti.

I nuovi processori furono largamente pubblicizzati su diverse riviste del settore: un annuncio apparve sul numero di luglio di Electronics, un altro su quello di agosto di EE Times,; seguirono poi altri annunci su EDN (20/09/1975), Electronic News (03/11/1975) e Byte (novembre 1975). Annunci del 6501 apparvero in diverse pubblicazioni durante il mese di agosto del 1975: MOS Technology annunciava la presentazione del chip alla fiera dell'elettronica WESCON di San Francisco, che si sarebbe tenuta dal 16 al 19 settembre del 1975, dove sarebbe stato possibile acquistare il microprocessore a $ 25. Nel mese di settembre gli annunci riguardavano anche il 6502, che veniva annunciato disponibile sempre durante il WESCON a $ 25 mentre il 6501 veniva riprezzato a $ 20.

La presentazione del 6502

Al WESCON il 6502 fu prezzato a $ 25. MOS Technology aveva uno stand con un grosso contenitore pieno di chip. Dato che non era riuscita a portare un numero sufficiente di esemplari funzionanti, decise di riempire il contenitore con i chip difettosi e mettere quelli funzionanti in cima, dando così l'impressione che i propri stabilimenti fossero già in grado di reggere una produzione in quantitativi industriali. Nella stessa fiera il 6800 e l'Intel 8080 erano in vendita a $ 179. Il MOS 6502, messo in vendita ad un prezzo di 25 dollari, era la più economica CPU disponibile sul mercato, costando meno di un sesto dei modelli concorrenti: ad esempio, il Motorola 6800 era venduto a $ 175. All'inizio le persone pensarono che il prezzo del 6502 fosse sbagliato o ci fosse dietro un imbroglio ma durante lo svolgimento della fiera esse videro che sia Motorola che Intel abbassarono il prezzo dei loro chip a $ 69.

Questa riduzione dei prezzi legittimò il 6502, che cominciò ad essere venduto a centinaia di unità.

La causa tra Motorola e MOS Technology Dopo il WESCON MOS Technology fu citata nel mese di novembre del 1975 da Motorola: quest'ultima affermava infatti che i suoi 8 ex-dipendenti avevano utilizzato informazioni tecniche sviluppate presso i propri uffici per progettare i microprocessori 6501 e 6502. Ricevuta la citazione il finanziatore di MOS Technology, Allen-Bradley, considerando anche che l'altro settore di interesse di MOS Technology, i chip per calcolatrici, non andava bene a causa di una guerra dei prezzi intentata da Texas Instruments contro gli altri produttori, decise di limitare le possibili perdite e cedette le proprie quote ai fondatori della società.

La causa si risolse nel mese di maggio del 1976 con MOS Technology che decise di eliminare il chip 6501 che poteva essere montato negli zoccoli del 6800 e di acquistare le licenze dei chip periferici di Motorola.

Il MOS KIM-1

Sistemate le questioni legali ed ottenuto un buon riscontro al WESCON, MOS doveva pensare a come spingere gli sviluppatori a provare il suo nuovo processore 6502. Peddle sviluppò quindi un minicomputer denominato MDT-650 (da "Microcomputer Development Terminal") mentre un altro gruppo progettò il KIM-1. Il KIM-1 fu messo in commercio e, con stupore dei suoi progettisti, fu acquistato non solo da ingegneri ed addetti ai lavori ma anche da molti hobbisti. Anche altri sistemi simili, come il SYM-1 di Synertek ed il più flessibile AIM 65 di Rockwell (che producevano entrambe il 6502 su licenza), riscossero lo stesso buon successo commerciale.

Impiego ed utilizzo Informatica Uno dei primi impieghi del nuovo processore fu come CPU del computer Apple I presentato nel 1976 dalla neonata Apple, una società fondata da Steve Jobs e Steve Wozniak. Il 6502 fu poi utilizzato nel Commodore PET e nell'Apple II del 1977, ed in diversi altri computer ad 8 bit tra cui la famiglia di computer Atari ad 8 bit, la serie BBC Micro derivata dai sistemi ad 8 bit della Acorn Computers, il Commodore VIC-20 ed i computer di Ohio Scientific e Oric. Il Commodore 64 usava un derivato del 6502, il MOS 6510, ma la sua unità a dischi modello 1541 usava un 6502 a 2 MHz per eseguire il codice del DOS integrato nell'unità stessa e doveva essere veloce (il doppio della CPU dell'unità C64) per rispondere alle necessità temporali del trasferimento dei dati dal floppy.

Industria Agli usi civili e ludici si affiancò una notevole produzione di sistemi di controllo, anche industriale, data l'assenza dei microcontrollori di qualità (il mediocre 8048 data 1976 e spesso aveva prestazioni inadeguate). Oggi è ancora prodotto come processore per sistemi embedded da Western Design Center, una società fondata da Bill Mensch, uno dei progettisti del chip originale.

Videogiochi Un altro impiego importante del 6502 e dei suoi derivati fu negli apparati videoludici. Il primo di tali apparecchi che usò un chip della famiglia 6502 fu la console Atari 2600: essa utilizzava il MOS 6507, una versione depotenziata del 6502 con un bus indirizzi ridotto ed un risultante package con soli 28 piedini. A causa di tale limitazione, il 6507 poteva indirizzare solo 8 KB di memoria, ma il package ridotto ne riduceva le dimensioni ed il costo. Nonostante ciò, l'Atari 2600 è stata venduta in 30 milioni di esemplari, ognuna con un 6507 al suo interno.

Un'altra console basata su un chip derivato dal 6502 fu la popolare Nintendo Famicom, presentata da Nintendo nel 1983: La versione per la console era prodotta da Ricoh che rispetto al progetto originale, non gestiva l'artimetica BCD ma offriva 22 registri aggiuntivi (mappati in memoria) per la gestione del suono, la lettura dei gamepad e l'accesso diretto alla memoria per gli sprite. Tale chip, chiamato 2A03 nei sistemi NTSC e 2A07 in quelli PAL (la differenza risiedeva nel diverso divisore interno del clock usato per generare l'immagine ed il suono a causa della differente frequenza dei segnali PAL e NTSC), fu prodotto esclusivamente per Nintendo.

Gli stessi arcade, molto diffusi all'epoca, erano dotati di uno o più processori, spesso il 6502, e la Atari usava quasi esclusivamente questa CPU sebbene ad alcuni tra cui il Tempest od il Battlezone aggiungeva un coprocessore basato su bit slice AMD Am2900 a causa dell'insufficiente potenza di calcolo del 6502 dovendo operare in tempo reale

Descrizione

Il 6502 è un processore ad 8 bit con un bus indirizzi a 16 bit, capace quindi di indirizzare direttamente fino a 64 KB di memoria. Internamente lavora alla stessa velocità impostata dal clock esterno, tipicamente da 1 a 2 MHz: ad esempio, lo Zilog Z80 divide internamente il clock esterno per 4. Nonostante il clock inferiore le sue prestazioni sono equiparabili a quelle di altre CPU con frequenze maggiori: ciò è dovuto alla particolare architettura interna adottata, basata su una pipeline statica e sul fatto che opera con un ciclo a 2 fasi e non contando i cicli di clock. Come molte altre CPU dell'epoca, la logica NMOS del 6502 non è sequenziata da microcodice residente in ROM ma usa per la decodifica e la sequenziazione delle istruzioni un PLA preprogrammato a livello maschera (che occupa circa il 15% della superficie del chip). Come altri microprocessori ad 8 bit, il 6502 esegue una limitata sovrapposizione delle operazioni di fetch ed esecuzione delle istruzioni.

La bassa frequenza di clock riduceva i vincoli sulle velocità delle periferiche collegate alla CPU, dato che solo il 50% del ciclo di clock era disponibile per l'accesso alla memoria (a causa del progetto asincrono della CPU, questa percentuale varia molto tra le diverse versioni del chip). Ciò era importante in un periodo in cui le memorie affidabili avevano tempi di accesso nell'ordine dei 450-250 ns. Il 6502 era stato progettato per essere infatti semplice ed economico, ed abbassare i costi dell'intero sistema era un fattore molto importante per concorrere nei mercati degli home computer e delle console per videogiochi.