MOS6502
| MOS6502 | ||
|---|---|---|
|
| ||
| Információ | ||
| Fickó | gyártott tárgymodell | |
| fejlesztő | MOS technológia | |
| Készítő |
| |
| Kiadási dátum | 1975. szeptember_ _ | |
| Műszaki adatok | ||
| CPU órajel frekvencia | 1MHz - 3MHz | |
| Utasításkészlet | MOS6502 | |
| Kronológia | ||
| MOS6501 | 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
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
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
| 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 |
| * 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:
- Apple I , Apple II , Apple III
- Commodore PET , Commodore VIC-20
- Atari 400/800/400XL/600XL/800XL/1200XL/65XE/130XE/XG/XGS , Atari Lynx 1 és 2 konzol
- MOS TechnologyKIM -1
- Ohio Superboard, Ohio Superboard II, Ohio Challenger (Ohio Scientific)
- Acorn Atom , BBC Micro , Acorn Electron
- Oric 1 , Oric Atmos
- Nintendo Entertainment System (konzol)
- PC-motor ( TurboGrafx-16 ) (két 6502-es CPU)
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
Hivatkozások
- ^ "MOnSter 6502: A klasszikus 8 bites processzor, hatalmas léptékben megépítve – NeoTeo" . www.neoteo.com . Letöltve: 2022. július 14 .
- ↑ 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 .
- ^ Írta: (2012. május 20.). "A 6502 építése Minecraftban" . Hackaday (amerikai angolul) . Letöltve: 2022. július 14 .