THX1138 schrieb:Hast Du da eventuell weiterführende Informationen dazu die diese Aussage bestätigen?
Hat du doch selber schon mit dem Wiki-Link getan.
THX1138 schrieb:Wikipedia: Tri-State
Durch Tri‑States ist es möglich, die Ausgänge mehrerer Bauelemente zusammenzuschalten, ohne dass es zu Kurzschlüssen,....<snipsnap>
Das bedeutet, dass mehrere Geräte (CPU, DMA, GPU) auf ein und der selben Leitung (BUS) Adressen und/oder Daten übertragen können. Es muss nur gewährleistet sein, dass eben nur EINES dieser Geräte zugriff auf diese Leitung(en) hat.
Ein T-State-Anschluß kann auch bidirektional verwendet werden, um eben Daten an einer bestimmten Adresse zu schreiben
1) oder eben von der selben Adresse
2) lesen. Wenn nun ein DMA-Zugriff erfolgt, dann siehe
3)Vorgang bei einer alten
Z80-CPU von Zilog: Die einzelnen Anschlüsse der CPU stehen auf Seite 19 und sind in der folge dort beschrieben.
A0-A15 ist der Adressbus Output/TriState,
D0-D7 Datenbus Output/Input/TriState
1) Daten in einer Speicherstelle hinderlegen.- CPU stellt die gewünschte Adresse auf den Adressbus (16Bit) und die Daten (8Bit) auf den Datenbus. Die Ausgänge der beiden Busse sind aktiv und jedes bit hat einen Wert "0" oder "1". Danach wird das Signal "/WR"
(schreiben) aktiviert, das dem Speicherbaustein sagt, dass jetzt Adresse und Daten zum speichern anstehen.
2) Daten aus einer Speicherstelle auslesen.- CPU stellt die gewünschte Adresse auf den Adressbus (16Bit) und den Datenbus auf TriState bzw auf Input (8Bit). Danach wird das Signal "/RD"
(lesen) aktiviert, das dem Speicherbaustein sagt, dass jetzt Adresse gültig ist und den Speicherinhalt auf den Datenbus ausgibt. Dazu verlässt der Speicher seinen TriState-Zustand und die Ausgänge haben der Wert "0" bzw. "1".
3)
DMA-Zugriff Es gibt Bausteine neben der CPU die auch mal die Berechtigung haben Daten von einer Stelle zu einer anderen Stelle zu übertragen, ohne dass die CPU ihre Arbeit unterbrechen muss. (z.Bsp. einen Datenstream an ein anderes Gerät SCHNELL zu schreiben oder aus selbigen zu lesen z.Bsp. Massenspeicher HDD etc.)
Da fordert dieser Baustein bei der CPU über das Signal /BUSREQ die CPU auf, mal kurz den Adress/Daten und Controlbus freizugeben. Somit kann der DMA die funktion
1) und/oder
2) anstelle der CPU ausführen.
DMA-Zugriffe können auch von einer GPU oder auch von einer zweiten/dritten CPU (multiprozessoersysteme) erfolgen