close

MOS6502

Ugrás a navigációhoz Ugrás a kereséshez
MOS6502
MOS 6502AD 4585 top.jpg
Információ
Fickó gyártott tárgymodell Az adatok megtekintése és módosítása a Wikidatában
fejlesztő MOS technológia Az adatok megtekintése és módosítása a Wikidatában
Készítő
Kiadási dátum 1975. szeptember_ _ Az adatok megtekintése és módosítása a Wikidatában
Műszaki adatok
CPU órajel frekvencia1MHz - 3MHz
Utasításkészlet MOS6502 Az adatok megtekintése és módosítása a Wikidatában
Kronológia
MOS6501 Az adatok megtekintése és módosítása a Wikidatában
MOS6502

A MOS 6502 vagy MOS Technology 6502 egy 8 bites mikroprocesszor , amelyet a MOS Technology tervezett 1975 -ben . Bemutatásakor messze a legolcsóbb teljes értékű CPU volt a piacon, az ár körülbelül hatodával vagy alacsonyabb áron, mint a nagyobb cégek, például a Motorola és az Intel versenytárs CPU-i . Azonban gyorsabb volt, mint a legtöbb, és a Zilog Z80 -nal együtt számos számítógépes projektet indított el, amelyek végül a hetvenes évek végén és a 80- as évek elején a személyi számítógépek forradalmához vezettek . A MOS Technology mellett a 6502-es dizájnt eredetileg a Rockwell és a Synertek szerezte be , és később több más vállalat is licencelte. A beágyazott rendszerek esetében továbbra is működik.

A 6502 valójában egy olyan CPU-család, amely ugyanazon a chipen osztozik, de különböző számú érintkezővel van csomagolva, ami csökkenti a költségeket és feláldoz bizonyos funkciókat. Ezek viszont két csoportra oszthatók: a 650x-re, belső órával, és a 651x-re, amelyekhez kétfázisú óra kell (mint az MC6800-hoz).

Előzmények és használat

A 6502-t elsősorban ugyanaz a csapat tervezte, mint a Motorola 6800 -at . Miután elhagyták a Motorola csoportot , gyorsan megtervezték a 6501 -et, egy teljesen új dizájnt, amely azonban a 6800-assal kompatibilis volt. A Motorola azonnal beperelte őket, és bár ma az ügyet azonnal elutasították volna, a MOS-ben okozott kár elég nagy volt. hogy megállapodtak a 6501 gyártásának leállításában.

Az eredmény a 6502 lett, ami nem okozhatott jogi vitát a Motorolával, mivel a tűk eltérő sorrendje miatt a 6800 -ashoz alaplapban használhatatlan volt . Ennek következtében azonban a MOS Technologynak nem kellett új fejlesztőket szereznie a rendszerhez, ezért válaszul Chuck Peddle mérnök megtervezte a KIM-1- et, egy egylapos számítógépet. Meglepetésére a KIM-1 hatalmas példányszámban kelt el hobbibarátoknak és kísérletezni szeretőknek, valamint azoknak a mérnököknek is, akiknek szánták. A Rockwell által gyártott AIM 65 vezérlő, kiképző és fejlesztő rendszer is jól fogyott. Egy másik többé-kevésbé hasonló kialakítás a Synertek Sync volt .

Bemutatkozik a 6502

Image
Bemutatkozó reklám a MOS Technology MCS6501 és MCS6502 mikroprocesszorokhoz.

A 6502-est egy technológiai vásáron mutatták be 1975 szeptemberében . Az ára 25 dollár volt (2022-ben 125,9 dollár), míg a 6800 és 8080 179 dollárért (2022- ben 901,42 dollár) kelt el. Eleinte sokan azt hitték, hogy ez valamiféle csalás, de mielőtt a bemutató véget ért, a Motorola és az Intel is 79 dollárra (2022-ben 397,83 dollárra) csökkentette árait. Most a 6502 törvényes volt, és százával kezdtek el kelni.

A tervezés egyik első "nyilvános" felhasználása az Atari 2600 videojáték- konzol volt . A 2600-as a 6502-es leszármazottját, a 6507 -et használta , aminek kevesebb tűje volt, és ennek eredményeként csak 8 KB RAM -ot tudott kezelni . Milliókat adnának el így. A 6502-t később az Apple II családban használták , majd gyorsan megjelentek a különböző személyi számítógépekben, mint például a Commodore PET , a Commodore VIC-20 , az Atari 8 bites család, a BBC Micro család és számos más kivitelben. elveszett a történelemben. A 6510 , a 6502 közvetlen utódja volt a rendkívül népszerű Commodore 64 személyi számítógép CPU -ja .

