¿Por qué el acceso directo a los pines por parte de la PRU es mucho más rápido que
forma de IO mapeada en memoria?
El dispositivo Beagle tiene un procesador regular y dos CPU rápidas que funcionan a 200 MHz. Se llaman PRU y el documento que vincula lo dice sobre la PRU (bastante cerca de la parte superior): -
Es una CPU independiente con su propia memoria y conjunto de instrucciones. Eso
Puede ejecutar su propio programa, completamente independiente del kernel de Linux en
La CPU principal. Es rápido (reloj de 200MHz), todas las instrucciones toman
conocidos tiempos constantes y lo tienes todo para ti mismo, por lo que puedes usar
Es para cosas que requieren una respuesta difícil en tiempo real. El 'hueso tiene dos
PRUs.
Por lo tanto, puede usar IO rápido de las PRU o IO más lentas que se asignan a la memoria del procesador principal, pero el procesador principal es más lento porque ejecuta el sistema operativo Linux.
La IO de PRU es probablemente más rápida porque, en cuanto al hardware, los pines se conectan directamente al chip de la CPU, mientras que las IO asignadas en la memoria (desde una CPU que funciona con Linux) solo pueden hablar con sus chips IO cada pocos milisegundos.