From: daveh@cbmvax.commodore.com (Dave Haynie)
Newsgroups: comp.sys.amiga.hardware,comp.sys.amiga.misc
Subject: Re: RAM chips and the A3000
Date: 4 Sep 92 20:54:46 GMT
Reply-To: daveh@cbmvax.commodore.com (Dave Haynie)
Organization: Commodore, West Chester, PA

In article <copes.715597260@pride> copes@pride.cs.curtin.edu.au (Simon Cope) writes:
>spice@drycas.club.cc.cmu.edu writes:

>>I understand that that the static column chips support burst mode and thus 
>>are 10% faster than the nybble & page mode chips. 

That's basically correct -- burst mode gives you something around 10%-30%
speedup, depending on the activity.

>>But I believe I've seen a post here on the Net which stated that due to a 
>>bug in the RAMSEY chips of early A3000s (like mine) that causes the burst 
>>mode not to be used. 

That's totally false.  Someone has confused modes.

>That's right, although the naming conventions of the different modes are often
>confused.  

This is true.  There are three basic modes of RAMSEY operation.  Two work.

The basic, power-up mode is a simple, ordinary cycle by cycle RAM control mode.
This works with page-mode, nybble-mode, or static column memories (though you
aren't likely to find nybble mode parts in "x4" packages).  The other two modes
require static colum parts (eg, they are both "static column" modes).  The mode
that works it Burst, and you get this automatically if the OS detects static
column memory.  This is typical 68030 burst support, you can get four longwords
prefetched into cache in 11 cycles, rather than the 20 cycles it would take
in the basic mode.  But it's software dependent -- there's no guarantee that 
all of these longwords are going to be used, this is a prefetch to the cache,
not under direct processor control.  So rather than a 50% speedup, it tends to
average out at around 20%.

The other static column mode is what we call page-detect.  This allows a basic
memory cycle to run in three clocks rather than five if it hits the same 
row address as the previous cycle.  If it doesn't, the access actually takes
seven cycles.  Testing revealed that AmigaOS doesn't really get any overall
improvement from this mode, though you may get localized improvement (many
poorly designed benchmark programs will show this mode to be real fast, but
in real life it doesn't add much).  Anyway, due to a bug in RAMSEY, the DRAM
timing messes up when this mode is used in conjunction with hard disk activity.
So don't use it.

>If you get hold of SetRamsey by Nic Wilson off a fish disk, ....

I suggest throwing it away.  Not to blame Nic for anything, it's just that
RAMSEY has some characterictics that were never fully explained, or even
qualified when the inital DevCon A3000 docs were written, and some of this
early documentation was inconsistant in naming as well.

>This is 'page' mode (I think), and is set by diag at startup.  It is the only 
>one set, because this mode works on all A3000's.  What Nic refers to as 
>'Static Column' mode is burst mode, in which ramsey utilises the scram chips.  

NOT!  You're confused.  Read what I explained above, I'll be happy to answer
any questions.

>For older machines, you should be able to upgrade the chips to the newer 
>versions.  

All A3000s to date ship with the same RAMSEY.  The problem, or actually lack 
of problem, is not one of RAMSEY changing but of DRAM process varience.  The
place that RAMSEY fails in page-detect mode causes a violation of a critical 
80ns DRAM parameter by about 20ns.  If you have 60ns DRAM, or just get lucky
with 80ns DRAM (perhaps on a nice cool day), you won't see this failure.  Or
you'll only see it every million bytes or so.  Which should be a warning that
it's never safe to use, since you don't know just when it's causing a problem.
The lucky ones get it failing all the time, so they aren't tempted to try and
use it.

-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      BIX: hazy
	"Work like a horse, drink like a fish"	- Psychefunkapus
Newsgroups: comp.sys.amiga.hardware