MOS 6502: Den banebrydende 8-bit mikroprocessor fra 1975
MOS 6502 (1975) — banebrydende, billig 8-bit mikroprocessor, kernen i Commodore 64, NES, Atari m.fl. Historisk teknologisk milepæl stadig i brug.
MOS Technology 6502 er en 8-bit mikroprocessor, der blev udviklet af MOS Technology og introduceret i 1975. Den vakte opsigt ved lanceringen for sin lave pris i forhold til samtidige processorer og blev hurtigt populær i hobby-, hjemmecomputer- og spilkonsolmarkedet. Versioner af designet produceres stadig i dag som 65C02 af Western Design Center (WDC).
Mange populære videospilkonsoller og hjemmecomputere har brugt 6502 eller dens varianter som hovedprocessor, blandt andet Atari 2600, Atari XL, BBC Micro, Commodore 64, Nintendo Entertainment System — samt klassikere som Apple II og en lang række andre systemer.
Historie og betydning
6502 blev skabt af en gruppe ingeniører, der forlod Motorola (bl.a. Chuck Peddle og Bill Mensch) for at lave en billigere processor. Den lave pris gjorde mikroprocessoren tilgængelig for små virksomheder og hobbyister og bidrog væsentligt til fremvæksten af hjemmecomputere i slutningen af 1970'erne og begyndelsen af 1980'erne. Dens indvirkning ses i det store antal succesfulde produkter, der benyttede chippen, og i den fortsatte interesse fra retro- og embedded-fællesskaber.
Tekniske hovedtræk
- Data- og adressebredde: 8-bit databus og 16-bit adressebus (op til 64 KB adresseplads).
- Registerarkitektur: A (akkumulator), X og Y indeksregistre, stack pointer (8-bit SP knyttet til side 1: 0x0100–0x01FF), programtæller (16-bit PC) og en status- eller flagregister (NV-BDIZC).
- Adresseringsmodi: Immediate, absolute, zero page, absolute/zero page indexed (X eller Y), indirekte, (indirect) samt flere varianter der gjorde koden kompakt og effektiv.
- Instruktionssæt: Rigt sæt af enkle instruktioner (ca. 56 officielle instruktioner), lave cykeltider for mange operationer og få nødvendige klokkeperioder pr. instruksion sammenlignet med samtidige designs.
- Frekvens: Tidlige implementeringer kørte typisk omkring 1–2 MHz; senere CMOS-varianter (fx 65C02) kunne nå højere frekvenser og lavere strømtræk.
Designkarakteristika
6502s fokus på enkelhed og lave produktionsomkostninger betød kompromiser men også fordele: instruktioner som zero page-adressering gav hurtig adgang til de første 256 byte af hukommelsen, hvilket fungerede som en effektiv “skjult” ekstra registerbank. Stakken er fast placeret på side 1 (0x0100–0x01FF), hvilket forenklede rutiner for underprogrammer og afbrydelser.
Varianter og videreudvikling
- NMOS 6502: Den oprindelige version med nogle kendte hardware-quirks og uofficielle instruktioner (såkaldte undokumenterede opcodes), som programmører undertiden udnyttede.
- 65C02 (CMOS): En forbedret CMOS-variant udviklet af Western Design Center og Bill Mensch, som rettede flere af NMOS-udgaverne fejl, tilføjede nye officielle instruktioner og havde lavere strømforbrug. Denne linje produceres stadig til indlejrede systemer.
- Andre afledte varianter: Der findes kloner og kompatible designs fra forskellige producenter, ofte med forskelle i signatur, timing og strømforbrug.
Fejl, quirks og uofficielle instruktioner
NMOS-udgaverne af 6502 havde et par velkendte hardware-quirks, fx en kendt bug i JMP (indirect)-instruktionen hvis indirekte adresse lå på en sides grænse (page boundary). Derudover fandtes en række uofficielle eller “undocumented” opcodes, som udførte kombinationer eller særlige varianter af officielle instruktioner. Disse blev nogle gange brugt af avancerede programmører for at opnå bedre ydeevne, men kunne give portabilitetsproblemer mellem forskellige revisioner og varianter.
Anvendelser
6502 blev brugt bredt:
- Hjemmecomputere: Apple II-serien, Commodore PET-serien, VIC-20 og Commodore 64 (sidstnævnte med 6510-variation).
- Spilkonsoller: Nintendo Entertainment System (med en maskine-specifik variation), Atari-konsoller med flere.
- Indlejrede systemer: pga. lav pris og robusthed blev 6502 og senere CMOS-varianter brugt i forskellige industrielle og forbrugerelektronikprodukter.
- Hobby- og uddannelsesmiljøer: chippen har været populær til læring i assemblerprogrammering og arkitektur pga. sit enkle, velforståelige design.
Arv og betydning i dag
Selvom moderne mikroprocessorer er langt mere komplekse, lever 6502-arkitekturens arv videre: dens enkelhed gjorde lavpris-computing muligt for en hel generation, og den inspirerede både hardware- og softwareudvikling i 1970'erne og 1980'erne. Retrocomputing-fællesskabet holder interessen i live gennem emulering, restaurering af gamle maskiner og nye hardwareprojekter. WDCs 65C02 og lignende CMOS-varianter bruges stadig i nye indlejrede designs, hvor enkelhed, lavt strømforbrug og pålidelighed er vigtige.
Søge