MOS Technology 6502

Die MOS Technologie 6502 ist ein 8-Bit-Mikroprozessor, der von Chuck Peddle und Bill Mensch für die MOS Technologie 1975 entworfen wurde. Als es eingeführt wurde, war es der am wenigsten teure voll gezeigte Mikroprozessor auf dem Markt durch einen beträchtlichen Rand, weniger als einen sechst der Preis von konkurrierenden Designs von größeren Gesellschaften wie Motorola und Intel kostend. Es war dennoch mit ihnen und zusammen mit Zilog Z80 völlig vergleichbar, hat eine Reihe von Computerprojekten befeuert, die schließlich auf die Hauscomputerrevolution der 1980er Jahre hinauslaufen würden. Das 6502 Design war durch Rockwell und Synertek ursprünglich zweit-sourced und hat später mehreren Gesellschaften lizenziert. Bald nach der Einführung des 6502 wurde MOS Technologie von Commodore International gegen sofortige Bezahlung gekauft, die fortgesetzt hat, den Span anderen Herstellern zu verkaufen.

Geschichte und Gebrauch

Image:Apple iieb.jpg|Apple IIe

Image:BBC wieder hergestellter jpg|BBC Mikro-Vorder-Mikro-

File:Atari-2600-Console.jpg|Atari 2600

File:Atari-800XL.jpg|Atari 800XL

Image:CBMVIC20P8.jpg|Commodore VIC-20

File:Commodore-64-Computer.jpg|Commodore 64

</Galerie>

Ursprünge an Motorola

Die 6502 wurden in erster Linie von derselben Technikmannschaft entworfen, die Motorola 6800 entworfen hatte. Einer der Entwerfer, Chuck Peddles, ist ringsherum mit den 6800 gereist, um es in potenzielle Industriekunden einzuführen. Zurzeit wurde es am eingebetteten Markt ins Visier genommen, und obwohl ihre Präsentationen Interesse befeuert haben, war der Preis, an ungefähr, einfach zu hoch, um weit verwendet zu werden. Als er gefragt hat, welcher Preis das Produkt nützlich machen würde, haben sie sich darauf niedergelassen. Peddle ist zu Motorola zurückgekehrt und hat vorgehabt, ein preisgünstiges Produkt zu erzeugen, um diesen Markt anzugreifen, aber hat gefunden, dass Management gleichgültig war; als die 6800 erzeugte nette Gewinne, es ist geschienen, keinen Grund zu geben, ihre Verkaufsanstrengungen zu ändern.

Unerschrocken, gehen Sie Hausieren hat angefangen, an solch einem Design selbstständig zu arbeiten. Das neue Design war den 6800 ähnlich, in denen es auch eine kleine Zahl von Verarbeiter-Registern mit einem einzelnen Akkumulator verwendet hat. Das neue Design hat die Fähigkeit hinzugefügt, den Akkumulator zu verwenden, und Index schreibt sich zusammen als Eingänge und Ausgleiche, eine auf den 6800 nicht verfügbare Funktion ein. Andere Hinzufügungen haben die Fähigkeit eingeschlossen, binäre codierte dezimale arithmetische und Takterzeugung auf dem Span durchzuführen; nur ein einzelne Außenuhr-Signal war erforderlich, und die neue Zentraleinheit konnte selbst Uhr-Signale zu anderen Chips in einem System liefern, das Bedürfnis nach mehreren Außenbestandteilen beseitigend.

Als die Anstrengung weitergegangen hat, ist die Designmannschaft immer mehr unglücklich mit dem Mangel des Managements an der Unterstützung gewachsen. Zur gleichen Zeit ist Management zunehmend verärgert mit der Mannschaft gewachsen, die Zeit auf einem Projekt verbringt, das sie nicht unterstützt haben. Gehen Sie schließlich hausieren wurde ein offizieller Merkzettel vom Management gesandt, das ihm sagt aufzuhören, am preisgünstigen Design zu arbeiten. Als Antwort haben viele der ursprünglichen 6800 Designmannschaften in Massen zurückgetreten und sind gegangen, nach einer Gesellschaft suchend, die sich für das Gebäude ihres neuen Designs interessieren würde.

Das Bewegen zu MOS und den 6501

