Autor Thema: LB 8, Frage 7, Ergänzungen  (Gelesen 3226 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mucki

  • Jr. Member
  • *
  • Beiträge: 90
  • Bewertung der Beiträge: 1
    • Profil anzeigen
LB 8, Frage 7, Ergänzungen
« am: Februar 23, 2010, 14:16:53 »
Frage 7: Nennen Sie die in modernen PCs einstellbaren DMA-Betriebsarten.

Wie schon im Forum erwähnt läßt sich eine Kurzantwort den letzten Zeilen des LB 8 vor dem Anhang entnehmen. Mich hat die Darestellung im LB 8 doch sehr verwirrt, vielleicht weil ich andere Definitionen im Kopf hatte und mir sind noch ein paar Fragen gekommmen. Wo mir eine Antwort eingefallen ist, bitte ich um Kritik oder Bestätigung, sonst um eine Antwort.

(1)   Welche Betriebsarten gab es denn früher (PC nur mit ISA Bus, bis 486er) ?

Eine einzige Betriebsart: Im PC/XT genügte ein DMA Controller vom Typ 8237 (8 Bit Datenbreite),
ab dem AT (CPU 80286 ff.) kam ein zweiter (mit 16 bit) hinzu, der als Slave hinter den ersten gehängt wurde.
Die Komponente forderte über den ISA-Bus (oder X-Bus auf dem Board) per DMA Request (DRQ)
einen DMA-Kanal an und der DMA-Controller bestätigte die Freigabe mit einem DMA Acknowledge DACK.

(2)   Gibt es eine "moderne" DMA-Lösung ?

Das Stichwort "moderner PC" läßt das vermuten, aber das Gegenteil ist der Fall.
Es gibt die drei im LB genannten Notlösungen, um alte Soft- und Hardware auf
"Teufel komm raus" noch irgendwie nutzen zu können. Sie sind ein Ersatz für die in (1)
beschriebene Lösung, die durch Wegfall der ISA-Kompatibilität nicht mehr funktioniert.
Der Busmasterbetrieb über PCI ersetzt in einem modernen System DMA vollständig.

(3)   Was ist Bus-Master-DMA ?

Der Begriff war mir noch aus alten Unterlagen (z.B. Klaus Dembrowski: PC Werkstatt,
Markt&Technik) im Kopf.

In meiner Literatur (Axel Kloth, PCI und VESA Local Bus, Franzis Verlag) fand ich:

Bus-master-DMA ist mit dem DMA nahe verwandt. Es beruht im wesentlichen darauf, daß nicht
der Mainboard-interne DMA-Controller, sondern ein leistungsfähiger DMA-Controller oder eine
schnelle CPU auf einer Erweiterungskarte benutzt wird, um den Transfer durchzuführen.
Hierbei gibt es zwei Möglichkeiten:
Die erste ist die PC/AT-kompatible Möglichkeit, die auch beim ISA-Teil von VLB und PCI genutzt
werden kann, die andere ist das echte Bus-Master-Feature bei EISA und beim PCI.
Bus-Master-DMA beim PC/AT und damit beim ISA-Bus, beim ISA-Anteil des VLB und beim PCI-Bus
nutzt den Mainboard-internen DMA-Controller lediglich dazu, die Kontrolle über den Bus zu
übernehmen und deie Host-CPU anzuhalten. [...]
Die zweite Methode bei PCI und EISA sieht eine echte Bus Arbitration vor. Hier können Bus-Master
um die Vergabe des Mediums Bussystem arbitrieren; der System Arbiter weist den Bus zu, falls der
Requester eine genügend hohe Priorität hat oder seine Anfrage genügend lange in der Warteschlange stand.


Prof. Matthes scheint die Begriffe Busmasterbetrieb (entspricht wohl Bus-Master-DMA)
und DMA strikt voneinander zu unterscheiden, der Busmasterbetrieb ist also keine Variante des DMA
 - die Definition ist schlüssig.
Bei alten Busmasterkarten (für den ISA-Bus) ist aber daran zu denken,
daß sie den DMA-Controller-Baustein 8237 zur Initialisierung des Busmasterbetriebs brauchen,
obwohl sie kein DMA im ursprünglichen Sinne nutzen.

(4) was ist eine "einstellbare" Betriebsart ?

Kann oder muß ich als Anwender im BIOS oder sonst irgendwo etwas einstellen oder
kann ich mich daruf verlassen, daß Chipsatz und DMA anfordernde Komponente (Controller oder
CPU auf einer Einsteckkarte) die Betriebsart automatisch richtig wählen?

(5)   Praxisbeispiel: PCI-Karte mit "Drucker"-Schnittstelle

Der "modernste" Modus der parallelen Schnittstelle ECP benötigen ja einen DMA-Kanal.
In welcher Betriebsart arbeitet er in einem modernen PC ?


Stefan
 

Offline ado2012

  • Jr. Member
  • *
  • Beiträge: 60
  • Bewertung der Beiträge: -3
    • Profil anzeigen
Re: LB 8, Frage 7, Ergänzungen
« Antwort #1 am: Mai 07, 2014, 18:13:07 »
- PC / PCI DMA
- herkömmlicher DMA Betrieb
- Distributed DMA

hier geb es nur 6 punkte