Microprocessor or Microcontrollers, which of which?

Thread Starter

brandon_boyd19

Joined Aug 15, 2011
7
Can you help me about discussing which is more useful and convenient to use? microprocessor or microcontrollers, i appreciate every replies.. thanks..:)
 

ErnieM

Joined Apr 24, 2011
8,377
A microprocessor is a single chip Central Processing Unit (CPU) that needs external components such as memory to function. A microcontroller is capable of supplying its own basic needs for memory and I/O on a single chip.

As far as which is more useful, first tell me which of these is more useful: a screw or a nail?
 

debjit625

Joined Apr 17, 2010
790
Microprocessor are used to perform multi task, it does a wide range of operations like for example my PC is using a microprocessor Intel's P4,it does a wide range of operation like timing system clock, running a word processor, internet browser and much more. But a microprocessor needs a very complex circuitry as you have to support it using lots of peripherals.

On the other hand microcontrollers are used to perform specific tasks, like use for timing in a microwave oven or in TV set for user operations and etc .They have less resource like RAM and ROM as compared to microprocessor’s external resource as they consist much of the peripheral within them in a single silicon chip, so they have less complex circuitry .They cost you much less then a microprocessor.

Like for example, in a microwave oven for timing needs you wouldn’t be using a Intel P4 to do the job rather a small microcontroller is enough.

Good Luck
 

t06afre

Joined May 11, 2009
5,934
What is your project Brandon can you say something about this. An important argument in selecting technology. Will be what kind of development system. Do you have access to at your school. If your school have a lot hardware/software for MCU development. But only something that has not been used for 10 years, and may or most probably may not work. For CPU development. The answer will give it self ;)
 

GetDeviceInfo

Joined Jun 7, 2009
2,196
Can you help me about discussing which is more useful and convenient to use? microprocessor or microcontrollers, i appreciate every replies.. thanks..:)
the first part of any effect discussion on this topic is to define the bounds of two terms. The second part is to clearly define the scoop of application. You'll then have all your answers.
 

ErnieM

Joined Apr 24, 2011
8,377
@debjit625: Actually, I have a microcontroller sitting here on my desk that drives a graphic touch screen and an SD card (and several other goodies), and contains a bootloader that lets you choose which application it will run then load that off the SD card. It is definitely a general purpose device by design.

Microcontrollers ain't just for breakfast anymore!
 

Thread Starter

brandon_boyd19

Joined Aug 15, 2011
7
It's just a simple paper work on my subject, but i need to know which one do you prefer using? I would like to thank all of you who commented to my topic.
 

debjit625

Joined Apr 17, 2010
790
@debjit625: Actually, I have a microcontroller sitting here on my desk that drives a graphic touch screen and an SD card (and several other goodies), and contains a bootloader that lets you choose which application it will run then load that off the SD card. It is definitely a general purpose device by design.
Microcontrollers ain't just for breakfast anymore!
I said on my earlier post...
microcontrollers are used to perform specific tasks
That doesn't mean I said it can run only one program or do a single job, a mcu can execute a lots of program and its nothing new for microcontrollers ,boot loaders are a very old stuff in mcu mostly used in quick development process. In case of my examples I said that a mcu is used in micro wave oven for timing needs but it also do other essential stuff in a microwave oven like user inputs from keypads.

A microcontroller have a microprocessor (CPU) inside in it, so what can a microprocessor can do a microcontroller should do it, but no because that microprocessor inside in it can't be used by us at its extreme why?

Because we can't access its full feature, like I/O,BUS and etc .In simple words you can't design the peripheral configuration for the CPU inside the mcu, like we do in case of a real microprocessor, the configuration of peripherals is already done by the manufacturers, we can just use those features of the CPU that the manufacturers have provided in the interface of the microcontrollers.

A microprocessor is totally capable for multitasking environment for Operating Systems, like in Windows ,Linux ,Mac i.e.. it can do many jobs at a time like I could run Internet explorer , Wordpad, Mediaplayer and LTSpice at the same time. A microcontroller cant do this ,actually it can multitasking is nothing more than executing codes with time assigned for each code section, but I already said many hardware factors will come into play when you will try multitasking in a microcontroller may be you can do for 2 to 6 programs but you cant run a multitasking Operating System like Windows, Mac or Linux.

If you really want to see the hardware difference then look at x86 processor like Intel P4 and any modern microcontrollers.

Its something like this ,a discreet transistor (BJT) and an ASIC for audio. Now the IC is capable for sound applications and they are very cheap and a discreet BJT is capable for many applications,so if you want you can built an audio amplifier using some discreet BJTs ,but it will cost you more than the ASIC package but on the other hand you can design it by you own needs not by the options provided by the manufactures of the ASIC.

brandon_boyd19 said:
It's just a simple paper work on my subject, but i need to know which one do you prefer using? I would like to thank all of you who commented to my topic.
It should not be the question which one is better, the question should be which one will fulfill the needs of the application.