Die Mannschaft war bald in Verhandlungen mit der MOS Technologie, damals eine kleine Herstellungsmöglichkeit, wer Chips für 3. Parteien mit der beschränkten inneren Designfähigkeit erzeugt hat. Die Gesellschaft war von Allen-Bradley als eine zweite Quelle für Instrument-Rechenmaschine-Chips von Texas ursprünglich aufgestellt worden, aber hatte sich seitdem ausgebreitet, um Läufe für mehrere verschiedene Gesellschaften zu erzeugen. Eines ihrer neuen Produkte war zurzeit eine Einchipdurchführung des populären Gestank-Videospiels. Die vorhandenen MOS Ingenieure waren nicht zufrieden, eine komplette neue Mannschaft mit dem Fallschirm abgesetzt in ihre Gesellschaft zu finden. Sie waren noch mehr aufgebracht, als sie erfahren haben, dass die Mannschaft in auf einem Teil irgendwelcher Gewinne das neue erzeugte Design geschnitten würde.

An MOS hat die Mannschaft von Motorola schnell die 6501, das erste Mitglied 65xx Reihe von Mikroprozessoren entworfen. Die 6501 sind ein Acht-Bit-Mikroprozessor, der beim Verwenden eines NMOS-Prozesses funktioniert. Es hat einen 16-Bit-Adressbus, der zum Wenden des Gedächtnisses fähig ist. Es wurde entworfen, um mit den 6800 mit der Nadel vereinbar zu sein, das Erlauben davon soll in Hauptplatinen eingesteckt werden, die für den Verarbeiter von Motorola wie der MEK6800D2 entworfen sind, obwohl sein Befehlssatz verschieden war. Es hat mehrere auf den 6800 nicht verfügbare Wenden-Weisen angeboten. Der neue Verarbeiter hat für, wesentlich preiswerter verkauft als die 6800.

Motorola hat sofort verklagt, und MOS ist bereit gewesen aufzuhören, die 6501 zu erzeugen, und ist zum Zeichenbrett zurückgegangen. Das Ergebnis war die "mit der Rechtssache vereinbaren" 6502, der durch das Design war, das in einer 6800 Hauptplatine unbrauchbar ist, aber sonst zu den 6501 identisch ist. Motorola hatte keinen Einwand gegen diese Version. MOS wurde gezwungen, die gesetzlichen Kosten zu bezahlen und zu versprechen, alle 6501 zu zerstören, die sie verfertigt hatten. Die 6502 haben auch einen zweiphasigen Uhr-Generator hinzugefügt, so hat er nur einen einzelnen Phase-Uhr-Eingang gebraucht, Systemdesign vereinfachend.

Jedoch hat das MOS mit dem Problem verlassen zu veranlassen, dass Entwickler ihren Verarbeiter versucht haben, so gehen Sie Hausieren hat den MDT-650 (für das "Mikrocomputerentwicklungsterminal") Computer des einzelnen Ausschusses entworfen. Eine andere Gruppe innerhalb der Gesellschaft hat den KIM-1 entworfen, der halbabgeschlossen verkauft wurde und in ein verwendbares System mit der Hinzufügung eines 3. Parteicomputers End- und Kompaktkassette-Laufwerk verwandelt werden konnte. Viel zu ihrer Überraschung hat sich der KIM-1 Hobbyisten und tinkerers gut verkauft, sowie den Ingenieuren war es dafür beabsichtigt. Das zusammenhängende Rockwell-ZIEL 65 System der Kontrolle/Ausbildung/Entwicklung ist auch gesund gewesen. Die Software im ZIEL 65 hat darauf im MDT basiert. Ein anderes grob ähnliches Produkt war der Synertek SYM-1.

Das Einführen der 6502

Die 6502 wurden an auf der Show von Wescon im September 1975 eingeführt. Die Gesellschaft hatte ein Gefolge außer Fußboden mit einem großen mit den Chips vollen Glas. Jedoch mit diesem frühen Lauf hatten sie nur eine Hand voll arbeitende. Um das Äußere von größeren Mengen zu geben, wurde der Boden des Glases mit fehlerhaften Chips voll gestopft, und nur diejenigen an der Oberseite vom Glas haben gearbeitet. Auf derselben Show verkauften die 6800 und Intel 8080 dafür. Zuerst haben viele Menschen gedacht, dass der Preis des neuen Spans eine Falschmeldung oder ein Fehler war, aber während die Show noch andauernd war, sowohl Motorola als auch Intel hatten ihre Chips dazu fallen lassen. Diese Preisverminderungen haben die 6502 legitimiert, die angefangen haben, durch die Hunderte zu verkaufen.

