Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Difference between Microcontroller and Microprocessor. Figures are correct or not?

  1. Dec 6, 2011 #1
    I drew picture of microcontroller and microprocessor based on what I read earlier. I am not sure if it's right. Tell me if I am missing anything here. If possible give me detailed figure of microcontroller's and microprocessor's internal stuff or give me a website that describes a real microcontrollers' and microprocessors' internals. I haven't seen any book so far that has detailed view of internals of these components. Also tell me if I can design these components using VLSI techniques (By writing and simulating codes(VHDL and VERILOG) and then synthesizing then generating the codes and then testing it on some FPGA)?

    Do we have different architectures for microcontrollers and micprocessors?

    I am learning these concepts but I need few insights and superficial knowledge to be motivated and I will know what I am going to come across and what I am going to be learning about. Please answer the above questions.

    Thanks...
     

    Attached Files:

    Last edited: Dec 6, 2011
  2. jcsd
  3. Dec 6, 2011 #2
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Don't quote me as I never really look up. I just join in. The older processors like 8085, Z80, 8051 type of microprocessor have their own architecture in their ALU, instruction sets, registers etc. But this is really the core of the processor. They need peripherals like EEPROM, RAMS, Interrupt Controllers etc. Now a days, some of these processor core are implemented into a kind of all-in-one unit that not only can sustain on itself, it has special peripherals like ADC, DAC, USB interface, serial interface. Also to be a stand alone, they contain EEPROM for programs, RAM etc. They seem to call these family of processor Microcontrollers. Most of the time, you don't need to speed and high performance like the big Intel Pentium or newer processor. All you need is some dumb little 8 bits processors to do the job. They are easy to support, easy to program, it is perfect for smaller projects particular with all the add-ons.

    For example, Cypress has a whole family of USB interface using 8051 core. I personally used an Analog Devices ADuC831 with mux ADC, multiple DACs etc. I implemented a whole controller with CAN bus interface by just one controller and a FPGA. Cypress mainly the USB interface, I don't recall they have ADC, DAC at the time, and some even need external memory. They must have newer ones that have more stuff in it now as 6 years is two generation or like a century ago already.

    At lease in my days, 8051 and 68HC11 core were very common.
     
    Last edited: Dec 6, 2011
  4. Dec 6, 2011 #3
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Like yungman said, microprocessors usually are more limited in what they can do by themselves, and are designed to interface with many external peripherals and memories. A microprocessor is a processing unit that is very specialized hardware at doing a handful of general functions very well and very fast, and they are used to run a wide range of software applications.

    Likewise, microcontrollers usually have many peripherals built into them and also many memories and memory interface controllers are included with them. A microcontroller has a processing unit with a wide range of hardware with many functions used to usually run 1 software application and used for a small number of specialized tasks (like sending signals to a motor and monitoring certain sensors).

    Microcontrollers usually are more specific and have less powerful processor architecture to be cheap so you can put them in portable and disposable products. The best example of a microcontroller's processor is the ARM core architecture family. Microcontrollers also are generally designed to work more specifically for real time applications, while microprocessors often are used to run operating systems like windows 7 or post-processing software. Of course, the line is blurring as microcontrollers are now being built that operate in the 2GHz + and can run operating systems like in smart phones and mp3 players.

    Basically a microprocessor is a stand-alone processing unit with a very specialized and fast instruction and data processing ability, but needs to be interfaced to other basic hardware functions (like program memory), and is generally useless by itself, while a microcontroller can do everything it needs without being interfaced to other hardware functions, can be programmed directly with internal non-volatile memory, and it can interface to other hardware if desired.
     
  5. Dec 6, 2011 #4
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Also, I would say your figure is incomplete and somewhat incorrect. Microcontrollers don't necessarily have internal RAM, but they can have internal RAM, and many processors in microcontrollers also have in-built memory too.
     
  6. Dec 6, 2011 #5
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    You mean microcontrollers can have in-built memory in the processor and can also have memory outside the processor and all of these things are on the same IC.

    And microprocessors only have processors with in-built memory in terms of registers...

    Right?
     
    Last edited: Dec 6, 2011
  7. Dec 6, 2011 #6
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Yes, microcontrollers have all kinds of internal memories but also have peripherals called "bus interface" or "memory controllers" that let them interface to other ICs like SDRAM or NAND flash.

    Microprocessors can also have built in cache which is volatile memory that gives them faster access to data; that's what I thought you were referring to as in-built memory. And yes, they have registers and and program stacks and stuff like that too.
     
  8. Dec 6, 2011 #7
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    And the microcontrollers are becoming more like a microprocessors these days because of more power packed into that processor of microcontroller except that in the case of microcontroller, RAM , Memory, in-built memory, processor are on the same IC but in the case of microprocessor Memory, RAM and other peripheral are not on the IC. Right? Then where are they located?
     
  9. Dec 6, 2011 #8
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Well, with the high-end microcontrollers they usually are interfacing to external RAM and flash storage ICs despite having other peripherals built in. This is because the amounts of memory needed for these applications are so high that they can't fit it into the microcontroller anymore. Those microcontrollers still have audio/visual codecs, A/D converters, and other specialized peripherals built into them, so they still are considered microcontrollers.

    In microprocessors, the memory, RAM, and other peripherals are located on a motherboard usually. In the case of a PC computer architecture, the RAM interfaces to the software through an IC chip called a memory controller, and this bus is usually referred to as the north-bridge, while the other peripherals (graphics card, sound care, wireless network card) are interfaced on another controller on a bus called the south-bridge.
     
  10. Dec 6, 2011 #9
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Sorry I'm little slow. I drew a figure and I think I understood it correctly. I am going to take a course on Computer Architecture later. This is going to help me. Thanks...
    Can you confirm if the figure is right..
     

    Attached Files:

  11. Dec 6, 2011 #10
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    The figure is close, but not quite right. The RAM block should be replaced with a CPU block and get rid of the software cloud all together and replace it with the RAM block. The north bridge and south bridge buses usually have different memory controllers as the buses have different interfaces (different I/O, control, and address lines), but the south bridge usually talks to the CPU through the northbridge as a middle man. I guess to answer your original question of how a microprocessor is interfaced to the other peripherals, you could say it is on a motherboard like I said, but it is implemented on the motherboard with something called a chipset, which is designed for a specific microprocessor architecture (x86 for example). see:
    http://en.wikipedia.org/wiki/Chipset
    http://en.wikipedia.org/wiki/Northbridge_(computing))
    http://en.wikipedia.org/wiki/Southbridge_(computing))

    Also, the software block probably should not be drawn in these diagrams because it is very much hardware, and only consider the software storage/processing after you have the hardware architecture drawn out and understood.

    Remember there are always exceptions to these setups, and like I said this is specific to personal computers. There are many other configurations and architectures possible. I guess the point of drawing it out will help you distinguish it from a microcontroller though.
     
  12. Dec 6, 2011 #11
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Remember micro controller usually based on some primitive microprocessor core like I said before. The two are not un-related. A lot of the micro controller are based on very primitive 8 bit processor like 8051 where people are familiar with. Micro controller is meant to be a all in one processor for smaller, cheaper units.

    Best way to do is look into a family of micro controller. Eg. look at Analog Devices ADuC8xx family. They have a lot of different micro controllers all based on 8051 processor. You can choose the one with the closest peripherals that suit you. I chose ADuC831 because it has an ADC with multiplex input so I can monitor different sensors. They have different amount of memories and other features you can choose from. Also the whole family of Cypress micro controllers with USB interface using 8051 also. You'll get a much better idea by getting your feet wet and look at the data sheets than to keep talking about definition of them. They are nothing more than names. Don't worry about getting the functional block diagram correct as they can be different for different family.
     
  13. Dec 6, 2011 #12
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Hmm.. suppose I use a 'Digital Signal Processors' and other processors and peripherals on a single IC chip then it's called a System-on-Chip but do you think it's still a microcontroller? I know they are just names but I am little curious. Please don't mind.
     
  14. Dec 6, 2011 #13
    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    Can't comment on those I never used for my design. But it is more important to get your feet wet on the real thing. All I care is to have a core that I am familiar with, the peripherals that I want for my purpose and call it good. There are so many of them out there that you'll be spending so much time to get an inclusive definition that you can just go and do a design!!!
     
  15. Dec 8, 2011 #14

    MATLABdude

    User Avatar
    Science Advisor

    Re: Difference between Microcontroller and Microprocessor. Figures are correct or not

    A DSP is a very specialized microprocessor intended for specialized applications (though most DSPs can probably be used for general microprocessor tasks):
    http://en.wikipedia.org/wiki/Digital_signal_processor

    SOC probably falls under the definition of a microcontroller, since they usually include everything needed for a basic computer, including some current sinks (if not a kitchen one). However, any person / company that can use it probably isn't too worried about the distinction between microprocessor / controller / SoC.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Difference between Microcontroller and Microprocessor. Figures are correct or not?
  1. Differences between (Replies: 1)

Loading...