6 ms·
I have issues with the section "Microcontroller vs Microprocessor: Differences" Microprocessors are just the CPU, usually with the system bus wired out. Microc
by blueflow 5y ago
I have issues with the section "Microcontroller vs Microprocessor: Differences"
Microprocessors are just the CPU, usually with the system bus wired out. Microcontrollers are combined systems, which include a processor and usually some kind of firmware storage and RAM. You can usually differentiate them by whether their pins are address/data lines or gpio-like.
> microprocessors have a memory management unit
The 8086 didn't. Having an MMU seems unrelated to the MCU/MPU distinction...
At least, this was my knowledge until now. Is this like "crypto" where the meaning changed while i was not paying attention?
- seniorivn 5y agoa lot of people have been calling desktop computers "processors", does it mean that the meaning of the word has changed?
- blueflow 5y agobecause thats correct for most x86-compatible computers, x86 is or was the dominant desktop architecture.
- marcan_42 5y agoMicroprocessors in the traditional sense no longer exist. All modern microprocessors are actually SoCs (yes, even Intel ones at least to a partial extent). And all microcontrollers are SoCs by strict definition, but we don't usually call them that. So really the more practical terminology difference should be SoC vs. microcontroller.
- phlipski 5y agoAgreed. To add to that - I think what Jay was trying to highlight is the difference between chips that can generally run Linux (which generally requires an MMU) and those that run an RTOS. Is this an exact line of demarcation with no blurry edges? No. But it seems to work for me. Maybe a better way to think of this is - does the system have external DRAM (if so run linux) or not - if so run RTOS. Our of curiosity - does anyone still sell a (by strict definition) a true "micro-processor"?
- marcan_42 5y agoThe most recently sold micro-processors used in a mass market product that come to mind are the CPUs of the Wii/PS3/Xbox 360 era consoles (in particular the PPC750CL in the Wii is a pure CPU). The Wii U then glued three of those together into a three-core die, so if you're willing to consider just the CPU die and not the entire MCM, that one was also a pure CPU. Digi-Key still shows the 750CL in stock, but it's obviously an obsolete product at this point.
- foxfluff 5y agoIt's a pointless distinction by and large. Microcontrollers may or may not have storage for firmware. Requiring an off-chip flash is nothing new. Microcontrollers have SRAM, but so do processors. That's where the firmware runs before it gets the DRAM running. Microcontrollers may include a bunch of peripherals, but so do processors. Especially so if you refer to SoCs as processors, like the article here does. And SoCs stir it up further: they have tons of peripherals, and we also have SoCs with on-package DRAM. Discrete SRAM chips exist too, I figured there must be microcontrollers that can use them (but I haven't actually looked). Yes, the terminology has evolved.
- blueflow 5y agoThe distinction used to be "Whether the bus is exposed externally". > Microcontrollers have SRAM, but so do processors. That's where the firmware runs before it gets the DRAM running. Which microprocessor architecture does this?
- AlotOfReading 5y agoMost of them? Pretty much every ARM board supports an SRAM boot stage, for example. If you're using U-Boot, it's pretty likely that there's a SPL running out of SRAM somewhere in there.
- blueflow 5y agoARM is a microcontroller architecture.
- R0b0t1 5y agoThese words are used interchangeably, you need to specify exactly. The main distinction is does it have a MMU or not.
- blueflow 5y ago"VPN" evolved to mean proxying service, now people are denying that my tinc setup is a VPN. "Emulation" evolved to mean virtual machine, now people are denying that wine or xterm are emulators. "Operating System" evolved to require virtual memory and paging, now people are denying that MS-DOS was an operating system. "Microprocessor" evolved to mean computing chips with MMU, im waiting for people to deny that the 8086 was an microprocessor because it does not have an MMU. The infinite shitcycle of people improvising language instead of researching.
- Terry_Roll 5y agoThere is no global standard of definitions, what you might be seeing is the difference in the educational system in different parts of the world. We know definitions change over time because slang words come and go and someone's vocabulary can be used to identify people online or identify their knowledge.
- blueflow 5y agoWhatever, but if someone of the "Distinction Criteria is existence of MMU" crowd comes and claims the 8086 is not a microprocessor, because it doesn't have an MMU (which would be a logical conclusion from the article). i'll probably not be respectful.
- Terry_Roll 5y agoWell these are a couple of online definitions: MicroController - a control device which incorporates a microprocessor. MicroProcessor - an integrated circuit that contains all the functions of a central processing unit of a computer. The problem with these definitions is a control device and computer are two different things, so I wonder if he is applying an engineer's perspective/definition to the 8086 even though many know the 8086 were used in the early computers. This is a bit like arguing whether a microprocessor is a microprocessor because of the inclusion or exclusion of one or more instruction sets, ie a basic intel cpu with a minimum instruction set or a xeon intel cpu with a much more extensive number of instruction sets. Or are you picking up on an AI masquerading as a blogger and have highlighted something an AI wouldnt pick up on from online technical resources?
- marcan_42 5y agoThe clearest distinction today is the lack of an MMU. That's just a useful metric to go by that neatly divides SoCs into "things intended to run bare metal/RTOS code" and "things intended to run Linux", that are two different product groups with significant differences. Obviously this wasn't always the case, e.g. a good 15+ years ago I put ucLinux on an old ISP router I had lying around for fun, and it was an ARM946 without an MMU. But that class of device no longer exists today for all practical purposes, and so it's easy to use the existence of an MMU to decide what to call them. The 8086 may have been a microprocessor, and so was the 80186, but you know where you find 80186 cores today? Microcontrollers. Specifically, some video processing chip manufacturers (e.g. stuff that goes into monitors and DP-HDMI adapters) seem to like using V186 cores still.
- jaydcarlson 5y agoThe problem is that by your definition, every processor manufactured in the last 30 years should actually be called a "microcontroller" Microprocessors going back to the Intel 486 have more on-chip RAM than many microcontrollers sold today have. CPUs have built-in firmware ROM for loading boot code. Also, CPUs haven't had a system bus with address/data pins for like 30 years — somewhat ironically, the only chips that have that are microcontrollers. Northbridges haven't existed for 15 years, and southbridges are basically just PCIe-to-USB/SATA/Ethernet/I2C adapters. And many mobile CPUs that Intel and AMD make have on-chip I2C, SPI, UART, GPIO peripherals. In my article, I'm trying to differentiate between processors that can run a modern multiuser operating system like Linux and microcontrollers that runs bare-metal code, since that's a question I get asked a ton. After carefully considering all the options, the MMU seemed like the most obvious place to draw the line. Every CPU in the last 40 years (since the Intel 286) has had an MMU, while no microcontroller ever made has had one. I'm not sure why that seems so unreasonable to you.
- blueflow 5y agoIt is unreasonable because you redefine "Microprocessor" in a way that the 8086, the one that made the word popular, isn't one anymore. Surely odd, but tolerable. But what is worse that people will read your article, think the MMU is what makes a microprocessor. And upon hearing that the 8086 has no MMU, they will deny that it is a microprocessor. Which would be a logical conclusion from your article. I listed some other words here that suffer from similar issues https://news.ycombinator.com/item?id=30278936 https://news.ycombinator.com/item?id=30278936