[comp.sys.amiga] 68000 speed up kits

spencer@eris (Randy Spencer) (02/05/88)

/*
For those of you using Unix Windows, here is a neat clue:

If you want to Post News in a seperate window from that you are Read
Newsing in, then after you choose 'f', but before you answer yes to:

"This program posts news to many machines throught the continent.
 Are you absolutely sure that you want to do this? [ny]"

you can type the command "Pnews -h .rnhead" in another window and the
news posting will continue from there!  Then go back to the first
window and answer "no" to the above question.  Back at reading news...
*/

I have been getting real green with envy over pixar!les's '020 board
recently.  It is the Ronin (aka Finally) board running at 16 (?) MHz.
He uses it for rendering with Aegis Videoscape, but I am interested
in it for other reasons.  Like I saw him run DiskDoctor on his hard
disk at more than twice the speed my machine goes at.  So then it
occurs to me.  I really love the Amiga, all the speed that I get
having a blitter to move screen elements around, but I still have
trouble with the day to day stuff (like copying and such).  What
I could really use is a faster machine (almost more than a portable
machine, but that is pretty high on my list, so you better keep you
eyes on yours Dale!).  I don't really need to spend $250++ on the
'020 chip when I could get a 16 MHz 68000 for $20.  And the board would
be easier to build.  Just transfer all the lines up from the 68000
socket, except the timing lines.  Only problem is that I am no
hardware type.  I will build the thing if someone will tell me that 
it will work, but I don't get the physics of it.

So, anyone out there think about this?  I can handle the soldering
if someone will design the thing...  Anybody want to make it into
a product???
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Randy Spencer      P.O. Box 4542   Berkeley  CA  94704        (415)222-7595 
spencer@mica.berkeley.edu        I N F I N I T Y         BBS: (415)222-9416
..ucbvax!mica!spencer            s o f t w a r e                  AAA-WH1M
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

esd@cbterra.ATT.COM (Eric S. Deese) (02/05/88)

In article <6861@agate.BERKELEY.EDU> spencer@eris.berkeley.edu (Randal m. Spencer [RmS]) writes:
>                       I don't really need to spend $250++ on the
>'020 chip when I could get a 16 MHz 68000 for $20.  And the board would
>be easier to build.  Just transfer all the lines up from the 68000
>socket, except the timing lines.  Only problem is that I am no
>hardware type.  I will build the thing if someone will tell me that 
>it will work, but I don't get the physics of it.
>
>Randy Spencer      P.O. Box 4542   Berkeley  CA  94704        (415)222-7595 
>spencer@mica.berkeley.edu        I N F I N I T Y         BBS: (415)222-9416
>..ucbvax!mica!spencer            s o f t w a r e                  AAA-WH1M

Me too!  If anyone knows how to do this, please post  it to the
net.  I would think there would be an overwhelming interest in this
sort of thing.  However, I can't help but think that this has to
be more involved/difficult than I (and obviously Randy) think it is.
If it were just this easy, surely someone would be cranking these
things out left and right.  After all, I would assume that this would
be equally useful in the Mac and the Atari ST.  Am I wrong.  I hope
there is a hardware type out there that can enlighten us.

Eric Deese (cbosgd!esd)

R38@PSUVM.BITNET (aka Marc Rifkin) (02/08/88)

I have thought of this before and can so far construe this:
 A '20 board has to overcome 2 problems:
  1. Speed - the rest of the computer (coprocessors, etc) runs at 7.16, so
    '20 would have to slow down to deal with them, but it can act about
    twice as fast on the the memory, BUT:
  2. Memory - the '20 is 32-bit; the Amiga is physically (by nature of
    its PCB) 16 bit (in terms of its busses), so the '20 needs support
    circuitry to access such memory, and can only take advantage of
    its speed in 32-bit memory (equals $$).
 The 68000 or even a 16Mhz 68010 would only have to deal with the speed
problem in which case it could directly access the Amiga's internal
memory at its speed, possibly inbetween 7.16 cycles.  I am not too
knowledgeable about the logistics of this, which is why I have asked
a professional engineer about this who could even help into the
actual production stage.
I will hear from him soon and will report...
Later,
-------
       ________                         |-R38@PSUVM.PSU.EDU---------------|
    / /  ____  \                        | MARC RIFKIN                     |
   / /  /_/_/  /                        | 132 BEAVER HALL UNIVERSITY PARK |
  / /  ____   /                         | 16802 (814)862-6892             |
 / /  /  \ \  \ A E G I S   OF VERTEX   +=================================+
/ /__/   / /__/ ---===---        INC.
                                       "NICE NIGHT FOR AN EVENING, HUH?"
     
     
     

daveh@cbmvax.UUCP (Dave Haynie) (02/10/88)

in article <6861@agate.BERKELEY.EDU>, spencer@eris (Randy Spencer) says:
> I don't really need to spend $250++ on the
> '020 chip when I could get a 16 MHz 68000 for $20.  And the board would
> be easier to build.  Just transfer all the lines up from the 68000
> socket, except the timing lines.  Only problem is that I am no
> hardware type.  I will build the thing if someone will tell me that 
> it will work, but I don't get the physics of it.

