home .. forth .. misc mail list archive ..

micro processor vs controller


Dear MISC readers:
 
>From: Eddie Matejowsky <e.matejowsky@qut.edu.au>

>I'm not sure, you could be right about that (or not) I don't know what it
>can do. I haven't (obviously) studied the f21 for quite a while. The C11
>has 7 counter timer pins, I've been know to use all of them on occasion.
>While you could be right (I don't have time to check right now) I think the
>timer interrupt and an i/o port could do the same but the analog processor
>won't.

F21c has three interrupt sources, video, analog, network.  The RTC is
a register that is incremented on each transition of Ci (clock input)
it is not an interrupt source.  On the latest chip diagram you will
notice that Ci goes to four locations, the rtc register, the video,
analog, and network coprocessors.  You will notice that the analog
and serial coprocessor clocks are labeled count down clocks as they
can run on frequency counted down from the main clock.  The video
clock is not a count down nor is the rtc.  The video, analog, and
network coprocessors also have DMA units for reading and writing
data to memory timed by the clocks.  The video coprocessor generates
a cpu interrupt when it executes an interrupt instruction from its
instruction stream.  The network coprocessor generates an interrupt
at the end of an incoming dma message.  The analog coprocessor 
generates an interrrupt when it reaches the end of the assigned buffer.
The rtc does not have a count down register, a dma unit, or a CPU
interrupt generator.

Regularly timed interrupts can be provided, but they won't come from
the RTC circuit.

>Why don't they call all micro-processors micro-controllers? I don't know
>the correct definition. To me the F21 needs to much around it to make it
>go, to call it that. Microcontrollers usually have a lot more on chip
>peripherals but I'm happy to substitute software for silicon given we've
>got the mips to do it. I think the chip count would have to come down -
>maybe a bit of ram on board and an external flash rom would do. Micros that
>can run in single chip mode are pretty cheap, I don't think we'll compete
>while we're using 20 bit external memories. Maybe we'll never match the low
>end of the micro market on price, but you never know.
>Eddie,
>Edward Matejowsky - Queensland University of Technology (Brisbane, Australia)
>personal home page at http://www.ozemail.com.au/~eddiema/index.html

The low end of the microcontroller market is very low.  They are very
cheap, even going into "give away" products.  But you may be limited to
a few K 4 or 8 bit instructions per second.

Microcontrollers usually have on chip RAM and ROM (or EPROM) in addition
to on chip i/o hardware to minimize chip count in single chip solutions.
As a result of using on chip hardware for I/O and RAM and ROM they
usually have pretty low performance CPU.  They are often rated at 100kip
instead of the 100mip that we see today when you use lots of on chip
transitors for just the cpu.

F21 is not really a microcontroller because it does not have any on chip
RAM and 32 words of ROM is not enough for a complete application.

F21 is an unusual microprocessor in that it has some ROM and on chip
I/O coprocessors to reduced system chip count.  The performance in the
CPU is reduced by using transistors for I/O devices that could be used
in other ways by the CPU.  However the 100mip maximum in DRAM, 200mip
maximum in SRAM and 300 in ROM is closer to the high end CPU than it
is to most microcontroller.

Microcontrollers often have timers that generate interrupts and can
thus be used with the CPU and on chip A/D D/A or parallel ports to
get regularly timed I/O.  The CPU speed and number of instructions
in the interrupt service routine will determine the maximum sample
rates. F21 on the other hand has semi-autonomous I/O coprocessors
on chip.  These devices do I/O with regular timing based on the
input clock and may operate at times with no CPU intervention.
If the interrupt service routine for an A/D takes only 10 instructions
this will limit it to a 10K sample rate for a 100kip processor.  This
is quite different than just connecting a 10M clock and turning
on a coprocessor to do 10M samples per second.

Many microcontroller applications still require external RAM and ROM.
The bus width will vary from 4 to 32 bits in most cases so the use
of 20 bit external memory is still in the microcontroller price range.

When I look at a multiprocessor made of microcontrollers running a
distributed expert system and controlling a linear accelerator I see
something closely matching the F21 idea.  I think wouldn't it be
nice to get 100 times more memory per node, 1000 times more cpu power,
and 1000 times faster network operation at the same cost by using
F21 instead of a conventional microcontroller.  In this sense
F21 can act as a microcontroller.

When I look at a single chip solution using a microcontroller I don't
see much of a match to F21.  With F21 you need external memory.  You
could do some things with only a single 8 bit ROM, but you could not
make use of the I/O coprocessors that use 20 bit memory.

When conventional microcontrollers do not provide sufficient sampling
speed or processing power people use microprocessors with external
memory and external I/O hardware.  The upper limit is quite high,
but so may be the price (it is hard to beat a $3000 microprocessor on raw
computation).  After you have added memory and a memory controller and
video I/O hardware and analog I/O hardware and network I/O hardware and
RTC and parallel port to the design it is more expensive still and bigger
and draws more power.  I often hear that it is impossible to beat a
PC (with video card, sound card, and network card) in any price
performance comparison.  But the idea behind F21 is that if you
keep it small and put almost everything except memory on one small
and inexpensive chip it will be able to compete.

I also often hear that a big advantage of the PC board approach to
embedded computing is that you have access to most the desktop software
in the world.  While this is an advantage if you pick the software
carefully it may also be a problem.  Most people are only familiar
with software designed to support almost every possible combination
of different I/O hardware that you can come up with by just plugging
any combinations of boards together.  In my opinion it is impossible
for such software to be bug free.  (we all have lots of stories about
what happened when some peripheral hardware changed)  Also the desktop
software may have never been designed for real time applications and
people may find that their Pentium based PC solution using desktop
software will not perform as well as that cheap microcontroller
solution where the software was carefully designed for real time.

This is one of the other ideas behind F21.  I have ported software
many times whenever moving to a new machine or changing I/O hardware.
On F21 the on chip hardware will be fixed which means that they
system software does not have to support 1000 different brands of
video cards, sound cards and network cards.

Bill Gates thinks that your toaster should be running windows.  While
a Pentium may be able to actually cook the toast for you a PC running
Windows is going to be a pretty expensive toaster controller.  F21
was not designed for your average toaster, but it would be a better
choice than a Pentium PC running MS Windows. :-)

F21 is an unusual chip, and it combines some ideas from microcontrollers
with some ideas from workstation farms.  I don't consider it to be
a microcontroller however it could be used to replace them in some
applications.



Jeff Fox 
jfox@dnai.com    Ultra Technology Inc. 
http://www.dnai.com/~jfox/