inpyjama / c-ninja-listings

Lower level assembly and C baremetal programming on RISC-V CPUs. Source code listings from the C-Ninja, in Pyjama! book.
https://inpyjama.com
90 stars 460 forks source link

Understanding cores in microprocessor #22

Closed Mukesh376 closed 11 months ago

Mukesh376 commented 12 months ago

Hello, I have a doubt Cortex M4 has 4 cores in one processor Infeion AURIX controller has 4 cores which they call 4 different processor

could you please explain how 4 cores in a processor and 4 different processor in one microcontroller is different?

streetdogg commented 11 months ago

Cortex M4 has 4 cores in one processor

Based on what I know Cortex M4 itself is a single core/processor. M4 doesn't mean that there is 4 of something. It's a versioning/naming scheme for M-class controllers.

Infeion AURIX controller has 4 cores which they call 4 different processor

Could you please point me to the documentation?

Mukesh376 commented 11 months ago

Hello Sir,

Thanks for your time for clarifying

It is clear now sir i thought M4 is 4 different cores

I have an follow up question:-

How do we come to know that a project needs a single core controller or multicore one?

Below is the link of the Aurix TC38x

TC38x User's Manual Appendix https://www.infineon.com/dgdl/Infineon-AURIX_TC38x-UserManual-v02_00-EN.pdf?fileId=5546d462712ef9b7017182c0e3091d34

streetdogg commented 11 months ago

How do we come to know that a project needs a single core controller or multicore one?

Depends on many factors. tradeoff between performance, power and presence of independent tasks.

Mukesh376 commented 11 months ago

Thanks sir