Microprocesser versus a microcontroller?
Tapperman
Posts: 319
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.
... Tim
So, please jump in and get both feet wet.
How does a microprocessor differ from a microcontroller?
Thanks in advanced for your help... Tim
Comments
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.
http://www.differencebetween.com/difference-between-microprocessor-and-microcontroller/
@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
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.
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.
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.
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.
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.
Amen. Exactly how I understand it.