Zilog Z80
Datenblatt
Dieser Prozessor wurde nach einem zweijährigen Projekt intensiver Arbeit entwickelt. Er wurde von Federico Faggin entworfen, nachdem er die Entwicklung eines neuen Prozessors in Angriff genommen hatte, der kostengünstiger und kompatibel zum Intel 8080 sein sollte, jedoch bei der Leistung überlegen war.
Dieser 8-Bit Little-Endian-Prozessor kam im Juli 1976 zu einem günstigen Preis auf den Markt und trat gegen den damals bereits berühmten Intel 8080 an. Seine Kompatibilität zum 8080 ermöglichte es, dass Anwendungen, die für diesen Intel-Prozessor entwickelt wurden – einschließlich des Betriebssystems CP/M –, auf dem Z80 ausgeführt werden konnten.
Im Vergleich zum Intel 8080 wies der Z80 einige Verbesserungen auf, weshalb er oft als eine Erweiterung des Intel-Modells betrachtet wurde. Der Z80 bot einen erweiterten Befehlssatz, zusätzliche Registerpaare sowie eine Vereinfachung der benötigten Hilfskomponenten (Taktgeber, Speicher usw.). Er etablierte sich mit großer Kraft am Markt und verdrängte den Intel 8080 fast vollständig.
Dieser Prozessor gilt als Hybrid zwischen einer Akkumulator-Architektur und einer Register-Architektur für allgemeine Zwecke. Er lässt sich in die Kategorie der Register-Speicher-Prozessoren einordnen.
Allgemeine Merkmale
Der Z80 verfügt über einen 8-Bit-Datenbus, verarbeitet jedoch Befehle und Adressen mit 16 Bit (wodurch er bis zu 64 KB adressieren kann). Eine Ausrichtung (Alignment) ist nicht erforderlich. Er besitzt 22 Register (18 x 8 Bit und 4 x 16 Bit). 12 dieser Register können paarweise verwendet werden (sodass sechs 16-Bit-Register zur Verfügung stehen). Die Taktfrequenz variiert je nach Version. Er begann mit einem Taktzyklus von 2,5 MHz, wobei spätere Modelle bis zu 20 MHz erreichten. Der Z80A, die populärste Version, arbeitete mit 3,58 MHz (4 MHz ab Werk). Er verfügt über 6 verschiedene Adressierungsmodi.
Register
- A ist das Akkumulator-Register; B, C, D, E, H und L sind allgemeine 8-Bit-Register. Sie können 16-Bit-Paare bilden (BC, DE, HL).
- A', B', C', D', E', H' und L' (Alternativ-Banks): Ein Duplikat des ursprünglichen Registersatzes.
- I (Interrupt Vector Register): Speichert den höherwertigen Teil der Startadresse der Interrupt-Vektortabelle.
- R (Refresh Register): Speichert den aufzufrischenden Speicherblock.
- F (Flag-Register): Speichert die Zustandsbits.
- IX, IY: Indexregister.
- SP (Stack Pointer): Stapelzeiger.
- PC (Program Counter): Befehlszähler.
- F (Zustandsregister/Flags): Ergänzt um H (Half-Carry-Flag; zeigt einen Übertrag vom niederwertigen zum höherwertigen Nibble an) und P (Paritätsbit).
Diagramm der Anschlüsse




