On Mon, Feb 27, 2017 at 10:34 AM, MDX <speedy1...@gmail.com> wrote:

> so i am pretty amazed of how big a punch AM5728 packs: 2 fast CPU cores, 2
> very versatile KeyStone cores (of which i`ll be a happy user very soon
> thanks to you), 2 "realtime" (whichever they are) ,and 2 Cortex-M4 cores,
> that i have no idea what purpose they might serve, that limited ISA won`t
> be helpful to me, unless they can be used to drive some servos, but that is
> something you don`t need M4`s specific FPU for.
>
> Can somebody enlighten me in my slight confusion? What pupose do M4 cores
> serve and what are those "realtime processing cores"?
>

One of those M4 modules( 2 cores ) as I recall is dedicated to GPU
processing. The other, will be similar, albeit not as efficient as the PRU
cores. It's my understanding that these FPU / M4 cores have caching
pipelines, where the PRU / M3 cores are made to have many single cycle
instructions, e.g. no pipeline cache.

The usage for this type of processor is so one can compute various "things"
without bogging down, or slowing the main system processor. Think of it
similar to how a GPU works in tandem with a CPU. Another PC analogy would
be ToE or TCP/IP offload Engine. Where the hardware offloads work from the
main processor which runs an OS.

It's actually a bit more complex than that, but you can think of the FPU /
PRU's as peripherals that can interact with various external devices,
without slowing down the main processors. These "peripherals" are also
programmable, which makes them very flexible. Meaning, you could
potentially dream up an idea, program it, then see it work first hand.

real-time, in this case means predictable, or deterministic. You can
determine how fast your application will be by counting instructions. Linux
on the other hand can be made deterministic to a point. But is not as
deterministic as dedicated hardware.

One last thing that give this type of system an advantage to just adding an
external MCU. Is these "peripherals" are tied to the main processor core
through a fast interconnect. Where adding an external MCU would require an
interface such as SPI, or I2C. Which would be much slower by comparison.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CALHSORrRyGYFu6UOdtLajY-LY%2BVOdZ%2B9D0kbFA0_wrCxi-2xYg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to