Path: utzoo!utgpu!attcan!uunet!munnari!otc!metro!basser!natmlab!dmsadel!augean!idall
From: idall@augean.OZ (Ian Dall)
Newsgroups: comp.arch
Subject: Re: Dedicated Processors (was Sw vs. Hw BitBlit (CharBLT))
Message-ID: <374@augean.OZ>
Date: 16 Aug 88 04:40:35 GMT
References: <399@ma.diab.se> <76700044@p.cs.uiuc.edu> <1843@gofast.camcon.co.uk> <418@ma.diab.se>
Reply-To: idall@augean.OZ (Ian Dall)
Organization: Engineering Faculty, University of Adelaide, Australia
Lines: 48


There are two guite different senses in which one can have a dedicated
processor. A processor can be dedicated (specialised would be a better
word) by its architecture or it can be dedicated in its function.
There is nothing stopping one implimenting a functionally dedicated
processor using a PU (the C has been dropped!) with a general purpose
architecture if that is more cost effective.

If all else was equal it would probably be better to use general
purpose PUs in a multi CPU configuration than to have one CPU with
dedicated PUs dedicated to other functions. However, all else is
rarely equal! A multi CPU system is seriously complicated by the
problems of avoiding a memory access bottleneck.

Functionally dedicated PUs and a single CPU allows for a much cleaner
design than a multi CPU system. In the former case, both the hardware
and the software are more likely to work!

To take an extreme case would you REALLY want to do without the micro
in an ordinary dumb terminal and have the CPU do its work? Of course
not! The reason it makes sense to put a dedicated micro in a terminal
has little to do with making the best use of the total processing
power of the total system and a lot to do with minimising the cost of
communication. It is cheap and convenient to partition the system into
chunks with a relatively slow (RS232) link between them.

Whether that makes sense for graphics is another matter. I suspect it
depends on your work load. If your programs need to manipulate
bit maps directly then you probably want a wide bandwidth between your
CPU and the graphics memory (and maybe you might as well use multiple
CPUs). But if your programs can describe its display in relatively
high level graphics objects, such as lines, polygons etc. etc. Then
it makes sense to partition your system with a dedicated graphics
processor and a CPU communicating via a relatively slow communication
link like ethernet. I think that most programs in the first
category should be rewritten to fit into the second category.

Whether you make the dedicated processor have a special architecture
or not is a matter of economics and performance (isn't everything?).
If there is only ever going to be a small market for the dedicated
processor then you might well use an off the shelf general purpose
micro. In the case of the graphics processor, however, the market
seems enormous and well worth developing a specialised architecture
for (and TI, NS and Intel seem to agree!).
-- 
 Ian Dall           "In any argument there will be people on your
                     side who you wish were on the other side."
idall@augean.oz