I. What is a Microcontroller?
A controller is used to control (makes sense!) some process or aspect of the environment. A typical microcontroller application is the monitoring of my house. As the temperature rises, the controller causes the windows to open. If the temperature goes above a certain threshold, the air conditioner is activated. If the system detects my mother-in-law approaching, the doors are locked and the windows barred. In addition, upon detecting that my computer is turned on, the stereo turns on at a deafening volume. At one time, controllers were built exclusively from logic components, and were usually large, heavy boxes (before this, they were even bigger, more complex analog monstrosities). Later on, microprocessors were used and the entire controller could fit on a small circuit board. This is still common - you can find many [good] controllers powered by one of the many common microprocessors (including Zilog Z80, Intel 8088, Motorola 6809, and others). As the process of miniaturization continued, all of the components needed for a controller were built right onto one chip. A one chip computer, or microcontroller was born. A microcontroller is a highly integrated chip which includes, on one chip, all or most of the parts needed for a controller. The microcontroller could be called a "one-chip solution". It typically includes: CPU (central processing unit) RAM (Random Access Memory) EPROM/PROM/ROM (Erasable Programmable Read Only Memory) I/O (input/output) - serial and parallel timers interrupt controller By only including the features specific to the task (control), cost is relatively low. A typical microcontroller has bit manipulation instructions, easy and direct access to I/O (input/output), and quick and efficient interrupt processing. Microcontrollers are a "one-chip solution" which drastically reduces parts count and design costs.
II. What is an embedded controller?
An embedded controller is a controller that is embedded in a greater system. A rigid definition is difficult if not impossible to formulate, since the usual response is "most embedded controllers are...". The problem here is "most". We can't seem to shake that word from the definition. No matter how clever you feel your definition is, some wiseguy will come along and find an exception, or two, or 50. You COULD say that an embedded controller is a controller (or computer) that is embedded into some device for some purpose other than to provide general purpose computing. Of course, someone will eventually prove you wrong, but who cares? A common example of a general purpose computer, would be a typical PC clone. The x86 processor in this machine can't really be considered an embedded controller, since the machine is typically used for general purpose computing. However, what is general purpose computing? Take this same PC clone, turn it into a multi-media machine, and voila! You have an appliance - much on the order of a microwave oven or television. Is the x86 processor now considered an embedded controller Or, is the PC clone itself now considered an embedded controller, controlling the multi-media peripherals? Is a microcontroller an embedded processor? Is an embedded processor a microcontroller? What's the difference between an embedded processor and a microcontroller? Well, today - not much. With the continuing process of high scale integration continuing at a dizzying pace, many standard architecture processors are turning up as microcontrollers. A few such examples are the Motorola 68EC300, Intel 386 EX, and the IBM PowerPC 403GB. These chips could be called super-microcontrollers. So, what's the difference between an embedded processor and a microcontroller? We might be safe by stating that an embedded processor controls something (for example controlling a device such as a microwave oven, car braking system, or a cruise missile). Is this always true? Maybe. Maybe not. You know, it just doesn't end. The main thing is not to get to hung up on precise definitions. Black and white? Hell no, we've got grey scale, dithering, diffusion, you name it! Same thing goes here with embedded controllers, just go with the flow. It all depends on your point of view. Alright, we'll take a stab at defining what an embedded controller is - realize however that there will be many exceptions. Embedded controllers adhere to a philosophy similar to that of microcontrollers, high integration. By including [many] features necessary for the task at hand, an embedded controller (processor) can be a powerful yet cost effective solution. However, where a microcontroller [almost by definition] is a computer on a chip, an embedded controller might need external components before it is considered a "computer." This is especially true regarding RAM. Since including large amounts of RAM (megabytes) on a processor is not really practical (due to cost and available silicon real estate) and because many embedded controllers are real powerhouses requiring large amounts of RAM, the RAM is often external to the processor.
III. What's all this mean in English?
Basically a microprocessor can also be called an
embedded processor or a microcontroller. It is just many small transistors
and other micro devices in one. It is just a really small switch board.