[comp.sys.amiga.hardware] Blitter Speed

daglem@solan7.solan.unit.no (Dag Lem) (10/23/90)

(Re)Hi hardware gurus!
Sorry if you've read this before, but I've got no ANSWERS.

I have two questions on blitter speed, please answer them if you can:

Would it be theoretically possible to make new custom chips that run at, say, 28MHz cycles, and to make the chip-RAM follow this speed? 

Could the pipelining in the blitter be improved to make it blit one word in two cycles, instead of todays four cycles (simple blits)? 

I ask these questions because I've written routines in assembly using the blitter to draw filled polygons, and it P*SSED ME OFF to see the blitter using one frame just to clear four bitplanes. A 68040 running at 7MHz would do this just as fast, no? Heck maybe even the 68030 in the Amiga 3000 can compete with the blitter, having 32 bit access to chip memory.

Seems to me the blitter is getting old. 
If the blitter could run at 28MHz, 2 cycles per word (8 times faster), we could all forget about other computers. Is it possible???? Anybody??? Dave Haynie?????

PLEASE!!!!!!

-- 
    __                /                        | Shorter of breath
   /  \  __   __     /   ___  _ _              | and one day closer to death.
  /    |/  / /  /   /   /__/ / / /             |   -Roger Waters, Time 
 /____/ \_/|/\_/   /____\___/ /  \__________   |    (The Dark Side of The Moon) 
______________/

daveh@cbmvax.commodore.com (Dave Haynie) (10/23/90)

In article <1990Oct22.195001.28782@idt.unit.no> daglem@solan7.solan.unit.no (Dag Lem) writes:

>Would it be theoretically possible to make new custom chips that run at, say, 
>28MHz cycles, and to make the chip-RAM follow this speed? 

Here we go again...  What, exactly, do you mean by "28MHz speed".  One cycle
every clock period?  Every two clock periods, like the 68030?  Every three,
like the 68020?  Every four, like the 68000?  Anyway, the current Agnus 
technology is going about as fast as it will, thanks to NMOS.  Of course,
Commodore and the rest of the world are doing designs in CMOS these days, which
are larger for the same design rules, but run cool enough to go fast and get
large.  Theoretically, a redesigned Agnus chip could run faster.

>Could the pipelining in the blitter be improved to make it blit one word in 
>two cycles, instead of todays four cycles (simple blits)? 

DRAM can't easily support that kind of speed.  Blits take place between 
arbitrary locations in memory.  One memory cycle every clock cycle would 
require memory with a 35ns cycle time.  The only thing in that ballpark is
static RAM, which is way expensive.  If you run some kind of "burst" cycle,
like the 68030, you might manage one long cycle followed by a number of 35ns
cycles that take advantage of nybble, page mode, or static column DRAM.  In
a sense, any speedup trick you can think of that's used by CPUs might also
be adapted to the Amiga chips.  But there are always tradeoffs in complexity
vs. performance.  And consider that clocking isn't the only way to improve
bandwidth -- doubling the bus width is just as good as doubling the clock 
speed for any CPU-type device.

>I ask these questions because I've written routines in assembly using the 
>blitter to draw filled polygons, and it P*SSED ME OFF to see the blitter 
>using one frame just to clear four bitplanes. A 68040 running at 7MHz would 
>do this just as fast, no? Heck maybe even the 68030 in the Amiga 3000 can 
>compete with the blitter, having 32 bit access to chip memory.

As long as you don't have to worry about bit alignments, the 68030 in the
A3000 will probably outpace the blitter.  Clearing a bitplane is skewed far
in the 68030's direction, since the only bit-alignment conditions are at the
bitmap boundaries.  Even when you're dealing with a true non-byte aligned
move, like an arbitrary blit of an image, the 68030 might do it faster, 
especially on the A3000 where the Chip RAM is 32 bits wide.  That's not a 
great surprise, really -- the 68030 is a good, fast, and somewhat expensive
general purpose CPU.  The main points of the blitter are [a] to move bitmaps
around quickly for a very small amount of money and [b] to do this IN PARALLEL
with the host CPU.  If all you're concerned about is a screen clear, a 68030
may do it considerably faster.  But on an Amiga you're never only concerned
with graphics throughput, you're concerned with total system throughput.  Also,
you don't have 68030s yet cheap enough to dump into an A500, whereas the 
blitter functions are essentially free (eg, you need SOME kind of answer to
the basic A500 graphics, floppy, serial, etc. needs, and the Amiga chipset at
this point fits the system better and costs less than alternatives without any
special functions).

>If the blitter could run at 28MHz, 2 cycles per word (8 times faster), we 
>could all forget about other computers. 

What other computers?  Seriously, no matter how you slice it, 

	blitter + 68030 > 68030

>Is it possible???? Anybody??? Dave Haynie?????

What, me again!?  I'm not the chip designer here.  And you don't just crank
out full custom silicon because "it would be nice", there are lots of issues.
And in general, any good design must be carefully architected to fit what
you're plugging it in to.  Simply cranking up a clock rate, whether it's custom
chip or CPU, may sound like a great idea.  But if that 8 times performance
boot costs you 80 times the money, it's probably a bad idea.  You may find an
alternate architecture that gives you 8 times the performance for 8 times
the money, or 4 times the performance for the same cost.  There is NEVER one
simple answer.
-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	Standing on the shoulders of giants leaves me cold	-REM

U3364521@ucsvc.ucs.unimelb.edu.au (Lou Cavallo) (10/24/90)

G'day,

this is a (small) bandwidth waster. Skip this message now if you want.

Dave Haynie writes:

DL> In article <1990Oct22.195001.28782@idt.unit.no> daglem@solan7.solan.unit.no
DL> (Dag Lem) writes: 
 
DL> Would it be theoretically possible to make new custom chips that run at,
DL> say, 28MHz cycles, and to make the chip-RAM follow this speed? 

Dave> Here we go again...

Yep.

Dave> What, me again!?  I'm not the chip designer here.

Actually Dave in a philosophical way that sounds like "don't shoot me I'm the
just the piano man." And with the amount of heat hitting the net recently ala
"woe is the Amiga" it seems the appropriate defence.

Dave> There is NEVER one simple answer.

This is why I'm following up. I like this best of all your quotes! Great line.

BTW, for Dave and others in case its not obivous, I'm supporting Dave here. I
kind of felt/still_feel he's an over_calledon/under_appreciated_by_some Amiga
kind of guy.

By the way Dave if I've misread you're reply here I apologise.

Oh and yeah, this isn't a flame IMHO of the original poster. It's just a sort
of informal remark that this bloke (good connotations Oz style) works hard to
do all he does. I think we call on him a lot.

..............................................................
                                                              |
                                                              V
Dave> Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
Dave> {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
Dave> 	Standing on the shoulders of giants leaves me cold	-REM

daglem@solan6.solan.unit.no (Dag Lem) (10/25/90)

In article <15343@cbmvax.commodore.com> you write:

|> Here we go again...  What, exactly, do you mean by "28MHz speed".  One cycle
|> every clock period?  Every two clock periods, like the 68030?  Every three,

OK, so I'm a total ignorant when it comes to hardware, sorry... :o)

|> What, me again!?  I'm not the chip designer here.  And you don't just crank
|> out full custom silicon because "it would be nice", there are lots of issues.
|> And in general, any good design must be carefully architected to fit what
|> you're plugging it in to.  Simply cranking up a clock rate, whether it's custom
|> chip or CPU, may sound like a great idea.  But if that 8 times performance
|> boot costs you 80 times the money, it's probably a bad idea.  You may find an
|> alternate architecture that gives you 8 times the performance for 8 times
|> the money, or 4 times the performance for the same cost.  There is NEVER one
|> simple answer.

What IS the not so simple answer, then? Don't tell me Commodore doesn't look upon the custom chips speed as a problem. I certainly do. I didn't mean to flame Commodore (or you) in my article, I just think it's kind of stupid to have a custom graphics chip that performs worse than a general purpose CPU (68030). Well that's my opinion... I LOVE graphics animations, and I want mine to be FAST. I'd just like the Amiga to blow away the competition completely, OK? :-) Well I guess people would buy Macs and other









 inferior hardware/software combinations anyway. Shame on them!

Sorry for being such a pain in the ***.
-- 
    __                /                       |> Shorter of breath
   /  \  __   __     /   ___  _ _             |> and one day closer to death.
  /    |/  / /  /   /   /__/ / / /            |>   -Roger Waters, Time 
 /____/ \_/|/\_/   /____\___/ /  \__________  |>    (Dark Side of The Moon) 
______________/

dlt@locus.com (Dan Taylor) (10/25/90)

daveh@cbmvax.commodore.com (Dave Haynie) writes:

>In article <1990Oct22.195001.28782@idt.unit.no> daglem@solan7.solan.unit.no (Dag Lem) writes:

>>Would it be theoretically possible to make new custom chips that run at, say, 
>>28MHz cycles, and to make the chip-RAM follow this speed? 

>Here we go again...  What, exactly, do you mean by "28MHz speed".  One cycle
>every clock period?  Every two clock periods, like the 68030?  Every three,
>like the 68020?  Every four, like the 68000?

I'll bite.  How about using burst access to 32-bit ram interleaved with
the 680[34]0 burst cycles?  So, we get 4 accesses in 4 (or 5) clocks, and
we can use at least a 28+ MHz clock, for PAL/NTSC compatibility.  Although,
as long as raster fetch DMA is faster than the desired bit rate, it doesn't
HAVE to be synchronous.  Anyway, with a doubled bus width, and 4 times as
many accesses per second (7.19 MHz 2 clocks/access vs. 28.8 MHz 8 clocks/
4 accesses - both sharing with the processor 50%), we could easily support
additional bit-planes, increased coprocessor access, or both.

>DRAM can't easily support that kind of speed

See above.  We can access RAM for DMA as fast as the CPU, only half as
often, if the CPU is also accessing chip RAM just then.  Remember, some
CHIP items, like the floppies, won't require proportionally more access,
so their extra slots would be free.

>Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
>   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
>	Standing on the shoulders of giants leaves me cold	-REM

I WANT those cycles.  Please, please, make me an Amiga with a 68040,
32-bit interleaved burst access CHIP RAM (run the SCSI that way, too),
so I can have 1280x960, 4-plane for engineering/scientific duties,
720x480 (NTSC) interlaced 24-plane (or maybe a 12-plane super-HAM) for
video work, and 640x400 non-interlaced 8-plane for SUPER games (excellent
blitter access).  Yes, I'd pay the extra $1000 (+monitor) over an A3000.
How do I come up with this number? FAST RAM vs CHIP RAM on the A3000,
68040 2nd quarter 1991 vs 68030 3rd quarter 1990, less silicon in the
custom chip set, and HIGHER sales projections, 'specially with SYS V.4.
-- 

* Dan Taylor    * The opinions expressed are my own, and in no way *
* dlt@locus.com * reflect those of Locus Computing Corporation.    *

daveh@cbmvax.commodore.com (Dave Haynie) (11/01/90)

In article <1990Oct24.182854.4530@idt.unit.no> daglem@solan6.solan.unit.no (Dag Lem) writes:
>In article <15343@cbmvax.commodore.com> you write:

>>There is NEVER one simple answer.

>What IS the not so simple answer, then? 

Some day, you'll know.  Not today.

>Don't tell me Commodore doesn't look upon the custom chips speed as a problem.

Commodore looks upon total system performance as either adequate or inadequate
for a particular job.  For the supported resolutions and things being done,
the Amiga graphics display subsystem is more than plenty fast.

>I certainly do. 

You probably spend too much time either reading spec sheets or in an arcade.
Certainly additional speed is A Very Good Thing, but you should realize that
in memory access, video display, and hard disk, the Amiga 3000 is as fast or
faster than just about every other 25MHz PC on the market.

>I didn't mean to flame Commodore (or you) in my article, I just think it's 
>kind of stupid to have a custom graphics chip that performs worse than a 
>general purpose CPU (68030). 

Most other PCs on the market have no graphics chip at all.  The only other
one I know of with a graphics Coprocessor available is the Mac -- for $2000,
in addition to the cost of a NuBus based Mac II, you can have a card with a
graphics accelerator (in this case, a general purpose CPU, the AMD29000)
that's faster than the host processor.  If you don't get that, the 68030's
access to a NuBus based video display device is SLOWER than the A3000's 68030
access to Chip RAM.  And forget about VGA; the average CPU to VGA memory
access is in the 10-100 wait state range, and that's only an 8 bit access
(even so-called 16 bit VGA cards tend to access video memory 8 bits at a
time, the "16 bit" is mainly just "AT" vs. "XT" bus speed).

And the 3000 does have the blitter; while you may be able to do things faster 
on the 68030 than the blitter, you can't possibly do things faster than blitter 
and 68030 running in parallel on a comparable 68030 system with no blitter.  
In other words, some graphics support is better than no graphics support.

>Well that's my opinion... I LOVE graphics animations, 

You're just spoiled.  You don't get good realtime animation on most PC level
systems.

>and I want mine to be FAST. I'd just like the Amiga to blow away the 
>competition completely, OK? :-) Well I guess people would buy Macs and other
>inferior hardware/software combinations anyway. Shame on them!

People often buy a computer that does [a] what they expect a computer to do
and [b] what they need a computer to do.  If you don't expect a computer to
run animations in real time, you don't get disappointed doing animation on
a VGA based PC.  Until you see something better.

Incidently, most of the speed you get out of ANIM files is CPU based, not
blitter based.  ANIMs tend to load into Fast memory, being decompressed into
Chip by the CPU to a double buffered display to give you nice, clean looking
animation.  It's possible to do some of the same kind of animation on a Mac.
The blitter speed is what's responsible for things moving within chip memory,
like the speed of your window moving, menus dropping, or bobs dashing about
in a video game.

-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	Standing on the shoulders of giants leaves me cold	-REM

daglem@solan.unit.no (Dag Lem) (11/02/90)

In article <15489@cbmvax.commodore.com>, daveh@cbmvax.commodore.com (Dave Haynie) writes:
|> Incidently, most of the speed you get out of ANIM files is CPU based, not
|> blitter based.  ANIMs tend to load into Fast memory, being decompressed into
|> Chip by the CPU to a double buffered display to give you nice, clean looking
|> animation.  It's possible to do some of the same kind of animation on a Mac.
|> The blitter speed is what's responsible for things moving within chip memory,
|> like the speed of your window moving, menus dropping, or bobs dashing about
|> in a video game.

I understand I look like a total jerk to you. ANIM files? In the original article I said I was writing assembler routines using the blitter to draw filled polygons, and I was not lying, either. And yes I use double buffering, too.
3D rotating solid objects whizz around on my screen. But I'd like them to go faster!

Anyway, I'll stop whining about blitter speed. I tend to compare the Amiga to more expensive hardware (e.g. Dec 2100), because that's what I use every day at the university. I know this is wrong, the Amiga is in a different league. It's just that it's such a nice little machine, so sometimes I forget.
Forgive me!
|> -- 
|> Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
|>    {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
|> 	Standing on the shoulders of giants leaves me cold	-REM

-- 
    __                /                       |> He stopped posting
   /  \  __   __     /   ___  _ _             |> stupid letters
  /    |/  / /  /   /   /__/ / / /            |> And everyone
 /____/ \_/|/\_/   /____\___/ /  \__________  |> was happy 
______________/