MOS 6502

De MOS 6502 is een van de bekendste 8 bit-processoren. De processor werd in 1975 ontworpen door Chuck Peddle bij halfgeleiderfabrikant MOS Technology (na overname door Commodore, Commodore Semiconductor Group geheten). Chuck Peddle had eerder bij Motorola in Silicon Valley gewerkt, waar hij bekend was met de 6800-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 de Zilog Z80 de aanzet tot de homecomputerrevolutie in de jaren 80. De eerste computerboards waren de KIM-1 (1976), SYM en AIM65, waarbij op de laatste reeds een ASCII-toetsenbord en papierrolprinter aanwezig waren.

MOS 6502
Registerbreedte8 bits
Fabrikanto.a. MOS Technology
Begonnen in1975
Klokfrequentie1 tot 2 MHz
Voedingsspanning5 volt
Aantal pinnen40
Details
Aantal registers6[1]
Breedte adresbus16 bits
Adresruimte64 kB
Aantal instructies56
Portaal    Informatica

Gegevens instructieset

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)

Toepassingen

De 6502 is toegepast in een aantal verschillende computers:

De 6502-processor is na zijn gouden decennium enigszins in onbruik geraakt. De ondergang van Commodore heeft de processor ook niet geholpen. Toch wordt de 65C02, een 6502-kloon, nog steeds verkocht door Western Design Center en nog steeds in elektronische apparaten verwerkt.

Programmering

De 6502 is altijd een vervelende processor geweest om een compiler voor te schrijven. Dit komt doordat de stackpointer 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.

Veel homecomputers gebaseerd op de 6502 hadden een BASIC-interpreter aan boord. Als gevolg hiervan werd er veel in BASIC geprogrammeerd; menig programmeur heeft zijn eerste regels code geschreven in de BASIC van zijn eerste homecomputer, die met de 6502 is uitgerust.

Bijwerkingen van ongeldige instructies

Niet bij elke opcode-byte is een instructie gedefinieerd. Om de prijs van de processor laag te houden, worden de instructie-bytes door combinatorische 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 processor crashen.

Varianten van de 6502

In de loop der jaren zijn er verscheidene varianten van de 6502 verschenen die licht verschilden:

  • 6502A
    • Loopt op 2 MHz klokfrequentie in plaats van de 1 MHz van de standaard 6502
    • Toegepast in de Acorn BBC modellen A (16 KB RAM) en B (32 KB RAM)
  • 65C02
    • 6502-kloon van Western Design Center uitgevoerd in CMOS
    • Extra instructies en adresseermodes
    • Gebruikt in de Apple IIc en ook een tijdje in de IIe
  • 6503, 6505, 6506
    • 12 bit-adresbus (4 KB)
  • 6504, 6507
    • 13 bit-adresbus (8 KB)
  • 6509
    • 20 bit-adresbus (1 MB)
  • 6510
    • 6502 met toegevoegde 8 bit-I/O-Port (6 bits gebruikt)
    • Gebruikt in de Commodore 64
  • 6511
    • Microcontroller met IO-poorten, seriële interface en RAM-geheugen, van Rockwell
  • 65F11
    • Variant op de 6511 met geïntegreerde Forth-interpreter
  • 7501
    • 6502 in HMOS-technologie
    • Gebruikt in de Commodore 16 en Commodore Plus/4
  • 8500
    • 6510 in CMOS-technologie
  • 8502
    • 6510 die op 2 MHz ingesteld kan worden
    • Gebruikt in de Commodore 128
  • 65816 (65C816)
    • 16 bit-variant van de 6502 van Western Design Center
    • Gebruikt in Apple IIGS
    • 16 bits-registers en ALU
    • 24 bits-adresbus (16 MB)
    • Tot 24 MHz
  • 65802 (65C802)
    • Variant van de 65816 die pincompatibel met de 6502 is
    • Tot 16 MHz
Zie de categorie 6502 microprocessor van Wikimedia Commons voor mediabestanden over dit onderwerp.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.