WikiDer > ASCII R800
| Zilog-Prozessoren |
| ASCII R800-Prozessor |
| ZiLOG |
|---|
Z80-Serie:Z80 ·Z180 ·Z280 ·Z380 ·Z800 ·eZ80 |
| kompatibel |
| Z80-Serie:ASCIIR800 · HitachiHD64180 · MikroelektronikMMN80 · NECµPD780C · ScharfLH-0080 · T34 · U880 |
Das R800 ist einer dabei japanischASCII entwickelt Prozessor, die in angewendet wurde MSX Turbo-R-Computers. Das Hauptziel während der Designphase war es, den schnellstmöglichen Prozessor zu entwickeln mit Aufrechterhaltung der Kompatibilität mit dem Z80Prozessor, wie er zuvor in MSX-Hardware und -Software verwendet wurde.
Um die Softwarekompatibilität mit der MSX-Software aufrechtzuerhalten, R800 mit einer Obermenge des Z80-Befehlssatz. Zusätzlich zu allen bestehenden Z80Opcodes zwei Multiplikationsbefehle wurden hinzugefügt, nämlich MULUB (8-Bit) und MULUW (16-Bit). Darüber hinaus wurden viele der undokumentierten Z80-Befehle offiziell gemacht, einschließlich aller Opcodes, die sich auf IX und IY sowie 8-Bit-Register (IXh, IXl, IYh, IYl) beziehen.
Da die R800 nicht direkt auf der Z80 basiert, sondern tatsächlich von der Z800Familie fehlen einige der anderen undokumentierten Z80-Funktionen. Zum Beispiel stellen die undokumentierten Flags in den Bits 3 und 5 des F-Registers nicht die gleichen Werte wie in Z80 dar (dadurch schlägt der ZEXALL-Test fehl) und der undokumentierte Opcode, oft als SLL bezeichnet, wurde durch einen anderen nicht ersetzt - dokumentierter Opcode, TST.
Auf der Hardwareseite wurden radikale Änderungen vorgenommen. Das interne 8-Bit Aluminium des Z80 wurde durch eine 16-Bit-ALU ersetzt. Opcodes als HL,BC HINZUFÜGEN, die bisher 11 Taktzyklen benötigte, kann nun unter bestimmten Bedingungen in nur einem Zyklus ablaufen.
Auch das Maximum Taktfrequenz des Prozessors auf 7,16 MHz, doppelt so schnell wie die ursprüngliche Geschwindigkeit von 3,56 MHz des in MSX verwendeten Z80-Prozessors. Der Datenbus blieb jedoch 8-Bit, um die Kompatibilität mit Legacy-Hardware aufrechtzuerhalten.
Es wurden zusätzliche Änderungen an der Art und Weise vorgenommen, wie der Prozessor Opcodes abruft. Der ursprüngliche Z80 verwendet 4 Zyklen, um eine einfache Anweisung als ODER abzurufen, und ein zusätzlicher Wartezustand wird auf der MSX-Architektur ausgegeben. Um den R800 zu verstehen, ist ein Überblick über den Z80-Abrufmechanismus in einer typischen MSX-Umgebung erforderlich:
- Z80, Zyklus 1: Setzen der höheren 8 Bit der Adresse
- Z80, Zyklus 2: Setzen der unteren 8 Bit der Adresse
- Z80, Zyklus 3: Wartezustand
- Z80, Zyklus 4: Aktualisieren, Teil 1
- Z80, Zyklus 5: Aktualisieren, Teil 2
Da die meisten MSX-Anwendungen die RAMSpeicher in einer Blockweise von 256 × 256 Byte, sind zwei Zyklen erforderlich, um die Adresse für den Abruf zu platzieren. Der R800 umgeht dies, indem er sich den letzten bekannten Zustand der höheren 8 Bit merkt. Tritt die nächste Anweisung im gleichen 256-Byte-Bereich auf, werden diese höheren 8 Bit nicht platziert und somit ein Zyklus gespart. Beim Z80 zerstören die Refresh-Zyklen jedoch die Informationen über die höheren Bits, sodass eine alternative Aktion erforderlich ist.
Die Lösung, die der R800 für dieses Problem anwendet, besteht darin, ganze Speicherblöcke des RAM aufzufrischen, anstatt nur die RAM-Zeile bei der Ausführung jedes Befehls aufzufrischen. Alle 30 μs wird der Prozessor für 4 μs angehalten, eine Zeit, die zum Auffrischen eines RAM-Blocks verwendet wird. Da zwischen Fetch-Befehlen (Fetch-Befehlen) keine Auffrischung stattfindet und der Waitstate aufgrund schnellerer RAM-Chips entfällt, können die einfachen Befehle in nur einem Zyklus geholt werden. Dieser Zyklus wäre im oben gezeigten Z80-Beispiel Zyklus 2; Zyklus 1 wurde optional und wird nur ausgegeben, wenn das Programm eine 256-Byte-Grenze überschreitet.
Jedes der aufgeführten Beispiele gilt nur für den Hochgeschwindigkeits-RAM, der von der MSX Turbo-R wird eingesetzt. Externe Hardware, verbunden über das Patronenfächer, verwendet ein ähnliches Timing wie beim Z80. Auch das interne RAM-Erinnerung an die MSX Turbo-R ist für diese Sammelanordnung nicht schnell genug, so dass auf der MSX Turbo-R zusätzliche vorhandene Speicherchips können den ROM-Inhalt für eine schnellere Ausführung in den RAM spiegeln.
| Mikroprozessoren | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|