# MOS Technology 7501

Der MOS Technology 7501 ist offiziell die CPU in den Computern der Commodore-264-Serie. Tatsächlich war aber in den meisten Rechnern eine CPU mit dem Aufdruck 8501 verbaut, die jedoch lediglich in einem anderen Prozess hergestellt wurde. Darüber hinaus gibt es noch verschiedene Revisionen des Chips, zum Beispiel R1 oder R4. Die CPU ist befehlskompatibel zum MOS 6502. Es handelt sich um eine 8-Bit-CPU mit einem 16-Bit-Adressbus zur Adressierung von 64 kByte Speicher. Der Adressbus ist mit Tri-State-Ausgängen ausgestattet. Er lässt sich hochohmig schalten, damit andere Bausteine den Adressbus belegen können (DMA). Bei der 264-Serie ist dies nur der TED. Das Rechenwerk ist fest verdrahtet und benötigt je nach Befehl 2 bis 7 Takte zur Abarbeitung, wobei man jedem Schritt konkrete interne Operationen zuordnen kann. Die CPU hat 4 Register: den Akkumulator, kurz Akku genannt, (hauptsächlich für Berechnungen) und X- und Y-Register als Indexregister. Das Statusregister dient zur Anzeige von verschiedenen Zuständen der CPU nach erfolgten Rechenschritten oder zum Erzwingen einer bestimmten Berechnungsart (Dezimalflag). Mit dem Stackpointer wird die aktuelle Speicherposition auf dem Stack angezeigt, der im Speicher im Bereich $0100 bis $01ff liegt und in der CPU fest verdrahtet ist. Die Adressen von $0000 bis $00ff (wobei jedoch $0000 und $0001 durch den integrierten Port blockiert sind) lassen sich für viele Befehle als Registerersatz oder für Zeiger benutzen und werden als Zeropage bezeichnet. Die CPU besitzt einen 8-Bit-I/O-Port, von dem jedoch nur 7 Leitungen nach außen geführt wurden. Im Speicher liegt dieser Port an den Adressen $0000 und $0001. Der Port dient zur Steuerung von Datasette und seriellem IEC-Bus. Nach einem Reset liest die CPU den Vektor an Adresse $FFFC/$FFFD (Low-/High-Byte) und beginnt mit der Abarbeitung des Programms an der dort hinterlegten Adresse. Nach einem Interrupt wird von der CPU der Vektor an Adresse $FFFE/$FFFF gelesen und die Interrupt-Service-Routine an der dort hinterlegten Adresse ausgeführt, vorausgesetzt, dass der Interrupt nicht gesperrt wurde.

## Technische Daten

* Technologie: HMOS
* Taktfrequenz: 1 MHz
* Taktzyklen je Befehl: 2 bis 7
* Adressraum: 64 kByte
* Adressbusbreite: 16 Bit (Tri-State (DMA-fähig), steuerbar mit AEC-Signal)
* Datenbusbreite: 8 Bit
* Interrupts: IRQ, Software-Interrupt mit BRK-Befehl
* Befehle: 56
* Register:
** Akkumulator, 8 Bit
** X-Register (Indexregister), 8 Bit
** Y-Register (Indexregister), 8 Bit
** Stapelzeiger, 8 Bit, auf Adressbereich $0100 bis $01ff
** Statusregister, 8 Bit
** Befehlszähler, 16 Bit
* 8-Bit-I/O-Port (nur 7 Leitungen nach außen geführt, P5 fehlt.)

## Gehäuse

Der Chip ist in einem 40-poligen DIL-Gehäuse aus Kunststoff verpackt.

## Erfahrungen

* Die CPU wird standardmäßig in den Rechnern der 264-Serie nicht gekühlt. Es hat sich jedoch gezeigt, dass frühzeitige Ausfälle durch passive Kühlung mit einem passenden Kühlkörper für DIL-40-Chips verhindert werden können. Diese passen auch beim Commodore Plus4 noch in das Gehäuse, beim Commodore 116 muss auf das obere Schirmblech verzichtet werden. Da dann auch die Kühlung für den TED entfällt, muss diesem ebenfalls ein Kühlkörper aufgeklebt werden. Beim Commodore 16 ist ohnehin genug Platz für einen Kühlkörper vorhanden.
* Eine weitere Quelle für frühzeitige Ausfälle sind offenbar beim plus/4 das Ein- und Ausschalten des Gerätes über eine Steckdosenleiste, wobei der Einschaltvorgang am Netzteil als Ursache vermutet werden muss. Um diese Ausfälle zu vermeiden, sollte der plus/4 unbedingt nach der Steckdosenleiste über den eigenen Schalter angeschaltet und vor der Steckdosenleiste über den eigenen Schalter abgeschaltet werden.