Amiga.org
Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: Iggy on February 17, 2013, 03:56:01 PM
-
Why does the A2091 require memory on the Zorro buss to enable DMA?
And what's the easiest way to assure its presence.
-
Memory is required for DMA to work (=Direct Memory Access) - the A2091 works with chip RAM as well. Extended RAM (beyond 16 MB/24 bit address space) can't be addressed so it's useless.
-
This has been a well known design limitation of the A2091 for a long time now. It's also been a topic for discussion on many Amiga forums (including Amiga.org).
The A2091s DMAC was designed to support the 68000 bus architecture and likewise is limited to transfers within the 24 bit (16MB) address space. The C= driver (scsi.device) defaults to PIO mode if it can not perform DMA transfers. This results in much slower transfer rates.
Performance is significantly improved by using a software patch (i.e. vbak2091) or a Guru ROM to perform buffered DMA transfers above 24 bit address space.
-
Wow, that's an eye opener to me. I thought you couldn't do DMA with ZorroII cards to high memory.
I knew the lines were there, but assumed the cards weren't made to support it.
-
Zorro2 cards can't do DMA above 24 bit address space. But they can do DMA to a buffer in memory below 24 bit address space. Then a 32 bit CPU can copy this buffer to memory above 24 bit address space. That's why it's called buffered DMA.
-
Ah, ok, that's what I thought. Thanks for clearing that up.
-
It's called "Bounce buffer" in Linux / FreeBSD. Used to deal with the 16 MB limit of Intel 8237, and the 4 GB limit of PCI etc. I guess 64-bit systems have a bit left before they need this technique ;)
-
..., and the 4 GB limit of PCI etc. I guess 64-bit systems have a bit left before they need this technique ;)
That's what we once thought of 32 bit, too... ;)
-
"4G should be enough for anybody" ? :P
16 777 216 TByte enough? ;)
-
Wow, that's an eye opener to me. I thought you couldn't do DMA with ZorroII cards to high memory.
I knew the lines were there, but assumed the cards weren't made to support it.
The lines aren't there, it's impossible for a zorro 2 card to use more than 24 bits of address. While zorro 3 cards use the same connector, the extra address and data bits are multiplexed.
The easiest way of making sure there is memory available for the card to DMA is to populate the A2091 with ram.
-
The lines aren't there, it's impossible for a zorro 2 card to use more than 24 bits of address. While zorro 3 cards use the same connector, the extra address and data bits are multiplexed.
The easiest way of making sure there is memory available for the card to DMA is to populate the A2091 with ram.
Dang, I hoped nobody would call me on that one :roflmao:
I have no idea what I was thinking. I've been looking at bus specs so much the last few days my brain must have just scrambled the two.