jump to navigation

The Microcontroller, a Mutable Definition February 24, 2008

Posted by Michele Fadda in FPGA cores, editorial, microcontrollers, technology.
Tags: , , , , , , , ,
trackback

A microcontroller is a LSI (large scale integrated) circuit containing all or most of the needed peripherals and memory, plus a Central Processing Unit, in an integrated package.

Well, this at least was, more or less the definition when it all started, around the 80-s. Nowadays that definition needs to be revised under at least two aspects: a) some modern microcontroller peripherals now are not digital b) there exist programmable logic powerful enough to implement entire subsystems, including the “microcontroller” part in a programmable array of logic. The latter are now powerful enough to offer reliably a 32 bit unit capable of running some sort of cut down Linux distribution, very slowly (50 MHz or little more are a realistic target for cheap FPGAs).

Microcontrollers containing analog circuitry are often termed “mixed signal”. They are indeed processing units, but they can do part of the work in the analog domain, e.g.: including analog filters, converters. Most of the so called “mixed signals” are just ordinary microcontrollers with an analog converter or little else. Some are quite extraordinary pieces of silicon. Among these I would place the Cypress PSOC, which is actually an analog/digital matrix plus an ordinary (and not too porful, for the time being) 8 bit microcontroller, all packaged in one chip.

The second category is the one which promises more flexibility and is potentially the most rewarding in the future.

Computer architectures are all based on variations of a common idea: the Neumann Machine, some with very slight modifications duplicating memory and peripheral communications path, the so called “Harvard architecture” (to which belong most microcontrollers including the venerable 8051). If you want to speed up things, you can introduce cache memories and pipelines, or you can try to have multiple cores, adding parallelism.

However, their main weak point, from a computational point of view is the fact that processing remains inherently sequential: the fetch and execute paradigm.

Both FPGA based cores and Mixed Analog have the potential to relieve the processing unit from some tasks, which can be ”hard-wired” (e.g.: analog filtering done in analog has a ZERO computational cost on the processing unit). FPGA cores, could, at least in theory implement entire algorithms in hardware (whether this is an “easily achieved target” is a totally different question).

As everything in a technology/engineering related field, nothing of this is optimal and easy, unless you believe 100% of the propaganda marketing communication which silicon vendors use to advertise their products. E.g. FPGA vendors try to quote as “dsp processing power” of their FPGAs the sheer multiplication result of clock frequency by the number of hardware multipliers on a chip. This leads to expectation which are exactly as reliable as the “digital gates” count they used to provide (which doesn’t make too much sense since they all use LUTs (look up tables) rather than “gates”).

Anyway, for all their limitations, these technologies are the only way to achieve the following results:

  • designing entire systems, rather rapidly, with limited resources, at an affordable cost
  • designing something which can be (potentially) reconfigure its own hardware on its own
  • trying to break Amdhal’s law
  • building your own supercomputer which runs at normal environment temperature and is small enough to fit on a desktop (which is precisely how they are using this tecnology in places like Nasa and Cray)

Why aren’t these approaches used more? Only one word: ignorance, fear, uncertainty. They are imperfect technologies, but they have a lot to offer. Start to learn today or risk be left behind. They are an essential part in the logical evolution of things like MIT’s FAB concept.

There is also another fundamental aspect: this technology is FUN, is an exciting new way of making things which you could not possibly think to do at home just a few years ago. Now this is not the future, this is here and now. 

How this tecnology is going to affect you if you are a common user and not a hardware designer? Well, expect to see electronic devices doing more with less, expect to see more creativity among designers, expect to see thing you did not expect to consider possible, as usual :-)

FwLab Professional Consulting on Embedded Systems

Comments»

No comments yet — be the first.