There are all sorts of processors around with multiple cores. Consider for example the Beaglebone Black. It has what is called a PRU in addition to the main processor. It's a reduced instruction set processor core that can access much of the I/O and some memory. And shares some common memory with the main processor. So all the encoder and step/dir signals are handled by the PRU while the main system takes care of the trajectory planning.
The M9S12 I used also has a separate hardware I/O processor but for what I did I never actually needed to use it.
And yes the ESP32 has two cores.
The M9S12 I used also has a separate hardware I/O processor but for what I did I never actually needed to use it.
And yes the ESP32 has two cores.