A 6502 másik fő felhasználási területe a Nintendo Famicom , egy japán videojáték-konzol volt . Amerikai és európai megfelelője, a Nintendo Entertainment System (NES) szintén tartalmazta a 6502-t. A NES-ben használt 6502 egy módosított változat volt, amelyet csak Nintendo számára gyártottak, NTSC konzolokon 2A03, PAL konzolokon 2A07 néven . A kettő közötti különbség az órajel osztó volt. A NES egyedi processzorából hiányzott a 6502 decimális üzemmódja, de hozzáadott 22 memórialeképezett regisztert a hanggeneráláshoz, a joypad (játékvezérlő) kiolvasáshoz és a DMA -hoz a sprite -ekhez .

A 6502 hatékony dizájnja az ARM , a RISC processzor fő tervezőit is inspirálta , így a 6502 öröksége elmondható, hogy túlmutat az eredeti processzorcsaládon, hiszen szelleme tovább él az ARM tervezésében is különféle számítógépek, asztali számítógépek, valamint kézi és egyéb beágyazott rendszerek tömkelege, és IP -blokkként értékesítik a System on a chip típusú termékekben való használatra .

Leírás

Image
6502 processzor die. A normál rész felül az utasításokat dekódoló ROM, a véletlenszerűnek tűnő rész középen a vezérlési logika, alul pedig a regiszterek (jobbra) és az UAL (balra). Az adatbusz-csatlakozások a jobb alsó sarokban, a címbusz pedig a bal alsó és a bal alsó sarokban találhatók.
Image
A 6502 tűs konfigurációja ( 40 tűs DIP ).

A 6502-t, egy 8 bites mikroprocesszort 16 bites címbusszal , 1975 szeptemberében adta ki a MOS Technology . A belső logika ugyanazon a sebességen fut, mint a külső órajel, de a látszólag lassú, jellemzően 1 MHz -es órajelek valójában versenyképesek voltak más, négyszer gyorsabban futó CPU-kkal, mert a 6502 egy csővezetékes processzor volt , a többi pedig az övé. nap mikrokódoltak, és a 6502-hez hasonló sebességgel rendelkeztek. A Z80 órája például 4 ciklust vesz igénybe egy utasítás beolvasásához. Bár ez "trükknek" hangzik, a 6502 mellékhatása volt, hogy csökkentette a CPU-hoz csatlakoztatott perifériák sebességigényét, ezáltal csökkentve a rendszer összköltségét, ami fontos tényező a nyerő dizájn elérésében a játékokban. játékkonzolok és személyi számítógépek nagyon érzékeny piacai. 3510 tranzisztor van benne.

Az Intel 8080 -tól és a hasonló mikroprocesszoroktól eltérően a 6502-ben nagyon kevés regiszter volt . Abban az időben a RAM gyorsabb volt, mint a CPU -k , ezért volt értelme optimalizálni a RAM-hozzáférést, nem pedig a chip regisztereinek számát növelni. A 6502-ben volt egy 8 bites "A" akkumulátorregiszter , két 8 bites "X" és "Y" indexregiszter , egy 8 bites "SR" állapotregiszter , egy 8 bites "SP" veremmutató , és egy 16 bites "PC" programszámláló . A szubrutinhívások vagy pufferelés veremcímterét a $01 memóriaoldalhoz, azaz a $0100-$01FF (256-511) címtartományhoz kötötték . A veremhez való szoftveres hozzáférés négy, implicit címzési módú utasítással történt, amelyek funkciója egy elem elhelyezése vagy eltávolítása volt a veremben ( Push vagy Pop ). Push és Pop utasítások voltak az akkumulátor tartalmához vagy a processzor állapotregiszteréhez.

A chip hatékonyan használta az index- és veremregisztereket különböző címzési módokkal , beleértve a gyors "közvetlen oldal" vagy " nulla oldal " módot , amely 0-tól 255-ig (00-tól FF hexadecimálisig) fért hozzá a memóriahelyekhez, egyetlen 8 bites címmel ( egy második bájtot sem kellett beolvasnia a címhez). A 6502 kódja sokat használta a nulla oldalt, ugyanúgy, mint a többi processzor kódja a regisztereit. A legtöbb 6502-alapú, operációs rendszerrel rendelkező mikroszámítógépen maga az operációs rendszer szinte teljes egészében a nulladik oldalt használta, így talán néhány helyet hagyott a felhasználó számára.

A címzési módok közé tartozik még:

  • beleértett (1 bájtos utasítások)
  • abszolút (3 bájt)
  • relatív (2 bájt)
  • akkumulátor (1 bájt)
  • indirekt, x és indirekt, y (2 bájt)
  • azonnali (2 bájt)
  • indexelt, X és indexelt, Y (2 vagy 3 bájt, attól függően, hogy az alap a nulla oldalon van-e vagy sem)

Az abszolút mód általános célú mód volt. A relatív módot a feltételes elágazási utasításokhoz használták, amelyek a programszámlálót 128 bájtra előre vagy hátra mozgathatták. Az Akkumulátor mód az akkumulátort használta tényleges címként, és nem volt szüksége semmilyen operandus adatra . Az azonnali mód 8 bites literális operandust használt.

A közvetett módok hasznosak voltak a vektorfeldolgozáshoz és más ismétlődő hurokműveletekhez. Közvetett módban a 8 bites Y regiszter hozzáadásra került egy 16 bites alaphoz, amely a memória nulla oldalán található (a műveleti kód egy bájtja a nulla oldal helyét jelöli). A 8 bites X és Y regisztereket eltolásként használták, nem pedig „normális” indexregiszterként. Az X vagy Y növelése a tömb bejárásához kétciklusú, 8 bites művelet volt, bár a tömb bárhol elhelyezkedhetett a 16 bites címtérben (a 16 bites alap beolvasása a nulla oldalról). A 6502-es itt különbözik leginkább a Motorola 6800 -tól . A 6502 specifikációinak felületes pillantása, amely azt mutatja, hogy csak 8 bites indexregiszterek voltak, teljesen félrevezető.

Kétes tulajdonságok

  • A 6502-esek arról híresek, hogy számos dokumentálatlan utasítást tartalmaznak, amelyek az egyes kialakítások között változtak. Az utasításdekódolás a 6502-ben egy hardverben megvalósított rögzített logikai tömb segítségével valósul meg (hasonlóan a PLA -hoz ), amely csak érvényes műveleti kódokhoz van definiálva. A körülbelül 32 nem dokumentált műveleti kód egyszerre több érvényes utasítást indít el, ami váratlan eredményekhez vezet. A CMOS verziókban (65Cxx) ezek a kódok NOP-ként futnak le, de a kódtól függően változó számú bájttal és ciklussal.
  • A 6502-es közvetett ugrási utasítása, a JMP (xxxx) meghibásodott. Ha a cím xxFF hexadecimális, akkor a processzor nem férhetne hozzá az xxFF és xxFF+1, hanem az xxFF és xx00 helyen tárolt címhez. A 6510 nem javította ki ezt a hibát, és a 6502 egyik másik NMOS verziójában sem, mint például a 8502 és a 2A03. Bill Mensch a Western Design Centerben volt az első, aki kijavította a 65C02 CMOS -származékot , de még egy óraciklus árán. Később megtervezte a 65816 processzort , a 65C02 16 bites utódját, valamint a 65802 nevű hibrid leszármazottat, amely egy 65816 volt 64 KB-os címtérrel és egy pin-kompatibilis csomaggal a 65(C)02-vel.

Gyorsulás

Az 1 MHz-es 6502-alapú rendszerek sok felhasználója hamarosan azt akarta, hogy számítógépe gyorsabban működjön. Különböző cégek cserehardvereket adtak el, hogy felgyorsítsák ezeket a rendszereket. Általában a 6502 rendszergyorsítók a következőkön alapultak:

  • 6502 vagy 65C02 chipek, amelyek gyorsabb órajellel rendelkeznek.
  • 65C816 chipek a 6502 emulációs üzemmódjában, amely sokkal gyorsabb órajellel rendelkezik (akár 20 MHz-ig).
  • A Zip Technology által gyártott 4 MHz-es és 8 MHz-es Zip Chip processzorok és a Bits and Pieces által gyártott 10 MHz-es Rocket Chipek, amelyek mindegyike beépített RAM gyorsítótárat használ, hogy felgyorsítsa a gyakran használt adatok feldolgozását, miközben kompatibilis marad az 1 MHz-es alaplappal Végül a Zip Technology 4 794 523 számú szabadalma arra kényszeríti a Bits and Pieces-t, hogy hagyja abba a Rocket Chip gyártását.

65xx család

