PDA

View Full Version : Microprocesser versus a microcontroller?



Tapperman
03-11-2012, 06:18 PM
I'm hoping to use some of your responses to this question, in an english paper I'm writing.

So, please jump in and get both feet wet.
How does a microprocessor differ from a microcontroller?

Thanks in advanced for your help

... Tim

Mike Green
03-11-2012, 06:35 PM
A microprocessor is usually some kind of computer processor that is physically small, perhaps a single chip. It typically has a lot of support circuitry on that chip, may have memory and some I/O as well. It often may have a limited I/O / memory bus leading off chip, but doesn't necessarily. In the past, the instruction set may have been relatively small, but these days, you can find microprocessors with the same instruction set as any other processor's.

A microcontroller is a microprocessor with more on-chip support. It may have all of its memory on-chip and may have all of its I/O on-chip although you can always create an I/O bus with general purpose I/O pins. The crucial difference is that a microcontroller is designed for control tasks whereas a non-microcontroller microprocessor is designed for computational tasks (sometimes including graphics).

As you might infer, this is a spectrum and there are some microcontrollers that are used for general purpose microprocessors and you can always use a general purpose microprocessor as a microcontroller ... it's just often expensive to do so.

karthik9
03-11-2012, 06:36 PM
you can find the difference here Tim..
http://www.differencebetween.com/difference-between-microprocessor-and-microcontroller/

Tapperman
03-11-2012, 08:49 PM
@karthik9: Thank you for the input, and welcome to the forum!

@Mike Green: Thank you, your input is spot on.

I should clear up one thing though ... rather than links to a definition, I need opinions (from real people) for my paper. Like if someone walked up to you on the street corner, and poised the same question. How would you answer? (without checking links, etc.)

... Tim

Dr_Acula
03-12-2012, 12:07 AM
What a good question. I've never really thought about it before. Mike Green's answer makes sense.

Ok, without looking at any links, I'd say that a microprocessor is a chip that can do all sorts of clever internal processing but one thing it can't do is control something, eg a relay. An example is the Z80 chip. It has an address bus, a data bus, read and write lines etc. But there is no actual pin that can turn something on or off. You need to add some peripherals. The peripheral might be very simple, such as a latch or an 8255 chip, but you still need this to actually do something useful.

A microcontroller on the other hand can do more real world things. I'd call the propeller a microcontroller *dons flame proof suit at this point* and also the 8 pin picaxe, because those chips have analog and digital inputs and outputs.

A microprocessor 'processes'. A microcontroller 'controls'. My simplistic way of thinking, anyway.

mindrobots
03-12-2012, 12:46 AM
To my simple mind:

A microprocessor is generally the instruction processing and aritchmetic portion of a computer. Genreally, it has no memory, direct device I/O or peripherals as part of it. These are added as external and additional components and the microprocessor can't function without them. Every micro-CONTROLLER has a micro-PROCESSOR as a part of it. A microprocessor can't do anything by itself, it needs significant support chips and components.

A microcontroller has instruction execution and arithmetic units PLUS the memorey to hold programs PLUS some sort of I/O ability through on-board peripherals or general purpose I/O pins. A microcontroller can do things by itself with a minimum of external support chips or components.

Humanoido
03-12-2012, 06:00 AM
A microcontroller can be used as a microprocessor but a microprocessor cannot always be used as a microcontroller. There is a great advantage of the Propeller chip - it functions as both.

Heater.
03-12-2012, 06:22 AM
In the beginning was the microprocessor.

It was very small, hence "micro", and it was the processor part of a computer system, hence "processor".
It did not have any memory to store programs or data. It did not have any input or output facility. Perhaps also it lacked things like clock circuitry to drive it. To build a computer with such a microprocessor one needed to add RAM chips for data , ROM chips for code, input/output devices and perhaps other circuitry to support it.

Of course many uses of such a small computer involved control systems, for example a controller for a vending machine. Give the rate at which silicon technology was shrinking components it soon became possible to integrate all of the components, ROM, RAM, I/O etc required to build such control systems into a single chip and the "micro-controller" was born.

As examples of "microprocessor" see Intel 8080, 8085, 8088, 8086 and so on. Or Motorola 6800, 6809, 68000.

As examples of "micro-controllers" see Intel 8051, or Motorola 68HC11.

evanh
03-12-2012, 12:27 PM
There is also the question of where did "Micro" naming come from. This one is historical, and my best guess is it pretty much comes down to how much of the CPU is inside one chip. Minicomputers had the central processing logic spread across many chips and likely many boards. Hence, early singular computers were built as racks of cards. VLSI heralded the maturing Microprocessor with every part of the CPU, other than RAM/ROM and I/O, stuffed inside the one chip.

Unlike Mainframes, Microcomputers (A computer containing a Microprocessor, including the PC.) directly competed with and supplanted Minicomputers in short order.

Microcontrollers were prolly kicked off with hand held calculators, followed closely by the digital watch - absolutely all the logic in one chip.

Leon
03-12-2012, 02:22 PM
The first microprocessor was the Intel 4004. It was originally intended for use in a calculator, but the customer (Busicom, IIRC) never went ahead with the project.

Aytum
03-12-2012, 03:47 PM
From my understanding (and my Embedded Systems class 3 years ago), a microcontroller is a 'system-on-a-chip' or a complete one stop solution, which has on-board memory, I/O, peripherals etc. The only downside is because everything is on one chip, the 'power' if you will, of the microcontroller chip, is quite limited. Hence why most microcontrollers used to have a RISC (reduced instruction set) back in the days, though there were a few CISC (complex instruction set as well).

A microprocessor is, within reason, the complete opposite of a microcontroller. It has a larger silicon real estate which lends itself to much higher processing power at the expense of not being a one chip solution. Thus features such as memory, storage, peripheral I/O are external to the microprocessor. Higher processing power could imply microprocessors are general purpose and are suited to a wide variety of tasks and have higher abstraction level of programming language (VB, C), as opposed to microcontrollers (Machine Language, Assembly) which are usually for a specific purpose (interfacing with hardware is much easier etc) and accomplish that easily than traditional microprocessors.

Of course, these are the classic differences and you will find the current generation of microcontrollers (case in point being the Propeller) are very powerful and the difference between the two have blurred. Conversely, microprocessors such as the ARM7 found in the Beaglebone facilitate desktop scale operating systems (Linux) yet still provide the peripheral I/O (even though they are external to the processor itself) for low level interaction, such as blinking l.e.d etc al.

My two cents worth.

lyassa
03-12-2012, 09:42 PM
In the beginning was the microprocessor.

It was very small, hence "micro", and it was the processor part of a computer system, hence "processor".
It did not have any memory to store programs or data. It did not have any input or output facility. Perhaps also it lacked things like clock circuitry to drive it. To build a computer with such a microprocessor one needed to add RAM chips for data , ROM chips for code, input/output devices and perhaps other circuitry to support it.

Of course many uses of such a small computer involved control systems, for example a controller for a vending machine. Give the rate at which silicon technology was shrinking components it soon became possible to integrate all of the components, ROM, RAM, I/O etc required to build such control systems into a single chip and the "micro-controller" was born.

As examples of "microprocessor" see Intel 8080, 8085, 8088, 8086 and so on. Or Motorola 6800, 6809, 68000.

As examples of "micro-controllers" see Intel 8051, or Motorola 68HC11.

Amen. Exactly how I understand it.