MOS 6502: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
IndyJrBot (discussione | contributi)
m Videogiochi: Bot: Sostituzione wikilink PAL -> PAL (televisione)
m clean up
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 54:
===Le origini e il progetto in Motorola===
[[File:BreakNES MOS 6502.jpg|thumb|left|Il [[Die (elettronica)|Die]] del MOS 6502.]]
Il [[circuito integrato|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]].<ref name="Bagnall 2006">{{Cita libro | cognome = Bagnall | nome = Brian | titolo = On the Edge: The Spectacular Rise And Fall of Commodore | editore = Variant Press | anno = 2006 |città= Winnipeg, Manitoba |pp=9–129-12 | capitolo=1 e 2 | isbn = 0-9738649-0-7 }}</ref>
 
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.<ref>{{cita web|url=http://www.computerhistory.org/collections/accession/102702020|titolo= Motorola 6800 Oral History |anno=2008|p= 18|editore=ComputerHistory.org|accesso=7 febbraio 2011|urlarchivio=https://web.archive.org/web/20120402231428/http://www.computerhistory.org/collections/accession/102702020|urlmorto=sì}}</ref><ref name="Matthews">{{cita web|autore=Ian Matthews|url=http://www.commodore.ca/history/company/mos/mos_technology.htm|titolo= The Rise of MOS Technology & The 6502 |data=26 giugno 2006|accesso=6 febbraio 2011|urlarchivio=https://web.archive.org/web/20181004202006/https://www.commodore.ca/history/company/mos/mos_technology.htm|urlmorto=sì}}</ref><ref>{{cita pubblicazione|autore=Robert Sugarman|url=http://www.commodore.ca/gallery/magazines/misc/mos_605x_team_eetimes_august_1975.pdf|titolo= Does the Country Need A Good $20 Microprocessor? |rivista= Electronic Engineering Times |data=25 agosto 1975|p=25|accesso=6 febbraio 2011|urlarchivio=https://web.archive.org/web/20070203105724/http://www.commodore.ca/gallery/magazines/misc/mos_605x_team_eetimes_august_1975.pdf|urlmorto=sì}}</ref>
 
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 [[Registro (informatica)|registri]] ma aveva un solo [[Accumulatore (informatica)|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 1 solo byte come indirizzo.<ref>{{cita web|url=http://www.cpushack.com/CPU/cpu1.html|titolo=Section One: Before the Great Dark Cloud - Part V: The 650x, Another Direction (1975)…|editore=CPU Shack|accesso=25 settembre 2015|lingua=en}}{{citazione|A differenza dell'[Intel]8080 e dei chip simili, il 6502 (ed il 6800) aveva molti pochi registri. Era un processore ad 8 bit, con un bus indirizzi a 16 bit. Al suo interno c'era un registro per i dati ad 8 bit, 2 registri indice ad 8 bit ed un puntatore allo stack ad 8 bit (lo stack era preimpostato dall'indirizzo 256 (esad. $100) a 511 ($1FF)). Usava questi registri indice e lo stack efficacemente, con più modalità di indirizzamento, inclusa una modalità pagina zero che accedeva gli [[indirizzi di memoria]] da 0 a 255 ($FF) con un indirizzo ad 8 bit che velocizzava le operazioni (non doveva caricare un secondo byte per l'indirizzo).|CPU Shack|Unlike the 8080 and its kind, the 6502 (and 6800) had very few registers. It was an 8 bit processor, with 16 bit address bus. Inside was one 8 bit data register, two 8 bit index registers, and an 8 bit stack pointer (stack was preset from address 256 ($100 hex) to 511 ($1FF)). It used these index and stack registers effectively, with more addressing modes, including a fast zero-page mode that accessed memory addresses from address 0 to 255 ($FF) with an 8-bit address that speeded operations (it didn't have to fetch a second byte for the address). |lingua=en}}</ref> Il nuovo chip era inoltre capace di eseguire calcoli in aritmetica [[Binary-coded decimal|BCD]] (''Binary-coded decimal'')<ref name=bcd>{{cita web|url=http://www.6502.org/tutorials/decimal_mode.html|titolo=Decimal Mode|editore=6502.org|accesso=25 settembre 2015|lingua=en}}</ref> ed aveva un generatore di [[clock]] interno.<ref name=datasheet>{{cita articolonews|editore=Commodore Semiconductor Group|titolo=6500 microprocessors|lingua=en}}</ref>
 
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.<ref name=Matthews/>
Riga 67:
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''<ref name="Electronics July 24 1975">{{Cita pubblicazione | titolo = Microprocessor line offers 4, 8,16 bits | rivista = Electronics | volume = 48 | numero = 15 | p = 118 | editore = McGraw-Hill |città= New York | data = 24 luglio 1975}}</ref>, un altro su quello di agosto di ''EE Times'',<ref name="6502 EE Times 1975">{{Cita pubblicazione | cognome = Sugarman | nome = Robert | titolo = Does the Country Need A Good $20 Microprocessor? | rivista = EE Times | p = 25 | editore = CMP Publications | città = Manhasset, New York | data = 25 agosto 1975 | url = http://www.commodore.ca/gallery/magazines/misc/mos_605x_team_eetimes_august_1975.pdf | accesso = 6 febbraio 2011 | urlarchivio = https://web.archive.org/web/20070203105724/http://www.commodore.ca/gallery/magazines/misc/mos_605x_team_eetimes_august_1975.pdf | urlmorto = sì }}</ref>; 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.<ref name="Electronics Aug 7 1975">{{Cita pubblicazione | titolo = MOS 6501 Microprocessor beats 'em all | rivista = Electronics | volume = 48 | numero = 16 | pp = 60–6160-61 | editore = McGraw-Hill |città= New York | data = 7 agosto 1975}}</ref> 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.<ref name="commons.wikimedia.org" />
 
===La presentazione del 6502===
[[File:MOS 6501 6502 Ad Sept 1975.jpg|thumb|Pubblicità dei MOS 6501 e 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.<ref name="Bagnall">{{cita libro|autore=Brian Bagnall|titolo= On the Edge: The Spectacular Rise and Fall of Commodore |editore=Variant Press|anno=2005|p=24}}</ref> Nella stessa fiera il 6800 e l'[[Intel 8080]] erano in vendita a $ 179.<ref name="James Ad">{{cita pubblicazione | autore = James | titolo = James Advertisement | rivista = Popular Electronics | volume = 8 | numero = 3 | p = 107 | data = settembre 1975}}{{Citazione|James è adesso Jameco Electronics. La CPU 8080 era a $ 149,95, la CPU 8008 era a $ 29,95. Un chip di RAM statica 2102 da 1 Kbit era a $ 4,95. Il loro prezzo per l'8080A era $ 37,95 nel numero di giugno del 1976.||James is now Jameco Electronics. The 8080 CPU was $149.95, the 8008 CPU was 29.95. A 2102 1K bit static RAM was $4.95. Their price for a 8080A CPU was 37.95 in the June 1976 issue.|lingua=en}}</ref> Il MOS 6502 fu, messo in vendita, ad un prezzo di 25 dollari,<ref name="commons.wikimedia.org">{{Cita pubblicazione | titolo = MOS 6502 the second of a low cost high performance microprocessor family | rivista = Computer | volume = 8 | numero = 9 | pp = 38–3938-39 | editore = IEEE Computer Society | data = settembre 1975 | url = https://commons.m.wikimedia.org/wiki/File:MOS_6501_6502_Ad_Sept_1975.jpg |doi= 10.1109/C-M.1975.219074 }}</ref> 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.<ref>{{Cita pubblicazione | autore = Motorola | titolo = All this and unbundled $69 microprocessor | rivista = Electronics | volume = 48 | numero = 22 | p = 11 | editore = McGraw-Hill | data = 30 ottobre 1975 | url = https://commons.wikimedia.org/wiki/File:Motorola_MC6800_microprocessor_ad_1975.jpg }}</ref> allAll'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.<ref>{{Cita pubblicazione | autore = Motorola | titolo = All this and unbundled $69 microprocessor | rivista = Electronics | volume = 48 | numero = 22 | p = 11 | editore = McGraw-Hill | data = 30 ottobre 1975 | url = https://commons.wikimedia.org/wiki/File:Motorola_MC6800_microprocessor_ad_1975.jpg }}{{Citazione|Il prezzo per un singolo MC6800 fu ridotto da $ 179 a $ 69. Il precedente prezzo per quantitativi da 50 a 99 chip era di $ 125 cad.||The quantity one price for the MC6800 was reduced from $179 to $69. The previous price for 50 to 99 units was $125.|lingua=en}}</ref><ref name="Digi-Key Ad">{{cita pubblicazione | autore = Digi-Key | titolo = Pubblicità di Digi-Key | rivista = Popular Electronics | volume = 8 | numero = 6 | p = 124 |data = dicembre 1975}}{{Citazione|La CPU 8080A era a $ 69,50. Un chip di RAM statica 2102 da 1 Kbit era a $ 3,50. Il prezzo di Digi-Key per un 8080A era di $ 34,95 nel numero di giugno del 1976.||The 8080A CPU was $69.50. A 2102 1K bit static RAM was $3.50. Digi-Key's price for a 8080A was $34.95 in the June 1976 issue.|lingua=en}}</ref>
 
Questa riduzione dei prezzi legittimò il 6502, che cominciò ad essere venduto a centinaia di unità.<ref name=Bagnall />
Riga 107:
Come il suo precursore, il [[Motorola 6800]], il 6502 aveva pochi [[registro (informatica)|registri]]: all'epoca in cui il 6502 fu progettato il numero di transistor contenuti in un integrato influivano molto sul suo costo e mantenerne il loro numero basso contribuiva a contenere i costi. Inoltre la [[RAM]] esterna era più veloce di una CPU, quindi era sensato ottimizzare l'architettura per l'accesso alla memoria piuttosto che incrementare il numero dei registri del chip. Il 6502 fu progettato con l'obiettivo di essere molto economico: perciò furono usati circa 4.000 transistor contro i circa 2.300 dell'[[Intel 4004]] del 1971 ed i circa 8.500 dello [[Z80]].<ref>{{cita web|url=http://www.classiccmp.org/pipermail/cctalk/2001-May/170250.html|titolo="How many transistors in the 6502 processor?"|data=5 maggio 2001|accesso=7 febbraio 2011|urlmorto=sì|urlarchivio=https://web.archive.org/web/20100925064849/http://www.classiccmp.org/pipermail/cctalk/2001-May/170250.html}}</ref>
 
Il progetto originario del 6800 prevedeva una superficie di silicio di 4.572&nbsp;mm di lato pari a 20,9&nbsp;mm² diventati 5.4&nbsp;mm pari a 29&nbsp;mm² <ref>Motorola 6800 Oral History (2008), p. 10</ref> mentre il progetto del 6502 prevedeva 3.9 x 4.3&nbsp;mm pari a 16.6&nbsp;mm².
 
I registri del 6502 includono:
Riga 185:
[[Mitsubishi]] realizzò il 65816, un [[microcontrollore]] con un'architettura simile a quella del 65C816, anche se non compatibile al 100% con essa.
 
[[Synertek]] pubblicò la scheda tecnica dell{{'}}'''SY6516''', una versione a 16 bit del 6502 che però non fu mai messa in commercio.<ref>{{cita web|url=http://homepage.mac.com/jorgechamorro/a2things/PDFs/65xxx.txt|titolo="Syntertek SY6516 - The chip that never existed"|editore=Apple II Things|accesso=7 febbraio 2011|urlmorto=sì|urlarchivio=https://web.archive.org/web/20100628154615/http://homepage.mac.com/jorgechamorro/a2things/PDFs/65xxx.txt}}</ref>
 
== Problemi nel progetto ==
Riga 250:
 
=== Monografie in inglese ===
* {{cita libro|lingua=en|cognome=Leventhal|nome=Lance A.|anno=1986|titolo=6502 Assembly Language Programming|url=https://archive.org/details/6502assemblylang0000leve_s9s0|edizione=2|editore=Osborne/McGraw-Hill|isbn=0-07-881216-X}}
* {{cita libro|lingua=en|cognome=Leventhal|nome=Lance A.|anno=1982|titolo=6502 Assembly Language Subroutines|url=https://archive.org/details/6502_Assembly_Lanuage_Rountines_part_1|editore=Osborne/McGraw-Hill|isbn=0-931988-59-4}}
* {{cita libro|lingua=en|cognome=Zaks|nome=Rodnay|anno=1982|titolo=Advanced 6502 Programming|editore=Sybex, Inc.|isbn=0-89588-089-X|url=http://www.atarimania.com/documents/Advanced_6502_Programming.pdf}}