Subject: Re: cache
To: Stephen Champion <steve@betty.onshore.com>
From: G. Baldwin <drizzit@eskimo.com>
List: port-amiga
Date: 03/26/1996 04:31:16
On Tue, 26 Mar 1996, Stephen Champion wrote:

> Joe Smith said:
> 	Well, actually it's that the Amiga's CPU's (well, all 680x0 CPU's) are
> clocked so slow (relative to other CPU's), and that the motherboard data paths
> are well designed - resulting in 80ns RAM being all that's needed without
> a significant bottleneck.

Thats actually false.  High speed 68030s, 68040s, and 68060s all require
memory that is faster than 80ns unless you stuff wait states on them.  If
I remember right, many Amiga CPU cards need 70ns RAM with 25/33MHz 68040s,
and 40MHz 68040s and 68060s need 60ns mem.  This wait states can slow
things down anywhere from 15% on up.

>         However:
> In the A3000 and A4000, a CPU in the "CPU Slot" will have pathetically slow -
> in terms of MB/s, about 1.6 - access to motherboard memory..  While on L2 cache
> on the CPU board would alleviate the effects of this bottleneck somewhat, the
> expense of cache RAM makes it more economical to put the memory itself on the
> board (It's probably better, too).  This is done on all of the "CPU slot"
> boards the I know of except the 3640 - the stock board in the A3000T/040 and
> A4000/040.

Memory is put on these cards for several reasons.  The first being that
the Ramsey can only handle 16MB of memory being on the motherboard.  That
limit is far too imposing, so card manufacturers let you stuff 256MB on
their cards.  Next reason is because this memory can be clocked at the
same speeds as the CPU.  3rd reason is because you can now use burst data
transfers to memory - this is basically impossible with the MB memory.

> 	The problem is not that the motherboard datapaths are bad, but because
> the CPU and motherboard are on different clocks.

Well, the above reasons are mainly why motherboard memory is so limited.
But there is another around.  Its what people call the "A4000 memory
bottleneck".  This bottleneck does not exist in the A4000, but rather,
with the C=3640 CPU card and the 040.  Supposedly, the 68040 can not talk
to 16-bit devices like an 020 or 030 can.  Thus, the C=3640 uses a kind of
"interpriter" that plays with the data.  Since the C=3640 is so old, the
chips that do this are very low quality, and very slow.  That is why
people with 030 based A3000/A4000s have DOUBLE the memory speed to MB RAM
than owners of the 3640 do.  This problem has been delt with better with
newer 040/060 cards, but that conversion still remains, and its still a
bottleneck.