[comp.sys.mac] Bit Blitters

mo@seismo.CSS.GOV (Mike O'Dell) (03/10/87)

The only problem with bit blitters is that none of 
the chips available actually do what you want in
all the cases.  Tom Duff tried to use the
old SUN blackk/white hardware assist to do the
equivalent of a Blit and discovered it took
over 30 times as much code and ran much slower
to really try and use the beast.  A vanilla 68K
can blit faster than any currently known hardware
chip.  Now that Apple has a Cray, maybe they
will design some hardware which actually does what
the software types need, but for now, it doesn't
exist.  Besides, around Bell Labs there are stories
of a new Son-of-Blit based on a 68020 which 
can blit in color (something almost noone understands,
much less implements in a useful, intuitive way)
and greyscale at a speed which any custom chip
in any technology could envy.

So, who keeps
perpetuaing this myth that you gotta have
hardware or it ain't chic??

	-Mike O'Dell

hadeishi@husc7.HARVARD.EDU (Mitsuharu Hadeishi) (03/10/87)

In <43140@beno.seismo.CSS.GOV> mo@seismo.CSS.GOV (Mike O'Dell) writes:
>The only problem with bit blitters is that none of 
>the chips available actually do what you want in
>all the cases.  Tom Duff tried to use the
>old SUN blackk/white hardware assist to do the
>equivalent of a Blit and discovered it took
>over 30 times as much code and ran much slower
>to really try and use the beast.  A vanilla 68K
>can blit faster than any currently known hardware
>chip.

	No no no no no.  A vanilla 68K is a pretty poor blitter;
even the Sun blitters can easily outstrip a 68K.  You need at least
a 68010 to get reasonable performance on memory moves (the 68010
in tight loop mode is reasonably fast.)  However, the series of
recently announced graphics powerhouses such as the TI graphics processor
blow away a 68000 without blinking an eye.  Even the Atari blitter
in reported to speed graphics operations on the ST by a factor of ten
(probably highly exaggerated, but a factor of two or three would not
be surprising.)  The Amiga custom chips, three of them, are a full-blown
graphics/sound/IO coprocessor which achieve blit speeds at or exceeding
that of a 68020 even on a 7 Mhz bus.  And they of course do all that
in color.  All those blit calls, by the way, are easily accessed through
the Amiga relocatable system libraries.

>So, who keeps
>perpetuaing this myth that you gotta have
>hardware or it ain't chic??

	Me.

					-Mitsu

ali@rocky.UUCP (03/10/87)

In article <43140@beno.seismo.CSS.GOV> mo@seismo.CSS.GOV (Mike O'Dell) writes:
>The only problem with bit blitters is that none of 
>the chips available actually do what you want in
>all the cases.   ... A vanilla 68K
>can blit faster than any currently known hardware
>chip.

Hmm, a vanilla Amiga (without the 68020 board), containing a vanilla
68K running at 7.2 MHz, can run the game of Life, written in C, at 1.2
Million cells a second. (20 generations a second on a 320 by 190 lo-res 
screen). Just recently someone posted a "super-fast" life game 
to comp.sys.atari.st, written in optimized assembler, and it can crank 
out 400,000 cells/sec. And the atari st is probably the fastest (in terms
on raw computing) 68K micro around ---- Its clock is 8 Mhz (vs 7.2 Mhz for
the Amiga) and it has no multitasking overhead (like the few percent, in the 
Amiga)... Now how can the Amiga do it 3 times faster? The blitter, of course.
Amiga has a 3 source, 1 destination, multiple shift, multiple modulus
blitter that can do almost anything, with the appropriate programming. I 
would never have thought you could run Life on a blitter, but, hey, it runs,
and runs much faster!

One more thing --- Because the game of Life is very blitter oriented on the 
Amiga, it leaves the 68000 free most of the time. Thus I can run my C compiler
concurrently with the game of Life and both run fine, with minimal slowdown...

Ali Ozer, ali@score.stanford.edu,  decwrl!rocky.stanford.edu!ali

frankb@crash.UUCP (03/10/87)

> A vanilla 68K can blit faster than any currently known hardware chip.

I think the boys at Texas Instruments would be interested in hearing that
assertion.  If true, it would mean that all the excitement about the
TMS 34010 is for naught!  Why use a 34010 when you can use a 68000?

> ... there are stories of a new Son-of-Blit based on a 68020 which can
> blit in color (something almost no one understands, much less implements
> in a useful, intuitive way) and greyscale at a speed which any custom
> chip in any technology could envy.

Again, I'm sure TI would be interested in hearing this, since their
TMS 34010 blits color in interesting and useful ways.  I'm sure Apple
would also be interested in this, since they based the transfer modes
of the new Quickdraw's color CopyBits on the transfer modes native to the
34010--and have stated in documentation that they are working on a
graphics accelerator card based on the 34010.  Also, Levco has been
publicly noted as working on adapting the 34010 to the Macintosh.

___________________________________________________________________________
                                 Frank Boosman | "You fool, I'll take your
                        Silicon Beach Software | soul anyway!  Surrender to
ARPA/UUCP: {sdcsvax, nosc}!crash!pnet01!frankb | my awesome power!" -- Jon
                            MCI Mail: fboosman | Lovitz [as Satan],
                                   BIX: frankb | Saturday Night Live

ali@rocky.UUCP (03/10/87)

In article <43140@beno.seismo.CSS.GOV> mo@seismo.CSS.GOV (Mike O'Dell) writes:
>The only problem with bit blitters is that none of 
>the chips available actually do what you want in
>all the cases.   ... A vanilla 68K
>can blit faster than any currently known hardware
>chip.

One more important point about blitters. A blitter is essentially another
processor, except it can do various things better than a CPU 
(for example, area fills, moves, boolean operations on bit planes,
etc). But obviously there are some things it can't do (such as multiply,
divide, various complicated addressing modes, etc). Thus a blitter and
a CPU live together real well: They are good at different tasks, and, with
a properly designed system (hardware and software), they should each
work on the things they are good at without bothering the other. 

Thus you can expect a performance boost out of your machine even if you
attach a wimpy blitter (ie, a blitter not better (in terms of speed at
which it can move/fill memory, etc) than your CPU). Otherwise, you have a
wonderful $7000 (you need a keyboard and a monitor, no?) system
with a 68020 who spends most of its life redrawing windows. On the
Amiga, while the 68000 is working on a CPU intensive program (such as
compiling, TeXing, etc), I can go ahead and move windows around, resize them,
click and view menu items, etc, without interrupting the computations.
This is because the blitter is responsible for doing most of the 
windowing stuff, and except for the few clock cycles the 68000 spends
on instructing the blitter what to do, it can go ahead with what it was
doing.

Sorry for laboring the point, but blitters are far more important and
capable than you seem to think they are. And they are a necessity in
any system destined for graphics work.

Ali Ozer, ali@rocky.stanford.edu

kearns@tom.columbia.edu (Steve Kearns) (03/11/87)

Just hold your breath.  What with the TI and Intel graphics chips 
recently announced, I dont think we will have to wait long to see
video cards using these chips.  Also witness a previous letter
in which someone reported a company that had used the quickdraw
bottleneck to implement quickdraw with the TI chip.  

-steve

jdm@gssc.UUCP (03/11/87)

In article <43140@beno.seismo.CSS.GOV> mo@seismo.CSS.GOV (Mike O'Dell) writes:
>The only problem with bit blitters is that none of the chips available i
>actually do what you want in all the cases.....A vanilla 68K can blit faster 
>than any currently known hardware chip.  Now that Apple has a Cray, maybe 
>they will design some hardware which actually does what the software types 
>need, but for now, it doesn't exist.....
>
>So, who keeps perpetuaing this myth that you gotta have hardware or it ain't 
>chic??
>
>	-Mike O'Dell

um, mike, i disagree.  on several points.

#1.  There are some very good graphics chips available today.  My favorite is
the TI 34010, which is really a graphics CPU, rather than just a graphics 
turbocharger.  It has it's own assembler, etc. and is as programmable as any
well-rounded microprocessor.

It handles ALL graphics - not just bitblts - in color, and is VERY fast.  TI
sells the chip as well as a development board for the PC.  The chip can stand
alone on a display card with oodles of memory, as opposed to a "graphics chip"
such as the i80786, which typically requires external processor support of
some kind.

#2.  A stock 68K - even running at, say, 10Mhz no-wait - is NOT very fast as
a "graphics processor."  I know that "not very fast" is a relative term, but
I have worked with the Bell Labs bitblt code (originally by Rob Pike) and have
written my own, using self-modifying code, etc. such that for a monochrome
device, the inner blt loop was optimally less than 14 words (!).  Believe me,
it is not HALF as fast as the aforementioned 34010.  Sorry.  Admit it - scroll
speed on the Mac is not as fast as say, a character-generator based terminal,
is it?  So there IS room for improvement.

#3.  The point of graphics accelerators is to off-load the main CPU so it can
be doing "more important" things.  The 'ole "two heads are better than one"
syndrome.  This becomes especially important in multi-tasking (read A/UX)
environments. 

Ideally, tasks are distributed among specialized hardware that can expedite 
them, but in a real-world situation, cost trade-offs are usually involved, 
so the CPU is forced to do the dirty work because "slaves" are too expensive.

-- jdm
-- 
in real life:  John D. Miller, Graphic Software Systems, Inc., Beaverton OR
...!{tektronix!verdix}!sequent!gssc!jdm                      (503) 641-2200