MOS 6502 | ||||
---|---|---|---|---|
![]() | ||||
Registerbreedte | 8 bits | |||
Fabrikant | o.a.MOS Technology | |||
Begonnen in | 1975 | |||
Klokfrequentie | 1 tot 3 MHz | |||
Voedingsspanning | 5 volt | |||
Aantal pinnen | 40 | |||
Details | ||||
Aantal transistors | 3.510,[1] 3.218[2] | |||
Aantalregisters | 6[3] | |||
Breedteadresbus | 16 bits | |||
Adresruimte | 64 kB | |||
Aantal instructies | 56 | |||
|
DeMOS 6502 is een van de bekendste 8 bit-processoren. De processor werd in 1975 ontworpen doorChuck Peddle bijhalfgeleiderfabrikantMOS Technology (na overname doorCommodore, Commodore Semiconductor Group geheten). Chuck Peddle had eerder bijMotorola inSilicon Valley gewerkt, waar hij bekend was met de6800-processor. De gelijkenis met de 6800 is te vinden in de instructieset. De 6502 werd in licentie ook door onder andere Rockwell en Synertek geproduceerd. De 6502 dankte zijn populariteit aan zijn prijs en prestaties: destijds was de processor 6 keer zo goedkoop als concurrerende processoren en hij was vaak nog sneller ook. De 6502 startte een enorme reeks computerprojecten en was samen met deZilog Z80 de aanzet tot dehomecomputerrevolutie in dejaren 80. De eerste computerboards waren de KIM-1 (1976), SYM en AIM65, waarbij op de laatste reeds een ASCII-toetsenbord en papierrolprinter aanwezig waren.
Type architectuur: | Accumulator |
Aantal registers: | 3 acht-bits-integer-registers: de accumulator en een X- en Y-register |
Adresruimte: | 65536 bytes |
Geheugenbeheer: | Niet aanwezig |
Vlaggen: | Nul, overdracht, negatief, overflow, decimaal, interrupt |
Adresseermodi | Onmiddellijk, absoluut, absoluut geïndexeerd (index: X,Y), nulpagina, nulpagina geïndexeerd (index: X), indirect geïndexeerd (index: Y), geïndexeerd indirect (index: X) |
De 6502 en varianten daarop zijn toegepast in een groot aantal verschillende computers en andere apparaten:
De 6502-processor is na zijn gouden decennium enigszins in onbruik geraakt. De ondergang vanCommodore heeft de processor ook niet geholpen. Toch wordt de 65C02, een 6502-kloon, nog steeds verkocht doorWestern Design Center en nog steeds in elektronische apparaten verwerkt.
De 6502 is altijd een vervelendeprocessor geweest om eencompiler voor te schrijven. Dit komt doordat destackpointer 8 bits breed is, zodat de stack maximaal 256 bytes lang kan zijn. Veel compilers gebruiken daarom een softstack, waarbij de functie van stackpointer op een andere, minder efficiënte wijze wordt gerealiseerd.
Veelhomecomputers gebaseerd op de 6502 hadden eenBASIC-interpreter aan boord. Als gevolg hiervan werd er veel inBASIC geprogrammeerd; menig programmeur heeft zijn eerste regels code geschreven in de BASIC van zijn eerstehomecomputer, die met de 6502 is uitgerust.
Niet bij elkeopcode-byte is een instructie gedefinieerd. Om de prijs van de processor laag te houden, worden de instructie-bytes doorcombinatorische logische schakelingen onvolledig gedecodeerd. Als gevolg hiervan levert bijna elke ongeldige instructie-byte een zeker gedrag op, vaak een mengvorm van geldige instructies. De meeste van deze spookinstructies zijn nutteloos vanwege hun bizarre effect; enkele doen de processorcrashen.
In de loop der jaren zijn er verscheidene varianten van de 6502 verschenen die licht verschilden: