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.