[comp.sys.amiga.hardware] A3000 DATA Cache

skank@iastate.edu (Skank George L) (05/26/91)

Hello again.  I've noticed on my 3000 that under 2.02 the data cache on
the 68030 defaults to off when the machine boots up.  I assume that there
is a good reason for this.  Is it ever safe to turn it on?  I've read
conflicting reports about it on this group.  Secondly, what sort of write-
back policy does the data cache use (is this a problem)?  Just curious.

				--George
-- 
George L. Skank			|Fast cars, fast women, fast computers...   ///
Senior, Electrical Engineering	|Amiga!					   ///
Iowa State University, Ames, IA	|				      \\\ ///
skank@iastate.edu		|Phone: (515) 233-2165		       \\X//

daveh@cbmvax.commodore.com (Dave Haynie) (05/29/91)

In article <1991May26.091925.20814@news.iastate.edu> skank@iastate.edu (Skank George L) writes:

>Hello again.  I've noticed on my 3000 that under 2.02 the data cache on
>the 68030 defaults to off when the machine boots up.  I assume that there
>is a good reason for this.  Is it ever safe to turn it on?  I've read
>conflicting reports about it on this group.  

Under 2.02, it's supposed to default to 

	(INST: CACHE BURST) (DATA: CACHE NOBURST)

In SetCPU's words.  You can, in any case, turn data cache/burst on and off at
will.  The software folks have experimentally determined that data bursting
doesn't really help AmigaOS programs, except perhaps some small benchmarks.

>Secondly, what sort of write-back policy does the data cache use (is this a 
>problem)?  Just curious.

The 68030's data cache is write-through.  The 68040 offers the choice of write
through or copyback.  
-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
      "That's me in the corner, that's me in the spotlight" -R.E.M.

hamilton@intersil.uucp (06/14/91)

In article <21999@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:
> 
> Under 2.02, it's supposed to default to 
> 
> 	(INST: CACHE BURST) (DATA: CACHE NOBURST)
> 
> In SetCPU's words.

Under ever incarnation of 2.0 I've ever seen, my machine has always booted 
with :	(INST: CACHE NOBURST) (DATA: NOCACHE NOBURST) in (Set)CPU's words.

Performance does increase when I turn on the datacache and a little more
when I enable burst modes, but why don't they come up enabled on my machine
(and, it seems like, most everyone elses)?  

> Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
>    {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
>       "That's me in the corner, that's me in the spotlight" -R.E.M.
-- 
Fred Hamilton                          "Unlike most of you, 
Harris Semiconductor                    I am not a nut..."
Santa Clara, CA                                            -Homer Simpson

daveh@cbmvax.commodore.com (Dave Haynie) (06/14/91)

In article <274.2857ae21@intersil.uucp> hamilton@intersil.uucp writes:
>In article <21999@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:

>> Under 2.02, it's supposed to default to 

>> 	(INST: CACHE BURST) (DATA: CACHE NOBURST)

>> In SetCPU's words.

>Under ever incarnation of 2.0 I've ever seen, 

Which tells me nothing.  Until recently, modern versions of 2.0 set things up
the way I mention here.  I think recently, they have changed things around 
some.  I believe the ROM now boots you with the I-Cache on, the D-Cache off.
That's so you can still boot cache-sensitive 1.3 autoboot games directly from
floppy, and they'll still work (at least, as well as they would with I-Cache
enabled on 1.3).  The SetPatch program, the first thing run by the OS, will
immediately set things back the way Bryce and the boys like them, which, last
I checked, was "(INST: CACHE BURST) (DATA: CACHE NOBURST)".  

>my machine has always booted with : (INST: CACHE NOBURST) (DATA: NOCACHE 
>NOBURST) in (Set)CPU's words.

I can think of three reasons this might be happening:

1) The software guys changed it and didn't tell anyone.

2) You're running a really old version of 2.0x.

3) You have the latest ROM image on disk, but an old version of SetPatch.

4) You have "SetCPU data nocache" or some-such buried somewhere in your
   startup-sequence.


>Performance does increase when I turn on the datacache and a little more
>when I enable burst modes, but why don't they come up enabled on my machine
>(and, it seems like, most everyone elses)?  

I don't know about everyone else, you're absolutely the first person I have
heard from who's claiming things don't come up correctly under 2.0, but of
course, you didn't say which 2.0.  I don't recall exactly when the cache
stuff was settled on.


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"This is my mistake.  Let me make it good." -R.E.M.

hamilton@intersil.uucp (06/16/91)

In article <22458@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:
> In article <274.2857ae21@intersil.uucp> hamilton@intersil.uucp writes:
> 
>>my machine has always booted with : (INST: CACHE NOBURST) (DATA: NOCACHE 
>>NOBURST) in (Set)CPU's words.
> 
> I can think of three reasons this might be happening:
> 
> 1) The software guys changed it and didn't tell anyone.
> 
> 2) You're running a really old version of 2.0x.
> 
> 3) You have the latest ROM image on disk, but an old version of SetPatch.
> 
> 4) You have "SetCPU data nocache" or some-such buried somewhere in your
>    startup-sequence.

Ok, here are the specifics:

I'm running an A3000 with KS V37.175, WB V37.52, and SetPatch V37.6.

I just re-wrote my startup-sequence so the very first three lines are:

	CPU
	SetPatch
	CPU

When I rebooted, CPU reported "(INST: Cache NoBurst) (DATA: NoCache NoBurst)"
both times.

So it's not SetPatch, it's not my startup-sequence, and I believe V37.175
is pretty recent (but I've been seeing this since KS V36.something anyway).
So what could it be?

I'm perfectly happy just putting "CPU cache burst" in my startup-sequence
if that turns out to be the answer, but I'm really curious as to why my
machine (and the few friends I have who also have 3000s) seems to boot
up with everything disabled except the instruction cache.  Thanks for
any ideas...
-- 
Fred Hamilton                          "Unlike most of you, 
Harris Semiconductor                    I am not a nut..."
Santa Clara, CA                                            -Homer Simpson

mks@cbmvax.commodore.com (Michael Sinz) (06/17/91)

In article <276.285b897c@intersil.uucp> hamilton@intersil.uucp writes:
>In article <22458@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:
>> In article <274.2857ae21@intersil.uucp> hamilton@intersil.uucp writes:
>>
>>>my machine has always booted with : (INST: CACHE NOBURST) (DATA: NOCACHE
>>>NOBURST) in (Set)CPU's words.
>>
>> I can think of three reasons this might be happening:
>>
>> 1) The software guys changed it and didn't tell anyone.
>>
>> 2) You're running a really old version of 2.0x.
>>
>> 3) You have the latest ROM image on disk, but an old version of SetPatch.
>>
>> 4) You have "SetCPU data nocache" or some-such buried somewhere in your
>>    startup-sequence.
>
>Ok, here are the specifics:
>
>I'm running an A3000 with KS V37.175, WB V37.52, and SetPatch V37.6.
>
>I just re-wrote my startup-sequence so the very first three lines are:
>
>	CPU
>	SetPatch
>	CPU
>
>When I rebooted, CPU reported "(INST: Cache NoBurst) (DATA: NoCache NoBurst)"
>both times.
>
>So it's not SetPatch, it's not my startup-sequence, and I believe V37.175
>is pretty recent (but I've been seeing this since KS V36.something anyway).
>So what could it be?

The SetPatch that I use is 37.9  It I don't think that 37.6 had the CACHE
thing in it.  (You can tell if SetPatch has the extra NOCACHE option.
Try SetPatch ?  to see...)

>I'm perfectly happy just putting "CPU cache burst" in my startup-sequence
>if that turns out to be the answer, but I'm really curious as to why my
>machine (and the few friends I have who also have 3000s) seems to boot
>up with everything disabled except the instruction cache.  Thanks for
>any ideas...

You do not really want burst on the data cache.  Overall, it is a speed loss.
Also, if you do not have SCRAM, it may be a bad idea to burst at all since
a burst transfer is just as slow as a normal transfer.

The default bootup values are:

System: 68030 68882 FastROM (INST: Cache Burst) (DATA: NoCache NoBurst)

(Note that FASTROM is due to SuperKickstart...)

			-- Mike

/----------------------------------------------------------------------\
|      /// Michael Sinz  -  Amiga Software Engineer                    |
|     ///                   Operating System Development Group         |
|    ///   BIX:  msinz      UUNET:  rutgers!cbmvax!mks                 |
|\\\///                                                                |
| \XX/     Quantum Physics:  The Dreams that Stuff is made of.         |
\----------------------------------------------------------------------/

jma@reef.cis.ufl.edu (John 'Vlad' Adams) (06/17/91)

When I boot my 2000 with a CSA MMR board, SetCPU returns the same message
that the instruction cache is on and the data cache is off.  
-- 
John  M.  Adams   --****--   Professional Student      ///
Internet: jma@cis.ufl.edu            Genie:  vlad     ///  Only the Amiga
Sysop of The Beachside, Amiga BBS, Paragon 2.0858  \\V//  Makes it Possible
Fido Net 1:3612/557.   904-492-2305     (Florida)   \X/

daveh@cbmvax.commodore.com (Dave Haynie) (06/18/91)

In article <276.285b897c@intersil.uucp> hamilton@intersil.uucp writes:
>In article <22458@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:

>> I can think of three reasons this might be happening:

>> 3) You have the latest ROM image on disk, but an old version of SetPatch.

>I just re-wrote my startup-sequence so the very first three lines are:

>	CPU
>	SetPatch
>	CPU

>So it's not SetPatch, 

What leads you to believe it's not SetPatch?  I pointed out that, very 
recently, the software people seem to have decided that enabling the data 
cache in ROM is a compatibility problem, since some 1.3 things that autoboot
from floppy have cache compatibility problems.  The fix, as they explained
it, was to enable the data caching in SetPatch.  So, it would be reasonable
to conclude that you have an old SetPatch.

Any different explanation will have to come from the software people...


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"This is my mistake.  Let me make it good." -R.E.M.

daveh@cbmvax.commodore.com (Dave Haynie) (06/18/91)

In article <22494@cbmvax.commodore.com> mks@cbmvax.commodore.com (Michael Sinz) writes:

>Also, if you do not have SCRAM, it may be a bad idea to burst at all since
>a burst transfer is just as slow as a normal transfer.

No.  The 68030's burst bit is global, and applies to the entire system.  Just
because on-board memory doesn't burst is no reason to disable it.  Setting that
bit simply means that the 68030 will request burts when it's capable of running
them.  Memory systems, on-board, coprocessor, and Zorro III, which are capable
of bursting are responsible for acknowledging the burst, independently of any
request.  If, in any cycle, both a request and an acknowledge take place, a
real burst cycle will proceed.

-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"This is my mistake.  Let me make it good." -R.E.M.

sschaem@starnet.uucp (Stephan Schaem) (06/18/91)

 I would beleive its your kickstart version... If you have an old one
 around try to boot from it and do the same test!
 Myself I found it very anoying, maybe next time the instcache will be
 turned off too:-)
 I also repeat that turn the data burst with any type of mem is useless
 and can only cause drawback.(how can that be?)

								Stephan.