Einer des ersten "öffentlichen" Gebrauches für das Design war der Computer des Apple I, eingeführt 1976. Die 6502 wurden als nächstes in Atari 2600, Kommodore-HAUSTIER und der Apple II, alle veröffentlicht 1977 verwendet. Es wurde später in Atari Hauscomputer, die BBC Mikrofamilie, der Kommodore VIC-20 und eine Vielzahl anderer Designs sowohl für Hauscomputer als auch für Geschäft, wie Ohio Scientific und Oric verwendet. Die 6510, ein direkter Nachfolger der 6502 mit einem Digitaleingabe/Ausgabe-Hafen und einem Tri-Zustandadressbus, waren die Zentraleinheit, die im Kommodore 64 Hauscomputer verwertet ist. (Das Laufwerk des Kommodores, 1541, hatte einen Verarbeiter seines eigenen - es waren auch 6502.)

Ein anderer wichtiger Gebrauch der 6500 Familie war in Videospielen. Das erste, um Gebrauch zu machen, war Atari 2600 Videospiel-Konsole. Die 2600 haben einen Spross der 6502 verwendet hat die 6507 genannt, die weniger Nadeln hatten und infolgedessen nur 8 Kilobytes des Gedächtnisses richten konnten. Millionen der Konsolen von Atari, würden jeder mit einem MOS Verarbeiter verkauft. Ein anderer bedeutender Gebrauch war durch Nintendo Famicom, eine japanische Videospiel-Konsole. Seine internationale Entsprechung, das Nintendo Unterhaltungssystem, hat auch den Verarbeiter verwendet. Die im NES verwendeten 6502 waren eine zweite Quellversion durch Ricoh, ein teilweises System auf einem Span, der an der binär codierten dezimalen Weise Mangel gehabt hat, aber 22 mit dem Gedächtnis kartografisch dargestellte Register hinzugefügt hat (und auf - stirbt Hardware) für die gesunde Generation, joypad das Lesen, und Elfe verzeichnet DMA. Genannt 2A03 in NTSC-Konsolen und 2A07 in FREUND-Konsolen (der Unterschied, der das Speicherteiler-Verhältnis und eine Nachschlagetabelle für Audiobeispielraten ist), wurde dieser Verarbeiter exklusiv für Nintendo erzeugt.

Technische Beschreibung

Die MOS Technologie 6502 ist ein Prozess-Technologiespan mit und eine sterben Größe dessen. Die 6502 sind ein 8-Bit-Verarbeiter mit einem 16-Bit-Adressbus. Die inneren Logikläufe mit derselben Geschwindigkeit wie die Außenuhr-Rate, aber trotz der langsamen Uhr-Geschwindigkeiten (normalerweise in der Nachbarschaft von 1 bis 2 MHz), war die Leistung des 6502 mit anderen Zentraleinheiten mit bedeutsam schnelleren Uhren wirklich konkurrenzfähig. Das ist teilweise wegen einer vereinfachten Zustandmaschine, die durch die kombinatorische (clockless) Logik in einem größeren Ausmaß durchgeführt ist als in vielen anderen Designs; die zwei Phase-Uhr (zwei Synchronisationen pro Zyklus liefernd), kann den ganzen Maschinenzyklus direkt dadurch kontrollieren. Wie einfachste Zentraleinheiten des Zeitalters der dynamische NMOS war 6502 Span nicht sequenced durch ein Mikrocode-ROM, aber hat einen PLA verwendet (der ungefähr 15 % des Span-Gebiets besetzt hat) für die Instruktionsentzifferung und sequencing. Wie die meisten Acht-Bit-Mikroprozessoren tut der Span etwas beschränkte Überschneidung des Holens und der Ausführung.

Die niedrige Uhr-Frequenz hat die Geschwindigkeitsvoraussetzung des Gedächtnisses und der der Zentraleinheit beigefügten Peripherie gemäßigt, weil nur ungefähr 50 % des Uhr-Zyklus für den Speicherzugang (wegen des asynchronen Designs, dieser Prozentsatz geändert stark unter Span-Versionen) verfügbar waren. Das war kritisch, als erschwingliches Gedächtnis Zugriffszeiten in der Reihe hatte. Der ursprüngliche NMOS 6502 war minimalistically konstruiert und effizient verfertigt und deshalb preiswert - ein wichtiger Faktor im Bekommen von Designgewinnen in der sehr preisempfindlichen Spielkonsole und den Hauscomputermärkten.