Good Luck
 

MrChips

Joined Oct 2, 2009
30,810
You cannot compare a microprocessor with a microcontroller and ask which one is better. They are used for different purposes.

A microprocessor is part of a microcontroller.

A microcontroller is intended to be a minimal solution for a specific application. You want as much as possible to be contained in the single chip, ROM, RAM, timers, ADC, DAC, SCI, SPI, USB, PWM, motor controllers, parallel interfaces etc. as desired by the application.

A microprocessor does not contain the above components but gives you the flexibility of adding what ever you need.

The original Apple Macintosh computer was built around the Motorola 68000 microprocessor. Today you can buy microcontrollers that are based on the same 68000 microprocessor and can be used for many things from a PDA, iPod, iPad or a full function computer.
 

t06afre

Joined May 11, 2009
5,934
I do not know if it has been mentioned. But most of time it boil down to a question of cost. A microprocessor will require several support circuits. Those support circuits will cost money and take up space on your PCB. If you can solve your problem using one (often cheap chip) chip. That solution will be a winner
 

ErnieM

Joined Apr 24, 2011
8,377
@debjit625: My point is the line between microcontrollers and microprocessors is getting blurrier every day.

PIC32 have a 16 bit address and 8 bit port that can access external memory. While current versions cannot execute code from that, they can load it to RAM where it can be executed. They also offer sophisticated instruction and memory protections, they can and do toss general protection faults that burrow down to specific handlers. Much of that also applies to PIC24's.

As far as operating systems go, you can get code to implement multitasking for them. FreeRTOS being one I have a slight familiarity with, it supports threading .

They would be a poor choice for an application like an iPad, but so is a Pentium.

The only reason my app uses a bootloader is the compiler is lagging the silicon making it near impossible to burn a kernal in ROM and execute arbitrary application code run-time loaded into RAM. Microchip IS looking to adding that (no time frame noted), and I have not checked if it is possible with the latest 2.0 version release.
 

debjit625

Joined Apr 17, 2010
790
ErnieM said:
@debjit625: My point is the line between microcontrollers and microprocessors is getting blurrier every day.
Yes,but you cant compare a old microprocessor like Intel's 8085 with a new microcontrollers like Microchip's PIC32,Atmel's AVR 32,STMicroelectronic's STM32 and many more,if you really want to compare them ,compare it with new generation's processors like Intel core processors for example Intel Core i3,i5 or i7.

ErnieM said:
PIC32 have a 16 bit address and 8 bit port that can access external memory.
Like I have already said in above post that using the CPU of a mcu will have limitation, in this case you have a 32bit processor but the external BUS is of 8bits and could access up to 16bits of address space.

ErnieM said:
They also offer sophisticated instruction and memory protections
Of course they will do that, but in contrast the new generation processors will do much more than that.

ErnieM said:
As far as operating systems go, you can get code to implement multitasking for them. FreeRTOS being one I have a slight familiarity with, it supports threading .
Yes, they can I have already said that you can implement multitasking, but they will be not able to run modern OS codes like Win7.As both microcontrollers and microprocessor are getting better and more functional every day, softwares are also getting bigger and complex every day. Have you ever asked why Real Time Operating System (RTOS) and not a General Purpose Operating System,in my first post I mentioned that mcu will targets specific tasks and that’s the reason for RTOS.

ErnieM said:
The only reason my app uses a bootloader is the compiler is lagging the silicon making it near impossible to burn a kernal in ROM and execute arbitrary application code run-time loaded into RAM. Microchip IS looking to adding that (no time frame noted), and I have not checked if it is possible with the latest 2.0 version release.
That's a limitation of a mcu, yes some mcu can load code and execute at runtime like Atmel's mcu can but still you can't compare them with the microprocessors. Even Microchip's new mcu are containing "Configurable Logic Cell" like PIC16F1507 but that doesn't mean you can now compare it with Intel Core i7.

"Configurable Logic Cell" that are kind of stuff found inside CPLD's and FPGA's with them we create logic circuits even a CPU could be possible, now I can't say that FPGA is better then a microprocessor or microcontroller.

All have their own place and never mix them or underestimate any of them, again I will say it. Everything depends on your application how efficiently you can do it using these devices.

Good Luck
 

THE_RB

Joined Feb 11, 2008
5,438
@debjit625: My point is the line between microcontrollers and microprocessors is getting blurrier every day.
...
So very true, and it's not helped by "marketing terminology" where some companies are marketing their chips as microcontrollers when they are microprocessors...

I think the best definition (and the one that Microchip, to its credit, is using) is that if EVERYTHING needed is on one chip it is a "microcontroller" and if it needs multiple chips (usually an external memory chip) then it is a "microprocessor".

Which means the Parallax propeller, Xmos and many others are all microprocessors and not microcontrollers.
 
Last edited:
Top