By: rwessel (rwessel.delete@this.yahoo.com), October 6, 2021 5:59 am
Room: Moderated Discussions
Adrian (a.delete@this.acm.org) on October 6, 2021 4:04 am wrote:
> rwessel (rwessel.delete@this.yahoo.com) on October 6, 2021 3:38 am wrote:
> > Adrian (a.delete@this.acm.org) on October 5, 2021 11:28 pm wrote:
> > > David Hess (davidwhess.delete@this.gmail.com) on October 5, 2021 5:19 pm wrote:
> > > > Yuhong Bao (yuhongbao_386.delete@this.hotmail.com) on October 3, 2021 1:30 am wrote:
> > > > >
> > > > > Even on the IBM PC the 8237 memory-to-memory copy mode never were used.
> > > >
> > > > Embedded systems running on bare metal might have used it, and I think I remember seeing examples
> > > > in application notes, but didn't Dr. Dobb's Journal include an example on the PC in one issue?
> > > >
> > >
> > >
> > > The 8237 DMA was very seldom used for anything in IBM PC's (except in its legacy application in the floppy
> > > disk driver) not because it was a DMA controller, but because it was a very bad DMA controller.
> >
> >
> > A few NICs used it as well, but none I really remember as worthwhile.
>
>
> The IBM PC designer team has chosen the already obsolete Intel 8237
> DMA controller, presumably for reasons of cost and availability.
>
> The use of 8237 in IBM PC and clones ensured a very long commercial life for
> this otherwise inferior product, especially from various second sources, which
> continued to provide it long after it was discontinued at Intel.
>
> Intel's vision for a DMA controller matched in performance with 8086/8088 was the coprocessor Intel 8089,
> which besides including a more powerful DMA controller able to share the address space of 8086/8088 also
> included a simple processor, able to do some processing on the data in transit, if desired.
>
> However it is likely that 8089 was far too expensive so it was used in very few products outside Intel.
At the time, an 8089 would probably have cost IBM more than the rest of the components on the motherboard - these sold initially for $200/ea in quantity.
The ability to process data in flight was pretty limited for the 8089. Actually running full speed DMA mostly shut down the rest of the processor. But you could, at least potentially, muck with the data before/after transfers. The programmability was more to deal with managing the device than altering the data.
> rwessel (rwessel.delete@this.yahoo.com) on October 6, 2021 3:38 am wrote:
> > Adrian (a.delete@this.acm.org) on October 5, 2021 11:28 pm wrote:
> > > David Hess (davidwhess.delete@this.gmail.com) on October 5, 2021 5:19 pm wrote:
> > > > Yuhong Bao (yuhongbao_386.delete@this.hotmail.com) on October 3, 2021 1:30 am wrote:
> > > > >
> > > > > Even on the IBM PC the 8237 memory-to-memory copy mode never were used.
> > > >
> > > > Embedded systems running on bare metal might have used it, and I think I remember seeing examples
> > > > in application notes, but didn't Dr. Dobb's Journal include an example on the PC in one issue?
> > > >
> > >
> > >
> > > The 8237 DMA was very seldom used for anything in IBM PC's (except in its legacy application in the floppy
> > > disk driver) not because it was a DMA controller, but because it was a very bad DMA controller.
> >
> >
> > A few NICs used it as well, but none I really remember as worthwhile.
>
>
> The IBM PC designer team has chosen the already obsolete Intel 8237
> DMA controller, presumably for reasons of cost and availability.
>
> The use of 8237 in IBM PC and clones ensured a very long commercial life for
> this otherwise inferior product, especially from various second sources, which
> continued to provide it long after it was discontinued at Intel.
>
> Intel's vision for a DMA controller matched in performance with 8086/8088 was the coprocessor Intel 8089,
> which besides including a more powerful DMA controller able to share the address space of 8086/8088 also
> included a simple processor, able to do some processing on the data in transit, if desired.
>
> However it is likely that 8089 was far too expensive so it was used in very few products outside Intel.
At the time, an 8089 would probably have cost IBM more than the rest of the components on the motherboard - these sold initially for $200/ea in quantity.
The ability to process data in flight was pretty limited for the 8089. Actually running full speed DMA mostly shut down the rest of the processor. But you could, at least potentially, muck with the data before/after transfers. The programmability was more to deal with managing the device than altering the data.