65xx
Fickó Memória / KiB egyéb jelek kapszulázva
6502 64 IRQ NMI Φ1 Φ2 Φo SYNC RDY 40 tűs
6503 4 IRQ NMI Φo 28 tűs
6504 8 IRQ Φo 28 tűs
6505 4 IRQ Φ vagy RDY 28 tűs
6506 4 IRQ Φ1 Φ2 Φo 28 tűs
6507 8 RDY Φo 28 tűs
6512 64 IRQ NMI Φ1 Φ2 DBE SYNC RDY 40 tűs
6513 4 NMI IRQ Φ1 Φ2 28 tűs
6514 8 IRQ Φ1 Φ2 28 tűs
6515 4 IRQ Φ1 Φ2 RDY 28 tűs
További variációk
* A Commodore Semiconductor Group a következő változatokat adta hozzá:
6508 64K Egy 6502, amely 256 bájt RAM-ot és egy 8 bites portot tartalmaz, amely lehetővé teszi a μC-t mindössze két chippel: 6508 és ROM
6509 1M Tartalmazza a 64 KiB lapozásához szükséges logikát és egy 20 bites címbusz biztosítását.
6510 64K A verziótól függően hat vagy nyolc bites kaput tartalmaz.
6570 µC RAM-ot és ROM-ot tartalmaz. Általános célú mikrokontroller. A CBM billentyűzet meghajtóként használja az Amigán
65CE02 64K (Cmos Enhanced) A Commodore utolsó bővítése a 6502-ből. További regisztereket, valamint több utasítást és címet tartalmaz. A Commodore 65 CPU-ja (4510) lesz.
* Rockwell vette a 6502-es magot, és RAM-ot és ROM-ot adott hozzá a 6500/xx családjában.
6500/21 Dupla mikrokontroller. Úgy működik, mint két CPU ugyanazon a memórián.
65C29 64K dupla mikroprocesszor
65F11 Negyedik mikroszámítógép
65F12 Negyedik mikroszámítógép
6516 64K A Rockwell (CMOS) olyan módosítása, amely alig tartja tiszteletben az eredeti dizájnt.

Licenc

A MOS Technology hamarosan licencelte 65xx-ét többek között a következő cégeknek:

  • Rockwell félvezető
  • Synertek
  • NEKEM
  • ITT
  • CMU
  • NTE

A 6502-t használó mikroszámítógépek

A MOS 6502 processzort és annak változatait többek között a következőkben használták:

A MOS 6502-t emuláló hardver

Számos projekt próbálja emulálni a MOS 6502-t és annak származékait szoftver- és hardverszinten is. A MOS 6502-t hardver szinten implementáló/emuláló projektek között:

  • A MOnSter 6502 kártya, amely a MOS 6502 "működő" részét egy tranzisztorokból és ellenállásokból, valamint látható LED-ekből álló kártyán valósítja meg. A "szörny" elnevezés a tányér méretére utal, 30 x 38 cm. [ 1 ]
  • A Gigatron TTL egy retro stílusú mikroszámítógép, amely többek között képes a MOS 6502 emulációjára.
  • A Minecraftban a RedPower 2 modnak köszönhetően egy komplett számítógépet lehetett megvalósítani a MOS6502 alapján . [ 2 ] [ 3 ]

Érdekességek

  • A Terminátor (1984) című tudományos-fantasztikus filmben Arnold Schwarzenegger főszereplésével a közönség bizonyos pillanatokban a Terminator T-800 Model-101 ​​szemén/kameráján keresztül látja a 6502-es gépi/assembly nyelvének görgetés lefelé. Szintén látható a Nibble magazin által közzétett KEY PERFECT 4.0 nevű ellenőrzőösszegű program Apple II számítógépen futtatott kimenete .
  • Bender , egy i.sz. 2998-ban gyártott "ipari robot" android, a Futurama című rajzfilmsorozat főszereplője a "Fry and the Slurm Factory" epizódban kiderült, hogy 6502-es CPU "agya", ez érdekes. megjegyezni, hogy vannak Mexikóban gyártott CPU-k a piacon, és ez összhangban van azzal az állítással, hogy Bender mexikói, miután felmutatta a mellkasán lévő „Made in Mexico” bélyeget.
  • A Furbyt a testükben található 6502-es processzor hajtja.

Lásd még

Más korabeli mikroprocesszorok

Prototípus és kísérletező számítógépek

mikroszámítógépek

Hivatkozások

  1. ^ "MOnSter 6502: A klasszikus 8 bites processzor, hatalmas léptékben megépítve – NeoTeo" . www.neoteo.com . Letöltve: 2022. július 14 . 
  2. Toor, Amar (2012. május 21.). "A RedPower 2 mod teljesen emulált 6502 CPU-t hoz a Minecraftba . " The Verge (angolul) . Letöltve: 2022. július 14 . 
  3. ^ Írta: (2012. május 20.). "A 6502 építése Minecraftban" . Hackaday (amerikai angolul) . Letöltve: 2022. július 14 . 

Külső linkek