Server read only due to being migrated.
Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.
MOS 6502
Der MOS 6502 ist ein Mikroprozessor, der 1975 auf den Markt kam. Aufgrund seiner hohen Leistungsfähigkeit und seines deutlich niedrigeren Preises im Vergleich zu Konkurrenzprozessoren von Intel und Motorola war der 6502 ein beliebter Prozessor für Heimcomputer. Der 6502 ist im Diskettenlaufwerk 1541 verbaut, außerdem findet die Variante MOS 6510 im C64 Verwendung. Der Hauptkonkurrent des MOS 6502 war der Zilog Z80, welcher in bestimmten Modellen ebenfalls von Commodore verwendet wurde (hauptsächlich, um CP/M-Kompatibilität zu gewährleisten). Entwickelt wurde der 6502 unter der Leitung von Chuck Peddle.
Der 6502 lebt heute als Prozessorkern der Microcontroller Mitsubishi/Renesas (38000/740 Series) und VMC Scal von Micronas Intermetall (eingesetzt in Automotive- und Fernseh-Technik) weiter und wird zudem in vielen PC-Tastaturen als Controller verwendet.
Design[Bearbeiten | Quelltext bearbeiten]
Das Design des 6502 ist stark an das Design des Motorola 6800 angelehnt. Der Befehlssatz ist ähnlich, aber statt eines 16-Bit-Index-Registers werden zwei 8-Bit-Index-Register verwendet, deren Wert auf eine im Speicher (auch im Programmcode) vorgegebene 16-Bit-Adresse addiert wird. Besonders die 256 Byte umfassende Zeropage, deren Zugriff besonders rasch abläuft, macht die freie 16-Bit-Adressierung erst möglich, was somit quasi einem Satz von 128 16-Bit-Registern entspricht (auch wenn diese nicht so effizient arbeiten wie tatsächliche interne Register). Deswegen haben 6502-Programme einen anderen Stil: Für Datenmanipulationen, die sich über mehr als 256 Byte erstrecken, muss zusätzlicher Programmieraufwand für die Handhabung der Zeropage-Register betrieben werden, wenn 16-Bit-Operationen aus mehreren 8-Bit-Manipulationen zusammengesetzt werden. Hingegen geht die Manipulation von 8-Bit-Werten auf einem 8-Bit-Mikroprozessor erheblich schneller vonstatten.
Anders als die 16-Bit-Register des 6800, später des 6809 oder etwa des Z80, welche eine absolute Adresse darstellen, stellen die 8-Bit-Register des 6502 lediglich einen Array-Index (bzw. Register-Index in der Zeropage) dar. Das Fehlen von 16-Bit-Registern wurde mit komplexeren Adressierungsarten, basierend auf dem Zusammenspiel der Index-Register mit der Zeropage kompensiert. In manchen Fällen kann ein einziger 8-Bit-Increment- oder Decrement-Befehl sowohl das Zählen der Adressen als auch das Setzen der Bedingung für den Schleifenabbruch bei index=0 leisten, was zu kompakten und schnellen Schleifen führt.
Technisch war der 6502 durchaus innovativ: Er war der erste Mikroprozessor mit rudimentärer (zweistufiger) Pipeline-Architektur, d.h., wenn nur noch interne Schaltschritte für einen Befehl notwendig waren, konnte der nächste Befehl bereits gleichzeitig aus dem Speicher geholt werden. Eine echte Pipeline mit Überlappung der Lese- und Schreibzugriffe mehrerer Befehle gab es aber noch nicht. Außerdem kann der Befehlssatz des 6502 – zumindest im Vergleich zur direkten Konkurrenz Intel 8080 – als „fast orthogonal“ angesehen werden.
Der 6502 in der 1541[Bearbeiten | Quelltext bearbeiten]
Über den SO-Pin des 6502, der es erlaubt, direkt das Overflow-Flag des Prozessors zu beeinflussen, kann die 1541 mit besonders geringer Latenzzeit auf Daten vom Schreib-/Lesekopf reagieren (siehe $F4D4 im 1541-ROM). Der im C64 verbaute 6510 bietet diesen Pin nicht.
Varianten des 6502[Bearbeiten | Quelltext bearbeiten]
- 2002
- von Yamaha
- Ricoh 2A03 (NTSC) bzw. 2A07 (PAL)[1]
- eingesetzt im NES
- Standard-6502-Core, aber ohne BCD-Arithmetik
- 40-polig mit anderer Pin-Belegung
- 4 Channels: interne Channels lassen sich über memory-mapped Register als semi-analoge Sound-Ausgänge verwenden.
- DMC - Delta Modulation Channel um DMA-basiert Sound-Samples direkt aus dem Speicher abzuspielen.
- interner Counter/Timer
- 3800
- Microcontrollerfamilie von Renesas Technology mit 740er Kern. Siehe 740
- 6501
- Gehäuse- und signalkompatibel (nicht softwarekompatibel) zum Motorola 6800 (nicht Motorola 68000)
- musste nach einer Patentverletzungsklage seitens Motorola eingestellt werden
- 6502
- NMOS-Technologie
- wurde noch komplett auf Papier entwickelt und die Masken zur Chip-Herstellung weitgehend von Hand erstellt[2]
- eingesetzt
- in den Commodore-PET- und -CBM-Modellen PET 2001 bis CBM 8296 sowie im VC20
- in Floppy-Laufwerken wie 1540 und 1541
- im Apple II, im Apple II+, und im nicht erweiterten Apple IIe
- im Ohio Scientific Superboard II
- in diversen Single-Board-Systemen und Kits (KIM-1, AIM-65)
- in einer Reihe anderer Heimcomputer (u.a. Oric-1/Atmos, VTech Laser 3000)
- CPUs hergestellt vor Mai 1976 haben keinen ROR-Befehl [3]
- 6502A
- 6502B
- 3-MHz-Taktung
- 6502C
- Gleiche Bezeichnung für zwei Varianten:
- 65C02
- CMOS-Technologie
- zusätzliche Befehle und Adressierungsmodi
- eingesetzt im
- erweiterten Apple IIe und im Apple IIc bzw. VTech Laser 128
- Atari Lynx mit 4-MHz-Taktung
- R65C02, WDC65C02
- erweiterte Variante eines 65C02 mit zusätzlichen Bit-Befehlen (RMB, SMB, BBR und BBS), z.B. von WDC, Rockwell
- 65SC02
- entwickelt von der CSG (Commodore Semiconductor Group vormals MOS Technology)
- extra Z-Index-Register (initial auf 0 gesetzt) mit entsprechenden Adressierungsarten
- Base-Page-Register für eine verschiebliche Zeropage
- optional verwendbarer 16-Bit Stapelzeiger
- Adressierungsart relativ zum Stapelzeiger
- zusätzliche 16-Bit-RMW-Befehle (Read-Modify-Write) wie Increment, Decrement, Shift, Rotate
- 16-Bit Stapelbefehle
- relative Sprünge und Unterprogrammaufrufe mit 16-Bit-Offset
- NEG-Befehl (2er-Komplementberechnung)
- Taktraten bis zu 10 MHz
- eingesetzt im Commodore C65 (4510)
- 6503, 6505, 6506
- 12-Bit-Adressbus (4 KByte)
- 6504, 6507
- 6507
- eingesetzt in der Atari 2600 Gaming Console mit 1,19-MHz-Taktung
- 28-poliges DIL-Gehäuse: Im Vergleich zum Standard-6502 fehlen die Anschlüsse Vss (der 2.), φ1, A13 bis A15, SYNC, SO, IRQ, NMI, drei NC-Pins.[10]
- 13-Bit-Adressbus (8 KByte)
- 6509(A)
- 20-Bit-Adressbus (1 MiB) durch internes Bankswitching (4-Bit Port-Register an Adressen $00 und $01)
- in A-Variante mit 2-MHz-Taktung
- eingesetzt in den Commodore-PET-II-Modellen (CBM 500, 600 und 700).
- 6511
- Microcontroller mit I/O-Ports, serieller Schnittstelle und RAM, von Rockwell
- 65F11 & 65F12 [11]
- Variante des 6511 mit integriertem Forth-Interpreter (RSC-Forth, ein FIG-Forth-Abkömmling).
- 65F12 hat ein 64-Pin-Gehäuse und damit 40 statt sonst 16 I/O-Pins.
- 6512 bis 6517
- Variante des entsprechenden 650x, aber ohne eingebauten Oszillator (d.h. externe Regulierung der Taktfrequenz möglich)
- eingesetzt bei BBC Micro Model B+64/128
- 6570, 6571
- eingesetzt in Amiga-Tastaturen
- 6280
- entwickelt von NEC auf Basis der 65SC02
- inklusive MMU (2 MiB adressierbar)
- eingesetzt in der NEC PC Engine
- 6702
- eingesetzt nur im Plug-in-Board des Commodore SuperPET
- 740
- Microcontrollerfamilie von Renesas Technology (vormals Mitsubishi Electric)
- basierend auf der 65C02
- mehr als 100 Varianten
- bis 60 KiB ROM/PROM/Flash on-chip
- bis 2 KiB RAM on-chip
- erweiterter Befehlssatz
- Multiplikation
- Division
- Erweiterte Bitbefehle
- Stop/Wait
- neue Adressierungsarten
- Transfer (Speicher-Speicher-Befehle)
- Special Page
- Bit-Relativ
- bis 17 MHz
- 7501
- 8500
- 6510 in CMOS-Technologie
- 8502
- 6510 umschaltbar auf 2 MHz
- 7-Bit-I/O-Port
- eingesetzt im C128
- 65802 (65C802)
- Variante des 65816, die pin-kompatibel zum 6502 ist, Adressraum daher wie dieser nur 64 KiB
- zum direkten Austausch des 6502 in bereits bestehenden Schaltungen gedacht
- bis zu 16 MHz
- 65816 (65C816)
- entwickelt von Western Design Center
- eingesetzt u. a. im Apple IIgs, Nintendo SNES, den meisten Beschleunigungskarten für 6502-Rechner
- 16-Bit-Register und ALU
- 24-Bit-Adressbus (16 MiB)
- bis zu 24 MHz
- 6502-Core
- CMOS
- I/O-Interfaces für Telekommunikationsanwendungen (Timer, Counter, Peripheral lines)
- 2 KiB ROM
- 64 Byte RAM
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: MOS Technology 6502 |
Wikipedia: MOS Technology 6502 Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
|
Wikipedia: WDC 65C02 Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
|
Wikipedia: CSG 65CE02 Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
|
Wikipedia: Ricoh 2A03 |
Wikipedia: CMOS |
Wikipedia: HMOS |
- Visual6502.org Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werdenmit Browser-basiertem Simulator des 6502 und Visualisierung der Schaltvorgänge
- 6502.org Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werdenHintergrundinformationen und Aktuelles zur 6502-Prozessorfamilie
- easy6502 Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werdenEin interaktiver Kurs
- py65 Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werdenEin in Python geschriebener 6502-Emulator mit Monitorprogramm.
- Forum 6502.org: Overview of 6502-like cores, hard, soft, partial, overblown Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werdenSammlung und Diskussion zu ICs mit 6502-ähnlichem Kern.
Fußnoten
- ↑ Ricoh 2A03 Technical Reference Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ Thema: Damalige Fertigungsanlagen 6510? auf Forum64.de
- ↑ Datenblätter von MOS Technology für den 6502 Mikroprozessor mit und ohne ROR-Befehl Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ Diskussion im Forum auf atariage.com: What is the real core of Atari's 6502C CPU (Datasheet references) Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ Diskussion im Forum auf atariage.com: What is the real core of Atari's 6502C CPU Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ dt. Wikipedia: Watara Supervision
- ↑ 65CE02 Specification auf commodore.ca Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ 65CE02 Opcodes Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ 65CE02 Die Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ Diskussion im Forum auf atariage.com: How do I read a Pinout with Memory info? (6502 - 6507 pinouts) Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ Rockwell Forth Kernel Microntroller (65F11, 65F12) Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ CMD G65SC150 CMOS Communication Terminal Unit (Datenblatt, PDF) Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
- ↑ CMD G65SC151 CMOS Communication Terminal Unit (Datenblatt, PDF) Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden