Anschlussbelegung der Z80 DMA | ![]() |
![]() |
![]() |
Implementiert in ein 40-poliges DIL-Gehäuse präsentiert sich die Z80-CPU mit einem 8 Bit breitem Daten-BUS als Aritmetic-Logical Unit mit 158 Basisbefehlen (insgesamt 796 Befehle) mit 3 leitungsfähigen Interruptmodi und einem linear adressierbarem Speichervolumen von 64 KByte (das entspricht 65536 Adressen). Die CPU verfügt über nur eine 5 Volt-Versorgungsspannung, einen Einphasentakt sowie einen automatischen Refresh für den Anschluss dynamischer RAMs. Alle Ausgänge sind TTL-kompatibel und können eine Standardlast treiben. | ||||||||
![]() |
1. Anschlussdokumentation 2. Typische Zusammenschaltung mit Komponenten des Systems 3. Technische Daten |
||||||||
![]() |
|
1. Anschlussdokumentation | ![]() |
![]() |
![]() |
![]() |
D0 ... D7 Data Bus (bidirektional,
tristate)
Über den Systemdatenbus erfolgt i. allg. der Datenaustausch zwischen DMA-Einheit einerseits und CPU, Speicher und Peripherie andererseits. Im aktiven Zustand der IS U858 (keine Busübernahme durch den DMAC) erfolgt hierüber der Austausch von Status- und Steuerinformationen. Im aktiven Zustand (DMA-Betrieb) können in Form einer Pipelineverarbeitung Daten von einer Quelle zu einer Senke transportiert werden. Eine weitere, auch mit dieser Variante kombinierbare Möglichkeit besteht in dem Vergleich von adressierten Daten mit einem vorgegebenen Bitmuster (Suche) innerhalb der DMA-Einheit. |
![]() |
A0 ... A15 Address Bus (Ausgänge,
tristate)
Der Systemadressbus wird seitens der DMA-Einheit nur im DMA-Betrieb aktiviert. Er dient dann zur Adressgenerierung für die Datenquelle und Datensenke, die wahlweise Speicher oder adressierbare Peripherie des Rechners sein dürfen. |
![]() |
CE/WAIT Chip
Enable/Wait (Eingang, L-aktiv)
Im allgemeinen dient dieses Pin als Chipauswahlsignal, es kann aber auch als Wait-Linie programmiert werden. |
![]() |
CP Clock Pulse (Eingang, 5-V-Pegel)
Der Systemtakt dient zur Synchronisation der inneren zeitlichen Abläufe mit den äußeren Systemsignalen. |
![]() |
M1 Machine Cycle 1
(Eingang, L-aktiv) Der Anschluss hat in Bezug auf die DMA-Steuereinheit nur in deren nichtaktivem Zustand Bedeutung. Hierbei dient er zur Synchronisation der internen Interruptlogik. Dieses von der CPU U880 erzeugte Steuersignal zeigt Op-Kode-Lesezyklen der CPU an. Einerseits wird es in der IS U858 zur Dekodierung der RETI-Befehlsfolge benötigt (Rückkehr aus Interruptbedienung), andererseits bewirkt es in Verbindung mit dem CPU-Steuersignal IORQ und der Interruptprioritätenkette die Quittierung anhängiger Interruptforderungen. |
![]() |
MREQ Memory Request
(Ausgang, tristate, L-aktiv)
Dieses DMAC-Signal wirkt nur im aktiven Zustand der Einheit. Dann übernimmt es die Funktion des entsprechenden CPU-Signals und kennzeichnet Schreib- und Leseoperationen mit dem Speicher. |
![]() |
IORQ Input/Output Request (bidirektional,
tristate, L-aktiv)
Im nichtaktiven Zustand der IS U858 wirkt der Pin als Eingang und bewirkt mit aktivem Pegel zusammen mit aktivem CE-Signal (s. o.) einen Datenaustausch mit der CPU. Im DMA-Betrieb übernimmt er als Ausgang die entsprechende Funktion des CPU-Signals IORQ (Kennzeichnung von Schreib- und Leseoperationen mit der Peripherie). |
![]() |
RD Read
(bidirektional, tristate, L-aktiv)
Im nichtaktiven Zustand des DMAC reagiert der Anschlußss als Eingang und steuert im U858 die Datenrichtung bei der Übertragung von Statusinformationen. Während des DMA-Betriebs hat er die gleiche Wirkung wieder CPU-Anschluss RD (Ausgang zur Steuerung von Lesevorgängen). |
![]() |
WR Write (bidirektional,
tristate, L-aktiv)
Dieses Steuersignal hat eine analoge Bedeutung wie RD, mit dem Unterschied der umgekehrten Datenrichtung. |
![]() |
INT/PULSE Interrupt
Request/Pulse Output (Ausgang, open drain, L-aktiv)
Über diesen Anschluss erfolgt ebenfalls, ähnlich wie bei
CE/WAIT, die programmierbare Ausgabe zweier, vom Betriebszustand der DMA-Einheit abhängiger Signale.
Im nichtaktiven Zustand des DMAC dient der Pin zur Anmeldung von Interruptforderungen über die systemweite Anmeldeleitung
INT. Ursache hierfür kann das Eintreten von drei programmierbaren Ereignissen sein (Ready-Zustand des DMAC, Bitmuster erkannt, Blockende erreicht). |
![]() |
IEI Interrupt Enable Input (Eingang, H-aktiv)
Dieser Eingang hat in Verbindung mit dem Ausgang IEO die Aufgabe, die IS U858 in die systemweite Interruptprioritätenkette (daisy chain) einzubeziehen. Ein H-Pegel an diesem Pin erlaubt der DMA-Einheit die Weitergabe evtl. anhängiger Interruptforderungen über die INT-Linie (nur im nichtaktiven Zustand des DMAC von Bedeutung). |
![]() |
IEO Interrupt Enable Output (Ausgang, H-aktiv)
Der Interruptfreigabeausgang führt genau dann L-Pegel, wenn entweder die DMA-Steuereinheit eine Interruptforderung anmeldet bzw. eine solche Forderung durch die CPU bearbeitet wird, oder wenn der Interruptfreigabeeingang IEI L-Pegel führt (wiederum aufgrund der systemseitig festgelegten höheren Priorität von Busanforderungen gegenüber den Interrupts nur im nichtaktiven Zustand der IS U858 von Interesse). |
![]() |
BUSRQ Bus Request
(bidirektional, open drain, L-aktiv)
Über diese, auch systemweit verbreitete Anmeldelinie erfolgt die Anforderung zur Übernahme von Daten-, Adreß- und Steuerbus durch die
DMA-Einheit. Hierzu wirkt der Pin als Ausgang. Für den Fall, dass mehrere DMA-Steuereinheiten im Mikrorechner vorhanden sind, dient eine weitere daisy chain mit Hilfe der Signale BAI und BAO zur
Festlegung der Prioritäten bei der Busanforderung. Da die Forderung besteht, dass aktive DMA-Einheiten nicht durch höherpriorisierte unterbrochen werden dürfen, wird über
den dann als Eingang wirkenden Pin BUSRQ gleichzeitig überwacht, ob bereits eine andere DMA-Steuereinheit einen DMA-Betrieb ausführt. |
![]() |
BAI Bus Acknowledge Input
(Eingang, L-aktiv)
Das aktive Signal zeigt einer busfordernden DMA-Einheit an, daß sich die Systembusse (Daten, Adressen, Steuersignale
IORQ, MREQ,
RD, WR) in einem hochohmigen
Zustand befinden und somit für die Busübernahme durch den betreffenden DMAC zur Verfügung stehen. |
![]() |
BAO Bus Acknowledge Output
(Ausgang, L-aktiv)
Dieser Ausgang hat nur in Systemen mit mehreren DMAC Bedeutung. Er bewirkt dort die Weitergabe einer DMA-Quittierung von der CPU (bzw. von einem höher priorisierten Controller) zu einer niederpriorisierten Einheit. |
![]() |
RDY Ready (Eingang, aktiver Pegel programmierbar)
Dieser Anschluss wird durch die DMA-Einheit überwacht, um anzuzeigen, wann ein angeschlossenes peripheres Gerät fertig für die Übertragung von Daten im DMA-Betrieb ist. Hiermit wird die schnellste Reaktionsmöglichkeit auf Forderungen der Peripherie im System U880 erreicht. Die Art und Weise, in der DMA-Aktivitäten durch diesen Eingang gesteuert werden, hängt wesentlich von der gewählten Betriebsart ab. Eine aktive Ready-Linie kann außerdem durch eine entsprechende Programmierung simuliert werden. Das ist insbesondere bei Speicher-Speicher-Operationen von Bedeutung. |