Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: What to do with slow Chip/ST RAM



On Wed, 11 Mar 2009, Michael van Elst wrote:

abs%NetBSD.org@localhost (David Brownlee) writes:

        It would probably be best to allocate most of the slow RAM to the
        altmem device on boot and leave just enough to work as DMA space
        for the devices.

Amiga systems that run NetBSD may have several types of
memory sorted by speed:

- 32bit "local" RAM on an accelerator board.
- 32bit "local" RAM on the motherboard.
- 32bit Zorro-III RAM on an expansion board.
- 16bit Zorro-II RAM on an expansion board.
- 16bit "Ranger" RAM on a special expansion board.

32bit Zorro-III RAM rarely exists except maybe for frame
buffers on graphics cards.

16bit "Ranger" RAM usually conflicts with using an
accelerator board.

and depending on model:

- 32bit Chip RAM
- 16bit Chip RAM
- 16bit non-Chip RAM

Chip RAM == memory controlled by Amiga graphics chipset.
non-Chip == same as Chip RAM but cannot be used by the chipset due
           to lack of address bits.

Chip RAM does not support CAS cycles, any kind of locked cycles do
not necessarily work and you may read or write random bits.

        The Amiga pmap (arch/amiga/amiga/pmap_bootstrap.c) currently
        splits RAM into 16 bit, Zorro-II and 'default' (everything else),
        and will preferentially allocate from the non Zorro-II RAM.

        I assume there are two reasons for this - the other memory is
        faster, plus leaving Zorro-II RAM to last means its more likely
        to be available for DMA.

        How does the Chip RAM and 16 bit non-chip ram compare speedwise
        to the local/zorro/ranger RAM? Are some of the types 'close
        enough' to consider the same speed, or does it make sense to
        tell the VM system about the entire range so it can always
        pick the fastest available?

        Note, it will preferentially pick a non zeroed page from a
        faster bank that then needs to be zeroed before use, rather
        than a pre-zeroed page from a slower bank, working on the
        asumption that that cost is more than paid back over the lifetime
        of that page's use...


--
                David/absolute       -- www.NetBSD.org: No hype required --


Home | Main Index | Thread Index | Old Index