Producție | 1975 |
---|---|
Producător | Tehnologie MOS |
Frecvență | 1 MHz la 1,55 MHz |
---|
Gravură finețe | 8000 nm |
---|---|
Inima | MOS Tech 6502 |
MOS Technology 6502 este un 8- bit microprocesor proiectat de MOS Technology în 1975 . Când a fost introdus, acesta era de departe cel mai economic procesor de pe piață, la aproximativ 1/6 din preț, concurând cu companii mai mari precum Motorola sau Intel . A fost totuși mai rapid decât cele mai multe dintre ele, și cu Z80 , într - o serie străluceau de proiecte informatice , care a dat nastere ulterior calculatorul personal revoluția din cele 1980 . Producția modelului 6502 a fost inițial licențiată de MOS Technology către Rockwell și Synertek și ulterior către alte companii; a fost încă fabricat în 2014 pentru echiparea sistemelor de la bord .
6502 a fost proiectat de o echipă condusă de inginerul Chuck Peddle , de la care a dezvoltat Motorola 6800 . După ce au părăsit Motorola în bloc, inginerii săi au lansat rapid modelul 6501, cu un design complet nou, dar al cărui pinout era totuși compatibil cu modelul 6800. Motorola a început imediat procedurile legale și, deși astăzi cazul ar fi avut succes, daunele suferite de MOS au fost suficiente. pentru ca compania să fie de acord să înceteze producția modelului 6501.
Rezultatul a fost modelul 6502, un model „inatacabil din punct de vedere juridic”. Acesta s-a diferit de precedent printr-o simplă reorganizare a pinout-ului, care l-a făcut inutilizabil pe o placă de bază 6800. Motorola și-a abandonat apoi procesele. Cu toate acestea, această schimbare a împiedicat MOS să obțină noi dezvoltatori, până când Chuck Peddle a proiectat KIM-1 , un singur computer de bord. Spre surprinderea designerilor săi, KIM-1 a fost vândut enorm pasionaților și pasionaților de bricolaj, precum și pieței de ingineri planificată inițial.
6502 au intrat pe piață în septembrie 1975 pentru 25 de dolari , în timp ce 6800 și Intel 8008 s-au vândut cu 179 de dolari . La început, mulți oameni au crezut că este o glumă, dar Motorola și Intel au scăzut brusc prețurile la 79 de dolari . În loc de efectul dorit, a legitimat modelul 6502, ale cărui vânzări au decolat.
6502 avea o caracteristică care îl făcea deosebit de potrivit pentru utilizarea pe un computer personal: arhitectura internă asigura că procesorul nu va accesa magistrala pentru o perioadă a ciclului său de execuție. Sistemul video a folosit această latență pentru a accesa memoria ecranului, fără a fi nevoie să recurgă la un controler de memorie . Eficiența sistemelor a fost astfel crescută cu până la 25%. Pe de altă parte, modelul 6502 nu avea contorul de reîmprospătare DRAM pe 8 biți ca și concurentul său Z80 .
Una dintre primele utilizări „publice” a fost consola de jocuri video Atari 2600 . 2600 folosea un derivat al 6502 numit 6507 , care avea mai puțini pini și putea adresa doar 8KB de memorie. Milioane de exemplare au fost vândute în această formă. 6502 au fost apoi folosiți în familia Apple II , apoi în diferitele computere personale ale Commodore (seria PET și CBM), ACORN (modelul ATOM), Atari , BBC Micro , gama Oric și multe alte platforme. . Un descendent al lui 6502, 6510 , l-a montat pe Commodore 64 .
Inițial, CPC- ul Amstrad trebuia să fie proiectat în jurul procesorului 6502, dar când Amstrad s-a apropiat de Locomotive Software pentru a dezvolta un Basic cu un termen foarte restrâns, PLC Locomotive, care avea deja un Basic de lucru pe Z80, l-a convins pe Amstrad să treacă la Z80 pentru termenele limită.
În NES , 6502 utilizate au fost modificate. Această serie, care a fost produsă doar pentru Nintendo , a luat numele „2A03 / 2A07”. 2A03 / 2A07 nu avea modul BCD al modelului 6502, ci 23 de registre suplimentare mapate de memorie pentru generarea sunetului, afișarea spritei și gestionarea controlerului.
Consola PC Engine folosește o variantă a MOS 6502, 65SC02 (ro) pentru a fi exact, modificată de Hudson , Hu6280.
La fel și cu consola portabilă Atari Lynx care folosește un 65SC02 (ro) proiectat de Western Design Center .
Designul optimizat al modelului 6502 a inspirat, de asemenea, principalii designeri ai procesorului ARM RISC și putem spune că aceștia sunt succesorii acestei (familii) de procesoare, deoarece spiritul său încă mai trăiește în designul ARM, utilizat în mai multe computere. desktop, precum și într-o serie de sisteme portabile și în vehicul și vândute ca o cutie neagră pentru sisteme complet integrate.
6502 este un procesor pe 8 biți cu o magistrală de adresare pe 16 biți. Logica internă funcționează la aceeași viteză ca și frecvența externă. Această frecvență de ceas aparent lentă, de obicei de 1 MHz , a dat totuși o performanță comparabilă cu cea a altor procesoare cu ceas de patru ori mai rapid. 6502 este echipat cu logică internă prin cablu și conductă , în timp ce alte procesoare din această epocă erau firmware și aveau viteze interne comparabile în cele din urmă cu 6502 (ceasul intern al Z80, de exemplu, era împărțit la patru). În timp ce acest lucru ar putea suna ca un „truc”, perifericele ar putea rula mai lent, scăzând costul general al sistemului, un factor crucial pe piața extrem de competitivă pentru consolele de jocuri și computerele personale.
Spre deosebire de Intel 8080 și microprocesoare similare, 6502 are foarte puține registre. În acel moment memoria era mai rapidă decât procesoarele, avea mai mult sens să dorim să optimizăm accesul la memorie, mai degrabă decât să creștem numărul de registre. În interior se află un acumulator de 8 biți (A), două registre de index pe 8 biți (X și Y), un registru de stare pe 8 biți (SR), un indicator de stivă pe 8 biți (SP) și un contor de programe pe 16 biți PC). Accesul software la stivă se face prin patru instrucțiuni în modul de adresare implicită push sau pop a acumulatorului sau a registrului de stare al procesorului.
Cipul utilizează registrul index și stivă în mod eficient în mai multe moduri de adresare, inclusiv o comandă rapidă sau un mod de pagină zero care accesează adrese cuprinse între 0 și 255 cu un singur octet de extensie (nu este nevoie de nicio încărcare pe secundă ca pentru o adresă lungă) - codul specific 6502 utilizează pe larg adresarea paginii zero pentru a înlocui registrele inexistente. Din motive evidente, în majoritatea microcomputerelor organizate în jurul modelului 6502 cu un sistem de operare, sistemul de operare în sine s-a bazat foarte mult pe pagina zero, lăsând o mână de octeți neutilizați în cel mai bun caz.
Modurile de adresare includ, de asemenea, un mod implicit (instrucțiuni de 1 octet), absolut (3 octeți), relativ (2 octeți), acumulator (1), X indirect și Y (2) și mod imediat (2):
Se știe că modelele 6502 adăpostesc o serie de instrucțiuni nedocumentate care se schimbă de la versiune la versiune a procesorului. Decodificatorul de instrucțiuni 6502 este implementat într-o logică cablată, care este garantată să funcționeze numai pentru coduri opționale valide. Cele 32 de opcoduri nedocumentate declanșează mai multe instrucțiuni simultan, ducând la rezultate neașteptate.
Instrucțiunea de ramificare indirectă 6502, JMP (- - - -), este buggy. Dacă adresa, în hexazecimală, este - -FF, procesorul sare nu la adresa stocată la (- -FF) și (- -FF + 1), ci mai degrabă la (- -FF) și (- - 00). Nici versiunile 6510 și nici versiunile NMOS ulterioare ale 6502, cum ar fi 8502 și 2A03, nu au remediat această eroare. Bill Mensch de la Western Design Center a fost primul care a rectificat-o în derivatul CMOS 65C02; 65C816 , un succesor pe 16 biți la 65C02, este de asemenea scutit.