MOS 6502

MOS 6502 on MOS Technologyn suunnittelema ja valmistama 8-bittinen mikrosuoritin, joka tuli markkinoille vuonna 1975. Se oli ilmestymishetkellään markkinoiden edullisin mikroprosessori ja saavutti siksi suuren suosion.

6502:aa ja sen sukulaispiirejä käyttivät 8-bittisissä malleissaan sellaiset tunnetut tietokone- ja pelikonsolivalmistajat kuin Apple, Atari, Commodore ja Nintendo (NES).

6502 on saanut vaikutteita Motorolan 8-bittisestä 6800-suorittimesta, jota vastaan se myös kilpaili. Kummallekin yhteistä on muun muassa yksinkertaiseen rakenteeseen panostaminen sekä rekisterien vähäinen määrä.

Suorittimen suunnitteli Chuck Peddle halvemmaksi kilpailijaksi Motorola 6800:lle.
MOS 6502 oli nopeampi, halvempi (kymmenesosa Motorola 6800:n ja Intel 8080:n hinnasta) ja valmistusprosessi tuotti kymmenenkertaisesti toimivia mikropiirejä. Tämän seurauksena myös muiden valmistajien oli laskettava hintoja, mikä auttoi henkilökohtaisten tietokoneiden "vallankumouksessa".
MOS 6502 oli käytössä lukuisissa mikrotietokoneissa kuten Apple I, Apple II, BBC Micro ja Commodore PET. Vuonna 1977 julkaistun Atari 2600:n suosion johdosta Atari oli yksi suurimmista asiakkaista.

MOS valmisti useita 6502-yhteensopivia suorittimia, kuten 6501, 6502, 6507, 6510, 6512, 7501, 8501, 8502 ja 8510. Näiden ajama konekieli on suurelta osin identtistä jopa dokumentoimattomien käskyjen ja bugien osalta. 

Toinen merkittävä 6502-yhteensopivien suorittimien valmistaja on Western Design Center, joka valmistaa joitakin malleja vieläkin käyttöön sulautetuissa järjestelmissä: valmistusmäärät ovat satoja miljoonia vuosittain ja toimitusten kokonaismäärän arvioidaan oleva viiden ja kymmenen miljardin välillä.

Ominaisuudet

Rekisterit
6502:ssa on akkumulaattorirekisteri (A), kaksi indeksirekisteriä (X ja Y), prosessorin tilarekisteri (P), pino-osoitin (SP) ja ohjelmalaskuri (PC). Ohjelmalaskuri on 16-bittinen ja muut 8-bittisiä.

6502-suorittimessa on myös pino. Se on sijoitettu muistiosoitteisiin $0100–$01FF. Suoritin käyttää pinoa omaan toimintaansa, esimerkiksi aliohjelmakutsuihin JSR- (jump to subroutine) ja RTS-käskyillä.

Suorittimen erikoisuus on ns. nollasivu eli muistin ensimmäiset 256 tavua. Monet konekielikäskyt ovat lyhyempiä ja vievät vähemmän aikaa, kun niiden operandi on nollasivulla. Esimerkiksi muistin käsittely onnistuu yhden tavun mittaisella osoitteella 16-bittisen sijaan.

6510-suorittimeen (esim. Commodore 64:ssä käytetty) on lisätty kaksi rekisteriä. Nämä näkyvät muistipaikoissa $00 ja $01, joita ei voi käyttää RAM-muistina.

Suorittimen reset-, IRQ- ja NMI-vektorit sijaitsevat muistiavaruuden yläosassa.
Resetin yhteydessä suoritin lukee ohjelmalaskurin arvon osoitteista $FFFC ja $FFFD ja suoritus alkaa tästä osoitteesta.

Bugit ja erikoiset ominaisuudet
MOS 6502 NMOS -prosessoreiden eräs tunnetuimmista bugeista liittyy käskyyn jmp ($xxFF). Sitä suoritettaessa prosessori lataa ensin vähemmän merkitsevän tavun osoitteesta $xxFF, mutta enemmän merkitsevä tavu ladataankin osoitteesta $xx00 osoitteen $xxFF+1 sijaan.

Muunnokset ja johdannaiset
Suorittimesta on valmistettu useita muunnoksia ja johdannaisia sekä samaa suoritinta ovat valmistaneet lisenssillä useat muut yritykset.

Western Design Centerin (WDC) valmistamiin 6502-malleihin kuuluvat muun muassa 65C02 ja 65816.

WDC 65816 on 16-bittinen 6502-yhteensopiva suoritin, jota käytetään muun muassa viimeisissä Apple II:n malleissa, Super Nintendo Entertainment System -pelikonsolissa sekä joissakin Commodore 64:n ja 128:n turbokorteissa (SuperCPU).

Muita versioita suorittimesta:
 Hudson Soft HuC6280 (PC Engine)
 Ricoh 2A03 (NES)
 Ricoh 5A22 (SNES)

Lähteet

Aiheesta muualla

 www.6502.org 6502-aiheista materiaalia
 6502 Instruction Set

Kirjallisuutta 
 

Suorittimet
MOS Technology