Wie sein Vorgänger, Motorola 6800, haben die 6502 sehr wenige Register. Zurzeit wurde der Verarbeiter, die Zahl von Transistoren entworfen, die wirtschaftlich angezogen werden konnten, ein Span war (ungefähr einige tausend) sehr gezwungen, so hat es Sinn gehabt, sich auf den RAM zu verlassen, anstatt teures NMOS Span-Gebiet für Zentraleinheitsregister zuzuteilen.

Die Register des 6502 haben ein 8-Bit-Akkumulator-Register (A), zwei 8-Bit-Index-Register (X und Y), ein 8-Bit-Verarbeiter-Statusregister (P), ein 8-Bit-Stapel-Zeigestock (S) und ein Programm-16-Bit-Schalter (PC) eingeschlossen. Der Adressraum des Stapels war zur Speicherseite, d. h. dem Adressbereich - (-). Der Softwarezugang zum Stapel wurde über vier getan hat bedeutet, Weise-Instruktionen zu richten, deren Funktionen waren, zu stoßen oder zu knallen (ziehen) den Akkumulator oder das Verarbeiter-Statusregister. Derselbe Stapel wurde auch für Unterprogramm-Anrufe über den JSR (Sprung zum Unterprogramm) und RTS (Rückkehr vom Unterprogramm) Instruktionen, und für die Unterbrechungsbehandlung verwendet.

Der Span hat den Index verwendet, und Stapel schreibt sich effektiv mit mehreren Wenden-Weisen, einschließlich einer schnellen "direkten Seite" oder "Nullseite" Weise ein, die dem ähnlich ist, das auf dem PDP-8 gefunden ist, der auf Speicherpositionen von Adressen 0 bis 255 mit einer einzelnen 8-Bit-Adresse zugegriffen hat (den Zyklus sparend, der normalerweise erforderlich ist, das Byte der hohen Ordnung der Adresse herbeizuholen) - codieren für die 6502 hat die Nullseite viel verwendet, wie der Code für andere Verarbeiter Register verwendet hätte. Auf einigen 6502-basierten Mikrocomputern mit einem Betriebssystem würde der OS den grössten Teil der Nullseite verwenden, nur eine Hand voll Positionen für den Benutzer verlassend.

Das Wenden von Weisen hat auch einbezogen (1-Byte-Instruktionen) eingeschlossen; absolut (3 Bytes); mit einem Inhaltsverzeichnis versehenes Absolutes (3 Bytes); mit einem Inhaltsverzeichnis versehen nullseitig (2 Bytes); Verwandter (2 Bytes); Akkumulator (1); indirekt, x und indirekt, y (2); und unmittelbar (2). Absolute Weise war eine Mehrzweckweise. Zweiginstruktionen haben einen unterzeichneten 8-Bit-Ausgleich hinsichtlich der Instruktion nach dem Zweig verwendet; die numerische Reihe-128.. 127 übersetzt deshalb zu 128 Bytes rückwärts und 127 Bytes vorwärts von der Instruktion im Anschluss an den Zweig (der 126 Bytes rückwärts und 129 Bytes vorwärts vom Anfang der Zweiginstruktion ist). Akkumulator-Weise hat den Akkumulator als eine wirksame Adresse verwendet, und hat keine operand Daten gebraucht. Unmittelbare Weise hat einen wörtlichen 8-Bit-operand verwendet.

Die indirekten Weisen waren für die Reihe-Verarbeitung und das andere Schlingen nützlich. Mit dem 5/6 Zyklus" (indirekt), y" Weise, wurden die 8 Bit Y Register zu einer 16-Bit-Grundadresse in der Nullseite hinzugefügt, die durch ein einzelnes Byte im Anschluss an den opcode gelegen wurde. Das Y-Register war deshalb ein Index-Register im Sinn, dass es verwendet wurde, um einen wirklichen Index zu halten (im Vergleich mit dem X Register in den 6800, wo eine Grundadresse direkt versorgt wurde, und zu dem ein unmittelbarer Ausgleich hinzugefügt werden konnte). Als sie das Index-Register erhöht hat, um spazieren zu gehen, hat die mit dem Byte kluge Reihe nur zwei zusätzliche Zyklen genommen. Mit weniger oft verwendetem" (indirekt x)" Weise wurde die wirksame Adresse für die Operation an der gebildeten Nullseitenadresse durch das Hinzufügen des zweiten Bytes der Instruktion zum Inhalt des X Registers gefunden. Mit den mit einem Inhaltsverzeichnis versehenen Weisen hat die Nullseite effektiv als eine Reihe gehandelt 128 zusätzliche (obwohl sehr langsam) richten Register.

