multicore ARM cortex M0+/M3/M4 - or other equivalent microcontrollers?  - Page 1
Forum section: electronics / general

author: conducteur
author_rank: Regular Contributor
timestamp: January 22, 2021, 10:54:41 am
content: I was just thinking....The simple question is. You can find dual-core microcontrollers like the NXP LPC4300. They combine an M4 with an M0 as coprocessor...Why are there (at first glance) no microcontrollers with more than two processors in one package (quad, Hexa, octa-core)? I think they could be useful...Complicated projects that need to do many things can be split up in separate tasks... As a step between an MCU and an FPGA...One MCU could perhaps process ADC Values and do some DSP on it, while another can do communication or controlling a graphical display...

author: rstofer
author_rank: Super Contributor
timestamp: January 22, 2021, 04:10:50 pm
content: PSOC 6 combines M0 and M4. I use the PSOC 6 BLE Pioneer Kit and follow along with the videos.https://www.cypress.com/training/psoc-6-101-chapter-1-getting-started-psoc-6-mcusAt some point in the escalation of cores, you get up to something like the Raspberry Pi 4 which is a quad core 64 bit processor. I don't know that the chips are sold separately to hobbyists.https://www.amazon.com/Raspberry-Model-2019-Quad-Bluetooth/dp/B07TC2BK1XThe new Raspberry Pi Pico is a dual core M0https://www.raspberrypi.org/products/raspberry-pi-pico/Or, if 600 MHz single core will do the job, there is the Teensy 4.1 which uses an ARM Cortex M7https://www.pjrc.com/store/teensy41.html

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: January 22, 2021, 04:29:37 pm
content: Check out the Sony Spresense. It's got six Cortex-M4 cores:https://developer.sony.com/develop/spresense/

author: ajb
author_rank: Super Contributor
timestamp: January 22, 2021, 04:37:45 pm
content: There are STM32H7 parts that combine an M7 and an M4. For more cores, the Propeller parts have eight "Cogs", which claim 80+MIPS each on the latest parts.I don't know how many applications there are for MCUs that really would benefit from >2 cores. Like needing to manage a wireless stack plus a user application is a common use case, or generally one hard real time block plus some less time sensitive processing, which are sensible applications for dual core parts, but beyond that the market probably just isn't there to support a lot of 3+ core MCUs. Especially at the M0 level, there's a lot of room to just move up to a higher performance single- or dual-core part. You'd have to bolt together a ton of ~50DMIPS M0 cores to get the same raw processing capacity as a single ~1200DMIPS M7 that has an FPU, cache, etc. The application processor space is very different, where you're already generally squeezing the maximum reasonably possible performance out of a single core so the only way to increase performance is to add cores.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: January 22, 2021, 09:49:59 pm
content: Quote from: ajb on January 22, 2021, 04:37:45 pmThe propeller may have eight cores, but it has no hardware peripherals, so any I/O needs to be bit-banged on a dedicated core. This precludes it from supporting peripherals like USB or Ethernet. If you need more than a few peripherals, the need for dedicated cores for each will seriously eat into the number of cores available for other work.It also doesn't have an FPU, so any FP has to be done entirely in software.

author: daqq
author_rank: Super Contributor
timestamp: January 22, 2021, 10:05:37 pm
content: XMOS ICs have more cores and seem quite powerful.QuoteConsidering the power available to even lowliest of MCUs these days, you can do a lot of stuff on a single core and switch between tasks very fast. With DSP instructions and various accelerators and peripherals even a single core device gives you great capabilities - when used properly.The intermediate step between an MCU and an FPGA is a bigger MCU, then a small linux capable SoC, then a huge multicore linux capable SoC. I'm pretty sure that most every step of the way is covered. What exact application are you not finding a device?