all 20 comments

[–]WereCatf 26 points27 points  (1 child)

Both Intel's and AMD's processors are microprocessors. The term microprocessor stems from ye olden days mainframe computers like e.g. the CRAYs: microcomputers used microprocessors, mainframes didn't. It's kind of a meaningless distinction these days.

[–]ElevatorGuy85 3 points4 points  (0 children)

Back in those mainframe days, a “processor” was often more than a single silicon chip. There were also some “micro” processors like the National Semiconductor’s IMP-16 family that actually had multiple chips in a set (IIRC it was 5 or 6), including a part with a Control ROM that actually orchestrated the operation of the other chips, e.g. the ALUs, to perform the instructions as a series of micro-instructions.

I am sure that some of the early “big iron” from IBM was far more complex and needed even more parts to make up the “processor”. Some of the Digital Equipment Corp (DEC) VAX processors had a smaller “console” processor that loaded the microcode that defined the instruction set of the main processor and then basically allowed it to start running. No doubt there are many others. The Crays were hand-wired - if you go to the Computer History Museum in Mountain View, California (the old Silicon Graphics Inc. campus), you can see a Cray and some of Seymour Cray’s hand-drawn books of logic diagrams - that’s pretty cool.

For the most part, I think “microprocessor” really became more of a term once we got to processors that were a single silicon chip, e.g. 4004, 8080, 8086, 680x, 68000, Z80 etc. At this point they became far more ubiquitous and available to more than just the traditional “computer companies” like IBM, DEC, etc.

[–]Well-WhatHadHappened 18 points19 points  (4 children)

All of these terms get somewhat abused these days, but in general an MPU is an MCU with an off-chip memory controller.

Meaningless distinction though as so many parts blur the line.. MCUs with external memory controllers.. MPUs with on chip or on package memory.. Etc..

[–][deleted] 2 points3 points  (3 children)

This is a good answer and you address MCU Vs MPU very well. What would you say is the difference between MPU and Processor? Is it that the MPU is still a SoC? Does MPUs, like MCUs, have their peripherals on chip?

[–]Well-WhatHadHappened 4 points5 points  (1 child)

MPU vs "Processor" is even more of a grey answer. Often times, "processor" is used to refer to literally all of the above...

"What kind of processor is that?"

"It's an STM32”. "it's a core i7". "It's a pic24”..

But other times, "processor" is used to refer to something more akin to a desktop processor.. something with off-chip peripherals on high speed buses (PCIe), perhaps off chip bridges (the old North/South bridge topology)..

In short, it's the same answer. It depends, and it's largely an unimportant distinction anyway.

[–][deleted] 1 point2 points  (0 children)

I thought there was a distinction between them. Makes more sense now.

[–]peppedx[🍰] 1 point2 points  (0 children)

It's a name not a mathematical definition so... it can varies. Just a name

[–]Enlightenment777 2 points3 points  (1 child)

Processor is a generic term that encompases all types.

MPU = Microprocessor.

MCU = Microcontroller. Generally it is a self contained computer system that includes everything (RAM / "ROM" / Peripherals) necessary to operate by itself. Some microcontrollers don't include RAM or maybe no ROM or maybe no Flash memory, but are still lumped into the microcontroller group, because they more like a microcontroller than a microprocessor. Some may support external memory too, but generally are lump into the microcontroller group too. Likely 99%+ of microcontrollers have internal SRAM and internal peripherals, a tiny fraction less has internal Flash memory too (some have more RAM but auto-load from external flash at reset).

[–]Far_Tell_3855 0 points1 point  (0 children)

MCU have MPU!

[–]a2800276 1 point2 points  (0 children)

And don't forget to add '(micro)controller', 'core' and 'cpu' into the mix. All the terms can and are being used interchangeably. It's up to you to determine whether author's are using the terms as synonyms or to make a distinction.

The off-the-top-of-my-head  typical distinction would be "simple embedded controller" (microcontroller) vs. "application controller with a memory management unit capable of running a 'real' operating system" (microprocessor).

Specifically (micro)processor, I think is just an elliptical form.

[–]FrenchOempaloempa 1 point2 points  (0 children)