Die 6502 sind zur leistenden Hinzufügung und Subtraktion in der binären oder binären codierten Dezimalzahl fähig. Das Stellen der Zentraleinheit in die BCD Weise mit der Instruktion läuft auf dezimale Arithmetik hinaus, auf die hinauslaufen würde und die tragen Fahne, die wird setzt. In der binären Weise würde dieselbe Operation hinauslaufen und die tragen Fahne, die wird klärt. Anders als Atari GRUNDLEGEND wurde BCD Weise selten in Hauscomputeranwendungen verwendet.

Ein Zeitschrift-Artikel Byte hat einmal die 6502 als "der ursprüngliche RISC Verarbeiter gekennzeichnet", wegen seines effizienten, vereinfachten und fast orthogonalen Befehlssatzes (arbeiten die meisten Instruktionen mit den meisten Wenden-Weisen), sowie seine 256 nullseitigen "Register". Die 6502 sind technisch nicht ein RISC Design jedoch, weil arithmetische Operationen jede Speicherzelle (nicht nur nullseitig), und einige Instruktionen (inc, rol usw.) lesen können modifizieren Sie sogar Gedächtnis gegen die grundlegende Philosophie der Last/Ladens von RISC. Außerdem wird orthogonality ebenso häufig mit "CISC" vereinigt. Jedoch sind die 6502 durchgeführt vernünftig gut im Vergleich zu anderen zeitgenössischen Verarbeitern wie der Z80, der eine viel schnellere Uhr-Rate und die 6502 verwendet hat, als inspiriert seiend zu RISC Verarbeitern wie der ARM kreditiert worden. Jedoch ist die Inspiration von den 6502 mit der einfachen Durchführung, aber nicht der Architektur verbunden gewesen, die von diesem des ARMS sehr verschieden ist. Sophie Wilson, die den Befehlssatz für den ARM entworfen hat, hat festgestellt, dass die 6502 wenig genau wie der ARM-Verarbeiter haben.

Sieh den Artikel für ein einfaches, aber charakteristisches Beispiel von 6502 Zusammenbau-Sprache.

Ausführliches Verhalten

Der Eingang der nichtmaskierbaren Unterbrechung (NMI) des Verarbeiters ist empfindlicher Rand, was bedeutet, dass, wenn die Quelle eines NMI niedrig, weiter NMIs am Apparat bleibt, nachdem die ersten effektiv arbeitsunfähig sind.

Die gleichzeitige Behauptung des NMI (nichtmaskierbar) und IRQ (maskable) Hardware-Unterbrechungslinien veranlasst IRQ, ignoriert zu werden. Jedoch, wenn die IRQ Linie behauptet bleibt, nachdem die Wartung des NMI, der Verarbeiter auf IRQ sofort antworten wird, weil IRQ empfindliches Niveau ist. So wurde eine Art eingebaute Unterbrechungspriorität im 6502 Design gegründet.

Die "Brechungs"-Fahne des Verarbeiters ist von den anderen Fahne-Bit sehr verschieden. Es hat keine Fahne-Einstellung, das Rücksetzen und die Prüfung von Instruktionen seines eigenen, und wird durch den PHP und die PLP Instruktionen auch nicht behandelt. Es besteht nur auf dem Stapel, wo BRK und PHP immer 1 schreiben, während IRQ und NMI immer 0 schreiben.

"SO" würde Eingangsnadel, wenn behauptet, das Überschwemmungsstatus-Bit des Verarbeiters setzen (deasserting es klärt das Überschwemmungsbit, jedoch nicht). Das kann von einem abstimmenden Hochleistungsgerät-Fahrer verwendet werden, der die Hardware einmal in nur drei Zyklen durch das Verwenden eines Zweigs auf der Überschwemmung klare (BVC) Instruktion dass Zweige zu sich befragen kann; zum Beispiel nimmt der Kommodore, den 1541 und andere Kommodore-Diskette-Laufwerke es verwenden, um so schnell zu entdecken, wie möglich, ob der serializer bereit ist, ein anderes Byte von Plattendaten als eine normale Test-Und-Zweigschleife zu akzeptieren oder zur Verfügung zu stellen, sieben Zyklen, der in dieser besonderen Anwendung zu langsam ist. Offensichtlich große Sorge muss im Gerät-Fahrer und dem verbundenen Systemdesign verwendet werden, weil die unechte Behauptung der Überschwemmung gebissen hat, konnte arithmetische Verarbeitung zerstören.

