Amiga.org

Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: Iggy on February 17, 2013, 03:56:01 PM

Title: A2091 and Zorro-II DMA memory
Post 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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: Zac67 on February 17, 2013, 04:20:01 PM
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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: SpeedGeek on February 17, 2013, 04:27:20 PM
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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: Heiroglyph on February 17, 2013, 05:28:59 PM
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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: SpeedGeek on February 17, 2013, 06:11:13 PM
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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: Heiroglyph on February 17, 2013, 06:19:32 PM
Ah, ok, that's what I thought.  Thanks for clearing that up.
Title: Re: A2091 and Zorro-II DMA memory
Post by: freqmax on February 18, 2013, 01:35:57 AM
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 ;)
Title: Re: A2091 and Zorro-II DMA memory
Post by: Zac67 on February 18, 2013, 07:31:24 AM
Quote
...,  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... ;)
Title: Re: A2091 and Zorro-II DMA memory
Post by: freqmax on February 18, 2013, 07:36:35 AM
"4G should be enough for anybody" ? :P

16 777 216 TByte enough? ;)
Title: Re: A2091 and Zorro-II DMA memory
Post by: psxphill on February 18, 2013, 01:28:30 PM
Quote from: Heiroglyph;726697
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.
Title: Re: A2091 and Zorro-II DMA memory
Post by: Heiroglyph on February 18, 2013, 02:56:20 PM
Quote from: psxphill;726783
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.