Allerdings ist der DMA Controller der PCs bis zur 486er Ära nie verändert worden, und erst mit PCI kamen Dinge wie Busmastering auf.
Es gab auch ISA-Busmaster-DMA-fähige Karten, das bekannteste Beispiel dafür dürfte der Adaptec AHA-1540/1542 SCSI-Controller sein.
Ja, stimmt, die gab es. Wie war das bei denen eigentlich implementiert? Haben die einen eigenen DMA Controller mitgebracht? Würde ja Sinn machen. Oder haben die einfach selber per BIOS den 8237 programmiert?
Hier eine Diskussion zum Thema bei Vogons:
Bitte melde dich an, um diesen Link zu sehen.
EDIT: Da steht ja auch die Antwort auf meine Frage:
ZitatXT DMA is the fastest way to connect a hard drive to a PC XT. The DMA controller runs with full 4,77 MHz.
AT DMA is not the ideal way for fast transfers because the DMA controller does not run with bus frequency. However, it may be used when you do not need maximum speed but 8 bit DMA transfers are not fast enough. An example are playback and recording of 16 bit sounds on a Sound Blaster 16. On AT PCs for disk transfers won't use DMA at all but use PIO (programmed I/O) instead because it is faster to avoid the legacy DMA chips.
ISA busmaster DMA is the fastest way. Adaptecs 1542 controllers have a diagnose program that let you find out what's the maximum stable transfer rate in your particular computer. The configurable rates are: 3.3, 5.0, 5.7, 6.7, 8.0, 10 MB/s. In my 386 SX/20 the maximum stable rate is 5.7 MB7s. The busmaster controller 'misuses' the legacy DMA chip just to reserve the bus, but it does the transfers itself, resulting in a faster speed.
Also ein Custom Chip, der den 8237 "missbraucht" um den Bus zu reservieren, dann den Transfer aber selber macht.