Schwankungen und Ableitungen

Es gab mehrere Varianten des NMOS 6502 erzeugte:

  • Die MOS Technologie 6507 hatte Speicherwenden-Fähigkeit und keine Unterbrechungen reduziert.
  • Die MOS Technologie 6510 hat einen eingebauten programmierbaren 6-Bit-Hafen des Eingangs/Produktion.
  • Der WDC 65C02 wurde in CMOS gemacht, hatte mehr opcodes, und hat einige hervorragende Programmfehler bestochen.
  • Der Ricoh 2A03 war eine 6502 Variante, die an der BCD Weise Mangel hat, die im Nintendo Unterhaltungssystem verwendet ist.

6512

Die MOS Technologie 6512 verlässt sich auf eine Außenuhr, anstatt einen inneren Uhr-Generator wie die 6502 zu verwenden. Das wurde zum Vorteil in einigen Designs verwendet, wohin die Uhren asymmetrisch geführt werden konnten, gesamte Zentraleinheitsleistung vergrößernd.

Die 6512 wurden in der BBC MikroB+64 verwendet.

16-Bit-Ableitungen

Das Westdesignzentrum hat entworfen und hat 65C816 Verarbeiter, ein 16-Bit-Nachfolger 65C02 erzeugt. 65C816 war der Kern des weit populären Nintendo Superunterhaltungssystems und der Apple IIGS.

Westdesignzentrum hat auch entworfen und hat 65C802 erzeugt, der 65C816 Kern mit einem 64-Kilobyte-Adressraum in 65 (C) 02 mit der Nadel vereinbares Paket war. 65C802 konnte in einen 6502 Ausschuss eingesteckt werden und würde als 65C02 fungieren. Der Span konnte durch die Software konfiguriert werden, um seinen 16-Bit-Akkumulator und Index-Register auszustellen. Wenige 65C802 wurden Teile verkauft, und der Span wird nicht mehr erzeugt.