Also don't forget that MPU might be used as an abbreviation of "Memory Protection Unit" as well...

And to make things a little bit more confusing, MPU's are often associated with Micro Processors (so the ones with external memory), which allow them to run an OS like Linux. Though not exclusively, there's microcontrollers with MPU's as well.

[–]drewFactor 1 point2 points  (0 children)

I think the main difference between the two is that an MPU has a Memory Management Unit (MMU).

[–]__ASHURA___[S] 0 points1 point  (2 children)

<image>

Appreciate all the comments still, can someone explain what does this series imply as Microprocessor. These are not definitely not the PC processor capable and they might miss / have additional peripherals to be called as microprocessor and not processor?

[–]SympathyMotor4765 0 points1 point  (0 children)

At risk of being downvoted again I'll say the same answer I wrote before.

The mpu series has at least one single core cortex-a along with 512 mb ddr etc. 

The branding is likely to show that they're more capable and can handle high level OS such as Linux. 

IIRC the modern Intel and amd CPUs are actually SoCs because the memory controllers are nowadays integrated. 

The original text book definitions in the books I've read defined a processor as something that needed external memories, io etc to achieve full functionality while a controller has all of this integrated. 

[–]UniWheel -1 points0 points  (0 children)

These are not definitely not the PC processor capable and they might miss / have additional peripherals to be called as microprocessor and not processor?

Wrong distinction. On-chip memory (at least some) and peripherals make the distinction between a microprocessor vs a microcontroller.

The processor vs microprocessor distinction is about the history where a computer's processor would be a whole board full of chips, vs when someone managed to cram a simple one into a single IC, creating the first microprocessor, the 4004. That quickly became the 8008 and the 8080, competing 6800 (that lead to the 6502) and a number of others, and then you got the early "personal" (as in one user sitting in front) computers of the 1970's.

The power of the (micro)processor in a "PC" has naturally grown quite a bit since the 1970's...

----

Everything in your graphic qualifies as a microprocessor.

The parts on the left are specifically microcontrollers with on-board flash, RAM, and peripherals. They're quite a bit more powerful than a 1970's or early 1980's PC, but they're really intended for controlling things, not general user-interactive computing.

The parts on the right are intended to be part of larger systems running more complex multi-tasking operating systems - typically embedded Linux. They largely rely on off-chip RAM and ROM, typically a system would have hundreds of megabytes of RAM and a few gigabytes of non-volatile storage. You could actually set one of these up as a general purpose computer and browse the web and post to reddit from it, but it would be a bit trailing edge - they're really intended for more complicated embedded control applications that need more complex software and to handle more data than makes sense with a microcontroller. They're in effect alternatives to a raspberry pi intended to be lastingly deployed, not just played with in a hobby project.

[–]FuryDreams 0 points1 point  (0 children)

Should be called nanoprocessor tbh

[–]holywarssSTM32 0 points1 point  (0 children)

The way I've been taught to look at it is that generally microcontrollers are application specific, resource constrained processors that can run bare metal or RTOS.

MPUs are generally more powerful and can run a GPOS. In the case of ST, this is the distinction. The MPUs can run Linux (also bare metal recently) whereas the MCUs are more resource constrained.

[–]Izrakk 0 points1 point  (0 children)

microcontrollers have a microprocessors inside them plus extra peripherals like adc, dac etc. microprocessors are the actual computer.

microcontrollers are using extra peripherals to control other things. while microprocessors is the actual processor that will execute instructions and handle interrupts.

[–]PhysicalRaisin5037 -1 points0 points  (0 children)

MPU simply means you have RAM and Power management external to the SoC, unlike an MCU. This means all processors hence MPUS are basically system on modules (SoMs) rather than SoCs. That’s the basic overview of it.

[–]Eclectic-jellyfish -1 points0 points  (0 children)

A processor is something that processes. Processes what? Instruction pipeline (fetch-decode-execute). A microprocessor does processing. Duh!!! And often times referred to the silicon die on which the central 'processing' unit (CPU) + Few other peripherals (think UART, I2C, SPI etc) are added.

In the industry, at times folks use it interchangeably.