Well, first someone would have to find a reliable source of 16Mhz 68000s.
Once you've got that, you could build an accelerator board.  It would have to
slow down for Amiga bus access, otherwise it can run faster.  Now, that may
not buy you much.  If you can hook it up to 16MHz or whatever memory, you
could maybe go 1.5 times faster than the current Amiga, depending on how
much you talk to CHIP or slower expansion RAM.  The 68020 gets a speed win
if it's got 32 bit memory to talk to, which the 68000 certainly doesn't.  And
it wins because of it's instruction cache, which is always going to run at
your 16MHz or whatever, even if the instructions came from slower memory.

On the plus side, you've have much less hardware to build, since the 68000
already has a 68000 compatible interface.

> Randy Spencer      P.O. Box 4542   Berkeley  CA  94704        (415)222-7595 
-- 
Dave Haynie  "The B2000 Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {ihnp4|uunet|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
		"I can't relax, 'cause I'm a Boinger!"

cmcmanis%pepper@Sun.COM (Chuck McManis) (02/14/88)

In article <32328R38@PSUVM> R38@PSUVM.BITNET (aka Marc Rifkin) writes:
>  2. Memory - the '20 is 32-bit; the Amiga is physically (by nature of
>    its PCB) 16 bit (in terms of its busses), so the '20 needs support
>    circuitry to access such memory, and can only take advantage of
>    its speed in 32-bit memory (equals $$).

Technically, this is not true. You see the 68020 has this line that 
tells it what the Bus size is, and it modifies the way it fetches data
internally. The resultant bus accesses look a lot like 68000 bus accesses.
Because the execution time for many of the instructions is one clock faster
on the '020 you should see a slight increase in speed when the '020 is 
running at the identical clock rate of the '000. The cache helps too but
not as much as one would hope. If you double the width of the memory
bus you double it's bandwidth and thus help performance considerably. The
only reason I can think of that some vendors board would run slower than
a 68000 out of 16 bit memory, is that they have broken wait state hardware.
Anyway, it takes no extra hardware. 

--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.

daveh@cbmvax.UUCP (Dave Haynie) (02/17/88)

> In article <32328R38@PSUVM> R38@PSUVM.BITNET (aka Marc Rifkin) writes:
>>  2. Memory - the '20 is 32-bit; the Amiga is physically (by nature of
>>    its PCB) 16 bit (in terms of its busses), so the '20 needs support
>>    circuitry to access such memory, and can only take advantage of
>>    its speed in 32-bit memory (equals $$).

> Technically, this is not true. You see the 68020 has this line that 
> tells it what the Bus size is, and it modifies the way it fetches data
> internally. 

That's basically correct.  For every memory cycle, the 68020 asserts two
lines, SIZ0 and SIZ1, which together tell you what size port the '020 is
looking for.  And every port (eg, chunk of memory, mapped I/O) responds to
such addressing with a code on another two lines, /DSACK0 and /DTACK1, which
tell the 68020 how large the actual item being addressed is.  This lets the
68020 figure out that it needs to run two memory cycles for a 32 bit cycle
if it's talking to a 16 bit port.

> The resultant bus accesses look a lot like 68000 bus accesses.

But not completely.

> Because the execution time for many of the instructions is one clock faster
> on the '020 you should see a slight increase in speed when the '020 is 
> running at the identical clock rate of the '000. 

Ideally.  This won't work for most of the Amiga system, since the typical
expansion card is either driven synchronously by the system supplied clocks,
in which case you'll always run 4 clocks, or it's got some on-card syncing
to do (like a memory card that does hidden refresh) and normally imposes a
4 clock cycle to keep itself in sync.  It's possible for a card to assert a
very early /DTACK, but you still could run into trouble on the expansion bus
as data buffers aren't enabled until S4 (if anyone out there doesn't 
understand this, don't worry about it).

> The cache helps too but not as much as one would hope. 

Well, it is only a rather small instruction cache.  If you've got subroutines
that are pretty small, or programs with lots of tight loops, the cache may
help tremendously.  A memory test I use here runs maybe 6x-10x faster on an
'020 board with the cache enabled.  Some other things may not change much at
all.

> If you double the width of the memory bus you double it's bandwidth and thus
> help performance considerably. The only reason I can think of that some
> vendors board would run slower than a 68000 out of 16 bit memory, is that
> they have broken wait state hardware.

I'd pretty much agree with that.  The one catch here is that the 68020 always
does 32 bit prefetches, even if it's looking for something that's only 16 bits
wide (as these are prefetches, the CPU doesn't yet know the width it'll be
looking for).  At least with the cache on, I've never found a case in which 
our A2620 board runs slower than or even as slow as the 68000, even without 32
bit wide memory.  

> Anyway, it takes no extra hardware. 

Well, interfacing the 68020 to a 68000 bus is still non-trivial, and right
where you'd expect design differences to show up.  The 68020 and 68000 do
byte-wide addressing differently, so you have to create 68000 compatible
/UDS and /LDS signals.  The 68020 doesn't have built-in support for the
6800/6502 compatible peripheral interface as in the 68000, so that must
be emulated too.  The 68020 has bus clocks that come out at different times
than the 68000, so you've got to correct for this too in order to ensure
compatibility.  And you probably want to run your 68020 faster, at least
in an Amiga system, than the 68000, so that introduces another level of
complexity.

> --Chuck McManis
> uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
> These opinions are my own and no one elses, but you knew that didn't you.
-- 
Dave Haynie  "The B2000 Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {ihnp4|uunet|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
		"I can't relax, 'cause I'm a Boinger!"