Programmfehler und Marotten

  • Die frühsten Revisionen der 6502, wie diejenigen, die mit einigen KIM-1 Computern verladen sind, hatten einen strengen Programmfehler im ROR (lassen Sie richtiges Gedächtnis oder Akkumulator rotieren) Instruktion. Die Operation von ROR in diesen Chips ist effektiv eine ASL Instruktion, die das tragen Status-Bit nicht aktualisiert. MOS hat die Instruktion aus der Span-Dokumentation völlig wegen des Defekts ausgeschlossen, versprechend, dass ROR auf 6502 Chips erscheinen würde, die 1976 anfangen. Die große Mehrheit 6502 steuert in Existenz bei heute stellen diesen Programmfehler nicht aus.
  • Die ursprünglichen 6502 und seine NMOS Ableitungen werden bemerkt, für eine Vielfalt von undokumentierten Instruktionen zu haben, die sich von einem Span-Hersteller zum folgenden ändern. Die Instruktionsentzifferung des 6502 wird in einer festverdrahteten Logikreihe durchgeführt (ähnlich einer programmierbaren Logikreihe), der nur für 151 der 256 verfügbaren opcodes definiert wird. Die restlichen 105 lösen fremde und hard-predict Handlungen (z.B aus, sofort den Verarbeiter zertrümmernd, mehrere gültige Instruktionen sofort durchführend, oder einfach nichts überhaupt tuend). Osthaussoftware hat den "Trap65" entwickelt, ein Gerät, das zwischen dem Verarbeiter und seiner Steckdose zugestopft hat, um sich umzuwandeln (fängt) undurchgeführten opcodes in BRK (Softwareunterbrechung) Instruktionen. Einige Programmierer haben diese Eigenschaft verwertet, um den Befehlssatz des 6502 zu erweitern, indem sie Funktionalität für den undurchgeführten opcodes mit der besonders schriftlichen am 0xFFFE Vektoren der BRK Instruktion abgefangenen Software zur Verfügung gestellt haben. Alle unbestimmten opcodes sind durch NOP Instruktionen in 65C02 CMOS Version, obwohl mit unterschiedlichen Byte-Größen und Ausführungszeiten ersetzt worden. In 65C816 führen alle 256 opcodes definierte Operationen durch.
  • Das Gedächtnis des 6502 indirekte Sprung-Instruktion,
  • Das mit einem Inhaltsverzeichnis versehene Wenden des NMOS 6502 über Seitengrenzen wird einen der ungültigen Adresse gelesenen zusätzlichen tun. Das kann Probleme durch das Zugreifen auf Hardware verursachen, die einem gelesenen (z.B folgt, Zeitmesser oder IRQ Fahnen klärend, einen Eingabe/Ausgabe-Händedruck, usw. sendend). Dieser Defekt hat durch die komplette NMOS Linie weitergegangen, aber wurde in den CMOS Ableitungen befestigt, in denen der Verarbeiter einen des letzten Instruktionsbytes gelesenen zusätzlichen tut.
  • Der 6502 lesen/modifizieren/Schreibbefehle führen denjenigen gelesen und zwei Schreibzyklen durch. Diese Eigenschaft kann Probleme verursachen, indem sie zweimal auf Hardware zugegriffen wird, die einem Schreiben folgt. Diese Anomalie hat durch die komplette NMOS Linie weitergegangen, aber wurde in den CMOS Ableitungen befestigt, in denen der Verarbeiter zwei tun wird, liest und ein Schreibzyklus. Gute Programmierpraxis wird allgemein vermeiden durchzuführen auf Hardware-Registern lesen/modifizieren/Schreibbefehle.
  • Der N (Ergebnis negativ), V (Zeichen-Bit-Überschwemmung) und Z (Ergebnis-Null) Status-Fahnen sind nicht gültig, wenn sie arithmetische Operationen durchführen, während der Verarbeiter in der BCD Weise ist, weil diese Fahnen die Dualzahl, nicht BCD, das Ergebnis widerspiegeln. Diese Beschränkung wurde in den CMOS Ableitungen entfernt. Deshalb kann diese Eigenschaft verwendet werden, um CMOS von NMOS Zentraleinheitsversionen sauber zu unterscheiden, ohne jeden ungesetzlichen opcodes zu verwenden.
  • Wenn der Verarbeiter zufällig in der BCD Weise ist, wenn eine Hardware-Unterbrechung vorkommt, wird es zur binären Weise nicht zurückkehren. Diese Marotte konnte auf hard-solve Programmfehler auf die Unterbrechungsdienstroutine hinauslaufen, wenn es scheitert, BCD Weise vor dem Durchführen irgendwelcher arithmetischen Operationen zu klären. Zum Beispiel hat der Kommodore-64-Kern diese Verarbeiter-Eigenschaft nicht richtig behandelt, dass IRQs verlangend, arbeitsunfähig oder während BCD Matheoperationen wiedergeleitet sein. Dieses Problem wurde in den CMOS Ableitungen ebenso gerichtet.
  • Der 6502 Befehlssatz schließt BRK ein (opcode 00 $), der technisch eine Softwareunterbrechung (ähnlich im Geist zu den SWI mnemonischen von den 6800 und ARM-Verarbeitern) ist. BRK wird meistenteils verwendet, um Programm-Ausführung zu unterbrechen und einen Maschinencodemonitor anzufangen, um zu prüfen und während der Softwareentwicklung die Fehler zu beseitigen. Es konnte auch an die Weg-Programm-Ausführung mit einem einfachen Sprung-Tisch gewöhnt sein (analog der Weise, auf die die 8088 und Ableitungen Softwareunterbrechungen durch die Zahl behandeln). Leider, wenn eine Hardware-Unterbrechung zur gleichen Zeit vorkommt, holt der Verarbeiter eine BRK Instruktion herbei, die NMOS Version des Verarbeiters wird scheitern, BRK durchzuführen und stattdessen weiterzugehen, als ob nur eine Hardware-Unterbrechung vorgekommen war. Diese Schuld wurde in der CMOS Durchführung des Verarbeiters korrigiert.
Wenn
  • sie JSR (Sprung zum Unterprogramm) und RTS (Rückkehr vom Unterprogramm) Instruktionen durchführt, ist die Rücksprungadresse, die zum Stapel durch JSR gestoßen ist, die des letzten Bytes des JSR operand (d. h. des bedeutendsten Bytes der Unterprogramm-Adresse), aber nicht der Adresse der folgenden Instruktion. Das ist, weil die wirkliche Kopie (vom Programm-Schalter, um aufzuschobern, und dann umgekehrt) vor der automatischen Zunahme des Programm-Schalters stattfindet, der am Ende jeder Instruktion vorkommt. Diese Eigenschaft würde unbemerkt gehen, wenn Sie die Rücksprungadresse nicht gezogen haben, um Rahmen im Codestrom (ein allgemeines 6502 Programmieridiom) aufzunehmen. Es bleibt eine Eigenschaft von 6502 Ableitungen bis jetzt.

