From: drew@hamlet.cs.colorado.edu (Drew Eckhardt) Subject: Re: anyone using 20 MB RAM? Date: 19 Jun 1992 23:43:37 GMT
In article <1992Jun19.202056.14687@nic.umass.edu> S3679988@deimos.ucc.umass.edu (S3679988) writes:
>> >The 16MB DMA-limit is imposed by the AT-Bus. It has only 24 address lines,
>> >as a 286 has. 16MB is what you can do with these. So what we'll need in
>> >the long run is a way to do swapping into the lower 16MB and do a memory to
>> >memory copy then. It'll still be faster than programmed IO on a 16-bit bus.
>> >I think this might be a service of the higher level SCSI driver.
>> >(Drew, do you hear me knocking? :-))
>>
>
>One observation: my system is an AT bus machine, however, like most modern
>(?!) AT bus machines, the memory isn't located on the AT but. My memory
>limitation is 64MB, not the 16MB imposed by the AT but, but by
>my chiipset not being able to deal with more than 4MB simms, and only
>haveing 16simm sockets.
>
That doesn't matter. It's a bus or DMA problem, which affects perhipherials
on the ISA bus (ie, a disk controller) that transfer data via DMA.
Basically, there are two types of DMA :
1. Where the motherboard DMA chip acts as a "slave" to a perhipherial
board, and it handles the actual transfer. In this
case, you are restricted by the functionality of the
"standard" AT DMA controllers - ie, transfers are restricted
to a 24 bit address space, and you can't cross a 64 (byte
wide) or 128 (16 bit wide DMA)K boundary in a singe transfer.
Does anyone know if EISA machines have a 32 bit DMA controller,
and how to program it?
Anyways, in this case, you can *probably* get around the limit
by making the device driver aware of the limit, and having
it use the CPU to transfer > 16M.
2. Bussmastering, where the perhiperial steals bus cycles, and writes
directly to memory. In this case, all it sees is the 24 address lines
on the ISA bus. This is the case with things like the Adaptec 154x
series.
You can get around this by double buffering, ie using DMA to
an area in low memory, and then copying that to high
memory.
2.