Beschleunigung

Viele Benutzer von 6502-basierten 1-MHz-Systemen haben bald bedauert, dass ihre Computer schneller nicht gehen konnten. Als die 6502 wird äußerlich abgestoppt, das Befördern der Geschwindigkeit ist mehr verbunden gewesen als das Fallen eines schnelleren Spans in die Verarbeiter-Steckdose; viele andere Bestandteile würden auch modifiziert werden müssen. Um Benutzernachfrage zu befriedigen, haben mehrere Gesellschaften Hardware verkauft, um jene Systeme zu beschleunigen. Diese "Gaspedale" haben eine kleine Menge des Hochleistungs-RAM eingeschlossen, und Leim-Schaltsystem hat gepflegt, den schnelleren Verarbeiter mit dem ursprünglichen RAM des Computers und seiner Peripherie zu synchronisieren. Zum Beispiel hat sich die Diskette der Apple II auf die Software verlassen, die auf die Eingabe/Ausgabe-Register des Kontrolleurs mit dem kritischen Timing zugreift; Gaspedale des Apple II wurden deshalb entworfen, um zu 1 MHz während des Plattenzugangs zurückzuweichen. Die ersten Gaspedale waren Leiterplatten; einige spätere Gaspedale (wie der Schwirren-Span) haben den Verarbeiter und die Unterstützungsstromkreise miniaturisiert, um ein Paket des KURZEN BADES einzubauen, das mit dem ursprünglichen Verarbeiter vereinbarer Stecker war.

In der populären Kultur

Im Sciencefictionsfilm Der Terminator (1984), Arnold Schwarzenegger in der Hauptrolle zeigend, wird das Publikum einmal zu einer Ansicht durch die T-800 Roboter-Charakter-Anzeige des Auges/Kamera des Modells 101 mit ungefähr 6502 Codeprogramm-Bruchstücken des Zusammenbaues/Maschine behandelt, die den Schirm nach unten rollen. Das Programm hatte Schlagseite der Apple DOS 3.3 hat Programm-Auflistung auseinander genommen. Auch gezeigt ist die Produktion von einem Lauf eines Apfelkontrollsumme-Programms genannt der SCHLÜSSEL VOLLKOMMENE 4.0, die in der Zeitschrift Nibble veröffentlicht sind.

Sauferei, ein erfundener "Industrieroboter, der" in 2998, und ein Hauptcharakter in der belebten Fernsehreihe von Matt Groening geschaffener Futurama verfertigt ist, wurde offenbart, um 6502 als sein "Gehirn" in der Episode "Gebratenes und die Slurm Fabrik" zu haben. David X. Cohen (der Hauptschriftsteller und Produzent von Futurama) hat in einem Interview mit dem IEEE Spektrum behauptet, dass er und Freunde David Borden und David Schiminovich einen Zusammenbau-Sprachbearbeiter geschrieben haben (für eine kundenspezifische Sprache, die sie genannt "FLOTTE" geschaffen haben) für den Apple II Plus, der die 6502 verwendet, während an der Höheren Schule, und bestätigt hat, dass das ihn dazu gebracht hat, die Verweisung in die Show einzuschließen.

Siehe auch

  • Monteur von Lisa
  • MOS Technology 6502-basierte Hauscomputer
  • Unterbrechungen in 65xx Verarbeiter
  • Vasm, ein freier Monteur
  • Ein Vergleich von Motorola M6800 und der MOS Technologie MCS6501/MCS6502 Mikroprozessoren. Es wurde im August 1975 ungefähr einen Monat geschrieben, bevor die 6500 Familie auf der WESCON Messe in San Francisco CA vorgestellt wurde. (am 16-19 September 1975)

Links

Allgemeine Information:

Befehlssatz-Eigenschaften:

  • 6502 - der erste RISC µP - Mit der Verbindung zur kurzen 6502 Programmierkarte in PDF (Eric Clever)
  • Der einheitliche Stromkreis-Mikroprozessor mit der parallelen binären Viper, die Korrektur während der Übertragung hat, um dezimale Ergebnisse zur Verfügung zu stellen, der die 6502 Dezimalzahl (BCD) Weise bedeckt

Emulatoren und Simulatoren:

Früh 6502 Computer:

Hardware-Gaspedale:

Hardware:


Mehrplan / MOS Technology 65xx
Impressum & Datenschutz